@quolu/lattice 0.70.0 → 0.71.1

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 (603) hide show
  1. package/bin/lattice.mjs +21 -0
  2. package/package.json +1 -1
  3. package/sensor/dist/bin/lattice-sensor.js +746 -323
  4. package/sensor/dist/bin/viewer-gate.d.ts +17 -0
  5. package/sensor/dist/bin/viewer-gate.d.ts.map +1 -0
  6. package/sensor/dist/bin/viewer-gate.js +31 -0
  7. package/sensor/dist/bin/viewer-gate.js.map +1 -0
  8. package/sensor/dist/context/formatter.d.ts +7 -1
  9. package/sensor/dist/context/formatter.d.ts.map +1 -1
  10. package/sensor/dist/context/formatter.js +12 -6
  11. package/sensor/dist/context/formatter.js.map +1 -1
  12. package/sensor/dist/context/index.d.ts +12 -0
  13. package/sensor/dist/context/index.d.ts.map +1 -1
  14. package/sensor/dist/context/index.js +103 -16
  15. package/sensor/dist/context/index.js.map +1 -1
  16. package/sensor/dist/db/index.d.ts +23 -2
  17. package/sensor/dist/db/index.d.ts.map +1 -1
  18. package/sensor/dist/db/index.js +109 -31
  19. package/sensor/dist/db/index.js.map +1 -1
  20. package/sensor/dist/db/migrations.d.ts +1 -1
  21. package/sensor/dist/db/migrations.d.ts.map +1 -1
  22. package/sensor/dist/db/migrations.js +68 -1
  23. package/sensor/dist/db/migrations.js.map +1 -1
  24. package/sensor/dist/db/queries.d.ts +583 -6
  25. package/sensor/dist/db/queries.d.ts.map +1 -1
  26. package/sensor/dist/db/queries.js +1425 -57
  27. package/sensor/dist/db/queries.js.map +1 -1
  28. package/sensor/dist/db/schema.sql +27 -4
  29. package/sensor/dist/db/sqlite-adapter.d.ts +2 -0
  30. package/sensor/dist/db/sqlite-adapter.d.ts.map +1 -1
  31. package/sensor/dist/db/sqlite-adapter.js +56 -7
  32. package/sensor/dist/db/sqlite-adapter.js.map +1 -1
  33. package/sensor/dist/db/synthesis-stage.d.ts +12 -0
  34. package/sensor/dist/db/synthesis-stage.d.ts.map +1 -0
  35. package/sensor/dist/db/synthesis-stage.js +93 -0
  36. package/sensor/dist/db/synthesis-stage.js.map +1 -0
  37. package/sensor/dist/db/wal-valve.d.ts +32 -12
  38. package/sensor/dist/db/wal-valve.d.ts.map +1 -1
  39. package/sensor/dist/db/wal-valve.js +65 -22
  40. package/sensor/dist/db/wal-valve.js.map +1 -1
  41. package/sensor/dist/db/wsl-shared-index.d.ts +53 -0
  42. package/sensor/dist/db/wsl-shared-index.d.ts.map +1 -0
  43. package/sensor/dist/db/wsl-shared-index.js +121 -0
  44. package/sensor/dist/db/wsl-shared-index.js.map +1 -0
  45. package/sensor/dist/directory.d.ts +126 -2
  46. package/sensor/dist/directory.d.ts.map +1 -1
  47. package/sensor/dist/directory.js +285 -16
  48. package/sensor/dist/directory.js.map +1 -1
  49. package/sensor/dist/errors.d.ts +14 -0
  50. package/sensor/dist/errors.d.ts.map +1 -1
  51. package/sensor/dist/errors.js +16 -1
  52. package/sensor/dist/errors.js.map +1 -1
  53. package/sensor/dist/extraction/cfml-extractor.d.ts +1 -0
  54. package/sensor/dist/extraction/cfml-extractor.d.ts.map +1 -1
  55. package/sensor/dist/extraction/cfml-extractor.js +15 -3
  56. package/sensor/dist/extraction/cfml-extractor.js.map +1 -1
  57. package/sensor/dist/extraction/dfm-extractor.d.ts.map +1 -1
  58. package/sensor/dist/extraction/dfm-extractor.js +14 -10
  59. package/sensor/dist/extraction/dfm-extractor.js.map +1 -1
  60. package/sensor/dist/extraction/extraction-version.d.ts +1 -1
  61. package/sensor/dist/extraction/extraction-version.d.ts.map +1 -1
  62. package/sensor/dist/extraction/extraction-version.js +3 -1
  63. package/sensor/dist/extraction/extraction-version.js.map +1 -1
  64. package/sensor/dist/extraction/function-ref.d.ts +6 -4
  65. package/sensor/dist/extraction/function-ref.d.ts.map +1 -1
  66. package/sensor/dist/extraction/function-ref.js +35 -14
  67. package/sensor/dist/extraction/function-ref.js.map +1 -1
  68. package/sensor/dist/extraction/generated-detection.d.ts +48 -12
  69. package/sensor/dist/extraction/generated-detection.d.ts.map +1 -1
  70. package/sensor/dist/extraction/generated-detection.js +176 -11
  71. package/sensor/dist/extraction/generated-detection.js.map +1 -1
  72. package/sensor/dist/extraction/grammars.d.ts +38 -0
  73. package/sensor/dist/extraction/grammars.d.ts.map +1 -1
  74. package/sensor/dist/extraction/grammars.js +115 -3
  75. package/sensor/dist/extraction/grammars.js.map +1 -1
  76. package/sensor/dist/extraction/index.d.ts +218 -14
  77. package/sensor/dist/extraction/index.d.ts.map +1 -1
  78. package/sensor/dist/extraction/index.js +887 -175
  79. package/sensor/dist/extraction/index.js.map +1 -1
  80. package/sensor/dist/extraction/languages/c-cpp.d.ts +58 -0
  81. package/sensor/dist/extraction/languages/c-cpp.d.ts.map +1 -1
  82. package/sensor/dist/extraction/languages/c-cpp.js +310 -19
  83. package/sensor/dist/extraction/languages/c-cpp.js.map +1 -1
  84. package/sensor/dist/extraction/languages/dart.d.ts.map +1 -1
  85. package/sensor/dist/extraction/languages/dart.js +8 -3
  86. package/sensor/dist/extraction/languages/dart.js.map +1 -1
  87. package/sensor/dist/extraction/languages/erlang.d.ts.map +1 -1
  88. package/sensor/dist/extraction/languages/erlang.js +58 -22
  89. package/sensor/dist/extraction/languages/erlang.js.map +1 -1
  90. package/sensor/dist/extraction/languages/javascript.js +1 -1
  91. package/sensor/dist/extraction/languages/javascript.js.map +1 -1
  92. package/sensor/dist/extraction/languages/kotlin.d.ts.map +1 -1
  93. package/sensor/dist/extraction/languages/kotlin.js +169 -36
  94. package/sensor/dist/extraction/languages/kotlin.js.map +1 -1
  95. package/sensor/dist/extraction/languages/lua.d.ts.map +1 -1
  96. package/sensor/dist/extraction/languages/lua.js +4 -1
  97. package/sensor/dist/extraction/languages/lua.js.map +1 -1
  98. package/sensor/dist/extraction/languages/objc.d.ts.map +1 -1
  99. package/sensor/dist/extraction/languages/objc.js +4 -0
  100. package/sensor/dist/extraction/languages/objc.js.map +1 -1
  101. package/sensor/dist/extraction/languages/python.d.ts.map +1 -1
  102. package/sensor/dist/extraction/languages/python.js +71 -0
  103. package/sensor/dist/extraction/languages/python.js.map +1 -1
  104. package/sensor/dist/extraction/languages/rust.d.ts +20 -0
  105. package/sensor/dist/extraction/languages/rust.d.ts.map +1 -1
  106. package/sensor/dist/extraction/languages/rust.js +50 -20
  107. package/sensor/dist/extraction/languages/rust.js.map +1 -1
  108. package/sensor/dist/extraction/languages/scala.d.ts.map +1 -1
  109. package/sensor/dist/extraction/languages/scala.js +18 -3
  110. package/sensor/dist/extraction/languages/scala.js.map +1 -1
  111. package/sensor/dist/extraction/languages/swift.d.ts +15 -0
  112. package/sensor/dist/extraction/languages/swift.d.ts.map +1 -1
  113. package/sensor/dist/extraction/languages/swift.js +50 -0
  114. package/sensor/dist/extraction/languages/swift.js.map +1 -1
  115. package/sensor/dist/extraction/languages/typescript.d.ts.map +1 -1
  116. package/sensor/dist/extraction/languages/typescript.js +9 -2
  117. package/sensor/dist/extraction/languages/typescript.js.map +1 -1
  118. package/sensor/dist/extraction/liquid-extractor.d.ts +18 -0
  119. package/sensor/dist/extraction/liquid-extractor.d.ts.map +1 -1
  120. package/sensor/dist/extraction/liquid-extractor.js +98 -22
  121. package/sensor/dist/extraction/liquid-extractor.js.map +1 -1
  122. package/sensor/dist/extraction/mybatis-extractor.d.ts.map +1 -1
  123. package/sensor/dist/extraction/mybatis-extractor.js +6 -4
  124. package/sensor/dist/extraction/mybatis-extractor.js.map +1 -1
  125. package/sensor/dist/extraction/parse-pool.d.ts +7 -0
  126. package/sensor/dist/extraction/parse-pool.d.ts.map +1 -1
  127. package/sensor/dist/extraction/parse-pool.js +20 -1
  128. package/sensor/dist/extraction/parse-pool.js.map +1 -1
  129. package/sensor/dist/extraction/syntax-tokens.d.ts +103 -0
  130. package/sensor/dist/extraction/syntax-tokens.d.ts.map +1 -0
  131. package/sensor/dist/extraction/syntax-tokens.js +381 -0
  132. package/sensor/dist/extraction/syntax-tokens.js.map +1 -0
  133. package/sensor/dist/extraction/tree-sitter-helpers.d.ts +5 -0
  134. package/sensor/dist/extraction/tree-sitter-helpers.d.ts.map +1 -1
  135. package/sensor/dist/extraction/tree-sitter-helpers.js +17 -0
  136. package/sensor/dist/extraction/tree-sitter-helpers.js.map +1 -1
  137. package/sensor/dist/extraction/tree-sitter-types.d.ts +31 -3
  138. package/sensor/dist/extraction/tree-sitter-types.d.ts.map +1 -1
  139. package/sensor/dist/extraction/tree-sitter.d.ts +101 -18
  140. package/sensor/dist/extraction/tree-sitter.d.ts.map +1 -1
  141. package/sensor/dist/extraction/tree-sitter.js +928 -134
  142. package/sensor/dist/extraction/tree-sitter.js.map +1 -1
  143. package/sensor/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  144. package/sensor/dist/file-limits.d.ts +40 -0
  145. package/sensor/dist/file-limits.d.ts.map +1 -0
  146. package/sensor/dist/file-limits.js +147 -0
  147. package/sensor/dist/file-limits.js.map +1 -0
  148. package/sensor/dist/graph/branch-guards.d.ts +265 -0
  149. package/sensor/dist/graph/branch-guards.d.ts.map +1 -0
  150. package/sensor/dist/graph/branch-guards.js +2325 -0
  151. package/sensor/dist/graph/branch-guards.js.map +1 -0
  152. package/sensor/dist/graph/dead-code.d.ts +251 -0
  153. package/sensor/dist/graph/dead-code.d.ts.map +1 -0
  154. package/sensor/dist/graph/dead-code.js +776 -0
  155. package/sensor/dist/graph/dead-code.js.map +1 -0
  156. package/sensor/dist/graph/dynamic-boundary-report.d.ts +121 -0
  157. package/sensor/dist/graph/dynamic-boundary-report.d.ts.map +1 -0
  158. package/sensor/dist/graph/dynamic-boundary-report.js +283 -0
  159. package/sensor/dist/graph/dynamic-boundary-report.js.map +1 -0
  160. package/sensor/dist/graph/index.d.ts +4 -0
  161. package/sensor/dist/graph/index.d.ts.map +1 -1
  162. package/sensor/dist/graph/index.js +16 -1
  163. package/sensor/dist/graph/index.js.map +1 -1
  164. package/sensor/dist/graph/named-symbol-flow.d.ts +125 -0
  165. package/sensor/dist/graph/named-symbol-flow.d.ts.map +1 -0
  166. package/sensor/dist/graph/named-symbol-flow.js +552 -0
  167. package/sensor/dist/graph/named-symbol-flow.js.map +1 -0
  168. package/sensor/dist/graph/queries.d.ts.map +1 -1
  169. package/sensor/dist/graph/queries.js +2 -0
  170. package/sensor/dist/graph/queries.js.map +1 -1
  171. package/sensor/dist/graph/symbol-lookup.d.ts +83 -0
  172. package/sensor/dist/graph/symbol-lookup.d.ts.map +1 -0
  173. package/sensor/dist/graph/symbol-lookup.js +181 -0
  174. package/sensor/dist/graph/symbol-lookup.js.map +1 -0
  175. package/sensor/dist/graph/traversal.d.ts +9 -0
  176. package/sensor/dist/graph/traversal.d.ts.map +1 -1
  177. package/sensor/dist/graph/traversal.js +62 -36
  178. package/sensor/dist/graph/traversal.js.map +1 -1
  179. package/sensor/dist/graph/type-hierarchy.d.ts +155 -0
  180. package/sensor/dist/graph/type-hierarchy.d.ts.map +1 -0
  181. package/sensor/dist/graph/type-hierarchy.js +382 -0
  182. package/sensor/dist/graph/type-hierarchy.js.map +1 -0
  183. package/sensor/dist/index.d.ts +272 -10
  184. package/sensor/dist/index.d.ts.map +1 -1
  185. package/sensor/dist/index.js +510 -34
  186. package/sensor/dist/index.js.map +1 -1
  187. package/sensor/dist/mcp/answer-freshness.d.ts +10 -0
  188. package/sensor/dist/mcp/answer-freshness.d.ts.map +1 -0
  189. package/sensor/dist/mcp/answer-freshness.js +68 -0
  190. package/sensor/dist/mcp/answer-freshness.js.map +1 -0
  191. package/sensor/dist/mcp/daemon-manager.d.ts +1 -1
  192. package/sensor/dist/mcp/daemon-manager.d.ts.map +1 -1
  193. package/sensor/dist/mcp/daemon-manager.js +17 -1
  194. package/sensor/dist/mcp/daemon-manager.js.map +1 -1
  195. package/sensor/dist/mcp/daemon-paths.d.ts +8 -0
  196. package/sensor/dist/mcp/daemon-paths.d.ts.map +1 -1
  197. package/sensor/dist/mcp/daemon-paths.js +65 -2
  198. package/sensor/dist/mcp/daemon-paths.js.map +1 -1
  199. package/sensor/dist/mcp/daemon-registry.d.ts +17 -4
  200. package/sensor/dist/mcp/daemon-registry.d.ts.map +1 -1
  201. package/sensor/dist/mcp/daemon-registry.js +133 -23
  202. package/sensor/dist/mcp/daemon-registry.js.map +1 -1
  203. package/sensor/dist/mcp/daemon.d.ts +26 -13
  204. package/sensor/dist/mcp/daemon.d.ts.map +1 -1
  205. package/sensor/dist/mcp/daemon.js +126 -32
  206. package/sensor/dist/mcp/daemon.js.map +1 -1
  207. package/sensor/dist/mcp/dynamic-boundaries.d.ts +1 -10
  208. package/sensor/dist/mcp/dynamic-boundaries.d.ts.map +1 -1
  209. package/sensor/dist/mcp/dynamic-boundaries.js +46 -42
  210. package/sensor/dist/mcp/dynamic-boundaries.js.map +1 -1
  211. package/sensor/dist/mcp/engine.d.ts +31 -9
  212. package/sensor/dist/mcp/engine.d.ts.map +1 -1
  213. package/sensor/dist/mcp/engine.js +190 -79
  214. package/sensor/dist/mcp/engine.js.map +1 -1
  215. package/sensor/dist/mcp/explore-dedup.d.ts +140 -0
  216. package/sensor/dist/mcp/explore-dedup.d.ts.map +1 -0
  217. package/sensor/dist/mcp/explore-dedup.js +239 -0
  218. package/sensor/dist/mcp/explore-dedup.js.map +1 -0
  219. package/sensor/dist/mcp/explore-diagnostics.d.ts +289 -0
  220. package/sensor/dist/mcp/explore-diagnostics.d.ts.map +1 -0
  221. package/sensor/dist/mcp/explore-diagnostics.js +558 -0
  222. package/sensor/dist/mcp/explore-diagnostics.js.map +1 -0
  223. package/sensor/dist/mcp/explore-session-state.d.ts +217 -0
  224. package/sensor/dist/mcp/explore-session-state.d.ts.map +1 -0
  225. package/sensor/dist/mcp/explore-session-state.js +322 -0
  226. package/sensor/dist/mcp/explore-session-state.js.map +1 -0
  227. package/sensor/dist/mcp/index-freshness-worker.d.ts +2 -0
  228. package/sensor/dist/mcp/index-freshness-worker.d.ts.map +1 -0
  229. package/sensor/dist/mcp/index-freshness-worker.js +30 -0
  230. package/sensor/dist/mcp/index-freshness-worker.js.map +1 -0
  231. package/sensor/dist/mcp/index-freshness.d.ts +7 -0
  232. package/sensor/dist/mcp/index-freshness.d.ts.map +1 -0
  233. package/sensor/dist/mcp/index-freshness.js +94 -0
  234. package/sensor/dist/mcp/index-freshness.js.map +1 -0
  235. package/sensor/dist/mcp/index.d.ts +3 -1
  236. package/sensor/dist/mcp/index.d.ts.map +1 -1
  237. package/sensor/dist/mcp/index.js +109 -12
  238. package/sensor/dist/mcp/index.js.map +1 -1
  239. package/sensor/dist/mcp/liveness-watchdog.d.ts +4 -1
  240. package/sensor/dist/mcp/liveness-watchdog.d.ts.map +1 -1
  241. package/sensor/dist/mcp/liveness-watchdog.js +11 -2
  242. package/sensor/dist/mcp/liveness-watchdog.js.map +1 -1
  243. package/sensor/dist/mcp/project-lifecycle.d.ts +9 -0
  244. package/sensor/dist/mcp/project-lifecycle.d.ts.map +1 -0
  245. package/sensor/dist/mcp/project-lifecycle.js +182 -0
  246. package/sensor/dist/mcp/project-lifecycle.js.map +1 -0
  247. package/sensor/dist/mcp/proxy.d.ts.map +1 -1
  248. package/sensor/dist/mcp/proxy.js +15 -1
  249. package/sensor/dist/mcp/proxy.js.map +1 -1
  250. package/sensor/dist/mcp/query-pool.d.ts +2 -2
  251. package/sensor/dist/mcp/query-pool.d.ts.map +1 -1
  252. package/sensor/dist/mcp/query-pool.js +9 -7
  253. package/sensor/dist/mcp/query-pool.js.map +1 -1
  254. package/sensor/dist/mcp/query-worker.js +2 -2
  255. package/sensor/dist/mcp/query-worker.js.map +1 -1
  256. package/sensor/dist/mcp/server-instructions.d.ts +2 -2
  257. package/sensor/dist/mcp/server-instructions.d.ts.map +1 -1
  258. package/sensor/dist/mcp/server-instructions.js +13 -6
  259. package/sensor/dist/mcp/server-instructions.js.map +1 -1
  260. package/sensor/dist/mcp/session.d.ts +16 -0
  261. package/sensor/dist/mcp/session.d.ts.map +1 -1
  262. package/sensor/dist/mcp/session.js +36 -13
  263. package/sensor/dist/mcp/session.js.map +1 -1
  264. package/sensor/dist/mcp/startup-handshake.d.ts +3 -1
  265. package/sensor/dist/mcp/startup-handshake.d.ts.map +1 -1
  266. package/sensor/dist/mcp/startup-handshake.js +10 -2
  267. package/sensor/dist/mcp/startup-handshake.js.map +1 -1
  268. package/sensor/dist/mcp/tools.d.ts +496 -38
  269. package/sensor/dist/mcp/tools.d.ts.map +1 -1
  270. package/sensor/dist/mcp/tools.js +4021 -772
  271. package/sensor/dist/mcp/tools.js.map +1 -1
  272. package/sensor/dist/mcp/writer-lock.d.ts +61 -0
  273. package/sensor/dist/mcp/writer-lock.d.ts.map +1 -0
  274. package/sensor/dist/mcp/writer-lock.js +260 -0
  275. package/sensor/dist/mcp/writer-lock.js.map +1 -0
  276. package/sensor/dist/project-config.d.ts +23 -0
  277. package/sensor/dist/project-config.d.ts.map +1 -1
  278. package/sensor/dist/project-config.js +39 -2
  279. package/sensor/dist/project-config.js.map +1 -1
  280. package/sensor/dist/resolution/alias-binding.d.ts +56 -0
  281. package/sensor/dist/resolution/alias-binding.d.ts.map +1 -0
  282. package/sensor/dist/resolution/alias-binding.js +127 -0
  283. package/sensor/dist/resolution/alias-binding.js.map +1 -0
  284. package/sensor/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -1
  285. package/sensor/dist/resolution/c-fnptr-synthesizer.js +21 -19
  286. package/sensor/dist/resolution/c-fnptr-synthesizer.js.map +1 -1
  287. package/sensor/dist/resolution/callback-synthesizer.d.ts +23 -1
  288. package/sensor/dist/resolution/callback-synthesizer.d.ts.map +1 -1
  289. package/sensor/dist/resolution/callback-synthesizer.js +356 -155
  290. package/sensor/dist/resolution/callback-synthesizer.js.map +1 -1
  291. package/sensor/dist/resolution/cpp-constructor.d.ts +4 -0
  292. package/sensor/dist/resolution/cpp-constructor.d.ts.map +1 -0
  293. package/sensor/dist/resolution/cpp-constructor.js +123 -0
  294. package/sensor/dist/resolution/cpp-constructor.js.map +1 -0
  295. package/sensor/dist/resolution/cpp-macro-visibility.d.ts +12 -0
  296. package/sensor/dist/resolution/cpp-macro-visibility.d.ts.map +1 -0
  297. package/sensor/dist/resolution/cpp-macro-visibility.js +342 -0
  298. package/sensor/dist/resolution/cpp-macro-visibility.js.map +1 -0
  299. package/sensor/dist/resolution/expo-router-synthesizer.d.ts +32 -0
  300. package/sensor/dist/resolution/expo-router-synthesizer.d.ts.map +1 -0
  301. package/sensor/dist/resolution/expo-router-synthesizer.js +189 -0
  302. package/sensor/dist/resolution/expo-router-synthesizer.js.map +1 -0
  303. package/sensor/dist/resolution/frameworks/csharp.d.ts.map +1 -1
  304. package/sensor/dist/resolution/frameworks/csharp.js +96 -2
  305. package/sensor/dist/resolution/frameworks/csharp.js.map +1 -1
  306. package/sensor/dist/resolution/frameworks/expo-router.d.ts +189 -0
  307. package/sensor/dist/resolution/frameworks/expo-router.d.ts.map +1 -0
  308. package/sensor/dist/resolution/frameworks/expo-router.js +785 -0
  309. package/sensor/dist/resolution/frameworks/expo-router.js.map +1 -0
  310. package/sensor/dist/resolution/frameworks/express.d.ts.map +1 -1
  311. package/sensor/dist/resolution/frameworks/express.js +251 -16
  312. package/sensor/dist/resolution/frameworks/express.js.map +1 -1
  313. package/sensor/dist/resolution/frameworks/index.d.ts +5 -0
  314. package/sensor/dist/resolution/frameworks/index.d.ts.map +1 -1
  315. package/sensor/dist/resolution/frameworks/index.js +29 -1
  316. package/sensor/dist/resolution/frameworks/index.js.map +1 -1
  317. package/sensor/dist/resolution/frameworks/java.d.ts.map +1 -1
  318. package/sensor/dist/resolution/frameworks/java.js +79 -47
  319. package/sensor/dist/resolution/frameworks/java.js.map +1 -1
  320. package/sensor/dist/resolution/frameworks/laravel.d.ts.map +1 -1
  321. package/sensor/dist/resolution/frameworks/laravel.js +294 -4
  322. package/sensor/dist/resolution/frameworks/laravel.js.map +1 -1
  323. package/sensor/dist/resolution/frameworks/nestjs.d.ts.map +1 -1
  324. package/sensor/dist/resolution/frameworks/nestjs.js +6 -14
  325. package/sensor/dist/resolution/frameworks/nestjs.js.map +1 -1
  326. package/sensor/dist/resolution/frameworks/nextjs.d.ts +76 -0
  327. package/sensor/dist/resolution/frameworks/nextjs.d.ts.map +1 -0
  328. package/sensor/dist/resolution/frameworks/nextjs.js +328 -0
  329. package/sensor/dist/resolution/frameworks/nextjs.js.map +1 -0
  330. package/sensor/dist/resolution/frameworks/object-literal.d.ts +32 -0
  331. package/sensor/dist/resolution/frameworks/object-literal.d.ts.map +1 -0
  332. package/sensor/dist/resolution/frameworks/object-literal.js +139 -0
  333. package/sensor/dist/resolution/frameworks/object-literal.js.map +1 -0
  334. package/sensor/dist/resolution/frameworks/package-deps.d.ts +14 -0
  335. package/sensor/dist/resolution/frameworks/package-deps.d.ts.map +1 -0
  336. package/sensor/dist/resolution/frameworks/package-deps.js +78 -0
  337. package/sensor/dist/resolution/frameworks/package-deps.js.map +1 -0
  338. package/sensor/dist/resolution/frameworks/python.d.ts.map +1 -1
  339. package/sensor/dist/resolution/frameworks/python.js +166 -0
  340. package/sensor/dist/resolution/frameworks/python.js.map +1 -1
  341. package/sensor/dist/resolution/frameworks/react-native.d.ts +26 -0
  342. package/sensor/dist/resolution/frameworks/react-native.d.ts.map +1 -1
  343. package/sensor/dist/resolution/frameworks/react-native.js +153 -14
  344. package/sensor/dist/resolution/frameworks/react-native.js.map +1 -1
  345. package/sensor/dist/resolution/frameworks/react-router.d.ts +46 -0
  346. package/sensor/dist/resolution/frameworks/react-router.d.ts.map +1 -0
  347. package/sensor/dist/resolution/frameworks/react-router.js +187 -0
  348. package/sensor/dist/resolution/frameworks/react-router.js.map +1 -0
  349. package/sensor/dist/resolution/frameworks/react.d.ts +2 -1
  350. package/sensor/dist/resolution/frameworks/react.d.ts.map +1 -1
  351. package/sensor/dist/resolution/frameworks/react.js +188 -139
  352. package/sensor/dist/resolution/frameworks/react.js.map +1 -1
  353. package/sensor/dist/resolution/frameworks/svelte.d.ts.map +1 -1
  354. package/sensor/dist/resolution/frameworks/svelte.js +6 -1
  355. package/sensor/dist/resolution/frameworks/svelte.js.map +1 -1
  356. package/sensor/dist/resolution/frameworks/sveltekit-router.d.ts +36 -0
  357. package/sensor/dist/resolution/frameworks/sveltekit-router.d.ts.map +1 -0
  358. package/sensor/dist/resolution/frameworks/sveltekit-router.js +156 -0
  359. package/sensor/dist/resolution/frameworks/sveltekit-router.js.map +1 -0
  360. package/sensor/dist/resolution/frameworks/swift.d.ts.map +1 -1
  361. package/sensor/dist/resolution/frameworks/swift.js +140 -99
  362. package/sensor/dist/resolution/frameworks/swift.js.map +1 -1
  363. package/sensor/dist/resolution/frameworks/tanstack-router.d.ts +84 -0
  364. package/sensor/dist/resolution/frameworks/tanstack-router.d.ts.map +1 -0
  365. package/sensor/dist/resolution/frameworks/tanstack-router.js +437 -0
  366. package/sensor/dist/resolution/frameworks/tanstack-router.js.map +1 -0
  367. package/sensor/dist/resolution/frameworks/vue-router.d.ts +82 -0
  368. package/sensor/dist/resolution/frameworks/vue-router.d.ts.map +1 -0
  369. package/sensor/dist/resolution/frameworks/vue-router.js +377 -0
  370. package/sensor/dist/resolution/frameworks/vue-router.js.map +1 -0
  371. package/sensor/dist/resolution/import-resolver.d.ts +38 -0
  372. package/sensor/dist/resolution/import-resolver.d.ts.map +1 -1
  373. package/sensor/dist/resolution/import-resolver.js +394 -28
  374. package/sensor/dist/resolution/import-resolver.js.map +1 -1
  375. package/sensor/dist/resolution/index.d.ts +89 -25
  376. package/sensor/dist/resolution/index.d.ts.map +1 -1
  377. package/sensor/dist/resolution/index.js +573 -148
  378. package/sensor/dist/resolution/index.js.map +1 -1
  379. package/sensor/dist/resolution/js-builtins.d.ts +13 -0
  380. package/sensor/dist/resolution/js-builtins.d.ts.map +1 -0
  381. package/sensor/dist/resolution/js-builtins.js +46 -0
  382. package/sensor/dist/resolution/js-builtins.js.map +1 -0
  383. package/sensor/dist/resolution/name-matcher.d.ts +99 -22
  384. package/sensor/dist/resolution/name-matcher.d.ts.map +1 -1
  385. package/sensor/dist/resolution/name-matcher.js +2220 -86
  386. package/sensor/dist/resolution/name-matcher.js.map +1 -1
  387. package/sensor/dist/resolution/next-router-synthesizer.d.ts +27 -0
  388. package/sensor/dist/resolution/next-router-synthesizer.d.ts.map +1 -0
  389. package/sensor/dist/resolution/next-router-synthesizer.js +113 -0
  390. package/sensor/dist/resolution/next-router-synthesizer.js.map +1 -0
  391. package/sensor/dist/resolution/path-aliases.d.ts +6 -4
  392. package/sensor/dist/resolution/path-aliases.d.ts.map +1 -1
  393. package/sensor/dist/resolution/path-aliases.js +125 -17
  394. package/sensor/dist/resolution/path-aliases.js.map +1 -1
  395. package/sensor/dist/resolution/react-router-synthesizer.d.ts +33 -0
  396. package/sensor/dist/resolution/react-router-synthesizer.d.ts.map +1 -0
  397. package/sensor/dist/resolution/react-router-synthesizer.js +126 -0
  398. package/sensor/dist/resolution/react-router-synthesizer.js.map +1 -0
  399. package/sensor/dist/resolution/resolver-pool.d.ts +2 -0
  400. package/sensor/dist/resolution/resolver-pool.d.ts.map +1 -1
  401. package/sensor/dist/resolution/resolver-pool.js +4 -0
  402. package/sensor/dist/resolution/resolver-pool.js.map +1 -1
  403. package/sensor/dist/resolution/strip-comments.d.ts +6 -0
  404. package/sensor/dist/resolution/strip-comments.d.ts.map +1 -1
  405. package/sensor/dist/resolution/strip-comments.js +58 -0
  406. package/sensor/dist/resolution/strip-comments.js.map +1 -1
  407. package/sensor/dist/resolution/sveltekit-synthesizer.d.ts +58 -0
  408. package/sensor/dist/resolution/sveltekit-synthesizer.d.ts.map +1 -0
  409. package/sensor/dist/resolution/sveltekit-synthesizer.js +173 -0
  410. package/sensor/dist/resolution/sveltekit-synthesizer.js.map +1 -0
  411. package/sensor/dist/resolution/swift-type-visibility.d.ts +52 -0
  412. package/sensor/dist/resolution/swift-type-visibility.d.ts.map +1 -0
  413. package/sensor/dist/resolution/swift-type-visibility.js +328 -0
  414. package/sensor/dist/resolution/swift-type-visibility.js.map +1 -0
  415. package/sensor/dist/resolution/synth-utils.d.ts +26 -0
  416. package/sensor/dist/resolution/synth-utils.d.ts.map +1 -0
  417. package/sensor/dist/resolution/synth-utils.js +75 -0
  418. package/sensor/dist/resolution/synth-utils.js.map +1 -0
  419. package/sensor/dist/resolution/tanstack-router-synthesizer.d.ts +31 -0
  420. package/sensor/dist/resolution/tanstack-router-synthesizer.d.ts.map +1 -0
  421. package/sensor/dist/resolution/tanstack-router-synthesizer.js +114 -0
  422. package/sensor/dist/resolution/tanstack-router-synthesizer.js.map +1 -0
  423. package/sensor/dist/resolution/tier-synthesizer.d.ts +54 -0
  424. package/sensor/dist/resolution/tier-synthesizer.d.ts.map +1 -0
  425. package/sensor/dist/resolution/tier-synthesizer.js +1294 -0
  426. package/sensor/dist/resolution/tier-synthesizer.js.map +1 -0
  427. package/sensor/dist/resolution/types.d.ts +78 -2
  428. package/sensor/dist/resolution/types.d.ts.map +1 -1
  429. package/sensor/dist/resolution/types.js +64 -0
  430. package/sensor/dist/resolution/types.js.map +1 -1
  431. package/sensor/dist/resolution/vue-router-synthesizer.d.ts +30 -0
  432. package/sensor/dist/resolution/vue-router-synthesizer.d.ts.map +1 -0
  433. package/sensor/dist/resolution/vue-router-synthesizer.js +115 -0
  434. package/sensor/dist/resolution/vue-router-synthesizer.js.map +1 -0
  435. package/sensor/dist/search/identifier-segments.d.ts +10 -0
  436. package/sensor/dist/search/identifier-segments.d.ts.map +1 -1
  437. package/sensor/dist/search/identifier-segments.js +29 -0
  438. package/sensor/dist/search/identifier-segments.js.map +1 -1
  439. package/sensor/dist/search/query-paths.d.ts +106 -0
  440. package/sensor/dist/search/query-paths.d.ts.map +1 -0
  441. package/sensor/dist/search/query-paths.js +513 -0
  442. package/sensor/dist/search/query-paths.js.map +1 -0
  443. package/sensor/dist/search/query-utils.d.ts +22 -2
  444. package/sensor/dist/search/query-utils.d.ts.map +1 -1
  445. package/sensor/dist/search/query-utils.js +56 -16
  446. package/sensor/dist/search/query-utils.js.map +1 -1
  447. package/sensor/dist/sync/watch-policy.d.ts +14 -0
  448. package/sensor/dist/sync/watch-policy.d.ts.map +1 -1
  449. package/sensor/dist/sync/watch-policy.js +19 -0
  450. package/sensor/dist/sync/watch-policy.js.map +1 -1
  451. package/sensor/dist/sync/watcher.d.ts +74 -35
  452. package/sensor/dist/sync/watcher.d.ts.map +1 -1
  453. package/sensor/dist/sync/watcher.js +281 -99
  454. package/sensor/dist/sync/watcher.js.map +1 -1
  455. package/sensor/dist/telemetry/index.d.ts +4 -2
  456. package/sensor/dist/telemetry/index.d.ts.map +1 -1
  457. package/sensor/dist/telemetry/index.js +92 -41
  458. package/sensor/dist/telemetry/index.js.map +1 -1
  459. package/sensor/dist/types.d.ts +18 -2
  460. package/sensor/dist/types.d.ts.map +1 -1
  461. package/sensor/dist/types.js +2 -0
  462. package/sensor/dist/types.js.map +1 -1
  463. package/sensor/dist/ui-server/api/deadcode.d.ts +84 -0
  464. package/sensor/dist/ui-server/api/deadcode.d.ts.map +1 -0
  465. package/sensor/dist/ui-server/api/deadcode.js +136 -0
  466. package/sensor/dist/ui-server/api/deadcode.js.map +1 -0
  467. package/sensor/dist/ui-server/api/effects.d.ts +94 -0
  468. package/sensor/dist/ui-server/api/effects.d.ts.map +1 -0
  469. package/sensor/dist/ui-server/api/effects.js +527 -0
  470. package/sensor/dist/ui-server/api/effects.js.map +1 -0
  471. package/sensor/dist/ui-server/api/entrypoints.d.ts +92 -0
  472. package/sensor/dist/ui-server/api/entrypoints.d.ts.map +1 -0
  473. package/sensor/dist/ui-server/api/entrypoints.js +361 -0
  474. package/sensor/dist/ui-server/api/entrypoints.js.map +1 -0
  475. package/sensor/dist/ui-server/api/events.d.ts +183 -0
  476. package/sensor/dist/ui-server/api/events.d.ts.map +1 -0
  477. package/sensor/dist/ui-server/api/events.js +430 -0
  478. package/sensor/dist/ui-server/api/events.js.map +1 -0
  479. package/sensor/dist/ui-server/api/file.d.ts +66 -0
  480. package/sensor/dist/ui-server/api/file.d.ts.map +1 -0
  481. package/sensor/dist/ui-server/api/file.js +235 -0
  482. package/sensor/dist/ui-server/api/file.js.map +1 -0
  483. package/sensor/dist/ui-server/api/filecode.d.ts +126 -0
  484. package/sensor/dist/ui-server/api/filecode.d.ts.map +1 -0
  485. package/sensor/dist/ui-server/api/filecode.js +205 -0
  486. package/sensor/dist/ui-server/api/filecode.js.map +1 -0
  487. package/sensor/dist/ui-server/api/flow.d.ts +226 -0
  488. package/sensor/dist/ui-server/api/flow.d.ts.map +1 -0
  489. package/sensor/dist/ui-server/api/flow.js +612 -0
  490. package/sensor/dist/ui-server/api/flow.js.map +1 -0
  491. package/sensor/dist/ui-server/api/hierarchy.d.ts +81 -0
  492. package/sensor/dist/ui-server/api/hierarchy.d.ts.map +1 -0
  493. package/sensor/dist/ui-server/api/hierarchy.js +92 -0
  494. package/sensor/dist/ui-server/api/hierarchy.js.map +1 -0
  495. package/sensor/dist/ui-server/api/index.d.ts +90 -0
  496. package/sensor/dist/ui-server/api/index.d.ts.map +1 -0
  497. package/sensor/dist/ui-server/api/index.js +332 -0
  498. package/sensor/dist/ui-server/api/index.js.map +1 -0
  499. package/sensor/dist/ui-server/api/map.d.ts +256 -0
  500. package/sensor/dist/ui-server/api/map.d.ts.map +1 -0
  501. package/sensor/dist/ui-server/api/map.js +760 -0
  502. package/sensor/dist/ui-server/api/map.js.map +1 -0
  503. package/sensor/dist/ui-server/api/node.d.ts +81 -0
  504. package/sensor/dist/ui-server/api/node.d.ts.map +1 -0
  505. package/sensor/dist/ui-server/api/node.js +388 -0
  506. package/sensor/dist/ui-server/api/node.js.map +1 -0
  507. package/sensor/dist/ui-server/api/nodes.d.ts +25 -0
  508. package/sensor/dist/ui-server/api/nodes.d.ts.map +1 -0
  509. package/sensor/dist/ui-server/api/nodes.js +45 -0
  510. package/sensor/dist/ui-server/api/nodes.js.map +1 -0
  511. package/sensor/dist/ui-server/api/program.d.ts +139 -0
  512. package/sensor/dist/ui-server/api/program.d.ts.map +1 -0
  513. package/sensor/dist/ui-server/api/program.js +315 -0
  514. package/sensor/dist/ui-server/api/program.js.map +1 -0
  515. package/sensor/dist/ui-server/api/respond.d.ts +76 -0
  516. package/sensor/dist/ui-server/api/respond.d.ts.map +1 -0
  517. package/sensor/dist/ui-server/api/respond.js +186 -0
  518. package/sensor/dist/ui-server/api/respond.js.map +1 -0
  519. package/sensor/dist/ui-server/api/route-roots.d.ts +39 -0
  520. package/sensor/dist/ui-server/api/route-roots.d.ts.map +1 -0
  521. package/sensor/dist/ui-server/api/route-roots.js +96 -0
  522. package/sensor/dist/ui-server/api/route-roots.js.map +1 -0
  523. package/sensor/dist/ui-server/api/routes.d.ts +59 -0
  524. package/sensor/dist/ui-server/api/routes.d.ts.map +1 -0
  525. package/sensor/dist/ui-server/api/routes.js +108 -0
  526. package/sensor/dist/ui-server/api/routes.js.map +1 -0
  527. package/sensor/dist/ui-server/api/screens.d.ts +117 -0
  528. package/sensor/dist/ui-server/api/screens.d.ts.map +1 -0
  529. package/sensor/dist/ui-server/api/screens.js +611 -0
  530. package/sensor/dist/ui-server/api/screens.js.map +1 -0
  531. package/sensor/dist/ui-server/api/search.d.ts +29 -0
  532. package/sensor/dist/ui-server/api/search.d.ts.map +1 -0
  533. package/sensor/dist/ui-server/api/search.js +232 -0
  534. package/sensor/dist/ui-server/api/search.js.map +1 -0
  535. package/sensor/dist/ui-server/api/session.d.ts +52 -0
  536. package/sensor/dist/ui-server/api/session.d.ts.map +1 -0
  537. package/sensor/dist/ui-server/api/session.js +196 -0
  538. package/sensor/dist/ui-server/api/session.js.map +1 -0
  539. package/sensor/dist/ui-server/api/source.d.ts +200 -0
  540. package/sensor/dist/ui-server/api/source.d.ts.map +1 -0
  541. package/sensor/dist/ui-server/api/source.js +422 -0
  542. package/sensor/dist/ui-server/api/source.js.map +1 -0
  543. package/sensor/dist/ui-server/api/stats.d.ts +27 -0
  544. package/sensor/dist/ui-server/api/stats.d.ts.map +1 -0
  545. package/sensor/dist/ui-server/api/stats.js +164 -0
  546. package/sensor/dist/ui-server/api/stats.js.map +1 -0
  547. package/sensor/dist/ui-server/api/steps.d.ts +274 -0
  548. package/sensor/dist/ui-server/api/steps.d.ts.map +1 -0
  549. package/sensor/dist/ui-server/api/steps.js +1544 -0
  550. package/sensor/dist/ui-server/api/steps.js.map +1 -0
  551. package/sensor/dist/ui-server/api/trail-store.d.ts +142 -0
  552. package/sensor/dist/ui-server/api/trail-store.d.ts.map +1 -0
  553. package/sensor/dist/ui-server/api/trail-store.js +325 -0
  554. package/sensor/dist/ui-server/api/trail-store.js.map +1 -0
  555. package/sensor/dist/ui-server/api/trails.d.ts +163 -0
  556. package/sensor/dist/ui-server/api/trails.d.ts.map +1 -0
  557. package/sensor/dist/ui-server/api/trails.js +369 -0
  558. package/sensor/dist/ui-server/api/trails.js.map +1 -0
  559. package/sensor/dist/ui-server/api/when.d.ts +133 -0
  560. package/sensor/dist/ui-server/api/when.d.ts.map +1 -0
  561. package/sensor/dist/ui-server/api/when.js +275 -0
  562. package/sensor/dist/ui-server/api/when.js.map +1 -0
  563. package/sensor/dist/ui-server/api/wire.d.ts +179 -0
  564. package/sensor/dist/ui-server/api/wire.d.ts.map +1 -0
  565. package/sensor/dist/ui-server/api/wire.js +231 -0
  566. package/sensor/dist/ui-server/api/wire.js.map +1 -0
  567. package/sensor/dist/ui-server/assets.d.ts +40 -0
  568. package/sensor/dist/ui-server/assets.d.ts.map +1 -0
  569. package/sensor/dist/ui-server/assets.js +110 -0
  570. package/sensor/dist/ui-server/assets.js.map +1 -0
  571. package/sensor/dist/ui-server/constants.d.ts +32 -0
  572. package/sensor/dist/ui-server/constants.d.ts.map +1 -0
  573. package/sensor/dist/ui-server/constants.js +35 -0
  574. package/sensor/dist/ui-server/constants.js.map +1 -0
  575. package/sensor/dist/ui-server/highlight/index.d.ts +113 -0
  576. package/sensor/dist/ui-server/highlight/index.d.ts.map +1 -0
  577. package/sensor/dist/ui-server/highlight/index.js +307 -0
  578. package/sensor/dist/ui-server/highlight/index.js.map +1 -0
  579. package/sensor/dist/ui-server/highlight/languages.d.ts +36 -0
  580. package/sensor/dist/ui-server/highlight/languages.d.ts.map +1 -0
  581. package/sensor/dist/ui-server/highlight/languages.js +50 -0
  582. package/sensor/dist/ui-server/highlight/languages.js.map +1 -0
  583. package/sensor/dist/ui-server/index.d.ts +92 -0
  584. package/sensor/dist/ui-server/index.d.ts.map +1 -0
  585. package/sensor/dist/ui-server/index.js +399 -0
  586. package/sensor/dist/ui-server/index.js.map +1 -0
  587. package/sensor/dist/ui-server/open-browser.d.ts +31 -0
  588. package/sensor/dist/ui-server/open-browser.d.ts.map +1 -0
  589. package/sensor/dist/ui-server/open-browser.js +79 -0
  590. package/sensor/dist/ui-server/open-browser.js.map +1 -0
  591. package/sensor/dist/ui-server/security.d.ts +127 -0
  592. package/sensor/dist/ui-server/security.d.ts.map +1 -0
  593. package/sensor/dist/ui-server/security.js +332 -0
  594. package/sensor/dist/ui-server/security.js.map +1 -0
  595. package/sensor/dist/ui-server/static.d.ts +45 -0
  596. package/sensor/dist/ui-server/static.d.ts.map +1 -0
  597. package/sensor/dist/ui-server/static.js +165 -0
  598. package/sensor/dist/ui-server/static.js.map +1 -0
  599. package/sensor/dist/utils.d.ts +14 -2
  600. package/sensor/dist/utils.d.ts.map +1 -1
  601. package/sensor/dist/utils.js +25 -10
  602. package/sensor/dist/utils.js.map +1 -1
  603. package/src/sensor-adapter.mjs +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"function-ref.js","sourceRoot":"","sources":["../../src/extraction/function-ref.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function-ref.js","sourceRoot":"","sources":["../../src/extraction/function-ref.ts"],"names":[],"mappings":"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"}
