lockwire 0.1.34 → 0.1.35

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 CHANGED
@@ -173,6 +173,33 @@ sequenceDiagram
173
173
 
174
174
  ## Install
175
175
 
176
+ **Have your AI do it.** Paste this into Claude Code, Codex, Cursor or any coding agent, in the repository you want to protect:
177
+
178
+ ```text
179
+ Set up lockwire (https://github.com/Reality-Ventures/lockwire) in this repository. It binds
180
+ claims in our docs to the code they describe and flags them when the code changes. It's an npm
181
+ package with one runtime dependency and makes no network calls.
182
+
183
+ 1. Install it for the agent you are:
184
+ - Claude Code: add this to .claude/settings.json (merge with what's there), then tell me to
185
+ run /reload-plugins:
186
+ {"extraKnownMarketplaces": {"lockwire": {"source": {"source": "github",
187
+ "repo": "Reality-Ventures/lockwire"}, "autoUpdate": true}},
188
+ "enabledPlugins": {"lockwire@lockwire": true}}
189
+ - Anything else: run `npx skills add Reality-Ventures/lockwire`, and register
190
+ `npx -y lockwire mcp` as a stdio MCP server if you support MCP.
191
+ 2. Run `npx lockwire init` at the repository root.
192
+ 3. In CLAUDE.md, AGENTS.md or README.md, find 3 to 5 sentences that state something specific about
193
+ our code (a function's parameters, a default, a limit, where something lives). Above each, add a
194
+ marker naming the code and what the sentence depends on, e.g.
195
+ <!-- lockwire src/auth/session.ts#createSession sig -->
196
+ (sig: signature and types; body: behaviour; deps: what it calls; path: where it lives).
197
+ 4. Run `npx lockwire link <doc>` for each doc you changed, then `npx lockwire check`, and show me
198
+ the result.
199
+
200
+ Don't commit, push or run `lockwire autofix`; I'll review the changes first.
201
+ ```
202
+
176
203
  **Claude Code** — hook, MCP server, and skill in one plugin:
177
204
 
