@nanonets/graft 0.10.0 → 0.12.0

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.
Files changed (238) hide show
  1. package/README.md +34 -13
  2. package/dist/ai/crux.d.ts.map +1 -1
  3. package/dist/ai/crux.js +7 -6
  4. package/dist/ai/crux.js.map +1 -1
  5. package/dist/ai/failure.d.ts +49 -0
  6. package/dist/ai/failure.d.ts.map +1 -0
  7. package/dist/ai/failure.js +74 -0
  8. package/dist/ai/failure.js.map +1 -0
  9. package/dist/ai/llm/anthropic.d.ts.map +1 -1
  10. package/dist/ai/llm/anthropic.js +4 -1
  11. package/dist/ai/llm/anthropic.js.map +1 -1
  12. package/dist/ai/llm/claude-cli.d.ts +60 -0
  13. package/dist/ai/llm/claude-cli.d.ts.map +1 -0
  14. package/dist/ai/llm/claude-cli.js +417 -0
  15. package/dist/ai/llm/claude-cli.js.map +1 -0
  16. package/dist/ai/llm/openai.d.ts.map +1 -1
  17. package/dist/ai/llm/openai.js +2 -0
  18. package/dist/ai/llm/openai.js.map +1 -1
  19. package/dist/ai/llm/types.d.ts +9 -0
  20. package/dist/ai/llm/types.d.ts.map +1 -1
  21. package/dist/ai/llm/types.js +12 -1
  22. package/dist/ai/llm/types.js.map +1 -1
  23. package/dist/ask/ask.d.ts.map +1 -1
  24. package/dist/ask/ask.js +39 -45
  25. package/dist/ask/ask.js.map +1 -1
  26. package/dist/ask/fuse.d.ts +83 -46
  27. package/dist/ask/fuse.d.ts.map +1 -1
  28. package/dist/ask/fuse.js +165 -67
  29. package/dist/ask/fuse.js.map +1 -1
  30. package/dist/blast/blast-cli.d.ts +30 -0
  31. package/dist/blast/blast-cli.d.ts.map +1 -0
  32. package/dist/blast/blast-cli.js +163 -0
  33. package/dist/blast/blast-cli.js.map +1 -0
  34. package/dist/blast/blast.d.ts +119 -0
  35. package/dist/blast/blast.d.ts.map +1 -0
  36. package/dist/blast/blast.js +383 -0
  37. package/dist/blast/blast.js.map +1 -0
  38. package/dist/blast/diff.d.ts +53 -0
  39. package/dist/blast/diff.d.ts.map +1 -0
  40. package/dist/blast/diff.js +193 -0
  41. package/dist/blast/diff.js.map +1 -0
  42. package/dist/blast/modules.d.ts +33 -0
  43. package/dist/blast/modules.d.ts.map +1 -0
  44. package/dist/blast/modules.js +83 -0
  45. package/dist/blast/modules.js.map +1 -0
  46. package/dist/blast/name.d.ts +61 -0
  47. package/dist/blast/name.d.ts.map +1 -0
  48. package/dist/blast/name.js +233 -0
  49. package/dist/blast/name.js.map +1 -0
  50. package/dist/blast/render.d.ts +37 -0
  51. package/dist/blast/render.d.ts.map +1 -0
  52. package/dist/blast/render.js +300 -0
  53. package/dist/blast/render.js.map +1 -0
  54. package/dist/blast/viz.d.ts +17 -0
  55. package/dist/blast/viz.d.ts.map +1 -0
  56. package/dist/blast/viz.js +324 -0
  57. package/dist/blast/viz.js.map +1 -0
  58. package/dist/claude/hooks.d.ts +13 -0
  59. package/dist/claude/hooks.d.ts.map +1 -1
  60. package/dist/claude/hooks.js +44 -4
  61. package/dist/claude/hooks.js.map +1 -1
  62. package/dist/claude/shim-template.d.ts.map +1 -1
  63. package/dist/claude/shim-template.js +45 -15
  64. package/dist/claude/shim-template.js.map +1 -1
  65. package/dist/claude/state.d.ts +5 -0
  66. package/dist/claude/state.d.ts.map +1 -1
  67. package/dist/claude/state.js.map +1 -1
  68. package/dist/cli-picker.d.ts +44 -5
  69. package/dist/cli-picker.d.ts.map +1 -1
  70. package/dist/cli-picker.js +73 -26
  71. package/dist/cli-picker.js.map +1 -1
  72. package/dist/cli.js +270 -14
  73. package/dist/cli.js.map +1 -1
  74. package/dist/context/build.d.ts +8 -0
  75. package/dist/context/build.d.ts.map +1 -1
  76. package/dist/context/build.js +57 -9
  77. package/dist/context/build.js.map +1 -1
  78. package/dist/context/check.d.ts.map +1 -1
  79. package/dist/context/check.js +7 -6
  80. package/dist/context/check.js.map +1 -1
  81. package/dist/context/node-file.d.ts.map +1 -1
  82. package/dist/context/node-file.js +9 -2
  83. package/dist/context/node-file.js.map +1 -1
  84. package/dist/graph/bindings.d.ts.map +1 -1
  85. package/dist/graph/bindings.js +245 -2
  86. package/dist/graph/bindings.js.map +1 -1
  87. package/dist/graph/build.d.ts.map +1 -1
  88. package/dist/graph/build.js +36 -16
  89. package/dist/graph/build.js.map +1 -1
  90. package/dist/graph/check.d.ts +4 -0
  91. package/dist/graph/check.d.ts.map +1 -1
  92. package/dist/graph/check.js +8 -1
  93. package/dist/graph/check.js.map +1 -1
  94. package/dist/graph/container.d.ts +63 -0
  95. package/dist/graph/container.d.ts.map +1 -0
  96. package/dist/graph/container.js +185 -0
  97. package/dist/graph/container.js.map +1 -0
  98. package/dist/graph/enrich.d.ts +18 -0
  99. package/dist/graph/enrich.d.ts.map +1 -1
  100. package/dist/graph/enrich.js +55 -2
  101. package/dist/graph/enrich.js.map +1 -1
  102. package/dist/graph/extract.d.ts +8 -1
  103. package/dist/graph/extract.d.ts.map +1 -1
  104. package/dist/graph/extract.js +401 -12
  105. package/dist/graph/extract.js.map +1 -1
  106. package/dist/graph/generic.d.ts +34 -1
  107. package/dist/graph/generic.d.ts.map +1 -1
  108. package/dist/graph/generic.js +176 -6
  109. package/dist/graph/generic.js.map +1 -1
  110. package/dist/graph/invariants.d.ts +32 -0
  111. package/dist/graph/invariants.d.ts.map +1 -0
  112. package/dist/graph/invariants.js +49 -0
  113. package/dist/graph/invariants.js.map +1 -0
  114. package/dist/graph/queries/clojure.scm +58 -0
  115. package/dist/graph/resolve.d.ts.map +1 -1
  116. package/dist/graph/resolve.js +249 -23
  117. package/dist/graph/resolve.js.map +1 -1
  118. package/dist/graph/scopes.d.ts +2 -2
  119. package/dist/graph/scopes.d.ts.map +1 -1
  120. package/dist/graph/scopes.js +8 -6
  121. package/dist/graph/scopes.js.map +1 -1
  122. package/dist/graph/source-files.d.ts +13 -4
  123. package/dist/graph/source-files.d.ts.map +1 -1
  124. package/dist/graph/source-files.js +35 -12
  125. package/dist/graph/source-files.js.map +1 -1
  126. package/dist/graph/types.d.ts +3 -1
  127. package/dist/graph/types.d.ts.map +1 -1
  128. package/dist/graph/workspace-cli.d.ts +2 -0
  129. package/dist/graph/workspace-cli.d.ts.map +1 -1
  130. package/dist/graph/workspace-cli.js +10 -4
  131. package/dist/graph/workspace-cli.js.map +1 -1
  132. package/dist/graph/workspace.d.ts +11 -6
  133. package/dist/graph/workspace.d.ts.map +1 -1
  134. package/dist/graph/workspace.js +24 -13
  135. package/dist/graph/workspace.js.map +1 -1
  136. package/dist/graph/write.d.ts.map +1 -1
  137. package/dist/graph/write.js +25 -2
  138. package/dist/graph/write.js.map +1 -1
  139. package/dist/hosts/antigravity.d.ts +7 -0
  140. package/dist/hosts/antigravity.d.ts.map +1 -0
  141. package/dist/hosts/antigravity.js +42 -0
  142. package/dist/hosts/antigravity.js.map +1 -0
  143. package/dist/hosts/codex-hooks.d.ts +3 -3
  144. package/dist/hosts/codex-hooks.d.ts.map +1 -1
  145. package/dist/hosts/codex-hooks.js +27 -21
  146. package/dist/hosts/codex-hooks.js.map +1 -1
  147. package/dist/hosts/init.d.ts.map +1 -1
  148. package/dist/hosts/init.js +6 -1
  149. package/dist/hosts/init.js.map +1 -1
  150. package/dist/hosts/mcp-config.d.ts.map +1 -1
  151. package/dist/hosts/mcp-config.js +7 -0
  152. package/dist/hosts/mcp-config.js.map +1 -1
  153. package/dist/hosts/plan.d.ts +1 -1
  154. package/dist/hosts/plan.d.ts.map +1 -1
  155. package/dist/hosts/plan.js +2 -0
  156. package/dist/hosts/plan.js.map +1 -1
  157. package/dist/hosts/registry.d.ts.map +1 -1
  158. package/dist/hosts/registry.js +13 -0
  159. package/dist/hosts/registry.js.map +1 -1
  160. package/dist/ingest/fs.d.ts +9 -2
  161. package/dist/ingest/fs.d.ts.map +1 -1
  162. package/dist/ingest/fs.js +100 -16
  163. package/dist/ingest/fs.js.map +1 -1
  164. package/dist/mcp/server.d.ts.map +1 -1
  165. package/dist/mcp/server.js +45 -2
  166. package/dist/mcp/server.js.map +1 -1
  167. package/dist/telemetry/contract.d.ts +90 -0
  168. package/dist/telemetry/contract.d.ts.map +1 -0
  169. package/dist/telemetry/contract.js +203 -0
  170. package/dist/telemetry/contract.js.map +1 -0
  171. package/dist/telemetry/flush.d.ts +21 -0
  172. package/dist/telemetry/flush.d.ts.map +1 -0
  173. package/dist/telemetry/flush.js +84 -0
  174. package/dist/telemetry/flush.js.map +1 -0
  175. package/dist/telemetry/gate.d.ts +16 -0
  176. package/dist/telemetry/gate.d.ts.map +1 -0
  177. package/dist/telemetry/gate.js +64 -0
  178. package/dist/telemetry/gate.js.map +1 -0
  179. package/dist/telemetry/identity.d.ts +33 -0
  180. package/dist/telemetry/identity.d.ts.map +1 -0
  181. package/dist/telemetry/identity.js +80 -0
  182. package/dist/telemetry/identity.js.map +1 -0
  183. package/dist/telemetry/index.d.ts +18 -0
  184. package/dist/telemetry/index.d.ts.map +1 -0
  185. package/dist/telemetry/index.js +16 -0
  186. package/dist/telemetry/index.js.map +1 -0
  187. package/dist/telemetry/key.d.ts +21 -0
  188. package/dist/telemetry/key.d.ts.map +1 -0
  189. package/dist/telemetry/key.js +49 -0
  190. package/dist/telemetry/key.js.map +1 -0
  191. package/dist/telemetry/notice.d.ts +19 -0
  192. package/dist/telemetry/notice.d.ts.map +1 -0
  193. package/dist/telemetry/notice.js +90 -0
  194. package/dist/telemetry/notice.js.map +1 -0
  195. package/dist/telemetry/queue.d.ts +35 -0
  196. package/dist/telemetry/queue.d.ts.map +1 -0
  197. package/dist/telemetry/queue.js +162 -0
  198. package/dist/telemetry/queue.js.map +1 -0
  199. package/dist/telemetry/send.d.ts +19 -0
  200. package/dist/telemetry/send.d.ts.map +1 -0
  201. package/dist/telemetry/send.js +84 -0
  202. package/dist/telemetry/send.js.map +1 -0
  203. package/dist/telemetry/sessions.d.ts +8 -0
  204. package/dist/telemetry/sessions.d.ts.map +1 -0
  205. package/dist/telemetry/sessions.js +81 -0
  206. package/dist/telemetry/sessions.js.map +1 -0
  207. package/dist/telemetry/track.d.ts +43 -0
  208. package/dist/telemetry/track.d.ts.map +1 -0
  209. package/dist/telemetry/track.js +108 -0
  210. package/dist/telemetry/track.js.map +1 -0
  211. package/dist/upkeep-run.d.ts +15 -0
  212. package/dist/upkeep-run.d.ts.map +1 -0
  213. package/dist/upkeep-run.js +60 -0
  214. package/dist/upkeep-run.js.map +1 -0
  215. package/dist/upkeep.d.ts +114 -0
  216. package/dist/upkeep.d.ts.map +1 -0
  217. package/dist/upkeep.js +232 -0
  218. package/dist/upkeep.js.map +1 -0
  219. package/dist/util/num.d.ts +3 -0
  220. package/dist/util/num.d.ts.map +1 -0
  221. package/dist/util/num.js +20 -0
  222. package/dist/util/num.js.map +1 -0
  223. package/dist/util/state.d.ts +11 -4
  224. package/dist/util/state.d.ts.map +1 -1
  225. package/dist/util/state.js +9 -0
  226. package/dist/util/state.js.map +1 -1
  227. package/dist/viewer/app.js +1 -1
  228. package/dist/viewer/index.html +1 -0
  229. package/dist/viewer/style.css +23 -2
  230. package/dist/viz/assemble.d.ts +33 -0
  231. package/dist/viz/assemble.d.ts.map +1 -1
  232. package/dist/viz/assemble.js.map +1 -1
  233. package/dist/viz/export.d.ts +39 -0
  234. package/dist/viz/export.d.ts.map +1 -0
  235. package/dist/viz/export.js +98 -0
  236. package/dist/viz/export.js.map +1 -0
  237. package/package.json +15 -5
  238. package/scripts/stamp-telemetry-key.mjs +53 -0
