@mikeargento/bitgraph-mcp 0.4.0 → 0.4.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.
- package/README.md +2 -2
- package/dist/__tests__/tools.test.js +29 -8
- package/dist/__tests__/tools.test.js.map +1 -1
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +7 -2
- package/dist/format.js.map +1 -1
- package/dist/server.d.ts +20 -9
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +75 -16
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/tools.test.ts +30 -9
- package/src/format.ts +9 -2
- package/src/server.ts +85 -16
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
MCP server for BitGraph. It gives any MCP client, Claude Code and Claude Desktop among them, the same three gestures the website has: make a BitGraph, check whether bytes are on record, and fetch a proof.
|
|
4
4
|
|
|
5
|
-
Making a BitGraph is one call for any number of files or folders, and everything in the call becomes ONE BitGraph: a set under one slot, one position for all of
|
|
5
|
+
Making a BitGraph is one call for any number of files or folders, and everything in the call becomes ONE BitGraph, the way a drop on the site works: a single file is fused on its own slot, with its Frame; two or more files become a set under one slot, one position for all of them. For a set, on your machine each file is read once for its SHA-256 (the origin) and a hasher state; an unused slot is allocated in the ledger before any new file exists; every file's new fused bytes, the original plus a registered placement carrying a commitment to that signed slot (a 48-byte trailer for formats that ignore trailing bytes, a small tar container with the original first for everything else), are hashed from that state without being written or held; and the canonical list of those digests (above 2,000 files, a Merkle root over it) is committed under the same slot. Those bytes could not have been finalized before the slot was allocated and were committed no later than the commit. The new files are virtual: the original plus the set proof rebuilds them, and a lookup by any file's own digest finds the set.
|
|
6
6
|
|
|
7
7
|
BitGraph gives bytes a causal position in a forward-only ledger. Ethereum serves as a public clock, not a storage layer: the ledger periodically records the hash of a recent Ethereum block, and since a block's hash cannot be known before the block exists, the sequence is pinned to a public timeline. Nothing is ever written to Ethereum. This server reads files locally; only digests, the set's committed artifact and slot records ever leave the machine. File contents are never uploaded, and files are never modified.
|
|
8
8
|
|
|
@@ -12,7 +12,7 @@ claude mcp add bitgraph -- npx -y @mikeargento/bitgraph-mcp
|
|
|
12
12
|
|
|
13
13
|
Tools:
|
|
14
14
|
|
|
15
|
-
- `bitgraph_record` makes a BitGraph of files and folders: one
|
|
15
|
+
- `bitgraph_record` makes a BitGraph of files and folders: one file on its own, two or more as one set with one position. A directory is every regular file under it, recursively, with hidden entries and symbolic links left out. Files already on record, as a recording, as the origin of a fused file or as a member of a set, are returned as-is instead of being made again; pass `again: true` to deliberately make a new BitGraph of them. Each file comes back with its row in the set (one of N), and the set with its position and proof page. Above 2,000 files the set commits a Merkle root and each member's evidence is indexed on the site afterwards; evidence the site could not take is sent again before the next set is made. BitGraphs are permanent.
|
|
16
16
|
- `bitgraph_check` reports whether files, folders or digests are on record (`on_record`: a recording of the exact bytes, a fused file made from them, or a set they are a member of), with every position each one occupies and, for a set member, its row. Read-only.
|
|
17
17
|
- `bitgraph_get_proof` fetches a proof by digest, BitGraph number, or file path, including the anchor window, the two Ethereum block times that bracket when it was BitGraphed, and the row a set member holds. Read-only.
|
|
18
18
|
|
|
@@ -197,8 +197,17 @@ const fakeFuseSet = async (files, _config, opts) => {
|
|
|
197
197
|
}),
|
|
198
198
|
};
|
|
199
199
|
};
|
|
200
|
+
/** A stand-in for the single-file pipeline: records what it was asked to fuse. */
|
|
201
|
+
const soloCalls = [];
|
|
202
|
+
const fakeFuseFile = async (file) => {
|
|
203
|
+
soloCalls.push({ name: file.name, digestB64: file.digestB64 });
|
|
204
|
+
if (fuseMode === "fail")
|
|
205
|
+
throw new FuseError("tee-restarting", "the boundary is restarting", 503);
|
|
206
|
+
const artifactDigestB64 = createHash("sha256").update("fused:" + file.digestB64).digest("base64");
|
|
207
|
+
return { proof: proofFor(artifactDigestB64), frame: { type: "bitgraph-fuse/1" }, placement: file.placement, artifactDigestB64, originDigestB64: file.digestB64 };
|
|
208
|
+
};
|
|
200
209
|
async function connectedClient() {
|
|
201
|
-
const server = buildServer({ fuseSet: fakeFuseSet });
|
|
210
|
+
const server = buildServer({ fuseSet: fakeFuseSet, fuseFile: fakeFuseFile });
|
|
202
211
|
const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
|
|
203
212
|
const client = new Client({ name: "test-client", version: "0.0.0" });
|
|
204
213
|
await Promise.all([client.connect(clientTransport), server.connect(serverTransport)]);
|
|
@@ -254,18 +263,28 @@ test("record makes ONE set of the fresh files and leaves on-record ones alone",
|
|
|
254
263
|
assert.ok(text.startsWith("2 files BitGraphed as one set at #"), text);
|
|
255
264
|
assert.ok(text.includes("set of 2"), text);
|
|
256
265
|
});
|
|
257
|
-
test("
|
|
266
|
+
test("a single file is fused on its own, with its Frame; again=true fuses an on-record one", async () => {
|
|
258
267
|
const client = await connectedClient();
|
|
259
268
|
setCalls.length = 0;
|
|
269
|
+
soloCalls.length = 0;
|
|
260
270
|
const result = await client.callTool({
|
|
261
271
|
name: "bitgraph_record",
|
|
262
272
|
arguments: { paths: [fileA], again: true },
|
|
263
273
|
});
|
|
264
274
|
assert.ok(!result.isError, JSON.stringify(result.content));
|
|
265
|
-
assert.
|
|
275
|
+
assert.equal(setCalls.length, 0, "one file is not a set");
|
|
276
|
+
assert.deepEqual(soloCalls.map((c) => c.digestB64), [digestA]);
|
|
266
277
|
const structured = result.structuredContent;
|
|
267
|
-
assert.equal(structured.
|
|
268
|
-
|
|
278
|
+
assert.equal(structured.set, null);
|
|
279
|
+
const row = structured.results[0];
|
|
280
|
+
assert.equal(row?.outcome, "fused");
|
|
281
|
+
assert.equal(row?.member, null);
|
|
282
|
+
assert.equal(row?.total_positions, 3, "two prior positions plus the new BitGraph");
|
|
283
|
+
assert.ok(row?.artifact_digest && structured.frames[row.artifact_digest], "the Frame rides in the structured result under the fused digest");
|
|
284
|
+
assert.ok(row?.proof_url?.includes(encodeURIComponent(row.artifact_digest ?? "")), "a single file's proof page is its own");
|
|
285
|
+
const text = textOf(result);
|
|
286
|
+
assert.ok(text.startsWith("1 fused, 0 already on record."), text);
|
|
287
|
+
assert.ok(text.includes("its Frame is in the structured result"), text);
|
|
269
288
|
});
|
|
270
289
|
test("a directory is its regular files, hidden entries and links left out", async () => {
|
|
271
290
|
const client = await connectedClient();
|
|
@@ -280,17 +299,19 @@ test("a directory is its regular files, hidden entries and links left out", asyn
|
|
|
280
299
|
assert.deepEqual(structured.summary, { files: 2, directories: 1, fused: 2, on_record: 0, not_fused: 0 });
|
|
281
300
|
assert.equal(structured.set?.count, 2);
|
|
282
301
|
});
|
|
283
|
-
test("the same bytes under two paths are one
|
|
302
|
+
test("the same bytes under two paths are one file, fused once and reported twice", async () => {
|
|
284
303
|
const client = await connectedClient();
|
|
285
304
|
setCalls.length = 0;
|
|
305
|
+
soloCalls.length = 0;
|
|
286
306
|
const result = await client.callTool({
|
|
287
307
|
name: "bitgraph_record",
|
|
288
308
|
arguments: { paths: [fileB, copyB] },
|
|
289
309
|
});
|
|
290
310
|
assert.ok(!result.isError, JSON.stringify(result.content));
|
|
291
|
-
assert.
|
|
311
|
+
assert.equal(setCalls.length, 0, "one distinct file is fused on its own");
|
|
312
|
+
assert.deepEqual(soloCalls.map((c) => c.digestB64), [digestB]);
|
|
292
313
|
const structured = result.structuredContent;
|
|
293
|
-
assert.equal(structured.set
|
|
314
|
+
assert.equal(structured.set, null);
|
|
294
315
|
assert.equal(structured.summary.fused, 2);
|
|
295
316
|
assert.equal(structured.results[0]?.artifact_digest, structured.results[1]?.artifact_digest);
|
|
296
317
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/__tests__/tools.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/__tests__/tools.test.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAe,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,EAAmC,MAAM,cAAc,CAAC;AACzH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAS9C,MAAM,QAAQ,GAAe,EAAE,CAAC;AAChC,IAAI,IAAY,CAAC;AACjB,IAAI,KAAK,GAAG,EAAE,CAAC;AACf,IAAI,KAAK,GAAG,EAAE,CAAC;AACf,IAAI,KAAK,GAAG,EAAE,CAAC;AACf,IAAI,KAAK,GAAG,EAAE,CAAC;AACf,IAAI,GAAG,GAAG,EAAE,CAAC;AACb,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,MAAM,GAAG,GAAG,eAAe,GAAG,GAAG,CAAC;AAClC,IAAI,OAAO,GAAG,EAAE,CAAC,CAAC,8BAA8B;AAChD,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACzE,IAAI,WAAW,GAAG,GAAG,CAAC;AACtB,IAAI,SAAS,GAAkB,IAAI,CAAC;AAEpC,SAAS,QAAQ,CAAC,SAAiB;IACjC,WAAW,IAAI,CAAC,CAAC,CAAC,uDAAuD;IACzE,OAAO;QACL,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE;QAC1C,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;QACxD,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE;QACnD,WAAW,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,EAAE;QAC9D,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,IAAI,EAAE;IAChB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAChE,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACjC,MAAM,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACtC,MAAM,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACrC,MAAM,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACtC,MAAM,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACrC,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtE,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrE,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtE,oEAAoE;IACpE,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3B,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpD,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC;IAC1D,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;IAC1D,gCAAgC;IAChC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3B,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;IACpB,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEzI,IAAI,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;YACxD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAEzG,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,OAAgB,EAAE,EAAE;gBAChD,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC9D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC;YAEF,IAAI,GAAG,CAAC,QAAQ,KAAK,mBAAmB,EAAE,CAAC;gBACzC,0FAA0F;gBAC1F,MAAM,OAAO,GAAI,IAA8B,CAAC,OAAO,CAAC;gBACxD,MAAM,OAAO,GAA4E,EAAE,CAAC;gBAC5F,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,IAAI,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;wBAChC,OAAO,CAAC,CAAC,CAAC,GAAG;4BACX,MAAM,EAAE;gCACN,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gCAC3I,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;6BAC3F;yBACF,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACzB,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,qBAAqB,EAAE,CAAC;gBAClD,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;oBACzB,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,MAAM,OAAO,GAAI,IAA+B,CAAC,OAAO,CAAC;oBACzD,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC1I,sEAAsE;gBACtE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,cAAc,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACrD,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAC1D,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvE,IAAI,MAAM,KAAK,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrC,IAAI,CAAC,GAAG,EAAE;wBACR,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;wBACpG,SAAS,EAAE;4BACT,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,SAAS,EAAE,0BAA0B,EAAE;4BAC3H,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;yBAChF;wBACD,YAAY,EAAE;4BACZ,YAAY,EAAE,EAAE,SAAS,EAAE,0BAA0B,EAAE,WAAW,EAAE,CAAC,EAAE;4BACvE,WAAW,EAAE,EAAE,SAAS,EAAE,0BAA0B,EAAE,WAAW,EAAE,CAAC,EAAE;yBACvE;qBACF,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,MAAM,KAAK,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC,GAAG,EAAE;wBACR,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;wBACrG,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;wBACxL,YAAY,EAAE,IAAI;qBACnB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC1C,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;oBACtC,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3E,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC/B,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,oBAAoB,OAAO,CAAC,IAAI,EAAE,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,cAAc,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,KAAK,CAAC,GAAG,EAAE;IACT,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,uHAAuH;AACvH,MAAM,QAAQ,GAA+D,EAAE,CAAC;AAChF,IAAI,QAAQ,GAAkB,IAAI,CAAC;AACnC,MAAM,WAAW,GAAc,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1G,IAAI,QAAQ,KAAK,MAAM;QAAE,MAAM,IAAI,SAAS,CAAC,gBAAgB,EAAE,4BAA4B,EAAE,GAAG,CAAC,CAAC;IAClG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC/K,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjH,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC;QAC1B,iBAAiB,EAAE,SAAS;QAC5B,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACtB,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAW,CAAC;YAC/C,OAAO;gBACL,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,aAAa,EAAE,CAAC;gBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,eAAe,EAAE,CAAC,CAAC,MAAM;gBACzB,iBAAiB,EAAE,CAAC,CAAC,QAAQ;gBAC7B,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,OAAO;oBACtB,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE;oBAC3O,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC,CAAC;AACF,kFAAkF;AAClF,MAAM,SAAS,GAA+C,EAAE,CAAC;AACjE,MAAM,YAAY,GAAe,KAAK,EAAE,IAAI,EAAE,EAAE;IAC9C,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC/D,IAAI,QAAQ,KAAK,MAAM;QAAE,MAAM,IAAI,SAAS,CAAC,gBAAgB,EAAE,4BAA4B,EAAE,GAAG,CAAC,CAAC;IAClG,MAAM,iBAAiB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClG,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE,eAAe,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;AACnK,CAAC,CAAC;AACF,KAAK,UAAU,eAAe;IAC5B,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IAC7E,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;IAChF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACtF,OAAO,MAAM,CAAC;AAChB,CAAC;AASD,MAAM,MAAM,GAAG,CAAC,MAAe,EAAU,EAAE,CAAE,CAAE,MAAgC,CAAC,OAAO,IAAI,EAAE,CAA6B,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;AAE1I,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;IACvC,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,CAAC,CAAC;AACvF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;IACzF,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;QACnC,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;KAC5C,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,6EAA6E,CAAC,CAAC;IAC3L,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC;IAC/D,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,uDAAuD,CAAC,CAAC;IACpH,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,mCAAmC,CAAC,CAAC;IAC9F,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC;IACnE,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,IAA6B,CAAC;IACtD,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAC/G,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAqC,CAAC;IAChE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IACzG,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,gDAAgD,CAAC,CAAC;IAC7J,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IAC3D,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IAC3D,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IAC3D,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACtC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,iDAAiD,CAAC,CAAC;IAClF,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,kDAAkD,CAAC,CAAC;IAC/E,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,sCAAsC,CAAC,CAAC;IAC1F,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,0BAA0B,CAAC,CAAC;IACtE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC/D,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,qCAAqC,CAAC,CAAC;IACzG,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,qCAAqC,CAAC,CAAC;IACpH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,oCAAoC,CAAC,EAAE,IAAI,CAAC,CAAC;IACvE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;IACtG,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACrB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;QACnC,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;KAC3C,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC1D,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAqC,CAAC;IAChE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAChC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,EAAE,CAAC,EAAE,2CAA2C,CAAC,CAAC;IACnF,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,iEAAiE,CAAC,CAAC;IAC7I,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,EAAE,uCAAuC,CAAC,CAAC;IAC5H,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,+BAA+B,CAAC,EAAE,IAAI,CAAC,CAAC;IAClE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,uCAAuC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;IACrF,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;QACnC,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE;KAC5B,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAqC,CAAC;IAChE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IACzG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;IAC5F,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACrB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;QACnC,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;KACrC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,uCAAuC,CAAC,CAAC;IAC1E,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAqC,CAAC;IAChE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AAC/F,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;IAC9F,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,SAAS,GAAG,IAAI,CAAC;IACjB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE;QAC3G,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;YAChB,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;gBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC;KACF,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACzE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC;IACvE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,IAA+B,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,GAAG,eAAe,CAAC,EAAE,oCAAoC,CAAC,CAAC;IACtK,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAA6D,CAAC;IACrF,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,iCAAiC,CAAC,CAAC;IAC7G,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,mBAAmB,CAAC,CAAC;IACvF,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAqC,CAAC;IAChE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,gCAAgC,CAAC,CAAC;IACnF,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACtF,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,mDAAmD,CAAC,CAAC;IAC5G,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,mCAAmC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtI,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAC;AACpG,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iGAAiG,EAAE,KAAK,IAAI,EAAE;IACjH,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,SAAS,GAAG,MAAM,CAAC;IACnB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACjG,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,4DAA4D,CAAC,CAAC;IACxF,MAAM,EAAE,GAAG,KAAK,CAAC,iBAAqC,CAAC;IACvD,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,GAAG,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEvF,mFAAmF;IACnF,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAClG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACpD,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,EAAE,iCAAiC,CAAC,CAAC;IACpG,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,GAAG,CAAC,CAAC;IAEvC,iEAAiE;IACjE,SAAS,GAAG,IAAI,CAAC;IACjB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/F,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC;IACjH,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,kDAAkD,CAAC,CAAC;IACzG,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,KAAK,CAAE,IAAI,CAAC,iBAAsC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;IAC1F,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,QAAQ,GAAG,MAAM,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;YACnC,IAAI,EAAE,iBAAiB;YACvB,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;SAClD,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,IAAI,CAAC,CAAC;QACzD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAqC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC;QAC9F,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3G,CAAC;YAAS,CAAC;QACT,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;IAC1E,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;QACnC,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,8BAA8B,CAAC,EAAE;KAC9D,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,0CAA0C,CAAC,CAAC;IAC7E,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,IAAI,CAAC,CAAC;IACzD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;IACjE,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;QACnC,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE;KAChE,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACrH,MAAM,UAAU,GAAG,MAAM,CAAC,iBAEzB,CAAC;IACF,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5E,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACjC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnF,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;IAC3C,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9F,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,iBAA8F,CAAC;IACzH,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5G,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;IAC1E,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;QACnC,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE;KAChC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;IACpF,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;QACnC,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;KAC7B,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,6CAA6C,CAAC,CAAC,CAAC;IACxE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,6BAA6B,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;IACtD,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;QACnC,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;KAC3B,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,oDAAoD,CAAC,EAAE,IAAI,CAAC,CAAC;AACvF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;IACrE,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;QACnC,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE;KAC7C,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;IACzD,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;QACnC,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;KAC3D,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC"}
|
package/dist/format.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAgB,mBAAmB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAElG,eAAO,MAAM,eAAe,QAAS,CAAC;AACtC,mEAAmE;AACnE,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,oFAAoF;AACpF,wBAAgB,QAAQ,CACtB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,CASR;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC;IAC7C,0EAA0E;IAC1E,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,qEAAqE;IACrE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qFAAqF;AACrF,MAAM,WAAW,UAAU;IACzB,yJAAyJ;IACzJ,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,qFAAqF;IACrF,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,qHAAqH;IACrH,eAAe,EAAE,OAAO,CAAC;IACzB,oFAAoF;IACpF,SAAS,EAAE,OAAO,CAAC;IACnB,0FAA0F;IAC1F,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC;IAC3F,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAIjG;AAQD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,EAAE,GAAG,GAAE,UAAU,GAAG,IAAW,EAAE,OAAO,SAAI,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAgB,mBAAmB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAElG,eAAO,MAAM,eAAe,QAAS,CAAC;AACtC,mEAAmE;AACnE,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,oFAAoF;AACpF,wBAAgB,QAAQ,CACtB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,CASR;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC;IAC7C,0EAA0E;IAC1E,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,qEAAqE;IACrE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qFAAqF;AACrF,MAAM,WAAW,UAAU;IACzB,yJAAyJ;IACzJ,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,qFAAqF;IACrF,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,qHAAqH;IACrH,eAAe,EAAE,OAAO,CAAC;IACzB,oFAAoF;IACpF,SAAS,EAAE,OAAO,CAAC;IACnB,0FAA0F;IAC1F,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC;IAC3F,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAIjG;AAQD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,EAAE,GAAG,GAAE,UAAU,GAAG,IAAW,EAAE,OAAO,SAAI,GAAG,MAAM,CAmE3H;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CAc7E;AAiBD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,MAAM,GACd,MAAM,CA4CR;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAW5E"}
|
package/dist/format.js
CHANGED
|
@@ -67,10 +67,15 @@ export function renderRecordMarkdown(outcomes, set = null, omitted = 0) {
|
|
|
67
67
|
const row = o.member !== null && o.member_count !== null ? ` (member ${fmt(o.member)} of ${fmt(o.member_count)})` : "";
|
|
68
68
|
return `- on record · #${o.counter ?? "?"}${row} · ${o.path}${note}\n ${o.proof_url}`;
|
|
69
69
|
}, (n) => `and ${fmt(n)} more already on record`);
|
|
70
|
-
group(fused, (o) =>
|
|
71
|
-
|
|
70
|
+
group(fused, (o) => o.member === null
|
|
71
|
+
? `- fused · #${o.counter ?? "?"} · ${o.path} (${o.placement ?? "?"})\n ${o.proof_url}`
|
|
72
|
+
: `- fused · ${o.path} (${fmt(o.member)} of ${fmt(o.member_count ?? 0)}, ${o.placement ?? "?"})`, (n) => `and ${fmt(n)} more files in the same set`);
|
|
73
|
+
if (set !== null && fused.length > 0) {
|
|
72
74
|
lines.push("\nOne BitGraph holds every file made here: one slot, one position, and the committed artifact lists each file's new fused bytes by digest. Those bytes were hashed on this machine and never written or uploaded; the file itself is unchanged, and the original plus the set proof rebuilds them. A lookup by any file's own digest finds the set.");
|
|
73
75
|
}
|
|
76
|
+
else if (fused.length > 0) {
|
|
77
|
+
lines.push("\nThe new fused file was built in memory from the file, hashed and committed under its own slot; the file itself is unchanged and was not uploaded. The original plus the proof rebuilds the new file; its Frame is in the structured result.");
|
|
78
|
+
}
|
|
74
79
|
if (onRecord.length > 0) {
|
|
75
80
|
lines.push("\nFiles already on record were left alone. To make a new BitGraph of them deliberately, call bitgraph_record with again=true.");
|
|
76
81
|
}
|
package/dist/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -3,21 +3,21 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Three gestures, the same three the website has: make a BitGraph, check
|
|
5
5
|
* whether bytes are on record, fetch a proof. Making a BitGraph is one
|
|
6
|
-
* gesture for any number of files
|
|
7
|
-
*
|
|
8
|
-
* once, on this machine, for its
|
|
9
|
-
*
|
|
10
|
-
* state once the slot exists; and
|
|
11
|
-
* and committed under the same slot.
|
|
12
|
-
* records leave the machine. File
|
|
13
|
-
* never modified.
|
|
6
|
+
* gesture for any number of files, the way a drop on the site is: a single
|
|
7
|
+
* file is fused on its own slot, and two or more become members of ONE set
|
|
8
|
+
* under ONE slot. For a set each file is read once, on this machine, for its
|
|
9
|
+
* digest and a hasher state; the new fused bytes are never written and never
|
|
10
|
+
* held, their digest is finished from that state once the slot exists; and
|
|
11
|
+
* the set's committed artifact is hashed and committed under the same slot.
|
|
12
|
+
* Only digests, that artifact and slot records leave the machine. File
|
|
13
|
+
* contents are never uploaded and files are never modified.
|
|
14
14
|
*/
|
|
15
15
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
16
16
|
import { type FuseSetProgress } from "@mikeargento/bitgraph";
|
|
17
17
|
import { type ApiConfig } from "./api.js";
|
|
18
18
|
import { type ScannedFile } from "./scan.js";
|
|
19
19
|
import type { BitGraphProof } from "./types.js";
|
|
20
|
-
export declare const SERVER_VERSION = "0.4.
|
|
20
|
+
export declare const SERVER_VERSION = "0.4.1";
|
|
21
21
|
/** Files one call may BitGraph after directories expand: one set. The site's own ceiling for a set/2. */
|
|
22
22
|
export declare const MAX_MEMBERS = 100000;
|
|
23
23
|
/** Rows the structured result lists in full; every fused row shares the set's position. */
|
|
@@ -49,9 +49,20 @@ export type FuseSetFn = (files: readonly ScannedFile[], config: ApiConfig, opts:
|
|
|
49
49
|
set: "set/1" | "set/2";
|
|
50
50
|
onProgress?: (p: FuseSetProgress) => void;
|
|
51
51
|
}) => Promise<SetSummary>;
|
|
52
|
+
/** What fusing one file on its own yields. */
|
|
53
|
+
export interface FusedSummary {
|
|
54
|
+
proof: BitGraphProof;
|
|
55
|
+
frame: unknown;
|
|
56
|
+
placement: string;
|
|
57
|
+
artifactDigestB64: string;
|
|
58
|
+
originDigestB64: string;
|
|
59
|
+
}
|
|
60
|
+
export type FuseFileFn = (file: ScannedFile, config: ApiConfig) => Promise<FusedSummary>;
|
|
52
61
|
export interface ServerDeps {
|
|
53
62
|
/** The set pipeline; tests inject a stand-in. Default: the core package's fuseSet() against the configured site. */
|
|
54
63
|
fuseSet?: FuseSetFn;
|
|
64
|
+
/** The single-file pipeline; tests inject a stand-in. Default: the core package's fuse() against the configured site. */
|
|
65
|
+
fuseFile?: FuseFileFn;
|
|
55
66
|
}
|
|
56
67
|
/** How many members' evidence is waiting to be indexed (tests read it). */
|
|
57
68
|
export declare function pendingIndexCount(): number;
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,OAAO,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,OAAO,EAA4F,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACvJ,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,UAAU,CAAC;AAmBlB,OAAO,EAAyC,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,cAAc,UAAU,CAAC;AAKtC,yGAAyG;AACzG,eAAO,MAAM,WAAW,SAAU,CAAC;AAOnC,2FAA2F;AAC3F,eAAO,MAAM,OAAO,MAAM,CAAC;AAC3B,qEAAqE;AACrE,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,mFAAmF;AACnF,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;IACrB,wDAAwD;IACxD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,mDAAmD;QACnD,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,+DAA+D;QAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC,CAAC;CACJ;AACD,MAAM,MAAM,SAAS,GAAG,CACtB,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE;IAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,KAAK,IAAI,CAAA;CAAE,KACxE,OAAO,CAAC,UAAU,CAAC,CAAC;AAEzB,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAEzF,MAAM,WAAW,UAAU;IACzB,oHAAoH;IACpH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,yHAAyH;IACzH,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AA4KD,2EAA2E;AAC3E,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAmCD,wBAAgB,WAAW,CAAC,IAAI,GAAE,UAAe,GAAG,SAAS,CAqc5D"}
|
package/dist/server.js
CHANGED
|
@@ -4,24 +4,24 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Three gestures, the same three the website has: make a BitGraph, check
|
|
6
6
|
* whether bytes are on record, fetch a proof. Making a BitGraph is one
|
|
7
|
-
* gesture for any number of files
|
|
8
|
-
*
|
|
9
|
-
* once, on this machine, for its
|
|
10
|
-
*
|
|
11
|
-
* state once the slot exists; and
|
|
12
|
-
* and committed under the same slot.
|
|
13
|
-
* records leave the machine. File
|
|
14
|
-
* never modified.
|
|
7
|
+
* gesture for any number of files, the way a drop on the site is: a single
|
|
8
|
+
* file is fused on its own slot, and two or more become members of ONE set
|
|
9
|
+
* under ONE slot. For a set each file is read once, on this machine, for its
|
|
10
|
+
* digest and a hasher state; the new fused bytes are never written and never
|
|
11
|
+
* held, their digest is finished from that state once the slot exists; and
|
|
12
|
+
* the set's committed artifact is hashed and committed under the same slot.
|
|
13
|
+
* Only digests, that artifact and slot records leave the machine. File
|
|
14
|
+
* contents are never uploaded and files are never modified.
|
|
15
15
|
*/
|
|
16
16
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
17
17
|
import { z } from "zod";
|
|
18
18
|
import { readFile } from "node:fs/promises";
|
|
19
|
-
import { FuseError, MAX_SET_MEMBERS, fuseSet } from "@mikeargento/bitgraph";
|
|
19
|
+
import { FuseError, MAX_SET_MEMBERS, builderFor, fuse, fuseSet, fusedNamesFor } from "@mikeargento/bitgraph";
|
|
20
20
|
import { ApiError, batchCheck, configFromEnv, getProofDetail, indexSetMembers, search, } from "./api.js";
|
|
21
21
|
import { fromUrlSafeB64, looksLikeDigest, mapConcurrent, sha256FileB64, toUrlSafeB64, } from "./encoding.js";
|
|
22
22
|
import { capJson, positionOf, proofUrl, renderCheckMarkdown, renderProofMarkdown, renderRecordMarkdown, } from "./format.js";
|
|
23
23
|
import { expandPaths, fusedDigestFor, scanFile } from "./scan.js";
|
|
24
|
-
export const SERVER_VERSION = "0.4.
|
|
24
|
+
export const SERVER_VERSION = "0.4.1";
|
|
25
25
|
const SCAN_CONCURRENCY = 4;
|
|
26
26
|
/** Paths per call; a directory counts once and expands to its files. */
|
|
27
27
|
const MAX_PATHS = 2000;
|
|
@@ -31,10 +31,37 @@ export const MAX_MEMBERS = 100_000;
|
|
|
31
31
|
const MAX_CHECK_FILES = 10_000;
|
|
32
32
|
/** A file whose length changed while it was read is fused from its bytes instead; above this it is left out rather than held in memory. */
|
|
33
33
|
const MAX_LOADED_BYTES = 256 * 1024 * 1024;
|
|
34
|
+
/** A single file up to this size is fused on its own, in memory, with its Frame; a larger one is a set of one, never held. */
|
|
35
|
+
const MAX_SOLO_BYTES = 256 * 1024 * 1024;
|
|
34
36
|
/** Rows the structured result lists in full; every fused row shares the set's position. */
|
|
35
37
|
export const ROW_CAP = 500;
|
|
36
38
|
/** Members' evidence per set-index request: the site's own chunk. */
|
|
37
39
|
export const SET_INDEX_CHUNK = 2500;
|
|
40
|
+
/**
|
|
41
|
+
* A single file, the way a single drop on the site goes: the bytes in hand,
|
|
42
|
+
* the placement chosen from them, one slot, the fused bytes built in memory
|
|
43
|
+
* and hashed, committed under that exact slot, verified against the bytes,
|
|
44
|
+
* and a Frame returned. The fused bytes are not kept.
|
|
45
|
+
*/
|
|
46
|
+
async function fuseFileDefault(file, config) {
|
|
47
|
+
const bytes = new Uint8Array(await readFile(file.path));
|
|
48
|
+
const placement = file.placement;
|
|
49
|
+
const { fusedName } = fusedNamesFor(file.name, placement);
|
|
50
|
+
const r = await fuse(builderFor(placement, bytes), {
|
|
51
|
+
placement,
|
|
52
|
+
original: bytes,
|
|
53
|
+
fusedFile: fusedName,
|
|
54
|
+
keepFused: false,
|
|
55
|
+
transport: { baseUrl: config.baseUrl, ...(config.apiKey ? { apiKey: config.apiKey } : {}) },
|
|
56
|
+
});
|
|
57
|
+
return {
|
|
58
|
+
proof: r.proof,
|
|
59
|
+
frame: r.frame,
|
|
60
|
+
placement,
|
|
61
|
+
artifactDigestB64: r.artifactDigestB64,
|
|
62
|
+
originDigestB64: r.originDigestB64 ?? file.digestB64,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
38
65
|
/**
|
|
39
66
|
* The default pipeline, the one the site's drop runs: one slot for the set,
|
|
40
67
|
* every member a hashed member whose fused digest is finished from the
|
|
@@ -182,22 +209,23 @@ async function flushIndex(config, report) {
|
|
|
182
209
|
}
|
|
183
210
|
export function buildServer(deps = {}) {
|
|
184
211
|
const fuseSetPipeline = deps.fuseSet ?? fuseSetDefault;
|
|
212
|
+
const fuseFilePipeline = deps.fuseFile ?? fuseFileDefault;
|
|
185
213
|
const server = new McpServer({
|
|
186
214
|
name: "bitgraph-mcp-server",
|
|
187
215
|
version: SERVER_VERSION,
|
|
188
216
|
}, {
|
|
189
|
-
instructions: "BitGraph gives a file's bytes a causal position in a public ledger bracketed by Ethereum anchors. bitgraph_record makes ONE BitGraph of everything in a call, files and folders alike: one set under one slot, one position, every file's new fused bytes listed by digest in the committed artifact. " +
|
|
217
|
+
instructions: "BitGraph gives a file's bytes a causal position in a public ledger bracketed by Ethereum anchors. bitgraph_record makes ONE BitGraph of everything in a call, files and folders alike: a single file is fused on its own; two or more become one set under one slot, one position, every file's new fused bytes listed by digest in the committed artifact. " +
|
|
190
218
|
"Files are read on this machine and never uploaded or modified; the new bytes are virtual and never written. Recordings are permanent: only make BitGraphs of files the user asked for, and never generate content just to record it. bitgraph_check and bitgraph_get_proof are read-only.",
|
|
191
219
|
});
|
|
192
220
|
server.registerTool("bitgraph_record", {
|
|
193
221
|
title: "Make a BitGraph",
|
|
194
|
-
description: "Make a BitGraph of files or folders. Everything in one call becomes ONE BitGraph: a set under a single slot in the BitGraph ledger (bitgraph.ing), one position for all of
|
|
195
|
-
"On this machine each file is read once for its SHA-256 (the origin) and a hasher state; an unused slot is allocated before any new file exists; every file's new fused bytes (the original plus a registered placement carrying the slot's commitment: a 48-byte trailer for JPEG, PNG, GIF, TIFF and TIFF-based raws, BMP, WebP, WAV and AVI, a small tar container with the original first for everything else) are hashed from that state without being written or held; and the canonical list of those digests (above 2,000 files, a Merkle root over it) is committed under the same slot. " +
|
|
222
|
+
description: "Make a BitGraph of files or folders. Everything in one call becomes ONE BitGraph, the way a drop on the site works: a single file is fused on its own slot; two or more files become a set under a single slot in the BitGraph ledger (bitgraph.ing), one position for all of them. " +
|
|
223
|
+
"On this machine each file is read once for its SHA-256 (the origin) and a hasher state; an unused slot is allocated before any new file exists; every file's new fused bytes (the original plus a registered placement carrying the slot's commitment: a 48-byte trailer for JPEG, PNG, GIF, TIFF and TIFF-based raws, BMP, WebP, WAV and AVI, a small tar container with the original first for everything else) are hashed from that state without being written or held; and for a set the canonical list of those digests (above 2,000 files, a Merkle root over it) is committed under the same slot. " +
|
|
196
224
|
"Files are never modified and never uploaded: only digests, the committed artifact and slot records leave the machine. " +
|
|
197
225
|
"Give file paths, directory paths, or both (absolute paths preferred): a directory is every regular file under it, recursively, with hidden entries and symbolic links left out. " +
|
|
198
226
|
"Files already on record (recorded, or the origin of a fused file) are NOT made again by default; they come back as 'on record' with their earliest position. Pass again=true to make a new BitGraph of them deliberately. " +
|
|
199
227
|
"BitGraphs are permanent: the ledger has 10-year retention and no deletes, so only BitGraph files the user asked to, and never generate content just to record it. " +
|
|
200
|
-
"Returns
|
|
228
|
+
"Returns one outcome per file: 'fused' (for a set, its row, one of N, and the set's position and proof page; for a single file, its own position and Frame), 'on record', or 'not fused' (with the reason). A lookup by any file's own digest finds its BitGraph. " +
|
|
201
229
|
"Use bitgraph_check instead when the user only wants to know whether files are on record.",
|
|
202
230
|
inputSchema: {
|
|
203
231
|
paths: z
|
|
@@ -273,8 +301,20 @@ export function buildServer(deps = {}) {
|
|
|
273
301
|
}
|
|
274
302
|
const attempted = new Set(toMint.map((f) => f.digestB64));
|
|
275
303
|
let made = null;
|
|
304
|
+
let solo = null;
|
|
276
305
|
let failure = null;
|
|
277
|
-
|
|
306
|
+
const one = toMint.length === 1 ? toMint[0] : null;
|
|
307
|
+
if (one !== null && one.size <= MAX_SOLO_BYTES) {
|
|
308
|
+
// One file, as a single drop on the site goes: its own slot, its own Frame.
|
|
309
|
+
report(0, 1, "fusing");
|
|
310
|
+
try {
|
|
311
|
+
solo = { ...(await fuseFilePipeline(one, config)), file: one };
|
|
312
|
+
}
|
|
313
|
+
catch (err) {
|
|
314
|
+
failure = setFailureText(err);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
else if (toMint.length > 0) {
|
|
278
318
|
const kind = toMint.length > MAX_SET_MEMBERS ? "set/2" : "set/1";
|
|
279
319
|
try {
|
|
280
320
|
made = await fuseSetPipeline(toMint, config, {
|
|
@@ -316,13 +356,31 @@ export function buildServer(deps = {}) {
|
|
|
316
356
|
index,
|
|
317
357
|
};
|
|
318
358
|
}
|
|
359
|
+
const frames = {};
|
|
360
|
+
if (solo !== null)
|
|
361
|
+
frames[toUrlSafeB64(solo.artifactDigestB64)] = solo.frame;
|
|
319
362
|
const outcomes = [];
|
|
320
363
|
for (const [digest, entry] of byDigest) {
|
|
321
364
|
const m = memberOf.get(digest);
|
|
322
365
|
const prior = existing.get(digest);
|
|
323
366
|
for (const path of entry.paths) {
|
|
324
367
|
const base = { path, digest: toUrlSafeB64(digest) };
|
|
325
|
-
if (
|
|
368
|
+
if (solo !== null && solo.file.digestB64 === digest) {
|
|
369
|
+
const { counter, epoch } = positionOf(solo.proof);
|
|
370
|
+
outcomes.push({
|
|
371
|
+
...base,
|
|
372
|
+
outcome: "fused",
|
|
373
|
+
artifact_digest: toUrlSafeB64(solo.artifactDigestB64),
|
|
374
|
+
placement: solo.placement,
|
|
375
|
+
counter,
|
|
376
|
+
epoch,
|
|
377
|
+
member: null,
|
|
378
|
+
member_count: null,
|
|
379
|
+
total_positions: (prior?.length ?? 0) + 1,
|
|
380
|
+
proof_url: proofUrl(config.baseUrl, solo.artifactDigestB64, counter ?? undefined, solo.proof.commit?.epochId),
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
else if (m !== undefined && made !== null && setOutcome !== null) {
|
|
326
384
|
outcomes.push({
|
|
327
385
|
...base,
|
|
328
386
|
outcome: "fused",
|
|
@@ -385,6 +443,7 @@ export function buildServer(deps = {}) {
|
|
|
385
443
|
const structured = {
|
|
386
444
|
set: setOutcome,
|
|
387
445
|
results: listed,
|
|
446
|
+
frames,
|
|
388
447
|
omitted,
|
|
389
448
|
summary,
|
|
390
449
|
};
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mikeargento/bitgraph-mcp",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "MCP server for BitGraph. Make a BitGraph of files or folders (one set, one position for all of it), check whether bytes are on record, and fetch proofs from any MCP client.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://bitgraph.ing",
|
|
@@ -17,7 +17,7 @@ import { join } from "node:path";
|
|
|
17
17
|
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
18
18
|
import { InMemoryTransport } from "@modelcontextprotocol/sdk/inMemory.js";
|
|
19
19
|
import { FuseError } from "@mikeargento/bitgraph";
|
|
20
|
-
import { buildServer, pendingIndexCount, ROW_CAP, SET_INDEX_CHUNK, type FuseSetFn } from "../server.js";
|
|
20
|
+
import { buildServer, pendingIndexCount, ROW_CAP, SET_INDEX_CHUNK, type FuseFileFn, type FuseSetFn } from "../server.js";
|
|
21
21
|
import { toUrlSafeB64 } from "../encoding.js";
|
|
22
22
|
|
|
23
23
|
interface Recorded {
|
|
@@ -202,8 +202,16 @@ const fakeFuseSet: FuseSetFn = async (files, _config, opts) => {
|
|
|
202
202
|
}),
|
|
203
203
|
};
|
|
204
204
|
};
|
|
205
|
+
/** A stand-in for the single-file pipeline: records what it was asked to fuse. */
|
|
206
|
+
const soloCalls: Array<{ name: string; digestB64: string }> = [];
|
|
207
|
+
const fakeFuseFile: FuseFileFn = async (file) => {
|
|
208
|
+
soloCalls.push({ name: file.name, digestB64: file.digestB64 });
|
|
209
|
+
if (fuseMode === "fail") throw new FuseError("tee-restarting", "the boundary is restarting", 503);
|
|
210
|
+
const artifactDigestB64 = createHash("sha256").update("fused:" + file.digestB64).digest("base64");
|
|
211
|
+
return { proof: proofFor(artifactDigestB64), frame: { type: "bitgraph-fuse/1" }, placement: file.placement, artifactDigestB64, originDigestB64: file.digestB64 };
|
|
212
|
+
};
|
|
205
213
|
async function connectedClient(): Promise<Client> {
|
|
206
|
-
const server = buildServer({ fuseSet: fakeFuseSet });
|
|
214
|
+
const server = buildServer({ fuseSet: fakeFuseSet, fuseFile: fakeFuseFile });
|
|
207
215
|
const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
|
|
208
216
|
const client = new Client({ name: "test-client", version: "0.0.0" });
|
|
209
217
|
await Promise.all([client.connect(clientTransport), server.connect(serverTransport)]);
|
|
@@ -212,6 +220,7 @@ async function connectedClient(): Promise<Client> {
|
|
|
212
220
|
|
|
213
221
|
interface RecordStructured {
|
|
214
222
|
set: { set: string; count: number; counter: string | null; proof_url: string; index: { written: number; pending: number } | null } | null;
|
|
223
|
+
frames: Record<string, unknown>;
|
|
215
224
|
results: Array<{ path: string; outcome: string; counter: string | null; placement: string | null; artifact_digest: string | null; member: number | null; member_count: number | null; total_positions: number; proof_url: string | null; error?: string }>;
|
|
216
225
|
omitted: number;
|
|
217
226
|
summary: { files: number; directories: number; fused: number; on_record: number; not_fused: number };
|
|
@@ -268,18 +277,28 @@ test("record makes ONE set of the fresh files and leaves on-record ones alone",
|
|
|
268
277
|
assert.ok(text.includes("set of 2"), text);
|
|
269
278
|
});
|
|
270
279
|
|
|
271
|
-
test("
|
|
280
|
+
test("a single file is fused on its own, with its Frame; again=true fuses an on-record one", async () => {
|
|
272
281
|
const client = await connectedClient();
|
|
273
282
|
setCalls.length = 0;
|
|
283
|
+
soloCalls.length = 0;
|
|
274
284
|
const result = await client.callTool({
|
|
275
285
|
name: "bitgraph_record",
|
|
276
286
|
arguments: { paths: [fileA], again: true },
|
|
277
287
|
});
|
|
278
288
|
assert.ok(!result.isError, JSON.stringify(result.content));
|
|
279
|
-
assert.
|
|
289
|
+
assert.equal(setCalls.length, 0, "one file is not a set");
|
|
290
|
+
assert.deepEqual(soloCalls.map((c) => c.digestB64), [digestA]);
|
|
280
291
|
const structured = result.structuredContent as RecordStructured;
|
|
281
|
-
assert.equal(structured.
|
|
282
|
-
|
|
292
|
+
assert.equal(structured.set, null);
|
|
293
|
+
const row = structured.results[0];
|
|
294
|
+
assert.equal(row?.outcome, "fused");
|
|
295
|
+
assert.equal(row?.member, null);
|
|
296
|
+
assert.equal(row?.total_positions, 3, "two prior positions plus the new BitGraph");
|
|
297
|
+
assert.ok(row?.artifact_digest && structured.frames[row.artifact_digest], "the Frame rides in the structured result under the fused digest");
|
|
298
|
+
assert.ok(row?.proof_url?.includes(encodeURIComponent(row.artifact_digest ?? "")), "a single file's proof page is its own");
|
|
299
|
+
const text = textOf(result);
|
|
300
|
+
assert.ok(text.startsWith("1 fused, 0 already on record."), text);
|
|
301
|
+
assert.ok(text.includes("its Frame is in the structured result"), text);
|
|
283
302
|
});
|
|
284
303
|
|
|
285
304
|
test("a directory is its regular files, hidden entries and links left out", async () => {
|
|
@@ -296,17 +315,19 @@ test("a directory is its regular files, hidden entries and links left out", asyn
|
|
|
296
315
|
assert.equal(structured.set?.count, 2);
|
|
297
316
|
});
|
|
298
317
|
|
|
299
|
-
test("the same bytes under two paths are one
|
|
318
|
+
test("the same bytes under two paths are one file, fused once and reported twice", async () => {
|
|
300
319
|
const client = await connectedClient();
|
|
301
320
|
setCalls.length = 0;
|
|
321
|
+
soloCalls.length = 0;
|
|
302
322
|
const result = await client.callTool({
|
|
303
323
|
name: "bitgraph_record",
|
|
304
324
|
arguments: { paths: [fileB, copyB] },
|
|
305
325
|
});
|
|
306
326
|
assert.ok(!result.isError, JSON.stringify(result.content));
|
|
307
|
-
assert.
|
|
327
|
+
assert.equal(setCalls.length, 0, "one distinct file is fused on its own");
|
|
328
|
+
assert.deepEqual(soloCalls.map((c) => c.digestB64), [digestB]);
|
|
308
329
|
const structured = result.structuredContent as RecordStructured;
|
|
309
|
-
assert.equal(structured.set
|
|
330
|
+
assert.equal(structured.set, null);
|
|
310
331
|
assert.equal(structured.summary.fused, 2);
|
|
311
332
|
assert.equal(structured.results[0]?.artifact_digest, structured.results[1]?.artifact_digest);
|
|
312
333
|
});
|
package/src/format.ts
CHANGED
|
@@ -139,13 +139,20 @@ export function renderRecordMarkdown(outcomes: readonly RecordOutcome[], set: Se
|
|
|
139
139
|
);
|
|
140
140
|
group(
|
|
141
141
|
fused,
|
|
142
|
-
(o) =>
|
|
142
|
+
(o) =>
|
|
143
|
+
o.member === null
|
|
144
|
+
? `- fused · #${o.counter ?? "?"} · ${o.path} (${o.placement ?? "?"})\n ${o.proof_url}`
|
|
145
|
+
: `- fused · ${o.path} (${fmt(o.member)} of ${fmt(o.member_count ?? 0)}, ${o.placement ?? "?"})`,
|
|
143
146
|
(n) => `and ${fmt(n)} more files in the same set`
|
|
144
147
|
);
|
|
145
|
-
if (fused.length > 0) {
|
|
148
|
+
if (set !== null && fused.length > 0) {
|
|
146
149
|
lines.push(
|
|
147
150
|
"\nOne BitGraph holds every file made here: one slot, one position, and the committed artifact lists each file's new fused bytes by digest. Those bytes were hashed on this machine and never written or uploaded; the file itself is unchanged, and the original plus the set proof rebuilds them. A lookup by any file's own digest finds the set."
|
|
148
151
|
);
|
|
152
|
+
} else if (fused.length > 0) {
|
|
153
|
+
lines.push(
|
|
154
|
+
"\nThe new fused file was built in memory from the file, hashed and committed under its own slot; the file itself is unchanged and was not uploaded. The original plus the proof rebuilds the new file; its Frame is in the structured result."
|
|
155
|
+
);
|
|
149
156
|
}
|
|
150
157
|
if (onRecord.length > 0) {
|
|
151
158
|
lines.push(
|
package/src/server.ts
CHANGED
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Three gestures, the same three the website has: make a BitGraph, check
|
|
7
7
|
* whether bytes are on record, fetch a proof. Making a BitGraph is one
|
|
8
|
-
* gesture for any number of files
|
|
9
|
-
*
|
|
10
|
-
* once, on this machine, for its
|
|
11
|
-
*
|
|
12
|
-
* state once the slot exists; and
|
|
13
|
-
* and committed under the same slot.
|
|
14
|
-
* records leave the machine. File
|
|
15
|
-
* never modified.
|
|
8
|
+
* gesture for any number of files, the way a drop on the site is: a single
|
|
9
|
+
* file is fused on its own slot, and two or more become members of ONE set
|
|
10
|
+
* under ONE slot. For a set each file is read once, on this machine, for its
|
|
11
|
+
* digest and a hasher state; the new fused bytes are never written and never
|
|
12
|
+
* held, their digest is finished from that state once the slot exists; and
|
|
13
|
+
* the set's committed artifact is hashed and committed under the same slot.
|
|
14
|
+
* Only digests, that artifact and slot records leave the machine. File
|
|
15
|
+
* contents are never uploaded and files are never modified.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
@@ -20,7 +20,7 @@ import type { RequestHandlerExtra } from "@modelcontextprotocol/sdk/shared/proto
|
|
|
20
20
|
import type { ServerNotification, ServerRequest } from "@modelcontextprotocol/sdk/types.js";
|
|
21
21
|
import { z } from "zod";
|
|
22
22
|
import { readFile } from "node:fs/promises";
|
|
23
|
-
import { FuseError, MAX_SET_MEMBERS, fuseSet, type FuseSetMember, type FuseSetProgress } from "@mikeargento/bitgraph";
|
|
23
|
+
import { FuseError, MAX_SET_MEMBERS, builderFor, fuse, fuseSet, fusedNamesFor, type FuseSetMember, type FuseSetProgress } from "@mikeargento/bitgraph";
|
|
24
24
|
import {
|
|
25
25
|
ApiError,
|
|
26
26
|
batchCheck,
|
|
@@ -51,7 +51,7 @@ import {
|
|
|
51
51
|
import { expandPaths, fusedDigestFor, scanFile, type ScannedFile } from "./scan.js";
|
|
52
52
|
import type { BitGraphProof } from "./types.js";
|
|
53
53
|
|
|
54
|
-
export const SERVER_VERSION = "0.4.
|
|
54
|
+
export const SERVER_VERSION = "0.4.1";
|
|
55
55
|
|
|
56
56
|
const SCAN_CONCURRENCY = 4;
|
|
57
57
|
/** Paths per call; a directory counts once and expands to its files. */
|
|
@@ -62,6 +62,8 @@ export const MAX_MEMBERS = 100_000;
|
|
|
62
62
|
const MAX_CHECK_FILES = 10_000;
|
|
63
63
|
/** A file whose length changed while it was read is fused from its bytes instead; above this it is left out rather than held in memory. */
|
|
64
64
|
const MAX_LOADED_BYTES = 256 * 1024 * 1024;
|
|
65
|
+
/** A single file up to this size is fused on its own, in memory, with its Frame; a larger one is a set of one, never held. */
|
|
66
|
+
const MAX_SOLO_BYTES = 256 * 1024 * 1024;
|
|
65
67
|
/** Rows the structured result lists in full; every fused row shares the set's position. */
|
|
66
68
|
export const ROW_CAP = 500;
|
|
67
69
|
/** Members' evidence per set-index request: the site's own chunk. */
|
|
@@ -93,9 +95,48 @@ export type FuseSetFn = (
|
|
|
93
95
|
config: ApiConfig,
|
|
94
96
|
opts: { set: "set/1" | "set/2"; onProgress?: (p: FuseSetProgress) => void }
|
|
95
97
|
) => Promise<SetSummary>;
|
|
98
|
+
|
|
99
|
+
/** What fusing one file on its own yields. */
|
|
100
|
+
export interface FusedSummary {
|
|
101
|
+
proof: BitGraphProof;
|
|
102
|
+
frame: unknown;
|
|
103
|
+
placement: string;
|
|
104
|
+
artifactDigestB64: string;
|
|
105
|
+
originDigestB64: string;
|
|
106
|
+
}
|
|
107
|
+
export type FuseFileFn = (file: ScannedFile, config: ApiConfig) => Promise<FusedSummary>;
|
|
108
|
+
|
|
96
109
|
export interface ServerDeps {
|
|
97
110
|
/** The set pipeline; tests inject a stand-in. Default: the core package's fuseSet() against the configured site. */
|
|
98
111
|
fuseSet?: FuseSetFn;
|
|
112
|
+
/** The single-file pipeline; tests inject a stand-in. Default: the core package's fuse() against the configured site. */
|
|
113
|
+
fuseFile?: FuseFileFn;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* A single file, the way a single drop on the site goes: the bytes in hand,
|
|
118
|
+
* the placement chosen from them, one slot, the fused bytes built in memory
|
|
119
|
+
* and hashed, committed under that exact slot, verified against the bytes,
|
|
120
|
+
* and a Frame returned. The fused bytes are not kept.
|
|
121
|
+
*/
|
|
122
|
+
async function fuseFileDefault(file: ScannedFile, config: ApiConfig): Promise<FusedSummary> {
|
|
123
|
+
const bytes = new Uint8Array(await readFile(file.path));
|
|
124
|
+
const placement = file.placement;
|
|
125
|
+
const { fusedName } = fusedNamesFor(file.name, placement);
|
|
126
|
+
const r = await fuse(builderFor(placement, bytes), {
|
|
127
|
+
placement,
|
|
128
|
+
original: bytes,
|
|
129
|
+
fusedFile: fusedName,
|
|
130
|
+
keepFused: false,
|
|
131
|
+
transport: { baseUrl: config.baseUrl, ...(config.apiKey ? { apiKey: config.apiKey } : {}) },
|
|
132
|
+
});
|
|
133
|
+
return {
|
|
134
|
+
proof: r.proof as unknown as BitGraphProof,
|
|
135
|
+
frame: r.frame,
|
|
136
|
+
placement,
|
|
137
|
+
artifactDigestB64: r.artifactDigestB64,
|
|
138
|
+
originDigestB64: r.originDigestB64 ?? file.digestB64,
|
|
139
|
+
};
|
|
99
140
|
}
|
|
100
141
|
|
|
101
142
|
/**
|
|
@@ -282,6 +323,7 @@ async function flushIndex(config: ApiConfig, report: Report): Promise<{ written:
|
|
|
282
323
|
|
|
283
324
|
export function buildServer(deps: ServerDeps = {}): McpServer {
|
|
284
325
|
const fuseSetPipeline = deps.fuseSet ?? fuseSetDefault;
|
|
326
|
+
const fuseFilePipeline = deps.fuseFile ?? fuseFileDefault;
|
|
285
327
|
const server = new McpServer(
|
|
286
328
|
{
|
|
287
329
|
name: "bitgraph-mcp-server",
|
|
@@ -289,7 +331,7 @@ export function buildServer(deps: ServerDeps = {}): McpServer {
|
|
|
289
331
|
},
|
|
290
332
|
{
|
|
291
333
|
instructions:
|
|
292
|
-
"BitGraph gives a file's bytes a causal position in a public ledger bracketed by Ethereum anchors. bitgraph_record makes ONE BitGraph of everything in a call, files and folders alike: one set under one slot, one position, every file's new fused bytes listed by digest in the committed artifact. " +
|
|
334
|
+
"BitGraph gives a file's bytes a causal position in a public ledger bracketed by Ethereum anchors. bitgraph_record makes ONE BitGraph of everything in a call, files and folders alike: a single file is fused on its own; two or more become one set under one slot, one position, every file's new fused bytes listed by digest in the committed artifact. " +
|
|
293
335
|
"Files are read on this machine and never uploaded or modified; the new bytes are virtual and never written. Recordings are permanent: only make BitGraphs of files the user asked for, and never generate content just to record it. bitgraph_check and bitgraph_get_proof are read-only.",
|
|
294
336
|
}
|
|
295
337
|
);
|
|
@@ -299,13 +341,13 @@ export function buildServer(deps: ServerDeps = {}): McpServer {
|
|
|
299
341
|
{
|
|
300
342
|
title: "Make a BitGraph",
|
|
301
343
|
description:
|
|
302
|
-
"Make a BitGraph of files or folders. Everything in one call becomes ONE BitGraph: a set under a single slot in the BitGraph ledger (bitgraph.ing), one position for all of
|
|
303
|
-
"On this machine each file is read once for its SHA-256 (the origin) and a hasher state; an unused slot is allocated before any new file exists; every file's new fused bytes (the original plus a registered placement carrying the slot's commitment: a 48-byte trailer for JPEG, PNG, GIF, TIFF and TIFF-based raws, BMP, WebP, WAV and AVI, a small tar container with the original first for everything else) are hashed from that state without being written or held; and the canonical list of those digests (above 2,000 files, a Merkle root over it) is committed under the same slot. " +
|
|
344
|
+
"Make a BitGraph of files or folders. Everything in one call becomes ONE BitGraph, the way a drop on the site works: a single file is fused on its own slot; two or more files become a set under a single slot in the BitGraph ledger (bitgraph.ing), one position for all of them. " +
|
|
345
|
+
"On this machine each file is read once for its SHA-256 (the origin) and a hasher state; an unused slot is allocated before any new file exists; every file's new fused bytes (the original plus a registered placement carrying the slot's commitment: a 48-byte trailer for JPEG, PNG, GIF, TIFF and TIFF-based raws, BMP, WebP, WAV and AVI, a small tar container with the original first for everything else) are hashed from that state without being written or held; and for a set the canonical list of those digests (above 2,000 files, a Merkle root over it) is committed under the same slot. " +
|
|
304
346
|
"Files are never modified and never uploaded: only digests, the committed artifact and slot records leave the machine. " +
|
|
305
347
|
"Give file paths, directory paths, or both (absolute paths preferred): a directory is every regular file under it, recursively, with hidden entries and symbolic links left out. " +
|
|
306
348
|
"Files already on record (recorded, or the origin of a fused file) are NOT made again by default; they come back as 'on record' with their earliest position. Pass again=true to make a new BitGraph of them deliberately. " +
|
|
307
349
|
"BitGraphs are permanent: the ledger has 10-year retention and no deletes, so only BitGraph files the user asked to, and never generate content just to record it. " +
|
|
308
|
-
"Returns
|
|
350
|
+
"Returns one outcome per file: 'fused' (for a set, its row, one of N, and the set's position and proof page; for a single file, its own position and Frame), 'on record', or 'not fused' (with the reason). A lookup by any file's own digest finds its BitGraph. " +
|
|
309
351
|
"Use bitgraph_check instead when the user only wants to know whether files are on record.",
|
|
310
352
|
inputSchema: {
|
|
311
353
|
paths: z
|
|
@@ -390,8 +432,18 @@ export function buildServer(deps: ServerDeps = {}): McpServer {
|
|
|
390
432
|
}
|
|
391
433
|
const attempted = new Set(toMint.map((f) => f.digestB64));
|
|
392
434
|
let made: SetSummary | null = null;
|
|
435
|
+
let solo: (FusedSummary & { file: ScannedFile }) | null = null;
|
|
393
436
|
let failure: string | null = null;
|
|
394
|
-
|
|
437
|
+
const one = toMint.length === 1 ? (toMint[0] as ScannedFile) : null;
|
|
438
|
+
if (one !== null && one.size <= MAX_SOLO_BYTES) {
|
|
439
|
+
// One file, as a single drop on the site goes: its own slot, its own Frame.
|
|
440
|
+
report(0, 1, "fusing");
|
|
441
|
+
try {
|
|
442
|
+
solo = { ...(await fuseFilePipeline(one, config)), file: one };
|
|
443
|
+
} catch (err) {
|
|
444
|
+
failure = setFailureText(err);
|
|
445
|
+
}
|
|
446
|
+
} else if (toMint.length > 0) {
|
|
395
447
|
const kind: "set/1" | "set/2" = toMint.length > MAX_SET_MEMBERS ? "set/2" : "set/1";
|
|
396
448
|
try {
|
|
397
449
|
made = await fuseSetPipeline(toMint, config, {
|
|
@@ -433,13 +485,29 @@ export function buildServer(deps: ServerDeps = {}): McpServer {
|
|
|
433
485
|
index,
|
|
434
486
|
};
|
|
435
487
|
}
|
|
488
|
+
const frames: Record<string, unknown> = {};
|
|
489
|
+
if (solo !== null) frames[toUrlSafeB64(solo.artifactDigestB64)] = solo.frame;
|
|
436
490
|
const outcomes: RecordOutcome[] = [];
|
|
437
491
|
for (const [digest, entry] of byDigest) {
|
|
438
492
|
const m = memberOf.get(digest);
|
|
439
493
|
const prior = existing.get(digest);
|
|
440
494
|
for (const path of entry.paths) {
|
|
441
495
|
const base = { path, digest: toUrlSafeB64(digest) };
|
|
442
|
-
if (
|
|
496
|
+
if (solo !== null && solo.file.digestB64 === digest) {
|
|
497
|
+
const { counter, epoch } = positionOf(solo.proof);
|
|
498
|
+
outcomes.push({
|
|
499
|
+
...base,
|
|
500
|
+
outcome: "fused",
|
|
501
|
+
artifact_digest: toUrlSafeB64(solo.artifactDigestB64),
|
|
502
|
+
placement: solo.placement,
|
|
503
|
+
counter,
|
|
504
|
+
epoch,
|
|
505
|
+
member: null,
|
|
506
|
+
member_count: null,
|
|
507
|
+
total_positions: (prior?.length ?? 0) + 1,
|
|
508
|
+
proof_url: proofUrl(config.baseUrl, solo.artifactDigestB64, counter ?? undefined, solo.proof.commit?.epochId),
|
|
509
|
+
});
|
|
510
|
+
} else if (m !== undefined && made !== null && setOutcome !== null) {
|
|
443
511
|
outcomes.push({
|
|
444
512
|
...base,
|
|
445
513
|
outcome: "fused",
|
|
@@ -500,6 +568,7 @@ export function buildServer(deps: ServerDeps = {}): McpServer {
|
|
|
500
568
|
const structured = {
|
|
501
569
|
set: setOutcome,
|
|
502
570
|
results: listed as unknown as Record<string, unknown>[],
|
|
571
|
+
frames,
|
|
503
572
|
omitted,
|
|
504
573
|
summary,
|
|
505
574
|
};
|