178
205
  ```bash
@@ -19,15 +19,25 @@
19
19
  * isn't part of the body.
20
20
  * - `deps` names each call by its structure (`client.get().json`), so reformatting a call chain or
21
21
  * renaming a local passed as an argument doesn't move it.
22
+ *
23
+ * Version 3 is version 2 except that what code formatters (Black, Ruff, Prettier) rewrite without
24
+ * changing behaviour reads the same either way, in `sig` and `body` alike: a string's quotes, escaped
25
+ * quotes and prefix case (`'it\'s'`, `"it's"`, `U'a'`); a number's spelling (`0XAB`, `1E5`, and in
26
+ * TS/JS `1.50`, `.5`); Python's optional parentheses (`from m import (a)`, `with (a, b):`,
27
+ * `for (x, y) in`, `return (a, b)`, `-> (int)`); an arrow's single parameter with or without
28
+ * parentheses; and a quoted key that needn't be (`{ 'a': 1 }`). It also stops reading a class's or a
29
+ * whole file's own top-level names (a model's fields, a module's constants) as locals: renaming one
30
+ * is a change (see {@link collectLocals}). Version-2 anchors keep being read the version-2 way (see
31
+ * {@link withVersion}) until a check finds them unchanged and re-stamps them.
22
32
  */
23
33
  import type { Node } from "web-tree-sitter";
24
34
  import type { LangId } from "./grammar.js";
25
35
  import type { FileSymbols } from "./types.js";
26
36
  /** A node as its tokens: comments and layout dropped, a trailing comma before a closer dropped. */
27
- export declare function canon(node: Node): string;
28
- export declare function extractFileSymbolsV2(root: Node, lang: LangId, normalizeLocals: boolean): FileSymbols;
29
- /** Whole-file `body` and `deps` for a file-only anchor, read the version-2 way. */
30
- export declare function computeWholeFileTiersV2(root: Node, lang: LangId, normalizeLocals: boolean): {
37
+ export declare function canon(node: Node, lang?: LangId): string;
38
+ export declare function extractFileSymbolsV2(root: Node, lang: LangId, normalizeLocals: boolean, version?: number): FileSymbols;
39
+ /** Whole-file `body` and `deps` for a file-only anchor, read the version-2 (or 3) way. */
40
+ export declare function computeWholeFileTiersV2(root: Node, lang: LangId, normalizeLocals: boolean, version?: number): {
31
41
  bodyNormalized: string;
32
42
  deps: string[];
33
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"extract-v2.d.ts","sourceRoot":"","sources":["../src/extract-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,YAAY,CAAC;AAE9D,mGAAmG;AACnG,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAiBxC;AA2bD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,OAAO,GACvB,WAAW,CAqPb;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,OAAO,GACvB;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAO5C"}
1
+ {"version":3,"file":"extract-v2.d.ts","sourceRoot":"","sources":["../src/extract-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,YAAY,CAAC;AA+G9D,mGAAmG;AACnG,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAoCvD;AA2eD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,OAAO,EACxB,OAAO,SAAI,GACV,WAAW,CAEb;AAyPD,0FAA0F;AAC1F,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,OAAO,EACxB,OAAO,SAAI,GACV;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAS5C"}
@@ -1,17 +1,149 @@
1
+ /**
2
+ * Whether the extraction under way reads formatting the version-3 way. Set for the length of one
3
+ * (synchronous) extraction by {@link withVersion}, so the helpers below needn't all carry it.
4
+ */
5
+ let formatProof = false;
6
+ function withVersion(version, run) {
7
+ const saved = formatProof;
8
+ formatProof = version >= 3;
9
+ try {
10
+ return run();
11
+ }
12
+ finally {
13
+ formatProof = saved;
14
+ }
15
+ }
16
+ /** `\'` and `\"` as the quote alone; every other escape as written. */
17
+ const unescapeQuotes = (s) => s.replace(/\\([\s\S])/g, (pair, c) => (c === "'" || c === '"' ? c : pair));
18
+ /**
19
+ * A string literal whichever quotes delimit it: its prefix (lower case, sorted, without Python 3's
20
+ * no-op `u`) and its contents with escaped quotes unescaped. `inner` renders an f-string's
21
+ * interpolations. Null for anything but a plain or f-string literal (a template literal keeps its
22
+ * backticks: there's no other way to write one).
23
+ */
24
+ function stringLiteral(node, lang, inner) {
25
+ // Named: TS's `string` keyword is an unnamed node of the same type.
26
+ if (node.type !== "string" || !node.isNamed)
27
+ return null;
28
+ if (lang !== "python")
29
+ return JSON.stringify(unescapeQuotes(node.text.slice(1, -1)));
30
+ let prefix = "";
31
+ let quote = 1;
32
+ let contents = "";
33
+ const text = (t) => {
34
+ contents += prefix.includes("r") ? t : unescapeQuotes(t);
35
+ };
36
+ for (const c of node.children) {
37
+ if (!c || c.isExtra)
38
+ continue;
39
+ if (c.type === "string_start") {
40
+ const delimiter = c.text.replace(/^[^'"]*/, "");
41
+ quote = delimiter.length;
42
+ prefix = [...c.text.slice(0, -quote).toLowerCase().replace("u", "")].sort().join("");
43
+ }
44
+ // An f-string's own braces are written doubled (`{{`), so an interpolation can't be mistaken for text.
45
+ else if (c.type === "interpolation")
46
+ contents += inner(c);
47
+ // The grammar ends `r'\''` with a `string_end` of `\''`: what precedes the closing quote is text.
48
+ else if (c.type === "string_end")
49
+ text(c.text.slice(0, -quote));
50
+ else
51
+ text(c.text);
52
+ }
53
+ return `${prefix}${JSON.stringify(contents)}`;
54
+ }
55
+ /** A number literal however it's spelled: case, `_` separators and, in TS/JS, the value it denotes. */
56
+ function numberLiteral(text, lang) {
57
+ const t = text.toLowerCase().replace(/_/g, "");
58
+ // Python keeps the spelling (`1` and `1.0` are different types); so do BigInts and legacy octals.
59
+ if (lang === "python" || t.endsWith("n") || /^0\d/.test(t))
60
+ return t;
61
+ const value = Number(t);
62
+ return Number.isFinite(value) ? String(value) : t;
63
+ }
64
+ const NUMBER_TYPES = new Set(["number", "integer", "float"]);
65
+ /** The node types version 3 reads differently from version 2 (bar optional parentheses). */
66
+ const FORMATTED_TYPES = new Set(["string", ...NUMBER_TYPES, "formal_parameters"]);
67
+ /** Members whose name may be quoted or not, as long as it's an identifier either way. */
68
+ const NAMED_MEMBERS = new Set([
69
+ "pair",
70
+ "property_signature",
71
+ "method_signature",
72
+ "public_field_definition",
73
+ "field_definition",
74
+ "method_definition",
75
+ "abstract_method_signature",
76
+ ]);
77
+ /** A quoted member name that needn't be (`{ 'a': 1 }`): the bare name. */
78
+ function unquotedKey(node, lang) {
79
+ if (lang === "python" || node.type !== "string" || !node.isNamed)
80
+ return null;
81
+ const parent = node.parent;
82
+ if (!parent || !NAMED_MEMBERS.has(parent.type))
83
+ return null;
84
+ const field = ["key", "name", "property"]
85
+ .map((f) => parent.childForFieldName(f))
86
+ .find((c) => c?.id === node.id);
87
+ if (!field)
88
+ return null;
89
+ const name = unescapeQuotes(node.text.slice(1, -1));
90
+ return /^[A-Za-z_$][\w$]*$/.test(name) ? name : null;
91
+ }
92
+ /** Python's optional parentheses: around an import list, a `with` clause, or a tuple. */
93
+ const OPTIONAL_PARENS = new Set(["import_from_statement", "with_clause", "tuple", "tuple_pattern"]);
94
+ /** A parenthesized tuple is the same tuple without the parentheses. */
95
+ const TUPLE_AS = new Map([
96
+ ["tuple", "expression_list"],
97
+ ["tuple_pattern", "pattern_list"],
98
+ ]);
99
+ /** An arrow function's one plain parameter, when it's written in parentheses (`(x) => x`). */
100
+ function soleArrowParameter(node) {
101
+ if (node.type !== "formal_parameters" || node.parent?.type !== "arrow_function")
102
+ return null;
103
+ const params = node.namedChildren.filter((c) => c !== null && !c.isExtra);
104
+ if (params.length !== 1)
105
+ return null;
106
+ const p = params[0];
107
+ if (p.type === "identifier")
108
+ return p;
109
+ const named = p.namedChildren.filter((c) => c !== null && !c.isExtra);
110
+ return p.type === "required_parameter" && named.length === 1 && named[0]?.type === "identifier"
111
+ ? named[0]
112
+ : null;
113
+ }
1
114
  /** A node as its tokens: comments and layout dropped, a trailing comma before a closer dropped. */
2
- export function canon(node) {
115
+ export function canon(node, lang) {
3
116
  const tokens = [];
4
117
  const walk = (n) => {
5
118
  if (n.isExtra)
6
119
  return; // comments
120
+ if (formatProof && lang) {
121
+ const key = unquotedKey(n, lang);
122
+ const literal = key ?? stringLiteral(n, lang, (i) => canon(i, lang));
123
+ if (literal !== null) {
124
+ tokens.push(literal);
125
+ return;
126
+ }
127
+ if (n.isNamed && NUMBER_TYPES.has(n.type)) {
128
+ tokens.push(numberLiteral(n.text, lang));
129
+ return;
130
+ }
131
+ if (n.type === "parenthesized_expression" && n.namedChildCount === 1) {
132
+ const inner = n.namedChildren[0];
133
+ if (inner && !inner.isExtra)
134
+ return walk(inner);
135
+ }
136
+ // (An arrow's parameters need nothing here: sigOf writes a bare one in parentheses.)
137
+ }
7
138
  if (n.childCount === 0) {
8
139
  const t = n.text.trim();
9
140
  if (t)
10
141
  tokens.push(t);
11
142
  return;
12
143
  }
144
+ const dropParens = formatProof && lang === "python" && OPTIONAL_PARENS.has(n.type);
13
145
  for (const c of n.children)
14
- if (c)
146
+ if (c && !(dropParens && (c.type === "(" || c.type === ")")))
15
147
  walk(c);
16
148
  };
17
149
  walk(node);
@@ -101,20 +233,20 @@ function isExported(node) {
101
233
  return false;
102
234
  }
103
235
  /** Decorators written before a declaration: Python's `decorated_definition`, TS's on the class or export, or class-body siblings for a member. */
104
- function decoratorsOf(def, member) {
236
+ function decoratorsOf(def, member, lang) {
105
237
  const out = [];
106
238
  const parent = member.parent;
107
239
  if (parent?.type === "decorated_definition" || parent?.type === "export_statement")
108
240
  for (const c of parent.namedChildren)
109
241
  if (c?.type === "decorator")
110
- out.push(canon(c));
242
+ out.push(canon(c, lang));
111
243
  for (const c of def.namedChildren)
112
244
  if (c?.type === "decorator")
113
- out.push(canon(c));
245
+ out.push(canon(c, lang));
114
246
  // A TS class member's decorators are the class body's children right before it.
115
247
  if (parent?.type === "class_body")
116
248
  for (let s = member.previousSibling; s?.type === "decorator"; s = s.previousSibling)
117
- out.push(canon(s));
249
+ out.push(canon(s, lang));
118
250
  return out;
119
251
  }
120
252
  /** Keyword modifiers written before the name: `static`, `async`, `get`, `private`, `readonly`, `*`, `abstract`… */
@@ -165,23 +297,23 @@ function sigOf(def, name, lang) {
165
297
  const nameNode = n.childForFieldName("name");
166
298
  const body = [...n.children]
167
299
  .filter((c) => c !== null && c !== nameNode && !c.isExtra && c.type !== "decorator")
168
- .map(canon)
300
+ .map((c) => canon(c, lang))
169
301
  .join(" ");
170
302
  return `${n.type} ${name} ${body}${tail}`;
171
303
  }
172
304
  const typeParams = n.childForFieldName("type_parameters");
173
- const tp = typeParams ? canon(typeParams) : "";
305
+ const tp = typeParams ? canon(typeParams, lang) : "";
174
306
  if (def.kind === "class") {
175
307
  const heritage = lang === "python"
176
308
  ? n.childForFieldName("superclasses")
177
309
  : (n.namedChildren.find((c) => c?.type === "class_heritage") ?? null);
178
- return `class ${name}${tp}${heritage ? ` ${canon(heritage)}` : ""}${tail}`;
310
+ return `class ${name}${tp}${heritage ? ` ${canon(heritage, lang)}` : ""}${tail}`;
179
311
  }
180
312
  const params = n.childForFieldName("parameters");
181
313
  const single = lang === "python" ? null : n.childForFieldName("parameter");
182
- const ps = params ? canon(params) : single ? `(${canon(single)})` : "()";
314
+ const ps = params ? canon(params, lang) : single ? `(${canon(single, lang)})` : "()";
183
315
  const ret = n.childForFieldName("return_type");
184
- const rs = ret ? canon(ret).replace(/^:\s*/, "") : "";
316
+ const rs = ret ? canon(ret, lang).replace(/^:\s*/, "") : "";
185
317
  return `fn ${name}${tp}${ps}${rs ? `->${rs}` : ""}${tail}`;
186
318
  }
187
319
  // -------------------------------------------------------------------------------------------------
@@ -237,25 +369,52 @@ function paramNames(params, lang, out) {
237
369
  }
238
370
  }
239
371
  }
240
- function collectLocals(subtree, outerParams, lang) {
372
+ /**
373
+ * The names `subtree` binds that are local to it, aliased in `body`. For a class or a whole file
374
+ * (`ownNames`), from version 3 the names bound at its own top level, outside any function in it, aren't
375
+ * locals: they are its fields, attributes, constants and exports, and renaming one changes what other
376
+ * code can use (`montly_fee: float` → `monthly_fee: float` renames a model's field and its JSON key).
377
+ */
378
+ function collectLocals(subtree, outerParams, lang, ownNames = false) {
241
379
  const locals = new Set();
380
+ const own = new Set();
381
+ const keepOwn = ownNames && formatProof;
382
+ /** Records the names `pattern` binds at `site`: the scope's own when no function lies between. */
383
+ const bind = (site, pattern) => {
384
+ if (!site)
385
+ return;
386
+ const names = new Set();
387
+ patternNames(pattern, names);
388
+ let inFunction = false;
389
+ if (keepOwn)
390
+ for (let p = site.parent; p && p.id !== subtree.id; p = p.parent)
391
+ if (FUNCTION_LIKE[lang].has(p.type)) {
392
+ inFunction = true;
393
+ break;
394
+ }
395
+ for (const name of names)
396
+ (keepOwn && !inFunction ? own : locals).add(name);
397
+ };
242
398
  paramNames(outerParams, lang, locals);
243
399
  if (lang === "python") {
244
400
  for (const fn of subtree.descendantsOfType(["function_definition", "lambda"]))
245
401
  paramNames(fn?.childForFieldName("parameters") ?? null, lang, locals);
246
402
  for (const n of subtree.descendantsOfType(["assignment", "augmented_assignment"]))
247
- patternNames(n?.childForFieldName("left") ?? null, locals);
248
- for (const n of subtree.descendantsOfType(["for_statement", "for_in_clause"]))
403
+ bind(n, n?.childForFieldName("left") ?? null);
404
+ for (const n of subtree.descendantsOfType(["for_statement"]))
405
+ bind(n, n?.childForFieldName("left") ?? null);
406
+ // A comprehension is a scope of its own, wherever it is.
407
+ for (const n of subtree.descendantsOfType(["for_in_clause"]))
249
408
  patternNames(n?.childForFieldName("left") ?? null, locals);
250
409
  for (const n of subtree.descendantsOfType(["as_pattern_target"]))
251
410
  for (const c of n?.namedChildren ?? [])
252
- patternNames(c, locals);
411
+ bind(n, c);
253
412
  for (const n of subtree.descendantsOfType(["named_expression"]))
254
- patternNames(n?.childForFieldName("name") ?? null, locals);
413
+ bind(n, n?.childForFieldName("name") ?? null);
255
414
  }
256
415
  else {
257
416
  for (const n of subtree.descendantsOfType(["variable_declarator"]))
258
- patternNames(n?.childForFieldName("name") ?? null, locals);
417
+ bind(n, n?.childForFieldName("name") ?? null);
259
418
  for (const n of subtree.descendantsOfType([...FUNCTION_LIKE[lang]])) {
260
419
  paramNames(n?.childForFieldName("parameters") ?? null, lang, locals);
261
420
  const single = n?.childForFieldName("parameter");
@@ -263,10 +422,13 @@ function collectLocals(subtree, outerParams, lang) {
263
422
  patternNames(single, locals);
264
423
  }
265
424
  for (const n of subtree.descendantsOfType(["for_in_statement"]))
266
- patternNames(n?.childForFieldName("left") ?? null, locals);
425
+ bind(n, n?.childForFieldName("left") ?? null);
267
426
  for (const n of subtree.descendantsOfType(["catch_clause"]))
268
- patternNames(n?.childForFieldName("parameter") ?? null, locals);
427
+ bind(n, n?.childForFieldName("parameter") ?? null);
269
428
  }
429
+ // A name that is also the scope's own is read as written everywhere, so the two never get confused.
430
+ for (const name of own)
431
+ locals.delete(name);
270
432
  return locals;
271
433
  }
272
434
  /** An identifier that names a value, not a property, attribute or keyword argument. */
@@ -287,13 +449,28 @@ function isValueIdentifier(node, lang) {
287
449
  function serializeBody(node, locals, normalizeLocals, lang, aliasOf) {
288
450
  if (node.isExtra)
289
451
  return "";
452
+ // Read once: each read of a node's type is a call into the parser.
453
+ const nodeType = node.type;
290
454
  // Grouping parentheses carry no meaning (the tree's shape already has the precedence), and
291
455
  // formatters add and remove them to wrap lines.
292
- if (node.type === "parenthesized_expression" && node.namedChildCount === 1) {
456
+ if (nodeType === "parenthesized_expression" && node.namedChildCount === 1) {
293
457
  const inner = node.namedChildren[0];
294
458
  if (inner && !inner.isExtra)
295
459
  return serializeBody(inner, locals, normalizeLocals, lang, aliasOf);
296
460
  }
461
+ if (formatProof && FORMATTED_TYPES.has(nodeType)) {
462
+ const key = unquotedKey(node, lang);
463
+ if (key !== null)
464
+ return `property_identifier:${key}`;
465
+ const literal = stringLiteral(node, lang, (i) => serializeBody(i, locals, normalizeLocals, lang, aliasOf));
466
+ if (literal !== null)
467
+ return `string:${literal}`;
468
+ if (node.isNamed && NUMBER_TYPES.has(nodeType))
469
+ return `${nodeType}:${numberLiteral(node.text, lang)}`;
470
+ const sole = soleArrowParameter(node);
471
+ if (sole)
472
+ return serializeBody(sole, locals, normalizeLocals, lang, aliasOf);
473
+ }
297
474
  if (node.childCount === 0) {
298
475
  if (node.isNamed) {
299
476
  if (normalizeLocals && locals.has(node.text) && isValueIdentifier(node, lang)) {
@@ -304,21 +481,23 @@ function serializeBody(node, locals, normalizeLocals, lang, aliasOf) {
304
481
  }
305
482
  return `$${idx}`;
306
483
  }
307
- return `${node.type}:${node.text}`;
484
+ return `${nodeType}:${node.text}`;
308
485
  }
309
- if (node.type === "," || node.type === ";")
486
+ if (nodeType === "," || nodeType === ";")
310
487
  return "";
311
- return node.type;
488
+ return nodeType;
312
489
  }
490
+ const dropParens = formatProof && lang === "python" && OPTIONAL_PARENS.has(nodeType);
313
491
  const parts = [];
314
492
  for (const child of node.children) {
315
- if (!child)
493
+ if (!child || (dropParens && (child.type === "(" || child.type === ")")))
316
494
  continue;
317
495
  const s = serializeBody(child, locals, normalizeLocals, lang, aliasOf);
318
496
  if (s)
319
497
  parts.push(s);
320
498
  }
321
- return `(${node.type} ${parts.join(" ")})`;
499
+ const type = (formatProof && lang === "python" && TUPLE_AS.get(nodeType)) || nodeType;
500
+ return `(${type} ${parts.join(" ")})`;
322
501
  }
323
502
  /** A Python function's docstring is documentation, not behaviour. */
324
503
  function withoutDocstring(body, lang) {
@@ -450,7 +629,10 @@ function commonJsPath(left) {
450
629
  const path = parts.filter((p) => p !== "prototype").join(".");
451
630
  return path ? { path, exported } : null;
452
631
  }
453
- export function extractFileSymbolsV2(root, lang, normalizeLocals) {
632
+ export function extractFileSymbolsV2(root, lang, normalizeLocals, version = 2) {
633
+ return withVersion(version, () => extractSymbols(root, lang, normalizeLocals));
634
+ }
635
+ function extractSymbols(root, lang, normalizeLocals) {
454
636
  const importedNames = collectImportedNames(root, lang);
455
637
  const bySymbolPath = new Map();
456
638
  const fileExports = [];
@@ -467,7 +649,7 @@ export function extractFileSymbolsV2(root, lang, normalizeLocals) {
467
649
  ? withoutDocstring(body, lang)
468
650
  : [body];
469
651
  const locals = def.kind === "class"
470
- ? collectLocals(body ?? n, null, lang)
652
+ ? collectLocals(body ?? n, null, lang, true)
471
653
  : collectLocals(body ?? n, n.childForFieldName("parameters") ?? n.childForFieldName("parameter"), lang);
472
654
  const aliasOf = new Map();
473
655
  const bodyNormalized = roots
@@ -565,7 +747,7 @@ export function extractFileSymbolsV2(root, lang, normalizeLocals) {
565
747
  outer: prefix ? cls : outerOf(cls),
566
748
  exported: prefix ? false : isExported(cls),
567
749
  extra: [],
568
- decorators: decoratorsOf(cls, cls),
750
+ decorators: decoratorsOf(cls, cls, lang),
569
751
  });
570
752
  if (isType)
571
753
  return;
@@ -594,7 +776,7 @@ export function extractFileSymbolsV2(root, lang, normalizeLocals) {
594
776
  outer: member.parent?.type === "decorated_definition" ? member.parent : member,
595
777
  exported: false,
596
778
  extra: [],
597
- decorators: decoratorsOf(member, member),
779
+ decorators: decoratorsOf(member, member, lang),
598
780
  });
599
781
  }
600
782
  else if (member.type === "public_field_definition" || member.type === "field_definition") {
@@ -610,7 +792,7 @@ export function extractFileSymbolsV2(root, lang, normalizeLocals) {
610
792
  outer: member,
611
793
  exported: false,
612
794
  extra: [...leadingModifiers(member), ...fn.wrappers.map((w) => `wrap:${w}`)],
613
- decorators: decoratorsOf(member, member),
795
+ decorators: decoratorsOf(member, member, lang),
614
796
  });
615
797
  }
616
798
  }
@@ -629,7 +811,7 @@ export function extractFileSymbolsV2(root, lang, normalizeLocals) {
629
811
  outer: outerOf(node),
630
812
  exported: lang === "python" ? false : isExported(node),
631
813
  extra: [],
632
- decorators: decoratorsOf(node, node),
814
+ decorators: decoratorsOf(node, node, lang),
633
815
  });
634
816
  }
635
817
  else if (CLASS_LIKE.has(node.type)) {
@@ -664,7 +846,7 @@ export function extractFileSymbolsV2(root, lang, normalizeLocals) {
664
846
  outer: outerOf(node),
665
847
  exported: isExported(node),
666
848
  extra: [
667
- ...(type ? [`:${canon(type).replace(/^:\s*/, "")}`] : []),
849
+ ...(type ? [`:${canon(type, lang).replace(/^:\s*/, "")}`] : []),
668
850
  ...fn.wrappers.map((w) => `wrap:${w}`),
669
851
  ],
670
852
  decorators: [],
@@ -693,13 +875,15 @@ export function extractFileSymbolsV2(root, lang, normalizeLocals) {
693
875
  }
694
876
  return { bySymbolPath, fileExports };
695
877
  }
696
- /** Whole-file `body` and `deps` for a file-only anchor, read the version-2 way. */
697
- export function computeWholeFileTiersV2(root, lang, normalizeLocals) {
698
- const importedNames = collectImportedNames(root, lang);
699
- const locals = collectLocals(root, null, lang);
700
- return {
701
- bodyNormalized: serializeBody(root, locals, normalizeLocals, lang, new Map()),
702
- deps: collectDeps([root], lang, importedNames, locals),
703
- };
878
+ /** Whole-file `body` and `deps` for a file-only anchor, read the version-2 (or 3) way. */
879
+ export function computeWholeFileTiersV2(root, lang, normalizeLocals, version = 2) {
880
+ return withVersion(version, () => {
881
+ const importedNames = collectImportedNames(root, lang);
882
+ const locals = collectLocals(root, null, lang, true);
883
+ return {
884
+ bodyNormalized: serializeBody(root, locals, normalizeLocals, lang, new Map()),
885
+ deps: collectDeps([root], lang, importedNames, locals),
886
+ };
887
+ });
704
888
  }
705
889
  //# sourceMappingURL=extract-v2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extract-v2.js","sourceRoot":"","sources":["../src/extract-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract-v2.js","sourceRoot":"","sources":["../src/extract-v2.ts"],"names":[],"mappings":"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"}
package/dist/extract.d.ts CHANGED
@@ -4,9 +4,9 @@ import type { FileSymbols } from "./types.js";
4
4
  /**
5
5
  * How fingerprints are computed. Anchors record the version they were stamped with, and `check`
6
6
  * compares each one under its own version, so changing the extractor never makes an existing anchor
7
- * look drifted. Version 1 is this file; version 2 is extract-v2.ts.
7
+ * look drifted. Version 1 is this file; versions 2 and 3 are extract-v2.ts.
8
8
  */
9
- export declare const FINGERPRINT_VERSION = 2;
9
+ export declare const FINGERPRINT_VERSION = 3;
10
10
  /**
11
11
  * Walks a parsed file and resolves every top-level function/class, and every method inside
12
12
  * each class, into a dotted symbol path ("createSession", "AuthConfig.refresh") with its
package/dist/extract.js CHANGED
@@ -3,9 +3,9 @@ import { fingerprintSet } from "./hash.js";
3
3
  /**
4
4
  * How fingerprints are computed. Anchors record the version they were stamped with, and `check`
5
5
  * compares each one under its own version, so changing the extractor never makes an existing anchor
6
- * look drifted. Version 1 is this file; version 2 is extract-v2.ts.
6
+ * look drifted. Version 1 is this file; versions 2 and 3 are extract-v2.ts.
7
7
  */
8
- export const FINGERPRINT_VERSION = 2;
8
+ export const FINGERPRINT_VERSION = 3;
9
9
  const IDENTIFIER_TYPES = new Set([
10
10
  "identifier",
11
11
  "property_identifier",
@@ -293,7 +293,7 @@ function collectDeps(subtree, lang, importedNames) {
293
293
  */
294
294
  export function extractFileSymbols(root, lang, normalizeLocals, version = FINGERPRINT_VERSION) {
295
295
  if (version >= 2)
296
- return extractFileSymbolsV2(root, lang, normalizeLocals);
296
+ return extractFileSymbolsV2(root, lang, normalizeLocals, version);
297
297
  const decl = DECLARATION_TYPES[lang];
298
298
  const importedNames = collectImportedNames(root, lang);
299
299
  const bySymbolPath = new Map();
@@ -413,7 +413,7 @@ export function fileExportsFingerprint(symbols) {
413
413
  /** Whole-file tiers for a file-only anchor (no `#Symbol`): same normalization pipeline, applied to the root node. */
414
414
  export function computeWholeFileTiers(root, lang, normalizeLocals, version = FINGERPRINT_VERSION) {
415
415
  if (version >= 2)
416
- return computeWholeFileTiersV2(root, lang, normalizeLocals);
416
+ return computeWholeFileTiersV2(root, lang, normalizeLocals, version);
417
417
  const importedNames = collectImportedNames(root, lang);
418
418
  const locals = collectLocalDeclared(root, [], lang);
419
419
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.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.34",
3
+ "version": "0.1.35",
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",