@@ -27,6 +27,9 @@ const FN_VALUE_TYPES = new Set(["arrow_function", "function", "function_expressi
27
27
  * same scope key extract.ts's walk will look it up with), or null if `node`
28
28
  * isn't a definition. */
29
29
  export function defName(node, lang) {
30
+ if (lang === "java") {
31
+ return JAVA_DEF_TYPES.has(node.type) ? (node.childForFieldName("name")?.text ?? null) : null;
32
+ }
30
33
  if (lang === "go") {
31
34
  if (node.type === "method_declaration") {
32
35
  const name = node.childForFieldName("name")?.text;
@@ -40,6 +43,23 @@ export function defName(node, lang) {
40
43
  }
41
44
  return null;
42
45
  }
46
+ if (lang === "php") {
47
+ const phpDefTypes = new Set([
48
+ "class_declaration",
49
+ "interface_declaration",
50
+ "trait_declaration",
51
+ "enum_declaration",
52
+ "method_declaration",
53
+ "function_definition",
54
+ ]);
55
+ if (phpDefTypes.has(node.type))
56
+ return node.childForFieldName("name")?.text ?? null;
57
+ // Closures push a scope segment in extract.ts too — mirror it so a typed
58
+ // parameter bound inside a closure is keyed under the same scope path.
59
+ if (node.type === "anonymous_function" || node.type === "arrow_function")
60
+ return phpClosureName(node);
61
+ return null;
62
+ }
43
63
  const defTypes = lang === "python"
44
64
  ? new Set(["class_definition", "function_definition"])
45
65
  : new Set([
@@ -94,6 +114,10 @@ export function resolveRecvType(receiver, ctx) {
94
114
  ctx.bindings.lookup(ctx.scope, receiver.replace(/^this\./, "self.")) ??
95
115
  undefined);
96
116
  }
117
+ // PHP static call `Foo::bar()`: the scope operand is a class name, so it *is*
118
+ // the receiver type. (Member calls pass a `$var` receiver, filtered by the `$`.)
119
+ if (ctx.lang === "php" && !receiver.startsWith("$"))
120
+ return receiver;
97
121
  return ((ctx.lang === "go" && receiver === ctx.goReceiverVar ? ctx.enclosingClass : undefined) ??
98
122
  ctx.bindings.lookup(ctx.scope, receiver) ??
99
123
  undefined);
@@ -101,11 +125,32 @@ export function resolveRecvType(receiver, ctx) {
101
125
  function isClassNode(node, lang) {
102
126
  if (lang === "python")
103
127
  return node.type === "class_definition";
128
+ if (lang === "java")
129
+ return JAVA_TYPE_DECLS.has(node.type);
104
130
  if (lang === "typescript" || lang === "tsx") {
105
131
  return node.type === "class_declaration" || node.type === "abstract_class_declaration";
106
132
  }
107
133
  return false;
108
134
  }
135
+ /** Java declarations that push a scope segment — mirrors extract.ts's JAVA_KINDS. */
136
+ const JAVA_DEF_TYPES = new Set([
137
+ "class_declaration",
138
+ "interface_declaration",
139
+ "enum_declaration",
140
+ "record_declaration",
141
+ "annotation_type_declaration",
142
+ "annotation_type_element_declaration",
143
+ "method_declaration",
144
+ "constructor_declaration",
145
+ ]);
146
+ /** The subset of the above that owns `this.field` bindings. */
147
+ const JAVA_TYPE_DECLS = new Set([
148
+ "class_declaration",
149
+ "interface_declaration",
150
+ "enum_declaration",
151
+ "record_declaration",
152
+ "annotation_type_declaration",
153
+ ]);
109
154
  /** Pass 1 over a parsed file: collect variable->type bindings. Pure. */
110
155
  export function collectBindings(root, lang) {
111
156
  const bindings = new FileBindings();
@@ -143,6 +188,10 @@ function visit(node, lang, scope, classScope, bindings, aliases) {
143
188
  handlePy(node, scope, classScope, bindings, aliases);
144
189
  else if (lang === "go")
145
190
  handleGo(node, scope, bindings);
191
+ else if (lang === "java")
192
+ handleJava(node, scope, classScope, bindings);
193
+ else if (lang === "php")
194
+ handlePhp(node, scope, bindings);
146
195
  else
147
196
  handleTs(node, scope, classScope, bindings, aliases);
148
197
  const name = defName(node, lang);
@@ -182,6 +231,64 @@ function callTypeName(node, aliases) {
182
231
  return null;
183
232
  return aliases.get(fn.text) ?? fn.text;
184
233
  }
234
+ /** PHP variable->type bindings from the two confident, syntax-local clues:
235
+ * a type-hinted parameter (`function f(Foo $x)`) and a `new` assignment
236
+ * (`$x = new Foo()`). Keyed by the `$var` text (with the `$`) so a
237
+ * `$var->method()` call site resolves through resolveRecvType's bindings
238
+ * lookup, exactly like Python's annotated params and Go's receiver. */
239
+ function handlePhp(node, scope, bindings) {
240
+ if (node.type === "simple_parameter") {
241
+ const type = phpTypeName(node.childForFieldName("type"));
242
+ const name = node.childForFieldName("name");
243
+ if (type && name?.type === "variable_name")
244
+ bindings.set(scope.join("."), name.text, type);
245
+ return;
246
+ }
247
+ if (node.type === "assignment_expression") {
248
+ const left = node.childForFieldName("left");
249
+ const right = node.childForFieldName("right");
250
+ if (left?.type === "variable_name" && right?.type === "object_creation_expression") {
251
+ const type = phpNewType(right);
252
+ if (type)
253
+ bindings.set(scope.join("."), left.text, type);
254
+ }
255
+ }
256
+ }
257
+ /** Closure name, duplicated from extract.ts's `phpClosureName` (this file must
258
+ * not value-import extract.ts) so the two scope stacks agree on the segment a
259
+ * closure pushes. The right-hand-side check compares node `.id` rather than
260
+ * `===` on wrappers for the same reason as extract.ts: wrapper identity is not
261
+ * stable across traversals, so `===` can spuriously fall through to `{closure}`
262
+ * and desync this scope segment from the one extract.ts mints. */
263
+ function phpClosureName(node) {
264
+ const parent = node.parent;
265
+ if (parent?.type === "assignment_expression" && parent.childForFieldName("right")?.id === node.id) {
266
+ const left = parent.childForFieldName("left");
267
+ if (left?.type === "variable_name")
268
+ return left.text.replace(/^\$/, "");
269
+ }
270
+ return "{closure}";
271
+ }
272
+ /** A PHP type hint's class name: unwrap `?T` (optional_type) and `named_type`,
273
+ * de-qualify a namespaced name to its trailing segment. Null for primitives,
274
+ * unions, and intersections (no single confident class to bind). */
275
+ function phpTypeName(node) {
276
+ if (!node)
277
+ return null;
278
+ if (node.type === "named_type" || node.type === "optional_type") {
279
+ return phpTypeName(node.namedChildren[0] ?? null);
280
+ }
281
+ if (node.type === "name")
282
+ return node.text;
283
+ if (node.type === "qualified_name")
284
+ return node.text.replace(/^.*\\/, "");
285
+ return null;
286
+ }
287
+ /** The class name of a `new Foo()` / `new App\Foo()`, de-qualified. */
288
+ function phpNewType(node) {
289
+ const cls = node.namedChildren.find((c) => c.type === "name" || c.type === "qualified_name");
290
+ return cls ? cls.text.replace(/^.*\\/, "") : null;
291
+ }
185
292
  function handlePy(node, scope, classScope, bindings, aliases) {
186
293
  const scopePath = scope.join(".");
187
294
  if (node.type === "typed_parameter") {
@@ -254,10 +361,146 @@ function handleTs(node, scope, classScope, bindings, aliases) {
254
361
  if (pattern?.type !== "identifier")
255
362
  return;
256
363
  const typeName = tsAnnotationTypeName(node.childForFieldName("type"), aliases);
257
- if (typeName)
258
- bindings.set(scopePath, pattern.text, typeName);
364
+ if (!typeName)
365
+ return;
366
+ bindings.set(scopePath, pattern.text, typeName);
367
+ // A parameter PROPERTY (`constructor(private readonly svc: Svc){}`) is a parameter
368
+ // AND a class field, so `this.svc` must resolve to its type — the default DI idiom
369
+ // in NestJS/Angular. The plain-parameter binding above keys on the bare name and at
370
+ // the constructor scope, which `this.svc.method()` call sites never reach; without
371
+ // the field-style binding here their recvType is undefined and the call edge is
372
+ // dropped (#76). Detected by the modifier child a plain parameter never carries.
373
+ const isParamProperty = node.children.some((c) => c.type === "accessibility_modifier" || c.type === "readonly" || c.type === "override_modifier");
374
+ if (isParamProperty)
375
+ bindings.set(classScope ?? scopePath, `this.${pattern.text}`, typeName);
259
376
  }
260
377
  }
378
+ /**
379
+ * Java bindings: locals, parameters, and fields.
380
+ *
381
+ * Java looks like the easy case — it is statically typed, so a declaration states
382
+ * its own type with no inference needed. In practice modern Java leans on `var`,
383
+ * which carries no type at the declaration site. Upstream's documented limit was
384
+ * that a `var` local's member calls stay unresolved; this pass recovers them by
385
+ * falling back to a `new X()` initializer when the declared type is absent or
386
+ * `var`, covering locals, fields, and try-with-resources the same way.
387
+ *
388
+ * Varargs (`String... xs`), try-with-resources (`try (Foo f = ...)`),
389
+ * enhanced-for (`for (Foo x : xs)`), and catch parameters (`catch (E e)`) also
390
+ * bind their names, so a member call on any of them resolves through the bound
391
+ * type rather than falling back to name-only resolution.
392
+ *
393
+ * Fields are recorded twice: bare (`repo.save()`) and `self.`-prefixed
394
+ * (`this.repo.save()`), since resolveRecvType normalizes `this.` to `self.`.
395
+ */
396
+ function handleJava(node, scope, classScope, bindings) {
397
+ const scopePath = scope.join(".");
398
+ // formal_parameter: `Foo bar` in method/constructor signatures
399
+ if (node.type === "formal_parameter") {
400
+ const type = javaTypeName(node.childForFieldName("type"));
401
+ const name = node.childForFieldName("name");
402
+ if (type && name?.type === "identifier")
403
+ bindings.set(scopePath, name.text, type);
404
+ return;
405
+ }
406
+ // spread_parameter (varargs): `Foo... args` — tree-sitter gives this a distinct
407
+ // node type with no field names; the type is the first named child and the name
408
+ // lives inside a `variable_declarator`.
409
+ if (node.type === "spread_parameter") {
410
+ const typeNode = node.namedChildren.find((c) => c.type !== "variable_declarator");
411
+ const name = node.namedChildren.find((c) => c.type === "variable_declarator")?.childForFieldName("name");
412
+ const type = javaTypeName(typeNode);
413
+ if (type && name?.type === "identifier")
414
+ bindings.set(scopePath, name.text, type);
415
+ return;
416
+ }
417
+ // resource (try-with-resources): `try (Foo f = new Foo())` — the `resource` node
418
+ // has `type`, `name`, and `value` fields, binding like a local. `var f = new Foo()`
419
+ // falls back to the constructed type.
420
+ if (node.type === "resource") {
421
+ const name = node.childForFieldName("name");
422
+ const type = javaTypeName(node.childForFieldName("type")) ?? javaNewTypeName(node.childForFieldName("value"));
423
+ if (type && name?.type === "identifier")
424
+ bindings.set(scopePath, name.text, type);
425
+ return;
426
+ }
427
+ // enhanced_for_statement: `for (Foo f : items)` — the loop variable `f` is typed
428
+ // by the `type` field; bind it under the lexical scope so `f.method()` inside the
429
+ // loop body resolves.
430
+ if (node.type === "enhanced_for_statement") {
431
+ const name = node.childForFieldName("name");
432
+ const type = javaTypeName(node.childForFieldName("type"));
433
+ if (type && name?.type === "identifier")
434
+ bindings.set(scopePath, name.text, type);
435
+ return;
436
+ }
437
+ // catch_formal_parameter: `catch (Exception e)` — tree-sitter gives this a
438
+ // distinct node type (not `formal_parameter`); the type lives in a `catch_type`
439
+ // child (which holds one `type_identifier`, or several for multi-catch
440
+ // `IOException | BizException` — bind the first).
441
+ if (node.type === "catch_formal_parameter") {
442
+ const name = node.childForFieldName("name");
443
+ const catchType = node.namedChildren.find((c) => c.type === "catch_type");
444
+ const typeNode = catchType?.namedChildren.find((c) => c.type === "type_identifier" || c.type === "scoped_type_identifier" || c.type === "identifier");
445
+ const type = javaTypeName(typeNode);
446
+ if (type && name?.type === "identifier")
447
+ bindings.set(scopePath, name.text, type);
448
+ return;
449
+ }
450
+ if (node.type !== "local_variable_declaration" && node.type !== "field_declaration")
451
+ return;
452
+ const isField = node.type === "field_declaration";
453
+ const target = isField ? (classScope ?? scopePath) : scopePath;
454
+ for (const d of node.namedChildren) {
455
+ if (d.type !== "variable_declarator")
456
+ continue;
457
+ const name = d.childForFieldName("name");
458
+ if (name?.type !== "identifier")
459
+ continue;
460
+ // Declared type first; fall back to a `new X()` initializer when the type is
461
+ // absent or `var` (upstream's documented limit) — recovers the common
462
+ // `var x = new Foo()` shape without guessing at call-return inference.
463
+ const type = javaTypeName(node.childForFieldName("type")) ?? javaNewTypeName(d.childForFieldName("value"));
464
+ if (!type)
465
+ continue;
466
+ bindings.set(target, name.text, type);
467
+ if (isField)
468
+ bindings.set(target, `self.${name.text}`, type);
469
+ }
470
+ }
471
+ /** A Java type node's bare name. `var` is the inferred-local keyword and states no
472
+ * type, so it binds nothing. A generic binds to its erasure (`List<Order>` → `List`),
473
+ * a qualified type to its final segment (`java.util.List` → `List`), and an array
474
+ * to its element type (`Foo[]` → `Foo`). */
475
+ function javaTypeName(node) {
476
+ if (!node)
477
+ return null;
478
+ if (node.type === "type_identifier")
479
+ return node.text === "var" ? null : node.text;
480
+ if (node.type === "generic_type") {
481
+ const base = node.namedChildren[0];
482
+ return base ? javaTypeName(base) : null;
483
+ }
484
+ if (node.type === "scoped_type_identifier") {
485
+ return node.namedChildren.at(-1)?.text ?? null;
486
+ }
487
+ if (node.type === "array_type") {
488
+ const el = node.childForFieldName("element") ?? node.namedChildren.find((c) => c.type !== "dimensions");
489
+ return el ? javaTypeName(el) : null;
490
+ }
491
+ return null;
492
+ }
493
+ /** The type constructed by a `new X(...)` expression, or null when the value is
494
+ * not an `object_creation_expression` (or the constructed type isn't a bare
495
+ * `type_identifier`/`scoped_type_identifier`/`generic_type`). Used as the
496
+ * fallback for a `var`-typed or untyped local/field/resource whose initializer
497
+ * is a construction — the one shape a single-file pass can infer with no
498
+ * return-type analysis. */
499
+ function javaNewTypeName(value) {
500
+ if (value?.type !== "object_creation_expression")
501
+ return null;
502
+ return javaTypeName(value.childForFieldName("type"));
503
+ }
261
504
  function handleGo(node, scope, bindings) {
262
505
  const scopePath = scope.join(".");
263
506
  if (node.type === "var_spec") {
@@ -1 +1 @@
1
- {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../src/graph/bindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../src/graph/bindings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/graph/build.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAK5D,OAAO,KAAK,EAAW,IAAI,EAAU,QAAQ,EAAW,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AA2BpD,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;sEACkE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;sFAGkF;IAClF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;2DAGuD;IACvD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,wFAAwF;IACxF,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,KAAK,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf;mEAC+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AA2BD,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAwO3B"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/graph/build.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAK5D,OAAO,KAAK,EAAW,IAAI,EAAU,QAAQ,EAAW,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AA2BpD,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;sEACkE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;sFAGkF;IAClF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;2DAGuD;IACvD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,wFAAwF;IACxF,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,KAAK,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf;mEAC+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AA2BD,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CA6P3B"}
@@ -19,10 +19,11 @@ import { walkDir } from "../ingest/fs.js";
19
19
  import { contextDirFor, ensureGitignored, ensureSearchable } from "../context/node-file.js";
20
20
  import { extractFile, languageLabelOf, languageOf } from "./extract.js";
21
21
  import { extractGeneric, genericLangOf, warmGenericGrammars } from "./generic.js";
22
+ import { containerLangOf, extractContainer, warmContainerGrammars } from "./container.js";
22
23
  import { contentHash } from "../util/id.js";
23
24
  import { relPosix } from "../util/paths.js";
24
25
  import { readSourceFile } from "../util/source.js";
25
- import { readIncludeDirs } from "../util/state.js";
26
+ import { readFollowSubmodules, readIncludeDirs } from "../util/state.js";
26
27
  import { emptyExtractCache, readExtractCache, writeExtractCache, } from "./extract-cache.js";
27
28
  import { writeFingerprint } from "./fingerprint.js";
28
29
  import { seedGraph } from "./seed.js";
@@ -93,8 +94,10 @@ export async function buildGraph(dir, opts = {}) {
93
94
  const outDir = contextDirFor(root, opts.contextDir);
94
95
  // Enumerate once: source extraction, scope discovery, and Go module
95
96
  // resolution must agree on the same Git-ignore-aware working-tree view —
96
- // including the repo's persisted `--include-dir` override.
97
- const repoFiles = walkDir(root, readIncludeDirs(root));
97
+ // including the repo's persisted directory and submodule choices.
98
+ const repoFiles = walkDir(root, readIncludeDirs(root), {
99
+ followSubmodules: readFollowSubmodules(root),
100
+ });
98
101
  const files = listSourceStats(root, outDir, repoFiles);
99
102
  const discoveredScopes = discoverScopes(root, repoFiles);
100
103
  const nodes = [];
@@ -121,14 +124,21 @@ export async function buildGraph(dir, opts = {}) {
121
124
  // needs ONCE here (buildGraph is async) before the synchronous parse loop below
122
125
  // can call extractGeneric. Depth-tier (native) grammars need no warmup.
123
126
  await warmGenericGrammars(new Set(files.map((f) => genericLangOf(f.abs)?.name).filter((n) => !!n)));
127
+ // Container tier (.vue and friends) loads its wrapper grammars the same way,
128
+ // for the same reason: extractContainer runs inside the sync loop below.
129
+ await warmContainerGrammars(new Set(files.map((f) => containerLangOf(f.abs)?.name).filter((n) => !!n)));
124
130
  files.forEach((f, i) => {
125
131
  const rel = f.rel;
126
132
  opts.onProgress?.({ phase: "parse", index: i, total: files.length, file: rel });
127
133
  // Depth tier (hand-written, native grammar) if a language claims the file;
128
134
  // otherwise the breadth tier (generic tags.scm over a WASM grammar).
129
135
  const lang = languageOf(f.abs);
130
- const generic = lang ? null : genericLangOf(f.abs);
131
- const label = languageLabelOf(f.abs) ?? generic?.name ?? "unknown";
136
+ // A container is neither tier: its wrapper grammar only locates the embedded
137
+ // block, which then goes to the depth-tier extractor. Checked before the
138
+ // breadth tier so a future grammar claiming .vue can't shadow it.
139
+ const container = lang ? null : containerLangOf(f.abs);
140
+ const generic = lang || container ? null : genericLangOf(f.abs);
141
+ const label = languageLabelOf(f.abs) ?? container?.name ?? generic?.name ?? "unknown";
132
142
  const cached = priorExtract.files[rel];
133
143
  // Every file is read and hashed, every build — only the *parse* is memoized.
134
144
  // The tempting optimization is to trust the probe's `(size, mtimeMs)` and skip
@@ -175,7 +185,9 @@ export async function buildGraph(dir, opts = {}) {
175
185
  try {
176
186
  const { nodes: fileNodes, rawEdges: fileEdges } = lang
177
187
  ? extractFile(rel, source, lang)
178
- : extractGeneric(rel, source, generic.name);
188
+ : container
189
+ ? extractContainer(rel, source, container)
190
+ : extractGeneric(rel, source, generic.name);
179
191
  nodes.push(...fileNodes);
180
192
  rawEdges.push(...fileEdges);
181
193
  sources.set(rel, source);
@@ -199,19 +211,13 @@ export async function buildGraph(dir, opts = {}) {
199
211
  files: entries,
200
212
  });
201
213
  const edges = resolveEdges(nodes, rawEdges, { goModules: readGoModules(root, repoFiles) });
202
- // graph.json is its own Tier-2 cache: fold in the prior meaning layer so an
203
- // unchanged body is never re-summarized (and a Tier-1-only run never wipes it).
204
- const prior = readGraph(wiringPath(outDir));
205
- const priorById = new Map((prior?.nodes ?? []).map((n) => [n.id, n]));
206
- const meaning = await enrichGraph(nodes, priorById, sources, {
207
- summarizer: opts.summarizer,
208
- concurrency: opts.concurrency,
209
- onProgress: ({ index, total, node }) => opts.onProgress?.({ phase: "enrich", index, total, file: node }),
210
- });
211
- errors.push(...meaning.errors);
212
214
  // Guard 5 (minimum-substance): node counts aren't known until nodes are
213
215
  // assembled, so the merge-tiny-scopes-into-root guard runs here.
214
216
  const scopes = applyMinSubstanceGuard(discoveredScopes, nodes);
217
+ // Assemble the graph BEFORE the meaning pass, so the crux pass can checkpoint it to
218
+ // disk periodically (#128): crux/summary mutate node objects in place and never
219
+ // change the node/edge SET, so `meta` stays valid; the opt-in LSP pass below is the
220
+ // only thing that adds edges, and it runs before the final write.
215
221
  const graph = {
216
222
  meta: {
217
223
  version: 1,
@@ -223,6 +229,20 @@ export async function buildGraph(dir, opts = {}) {
223
229
  nodes,
224
230
  edges,
225
231
  };
232
+ // graph.json is its own Tier-2 cache: fold in the prior meaning layer so an
233
+ // unchanged body is never re-summarized (and a Tier-1-only run never wipes it).
234
+ // Read BEFORE the first checkpoint can overwrite wiring.json.
235
+ const prior = readGraph(wiringPath(outDir));
236
+ const priorById = new Map((prior?.nodes ?? []).map((n) => [n.id, n]));
237
+ const meaning = await enrichGraph(nodes, priorById, sources, {
238
+ summarizer: opts.summarizer,
239
+ concurrency: opts.concurrency,
240
+ onProgress: ({ index, total, node }) => opts.onProgress?.({ phase: "enrich", index, total, file: node }),
241
+ // Periodic durability flush of partial crux; the next run folds it back in by
242
+ // body_hash, so an interrupted --deep run never repays the crux it computed.
243
+ checkpoint: () => writeGraph(graph, outDir),
244
+ });
245
+ errors.push(...meaning.errors);
226
246
  // Opt-in compiler-grade enrichment (adds lsp_resolved call edges in place).
227
247
  // Runs on the assembled graph so callee positions map back to nodes; never
228
248
  // touches the extraction cache (Tier-1 stays pristine, cold==incremental).
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/graph/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/graph/build.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,10 @@ export interface GraphCheckResult {
8
8
  stale: string[];
9
9
  /** Nodes never summarized (reported for context; not counted as drift). */
10
10
  pending: number;
11
+ /** Committed nodes in total — the denominator that turns `pending` into a
12
+ * coverage figure. A deep build that lost most of its LLM calls (#127) is only
13
+ * distinguishable from a deliberate Tier-1 build by the SHARE that is missing. */
14
+ nodes: number;
11
15
  }
12
16
  export interface GraphCheckOptions {
13
17
  contextDir?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/graph/check.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,uEAAuE;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAkE3B;AAED,8DAA8D;AAC9D,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CA+BlE"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/graph/check.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,uEAAuE;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB;;sFAEkF;IAClF,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAoE3B;AAED,8DAA8D;AAC9D,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAoClE"}
@@ -40,6 +40,7 @@ export async function checkGraph(dir, opts = {}) {
40
40
  changed: [],
41
41
  stale: [],
42
42
  pending: 0,
43
+ nodes: 0,
43
44
  };
44
45
  const committed = readGraph(wiringPath(outDir));
45
46
  if (!committed) {
@@ -74,6 +75,7 @@ export async function checkGraph(dir, opts = {}) {
74
75
  }
75
76
  }
76
77
  const committedById = new Map(committed.nodes.map((n) => [n.id, n]));
78
+ result.nodes = committedById.size;
77
79
  for (const [id, node] of committedById) {
78
80
  const now = current.get(id);
79
81
  if (now === undefined)
@@ -104,7 +106,12 @@ export function formatGraphCheckReport(r) {
104
106
  return "graph check: NO GRAPH\n\nNo graft/.graph/wiring.json found. Run `graft build` first.";
105
107
  }
106
108
  if (r.ok) {
107
- const note = r.pending ? ` (${r.pending} node(s) not yet summarized — run \`graft build --deep\`)` : "";
109
+ // A share, not a bare count: "1203 not yet summarized" reads the same whether
110
+ // the repo was never deep-built or a deep build failed most of its calls.
111
+ const pct = r.nodes > 0 ? Math.round(((r.nodes - r.pending) / r.nodes) * 100) : 0;
112
+ const note = r.pending
113
+ ? ` (meaning tier ${pct}% complete — ${r.pending} of ${r.nodes} node(s) not yet summarized; run \`graft build --deep\`)`
114
+ : "";
108
115
  return `graph check: OK — the wiring graph is in sync with the code.${note}`;
109
116
  }
110
117
  const lines = ["graph check: STALE", ""];
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/graph/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/graph/check.ts"],"names":[],"mappings":"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"}