lockwire 0.1.32 → 0.1.33
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 +11 -0
- package/dist/actions.d.ts +11 -1
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +65 -9
- package/dist/actions.js.map +1 -1
- package/dist/cli.js +27 -3
- package/dist/cli.js.map +1 -1
- package/dist/compat.d.ts +21 -0
- package/dist/compat.d.ts.map +1 -0
- package/dist/compat.js +59 -0
- package/dist/compat.js.map +1 -0
- package/dist/format.d.ts +1 -1
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +6 -0
- package/dist/format.js.map +1 -1
- package/dist/hook-claude.d.ts +6 -0
- package/dist/hook-claude.d.ts.map +1 -1
- package/dist/hook-claude.js +26 -0
- package/dist/hook-claude.js.map +1 -1
- package/dist/lockfile.d.ts +2 -0
- package/dist/lockfile.d.ts.map +1 -1
- package/dist/lockfile.js +13 -2
- package/dist/lockfile.js.map +1 -1
- package/dist/mcp-protocol.d.ts +118 -0
- package/dist/mcp-protocol.d.ts.map +1 -0
- package/dist/mcp-protocol.js +237 -0
- package/dist/mcp-protocol.js.map +1 -0
- package/dist/mcp-server.d.ts +1 -1
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +10 -5
- package/dist/mcp-server.js.map +1 -1
- package/dist/moves.d.ts +12 -4
- package/dist/moves.d.ts.map +1 -1
- package/dist/moves.js +80 -21
- package/dist/moves.js.map +1 -1
- package/dist/tasks.d.ts.map +1 -1
- package/dist/tasks.js +5 -0
- package/dist/tasks.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Model Context Protocol, as much of it as lockwire's server uses: JSON-RPC 2.0 over stdio, the
|
|
3
|
+
* `initialize` handshake, `ping`, and tools and prompts (list, call, get). lockwire implements this
|
|
4
|
+
* itself rather than depend on the MCP SDK, whose package also carries an HTTP stack, OAuth code and
|
|
5
|
+
* demo servers that a stdio-only server never loads but every install downloads and every scanner
|
|
6
|
+
* flags. The tests drive this server with the official SDK client, so it stays compatible with it.
|
|
7
|
+
*/
|
|
8
|
+
import { z } from "zod";
|
|
9
|
+
/** Protocol versions this server speaks, newest first. A client asking for another gets the newest. */
|
|
10
|
+
export const SUPPORTED_PROTOCOL_VERSIONS = [
|
|
11
|
+
"2025-11-25",
|
|
12
|
+
"2025-06-18",
|
|
13
|
+
"2025-03-26",
|
|
14
|
+
"2024-11-05",
|
|
15
|
+
"2024-10-07",
|
|
16
|
+
];
|
|
17
|
+
export const ErrorCode = {
|
|
18
|
+
ParseError: -32700,
|
|
19
|
+
InvalidRequest: -32600,
|
|
20
|
+
MethodNotFound: -32601,
|
|
21
|
+
InvalidParams: -32602,
|
|
22
|
+
InternalError: -32603,
|
|
23
|
+
};
|
|
24
|
+
class RpcError extends Error {
|
|
25
|
+
code;
|
|
26
|
+
constructor(code, message) {
|
|
27
|
+
super(message);
|
|
28
|
+
this.code = code;
|
|
29
|
+
}
|
|
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
|
+
export class McpServer {
|
|
38
|
+
info;
|
|
39
|
+
instructions;
|
|
40
|
+
tools = new Map();
|
|
41
|
+
prompts = new Map();
|
|
42
|
+
transport;
|
|
43
|
+
clientInfo;
|
|
44
|
+
constructor(info,
|
|
45
|
+
/** Told to the client at `initialize`, for its model to read; computed then, so it's current. */
|
|
46
|
+
instructions) {
|
|
47
|
+
this.info = info;
|
|
48
|
+
this.instructions = instructions;
|
|
49
|
+
}
|
|
50
|
+
/** The client's own name and version, from its `initialize` request. */
|
|
51
|
+
getClientVersion() {
|
|
52
|
+
return this.clientInfo;
|
|
53
|
+
}
|
|
54
|
+
registerTool(name, def, handler) {
|
|
55
|
+
this.tools.set(name, {
|
|
56
|
+
title: def.title,
|
|
57
|
+
description: def.description,
|
|
58
|
+
input: z.object(def.inputSchema),
|
|
59
|
+
annotations: def.annotations,
|
|
60
|
+
handler,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
registerPrompt(name, def, handler) {
|
|
64
|
+
this.prompts.set(name, {
|
|
65
|
+
title: def.title,
|
|
66
|
+
description: def.description,
|
|
67
|
+
args: z.object(def.argsSchema),
|
|
68
|
+
handler,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
async connect(transport) {
|
|
72
|
+
this.transport = transport;
|
|
73
|
+
transport.onmessage = (message) => {
|
|
74
|
+
void this.receive(message);
|
|
75
|
+
};
|
|
76
|
+
await transport.start();
|
|
77
|
+
}
|
|
78
|
+
async close() {
|
|
79
|
+
await this.transport?.close();
|
|
80
|
+
}
|
|
81
|
+
async receive(message) {
|
|
82
|
+
// A response to a request (this server sends none) or a notification needs no answer.
|
|
83
|
+
if (message.method === undefined || message.id === undefined || message.id === null)
|
|
84
|
+
return;
|
|
85
|
+
const id = message.id;
|
|
86
|
+
try {
|
|
87
|
+
const result = await this.handle(message.method, message.params ?? {});
|
|
88
|
+
await this.transport?.send({ jsonrpc: "2.0", id, result });
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
const code = err instanceof RpcError ? err.code : ErrorCode.InternalError;
|
|
92
|
+
const text = err instanceof Error ? err.message : String(err);
|
|
93
|
+
await this.transport?.send({ jsonrpc: "2.0", id, error: { code, message: text } });
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
async handle(method, params) {
|
|
97
|
+
switch (method) {
|
|
98
|
+
case "initialize": {
|
|
99
|
+
const asked = params.protocolVersion;
|
|
100
|
+
const info = params.clientInfo;
|
|
101
|
+
if (info && typeof info === "object")
|
|
102
|
+
this.clientInfo = info;
|
|
103
|
+
let instructions;
|
|
104
|
+
try {
|
|
105
|
+
instructions = this.instructions?.();
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
// instructions are a courtesy: never fail the handshake over them
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
...(instructions ? { instructions } : {}),
|
|
112
|
+
protocolVersion: SUPPORTED_PROTOCOL_VERSIONS.find((v) => v === asked)
|
|
113
|
+
? asked
|
|
114
|
+
: SUPPORTED_PROTOCOL_VERSIONS[0],
|
|
115
|
+
capabilities: { tools: { listChanged: false }, prompts: { listChanged: false } },
|
|
116
|
+
serverInfo: this.info,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
case "ping":
|
|
120
|
+
return {};
|
|
121
|
+
case "tools/list":
|
|
122
|
+
return {
|
|
123
|
+
tools: [...this.tools].map(([name, t]) => ({
|
|
124
|
+
name,
|
|
125
|
+
title: t.title,
|
|
126
|
+
description: t.description,
|
|
127
|
+
inputSchema: jsonSchema(t.input),
|
|
128
|
+
annotations: t.annotations,
|
|
129
|
+
})),
|
|
130
|
+
};
|
|
131
|
+
case "tools/call":
|
|
132
|
+
return this.callTool(params);
|
|
133
|
+
case "prompts/list":
|
|
134
|
+
return {
|
|
135
|
+
prompts: [...this.prompts].map(([name, p]) => ({
|
|
136
|
+
name,
|
|
137
|
+
title: p.title,
|
|
138
|
+
description: p.description,
|
|
139
|
+
arguments: Object.entries(p.args.shape).map(([arg, schema]) => ({
|
|
140
|
+
name: arg,
|
|
141
|
+
required: !schema.safeParse(undefined).success,
|
|
142
|
+
})),
|
|
143
|
+
})),
|
|
144
|
+
};
|
|
145
|
+
case "prompts/get": {
|
|
146
|
+
const name = String(params.name);
|
|
147
|
+
const prompt = this.prompts.get(name);
|
|
148
|
+
if (!prompt)
|
|
149
|
+
throw new RpcError(ErrorCode.InvalidParams, `Prompt ${name} not found`);
|
|
150
|
+
const parsed = prompt.args.safeParse(params.arguments ?? {});
|
|
151
|
+
if (!parsed.success)
|
|
152
|
+
throw new RpcError(ErrorCode.InvalidParams, `Invalid arguments for prompt ${name}: ${issuesText(parsed.error)}`);
|
|
153
|
+
return prompt.handler(parsed.data);
|
|
154
|
+
}
|
|
155
|
+
default:
|
|
156
|
+
throw new RpcError(ErrorCode.MethodNotFound, `Method not found: ${method}`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/** A tool's failures are results the model can read and act on, not protocol errors. */
|
|
160
|
+
async callTool(params) {
|
|
161
|
+
const failed = (text) => ({
|
|
162
|
+
content: [{ type: "text", text }],
|
|
163
|
+
isError: true,
|
|
164
|
+
});
|
|
165
|
+
const name = String(params.name);
|
|
166
|
+
const tool = this.tools.get(name);
|
|
167
|
+
if (!tool)
|
|
168
|
+
return failed(`Tool ${name} not found`);
|
|
169
|
+
const parsed = tool.input.safeParse(params.arguments ?? {});
|
|
170
|
+
if (!parsed.success)
|
|
171
|
+
return failed(`Invalid arguments for tool ${name}: ${issuesText(parsed.error)}`);
|
|
172
|
+
try {
|
|
173
|
+
return await tool.handler(parsed.data);
|
|
174
|
+
}
|
|
175
|
+
catch (err) {
|
|
176
|
+
return failed(err instanceof Error ? err.message : String(err));
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/** Newline-delimited JSON-RPC on stdin and stdout, as MCP's stdio transport specifies. */
|
|
181
|
+
export class StdioServerTransport {
|
|
182
|
+
input;
|
|
183
|
+
output;
|
|
184
|
+
onmessage;
|
|
185
|
+
onclose;
|
|
186
|
+
onerror;
|
|
187
|
+
buffer = "";
|
|
188
|
+
constructor(input = process.stdin, output = process.stdout) {
|
|
189
|
+
this.input = input;
|
|
190
|
+
this.output = output;
|
|
191
|
+
}
|
|
192
|
+
async start() {
|
|
193
|
+
this.input.setEncoding("utf8");
|
|
194
|
+
this.input.on("data", (chunk) => {
|
|
195
|
+
this.buffer += chunk;
|
|
196
|
+
for (let nl = this.buffer.indexOf("\n"); nl >= 0; nl = this.buffer.indexOf("\n")) {
|
|
197
|
+
const line = this.buffer.slice(0, nl).replace(/\r$/, "");
|
|
198
|
+
this.buffer = this.buffer.slice(nl + 1);
|
|
199
|
+
if (line.trim())
|
|
200
|
+
this.line(line);
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
this.input.on("end", () => this.onclose?.());
|
|
204
|
+
this.input.on("error", (err) => this.onerror?.(err));
|
|
205
|
+
}
|
|
206
|
+
line(line) {
|
|
207
|
+
let message;
|
|
208
|
+
try {
|
|
209
|
+
message = JSON.parse(line);
|
|
210
|
+
}
|
|
211
|
+
catch {
|
|
212
|
+
void this.send({
|
|
213
|
+
jsonrpc: "2.0",
|
|
214
|
+
id: null,
|
|
215
|
+
error: { code: ErrorCode.ParseError, message: "Parse error" },
|
|
216
|
+
});
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
// Batches went out of the protocol in 2025-06-18; an older client's batch is still answered.
|
|
220
|
+
for (const m of Array.isArray(message) ? message : [message])
|
|
221
|
+
if (m && typeof m === "object" && m.jsonrpc === "2.0")
|
|
222
|
+
this.onmessage?.(m);
|
|
223
|
+
}
|
|
224
|
+
send(message) {
|
|
225
|
+
return new Promise((resolve) => {
|
|
226
|
+
if (this.output.write(`${JSON.stringify(message)}\n`))
|
|
227
|
+
resolve();
|
|
228
|
+
else
|
|
229
|
+
this.output.once("drain", () => resolve());
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
async close() {
|
|
233
|
+
this.input.removeAllListeners("data");
|
|
234
|
+
this.onclose?.();
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
//# sourceMappingURL=mcp-protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
1
|
import type { IndexStats } from "./docindex.js";
|
|
2
|
+
import { McpServer } from "./mcp-protocol.js";
|
|
3
3
|
/** Builds the configured server without connecting a transport -- split out from startMcpServer so tests can drive it over an in-memory transport instead of real stdio. */
|
|
4
4
|
export declare function createServer(repoRoot: string, opts?: {
|
|
5
5
|
onIndexStats?: (stats: IndexStats) => void;
|
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":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAwB,MAAM,mBAAmB,CAAC;AAqBpE,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,12 +1,12 @@
|
|
|
1
1
|
import { existsSync } from "node:fs";
|
|
2
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
2
|
import { z } from "zod";
|
|
5
3
|
import { ack, check, history, linkDoc, refs, repoint, status, unlinkedFor, waive, } from "./actions.js";
|
|
6
4
|
import { changedFiles } from "./changed.js";
|
|
5
|
+
import { newerWriterNotice } from "./compat.js";
|
|
7
6
|
import { readConfig } from "./config.js";
|
|
8
7
|
import { withRepoLock } from "./lock.js";
|
|
9
|
-
import { lockfilePath } from "./lockfile.js";
|
|
8
|
+
import { lockfilePath, readLockfileSync } from "./lockfile.js";
|
|
9
|
+
import { McpServer, StdioServerTransport } from "./mcp-protocol.js";
|
|
10
10
|
import { toRepoPath } from "./repo.js";
|
|
11
11
|
import { fixDocsPrompt, listTasks, resolveTask, taskContext } from "./tasks.js";
|
|
12
12
|
function text(payload) {
|
|
@@ -27,13 +27,18 @@ function missingLockNote(repoRoot) {
|
|
|
27
27
|
}
|
|
28
28
|
/** Builds the configured server without connecting a transport -- split out from startMcpServer so tests can drive it over an in-memory transport instead of real stdio. */
|
|
29
29
|
export function createServer(repoRoot, opts = {}) {
|
|
30
|
-
|
|
30
|
+
// An older lockwire than the one that stamped some claims says so up front, so the model can
|
|
31
|
+
// suggest updating instead of trusting results for claims it can't check.
|
|
32
|
+
const server = new McpServer({ name: "lockwire", version: "0.1.0" }, () => {
|
|
33
|
+
const lock = readLockfileSync(repoRoot);
|
|
34
|
+
return lock ? (newerWriterNotice(lock, "agent") ?? undefined) : undefined;
|
|
35
|
+
});
|
|
31
36
|
// The server outlives many calls, so it keeps the doc index in memory: the first `claims_for`
|
|
32
37
|
// builds (or loads) it, later ones only re-validate it. Nothing is written to disk.
|
|
33
38
|
const indexSession = {};
|
|
34
39
|
/** Who is acting: the MCP client's own name (claude-code, codex, cursor…) when it gave one. */
|
|
35
40
|
const agentActor = () => {
|
|
36
|
-
const client = server.
|
|
41
|
+
const client = server.getClientVersion();
|
|
37
42
|
return {
|
|
38
43
|
type: "ai",
|
|
39
44
|
tool: client?.name
|
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/moves.d.ts
CHANGED
|
@@ -5,6 +5,9 @@ export interface MoveHint {
|
|
|
5
5
|
/** Every place it was found (more than one means lockwire can't tell which is the claim's). */
|
|
6
6
|
candidates: AnchorTarget[];
|
|
7
7
|
}
|
|
8
|
+
export declare const isTrivialBody: (bodyFingerprint: string) => boolean;
|
|
9
|
+
/** The `deps` of a symbol that calls nothing: likewise no evidence. */
|
|
10
|
+
export declare const NO_DEPS: string;
|
|
8
11
|
/**
|
|
9
12
|
* A signature's fingerprints with the `export` modifier as written, removed and added: moving a
|
|
10
13
|
* private helper into a module of its own usually means exporting it, and that is part of the move,
|
|
@@ -13,9 +16,10 @@ export interface MoveHint {
|
|
|
13
16
|
export declare function sigFingerprints(sig: string): Set<string>;
|
|
14
17
|
export type SymbolsOf = (path: string, content: string, version: number) => Promise<FileSymbols | null>;
|
|
15
18
|
/**
|
|
16
|
-
* The repository's source files for one run: read once into an index of the
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
+
* The repository's source files for one run: read once into an index of the names each one declares
|
|
20
|
+
* (not their text, which in a big repository is more than is worth holding), and parsed on demand,
|
|
21
|
+
* only the files that declare the name being looked for. A name every file uses (`get`) is declared
|
|
22
|
+
* in far fewer.
|
|
19
23
|
*/
|
|
20
24
|
export declare class SourceIndex {
|
|
21
25
|
private readonly repoRoot;
|
|
@@ -32,10 +36,14 @@ export declare class SourceIndex {
|
|
|
32
36
|
private load;
|
|
33
37
|
private read;
|
|
34
38
|
private symbolsIn;
|
|
39
|
+
/** Whether `s`'s file already held this code, under the same name, at `commit`. */
|
|
40
|
+
private existedAt;
|
|
35
41
|
/**
|
|
36
42
|
* Where `anchor`'s symbol, as stamped, lives now outside `anchor.target.path`, or null when nowhere
|
|
37
43
|
* (or when the search ran out of time before it could be sure).
|
|
38
44
|
*/
|
|
39
|
-
findMove(anchor: Anchor, version: number
|
|
45
|
+
findMove(anchor: Anchor, version: number,
|
|
46
|
+
/** `path#symbol`s other claims are bound to: that code is theirs, not where this claim's went. */
|
|
47
|
+
taken?: ReadonlySet<string>): Promise<MoveHint | null>;
|
|
40
48
|
}
|
|
41
49
|
//# sourceMappingURL=moves.d.ts.map
|
package/dist/moves.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moves.d.ts","sourceRoot":"","sources":["../src/moves.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"moves.d.ts","sourceRoot":"","sources":["../src/moves.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAgB,cAAc,EAAE,MAAM,YAAY,CAAC;AAGlG,MAAM,WAAW,QAAQ;IACvB,8EAA8E;IAC9E,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,+FAA+F;IAC/F,UAAU,EAAE,YAAY,EAAE,CAAC;CAC5B;AAOD,eAAO,MAAM,aAAa,GAAI,iBAAiB,MAAM,YACG,CAAC;AACzD,uEAAuE;AACvE,eAAO,MAAM,OAAO,QAAqB,CAAC;AAE1C;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAmBxD;AASD,MAAM,MAAM,SAAS,GAAG,CACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;AA2BjC;;;;;GAKG;AACH,qBAAa,WAAW;IAMpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT3B,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;gBAG1C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,SAAS;IACrC,2CAA2C;IAC1B,QAAQ,GAAE,MAAiC;YAGhD,IAAI;YAyBJ,IAAI;YAUJ,SAAS;IAuBvB,mFAAmF;YACrE,SAAS;IAoBvB;;;OAGG;IACG,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM;IACf,kGAAkG;IAClG,KAAK,GAAE,WAAW,CAAC,MAAM,CAAa,GACrC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAgD5B"}
|
package/dist/moves.js
CHANGED
|
@@ -6,15 +6,23 @@
|
|
|
6
6
|
* "The same code" means the symbol's normalized body hashes as stamped, so comments, formatting and
|
|
7
7
|
* local names don't matter, but any change to what it does does. A symbol with no body to compare (an
|
|
8
8
|
* interface, a type alias) must match on its signature instead. The search reads every source file once
|
|
9
|
-
* per run, parses only the files that
|
|
9
|
+
* per run, parses only the files that declare the symbol (or its class), and gives up at a deadline rather
|
|
10
10
|
* than hold a hook up: an unfinished search names no new home, since the one it missed could be another.
|
|
11
11
|
*/
|
|
12
12
|
import { readFile } from "node:fs/promises";
|
|
13
|
+
import { fileAtCommit } from "./changed.js";
|
|
13
14
|
import { langForPath } from "./grammar.js";
|
|
14
|
-
import { fingerprint } from "./hash.js";
|
|
15
|
+
import { fingerprint, fingerprintSet } from "./hash.js";
|
|
15
16
|
import { resolveInsideRepo, walkFilesWithin } from "./repo.js";
|
|
16
17
|
import { dataFormatOf } from "./values.js";
|
|
17
|
-
|
|
18
|
+
/**
|
|
19
|
+
* `body` fingerprints that say nothing about a symbol: none at all (a type, an overload signature) or an
|
|
20
|
+
* empty block (`{}`). Two functions with the same parameters "match" on these without being related.
|
|
21
|
+
*/
|
|
22
|
+
const NO_BODY = new Set([fingerprint(""), fingerprint("{ }")]);
|
|
23
|
+
export const isTrivialBody = (bodyFingerprint) => bodyFingerprint === "" || NO_BODY.has(bodyFingerprint);
|
|
24
|
+
/** The `deps` of a symbol that calls nothing: likewise no evidence. */
|
|
25
|
+
export const NO_DEPS = fingerprintSet([]);
|
|
18
26
|
/**
|
|
19
27
|
* A signature's fingerprints with the `export` modifier as written, removed and added: moving a
|
|
20
28
|
* private helper into a module of its own usually means exporting it, and that is part of the move,
|
|
@@ -40,11 +48,35 @@ export function sigFingerprints(sig) {
|
|
|
40
48
|
out.add(fingerprint(rewrite(true)));
|
|
41
49
|
return out;
|
|
42
50
|
}
|
|
43
|
-
|
|
51
|
+
/** Files over this size (minified bundles, generated code) are neither indexed nor parsed. */
|
|
52
|
+
const MAX_FILE_CHARS = 2_000_000;
|
|
53
|
+
const PY_DECL = /\b(?:def|class)\s+([A-Za-z_]\w*)/g;
|
|
54
|
+
/**
|
|
55
|
+
* The ways a TS/JS symbol is declared, for finding the files that might define one: a declaration
|
|
56
|
+
* keyword, a method or field at the start of a line (modifiers allowed), and `x.name = …` for CommonJS
|
|
57
|
+
* exports and prototype methods. It only narrows what is parsed, so it errs towards matching too much.
|
|
58
|
+
*/
|
|
59
|
+
const JS_DECL = [
|
|
60
|
+
/\b(?:function\*?|class|interface|type|enum|namespace|const|let|var)\s+([A-Za-z_$][\w$]*)/g,
|
|
61
|
+
/^[ \t]*(?:(?:public|private|protected|static|async|readonly|abstract|override|declare|get|set)\s+)*\*?\s*([A-Za-z_$][\w$]*)\s*[(<=:?!]/gm,
|
|
62
|
+
/\.([A-Za-z_$][\w$]*)\s*=[^=]/g,
|
|
63
|
+
];
|
|
64
|
+
/** The names a source file declares (see {@link JS_DECL}), for the index. */
|
|
65
|
+
function declaredNames(path, content) {
|
|
66
|
+
const names = new Set();
|
|
67
|
+
for (const re of langForPath(path) === "python" ? [PY_DECL] : JS_DECL) {
|
|
68
|
+
re.lastIndex = 0;
|
|
69
|
+
for (let m = re.exec(content); m; m = re.exec(content))
|
|
70
|
+
if (m[1])
|
|
71
|
+
names.add(m[1]);
|
|
72
|
+
}
|
|
73
|
+
return names;
|
|
74
|
+
}
|
|
44
75
|
/**
|
|
45
|
-
* The repository's source files for one run: read once into an index of the
|
|
46
|
-
*
|
|
47
|
-
*
|
|
76
|
+
* The repository's source files for one run: read once into an index of the names each one declares
|
|
77
|
+
* (not their text, which in a big repository is more than is worth holding), and parsed on demand,
|
|
78
|
+
* only the files that declare the name being looked for. A name every file uses (`get`) is declared
|
|
79
|
+
* in far fewer.
|
|
48
80
|
*/
|
|
49
81
|
export class SourceIndex {
|
|
50
82
|
repoRoot;
|
|
@@ -78,9 +110,9 @@ export class SourceIndex {
|
|
|
78
110
|
break;
|
|
79
111
|
}
|
|
80
112
|
const content = await this.read(rel);
|
|
81
|
-
if (content === null)
|
|
113
|
+
if (content === null || content.length > MAX_FILE_CHARS)
|
|
82
114
|
continue;
|
|
83
|
-
for (const id of
|
|
115
|
+
for (const id of declaredNames(rel, content)) {
|
|
84
116
|
const list = byName.get(id);
|
|
85
117
|
if (list)
|
|
86
118
|
list.push(rel);
|
|
@@ -121,26 +153,47 @@ export class SourceIndex {
|
|
|
121
153
|
list.push({
|
|
122
154
|
path,
|
|
123
155
|
symbol,
|
|
124
|
-
name: s.name,
|
|
125
156
|
body: fingerprint(s.bodyNormalized),
|
|
126
157
|
sigs: sigFingerprints(s.sigTokens),
|
|
127
158
|
});
|
|
128
159
|
this.parsed.set(key, list);
|
|
129
160
|
return list;
|
|
130
161
|
}
|
|
162
|
+
/** Whether `s`'s file already held this code, under the same name, at `commit`. */
|
|
163
|
+
async existedAt(commit, s, stamped, trivialBody, version) {
|
|
164
|
+
const text = fileAtCommit(this.repoRoot, commit, s.path);
|
|
165
|
+
if (text === null)
|
|
166
|
+
return false;
|
|
167
|
+
try {
|
|
168
|
+
const before = (await this.symbolsOf(s.path, text, version))?.bySymbolPath.get(s.symbol);
|
|
169
|
+
if (!before)
|
|
170
|
+
return false;
|
|
171
|
+
return trivialBody
|
|
172
|
+
? sigFingerprints(before.sigTokens).has(stamped.sig)
|
|
173
|
+
: fingerprint(before.bodyNormalized) === stamped.body;
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
return false;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
131
179
|
/**
|
|
132
180
|
* Where `anchor`'s symbol, as stamped, lives now outside `anchor.target.path`, or null when nowhere
|
|
133
181
|
* (or when the search ran out of time before it could be sure).
|
|
134
182
|
*/
|
|
135
|
-
async findMove(anchor, version
|
|
183
|
+
async findMove(anchor, version,
|
|
184
|
+
/** `path#symbol`s other claims are bound to: that code is theirs, not where this claim's went. */
|
|
185
|
+
taken = new Set()) {
|
|
136
186
|
const { path, symbol } = anchor.target;
|
|
137
187
|
if (!symbol || dataFormatOf(path) || !langForPath(path))
|
|
138
188
|
return null;
|
|
139
|
-
|
|
189
|
+
// A method is found through its class, under the same dotted path (`Client.get` in another file):
|
|
190
|
+
// a class that moved takes its methods along, while a method of the same name and body in some
|
|
191
|
+
// other class (`__init__` in hundreds of them) isn't where this one went.
|
|
192
|
+
const head = symbol.slice(0, symbol.indexOf(".") < 0 ? undefined : symbol.indexOf("."));
|
|
140
193
|
const stamped = anchor.fingerprints;
|
|
141
|
-
const trivialBody = stamped.body
|
|
194
|
+
const trivialBody = isTrivialBody(stamped.body);
|
|
142
195
|
const python = langForPath(path) === "python";
|
|
143
|
-
const files = (await this.load()).get(
|
|
196
|
+
const files = (await this.load()).get(head) ?? [];
|
|
144
197
|
// An unfinished search can't tell "in one place" from "in one of the places it got to".
|
|
145
198
|
if (!this.complete)
|
|
146
199
|
return null;
|
|
@@ -154,23 +207,29 @@ export class SourceIndex {
|
|
|
154
207
|
if (Date.now() > this.deadline)
|
|
155
208
|
return null;
|
|
156
209
|
for (const s of await this.symbolsIn(file, version)) {
|
|
157
|
-
if (s.
|
|
210
|
+
if (s.symbol !== symbol || taken.has(`${s.path}#${s.symbol}`))
|
|
158
211
|
continue;
|
|
159
212
|
const sigMatches = s.sigs.has(stamped.sig);
|
|
160
213
|
if (trivialBody ? sigMatches : s.body === stamped.body)
|
|
161
214
|
found.push(s);
|
|
162
215
|
}
|
|
163
216
|
}
|
|
217
|
+
// Code that was already in that file when the claim was stamped is a twin that was always there, not
|
|
218
|
+
// where this claim's code went (two copies of a helper, one of them deleted).
|
|
219
|
+
const stampedAt = anchor.linked.commit;
|
|
220
|
+
if (stampedAt && found.length > 0) {
|
|
221
|
+
const fresh = [];
|
|
222
|
+
for (const s of found)
|
|
223
|
+
if (!(await this.existedAt(stampedAt, s, stamped, trivialBody, version)))
|
|
224
|
+
fresh.push(s);
|
|
225
|
+
found.splice(0, found.length, ...fresh);
|
|
226
|
+
}
|
|
164
227
|
if (found.length === 0)
|
|
165
228
|
return null;
|
|
166
229
|
const candidates = found.map((s) => ({ path: s.path, symbol: s.symbol }));
|
|
167
|
-
// Several copies of the same code: prefer the one whose signature also matches
|
|
168
|
-
// under the same dotted path (`Client.get`, not `Other.get`).
|
|
230
|
+
// Several copies of the same code: prefer the one whose signature also matches.
|
|
169
231
|
let best = found;
|
|
170
|
-
for (const narrow of [
|
|
171
|
-
(s) => s.sigs.has(stamped.sig),
|
|
172
|
-
(s) => s.symbol === symbol,
|
|
173
|
-
]) {
|
|
232
|
+
for (const narrow of [(s) => s.sigs.has(stamped.sig)]) {
|
|
174
233
|
if (best.length <= 1)
|
|
175
234
|
break;
|
|
176
235
|
const fewer = best.filter(narrow);
|
package/dist/moves.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moves.js","sourceRoot":"","sources":["../src/moves.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"moves.js","sourceRoot":"","sources":["../src/moves.ts"],"names":[],"mappings":"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"}
|
package/dist/tasks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,KAAK,EAAU,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGpF,MAAM,MAAM,QAAQ;AAClB,2EAA2E;AACzE,cAAc;AAChB,gEAAgE;GAC9D,aAAa;AACf,qFAAqF;GACnF,eAAe;AACjB,gFAAgF;GAC9E,cAAc;AAChB,yEAAyE;GACvE,gBAAgB;AAClB,2CAA2C;GACzC,gBAAgB;AAClB,+EAA+E;GAC7E,UAAU,CAAC;AAEf,MAAM,WAAW,IAAI;IACnB;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,wEAAwE;IACxE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,KAAK,EAAU,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGpF,MAAM,MAAM,QAAQ;AAClB,2EAA2E;AACzE,cAAc;AAChB,gEAAgE;GAC9D,aAAa;AACf,qFAAqF;GACnF,eAAe;AACjB,gFAAgF;GAC9E,cAAc;AAChB,yEAAyE;GACvE,gBAAgB;AAClB,2CAA2C;GACzC,gBAAgB;AAClB,+EAA+E;GAC7E,UAAU,CAAC;AAEf,MAAM,WAAW,IAAI;IACnB;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,wEAAwE;IACxE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AA2HD;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,EACtB,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GACxB,OAAO,CAAC,IAAI,EAAE,CAAC,CAgCjB;AAgCD,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,2FAA2F;IAC3F,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,wHAAwH;IACxH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,8DAA8D;IAC9D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,0EAA0E;IAC1E,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,GAAG,EAAE,cAAc,CAAC;IACpB,gFAAgF;IAChF,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAqGD,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,EACtB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,WAAW,CAAC,CA+BtB;AAID,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,MAAM,EAAE,UAAU,GAAG,eAAe,GAAG,SAAS,CAAC;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,SAAS,EAAE,IAAI,EAAE,CAAC;CACnB;AAeD;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,EACtB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,cAAc,CAAC,CAEzB;AAyJD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,MAAM,CAYxE"}
|
package/dist/tasks.js
CHANGED
|
@@ -67,6 +67,11 @@ function resolutionsOf(kind, r) {
|
|
|
67
67
|
`The code this claim describes moved, unchanged, to ${label(to)}: call lockwire_repoint for this anchor to point the claim and its marker there. If the sentence names the old file, fix that wording too.`,
|
|
68
68
|
...RESOLUTIONS[kind],
|
|
69
69
|
];
|
|
70
|
+
if (r.similar)
|
|
71
|
+
return [
|
|
72
|
+
`${label(r.similar)} has the same signature as the missing symbol: if it was renamed to it, call lockwire_repoint for this anchor with \`to\` set to ${label(r.similar)}; the claim stays flagged if its code also changed, so you can review it.`,
|
|
73
|
+
...RESOLUTIONS[kind],
|
|
74
|
+
];
|
|
70
75
|
if (r.moved)
|
|
71
76
|
return [
|
|
72
77
|
`The code this claim describes is now in several places (${r.moved.candidates.map(label).join(", ")}): pick the one the claim is about and call lockwire_repoint with it as \`to\`.`,
|