@mikeargento/bitgraph-mcp 0.4.1 → 0.5.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/dist/__tests__/format.test.js +3 -3
- package/dist/__tests__/format.test.js.map +1 -1
- package/dist/__tests__/proof-beside.test.d.ts +2 -0
- package/dist/__tests__/proof-beside.test.d.ts.map +1 -0
- package/dist/__tests__/proof-beside.test.js +25 -0
- package/dist/__tests__/proof-beside.test.js.map +1 -0
- package/dist/__tests__/tools.test.js +4 -4
- package/dist/__tests__/tools.test.js.map +1 -1
- package/dist/format.js +4 -4
- package/dist/format.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +87 -6
- package/dist/server.js.map +1 -1
- package/dist/task.d.ts +55 -0
- package/dist/task.d.ts.map +1 -0
- package/dist/task.js +182 -0
- package/dist/task.js.map +1 -0
- package/package.json +2 -2
- package/src/__tests__/format.test.ts +3 -3
- package/src/__tests__/proof-beside.test.ts +25 -0
- package/src/__tests__/tools.test.ts +4 -4
- package/src/format.ts +4 -4
- package/src/server.ts +97 -6
- package/src/task.ts +187 -0
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/dist/task.d.ts
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { BitGraphProof, SlotAllocation } from "@mikeargento/bitgraph-verify";
|
|
2
|
+
import { type ApiConfig } from "./api.js";
|
|
3
|
+
export declare const SLOT_TTL_SECONDS = 120;
|
|
4
|
+
export interface TaskState {
|
|
5
|
+
v: 1;
|
|
6
|
+
task: true;
|
|
7
|
+
slot: SlotAllocation;
|
|
8
|
+
}
|
|
9
|
+
export declare function encodeTaskToken(state: TaskState): string;
|
|
10
|
+
export declare function decodeTaskToken(token: string): TaskState | null;
|
|
11
|
+
export interface Begun {
|
|
12
|
+
token: string;
|
|
13
|
+
/** Unpadded base64url: the string to put into the task. */
|
|
14
|
+
commitment: string;
|
|
15
|
+
commitmentB64: string;
|
|
16
|
+
slotCounter: string;
|
|
17
|
+
epoch: string;
|
|
18
|
+
floor: {
|
|
19
|
+
block: number;
|
|
20
|
+
} | null;
|
|
21
|
+
}
|
|
22
|
+
/** Step one of the task form: a held slot and its commitment, before any work exists. */
|
|
23
|
+
export declare function beginTask(config: ApiConfig): Promise<Begun>;
|
|
24
|
+
export interface SealedTask {
|
|
25
|
+
proof: BitGraphProof;
|
|
26
|
+
artifactDigestB64: string;
|
|
27
|
+
/** Byte offsets of the commitment string inside the task bytes, when the bytes were given. */
|
|
28
|
+
offsets: number[] | null;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Step two: the task bytes (a path, or the bytes themselves) sealed under
|
|
32
|
+
* the held slot with the inline marker. When the bytes are in hand the
|
|
33
|
+
* commitment is looked for BEFORE the commit, so a task that does not carry
|
|
34
|
+
* it is refused without spending the slot.
|
|
35
|
+
*/
|
|
36
|
+
export declare function sealTask(config: ApiConfig, state: TaskState, task: {
|
|
37
|
+
path: string;
|
|
38
|
+
} | {
|
|
39
|
+
bytes: Uint8Array;
|
|
40
|
+
} | {
|
|
41
|
+
digestB64: string;
|
|
42
|
+
}): Promise<SealedTask>;
|
|
43
|
+
export declare const TASK_INSTRUCTIONS: string;
|
|
44
|
+
/**
|
|
45
|
+
* Write a sealed task's proof beside the file it is about, whole, and say
|
|
46
|
+
* where. `make_task.txt` gets `make_task.proof.json`; a name already taken
|
|
47
|
+
* gets the position's counter in it rather than being overwritten.
|
|
48
|
+
*
|
|
49
|
+
* ⚠️ THE SERVER WRITES IT, NOT THE AGENT. Handed the JSON to save, an agent
|
|
50
|
+
* tidied it and dropped slotAllocation and environment, and the signature
|
|
51
|
+
* had no body left to be checked against (Grok, 2026-09-13). A file this
|
|
52
|
+
* process writes is the proof exactly as the boundary returned it.
|
|
53
|
+
*/
|
|
54
|
+
export declare function writeProofBeside(sealedPath: string, proof: BitGraphProof): Promise<string>;
|
|
55
|
+
//# sourceMappingURL=task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAGpD,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAKpC,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,CAAC,CAAC;IACL,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,cAAc,CAAC;CACtB;AASD,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAExD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAO/D;AAkBD,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACjC;AAED,yFAAyF;AACzF,wBAAsB,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAcjE;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8FAA8F;IAC9F,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CA4B/J;AAkBD,eAAO,MAAM,iBAAiB,QAK4F,CAAC;AAE3H;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAWhG"}
|
package/dist/task.js
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
// Copyright (c) 2024-2026 Mike Argento. Licensed under the MIT License. See LICENSE.
|
|
2
|
+
/**
|
|
3
|
+
* A position BEFORE the work: the task form of the stdio server.
|
|
4
|
+
*
|
|
5
|
+
* bitgraph_open with no files asks the site's own /api/fuse/allocate for a
|
|
6
|
+
* slot and returns its commitment, and nothing else. The caller puts the
|
|
7
|
+
* commitment into the task it is about to run (the prompt, the request, a
|
|
8
|
+
* seed, a line in the document) and, within the slot's life, commits the
|
|
9
|
+
* digest of those task bytes under the slot with the inline marker
|
|
10
|
+
* (bitgraph-fuse/1, title base64url): a verifier recomputes the commitment
|
|
11
|
+
* from the slot record and finds its base64url text inside the bytes.
|
|
12
|
+
* Outputs are recorded afterwards with bitgraph_record and sit later.
|
|
13
|
+
*
|
|
14
|
+
* The slot allocation and the commit go through the same two site routes
|
|
15
|
+
* the core package's fuse() uses; the recovery rule is the core's (read back
|
|
16
|
+
* by digest, refuse a proof under any other slot).
|
|
17
|
+
*/
|
|
18
|
+
import { readFile } from "node:fs/promises";
|
|
19
|
+
import { createHash } from "node:crypto";
|
|
20
|
+
import { bytesToBase64, computeSlotCommitment, findCommitment, inlineAttribution, verifyProofIntegrity, ENCODING_BASE64URL } from "@mikeargento/bitgraph-verify";
|
|
21
|
+
import { ApiError } from "./api.js";
|
|
22
|
+
import { toUrlSafeB64 } from "./encoding.js";
|
|
23
|
+
export const SLOT_TTL_SECONDS = 120;
|
|
24
|
+
const CHAIN = "bitgraph:main";
|
|
25
|
+
const B64_32 = /^[A-Za-z0-9+/]{43}=$/;
|
|
26
|
+
const B64_64 = /^[A-Za-z0-9+/]{86}==$/;
|
|
27
|
+
function isSlotRecord(x) {
|
|
28
|
+
if (x === null || typeof x !== "object" || Array.isArray(x))
|
|
29
|
+
return false;
|
|
30
|
+
const s = x;
|
|
31
|
+
return s.version === "bitgraph/slot/1" && typeof s.nonceB64 === "string" && B64_32.test(s.nonceB64) && typeof s.counter === "string" && /^(0|[1-9][0-9]*)$/.test(s.counter)
|
|
32
|
+
&& typeof s.epochId === "string" && typeof s.publicKeyB64 === "string" && typeof s.signatureB64 === "string" && B64_64.test(s.signatureB64) && s.chainId === CHAIN;
|
|
33
|
+
}
|
|
34
|
+
export function encodeTaskToken(state) {
|
|
35
|
+
return Buffer.from(JSON.stringify(state), "utf8").toString("base64url");
|
|
36
|
+
}
|
|
37
|
+
export function decodeTaskToken(token) {
|
|
38
|
+
let parsed;
|
|
39
|
+
try {
|
|
40
|
+
parsed = JSON.parse(Buffer.from(token, "base64url").toString("utf8"));
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
if (typeof parsed !== "object" || parsed === null)
|
|
46
|
+
return null;
|
|
47
|
+
const s = parsed;
|
|
48
|
+
if (s.v !== 1 || s.task !== true || !isSlotRecord(s.slot))
|
|
49
|
+
return null;
|
|
50
|
+
return { v: 1, task: true, slot: s.slot };
|
|
51
|
+
}
|
|
52
|
+
async function post(config, path, body, timeoutMs) {
|
|
53
|
+
const headers = { "content-type": "application/json", accept: "application/json" };
|
|
54
|
+
if (config.apiKey)
|
|
55
|
+
headers["authorization"] = `Bearer ${config.apiKey}`;
|
|
56
|
+
const res = await fetch(`${config.baseUrl}${path}`, { method: "POST", headers, body: JSON.stringify(body), signal: AbortSignal.timeout(timeoutMs) });
|
|
57
|
+
let json = null;
|
|
58
|
+
try {
|
|
59
|
+
json = await res.json();
|
|
60
|
+
}
|
|
61
|
+
catch { /* non-JSON */ }
|
|
62
|
+
const raw = res.headers.get("retry-after");
|
|
63
|
+
const retry = raw !== null ? Number.parseInt(raw, 10) : NaN;
|
|
64
|
+
return { status: res.status, json, retryAfterSec: Number.isFinite(retry) ? retry : null };
|
|
65
|
+
}
|
|
66
|
+
const messageOf = (json, fallback) => {
|
|
67
|
+
const e = json?.error;
|
|
68
|
+
return typeof e === "string" ? e : fallback;
|
|
69
|
+
};
|
|
70
|
+
/** Step one of the task form: a held slot and its commitment, before any work exists. */
|
|
71
|
+
export async function beginTask(config) {
|
|
72
|
+
const r = await post(config, "/api/fuse/allocate", {}, 20_000);
|
|
73
|
+
if (r.status !== 200)
|
|
74
|
+
throw new ApiError(r.status, messageOf(r.json, `allocation refused (${r.status})`), r.retryAfterSec);
|
|
75
|
+
const slot = r.json?.slot;
|
|
76
|
+
if (!isSlotRecord(slot))
|
|
77
|
+
throw new ApiError(502, "the allocation response is not a slot record on bitgraph:main");
|
|
78
|
+
const commitmentB64 = bytesToBase64(computeSlotCommitment(slot));
|
|
79
|
+
let floor = null;
|
|
80
|
+
try {
|
|
81
|
+
const res = await fetch(`${config.baseUrl}/api/proofs/anchors?counter=${encodeURIComponent(slot.counter)}&epoch=${encodeURIComponent(slot.epochId)}&before=1`, { headers: { accept: "application/json" }, signal: AbortSignal.timeout(10_000) });
|
|
82
|
+
const data = res.status === 200 ? (await res.json()) : null;
|
|
83
|
+
const b = data?.anchors?.[0]?.commit?.anchor?.blockNumber;
|
|
84
|
+
if (typeof b === "number")
|
|
85
|
+
floor = { block: b };
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
floor = null;
|
|
89
|
+
}
|
|
90
|
+
return { token: encodeTaskToken({ v: 1, task: true, slot }), commitment: toUrlSafeB64(commitmentB64), commitmentB64, slotCounter: slot.counter, epoch: toUrlSafeB64(slot.epochId), floor };
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Step two: the task bytes (a path, or the bytes themselves) sealed under
|
|
94
|
+
* the held slot with the inline marker. When the bytes are in hand the
|
|
95
|
+
* commitment is looked for BEFORE the commit, so a task that does not carry
|
|
96
|
+
* it is refused without spending the slot.
|
|
97
|
+
*/
|
|
98
|
+
export async function sealTask(config, state, task) {
|
|
99
|
+
const { slot } = state;
|
|
100
|
+
const commitment = computeSlotCommitment(slot);
|
|
101
|
+
let bytes = null;
|
|
102
|
+
let artifactDigestB64;
|
|
103
|
+
if ("digestB64" in task) {
|
|
104
|
+
if (!B64_32.test(task.digestB64))
|
|
105
|
+
throw new ApiError(400, "artifact digest must be a base64 SHA-256");
|
|
106
|
+
artifactDigestB64 = task.digestB64;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
bytes = "path" in task ? new Uint8Array(await readFile(task.path)) : task.bytes;
|
|
110
|
+
artifactDigestB64 = createHash("sha256").update(bytes).digest("base64");
|
|
111
|
+
}
|
|
112
|
+
const offsets = bytes === null ? null : findCommitment(bytes, commitment, ENCODING_BASE64URL);
|
|
113
|
+
if (offsets !== null && offsets.length === 0) {
|
|
114
|
+
throw new ApiError(400, `the task bytes do not contain the commitment string ${toUrlSafeB64(bytesToBase64(commitment))}; put it in before sealing. Nothing was committed and the slot is still held.`);
|
|
115
|
+
}
|
|
116
|
+
const attribution = inlineAttribution();
|
|
117
|
+
const r = await post(config, "/api/fuse/commit", { digests: [{ digestB64: artifactDigestB64, hashAlg: "sha256" }], slotId: slot.nonceB64, slot, chainId: CHAIN, attribution }, 40_000);
|
|
118
|
+
let proof = null;
|
|
119
|
+
if (r.status === 200)
|
|
120
|
+
proof = (r.json?.proof ?? null);
|
|
121
|
+
else if (r.status === 409 || r.status === 503)
|
|
122
|
+
proof = await recover(config, artifactDigestB64, slot);
|
|
123
|
+
if (proof === null)
|
|
124
|
+
throw new ApiError(r.status, messageOf(r.json, `commit refused (${r.status})`), r.retryAfterSec);
|
|
125
|
+
if (proof.artifact?.digestB64 !== artifactDigestB64 || proof.commit?.nonceB64 !== slot.nonceB64 || proof.slotAllocation?.nonceB64 !== slot.nonceB64)
|
|
126
|
+
throw new ApiError(502, "the boundary returned a proof under a different slot; nothing is labelled sealed");
|
|
127
|
+
const a = proof.attribution;
|
|
128
|
+
if (a?.name !== attribution.name || a?.title !== attribution.title || a?.message !== undefined)
|
|
129
|
+
throw new ApiError(502, "the returned proof does not carry the inline marker that was sent; nothing is labelled sealed");
|
|
130
|
+
const integrity = await verifyProofIntegrity({ proof });
|
|
131
|
+
if (!integrity.valid)
|
|
132
|
+
throw new ApiError(502, `the returned proof does not verify: ${integrity.reason ?? "unknown reason"}`);
|
|
133
|
+
return { proof, artifactDigestB64, offsets };
|
|
134
|
+
}
|
|
135
|
+
async function recover(config, artifactDigestB64, slot) {
|
|
136
|
+
for (let attempt = 0; attempt < 4; attempt++) {
|
|
137
|
+
if (attempt > 0)
|
|
138
|
+
await new Promise((r) => setTimeout(r, 1500));
|
|
139
|
+
try {
|
|
140
|
+
const res = await fetch(`${config.baseUrl}/api/proofs/${encodeURIComponent(toUrlSafeB64(artifactDigestB64))}`, { headers: { accept: "application/json" }, signal: AbortSignal.timeout(15_000) });
|
|
141
|
+
if (res.status !== 200)
|
|
142
|
+
continue;
|
|
143
|
+
const j = (await res.json());
|
|
144
|
+
for (const e of j?.proofs ?? []) {
|
|
145
|
+
const p = e.proof;
|
|
146
|
+
if (p && p.artifact?.digestB64 === artifactDigestB64 && p.commit?.nonceB64 === slot.nonceB64)
|
|
147
|
+
return p;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
catch { /* try again */ }
|
|
151
|
+
}
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
export const TASK_INSTRUCTIONS = "You hold a position and its commitment, and no work exists yet. Put the commitment string INSIDE THE OUTPUT you are about to make whenever its format can hold text (SVG, HTML, code, JSON, Markdown, CSV, a document): as a comment, a field, a line that stays in the file. " +
|
|
155
|
+
`When the output exists, call bitgraph_commit with this fuse_token and the output file's path, within ${SLOT_TTL_SECONDS} seconds of opening: the output itself is sealed under the position, and the proof is written beside it. ` +
|
|
156
|
+
"If the output cannot hold text (a PNG, audio, video) or will take longer than that to make, put the commitment into a task file instead (the exact prompt or request you send), seal that file the same way, and when the output exists record it with bitgraph_record: the task is sealed before the output existed, and the output is recorded after. " +
|
|
157
|
+
"Keep the exact bytes that were sealed unchanged: a verifier recomputes the commitment from the proof and looks for the string inside them. " +
|
|
158
|
+
"Leave the proof file as written, whole, every field: a proof missing slotAllocation or environment cannot be verified.";
|
|
159
|
+
/**
|
|
160
|
+
* Write a sealed task's proof beside the file it is about, whole, and say
|
|
161
|
+
* where. `make_task.txt` gets `make_task.proof.json`; a name already taken
|
|
162
|
+
* gets the position's counter in it rather than being overwritten.
|
|
163
|
+
*
|
|
164
|
+
* ⚠️ THE SERVER WRITES IT, NOT THE AGENT. Handed the JSON to save, an agent
|
|
165
|
+
* tidied it and dropped slotAllocation and environment, and the signature
|
|
166
|
+
* had no body left to be checked against (Grok, 2026-09-13). A file this
|
|
167
|
+
* process writes is the proof exactly as the boundary returned it.
|
|
168
|
+
*/
|
|
169
|
+
export async function writeProofBeside(sealedPath, proof) {
|
|
170
|
+
const { writeFile, access } = await import("node:fs/promises");
|
|
171
|
+
const { basename, dirname, extname, join } = await import("node:path");
|
|
172
|
+
const dir = dirname(sealedPath);
|
|
173
|
+
const base = basename(sealedPath);
|
|
174
|
+
const stem = extname(base) === "" ? base : base.slice(0, -extname(base).length);
|
|
175
|
+
const counter = proof.commit?.counter ?? "0";
|
|
176
|
+
let target = join(dir, `${stem}.proof.json`);
|
|
177
|
+
if (await access(target).then(() => true).catch(() => false))
|
|
178
|
+
target = join(dir, `${stem}.proof.${counter}.json`);
|
|
179
|
+
await writeFile(target, JSON.stringify(proof, null, 2) + "\n", { flag: "wx" });
|
|
180
|
+
return target;
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=task.js.map
|
package/dist/task.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../src/task.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.
|
|
3
|
+
"version": "0.5.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",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
41
41
|
"zod": "^3.25.0",
|
|
42
42
|
"@mikeargento/bitgraph": "^1.8.0",
|
|
43
|
-
"@mikeargento/bitgraph-verify": "^1.
|
|
43
|
+
"@mikeargento/bitgraph-verify": "^1.11.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@types/node": "^20.0.0",
|
|
@@ -37,7 +37,7 @@ test("record markdown mentions again=true only when something was already on rec
|
|
|
37
37
|
{ ...base, path: "/b", outcome: "on record", artifact_digest: null, placement: null, member: null, member_count: null },
|
|
38
38
|
]);
|
|
39
39
|
assert.ok(mixed.includes("again=true"));
|
|
40
|
-
assert.ok(mixed.startsWith("1 fused, 1 already on record."));
|
|
40
|
+
assert.ok(mixed.startsWith("1 fused, 1 already on record (indexed before 2026-09-08)."));
|
|
41
41
|
});
|
|
42
42
|
|
|
43
43
|
test("record markdown names the set once and its members by row", () => {
|
|
@@ -54,12 +54,12 @@ test("record markdown names the set once and its members by row", () => {
|
|
|
54
54
|
};
|
|
55
55
|
const row = { digest: toUrlSafeB64(DIGEST), counter: "1386", epoch: toUrlSafeB64(EPOCH), total_positions: 1, proof_url: "https://bitgraph.ing/proof/x", artifact_digest: "ZnVzZWQ", outcome: "fused" as const, member_count: 2 };
|
|
56
56
|
const md = renderRecordMarkdown([{ ...row, path: "/a.png", placement: "trailer/1", member: 2 }, { ...row, path: "/b.txt", placement: "container/2", member: 1 }], set);
|
|
57
|
-
assert.ok(md.startsWith("2 files BitGraphed as one set at #1386 (set of 2), 0 already on record."), md);
|
|
57
|
+
assert.ok(md.startsWith("2 files BitGraphed as one set at #1386 (set of 2), 0 already on record (indexed before 2026-09-08)."), md);
|
|
58
58
|
assert.ok(md.includes("- #1386 · set of 2 · https://bitgraph.ing/proof/c2V0?counter=1386"), md);
|
|
59
59
|
assert.ok(md.includes("- fused · /a.png (2 of 2, trailer/1)"), md);
|
|
60
60
|
assert.ok(md.includes("- fused · /b.txt (1 of 2, container/2)"), md);
|
|
61
61
|
const waiting = renderRecordMarkdown([{ ...row, path: "/a.png", placement: "trailer/1", member: 1 }], { ...set, set: "set/2", index: { written: 0, pending: 2 } });
|
|
62
|
-
assert.ok(waiting.includes("not
|
|
62
|
+
assert.ok(waiting.includes("does not index new proofs by hash"), waiting);
|
|
63
63
|
});
|
|
64
64
|
|
|
65
65
|
test("proof markdown states the window as between lower and upper", () => {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { describe, test } from "node:test";
|
|
2
|
+
import * as assert from "node:assert/strict";
|
|
3
|
+
import { mkdtempSync, writeFileSync, readFileSync, existsSync } from "node:fs";
|
|
4
|
+
import { tmpdir } from "node:os";
|
|
5
|
+
import { join } from "node:path";
|
|
6
|
+
import { writeProofBeside } from "../task.js";
|
|
7
|
+
|
|
8
|
+
describe("the server writes the task proof beside the sealed file", () => {
|
|
9
|
+
test("named after the file, whole, and never over an existing one", async () => {
|
|
10
|
+
const dir = mkdtempSync(join(tmpdir(), "bg-proof-beside-"));
|
|
11
|
+
const task = join(dir, "make_task.txt");
|
|
12
|
+
writeFileSync(task, "BITGRAPH TASK\ncommitment here\n");
|
|
13
|
+
const proof = { version: "bitgraph/1", commit: { counter: "106" }, slotAllocation: { counter: "103" }, environment: { measurement: "abc" } } as never;
|
|
14
|
+
const first = await writeProofBeside(task, proof);
|
|
15
|
+
assert.equal(first, join(dir, "make_task.proof.json"));
|
|
16
|
+
assert.deepEqual(JSON.parse(readFileSync(first, "utf8")), proof, "every field, as given");
|
|
17
|
+
const second = await writeProofBeside(task, { ...(proof as object), commit: { counter: "110" } } as never);
|
|
18
|
+
assert.equal(second, join(dir, "make_task.proof.110.json"), "a taken name gets the counter, nothing is overwritten");
|
|
19
|
+
assert.equal(JSON.parse(readFileSync(first, "utf8")).commit.counter, "106");
|
|
20
|
+
const bare = join(dir, "README");
|
|
21
|
+
writeFileSync(bare, "x");
|
|
22
|
+
assert.equal(await writeProofBeside(bare, proof), join(dir, "README.proof.json"));
|
|
23
|
+
assert.ok(existsSync(join(dir, "README.proof.json")));
|
|
24
|
+
});
|
|
25
|
+
});
|
|
@@ -227,11 +227,11 @@ interface RecordStructured {
|
|
|
227
227
|
}
|
|
228
228
|
const textOf = (result: unknown): string => (((result as { content?: unknown }).content ?? []) as Array<{ text: string }>)[0]?.text ?? "";
|
|
229
229
|
|
|
230
|
-
test("lists the
|
|
230
|
+
test("lists the five tools", async () => {
|
|
231
231
|
const client = await connectedClient();
|
|
232
232
|
const tools = await client.listTools();
|
|
233
233
|
const names = tools.tools.map((t) => t.name).sort();
|
|
234
|
-
assert.deepEqual(names, ["bitgraph_check", "bitgraph_get_proof", "bitgraph_record"]);
|
|
234
|
+
assert.deepEqual(names, ["bitgraph_check", "bitgraph_commit", "bitgraph_get_proof", "bitgraph_open", "bitgraph_record"]);
|
|
235
235
|
});
|
|
236
236
|
|
|
237
237
|
test("record makes ONE set of the fresh files and leaves on-record ones alone", async () => {
|
|
@@ -297,7 +297,7 @@ test("a single file is fused on its own, with its Frame; again=true fuses an on-
|
|
|
297
297
|
assert.ok(row?.artifact_digest && structured.frames[row.artifact_digest], "the Frame rides in the structured result under the fused digest");
|
|
298
298
|
assert.ok(row?.proof_url?.includes(encodeURIComponent(row.artifact_digest ?? "")), "a single file's proof page is its own");
|
|
299
299
|
const text = textOf(result);
|
|
300
|
-
assert.ok(text.startsWith("1 fused, 0 already on record."), text);
|
|
300
|
+
assert.ok(text.startsWith("1 fused, 0 already on record (indexed before 2026-09-08)."), text);
|
|
301
301
|
assert.ok(text.includes("its Frame is in the structured result"), text);
|
|
302
302
|
});
|
|
303
303
|
|
|
@@ -374,7 +374,7 @@ test("evidence the site cannot index waits, blocks a new set, and is sent first
|
|
|
374
374
|
const s1 = first.structuredContent as RecordStructured;
|
|
375
375
|
assert.deepEqual(s1.set?.index, { written: 0, pending: BIG });
|
|
376
376
|
assert.equal(pendingIndexCount(), BIG);
|
|
377
|
-
assert.ok(textOf(first).includes("not
|
|
377
|
+
assert.ok(textOf(first).includes("does not index new proofs by hash"), textOf(first).slice(0, 400));
|
|
378
378
|
|
|
379
379
|
// Still down: nothing new is made, so the members cannot be made again by mistake.
|
|
380
380
|
requests.length = 0;
|
package/src/format.ts
CHANGED
|
@@ -107,13 +107,13 @@ export function renderRecordMarkdown(outcomes: readonly RecordOutcome[], set: Se
|
|
|
107
107
|
} else {
|
|
108
108
|
parts.push(`${fmt(fused.length)} fused`);
|
|
109
109
|
}
|
|
110
|
-
parts.push(`${fmt(onRecord.length)} already on record`);
|
|
110
|
+
parts.push(`${fmt(onRecord.length)} already on record (indexed before 2026-09-08)`);
|
|
111
111
|
if (notFused.length > 0) parts.push(`${fmt(notFused.length)} NOT fused`);
|
|
112
112
|
lines.push(`${parts.join(", ")}.`);
|
|
113
113
|
if (set !== null && fused.length > 0) {
|
|
114
114
|
lines.push(`- #${set.counter ?? "?"} · set of ${fmt(set.count)} · ${set.proof_url}`);
|
|
115
115
|
if (set.index !== null && set.index.pending > 0) {
|
|
116
|
-
lines.push(` The set is
|
|
116
|
+
lines.push(` The set is made. The evidence for ${fmt(set.index.pending)} of its ${fmt(set.count)} members has not reached BitGraph yet and is sent again at the start of the next bitgraph_record call. BitGraph does not index new proofs by hash; the set proof beside the originals is the record.`);
|
|
117
117
|
}
|
|
118
118
|
if (!set.manifest_echoed) {
|
|
119
119
|
lines.push(` The boundary did not echo the committed artifact; the ledger's copy of this proof carries no member list. Keep the set's proof page.`);
|
|
@@ -147,7 +147,7 @@ export function renderRecordMarkdown(outcomes: readonly RecordOutcome[], set: Se
|
|
|
147
147
|
);
|
|
148
148
|
if (set !== null && fused.length > 0) {
|
|
149
149
|
lines.push(
|
|
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.
|
|
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. Keep the set proof beside the originals; BitGraph does not index it."
|
|
151
151
|
);
|
|
152
152
|
} else if (fused.length > 0) {
|
|
153
153
|
lines.push(
|
|
@@ -156,7 +156,7 @@ export function renderRecordMarkdown(outcomes: readonly RecordOutcome[], set: Se
|
|
|
156
156
|
}
|
|
157
157
|
if (onRecord.length > 0) {
|
|
158
158
|
lines.push(
|
|
159
|
-
"\nFiles
|
|
159
|
+
"\nFiles BitGraph still indexes (recorded before 2026-09-08) were left alone. BitGraph does not index new proofs, so a file may already have a BitGraph in its holder's folder. To make a new one regardless, call bitgraph_record with again=true."
|
|
160
160
|
);
|
|
161
161
|
}
|
|
162
162
|
if (omitted > 0) {
|