@@ -8,18 +8,39 @@
8
8
  * see project_go_multi_module_audit memory). Generated stubs frequently
9
9
  * have no body to trace from, so the agent ends up reading source anyway.
10
10
  *
11
- * This helper is a pure path-based classifier consulted at disambiguation
12
- * time (findSymbol / findAllSymbols / lattice_sensor_search formatting), NOT
13
- * a hard filter — generated nodes are still in the graph and remain
14
- * reachable; they just rank LAST when there's a real implementation
15
- * with the same name.
16
- *
17
- * Scope: suffix patterns only. Most generated files follow the
18
- * `<basename>.<tool>.<ext>` convention (`.pb.go`, `_grpc.pb.go`,
19
- * `.g.dart`, `_pb2.py`), and that covers ~all of what we saw in the
20
- * Go audit. A future addition would be scanning for the canonical
21
- * `// Code generated by` header during extraction, for the rare files
22
- * that defy the suffix convention.
11
+ * This is a relevance hint consulted at disambiguation time (findSymbol /
12
+ * findAllSymbols / explore ranking / lattice_sensor_search formatting), NOT a
13
+ * hard filter — generated nodes are still in the graph and remain
14
+ * reachable; they just rank LAST when there's a real implementation with
15
+ * the same name.
16
+ *
17
+ * Two signals, deliberately separate:
18
+ *
19
+ * 1. {@link isGeneratedFile} — PATH only, pure and synchronous. Most
20
+ * generated files follow the `<basename>.<tool>.<ext>` convention
21
+ * (`.pb.go`, `_grpc.pb.go`, `.g.dart`, `_pb2.py`). Free to call
22
+ * anywhere, including in a sort comparator.
23
+ *
24
+ * 2. {@link hasGeneratedHeader} — CONTENT banner in the file's head. Go's
25
+ * own convention is a content marker, not a filename one, so a
26
+ * generated `payroll.go` sitting beside hand-written use-cases is
27
+ * invisible to (1) — that is issue #1500. Evaluated ONCE at index time
28
+ * (the file's content is already in memory for parsing) and persisted
29
+ * on the file record as `files.generated`; readers get it from the DB
30
+ * rather than re-reading headers per request. See
31
+ * GENERATED_CONTENT_PATTERNS below for the banners recognized.
32
+ *
33
+ * Consumers that have a bounded candidate list should use the DB-backed
34
+ * union (`QueryBuilder.getGeneratedPathsAmong` /
35
+ * `LatticeSensor.getGeneratedFilePaths`) so both signals apply; the path-only
36
+ * check remains the fallback for callers with no database in hand and for
37
+ * indexes built before the flag existed.
38
+ *
39
+ * NOTE for future editors: the banner literals quoted in this file sit
40
+ * BELOW the header window this detector scans, so the module does not
41
+ * classify itself. `generated-detection.test.ts` pins that — if you move
42
+ * the pattern table upward, the test fails rather than the repo silently
43
+ * demoting its own file.
23
44
  */
24
45
  /**
25
46
  * Whether `filePath` looks like a tool-generated source file based on
@@ -27,4 +48,19 @@
27
48
  * relevance hint for disambiguation, not a hard claim.
28
49
  */
29
50
  export declare function isGeneratedFile(filePath: string): boolean;
51
+ /**
52
+ * Whether the head of `content` carries a recognized machine-generation
53
+ * banner. Bounded to {@link HEADER_SCAN_CHARS} / {@link HEADER_SCAN_LINES},
54
+ * and the marker must sit on a comment line — a generator's own source, which
55
+ * holds the banner as a string constant in its body, is not flagged.
56
+ *
57
+ * Called once per file during extraction (content is already in memory), NOT
58
+ * per query: the verdict is persisted on the file record.
59
+ */
60
+ export declare function hasGeneratedHeader(content: string): boolean;
61
+ /**
62
+ * The union signal: path convention OR content banner. This is what the
63
+ * indexer persists to `files.generated`.
64
+ */
65
+ export declare function detectGeneratedFile(filePath: string, content: string): boolean;
30
66
  //# sourceMappingURL=generated-detection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generated-detection.d.ts","sourceRoot":"","sources":["../../src/extraction/generated-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAmDH;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD"}
1
+ {"version":3,"file":"generated-detection.d.ts","sourceRoot":"","sources":["../../src/extraction/generated-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAmDH;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAgGD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAsC3D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAE9E"}
@@ -9,21 +9,44 @@
9
9
  * see project_go_multi_module_audit memory). Generated stubs frequently
10
10
  * have no body to trace from, so the agent ends up reading source anyway.
11
11
  *
12
- * This helper is a pure path-based classifier consulted at disambiguation
13
- * time (findSymbol / findAllSymbols / lattice_sensor_search formatting), NOT
14
- * a hard filter — generated nodes are still in the graph and remain
15
- * reachable; they just rank LAST when there's a real implementation
16
- * with the same name.
12
+ * This is a relevance hint consulted at disambiguation time (findSymbol /
13
+ * findAllSymbols / explore ranking / lattice_sensor_search formatting), NOT a
14
+ * hard filter — generated nodes are still in the graph and remain
15
+ * reachable; they just rank LAST when there's a real implementation with
16
+ * the same name.
17
17
  *
18
- * Scope: suffix patterns only. Most generated files follow the
19
- * `<basename>.<tool>.<ext>` convention (`.pb.go`, `_grpc.pb.go`,
20
- * `.g.dart`, `_pb2.py`), and that covers ~all of what we saw in the
21
- * Go audit. A future addition would be scanning for the canonical
22
- * `// Code generated by` header during extraction, for the rare files
23
- * that defy the suffix convention.
18
+ * Two signals, deliberately separate:
19
+ *
20
+ * 1. {@link isGeneratedFile} — PATH only, pure and synchronous. Most
21
+ * generated files follow the `<basename>.<tool>.<ext>` convention
22
+ * (`.pb.go`, `_grpc.pb.go`, `.g.dart`, `_pb2.py`). Free to call
23
+ * anywhere, including in a sort comparator.
24
+ *
25
+ * 2. {@link hasGeneratedHeader} — CONTENT banner in the file's head. Go's
26
+ * own convention is a content marker, not a filename one, so a
27
+ * generated `payroll.go` sitting beside hand-written use-cases is
28
+ * invisible to (1) — that is issue #1500. Evaluated ONCE at index time
29
+ * (the file's content is already in memory for parsing) and persisted
30
+ * on the file record as `files.generated`; readers get it from the DB
31
+ * rather than re-reading headers per request. See
32
+ * GENERATED_CONTENT_PATTERNS below for the banners recognized.
33
+ *
34
+ * Consumers that have a bounded candidate list should use the DB-backed
35
+ * union (`QueryBuilder.getGeneratedPathsAmong` /
36
+ * `LatticeSensor.getGeneratedFilePaths`) so both signals apply; the path-only
37
+ * check remains the fallback for callers with no database in hand and for
38
+ * indexes built before the flag existed.
39
+ *
40
+ * NOTE for future editors: the banner literals quoted in this file sit
41
+ * BELOW the header window this detector scans, so the module does not
42
+ * classify itself. `generated-detection.test.ts` pins that — if you move
43
+ * the pattern table upward, the test fails rather than the repo silently
44
+ * demoting its own file.
24
45
  */
25
46
  Object.defineProperty(exports, "__esModule", { value: true });
26
47
  exports.isGeneratedFile = isGeneratedFile;
48
+ exports.hasGeneratedHeader = hasGeneratedHeader;
49
+ exports.detectGeneratedFile = detectGeneratedFile;
27
50
  const GENERATED_PATTERNS = [
28
51
  // Go — protobuf / gRPC / pulsar
29
52
  /\.pb\.go$/,
@@ -80,4 +103,146 @@ const GENERATED_PATTERNS = [
80
103
  function isGeneratedFile(filePath) {
81
104
  return GENERATED_PATTERNS.some((p) => p.test(filePath));
82
105
  }
106
+ // =============================================================================
107
+ // Content-header detection (#1500)
108
+ // =============================================================================
109
+ /**
110
+ * How much of a file's head to consider "the header". Generous enough for a
111
+ * build-tag block + an Apache-2.0 license preamble (~15 lines) sitting above
112
+ * the banner, tight enough that a `"// Code generated ... DO NOT EDIT."`
113
+ * string constant in the *body* of a code generator's own source can't
114
+ * masquerade as a banner.
115
+ */
116
+ const HEADER_SCAN_CHARS = 8192;
117
+ const HEADER_SCAN_LINES = 60;
118
+ /**
119
+ * Cheap pre-filter run on the header of EVERY indexed file. Every marker
120
+ * below contains the stem "generat", so one unanchored scan rejects ~all
121
+ * hand-written source before any line splitting happens — this is what keeps
122
+ * content detection off the index-time cost budget.
123
+ */
124
+ const GENERATED_STEM = /generat/i;
125
+ /**
126
+ * Line-comment leaders across the languages we index. A banner must sit on a
127
+ * comment line (or inside an open block comment, tracked below): generators
128
+ * always emit theirs as a comment, and requiring it rules out string literals
129
+ * and identifiers that merely contain the words.
130
+ *
131
+ * `--` covers SQL/Haskell/Lua, `%` LaTeX/Erlang/Prolog, `;` Lisp/asm/ini,
132
+ * `'` VB, `!` Fortran, `*` a continuation line inside a `/* … *\/` block.
133
+ */
134
+ const COMMENT_LEADER = /^\s*(?:\/\/|\/\*+|\*+\/?|#+|--+|<!--|%+|;+|'|!|\(\*|\{-|"""|'''|=begin|<#|@rem\b|rem\b)/i;
135
+ /**
136
+ * Openers/closers for block comments, so a banner on an unprefixed line
137
+ * inside `/* … *\/` (or `<!-- … -->`, or a Python module docstring) still
138
+ * counts. Deliberately naive — it only runs over a file's first few dozen
139
+ * lines, where a `/*` inside a string literal is vanishingly rare, and the
140
+ * worst case of a mis-tracked state is a ranking hint, not a wrong answer.
141
+ */
142
+ const BLOCK_DELIMS = [
143
+ { open: '/*', close: '*/' },
144
+ { open: '<!--', close: '-->' },
145
+ { open: '"""', close: '"""' },
146
+ { open: "'''", close: "'''" },
147
+ { open: '=begin', close: '=end' },
148
+ { open: '<#', close: '#>' },
149
+ ];
150
+ /**
151
+ * The banners themselves. Each is a real convention emitted by a widely-used
152
+ * generator; the list is precision-first, because a false positive silently
153
+ * demotes hand-written code in every ranking path.
154
+ */
155
+ const GENERATED_CONTENT_PATTERNS = [
156
+ // Go's codified convention — `^// Code generated .* DO NOT EDIT\.$`, defined
157
+ // by `go generate` and honored by gofmt, golangci-lint and GitHub linguist.
158
+ // Emitted verbatim by protoc-gen-go, mockgen, sqlc, ent, wire, stringer, and
159
+ // by in-house generators like the FKIT CRUD in #1500 — where the file is
160
+ // named `payroll.go` and nothing in the PATH gives it away.
161
+ /\bcode generated\b.{0,200}?\bdo not edit\b/i,
162
+ // protoc's Java/C#/Python banner ("Generated by the protocol buffer
163
+ // compiler. DO NOT EDIT!"), ANTLR, Dagger, FlatBuffers, rust-bindgen,
164
+ // Xcode asset catalogs, Bazel rules.
165
+ /\b(?:automatically |auto[- ]?)?generated (?:by|from|with)\b.{0,200}?\bdo not (?:edit|modify|change)\b/i,
166
+ // The `@generated` marker: the JS/TS ecosystem's convention (Relay, GraphQL
167
+ // codegen, protobuf-es/Buf, Meta's `@generated SignedSource<<…>>`), also
168
+ // what linguist and `git diff` collapse on. Guarded against `foo@generated`
169
+ // and `@@generated` so only a standalone tag matches.
170
+ /(?:^|[^\p{L}\p{N}_@])@generated\b/u,
171
+ // .NET's `<auto-generated>` / `<auto-generated />` doc tag: Roslyn, the
172
+ // WinForms designer, T4 templates, protoc-gen-csharp, EF scaffolding.
173
+ /<auto-?generated\s*\/?>/i,
174
+ // swagger-codegen / OpenAPI Generator ("NOTE: This class is auto generated
175
+ // by OpenAPI Generator"), Thrift ("Autogenerated by Thrift Compiler"),
176
+ // FlatBuffers ("automatically generated by the FlatBuffers compiler").
177
+ // "by" is required — bare "automatically generated" appears in hand-written
178
+ // prose ("the table below is automatically generated at runtime").
179
+ /\b(?:automatically generated|auto[- ]?generated|autogenerated) by\b/i,
180
+ // The "run this command to regenerate" shape: Cloudflare Wrangler
181
+ // ("Generated by Wrangler by running `wrangler types` (hash: …)"), and the
182
+ // same phrasing used by other CLI-driven emitters. Bare "generated by" is
183
+ // deliberately NOT enough — it is ordinary prose — so the reproduction
184
+ // instruction is the discriminator: the banner must name a tool AND then
185
+ // say `by running`, i.e. TWO separate "by" clauses. That rules out
186
+ // "the report is generated by running the nightly job", which has only one.
187
+ /\bgenerated by\s+\S.{0,80}?\bby running\b/i,
188
+ // Self-declaring in-house banners that name no tool.
189
+ /\bthis (?:file|class|code|module) (?:is|was) (?:auto[- ]?)?generated\b/i,
190
+ // The reverse ordering: "DO NOT EDIT — this is a generated file".
191
+ /\bdo not (?:edit|modify)\b.{0,120}?\b(?:auto[- ]?generated|generated file|generated code)\b/i,
192
+ ];
193
+ /**
194
+ * Whether the head of `content` carries a recognized machine-generation
195
+ * banner. Bounded to {@link HEADER_SCAN_CHARS} / {@link HEADER_SCAN_LINES},
196
+ * and the marker must sit on a comment line — a generator's own source, which
197
+ * holds the banner as a string constant in its body, is not flagged.
198
+ *
199
+ * Called once per file during extraction (content is already in memory), NOT
200
+ * per query: the verdict is persisted on the file record.
201
+ */
202
+ function hasGeneratedHeader(content) {
203
+ if (!content)
204
+ return false;
205
+ const head = content.length > HEADER_SCAN_CHARS ? content.slice(0, HEADER_SCAN_CHARS) : content;
206
+ // Fast reject for ~every hand-written file: no line splitting, no allocation
207
+ // (V8 keeps `head` as a sliced view of `content`).
208
+ if (!GENERATED_STEM.test(head))
209
+ return false;
210
+ const lines = head.split('\n');
211
+ const limit = Math.min(lines.length, HEADER_SCAN_LINES);
212
+ let openBlock = null;
213
+ for (let i = 0; i < limit; i++) {
214
+ const line = lines[i];
215
+ const inBlock = openBlock !== null;
216
+ if (inBlock || COMMENT_LEADER.test(line)) {
217
+ for (const pattern of GENERATED_CONTENT_PATTERNS) {
218
+ if (pattern.test(line))
219
+ return true;
220
+ }
221
+ }
222
+ // Advance the block-comment state AFTER testing, so the opening line of a
223
+ // `/* Code generated … */` block is itself matched by the leader rule.
224
+ if (openBlock) {
225
+ if (line.includes(openBlock.close))
226
+ openBlock = null;
227
+ continue;
228
+ }
229
+ for (const delim of BLOCK_DELIMS) {
230
+ const at = line.indexOf(delim.open);
231
+ if (at < 0)
232
+ continue;
233
+ // Same-line close (`/* … */`, a one-line docstring) leaves no open block.
234
+ if (line.indexOf(delim.close, at + delim.open.length) < 0)
235
+ openBlock = delim;
236
+ break;
237
+ }
238
+ }
239
+ return false;
240
+ }
241
+ /**
242
+ * The union signal: path convention OR content banner. This is what the
243
+ * indexer persists to `files.generated`.
244
+ */
245
+ function detectGeneratedFile(filePath, content) {
246
+ return isGeneratedFile(filePath) || hasGeneratedHeader(content);
247
+ }
83
248
  //# sourceMappingURL=generated-detection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generated-detection.js","sourceRoot":"","sources":["../../src/extraction/generated-detection.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;AAwDH,0CAEC;AAxDD,MAAM,kBAAkB,GAA0B;IAChD,gCAAgC;IAChC,WAAW;IACX,eAAe;IACf,gBAAgB;IAChB,oEAAoE;IACpE,kEAAkE;IAClE,gEAAgE;IAChE,uDAAuD;IACvD,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,sEAAsE;IACtE,iEAAiE;IACjE,uBAAuB;IACvB,iBAAiB;IACjB,cAAc;IACd,aAAa;IACb,kBAAkB;IAClB,sEAAsE;IACtE,0DAA0D;IAC1D,cAAc;IACd,6CAA6C;IAC7C,mBAAmB;IACnB,YAAY;IACZ,iBAAiB;IACjB,eAAe;IACf,qEAAqE;IACrE,0DAA0D;IAC1D,UAAU;IACV,WAAW;IACX,oEAAoE;IACpE,oEAAoE;IACpE,oCAAoC;IACpC,mBAAmB;IACnB,aAAa;IACb,mBAAmB;IACnB,cAAc;IACd,8DAA8D;IAC9D,YAAY;IACZ,kBAAkB;IAClB,aAAa;IACb,iBAAiB;IACjB,kBAAkB;IAClB,wEAAwE;IACxE,gEAAgE;IAChE,kBAAkB;CACnB,CAAC;AAEF;;;;GAIG;AACH,SAAgB,eAAe,CAAC,QAAgB;IAC9C,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"generated-detection.js","sourceRoot":"","sources":["../../src/extraction/generated-detection.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,34 @@ export type GrammarLanguage = Exclude<Language, 'svelte' | 'vue' | 'astro' | 'li
12
12
  * File extension to Language mapping
13
13
  */
14
14
  export declare const EXTENSION_MAP: Record<string, Language>;
15
+ /**
16
+ * How many bytes of a file's head `isMpegTransportStream` needs — enough to
17
+ * see `MPEG_TS_MIN_PACKETS` sync bytes plus the packets between them.
18
+ */
19
+ export declare const MPEG_TS_SNIFF_BYTES: number;
20
+ /**
21
+ * Whether these leading bytes are an MPEG transport stream — the OTHER thing a
22
+ * `.ts` file can be. Golden video fixtures (`testdata/*.ts`, e2e clips) share
23
+ * TypeScript's extension, and tree-sitter takes ~28 s to chew through a 900 KB
24
+ * clip for zero symbols (#1910), so the decision has to be made from the head
25
+ * of the file, before any parse.
26
+ *
27
+ * Two conditions, both required:
28
+ * 1. the sync byte 0x47 sits at every 188-byte packet boundary of the first
29
+ * `MPEG_TS_MIN_PACKETS` packets — every packet of a transport stream
30
+ * opens with it, and nothing else pads to 188;
31
+ * 2. the head is binary: at least `MPEG_TS_MIN_CONTROL_SHARE` of it is
32
+ * control bytes, as any compressed payload is.
33
+ * 0x47 is the letter `G`, so (1) alone could match source whose lines happen
34
+ * to put a `G` at every 188-byte stride. Checking for a single NUL was not
35
+ * enough to close that: one NUL in a comment is still TypeScript. (2) asks for
36
+ * dozens of control bytes, which no source file carries.
37
+ *
38
+ * `head` is the first `MPEG_TS_SNIFF_BYTES` (or fewer) bytes of the file.
39
+ */
40
+ export declare function isMpegTransportStream(head: Uint8Array): boolean;
41
+ /** Whether `filePath` carries the one extension MPEG-TS shares with a language. */
42
+ export declare function hasMpegTsExtension(filePath: string): boolean;
15
43
  /**
16
44
  * Whether a file is one LatticeSensor can parse, based purely on its extension.
17
45
  * This is the single source of truth for "should we index this file" — derived
@@ -92,6 +120,16 @@ export declare function getParser(language: Language): Parser | null;
92
120
  * `EXTENSION_MAP`. Omitting it is byte-identical to the zero-config behavior.
93
121
  */
94
122
  export declare function detectLanguage(filePath: string, source?: string, overrides?: Record<string, Language>): Language;
123
+ /**
124
+ * Whether a language has a tree-sitter grammar of its own.
125
+ *
126
+ * Narrower than {@link isLanguageSupported}, which also answers true for the
127
+ * formats handled by custom extractors (SFCs, Liquid, Razor, YAML, XML,
128
+ * properties) — those have extraction but no grammar, so anything that needs to
129
+ * PARSE the file (the viewer's syntax classification, for one) has to ask this
130
+ * instead.
131
+ */
132
+ export declare function hasTreeSitterGrammar(language: string | undefined | null): boolean;
95
133
  /**
96
134
  * Check if a language is supported (has a grammar defined).
97
135
  * Returns true if the grammar exists, even if not yet loaded.
@@ -1 +1 @@
1
- {"version":3,"file":"grammars.d.ts","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,MAAM,EAA4B,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,GAAG,SAAS,CAAC,CAAC;AAyCtJ;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAmHlD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,OAAO,CAQ5F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAI7D;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAM1D;AAWD;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAMlD;AAwHD;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAarG;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B3H;AAED;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAGrD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAc3D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAoBhH;AA4BD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAY/D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAK3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAEnE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,EAAE,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAMpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAQvC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAM/E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CA8CjE"}
1
+ {"version":3,"file":"grammars.d.ts","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,9 @@ var __importStar = (this && this.__importStar) || (function () {
40
40
  };
41
41
  })();
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.EXTENSION_MAP = void 0;
43
+ exports.MPEG_TS_SNIFF_BYTES = exports.EXTENSION_MAP = void 0;
44
+ exports.isMpegTransportStream = isMpegTransportStream;
45
+ exports.hasMpegTsExtension = hasMpegTsExtension;
44
46
  exports.isSourceFile = isSourceFile;
45
47
  exports.isShopifyLiquidJson = isShopifyLiquidJson;
46
48
  exports.isErlangAppFile = isErlangAppFile;
@@ -52,6 +54,7 @@ exports.loadAllGrammars = loadAllGrammars;
52
54
  exports.isGrammarsInitialized = isGrammarsInitialized;
53
55
  exports.getParser = getParser;
54
56
  exports.detectLanguage = detectLanguage;
57
+ exports.hasTreeSitterGrammar = hasTreeSitterGrammar;
55
58
  exports.isLanguageSupported = isLanguageSupported;
56
59
  exports.isGrammarLoaded = isGrammarLoaded;
57
60
  exports.isFileLevelOnlyLanguage = isFileLevelOnlyLanguage;
@@ -220,6 +223,67 @@ exports.EXTENSION_MAP = {
220
223
  '.tfvars': 'terraform',
221
224
  '.tofu': 'terraform',
222
225
  };
226
+ /** MPEG transport stream: fixed 188-byte packets, each opening with 0x47. */
227
+ const MPEG_TS_PACKET_SIZE = 188;
228
+ const MPEG_TS_SYNC_BYTE = 0x47;
229
+ /**
230
+ * Consecutive packets whose sync byte must line up before a file counts as
231
+ * video — 3 KB of head. A stream shorter than that is cheap to parse anyway;
232
+ * the cost #1910 is about comes from clips hundreds of KB long.
233
+ */
234
+ const MPEG_TS_MIN_PACKETS = 16;
235
+ /**
236
+ * Share of the head that must be control bytes (below 0x20, other than the
237
+ * whitespace ones) for it to count as binary. Compressed audio and video put
238
+ * about one byte in eight there; source text puts none.
239
+ */
240
+ const MPEG_TS_MIN_CONTROL_SHARE = 1 / 64;
241
+ /**
242
+ * How many bytes of a file's head `isMpegTransportStream` needs — enough to
243
+ * see `MPEG_TS_MIN_PACKETS` sync bytes plus the packets between them.
244
+ */
245
+ exports.MPEG_TS_SNIFF_BYTES = MPEG_TS_PACKET_SIZE * MPEG_TS_MIN_PACKETS;
246
+ /**
247
+ * Whether these leading bytes are an MPEG transport stream — the OTHER thing a
248
+ * `.ts` file can be. Golden video fixtures (`testdata/*.ts`, e2e clips) share
249
+ * TypeScript's extension, and tree-sitter takes ~28 s to chew through a 900 KB
250
+ * clip for zero symbols (#1910), so the decision has to be made from the head
251
+ * of the file, before any parse.
252
+ *
253
+ * Two conditions, both required:
254
+ * 1. the sync byte 0x47 sits at every 188-byte packet boundary of the first
255
+ * `MPEG_TS_MIN_PACKETS` packets — every packet of a transport stream
256
+ * opens with it, and nothing else pads to 188;
257
+ * 2. the head is binary: at least `MPEG_TS_MIN_CONTROL_SHARE` of it is
258
+ * control bytes, as any compressed payload is.
259
+ * 0x47 is the letter `G`, so (1) alone could match source whose lines happen
260
+ * to put a `G` at every 188-byte stride. Checking for a single NUL was not
261
+ * enough to close that: one NUL in a comment is still TypeScript. (2) asks for
262
+ * dozens of control bytes, which no source file carries.
263
+ *
264
+ * `head` is the first `MPEG_TS_SNIFF_BYTES` (or fewer) bytes of the file.
265
+ */
266
+ function isMpegTransportStream(head) {
267
+ const lastSync = MPEG_TS_PACKET_SIZE * (MPEG_TS_MIN_PACKETS - 1);
268
+ if (head.length <= lastSync)
269
+ return false;
270
+ for (let off = 0; off <= lastSync; off += MPEG_TS_PACKET_SIZE) {
271
+ if (head[off] !== MPEG_TS_SYNC_BYTE)
272
+ return false;
273
+ }
274
+ let control = 0;
275
+ for (let i = 0; i < head.length; i++) {
276
+ const b = head[i];
277
+ // Tab, newline, vertical tab, form feed and carriage return are text.
278
+ if (b < 0x20 && (b < 0x09 || b > 0x0d))
279
+ control++;
280
+ }
281
+ return control >= head.length * MPEG_TS_MIN_CONTROL_SHARE;
282
+ }
283
+ /** Whether `filePath` carries the one extension MPEG-TS shares with a language. */
284
+ function hasMpegTsExtension(filePath) {
285
+ return filePath.length > 3 && filePath.slice(-3).toLowerCase() === '.ts';
286
+ }
223
287
  /**
224
288
  * Whether a file is one LatticeSensor can parse, based purely on its extension.
225
289
  * This is the single source of truth for "should we index this file" — derived
@@ -524,9 +588,37 @@ function detectLanguage(filePath, source, overrides) {
524
588
  }
525
589
  return lang;
526
590
  }
591
+ /**
592
+ * A class/struct BASE CLAUSE — `struct Derived : Base {`, `class Foo final :
593
+ * public Bar, private Baz {`, `struct D : ns::B<T> {` — which is never valid
594
+ * C. In C the only thing that can follow `struct <tag>` is `{`, `;`, `*`, an
595
+ * identifier (declarator), or a closing `)`: a bit-field's `:` sits after a
596
+ * member NAME inside the body (`unsigned a : 3;`), a ternary's `:` is
597
+ * separated from the tag by `)` / `*` / a declarator (`sizeof(struct foo) :
598
+ * 0`), and a label such as `struct_end:` has no whitespace after `struct`. An
599
+ * optional access specifier / `virtual` after the colon and an optional
600
+ * `final` before it cover the spelled-out forms; the base may be scoped
601
+ * (`ns::Base`) and carry template arguments, and must be followed by the
602
+ * body's `{` or a `,` introducing the next base — prose like
603
+ * `struct timeval: seconds and microseconds` inside a string never has that
604
+ * terminator. Comments are stripped before the scan (see `looksLikeCpp`).
605
+ */
606
+ const CPP_BASE_CLAUSE_RE = /\b(?:class|struct)\s+\w+\s*(?:final\s*)?:\s*(?:(?:public|protected|private|virtual)\s+)*[A-Za-z_][\w:]*(?:\s*<[^{};]*>)?\s*[{,]/;
607
+ /** Block and line comments, for a code-only scan. Lazy block match → linear. */
608
+ const C_COMMENT_RE = /\/\*[\s\S]*?\*\/|\/\/[^\n]*/g;
527
609
  /**
528
610
  * Heuristic: does a .h file contain C++ constructs?
529
- * Checks the first ~8KB for patterns that are unique to C++ and never valid C.
611
+ *
612
+ * Two passes. The first checks the first ~8KB for patterns that are unique to
613
+ * C++ and never valid C. The second scans the FULL source for a class/struct
614
+ * base clause (`CPP_BASE_CLAUSE_RE`): a large header with a long C-compatible
615
+ * preamble — include guards, `#define`s, plain C typedefs — can put its only
616
+ * C++ signal past the sample, and the cost of that miss is the C extractor
617
+ * (classTypes: []) dropping the derived type entirely and minting a phantom
618
+ * `function Base` from the base clause instead (#1592). The base-clause regex
619
+ * is anchored on a `struct`/`class` keyword followed by a tag and a colon, a
620
+ * shape with no C reading, so widening it to the whole file cannot drag a C
621
+ * header over to C++.
530
622
  */
531
623
  function looksLikeCpp(source) {
532
624
  const sample = source.substring(0, 8192);
@@ -539,7 +631,15 @@ function looksLikeCpp(source) {
539
631
  // routed through the C extractor (which extracts no classes), and its class
540
632
  // definition silently vanishes. The two-token shape (`<KW> <MACRO> <Name>`
541
633
  // before a `[:{]`) never occurs in valid C, so this can't misclassify C headers.
542
- return /\bnamespace\b|\bclass\s+\w+\s*[:{]|\b(?:class|struct)\s+[A-Z][A-Z0-9_]+\s+\w+\s*(?:final\s*)?[:{]|\btemplate\s*<|\b(?:public|private|protected)\s*:|\bvirtual\b|\busing\s+(?:namespace\b|\w+\s*=)/.test(sample);
634
+ if (/\bnamespace\b|\bclass\s+\w+\s*[:{]|\b(?:class|struct)\s+[A-Z][A-Z0-9_]+\s+\w+\s*(?:final\s*)?[:{]|\btemplate\s*<|\b(?:public|private|protected)\s*:|\bvirtual\b|\busing\s+(?:namespace\b|\w+\s*=)/.test(sample)) {
635
+ return true;
636
+ }
637
+ // Plain `struct Derived : Base` (no export macro, no `class` keyword, no
638
+ // explicit access section) — the #1159 branch above only recognizes the
639
+ // macro-annotated form. Scanned over the whole file, not the sample, with
640
+ // comments removed so a doc comment's prose (`struct foo: x, y`) can't
641
+ // flip a C header.
642
+ return CPP_BASE_CLAUSE_RE.test(source.replace(C_COMMENT_RE, ' '));
543
643
  }
544
644
  /**
545
645
  * Heuristic: does a .h file contain Objective-C constructs?
@@ -548,6 +648,18 @@ function looksLikeObjc(source) {
548
648
  const sample = source.substring(0, 8192);
549
649
  return /@(?:interface|implementation|protocol|synthesize)\b/.test(sample);
550
650
  }
651
+ /**
652
+ * Whether a language has a tree-sitter grammar of its own.
653
+ *
654
+ * Narrower than {@link isLanguageSupported}, which also answers true for the
655
+ * formats handled by custom extractors (SFCs, Liquid, Razor, YAML, XML,
656
+ * properties) — those have extraction but no grammar, so anything that needs to
657
+ * PARSE the file (the viewer's syntax classification, for one) has to ask this
658
+ * instead.
659
+ */
660
+ function hasTreeSitterGrammar(language) {
661
+ return !!language && language in WASM_GRAMMAR_FILES;
662
+ }
551
663
  /**
552
664
  * Check if a language is supported (has a grammar defined).
553
665
  * Returns true if the grammar exists, even if not yet loaded.