@kkvcrobatz107/codegraph 0.9.6-pkm.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 (501) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +595 -0
  3. package/dist/bin/codegraph.d.ts +25 -0
  4. package/dist/bin/codegraph.d.ts.map +1 -0
  5. package/dist/bin/codegraph.js +1563 -0
  6. package/dist/bin/codegraph.js.map +1 -0
  7. package/dist/bin/node-version-check.d.ts +37 -0
  8. package/dist/bin/node-version-check.d.ts.map +1 -0
  9. package/dist/bin/node-version-check.js +79 -0
  10. package/dist/bin/node-version-check.js.map +1 -0
  11. package/dist/bin/uninstall.d.ts +14 -0
  12. package/dist/bin/uninstall.d.ts.map +1 -0
  13. package/dist/bin/uninstall.js +36 -0
  14. package/dist/bin/uninstall.js.map +1 -0
  15. package/dist/context/formatter.d.ts +30 -0
  16. package/dist/context/formatter.d.ts.map +1 -0
  17. package/dist/context/formatter.js +244 -0
  18. package/dist/context/formatter.js.map +1 -0
  19. package/dist/context/index.d.ts +110 -0
  20. package/dist/context/index.d.ts.map +1 -0
  21. package/dist/context/index.js +1169 -0
  22. package/dist/context/index.js.map +1 -0
  23. package/dist/db/index.d.ts +101 -0
  24. package/dist/db/index.d.ts.map +1 -0
  25. package/dist/db/index.js +251 -0
  26. package/dist/db/index.js.map +1 -0
  27. package/dist/db/migrations.d.ts +44 -0
  28. package/dist/db/migrations.d.ts.map +1 -0
  29. package/dist/db/migrations.js +131 -0
  30. package/dist/db/migrations.js.map +1 -0
  31. package/dist/db/queries.d.ts +281 -0
  32. package/dist/db/queries.d.ts.map +1 -0
  33. package/dist/db/queries.js +1300 -0
  34. package/dist/db/queries.js.map +1 -0
  35. package/dist/db/schema.sql +151 -0
  36. package/dist/db/sqlite-adapter.d.ts +46 -0
  37. package/dist/db/sqlite-adapter.d.ts.map +1 -0
  38. package/dist/db/sqlite-adapter.js +114 -0
  39. package/dist/db/sqlite-adapter.js.map +1 -0
  40. package/dist/directory.d.ts +57 -0
  41. package/dist/directory.d.ts.map +1 -0
  42. package/dist/directory.js +264 -0
  43. package/dist/directory.js.map +1 -0
  44. package/dist/errors.d.ts +136 -0
  45. package/dist/errors.d.ts.map +1 -0
  46. package/dist/errors.js +219 -0
  47. package/dist/errors.js.map +1 -0
  48. package/dist/extraction/dfm-extractor.d.ts +31 -0
  49. package/dist/extraction/dfm-extractor.d.ts.map +1 -0
  50. package/dist/extraction/dfm-extractor.js +151 -0
  51. package/dist/extraction/dfm-extractor.js.map +1 -0
  52. package/dist/extraction/grammars.d.ts +90 -0
  53. package/dist/extraction/grammars.d.ts.map +1 -0
  54. package/dist/extraction/grammars.js +407 -0
  55. package/dist/extraction/grammars.js.map +1 -0
  56. package/dist/extraction/index.d.ts +138 -0
  57. package/dist/extraction/index.d.ts.map +1 -0
  58. package/dist/extraction/index.js +1378 -0
  59. package/dist/extraction/index.js.map +1 -0
  60. package/dist/extraction/languages/c-cpp.d.ts +4 -0
  61. package/dist/extraction/languages/c-cpp.d.ts.map +1 -0
  62. package/dist/extraction/languages/c-cpp.js +171 -0
  63. package/dist/extraction/languages/c-cpp.js.map +1 -0
  64. package/dist/extraction/languages/csharp.d.ts +3 -0
  65. package/dist/extraction/languages/csharp.d.ts.map +1 -0
  66. package/dist/extraction/languages/csharp.js +73 -0
  67. package/dist/extraction/languages/csharp.js.map +1 -0
  68. package/dist/extraction/languages/dart.d.ts +3 -0
  69. package/dist/extraction/languages/dart.d.ts.map +1 -0
  70. package/dist/extraction/languages/dart.js +192 -0
  71. package/dist/extraction/languages/dart.js.map +1 -0
  72. package/dist/extraction/languages/go.d.ts +3 -0
  73. package/dist/extraction/languages/go.d.ts.map +1 -0
  74. package/dist/extraction/languages/go.js +70 -0
  75. package/dist/extraction/languages/go.js.map +1 -0
  76. package/dist/extraction/languages/index.d.ts +10 -0
  77. package/dist/extraction/languages/index.d.ts.map +1 -0
  78. package/dist/extraction/languages/index.js +51 -0
  79. package/dist/extraction/languages/index.js.map +1 -0
  80. package/dist/extraction/languages/java.d.ts +3 -0
  81. package/dist/extraction/languages/java.d.ts.map +1 -0
  82. package/dist/extraction/languages/java.js +70 -0
  83. package/dist/extraction/languages/java.js.map +1 -0
  84. package/dist/extraction/languages/javascript.d.ts +3 -0
  85. package/dist/extraction/languages/javascript.d.ts.map +1 -0
  86. package/dist/extraction/languages/javascript.js +90 -0
  87. package/dist/extraction/languages/javascript.js.map +1 -0
  88. package/dist/extraction/languages/kotlin.d.ts +3 -0
  89. package/dist/extraction/languages/kotlin.d.ts.map +1 -0
  90. package/dist/extraction/languages/kotlin.js +259 -0
  91. package/dist/extraction/languages/kotlin.js.map +1 -0
  92. package/dist/extraction/languages/lua.d.ts +3 -0
  93. package/dist/extraction/languages/lua.d.ts.map +1 -0
  94. package/dist/extraction/languages/lua.js +150 -0
  95. package/dist/extraction/languages/lua.js.map +1 -0
  96. package/dist/extraction/languages/luau.d.ts +3 -0
  97. package/dist/extraction/languages/luau.d.ts.map +1 -0
  98. package/dist/extraction/languages/luau.js +37 -0
  99. package/dist/extraction/languages/luau.js.map +1 -0
  100. package/dist/extraction/languages/objc.d.ts +3 -0
  101. package/dist/extraction/languages/objc.d.ts.map +1 -0
  102. package/dist/extraction/languages/objc.js +133 -0
  103. package/dist/extraction/languages/objc.js.map +1 -0
  104. package/dist/extraction/languages/pascal.d.ts +3 -0
  105. package/dist/extraction/languages/pascal.d.ts.map +1 -0
  106. package/dist/extraction/languages/pascal.js +66 -0
  107. package/dist/extraction/languages/pascal.js.map +1 -0
  108. package/dist/extraction/languages/php.d.ts +3 -0
  109. package/dist/extraction/languages/php.d.ts.map +1 -0
  110. package/dist/extraction/languages/php.js +107 -0
  111. package/dist/extraction/languages/php.js.map +1 -0
  112. package/dist/extraction/languages/python.d.ts +3 -0
  113. package/dist/extraction/languages/python.d.ts.map +1 -0
  114. package/dist/extraction/languages/python.js +56 -0
  115. package/dist/extraction/languages/python.js.map +1 -0
  116. package/dist/extraction/languages/ruby.d.ts +3 -0
  117. package/dist/extraction/languages/ruby.d.ts.map +1 -0
  118. package/dist/extraction/languages/ruby.js +114 -0
  119. package/dist/extraction/languages/ruby.js.map +1 -0
  120. package/dist/extraction/languages/rust.d.ts +3 -0
  121. package/dist/extraction/languages/rust.d.ts.map +1 -0
  122. package/dist/extraction/languages/rust.js +109 -0
  123. package/dist/extraction/languages/rust.js.map +1 -0
  124. package/dist/extraction/languages/scala.d.ts +3 -0
  125. package/dist/extraction/languages/scala.d.ts.map +1 -0
  126. package/dist/extraction/languages/scala.js +139 -0
  127. package/dist/extraction/languages/scala.js.map +1 -0
  128. package/dist/extraction/languages/swift.d.ts +3 -0
  129. package/dist/extraction/languages/swift.d.ts.map +1 -0
  130. package/dist/extraction/languages/swift.js +91 -0
  131. package/dist/extraction/languages/swift.js.map +1 -0
  132. package/dist/extraction/languages/typescript.d.ts +3 -0
  133. package/dist/extraction/languages/typescript.d.ts.map +1 -0
  134. package/dist/extraction/languages/typescript.js +129 -0
  135. package/dist/extraction/languages/typescript.js.map +1 -0
  136. package/dist/extraction/liquid-extractor.d.ts +52 -0
  137. package/dist/extraction/liquid-extractor.d.ts.map +1 -0
  138. package/dist/extraction/liquid-extractor.js +313 -0
  139. package/dist/extraction/liquid-extractor.js.map +1 -0
  140. package/dist/extraction/mybatis-extractor.d.ts +48 -0
  141. package/dist/extraction/mybatis-extractor.d.ts.map +1 -0
  142. package/dist/extraction/mybatis-extractor.js +198 -0
  143. package/dist/extraction/mybatis-extractor.js.map +1 -0
  144. package/dist/extraction/parse-worker.d.ts +8 -0
  145. package/dist/extraction/parse-worker.d.ts.map +1 -0
  146. package/dist/extraction/parse-worker.js +94 -0
  147. package/dist/extraction/parse-worker.js.map +1 -0
  148. package/dist/extraction/svelte-extractor.d.ts +56 -0
  149. package/dist/extraction/svelte-extractor.d.ts.map +1 -0
  150. package/dist/extraction/svelte-extractor.js +272 -0
  151. package/dist/extraction/svelte-extractor.js.map +1 -0
  152. package/dist/extraction/tree-sitter-helpers.d.ts +28 -0
  153. package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
  154. package/dist/extraction/tree-sitter-helpers.js +103 -0
  155. package/dist/extraction/tree-sitter-helpers.js.map +1 -0
  156. package/dist/extraction/tree-sitter-types.d.ts +193 -0
  157. package/dist/extraction/tree-sitter-types.d.ts.map +1 -0
  158. package/dist/extraction/tree-sitter-types.js +10 -0
  159. package/dist/extraction/tree-sitter-types.js.map +1 -0
  160. package/dist/extraction/tree-sitter.d.ts +291 -0
  161. package/dist/extraction/tree-sitter.d.ts.map +1 -0
  162. package/dist/extraction/tree-sitter.js +2961 -0
  163. package/dist/extraction/tree-sitter.js.map +1 -0
  164. package/dist/extraction/vue-extractor.d.ts +36 -0
  165. package/dist/extraction/vue-extractor.d.ts.map +1 -0
  166. package/dist/extraction/vue-extractor.js +163 -0
  167. package/dist/extraction/vue-extractor.js.map +1 -0
  168. package/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
  169. package/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
  170. package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
  171. package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  172. package/dist/extraction/wasm-runtime-flags.d.ts +38 -0
  173. package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -0
  174. package/dist/extraction/wasm-runtime-flags.js +105 -0
  175. package/dist/extraction/wasm-runtime-flags.js.map +1 -0
  176. package/dist/graph/index.d.ts +8 -0
  177. package/dist/graph/index.d.ts.map +1 -0
  178. package/dist/graph/index.js +13 -0
  179. package/dist/graph/index.js.map +1 -0
  180. package/dist/graph/queries.d.ts +106 -0
  181. package/dist/graph/queries.d.ts.map +1 -0
  182. package/dist/graph/queries.js +366 -0
  183. package/dist/graph/queries.js.map +1 -0
  184. package/dist/graph/traversal.d.ts +127 -0
  185. package/dist/graph/traversal.d.ts.map +1 -0
  186. package/dist/graph/traversal.js +528 -0
  187. package/dist/graph/traversal.js.map +1 -0
  188. package/dist/index.d.ts +460 -0
  189. package/dist/index.d.ts.map +1 -0
  190. package/dist/index.js +863 -0
  191. package/dist/index.js.map +1 -0
  192. package/dist/installer/claude-md-template.d.ts +14 -0
  193. package/dist/installer/claude-md-template.d.ts.map +1 -0
  194. package/dist/installer/claude-md-template.js +21 -0
  195. package/dist/installer/claude-md-template.js.map +1 -0
  196. package/dist/installer/config-writer.d.ts +29 -0
  197. package/dist/installer/config-writer.d.ts.map +1 -0
  198. package/dist/installer/config-writer.js +111 -0
  199. package/dist/installer/config-writer.js.map +1 -0
  200. package/dist/installer/index.d.ts +117 -0
  201. package/dist/installer/index.d.ts.map +1 -0
  202. package/dist/installer/index.js +528 -0
  203. package/dist/installer/index.js.map +1 -0
  204. package/dist/installer/instructions-template.d.ts +28 -0
  205. package/dist/installer/instructions-template.d.ts.map +1 -0
  206. package/dist/installer/instructions-template.js +65 -0
  207. package/dist/installer/instructions-template.js.map +1 -0
  208. package/dist/installer/targets/antigravity.d.ts +57 -0
  209. package/dist/installer/targets/antigravity.d.ts.map +1 -0
  210. package/dist/installer/targets/antigravity.js +307 -0
  211. package/dist/installer/targets/antigravity.js.map +1 -0
  212. package/dist/installer/targets/claude.d.ts +47 -0
  213. package/dist/installer/targets/claude.d.ts.map +1 -0
  214. package/dist/installer/targets/claude.js +401 -0
  215. package/dist/installer/targets/claude.js.map +1 -0
  216. package/dist/installer/targets/codex.d.ts +18 -0
  217. package/dist/installer/targets/codex.d.ts.map +1 -0
  218. package/dist/installer/targets/codex.js +185 -0
  219. package/dist/installer/targets/codex.js.map +1 -0
  220. package/dist/installer/targets/cursor.d.ts +35 -0
  221. package/dist/installer/targets/cursor.d.ts.map +1 -0
  222. package/dist/installer/targets/cursor.js +283 -0
  223. package/dist/installer/targets/cursor.js.map +1 -0
  224. package/dist/installer/targets/gemini.d.ts +26 -0
  225. package/dist/installer/targets/gemini.d.ts.map +1 -0
  226. package/dist/installer/targets/gemini.js +165 -0
  227. package/dist/installer/targets/gemini.js.map +1 -0
  228. package/dist/installer/targets/hermes.d.ts +18 -0
  229. package/dist/installer/targets/hermes.d.ts.map +1 -0
  230. package/dist/installer/targets/hermes.js +359 -0
  231. package/dist/installer/targets/hermes.js.map +1 -0
  232. package/dist/installer/targets/kiro.d.ts +27 -0
  233. package/dist/installer/targets/kiro.d.ts.map +1 -0
  234. package/dist/installer/targets/kiro.js +196 -0
  235. package/dist/installer/targets/kiro.js.map +1 -0
  236. package/dist/installer/targets/opencode.d.ts +30 -0
  237. package/dist/installer/targets/opencode.d.ts.map +1 -0
  238. package/dist/installer/targets/opencode.js +235 -0
  239. package/dist/installer/targets/opencode.js.map +1 -0
  240. package/dist/installer/targets/registry.d.ts +35 -0
  241. package/dist/installer/targets/registry.d.ts.map +1 -0
  242. package/dist/installer/targets/registry.js +91 -0
  243. package/dist/installer/targets/registry.js.map +1 -0
  244. package/dist/installer/targets/shared.d.ts +77 -0
  245. package/dist/installer/targets/shared.d.ts.map +1 -0
  246. package/dist/installer/targets/shared.js +246 -0
  247. package/dist/installer/targets/shared.js.map +1 -0
  248. package/dist/installer/targets/toml.d.ts +52 -0
  249. package/dist/installer/targets/toml.d.ts.map +1 -0
  250. package/dist/installer/targets/toml.js +147 -0
  251. package/dist/installer/targets/toml.js.map +1 -0
  252. package/dist/installer/targets/types.d.ts +116 -0
  253. package/dist/installer/targets/types.d.ts.map +1 -0
  254. package/dist/installer/targets/types.js +16 -0
  255. package/dist/installer/targets/types.js.map +1 -0
  256. package/dist/mcp/daemon-paths.d.ts +46 -0
  257. package/dist/mcp/daemon-paths.d.ts.map +1 -0
  258. package/dist/mcp/daemon-paths.js +125 -0
  259. package/dist/mcp/daemon-paths.js.map +1 -0
  260. package/dist/mcp/daemon.d.ts +161 -0
  261. package/dist/mcp/daemon.d.ts.map +1 -0
  262. package/dist/mcp/daemon.js +403 -0
  263. package/dist/mcp/daemon.js.map +1 -0
  264. package/dist/mcp/engine.d.ts +100 -0
  265. package/dist/mcp/engine.d.ts.map +1 -0
  266. package/dist/mcp/engine.js +291 -0
  267. package/dist/mcp/engine.js.map +1 -0
  268. package/dist/mcp/index.d.ts +109 -0
  269. package/dist/mcp/index.d.ts.map +1 -0
  270. package/dist/mcp/index.js +470 -0
  271. package/dist/mcp/index.js.map +1 -0
  272. package/dist/mcp/proxy.d.ts +46 -0
  273. package/dist/mcp/proxy.d.ts.map +1 -0
  274. package/dist/mcp/proxy.js +276 -0
  275. package/dist/mcp/proxy.js.map +1 -0
  276. package/dist/mcp/server-instructions.d.ts +19 -0
  277. package/dist/mcp/server-instructions.d.ts.map +1 -0
  278. package/dist/mcp/server-instructions.js +73 -0
  279. package/dist/mcp/server-instructions.js.map +1 -0
  280. package/dist/mcp/session.d.ts +67 -0
  281. package/dist/mcp/session.d.ts.map +1 -0
  282. package/dist/mcp/session.js +276 -0
  283. package/dist/mcp/session.js.map +1 -0
  284. package/dist/mcp/tools.d.ts +385 -0
  285. package/dist/mcp/tools.d.ts.map +1 -0
  286. package/dist/mcp/tools.js +2545 -0
  287. package/dist/mcp/tools.js.map +1 -0
  288. package/dist/mcp/transport.d.ts +188 -0
  289. package/dist/mcp/transport.d.ts.map +1 -0
  290. package/dist/mcp/transport.js +343 -0
  291. package/dist/mcp/transport.js.map +1 -0
  292. package/dist/mcp/version.d.ts +19 -0
  293. package/dist/mcp/version.d.ts.map +1 -0
  294. package/dist/mcp/version.js +71 -0
  295. package/dist/mcp/version.js.map +1 -0
  296. package/dist/resolution/callback-synthesizer.d.ts +10 -0
  297. package/dist/resolution/callback-synthesizer.d.ts.map +1 -0
  298. package/dist/resolution/callback-synthesizer.js +924 -0
  299. package/dist/resolution/callback-synthesizer.js.map +1 -0
  300. package/dist/resolution/frameworks/cargo-workspace.d.ts +18 -0
  301. package/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
  302. package/dist/resolution/frameworks/cargo-workspace.js +225 -0
  303. package/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
  304. package/dist/resolution/frameworks/csharp.d.ts +8 -0
  305. package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
  306. package/dist/resolution/frameworks/csharp.js +241 -0
  307. package/dist/resolution/frameworks/csharp.js.map +1 -0
  308. package/dist/resolution/frameworks/drupal.d.ts +51 -0
  309. package/dist/resolution/frameworks/drupal.d.ts.map +1 -0
  310. package/dist/resolution/frameworks/drupal.js +367 -0
  311. package/dist/resolution/frameworks/drupal.js.map +1 -0
  312. package/dist/resolution/frameworks/expo-modules.d.ts +3 -0
  313. package/dist/resolution/frameworks/expo-modules.d.ts.map +1 -0
  314. package/dist/resolution/frameworks/expo-modules.js +143 -0
  315. package/dist/resolution/frameworks/expo-modules.js.map +1 -0
  316. package/dist/resolution/frameworks/express.d.ts +8 -0
  317. package/dist/resolution/frameworks/express.d.ts.map +1 -0
  318. package/dist/resolution/frameworks/express.js +308 -0
  319. package/dist/resolution/frameworks/express.js.map +1 -0
  320. package/dist/resolution/frameworks/fabric.d.ts +3 -0
  321. package/dist/resolution/frameworks/fabric.d.ts.map +1 -0
  322. package/dist/resolution/frameworks/fabric.js +354 -0
  323. package/dist/resolution/frameworks/fabric.js.map +1 -0
  324. package/dist/resolution/frameworks/go.d.ts +8 -0
  325. package/dist/resolution/frameworks/go.d.ts.map +1 -0
  326. package/dist/resolution/frameworks/go.js +161 -0
  327. package/dist/resolution/frameworks/go.js.map +1 -0
  328. package/dist/resolution/frameworks/index.d.ts +48 -0
  329. package/dist/resolution/frameworks/index.d.ts.map +1 -0
  330. package/dist/resolution/frameworks/index.js +161 -0
  331. package/dist/resolution/frameworks/index.js.map +1 -0
  332. package/dist/resolution/frameworks/java.d.ts +8 -0
  333. package/dist/resolution/frameworks/java.d.ts.map +1 -0
  334. package/dist/resolution/frameworks/java.js +504 -0
  335. package/dist/resolution/frameworks/java.js.map +1 -0
  336. package/dist/resolution/frameworks/laravel.d.ts +13 -0
  337. package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
  338. package/dist/resolution/frameworks/laravel.js +257 -0
  339. package/dist/resolution/frameworks/laravel.js.map +1 -0
  340. package/dist/resolution/frameworks/nestjs.d.ts +26 -0
  341. package/dist/resolution/frameworks/nestjs.d.ts.map +1 -0
  342. package/dist/resolution/frameworks/nestjs.js +698 -0
  343. package/dist/resolution/frameworks/nestjs.js.map +1 -0
  344. package/dist/resolution/frameworks/play.d.ts +19 -0
  345. package/dist/resolution/frameworks/play.d.ts.map +1 -0
  346. package/dist/resolution/frameworks/play.js +111 -0
  347. package/dist/resolution/frameworks/play.js.map +1 -0
  348. package/dist/resolution/frameworks/python.d.ts +10 -0
  349. package/dist/resolution/frameworks/python.d.ts.map +1 -0
  350. package/dist/resolution/frameworks/python.js +396 -0
  351. package/dist/resolution/frameworks/python.js.map +1 -0
  352. package/dist/resolution/frameworks/react-native.d.ts +3 -0
  353. package/dist/resolution/frameworks/react-native.d.ts.map +1 -0
  354. package/dist/resolution/frameworks/react-native.js +360 -0
  355. package/dist/resolution/frameworks/react-native.js.map +1 -0
  356. package/dist/resolution/frameworks/react.d.ts +8 -0
  357. package/dist/resolution/frameworks/react.d.ts.map +1 -0
  358. package/dist/resolution/frameworks/react.js +365 -0
  359. package/dist/resolution/frameworks/react.js.map +1 -0
  360. package/dist/resolution/frameworks/ruby.d.ts +8 -0
  361. package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
  362. package/dist/resolution/frameworks/ruby.js +302 -0
  363. package/dist/resolution/frameworks/ruby.js.map +1 -0
  364. package/dist/resolution/frameworks/rust.d.ts +8 -0
  365. package/dist/resolution/frameworks/rust.d.ts.map +1 -0
  366. package/dist/resolution/frameworks/rust.js +304 -0
  367. package/dist/resolution/frameworks/rust.js.map +1 -0
  368. package/dist/resolution/frameworks/svelte.d.ts +9 -0
  369. package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
  370. package/dist/resolution/frameworks/svelte.js +249 -0
  371. package/dist/resolution/frameworks/svelte.js.map +1 -0
  372. package/dist/resolution/frameworks/swift-objc.d.ts +37 -0
  373. package/dist/resolution/frameworks/swift-objc.d.ts.map +1 -0
  374. package/dist/resolution/frameworks/swift-objc.js +252 -0
  375. package/dist/resolution/frameworks/swift-objc.js.map +1 -0
  376. package/dist/resolution/frameworks/swift.d.ts +10 -0
  377. package/dist/resolution/frameworks/swift.d.ts.map +1 -0
  378. package/dist/resolution/frameworks/swift.js +400 -0
  379. package/dist/resolution/frameworks/swift.js.map +1 -0
  380. package/dist/resolution/frameworks/vue.d.ts +9 -0
  381. package/dist/resolution/frameworks/vue.d.ts.map +1 -0
  382. package/dist/resolution/frameworks/vue.js +306 -0
  383. package/dist/resolution/frameworks/vue.js.map +1 -0
  384. package/dist/resolution/go-module.d.ts +26 -0
  385. package/dist/resolution/go-module.d.ts.map +1 -0
  386. package/dist/resolution/go-module.js +78 -0
  387. package/dist/resolution/go-module.js.map +1 -0
  388. package/dist/resolution/import-resolver.d.ts +68 -0
  389. package/dist/resolution/import-resolver.d.ts.map +1 -0
  390. package/dist/resolution/import-resolver.js +1231 -0
  391. package/dist/resolution/import-resolver.js.map +1 -0
  392. package/dist/resolution/index.d.ts +116 -0
  393. package/dist/resolution/index.d.ts.map +1 -0
  394. package/dist/resolution/index.js +878 -0
  395. package/dist/resolution/index.js.map +1 -0
  396. package/dist/resolution/lru-cache.d.ts +24 -0
  397. package/dist/resolution/lru-cache.d.ts.map +1 -0
  398. package/dist/resolution/lru-cache.js +62 -0
  399. package/dist/resolution/lru-cache.js.map +1 -0
  400. package/dist/resolution/name-matcher.d.ts +32 -0
  401. package/dist/resolution/name-matcher.d.ts.map +1 -0
  402. package/dist/resolution/name-matcher.js +596 -0
  403. package/dist/resolution/name-matcher.js.map +1 -0
  404. package/dist/resolution/path-aliases.d.ts +68 -0
  405. package/dist/resolution/path-aliases.d.ts.map +1 -0
  406. package/dist/resolution/path-aliases.js +238 -0
  407. package/dist/resolution/path-aliases.js.map +1 -0
  408. package/dist/resolution/strip-comments.d.ts +27 -0
  409. package/dist/resolution/strip-comments.d.ts.map +1 -0
  410. package/dist/resolution/strip-comments.js +441 -0
  411. package/dist/resolution/strip-comments.js.map +1 -0
  412. package/dist/resolution/swift-objc-bridge.d.ts +134 -0
  413. package/dist/resolution/swift-objc-bridge.d.ts.map +1 -0
  414. package/dist/resolution/swift-objc-bridge.js +256 -0
  415. package/dist/resolution/swift-objc-bridge.js.map +1 -0
  416. package/dist/resolution/types.d.ts +209 -0
  417. package/dist/resolution/types.d.ts.map +1 -0
  418. package/dist/resolution/types.js +8 -0
  419. package/dist/resolution/types.js.map +1 -0
  420. package/dist/search/query-parser.d.ts +57 -0
  421. package/dist/search/query-parser.d.ts.map +1 -0
  422. package/dist/search/query-parser.js +177 -0
  423. package/dist/search/query-parser.js.map +1 -0
  424. package/dist/search/query-utils.d.ts +53 -0
  425. package/dist/search/query-utils.d.ts.map +1 -0
  426. package/dist/search/query-utils.js +350 -0
  427. package/dist/search/query-utils.js.map +1 -0
  428. package/dist/sync/git-hooks.d.ts +45 -0
  429. package/dist/sync/git-hooks.d.ts.map +1 -0
  430. package/dist/sync/git-hooks.js +223 -0
  431. package/dist/sync/git-hooks.js.map +1 -0
  432. package/dist/sync/index.d.ts +19 -0
  433. package/dist/sync/index.d.ts.map +1 -0
  434. package/dist/sync/index.js +35 -0
  435. package/dist/sync/index.js.map +1 -0
  436. package/dist/sync/watch-policy.d.ts +48 -0
  437. package/dist/sync/watch-policy.d.ts.map +1 -0
  438. package/dist/sync/watch-policy.js +124 -0
  439. package/dist/sync/watch-policy.js.map +1 -0
  440. package/dist/sync/watcher.d.ts +191 -0
  441. package/dist/sync/watcher.d.ts.map +1 -0
  442. package/dist/sync/watcher.js +398 -0
  443. package/dist/sync/watcher.js.map +1 -0
  444. package/dist/sync/worktree.d.ts +54 -0
  445. package/dist/sync/worktree.d.ts.map +1 -0
  446. package/dist/sync/worktree.js +136 -0
  447. package/dist/sync/worktree.js.map +1 -0
  448. package/dist/types.d.ts +369 -0
  449. package/dist/types.d.ts.map +1 -0
  450. package/dist/types.js +78 -0
  451. package/dist/types.js.map +1 -0
  452. package/dist/ui/glyphs.d.ts +42 -0
  453. package/dist/ui/glyphs.d.ts.map +1 -0
  454. package/dist/ui/glyphs.js +78 -0
  455. package/dist/ui/glyphs.js.map +1 -0
  456. package/dist/ui/shimmer-progress.d.ts +11 -0
  457. package/dist/ui/shimmer-progress.d.ts.map +1 -0
  458. package/dist/ui/shimmer-progress.js +90 -0
  459. package/dist/ui/shimmer-progress.js.map +1 -0
  460. package/dist/ui/shimmer-worker.d.ts +2 -0
  461. package/dist/ui/shimmer-worker.d.ts.map +1 -0
  462. package/dist/ui/shimmer-worker.js +118 -0
  463. package/dist/ui/shimmer-worker.js.map +1 -0
  464. package/dist/ui/types.d.ts +17 -0
  465. package/dist/ui/types.d.ts.map +1 -0
  466. package/dist/ui/types.js +3 -0
  467. package/dist/ui/types.js.map +1 -0
  468. package/dist/utils.d.ts +205 -0
  469. package/dist/utils.d.ts.map +1 -0
  470. package/dist/utils.js +549 -0
  471. package/dist/utils.js.map +1 -0
  472. package/package.json +59 -0
  473. package/scripts/add-lang/bench.sh +60 -0
  474. package/scripts/add-lang/check-grammar.mjs +75 -0
  475. package/scripts/add-lang/dump-ast.mjs +103 -0
  476. package/scripts/add-lang/verify-extraction.mjs +70 -0
  477. package/scripts/agent-eval/arms-F.sh +21 -0
  478. package/scripts/agent-eval/arms-matrix.sh +37 -0
  479. package/scripts/agent-eval/audit.sh +68 -0
  480. package/scripts/agent-eval/bench-readme.sh +28 -0
  481. package/scripts/agent-eval/block-read-hook.sh +19 -0
  482. package/scripts/agent-eval/hook-settings.json +15 -0
  483. package/scripts/agent-eval/itrun.sh +107 -0
  484. package/scripts/agent-eval/parse-arms.mjs +116 -0
  485. package/scripts/agent-eval/parse-bench-readme.mjs +67 -0
  486. package/scripts/agent-eval/parse-run.mjs +45 -0
  487. package/scripts/agent-eval/parse-session.mjs +93 -0
  488. package/scripts/agent-eval/probe-context.mjs +21 -0
  489. package/scripts/agent-eval/probe-explore.mjs +40 -0
  490. package/scripts/agent-eval/probe-node.mjs +20 -0
  491. package/scripts/agent-eval/probe-trace.mjs +20 -0
  492. package/scripts/agent-eval/run-agent.sh +34 -0
  493. package/scripts/agent-eval/run-all.sh +67 -0
  494. package/scripts/agent-eval/run-arms.sh +56 -0
  495. package/scripts/agent-eval/seq-matrix.mjs +137 -0
  496. package/scripts/build-bundle.sh +118 -0
  497. package/scripts/extract-release-notes.mjs +130 -0
  498. package/scripts/local-install.sh +41 -0
  499. package/scripts/npm-shim.js +246 -0
  500. package/scripts/pack-npm.sh +95 -0
  501. package/scripts/prepare-release.mjs +270 -0
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Svelte / SvelteKit Framework Resolver
3
+ *
4
+ * Handles Svelte component references, Svelte 5 runes,
5
+ * store auto-subscriptions, and SvelteKit route/module patterns.
6
+ */
7
+ import { FrameworkResolver } from '../types';
8
+ export declare const svelteResolver: FrameworkResolver;
9
+ //# sourceMappingURL=svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svelte.d.ts","sourceRoot":"","sources":["../../../src/resolution/frameworks/svelte.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,iBAAiB,EAAiD,MAAM,UAAU,CAAC;AAoC5F,eAAO,MAAM,cAAc,EAAE,iBAuI5B,CAAC"}
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ /**
3
+ * Svelte / SvelteKit Framework Resolver
4
+ *
5
+ * Handles Svelte component references, Svelte 5 runes,
6
+ * store auto-subscriptions, and SvelteKit route/module patterns.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.svelteResolver = void 0;
10
+ /**
11
+ * Svelte 5 runes — compiler-provided, not user code
12
+ */
13
+ const SVELTE_RUNES = new Set([
14
+ '$state',
15
+ '$state.raw',
16
+ '$state.snapshot',
17
+ '$derived',
18
+ '$derived.by',
19
+ '$effect',
20
+ '$effect.pre',
21
+ '$effect.root',
22
+ '$effect.tracking',
23
+ '$props',
24
+ '$bindable',
25
+ '$inspect',
26
+ '$host',
27
+ ]);
28
+ /**
29
+ * SvelteKit framework-provided module prefixes
30
+ */
31
+ const SVELTEKIT_MODULE_PREFIXES = [
32
+ '$app/navigation',
33
+ '$app/stores',
34
+ '$app/environment',
35
+ '$app/forms',
36
+ '$app/paths',
37
+ '$env/static/private',
38
+ '$env/static/public',
39
+ '$env/dynamic/private',
40
+ '$env/dynamic/public',
41
+ ];
42
+ exports.svelteResolver = {
43
+ name: 'svelte',
44
+ languages: ['svelte'],
45
+ detect(context) {
46
+ // Check for svelte or @sveltejs/kit in package.json
47
+ const packageJson = context.readFile('package.json');
48
+ if (packageJson) {
49
+ try {
50
+ const pkg = JSON.parse(packageJson);
51
+ const deps = { ...pkg.dependencies, ...pkg.devDependencies };
52
+ if (deps.svelte || deps['@sveltejs/kit']) {
53
+ return true;
54
+ }
55
+ }
56
+ catch {
57
+ // Invalid JSON
58
+ }
59
+ }
60
+ // Check for .svelte files in project
61
+ const allFiles = context.getAllFiles();
62
+ return allFiles.some((f) => f.endsWith('.svelte'));
63
+ },
64
+ resolve(ref, context) {
65
+ // Pattern 1: Svelte runes ($state, $derived, $effect, etc.)
66
+ if (isRuneReference(ref.referenceName)) {
67
+ // Runes are compiler-provided — return a high-confidence "framework" resolution
68
+ // so CodeGraph doesn't waste time searching for user-defined symbols.
69
+ // We use the fromNodeId as targetNodeId since runes don't have real targets.
70
+ return {
71
+ original: ref,
72
+ targetNodeId: ref.fromNodeId,
73
+ confidence: 1.0,
74
+ resolvedBy: 'framework',
75
+ };
76
+ }
77
+ // Pattern 2: Store auto-subscriptions ($storeName)
78
+ if (ref.referenceName.startsWith('$') && !ref.referenceName.startsWith('$$')) {
79
+ const storeName = ref.referenceName.substring(1);
80
+ const storeNode = context.getNodesByName(storeName).find((n) => n.kind === 'variable' || n.kind === 'constant');
81
+ if (storeNode) {
82
+ return {
83
+ original: ref,
84
+ targetNodeId: storeNode.id,
85
+ confidence: 0.85,
86
+ resolvedBy: 'framework',
87
+ };
88
+ }
89
+ }
90
+ // Pattern 3: SvelteKit module imports ($app/*, $env/*, $lib/*)
91
+ if (ref.referenceKind === 'imports' && ref.referenceName.startsWith('$')) {
92
+ // $lib/* resolves to src/lib/* — try to find the target file
93
+ if (ref.referenceName.startsWith('$lib/')) {
94
+ const libPath = ref.referenceName.replace('$lib/', 'src/lib/');
95
+ // Try common extensions
96
+ for (const ext of ['', '.ts', '.js', '.svelte', '/index.ts', '/index.js']) {
97
+ const fullPath = libPath + ext;
98
+ if (context.fileExists(fullPath)) {
99
+ const nodes = context.getNodesInFile(fullPath);
100
+ if (nodes.length > 0) {
101
+ return {
102
+ original: ref,
103
+ targetNodeId: nodes[0].id,
104
+ confidence: 0.9,
105
+ resolvedBy: 'framework',
106
+ };
107
+ }
108
+ }
109
+ }
110
+ }
111
+ // $app/* and $env/* are framework-provided
112
+ if (SVELTEKIT_MODULE_PREFIXES.some((prefix) => ref.referenceName.startsWith(prefix))) {
113
+ return {
114
+ original: ref,
115
+ targetNodeId: ref.fromNodeId,
116
+ confidence: 1.0,
117
+ resolvedBy: 'framework',
118
+ };
119
+ }
120
+ }
121
+ // Pattern 4: Component references (PascalCase) — resolve to .svelte files
122
+ if (isPascalCase(ref.referenceName) && ref.referenceKind === 'calls') {
123
+ const result = resolveComponent(ref.referenceName, ref.filePath, context);
124
+ if (result) {
125
+ return {
126
+ original: ref,
127
+ targetNodeId: result,
128
+ confidence: 0.8,
129
+ resolvedBy: 'framework',
130
+ };
131
+ }
132
+ }
133
+ return null;
134
+ },
135
+ extract(filePath, _content) {
136
+ const nodes = [];
137
+ const now = Date.now();
138
+ // Detect SvelteKit route files
139
+ const fileName = filePath.split(/[/\\]/).pop() || '';
140
+ const routeMatch = getSvelteKitRouteInfo(fileName);
141
+ if (routeMatch) {
142
+ // Extract route path from directory structure
143
+ // e.g., src/routes/blog/[slug]/+page.svelte -> /blog/:slug
144
+ const routePath = filePathToSvelteKitRoute(filePath);
145
+ if (routePath) {
146
+ nodes.push({
147
+ id: `route:${filePath}:${routePath}:1`,
148
+ kind: 'route',
149
+ name: routePath,
150
+ qualifiedName: `${filePath}::route:${routePath}`,
151
+ filePath,
152
+ startLine: 1,
153
+ endLine: 1,
154
+ startColumn: 0,
155
+ endColumn: 0,
156
+ language: filePath.endsWith('.svelte') ? 'svelte' : 'typescript',
157
+ updatedAt: now,
158
+ });
159
+ }
160
+ }
161
+ return { nodes, references: [] };
162
+ },
163
+ };
164
+ /**
165
+ * Check if a reference name is a Svelte rune
166
+ */
167
+ function isRuneReference(name) {
168
+ // Direct match (e.g. $state, $derived)
169
+ if (SVELTE_RUNES.has(name))
170
+ return true;
171
+ // Rune method calls come through as the base rune name
172
+ // e.g. $state.raw -> the call is to "$state" with ".raw" accessed as property
173
+ // Check if it's a base rune that has sub-methods
174
+ if (name === '$state' || name === '$derived' || name === '$effect')
175
+ return true;
176
+ return false;
177
+ }
178
+ /**
179
+ * Check if string is PascalCase
180
+ */
181
+ function isPascalCase(str) {
182
+ return /^[A-Z][a-zA-Z0-9]*$/.test(str);
183
+ }
184
+ /**
185
+ * Resolve a Svelte component reference using name-based lookup
186
+ */
187
+ function resolveComponent(name, fromFile, context) {
188
+ // Look for component nodes by name
189
+ const candidates = context.getNodesByName(name);
190
+ const components = candidates.filter((n) => n.kind === 'component');
191
+ if (components.length === 0)
192
+ return null;
193
+ // Prefer same directory
194
+ const fromDir = fromFile.substring(0, fromFile.lastIndexOf('/'));
195
+ const sameDir = components.filter((n) => n.filePath.startsWith(fromDir));
196
+ if (sameDir.length > 0)
197
+ return sameDir[0].id;
198
+ return components[0].id;
199
+ }
200
+ /**
201
+ * SvelteKit route file patterns
202
+ */
203
+ const SVELTEKIT_ROUTE_FILES = {
204
+ '+page.svelte': 'page',
205
+ '+page.ts': 'page-load',
206
+ '+page.js': 'page-load',
207
+ '+page.server.ts': 'page-server-load',
208
+ '+page.server.js': 'page-server-load',
209
+ '+layout.svelte': 'layout',
210
+ '+layout.ts': 'layout-load',
211
+ '+layout.js': 'layout-load',
212
+ '+layout.server.ts': 'layout-server-load',
213
+ '+layout.server.js': 'layout-server-load',
214
+ '+server.ts': 'api-endpoint',
215
+ '+server.js': 'api-endpoint',
216
+ '+error.svelte': 'error-page',
217
+ };
218
+ /**
219
+ * Check if filename is a SvelteKit route file
220
+ */
221
+ function getSvelteKitRouteInfo(fileName) {
222
+ return SVELTEKIT_ROUTE_FILES[fileName] || null;
223
+ }
224
+ /**
225
+ * Convert a file path to a SvelteKit route path
226
+ */
227
+ function filePathToSvelteKitRoute(filePath) {
228
+ // Normalize to forward slashes
229
+ const normalized = filePath.replace(/\\/g, '/');
230
+ // Find the routes directory
231
+ const routesIndex = normalized.indexOf('/routes/');
232
+ if (routesIndex === -1)
233
+ return null;
234
+ // Extract the path after routes/
235
+ const afterRoutes = normalized.substring(routesIndex + '/routes/'.length);
236
+ // Remove the file name
237
+ const lastSlash = afterRoutes.lastIndexOf('/');
238
+ const dirPath = lastSlash === -1 ? '' : afterRoutes.substring(0, lastSlash);
239
+ // Convert SvelteKit param syntax [param] to :param
240
+ let route = '/' + dirPath
241
+ .replace(/\[\.\.\.([^\]]+)\]/g, '*$1') // [...rest] -> *rest
242
+ .replace(/\[{2}([^\]]+)\]{2}/g, ':$1?') // [[optional]] -> :optional?
243
+ .replace(/\[([^\]]+)\]/g, ':$1'); // [param] -> :param
244
+ if (route === '/')
245
+ return '/';
246
+ // Remove trailing slash
247
+ return route.replace(/\/$/, '');
248
+ }
249
+ //# sourceMappingURL=svelte.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svelte.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/svelte.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Swift ↔ Objective-C bridge resolver.
3
+ *
4
+ * Closes the cross-language flow gap in mixed iOS codebases. The pure
5
+ * bridging name math lives in `../swift-objc-bridge.ts`; this file wires
6
+ * it into the resolution pipeline.
7
+ *
8
+ * **Two directions to close:**
9
+ *
10
+ * 1. **Swift call → ObjC method** — A Swift caller writes
11
+ * `imageDownloader.download(url:completion:)`. Tree-sitter-swift parses
12
+ * this as a call_expression whose callee identifier is `download`
13
+ * (parameter labels live in the argument list, not the callee). The
14
+ * name-matcher tries to find any node named `download` and fails (no
15
+ * Swift method by that name in this project; the ObjC implementation is
16
+ * `-downloadURL:completion:`). We catch it here: from the bare Swift
17
+ * name `download`, look up ObjC methods whose bridged Swift base name
18
+ * would be `download` (using `swiftBaseNamesForObjcSelector`'s reverse
19
+ * map, precomputed once per session).
20
+ *
21
+ * 2. **ObjC call → Swift method** — An ObjC caller writes
22
+ * `[swiftThing fooWithBar:42]`. Tree-sitter-objc parses this as a
23
+ * message_expression with selector `fooWithBar:` (after the multi-
24
+ * keyword fix in this branch). The name-matcher tries to find a node
25
+ * named `fooWithBar:` — no Swift node has colons in its name, so it
26
+ * fails. We catch it: from the ObjC selector, derive candidate Swift
27
+ * base names (`['fooWithBar', 'foo']`), and look up Swift methods
28
+ * named those.
29
+ *
30
+ * **Provenance:** every edge produced here is recorded as a framework-
31
+ * resolved reference (`resolvedBy: 'framework'`) with `confidence: 0.7`
32
+ * (matches the django ORM dynamic-dispatch precedent — not exact, but
33
+ * deterministic from the bridging rule).
34
+ */
35
+ import { FrameworkResolver } from '../types';
36
+ export declare const swiftObjcBridgeResolver: FrameworkResolver;
37
+ //# sourceMappingURL=swift-objc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swift-objc.d.ts","sourceRoot":"","sources":["../../../src/resolution/frameworks/swift-objc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAAE,iBAAiB,EAAiD,MAAM,UAAU,CAAC;AAqN5F,eAAO,MAAM,uBAAuB,EAAE,iBAmDrC,CAAC"}
@@ -0,0 +1,252 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.swiftObjcBridgeResolver = void 0;
4
+ const swift_objc_bridge_1 = require("../swift-objc-bridge");
5
+ /**
6
+ * Memoized "Swift base name → ObjC method nodes" map.
7
+ *
8
+ * Built lazily on first `resolve()` per resolver instance — the resolver is
9
+ * recreated when the index is rebuilt, so this naturally invalidates with
10
+ * the graph. Keyed by ResolutionContext identity so multiple projects sharing
11
+ * a process (the daemon) don't bleed maps between them.
12
+ */
13
+ const objcByCandidateSwiftBase = new WeakMap();
14
+ /**
15
+ * Build the reverse-bridge map: for every ObjC method node in the graph,
16
+ * compute the Swift base names that would auto-bridge to its selector and
17
+ * record the node under each.
18
+ *
19
+ * Runs once per resolver lifetime; the cost scales linearly with the count
20
+ * of ObjC method nodes. On Wikipedia-iOS (~2500 files, ~25k ObjC methods)
21
+ * this is a few hundred ms — much cheaper than re-parsing source on each
22
+ * unresolved ref.
23
+ */
24
+ /**
25
+ * Names that are too generic to bridge with any precision. These are common
26
+ * Cocoa / NSObject conventions that almost every ObjC class implements; if a
27
+ * Swift caller writes `init()` or `description`, mapping it to an arbitrary
28
+ * project-local ObjC method of the same name produces noise, not signal.
29
+ *
30
+ * Critically, refs of these names virtually always resolve via the regular
31
+ * name-matcher (every project has many `init` nodes) — skipping them here
32
+ * just keeps the bridge from competing with name-match on already-handled
33
+ * refs.
34
+ */
35
+ const GENERIC_NAMES = new Set([
36
+ 'init',
37
+ 'description',
38
+ 'debugDescription',
39
+ 'hash',
40
+ 'isEqual',
41
+ 'isEqualTo',
42
+ 'copy',
43
+ 'mutableCopy',
44
+ 'class',
45
+ 'self',
46
+ 'count',
47
+ 'length',
48
+ 'value',
49
+ 'name',
50
+ 'data',
51
+ 'string',
52
+ 'object',
53
+ 'add',
54
+ 'remove',
55
+ 'update',
56
+ 'load',
57
+ 'save',
58
+ 'reload',
59
+ 'cancel',
60
+ 'start',
61
+ 'stop',
62
+ 'pause',
63
+ 'resume',
64
+ 'close',
65
+ 'open',
66
+ 'show',
67
+ 'hide',
68
+ 'toString',
69
+ 'dealloc',
70
+ 'release',
71
+ 'retain',
72
+ 'autorelease',
73
+ ]);
74
+ function buildObjcMap(context) {
75
+ const cached = objcByCandidateSwiftBase.get(context);
76
+ if (cached)
77
+ return cached;
78
+ const map = new Map();
79
+ const objcMethods = context
80
+ .getNodesByKind('method')
81
+ .filter((n) => n.language === 'objc');
82
+ for (const node of objcMethods) {
83
+ const candidates = (0, swift_objc_bridge_1.swiftBaseNamesForObjcSelector)(node.name);
84
+ for (const c of candidates) {
85
+ // Skip the trivial case where the Swift base name equals the ObjC
86
+ // method name verbatim (no colons) — the regular name-matcher
87
+ // already handles that and our map would just duplicate the work.
88
+ if (c === node.name && !node.name.includes(':'))
89
+ continue;
90
+ // Skip generic Cocoa names (init, description, etc.) — they would
91
+ // false-positive against any project-local ObjC method of the same
92
+ // name. The regular name-matcher handles them.
93
+ if (GENERIC_NAMES.has(c))
94
+ continue;
95
+ const arr = map.get(c);
96
+ if (arr)
97
+ arr.push(node);
98
+ else
99
+ map.set(c, [node]);
100
+ }
101
+ }
102
+ objcByCandidateSwiftBase.set(context, map);
103
+ return map;
104
+ }
105
+ /**
106
+ * Window of source text around a Swift declaration used by `isObjcExposed`
107
+ * to spot `@objc` / `@nonobjc` annotations. Read line above + the
108
+ * declaration line — Swift attributes typically sit on the preceding line
109
+ * (`@objc` on a line of its own) or inline.
110
+ */
111
+ const SOURCE_PROBE_LINES = 3;
112
+ /**
113
+ * Read a small window of source ending at `node.startLine`, used to
114
+ * inspect Swift attribute annotations attached to a declaration. Returns
115
+ * an empty string if the source can't be read.
116
+ */
117
+ function declarationSourceWindow(node, context) {
118
+ const content = context.readFile(node.filePath);
119
+ if (!content)
120
+ return '';
121
+ const lines = content.split(/\r?\n/);
122
+ const startIdx = Math.max(0, node.startLine - 1 - SOURCE_PROBE_LINES);
123
+ const endIdx = Math.min(lines.length, node.startLine);
124
+ return lines.slice(startIdx, endIdx).join('\n');
125
+ }
126
+ /**
127
+ * Try to resolve a Swift caller's bare reference to an ObjC implementation.
128
+ *
129
+ * Strategy: look up the ObjC reverse-bridge map for nodes whose Swift base
130
+ * name would match. Return the first match (matches the existing
131
+ * single-target resolution contract).
132
+ */
133
+ function resolveSwiftCallToObjc(ref, context) {
134
+ // Swift call sites of `obj.foo(bar:)` reach the resolver as either bare
135
+ // name `foo` (tree-sitter-swift) or qualified `obj.foo` — strip prefix.
136
+ const rawName = ref.referenceName.includes('.')
137
+ ? ref.referenceName.slice(ref.referenceName.lastIndexOf('.') + 1)
138
+ : ref.referenceName;
139
+ const map = buildObjcMap(context);
140
+ const candidates = map.get(rawName);
141
+ if (!candidates || candidates.length === 0)
142
+ return null;
143
+ // Prefer ObjC methods whose corresponding Swift declaration isn't itself
144
+ // present (so we don't wrongly redirect a Swift call to ObjC when a Swift
145
+ // method of the same name is the real target — that's the in-language case
146
+ // and should already be resolved by the name-matcher). Since this resolver
147
+ // runs AFTER exact-match, any matching Swift node would already have won;
148
+ // so a candidate reaching us is a legitimate cross-language hit.
149
+ const target = candidates[0];
150
+ if (!target)
151
+ return null;
152
+ return {
153
+ original: ref,
154
+ targetNodeId: target.id,
155
+ confidence: 0.6,
156
+ resolvedBy: 'framework',
157
+ };
158
+ }
159
+ /**
160
+ * Try to resolve an ObjC caller's selector reference to a Swift `@objc`
161
+ * implementation.
162
+ *
163
+ * Strategy: derive candidate Swift base names from the selector via
164
+ * `swiftBaseNamesForObjcSelector`. For each, look up Swift methods named
165
+ * that and verify with a source-window check that the declaration is
166
+ * `@objc`-exposed (filters out false matches where a Swift function
167
+ * happens to share the name but isn't bridged).
168
+ */
169
+ function resolveObjcCallToSwift(ref, context) {
170
+ // ObjC call sites get receiver-prefixed when the receiver isn't self/super
171
+ // (see tree-sitter.ts message_expression handling): `[obj foo:bar:]`
172
+ // becomes `obj.foo:bar:`. Strip the receiver prefix to recover the raw
173
+ // selector for the bridge math.
174
+ const rawSelector = ref.referenceName.includes('.')
175
+ ? ref.referenceName.slice(ref.referenceName.lastIndexOf('.') + 1)
176
+ : ref.referenceName;
177
+ // Bridge math only applies to selector-shape names (contain `:`).
178
+ if (!rawSelector.includes(':'))
179
+ return null;
180
+ const candidates = (0, swift_objc_bridge_1.swiftBaseNamesForObjcSelector)(rawSelector);
181
+ for (const candidate of candidates) {
182
+ const matches = context
183
+ .getNodesByName(candidate)
184
+ .filter((n) => n.language === 'swift' && (n.kind === 'method' || n.kind === 'function'));
185
+ for (const match of matches) {
186
+ const window = declarationSourceWindow(match, context);
187
+ if ((0, swift_objc_bridge_1.isObjcExposed)(window)) {
188
+ return {
189
+ original: ref,
190
+ targetNodeId: match.id,
191
+ confidence: 0.6,
192
+ resolvedBy: 'framework',
193
+ };
194
+ }
195
+ }
196
+ }
197
+ return null;
198
+ }
199
+ exports.swiftObjcBridgeResolver = {
200
+ name: 'swift-objc-bridge',
201
+ // Applies to both languages — bridging crosses the boundary.
202
+ languages: ['swift', 'objc'],
203
+ /**
204
+ * Detect: this resolver is relevant when the project has both Swift and
205
+ * Objective-C source. Either-side-only projects don't need bridging
206
+ * (and the empty reverse-map would be a no-op anyway).
207
+ */
208
+ detect(context) {
209
+ const files = context.getAllFiles();
210
+ let hasSwift = false;
211
+ let hasObjc = false;
212
+ for (const f of files) {
213
+ if (f.endsWith('.swift'))
214
+ hasSwift = true;
215
+ else if (f.endsWith('.m') || f.endsWith('.mm'))
216
+ hasObjc = true;
217
+ if (hasSwift && hasObjc)
218
+ return true;
219
+ }
220
+ return false;
221
+ },
222
+ /**
223
+ * Let selector-shape references (anything containing a `:`) through the
224
+ * resolver's name-exists pre-filter — no Swift node has a colon in its
225
+ * name, so without this opt-in those refs would be dropped before
226
+ * `resolve()` sees them. Also opt-in `setX:`-style names that aren't
227
+ * otherwise declared symbols, in case the Swift side is a property.
228
+ */
229
+ claimsReference(name) {
230
+ if (name.includes(':'))
231
+ return true;
232
+ // Bare names without colons are handled by the regular name-exists
233
+ // pre-filter — no need to opt them in here.
234
+ return false;
235
+ },
236
+ /**
237
+ * Route based on which language the caller is in. The two directions are
238
+ * symmetric in shape but very different in implementation (forward
239
+ * direction uses the precomputed reverse-bridge map; reverse direction
240
+ * uses the deterministic name-derivation).
241
+ */
242
+ resolve(ref, context) {
243
+ if (ref.language === 'swift') {
244
+ return resolveSwiftCallToObjc(ref, context);
245
+ }
246
+ if (ref.language === 'objc') {
247
+ return resolveObjcCallToSwift(ref, context);
248
+ }
249
+ return null;
250
+ },
251
+ };
252
+ //# sourceMappingURL=swift-objc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swift-objc.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/swift-objc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Swift Framework Resolver
3
+ *
4
+ * Handles SwiftUI, UIKit, and Vapor (server-side Swift) patterns.
5
+ */
6
+ import { FrameworkResolver } from '../types';
7
+ export declare const swiftUIResolver: FrameworkResolver;
8
+ export declare const uikitResolver: FrameworkResolver;
9
+ export declare const vaporResolver: FrameworkResolver;
10
+ //# sourceMappingURL=swift.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swift.d.ts","sourceRoot":"","sources":["../../../src/resolution/frameworks/swift.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAiD,MAAM,UAAU,CAAC;AAG5F,eAAO,MAAM,eAAe,EAAE,iBA2H7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,iBAmI3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,iBA6I3B,CAAC"}