lockwire 0.1.31 → 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 +17 -4
- package/dist/actions.d.ts +82 -5
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +395 -10
- package/dist/actions.js.map +1 -1
- package/dist/cli.js +69 -6
- 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 +3 -1
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +42 -9
- 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/hook-common.d.ts +5 -0
- package/dist/hook-common.d.ts.map +1 -1
- package/dist/hook-common.js +12 -2
- package/dist/hook-common.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.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 +45 -6
- package/dist/mcp-server.js.map +1 -1
- package/dist/moves.d.ts +49 -0
- package/dist/moves.d.ts.map +1 -0
- package/dist/moves.js +243 -0
- package/dist/moves.js.map +1 -0
- package/dist/reexports.d.ts +26 -0
- package/dist/reexports.d.ts.map +1 -0
- package/dist/reexports.js +174 -0
- package/dist/reexports.js.map +1 -0
- package/dist/tasks.d.ts.map +1 -1
- package/dist/tasks.js +33 -5
- 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
|
-
import { ack, check, history, linkDoc, refs, status, unlinkedFor, waive, } from "./actions.js";
|
|
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
|
|
@@ -171,6 +176,40 @@ export function createServer(repoRoot, opts = {}) {
|
|
|
171
176
|
openWorldHint: false,
|
|
172
177
|
},
|
|
173
178
|
}, async ({ anchor, reason, expires }) => text(await withRepoLock(repoRoot, () => waive(repoRoot, anchor, reason, expires, agentActor()))));
|
|
179
|
+
server.registerTool("lockwire_repoint", {
|
|
180
|
+
title: "Re-point moved claims",
|
|
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
|
+
inputSchema: {
|
|
183
|
+
anchors: z.array(z.string()).optional(),
|
|
184
|
+
to: z.string().optional(),
|
|
185
|
+
dryRun: z.boolean().optional(),
|
|
186
|
+
},
|
|
187
|
+
// Re-pointing an anchor that already points at its new home skips it, so a repeat call with
|
|
188
|
+
// nothing moved in between writes nothing.
|
|
189
|
+
annotations: {
|
|
190
|
+
readOnlyHint: false,
|
|
191
|
+
destructiveHint: false,
|
|
192
|
+
idempotentHint: true,
|
|
193
|
+
openWorldHint: false,
|
|
194
|
+
},
|
|
195
|
+
}, async ({ anchors, to, dryRun }) => {
|
|
196
|
+
const note = missingLockNote(repoRoot);
|
|
197
|
+
if (note)
|
|
198
|
+
return text(note);
|
|
199
|
+
const hash = to?.indexOf("#") ?? -1;
|
|
200
|
+
const target = to
|
|
201
|
+
? {
|
|
202
|
+
path: toRepoPath(repoRoot, hash < 0 ? to : to.slice(0, hash), repoRoot),
|
|
203
|
+
...(hash >= 0 && to.slice(hash + 1) ? { symbol: to.slice(hash + 1) } : {}),
|
|
204
|
+
}
|
|
205
|
+
: undefined;
|
|
206
|
+
const config = await readConfig(repoRoot);
|
|
207
|
+
return text(await withRepoLock(repoRoot, () => repoint(repoRoot, config, agentActor(), {
|
|
208
|
+
...(anchors ? { ids: anchors } : {}),
|
|
209
|
+
...(target ? { to: target } : {}),
|
|
210
|
+
dryRun: Boolean(dryRun),
|
|
211
|
+
})));
|
|
212
|
+
});
|
|
174
213
|
// ---- The agent work queue: what's wrong, the context to fix it, and a checked resolve. ----------
|
|
175
214
|
server.registerTool("lockwire_tasks", {
|
|
176
215
|
title: "Documentation tasks",
|
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
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { Anchor, AnchorTarget, FileSymbols, LockwireConfig } from "./types.js";
|
|
2
|
+
export interface MoveHint {
|
|
3
|
+
/** The one place the code as stamped lives now, when there is exactly one. */
|
|
4
|
+
to?: AnchorTarget;
|
|
5
|
+
/** Every place it was found (more than one means lockwire can't tell which is the claim's). */
|
|
6
|
+
candidates: AnchorTarget[];
|
|
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;
|
|
11
|
+
/**
|
|
12
|
+
* A signature's fingerprints with the `export` modifier as written, removed and added: moving a
|
|
13
|
+
* private helper into a module of its own usually means exporting it, and that is part of the move,
|
|
14
|
+
* not a change to the contract a claim describes.
|
|
15
|
+
*/
|
|
16
|
+
export declare function sigFingerprints(sig: string): Set<string>;
|
|
17
|
+
export type SymbolsOf = (path: string, content: string, version: number) => Promise<FileSymbols | null>;
|
|
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.
|
|
23
|
+
*/
|
|
24
|
+
export declare class SourceIndex {
|
|
25
|
+
private readonly repoRoot;
|
|
26
|
+
private readonly config;
|
|
27
|
+
private readonly symbolsOf;
|
|
28
|
+
/** A `Date.now()` timestamp to stop at. */
|
|
29
|
+
private readonly deadline;
|
|
30
|
+
private byName;
|
|
31
|
+
private complete;
|
|
32
|
+
private readonly parsed;
|
|
33
|
+
constructor(repoRoot: string, config: LockwireConfig, symbolsOf: SymbolsOf,
|
|
34
|
+
/** A `Date.now()` timestamp to stop at. */
|
|
35
|
+
deadline?: number);
|
|
36
|
+
private load;
|
|
37
|
+
private read;
|
|
38
|
+
private symbolsIn;
|
|
39
|
+
/** Whether `s`'s file already held this code, under the same name, at `commit`. */
|
|
40
|
+
private existedAt;
|
|
41
|
+
/**
|
|
42
|
+
* Where `anchor`'s symbol, as stamped, lives now outside `anchor.target.path`, or null when nowhere
|
|
43
|
+
* (or when the search ran out of time before it could be sure).
|
|
44
|
+
*/
|
|
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>;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=moves.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|