lockwire 0.1.33 → 0.1.34
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/blake3.d.ts +9 -0
- package/dist/blake3.d.ts.map +1 -0
- package/dist/blake3.js +128 -0
- package/dist/blake3.js.map +1 -0
- package/dist/hash.d.ts.map +1 -1
- package/dist/hash.js +2 -4
- package/dist/hash.js.map +1 -1
- package/dist/mcp-protocol.d.ts +5 -5
- package/dist/mcp-protocol.d.ts.map +1 -1
- package/dist/mcp-protocol.js +14 -20
- package/dist/mcp-protocol.js.map +1 -1
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +18 -18
- package/dist/mcp-server.js.map +1 -1
- package/dist/schema.d.ts +44 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +68 -0
- package/dist/schema.js.map +1 -0
- package/package.json +3 -4
package/dist/blake3.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BLAKE3, the unkeyed hash, written out so lockwire needs no hashing dependency (Node's crypto has no
|
|
3
|
+
* BLAKE3). Lockfiles written by earlier versions hold BLAKE3 fingerprints, so the hash has to stay
|
|
4
|
+
* the same one; the tests check this against the reference implementation (`@noble/hashes`, a
|
|
5
|
+
* development dependency) over every input length around the chunk and tree boundaries.
|
|
6
|
+
*/
|
|
7
|
+
/** The first `length` bytes (at most 32) of the BLAKE3 hash of `input`, as lowercase hex. */
|
|
8
|
+
export declare function blake3Hex(input: Uint8Array, length?: number): string;
|
|
9
|
+
//# sourceMappingURL=blake3.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blake3.d.ts","sourceRoot":"","sources":["../src/blake3.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA8HH,6FAA6F;AAC7F,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,SAAK,GAAG,MAAM,CAkBhE"}
|
package/dist/blake3.js
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BLAKE3, the unkeyed hash, written out so lockwire needs no hashing dependency (Node's crypto has no
|
|
3
|
+
* BLAKE3). Lockfiles written by earlier versions hold BLAKE3 fingerprints, so the hash has to stay
|
|
4
|
+
* the same one; the tests check this against the reference implementation (`@noble/hashes`, a
|
|
5
|
+
* development dependency) over every input length around the chunk and tree boundaries.
|
|
6
|
+
*/
|
|
7
|
+
const IV = [
|
|
8
|
+
0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19,
|
|
9
|
+
];
|
|
10
|
+
const PERMUTATION = [2, 6, 3, 10, 7, 0, 4, 13, 1, 11, 12, 5, 9, 14, 15, 8];
|
|
11
|
+
const CHUNK_START = 1;
|
|
12
|
+
const CHUNK_END = 2;
|
|
13
|
+
const PARENT = 4;
|
|
14
|
+
const ROOT = 8;
|
|
15
|
+
const BLOCK_LEN = 64;
|
|
16
|
+
const CHUNK_LEN = 1024;
|
|
17
|
+
const rotr = (x, n) => (x >>> n) | (x << (32 - n));
|
|
18
|
+
// Scratch space reused by every compression, so hashing allocates nothing per block.
|
|
19
|
+
const state = new Uint32Array(16);
|
|
20
|
+
const msg = new Uint32Array(16);
|
|
21
|
+
const next = new Uint32Array(16);
|
|
22
|
+
function g(a, b, c, d, mx, my) {
|
|
23
|
+
state[a] = state[a] + state[b] + mx;
|
|
24
|
+
state[d] = rotr(state[d] ^ state[a], 16);
|
|
25
|
+
state[c] = state[c] + state[d];
|
|
26
|
+
state[b] = rotr(state[b] ^ state[c], 12);
|
|
27
|
+
state[a] = state[a] + state[b] + my;
|
|
28
|
+
state[d] = rotr(state[d] ^ state[a], 8);
|
|
29
|
+
state[c] = state[c] + state[d];
|
|
30
|
+
state[b] = rotr(state[b] ^ state[c], 7);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The compression function: an 8-word chaining value and a 16-word block in, 16 words out. The result
|
|
34
|
+
* is `state`, which the next call overwrites: read what you need before compressing again.
|
|
35
|
+
*/
|
|
36
|
+
function compress(cv, block, counter, blockLen, flags) {
|
|
37
|
+
for (let i = 0; i < 8; i++)
|
|
38
|
+
state[i] = cv[i];
|
|
39
|
+
state[8] = IV[0];
|
|
40
|
+
state[9] = IV[1];
|
|
41
|
+
state[10] = IV[2];
|
|
42
|
+
state[11] = IV[3];
|
|
43
|
+
state[12] = counter >>> 0;
|
|
44
|
+
state[13] = Math.floor(counter / 0x100000000) >>> 0;
|
|
45
|
+
state[14] = blockLen;
|
|
46
|
+
state[15] = flags;
|
|
47
|
+
for (let i = 0; i < 16; i++)
|
|
48
|
+
msg[i] = block[i];
|
|
49
|
+
for (let round = 0; round < 7; round++) {
|
|
50
|
+
g(0, 4, 8, 12, msg[0], msg[1]);
|
|
51
|
+
g(1, 5, 9, 13, msg[2], msg[3]);
|
|
52
|
+
g(2, 6, 10, 14, msg[4], msg[5]);
|
|
53
|
+
g(3, 7, 11, 15, msg[6], msg[7]);
|
|
54
|
+
g(0, 5, 10, 15, msg[8], msg[9]);
|
|
55
|
+
g(1, 6, 11, 12, msg[10], msg[11]);
|
|
56
|
+
g(2, 7, 8, 13, msg[12], msg[13]);
|
|
57
|
+
g(3, 4, 9, 14, msg[14], msg[15]);
|
|
58
|
+
if (round < 6) {
|
|
59
|
+
for (let i = 0; i < 16; i++)
|
|
60
|
+
next[i] = msg[PERMUTATION[i]];
|
|
61
|
+
msg.set(next);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
for (let i = 0; i < 8; i++) {
|
|
65
|
+
state[i] = state[i] ^ state[i + 8];
|
|
66
|
+
state[i + 8] = state[i + 8] ^ cv[i];
|
|
67
|
+
}
|
|
68
|
+
return state;
|
|
69
|
+
}
|
|
70
|
+
const chainingValue = (o) => Array.from(compress(o.cv, o.block, o.counter, o.blockLen, o.flags).subarray(0, 8));
|
|
71
|
+
const words = (bytes, start, length) => {
|
|
72
|
+
const block = new Uint32Array(16);
|
|
73
|
+
const view = new DataView(bytes.buffer, bytes.byteOffset + start, length);
|
|
74
|
+
for (let i = 0; i < length >> 2; i++)
|
|
75
|
+
block[i] = view.getUint32(i * 4, true);
|
|
76
|
+
// A final partial word is zero-padded, little-endian.
|
|
77
|
+
for (let i = length & ~3; i < length; i++)
|
|
78
|
+
block[i >> 2] = block[i >> 2] | (view.getUint8(i) << (8 * (i & 3)));
|
|
79
|
+
return block;
|
|
80
|
+
};
|
|
81
|
+
/** The output of the chunk starting at `start`, whose last block is left for the caller to finish. */
|
|
82
|
+
function chunkOutput(input, start, index) {
|
|
83
|
+
const length = Math.min(CHUNK_LEN, input.length - start);
|
|
84
|
+
const blocks = Math.max(1, Math.ceil(length / BLOCK_LEN));
|
|
85
|
+
let cv = IV;
|
|
86
|
+
for (let b = 0; b < blocks - 1; b++) {
|
|
87
|
+
const block = words(input, start + b * BLOCK_LEN, BLOCK_LEN);
|
|
88
|
+
cv = Array.from(compress(cv, block, index, BLOCK_LEN, b === 0 ? CHUNK_START : 0).subarray(0, 8));
|
|
89
|
+
}
|
|
90
|
+
const last = (blocks - 1) * BLOCK_LEN;
|
|
91
|
+
const blockLen = length - last;
|
|
92
|
+
return {
|
|
93
|
+
cv,
|
|
94
|
+
block: words(input, start + last, blockLen),
|
|
95
|
+
counter: index,
|
|
96
|
+
blockLen,
|
|
97
|
+
flags: (blocks === 1 ? CHUNK_START : 0) | CHUNK_END,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
const parentOutput = (left, right) => ({
|
|
101
|
+
cv: IV,
|
|
102
|
+
block: Uint32Array.from([...left, ...right]),
|
|
103
|
+
counter: 0,
|
|
104
|
+
blockLen: BLOCK_LEN,
|
|
105
|
+
flags: PARENT,
|
|
106
|
+
});
|
|
107
|
+
/** The first `length` bytes (at most 32) of the BLAKE3 hash of `input`, as lowercase hex. */
|
|
108
|
+
export function blake3Hex(input, length = 32) {
|
|
109
|
+
const chunks = Math.max(1, Math.ceil(input.length / CHUNK_LEN));
|
|
110
|
+
// Completed subtrees, merged as soon as two of equal size exist.
|
|
111
|
+
const stack = [];
|
|
112
|
+
for (let i = 0; i < chunks - 1; i++) {
|
|
113
|
+
let cv = chainingValue(chunkOutput(input, i * CHUNK_LEN, i));
|
|
114
|
+
for (let done = i + 1; (done & 1) === 0; done >>= 1)
|
|
115
|
+
cv = chainingValue(parentOutput(stack.pop(), cv));
|
|
116
|
+
stack.push(cv);
|
|
117
|
+
}
|
|
118
|
+
let out = chunkOutput(input, (chunks - 1) * CHUNK_LEN, chunks - 1);
|
|
119
|
+
while (stack.length > 0)
|
|
120
|
+
out = parentOutput(stack.pop(), chainingValue(out));
|
|
121
|
+
const digest = compress(out.cv, out.block, 0, out.blockLen, out.flags | ROOT);
|
|
122
|
+
let hex = "";
|
|
123
|
+
for (let i = 0; i < Math.ceil(length / 4); i++)
|
|
124
|
+
for (let b = 0; b < 4; b++)
|
|
125
|
+
hex += ((digest[i] >>> (8 * b)) & 0xff).toString(16).padStart(2, "0");
|
|
126
|
+
return hex.slice(0, length * 2);
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=blake3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blake3.js","sourceRoot":"","sources":["../src/blake3.ts"],"names":[],"mappings":"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"}
|
package/dist/hash.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,8GAA8G;AAC9G,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAG/D;AAED,iHAAiH;AACjH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpD"}
|
package/dist/hash.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { bytesToHex, utf8ToBytes } from "@noble/hashes/utils.js";
|
|
1
|
+
import { blake3Hex } from "./blake3.js";
|
|
3
2
|
/**
|
|
4
3
|
* A lockwire fingerprint: `b3:` + 32 lowercase hex chars — the first 16 bytes
|
|
5
4
|
* (128 bits) of a BLAKE3 digest. 128 bits is far past the collision risk that
|
|
@@ -7,8 +6,7 @@ import { bytesToHex, utf8ToBytes } from "@noble/hashes/utils.js";
|
|
|
7
6
|
* an adversary who controls the input), and it keeps `lockwire.lock` compact.
|
|
8
7
|
*/
|
|
9
8
|
export function fingerprint(input) {
|
|
10
|
-
|
|
11
|
-
return `b3:${bytesToHex(full.subarray(0, 16))}`;
|
|
9
|
+
return `b3:${blake3Hex(Buffer.from(input, "utf8"), 16)}`;
|
|
12
10
|
}
|
|
13
11
|
/** Hash a sorted-unique string set as a single fingerprint (used for the `deps` tier and the ledger root). */
|
|
14
12
|
export function fingerprintSet(items) {
|
package/dist/hash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,8GAA8G;AAC9G,MAAM,UAAU,cAAc,CAAC,KAAwB;IACrD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,iHAAiH;AACjH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACvE,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAE,KAAiC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/mcp-protocol.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* demo servers that a stdio-only server never loads but every install downloads and every scanner
|
|
6
6
|
* flags. The tests drive this server with the official SDK client, so it stays compatible with it.
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
8
|
+
import { type Output, type Shape } from "./schema.js";
|
|
9
9
|
/** Protocol versions this server speaks, newest first. A client asking for another gets the newest. */
|
|
10
10
|
export declare const SUPPORTED_PROTOCOL_VERSIONS: readonly ["2025-11-25", "2025-06-18", "2025-03-26", "2024-11-05", "2024-10-07"];
|
|
11
11
|
type Id = string | number;
|
|
@@ -82,17 +82,17 @@ export declare class McpServer {
|
|
|
82
82
|
name?: string;
|
|
83
83
|
version?: string;
|
|
84
84
|
} | undefined;
|
|
85
|
-
registerTool<S extends
|
|
85
|
+
registerTool<S extends Shape>(name: string, def: {
|
|
86
86
|
title: string;
|
|
87
87
|
description: string;
|
|
88
88
|
inputSchema: S;
|
|
89
89
|
annotations: ToolAnnotations;
|
|
90
|
-
}, handler: (args:
|
|
91
|
-
registerPrompt<S extends
|
|
90
|
+
}, handler: (args: Output<S>) => Promise<ToolResult> | ToolResult): void;
|
|
91
|
+
registerPrompt<S extends Shape>(name: string, def: {
|
|
92
92
|
title: string;
|
|
93
93
|
description: string;
|
|
94
94
|
argsSchema: S;
|
|
95
|
-
}, handler: (args:
|
|
95
|
+
}, handler: (args: Output<S>) => Promise<PromptResult> | PromptResult): void;
|
|
96
96
|
connect(transport: Transport): Promise<void>;
|
|
97
97
|
close(): Promise<void>;
|
|
98
98
|
private receive;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-protocol.d.ts","sourceRoot":"","sources":["../src/mcp-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mcp-protocol.d.ts","sourceRoot":"","sources":["../src/mcp-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,KAAK,MAAM,EAA2B,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAE/E,uGAAuG;AACvG,eAAO,MAAM,2BAA2B,iFAM9B,CAAC;AAEX,KAAK,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1B,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC3D;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,eAAO,MAAM,SAAS;;;;;;CAMZ,CAAC;AAWX,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,YAAY;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,EAAE,CAAC;CACrF;AAmBD,qBAAa,SAAS;IAOlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,iGAAiG;IACjG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IARhC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,UAAU,CAAkD;gBAGjD,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IACxD,iGAAiG;IAChF,YAAY,CAAC,GAAE,MAAM,MAAM,GAAG,SAAS,aAAA;IAG1D,wEAAwE;IACxE,gBAAgB,IAAI;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAInE,YAAY,CAAC,CAAC,SAAS,KAAK,EAC1B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,CAAC,CAAC;QAAC,WAAW,EAAE,eAAe,CAAA;KAAE,EACzF,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,GAC7D,IAAI;IAUP,cAAc,CAAC,CAAC,SAAS,KAAK,EAC5B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,CAAC,CAAA;KAAE,EAC1D,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,GACjE,IAAI;IASD,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAId,OAAO;YAcP,MAAM;IAgEpB,wFAAwF;YAC1E,QAAQ;CAgBvB;AAED,0FAA0F;AAC1F,qBAAa,oBAAqB,YAAW,SAAS;IAOlD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPzB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,MAAM,CAAM;gBAGD,KAAK,GAAE,MAAM,CAAC,cAA8B,EAC5C,MAAM,GAAE,MAAM,CAAC,cAA+B;IAG3D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B,OAAO,CAAC,IAAI;IAkBZ,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
|
package/dist/mcp-protocol.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* demo servers that a stdio-only server never loads but every install downloads and every scanner
|
|
6
6
|
* flags. The tests drive this server with the official SDK client, so it stays compatible with it.
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
8
|
+
import { objectJson, parseObject } from "./schema.js";
|
|
9
9
|
/** Protocol versions this server speaks, newest first. A client asking for another gets the newest. */
|
|
10
10
|
export const SUPPORTED_PROTOCOL_VERSIONS = [
|
|
11
11
|
"2025-11-25",
|
|
@@ -28,12 +28,6 @@ class RpcError extends Error {
|
|
|
28
28
|
this.code = code;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
/** A schema's JSON Schema, as a tool listing shows it to the model. */
|
|
32
|
-
const jsonSchema = (schema) => z.toJSONSchema(schema, { target: "draft-7", io: "input" });
|
|
33
|
-
/** zod's issues as one line: `Invalid input: expected string, received number at path`. */
|
|
34
|
-
const issuesText = (error) => error.issues
|
|
35
|
-
.map((i) => `${i.message}${i.path.length ? ` at ${i.path.join(".")}` : ""}`)
|
|
36
|
-
.join("; ");
|
|
37
31
|
export class McpServer {
|
|
38
32
|
info;
|
|
39
33
|
instructions;
|
|
@@ -55,7 +49,7 @@ export class McpServer {
|
|
|
55
49
|
this.tools.set(name, {
|
|
56
50
|
title: def.title,
|
|
57
51
|
description: def.description,
|
|
58
|
-
input:
|
|
52
|
+
input: def.inputSchema,
|
|
59
53
|
annotations: def.annotations,
|
|
60
54
|
handler,
|
|
61
55
|
});
|
|
@@ -64,7 +58,7 @@ export class McpServer {
|
|
|
64
58
|
this.prompts.set(name, {
|
|
65
59
|
title: def.title,
|
|
66
60
|
description: def.description,
|
|
67
|
-
args:
|
|
61
|
+
args: def.argsSchema,
|
|
68
62
|
handler,
|
|
69
63
|
});
|
|
70
64
|
}
|
|
@@ -124,7 +118,7 @@ export class McpServer {
|
|
|
124
118
|
name,
|
|
125
119
|
title: t.title,
|
|
126
120
|
description: t.description,
|
|
127
|
-
inputSchema:
|
|
121
|
+
inputSchema: objectJson(t.input),
|
|
128
122
|
annotations: t.annotations,
|
|
129
123
|
})),
|
|
130
124
|
};
|
|
@@ -136,9 +130,9 @@ export class McpServer {
|
|
|
136
130
|
name,
|
|
137
131
|
title: p.title,
|
|
138
132
|
description: p.description,
|
|
139
|
-
arguments: Object.entries(p.args
|
|
133
|
+
arguments: Object.entries(p.args).map(([arg, field]) => ({
|
|
140
134
|
name: arg,
|
|
141
|
-
required:
|
|
135
|
+
required: field.required,
|
|
142
136
|
})),
|
|
143
137
|
})),
|
|
144
138
|
};
|
|
@@ -147,10 +141,10 @@ export class McpServer {
|
|
|
147
141
|
const prompt = this.prompts.get(name);
|
|
148
142
|
if (!prompt)
|
|
149
143
|
throw new RpcError(ErrorCode.InvalidParams, `Prompt ${name} not found`);
|
|
150
|
-
const parsed = prompt.args
|
|
151
|
-
if (
|
|
152
|
-
throw new RpcError(ErrorCode.InvalidParams, `Invalid arguments for prompt ${name}: ${
|
|
153
|
-
return prompt.handler(parsed.
|
|
144
|
+
const parsed = parseObject(prompt.args, params.arguments ?? {});
|
|
145
|
+
if ("problem" in parsed)
|
|
146
|
+
throw new RpcError(ErrorCode.InvalidParams, `Invalid arguments for prompt ${name}: ${parsed.problem}`);
|
|
147
|
+
return prompt.handler(parsed.value);
|
|
154
148
|
}
|
|
155
149
|
default:
|
|
156
150
|
throw new RpcError(ErrorCode.MethodNotFound, `Method not found: ${method}`);
|
|
@@ -166,11 +160,11 @@ export class McpServer {
|
|
|
166
160
|
const tool = this.tools.get(name);
|
|
167
161
|
if (!tool)
|
|
168
162
|
return failed(`Tool ${name} not found`);
|
|
169
|
-
const parsed = tool.input
|
|
170
|
-
if (
|
|
171
|
-
return failed(`Invalid arguments for tool ${name}: ${
|
|
163
|
+
const parsed = parseObject(tool.input, params.arguments ?? {});
|
|
164
|
+
if ("problem" in parsed)
|
|
165
|
+
return failed(`Invalid arguments for tool ${name}: ${parsed.problem}`);
|
|
172
166
|
try {
|
|
173
|
-
return await tool.handler(parsed.
|
|
167
|
+
return await tool.handler(parsed.value);
|
|
174
168
|
}
|
|
175
169
|
catch (err) {
|
|
176
170
|
return failed(err instanceof Error ? err.message : String(err));
|
package/dist/mcp-protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-protocol.js","sourceRoot":"","sources":["../src/mcp-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"mcp-protocol.js","sourceRoot":"","sources":["../src/mcp-protocol.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAwB,MAAM,mBAAmB,CAAC;AAsBpE,4KAA4K;AAC5K,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;CAAO,GACxD,SAAS,CAgWX;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIpE"}
|
package/dist/mcp-server.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { existsSync } from "node:fs";
|
|
2
|
-
import { z } from "zod";
|
|
3
2
|
import { ack, check, history, linkDoc, refs, repoint, status, unlinkedFor, waive, } from "./actions.js";
|
|
4
3
|
import { changedFiles } from "./changed.js";
|
|
5
4
|
import { newerWriterNotice } from "./compat.js";
|
|
@@ -8,6 +7,7 @@ import { withRepoLock } from "./lock.js";
|
|
|
8
7
|
import { lockfilePath, readLockfileSync } from "./lockfile.js";
|
|
9
8
|
import { McpServer, StdioServerTransport } from "./mcp-protocol.js";
|
|
10
9
|
import { toRepoPath } from "./repo.js";
|
|
10
|
+
import { s } from "./schema.js";
|
|
11
11
|
import { fixDocsPrompt, listTasks, resolveTask, taskContext } from "./tasks.js";
|
|
12
12
|
function text(payload) {
|
|
13
13
|
return {
|
|
@@ -52,7 +52,7 @@ export function createServer(repoRoot, opts = {}) {
|
|
|
52
52
|
server.registerTool("lockwire_claims_for", {
|
|
53
53
|
title: "Claims for code",
|
|
54
54
|
description: "What does the documentation assert about this file or symbol? Call before editing. Returns `anchors` (claims lockwire is checking) and `unlinked` (claims written in a doc about this code that nobody has linked yet, so nothing is checking them — treat them as real claims too).",
|
|
55
|
-
inputSchema: { path:
|
|
55
|
+
inputSchema: { path: s.string(), symbol: s.string().optional() },
|
|
56
56
|
// Pure read (the lockfile and the docs; the doc index is held in memory, never written to disk) --
|
|
57
57
|
// repeat calls are trivially idempotent.
|
|
58
58
|
annotations: {
|
|
@@ -74,7 +74,7 @@ export function createServer(repoRoot, opts = {}) {
|
|
|
74
74
|
server.registerTool("lockwire_refs", {
|
|
75
75
|
title: "Reverse lookup",
|
|
76
76
|
description: "Which documentation claims reference this file or symbol.",
|
|
77
|
-
inputSchema: { path:
|
|
77
|
+
inputSchema: { path: s.string(), symbol: s.string().optional() },
|
|
78
78
|
annotations: {
|
|
79
79
|
readOnlyHint: true,
|
|
80
80
|
destructiveHint: false,
|
|
@@ -86,7 +86,7 @@ export function createServer(repoRoot, opts = {}) {
|
|
|
86
86
|
server.registerTool("lockwire_status", {
|
|
87
87
|
title: "Anchor status",
|
|
88
88
|
description: "Current status of every anchor, optionally filtered by a glob scope.",
|
|
89
|
-
inputSchema: { scope:
|
|
89
|
+
inputSchema: { scope: s.string().optional() },
|
|
90
90
|
annotations: {
|
|
91
91
|
readOnlyHint: true,
|
|
92
92
|
destructiveHint: false,
|
|
@@ -97,7 +97,7 @@ export function createServer(repoRoot, opts = {}) {
|
|
|
97
97
|
server.registerTool("lockwire_verify", {
|
|
98
98
|
title: "Verify a doc",
|
|
99
99
|
description: "Check one document's anchors before committing it.",
|
|
100
|
-
inputSchema: { doc:
|
|
100
|
+
inputSchema: { doc: s.string() },
|
|
101
101
|
// Not read-only: check() writes the lockfile and appends ledger events on state
|
|
102
102
|
// transitions. It IS idempotent -- every transition is guarded by the anchor's current
|
|
103
103
|
// status (e.g. `if (anchor.status !== "drifted")`), so a repeat call with nothing else
|
|
@@ -125,7 +125,7 @@ export function createServer(repoRoot, opts = {}) {
|
|
|
125
125
|
server.registerTool("lockwire_history", {
|
|
126
126
|
title: "Anchor history",
|
|
127
127
|
description: "Ledger timeline for an anchor id, a path#symbol, or a doc path — how many times has this claim broken, and how was it resolved.",
|
|
128
|
-
inputSchema: { ref:
|
|
128
|
+
inputSchema: { ref: s.string() },
|
|
129
129
|
annotations: {
|
|
130
130
|
readOnlyHint: true,
|
|
131
131
|
destructiveHint: false,
|
|
@@ -136,7 +136,7 @@ export function createServer(repoRoot, opts = {}) {
|
|
|
136
136
|
server.registerTool("lockwire_link", {
|
|
137
137
|
title: "Create or refresh an anchor",
|
|
138
138
|
description: "Scan a doc for lockwire markers and stamp fresh fingerprints.",
|
|
139
|
-
inputSchema: { doc:
|
|
139
|
+
inputSchema: { doc: s.string(), reviewed: s.boolean().optional() },
|
|
140
140
|
// A second call with nothing changed in between stamps nothing and appends no ledger event.
|
|
141
141
|
annotations: {
|
|
142
142
|
readOnlyHint: false,
|
|
@@ -149,9 +149,9 @@ export function createServer(repoRoot, opts = {}) {
|
|
|
149
149
|
title: "Acknowledge drift",
|
|
150
150
|
description: "Record that drift was handled and re-stamp the anchor's fingerprints.",
|
|
151
151
|
inputSchema: {
|
|
152
|
-
anchor:
|
|
153
|
-
resolution:
|
|
154
|
-
note:
|
|
152
|
+
anchor: s.string(),
|
|
153
|
+
resolution: s.enum(["updated", "superseded", "false-positive"]),
|
|
154
|
+
note: s.string().optional(),
|
|
155
155
|
},
|
|
156
156
|
// ack() unconditionally appends an anchor.acknowledged event every call, same reasoning
|
|
157
157
|
// as lockwire_link -- each ack is a distinct logged action, so repeat calls are not a
|
|
@@ -166,7 +166,7 @@ export function createServer(repoRoot, opts = {}) {
|
|
|
166
166
|
server.registerTool("lockwire_waive", {
|
|
167
167
|
title: "Waive an anchor",
|
|
168
168
|
description: "Time-boxed, logged, expiring waiver. No permanent suppression.",
|
|
169
|
-
inputSchema: { anchor:
|
|
169
|
+
inputSchema: { anchor: s.string(), reason: s.string(), expires: s.string() },
|
|
170
170
|
// waive() unconditionally appends a waiver.granted event every call -- same reasoning as
|
|
171
171
|
// lockwire_link and lockwire_ack.
|
|
172
172
|
annotations: {
|
|
@@ -180,9 +180,9 @@ export function createServer(repoRoot, opts = {}) {
|
|
|
180
180
|
title: "Re-point moved claims",
|
|
181
181
|
description: "After moving code to another file: point every claim whose symbol moved there, unchanged, at its new path#symbol and rewrite its doc marker. `anchors` limits it to those ids; `to` (with one id) names the new home when lockwire found the code in several places or it changed on the way. A bound tier that differs at the new place stays drifted. `dryRun` reports what would change without writing.",
|
|
182
182
|
inputSchema: {
|
|
183
|
-
anchors:
|
|
184
|
-
to:
|
|
185
|
-
dryRun:
|
|
183
|
+
anchors: s.array(s.string()).optional(),
|
|
184
|
+
to: s.string().optional(),
|
|
185
|
+
dryRun: s.boolean().optional(),
|
|
186
186
|
},
|
|
187
187
|
// Re-pointing an anchor that already points at its new home skips it, so a repeat call with
|
|
188
188
|
// nothing moved in between writes nothing.
|
|
@@ -214,7 +214,7 @@ export function createServer(repoRoot, opts = {}) {
|
|
|
214
214
|
server.registerTool("lockwire_tasks", {
|
|
215
215
|
title: "Documentation tasks",
|
|
216
216
|
description: "Every documentation claim that needs attention, as a task list: claims whose code or value changed, numbers that no longer match their source, claims whose target is gone, and markers nobody has linked. Each task says what is wrong and what to do. Start here when asked to fix or update documentation. `paths` limits it to claims about (or in) those files; `changed` to files this branch touched.",
|
|
217
|
-
inputSchema: { paths:
|
|
217
|
+
inputSchema: { paths: s.array(s.string()).optional(), changed: s.boolean().optional() },
|
|
218
218
|
// A dry run of check: computes everything, writes nothing.
|
|
219
219
|
annotations: {
|
|
220
220
|
readOnlyHint: true,
|
|
@@ -234,7 +234,7 @@ export function createServer(repoRoot, opts = {}) {
|
|
|
234
234
|
server.registerTool("lockwire_task_context", {
|
|
235
235
|
title: "Context for a task",
|
|
236
236
|
description: "Everything needed to fix one task from lockwire_tasks: the whole claim sentence, the bound code (its declaration) or value as it was when the claim was stamped and as it is now, and the claim's history. `stamped.exact` says whether the stamped side is exactly what the claim was checked against.",
|
|
237
|
-
inputSchema: { id:
|
|
237
|
+
inputSchema: { id: s.string() },
|
|
238
238
|
annotations: {
|
|
239
239
|
readOnlyHint: true,
|
|
240
240
|
destructiveHint: false,
|
|
@@ -245,7 +245,7 @@ export function createServer(repoRoot, opts = {}) {
|
|
|
245
245
|
server.registerTool("lockwire_resolve", {
|
|
246
246
|
title: "Resolve a task",
|
|
247
247
|
description: "After you have edited the doc so the claim is true, re-stamp that one claim (nothing else in the doc). It is checked first: a sentence whose number still disagrees with its value is refused, as is a marker whose target still doesn't exist. Pass a short `note` saying what you checked or changed; it goes into the claim's history. Returns resolved / already-fresh / refused (with the reason) and the tasks still open on the same doc.",
|
|
248
|
-
inputSchema: { id:
|
|
248
|
+
inputSchema: { id: s.string(), note: s.string().optional() },
|
|
249
249
|
// Writes the lockfile and ledger. Resolving an already-fresh claim is a no-op, so it is idempotent.
|
|
250
250
|
annotations: {
|
|
251
251
|
readOnlyHint: false,
|
|
@@ -257,7 +257,7 @@ export function createServer(repoRoot, opts = {}) {
|
|
|
257
257
|
server.registerPrompt("fix-docs", {
|
|
258
258
|
title: "Fix documentation drift",
|
|
259
259
|
description: "Work through lockwire's task list: fix every documentation claim that no longer matches the code or data it describes, and check each fix.",
|
|
260
|
-
argsSchema: { scope:
|
|
260
|
+
argsSchema: { scope: s.string().optional() },
|
|
261
261
|
}, ({ scope }) => ({
|
|
262
262
|
messages: [
|
|
263
263
|
{
|
package/dist/mcp-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
package/dist/schema.d.ts
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The few argument types lockwire's MCP tools take (strings, booleans, a choice from a list, lists of
|
|
3
|
+
* strings, each optionally), with what the protocol needs of them: checking a value, and the JSON Schema
|
|
4
|
+
* a tool listing shows the model. Small enough to write out, so the server needs no schema library.
|
|
5
|
+
*/
|
|
6
|
+
export interface Schema<T> {
|
|
7
|
+
readonly json: Record<string, unknown>;
|
|
8
|
+
/** False when a tool call may leave the argument out. */
|
|
9
|
+
readonly required: boolean;
|
|
10
|
+
/** The value, or the problem with it. */
|
|
11
|
+
check(value: unknown): {
|
|
12
|
+
value: T;
|
|
13
|
+
} | {
|
|
14
|
+
problem: string;
|
|
15
|
+
};
|
|
16
|
+
optional(): Schema<T | undefined>;
|
|
17
|
+
}
|
|
18
|
+
export declare const s: {
|
|
19
|
+
string: () => Schema<string>;
|
|
20
|
+
boolean: () => Schema<boolean>;
|
|
21
|
+
enum: <const V extends readonly string[]>(values: V) => Schema<V[number]>;
|
|
22
|
+
array: <T>(item: Schema<T>) => Schema<T[]>;
|
|
23
|
+
};
|
|
24
|
+
export type Shape = Record<string, Schema<any>>;
|
|
25
|
+
type Optional<S extends Shape> = {
|
|
26
|
+
[K in keyof S]: undefined extends Output1<S[K]> ? K : never;
|
|
27
|
+
}[keyof S];
|
|
28
|
+
type Output1<X> = X extends Schema<infer T> ? T : never;
|
|
29
|
+
/** What a tool's handler receives: each argument's type, with the optional ones optional. */
|
|
30
|
+
export type Output<S extends Shape> = {
|
|
31
|
+
[K in Exclude<keyof S, Optional<S>>]: Output1<S[K]>;
|
|
32
|
+
} & {
|
|
33
|
+
[K in Optional<S>]?: Output1<S[K]>;
|
|
34
|
+
};
|
|
35
|
+
/** The JSON Schema for a tool's arguments. */
|
|
36
|
+
export declare function objectJson(shape: Shape): Record<string, unknown>;
|
|
37
|
+
/** Checks a tool call's arguments against its shape: the arguments, or every problem found. */
|
|
38
|
+
export declare function parseObject<S extends Shape>(shape: S, args: unknown): {
|
|
39
|
+
value: Output<S>;
|
|
40
|
+
} | {
|
|
41
|
+
problem: string;
|
|
42
|
+
};
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,yCAAyC;IACzC,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,QAAQ,IAAI,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CACnC;AA6BD,eAAO,MAAM,CAAC;;;iBAGC,CAAC,SAAS,SAAS,MAAM,EAAE,UAAU,CAAC;YAM3C,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAC;CAY3B,CAAC;AAGF,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAEhD,KAAK,QAAQ,CAAC,CAAC,SAAS,KAAK,IAAI;KAC9B,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CAC5D,CAAC,MAAM,CAAC,CAAC,CAAC;AACX,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAExD,6FAA6F;AAC7F,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,KAAK,IAAI;KAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG;KAC7F,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACnC,CAAC;AAEF,8CAA8C;AAC9C,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUhE;AAED,+FAA+F;AAC/F,wBAAgB,WAAW,CAAC,CAAC,SAAS,KAAK,EACzC,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,OAAO,GACZ;IAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAW5C"}
|
package/dist/schema.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The few argument types lockwire's MCP tools take (strings, booleans, a choice from a list, lists of
|
|
3
|
+
* strings, each optionally), with what the protocol needs of them: checking a value, and the JSON Schema
|
|
4
|
+
* a tool listing shows the model. Small enough to write out, so the server needs no schema library.
|
|
5
|
+
*/
|
|
6
|
+
const describe = (v) => (v === null ? "null" : Array.isArray(v) ? "array" : typeof v);
|
|
7
|
+
function make(json, check, required = true) {
|
|
8
|
+
return {
|
|
9
|
+
json,
|
|
10
|
+
required,
|
|
11
|
+
check: (value) => value === undefined
|
|
12
|
+
? required
|
|
13
|
+
? { problem: "Invalid input: expected a value, received undefined" }
|
|
14
|
+
: { value: undefined }
|
|
15
|
+
: check(value),
|
|
16
|
+
optional: () => make(json, check, false),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const typed = (type) => make({ type }, (v) => typeof v === type
|
|
20
|
+
? { value: v }
|
|
21
|
+
: { problem: `Invalid input: expected ${type}, received ${describe(v)}` });
|
|
22
|
+
export const s = {
|
|
23
|
+
string: () => typed("string"),
|
|
24
|
+
boolean: () => typed("boolean"),
|
|
25
|
+
enum: (values) => make({ type: "string", enum: [...values] }, (v) => typeof v === "string" && values.includes(v)
|
|
26
|
+
? { value: v }
|
|
27
|
+
: { problem: `Invalid option: expected one of ${values.map((x) => `"${x}"`).join("|")}` }),
|
|
28
|
+
array: (item) => make({ type: "array", items: item.json }, (v) => {
|
|
29
|
+
if (!Array.isArray(v))
|
|
30
|
+
return { problem: `Invalid input: expected array, received ${describe(v)}` };
|
|
31
|
+
const out = [];
|
|
32
|
+
for (const [i, element] of v.entries()) {
|
|
33
|
+
const r = item.check(element);
|
|
34
|
+
if ("problem" in r)
|
|
35
|
+
return { problem: `${r.problem} at ${i}` };
|
|
36
|
+
out.push(r.value);
|
|
37
|
+
}
|
|
38
|
+
return { value: out };
|
|
39
|
+
}),
|
|
40
|
+
};
|
|
41
|
+
/** The JSON Schema for a tool's arguments. */
|
|
42
|
+
export function objectJson(shape) {
|
|
43
|
+
const required = Object.entries(shape)
|
|
44
|
+
.filter(([, f]) => f.required)
|
|
45
|
+
.map(([name]) => name);
|
|
46
|
+
return {
|
|
47
|
+
$schema: "http://json-schema.org/draft-07/schema#",
|
|
48
|
+
type: "object",
|
|
49
|
+
properties: Object.fromEntries(Object.entries(shape).map(([name, f]) => [name, f.json])),
|
|
50
|
+
...(required.length > 0 ? { required } : {}),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/** Checks a tool call's arguments against its shape: the arguments, or every problem found. */
|
|
54
|
+
export function parseObject(shape, args) {
|
|
55
|
+
if (args === null || typeof args !== "object" || Array.isArray(args))
|
|
56
|
+
return { problem: `Invalid input: expected object, received ${describe(args)}` };
|
|
57
|
+
const out = {};
|
|
58
|
+
const problems = [];
|
|
59
|
+
for (const [name, field] of Object.entries(shape)) {
|
|
60
|
+
const r = field.check(args[name]);
|
|
61
|
+
if ("problem" in r)
|
|
62
|
+
problems.push(`${r.problem} at ${name}`);
|
|
63
|
+
else if (r.value !== undefined)
|
|
64
|
+
out[name] = r.value;
|
|
65
|
+
}
|
|
66
|
+
return problems.length > 0 ? { problem: problems.join("; ") } : { value: out };
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lockwire",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.34",
|
|
4
4
|
"description": "Bind documentation claims to code fingerprints. Catch stale CLAUDE.md, AGENTS.md and docs at write time inside Claude Code and Codex, with a tamper-evident history.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -58,13 +58,12 @@
|
|
|
58
58
|
"url": "https://github.com/Reality-Ventures/lockwire/issues"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"
|
|
62
|
-
"web-tree-sitter": "0.27.1",
|
|
63
|
-
"zod": "4.6.7"
|
|
61
|
+
"web-tree-sitter": "0.27.1"
|
|
64
62
|
},
|
|
65
63
|
"devDependencies": {
|
|
66
64
|
"@biomejs/biome": "2.5.14",
|
|
67
65
|
"@modelcontextprotocol/sdk": "1.32.1",
|
|
66
|
+
"@noble/hashes": "2.4.0",
|
|
68
67
|
"@types/node": "22.19.7",
|
|
69
68
|
"tree-sitter-javascript": "0.25.0",
|
|
70
69
|
"tree-sitter-python": "0.25.0",
|