@selvakumaresra/specship 0.1.1 → 0.1.3

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 (575) hide show
  1. package/package.json +8 -7
  2. package/scripts/sync-shim-version.mjs +64 -0
  3. package/dist/bin/node-version-check.d.ts +0 -37
  4. package/dist/bin/node-version-check.d.ts.map +0 -1
  5. package/dist/bin/node-version-check.js +0 -79
  6. package/dist/bin/node-version-check.js.map +0 -1
  7. package/dist/bin/specship.d.ts +0 -25
  8. package/dist/bin/specship.d.ts.map +0 -1
  9. package/dist/bin/specship.js +0 -2018
  10. package/dist/bin/specship.js.map +0 -1
  11. package/dist/bin/uninstall.d.ts +0 -13
  12. package/dist/bin/uninstall.d.ts.map +0 -1
  13. package/dist/bin/uninstall.js +0 -35
  14. package/dist/bin/uninstall.js.map +0 -1
  15. package/dist/context/formatter.d.ts +0 -30
  16. package/dist/context/formatter.d.ts.map +0 -1
  17. package/dist/context/formatter.js +0 -263
  18. package/dist/context/formatter.js.map +0 -1
  19. package/dist/context/index.d.ts +0 -119
  20. package/dist/context/index.d.ts.map +0 -1
  21. package/dist/context/index.js +0 -1289
  22. package/dist/context/index.js.map +0 -1
  23. package/dist/context/markers.d.ts +0 -19
  24. package/dist/context/markers.d.ts.map +0 -1
  25. package/dist/context/markers.js +0 -22
  26. package/dist/context/markers.js.map +0 -1
  27. package/dist/db/index.d.ts +0 -101
  28. package/dist/db/index.d.ts.map +0 -1
  29. package/dist/db/index.js +0 -276
  30. package/dist/db/index.js.map +0 -1
  31. package/dist/db/migrations.d.ts +0 -44
  32. package/dist/db/migrations.d.ts.map +0 -1
  33. package/dist/db/migrations.js +0 -427
  34. package/dist/db/migrations.js.map +0 -1
  35. package/dist/db/queries.d.ts +0 -357
  36. package/dist/db/queries.d.ts.map +0 -1
  37. package/dist/db/queries.js +0 -1504
  38. package/dist/db/queries.js.map +0 -1
  39. package/dist/db/schema.sql +0 -410
  40. package/dist/db/spec-queries.d.ts +0 -101
  41. package/dist/db/spec-queries.d.ts.map +0 -1
  42. package/dist/db/spec-queries.js +0 -675
  43. package/dist/db/spec-queries.js.map +0 -1
  44. package/dist/db/sqlite-adapter.d.ts +0 -65
  45. package/dist/db/sqlite-adapter.d.ts.map +0 -1
  46. package/dist/db/sqlite-adapter.js +0 -214
  47. package/dist/db/sqlite-adapter.js.map +0 -1
  48. package/dist/directory.d.ts +0 -57
  49. package/dist/directory.d.ts.map +0 -1
  50. package/dist/directory.js +0 -253
  51. package/dist/directory.js.map +0 -1
  52. package/dist/errors.d.ts +0 -136
  53. package/dist/errors.d.ts.map +0 -1
  54. package/dist/errors.js +0 -219
  55. package/dist/errors.js.map +0 -1
  56. package/dist/extraction/dfm-extractor.d.ts +0 -31
  57. package/dist/extraction/dfm-extractor.d.ts.map +0 -1
  58. package/dist/extraction/dfm-extractor.js +0 -151
  59. package/dist/extraction/dfm-extractor.js.map +0 -1
  60. package/dist/extraction/generated-detection.d.ts +0 -30
  61. package/dist/extraction/generated-detection.d.ts.map +0 -1
  62. package/dist/extraction/generated-detection.js +0 -80
  63. package/dist/extraction/generated-detection.js.map +0 -1
  64. package/dist/extraction/grammars.d.ts +0 -100
  65. package/dist/extraction/grammars.d.ts.map +0 -1
  66. package/dist/extraction/grammars.js +0 -426
  67. package/dist/extraction/grammars.js.map +0 -1
  68. package/dist/extraction/index.d.ts +0 -138
  69. package/dist/extraction/index.d.ts.map +0 -1
  70. package/dist/extraction/index.js +0 -1394
  71. package/dist/extraction/index.js.map +0 -1
  72. package/dist/extraction/languages/c-cpp.d.ts +0 -4
  73. package/dist/extraction/languages/c-cpp.d.ts.map +0 -1
  74. package/dist/extraction/languages/c-cpp.js +0 -171
  75. package/dist/extraction/languages/c-cpp.js.map +0 -1
  76. package/dist/extraction/languages/csharp.d.ts +0 -3
  77. package/dist/extraction/languages/csharp.d.ts.map +0 -1
  78. package/dist/extraction/languages/csharp.js +0 -73
  79. package/dist/extraction/languages/csharp.js.map +0 -1
  80. package/dist/extraction/languages/dart.d.ts +0 -3
  81. package/dist/extraction/languages/dart.d.ts.map +0 -1
  82. package/dist/extraction/languages/dart.js +0 -192
  83. package/dist/extraction/languages/dart.js.map +0 -1
  84. package/dist/extraction/languages/go.d.ts +0 -3
  85. package/dist/extraction/languages/go.d.ts.map +0 -1
  86. package/dist/extraction/languages/go.js +0 -74
  87. package/dist/extraction/languages/go.js.map +0 -1
  88. package/dist/extraction/languages/index.d.ts +0 -10
  89. package/dist/extraction/languages/index.d.ts.map +0 -1
  90. package/dist/extraction/languages/index.js +0 -51
  91. package/dist/extraction/languages/index.js.map +0 -1
  92. package/dist/extraction/languages/java.d.ts +0 -3
  93. package/dist/extraction/languages/java.d.ts.map +0 -1
  94. package/dist/extraction/languages/java.js +0 -70
  95. package/dist/extraction/languages/java.js.map +0 -1
  96. package/dist/extraction/languages/javascript.d.ts +0 -3
  97. package/dist/extraction/languages/javascript.d.ts.map +0 -1
  98. package/dist/extraction/languages/javascript.js +0 -90
  99. package/dist/extraction/languages/javascript.js.map +0 -1
  100. package/dist/extraction/languages/kotlin.d.ts +0 -3
  101. package/dist/extraction/languages/kotlin.d.ts.map +0 -1
  102. package/dist/extraction/languages/kotlin.js +0 -259
  103. package/dist/extraction/languages/kotlin.js.map +0 -1
  104. package/dist/extraction/languages/lua.d.ts +0 -3
  105. package/dist/extraction/languages/lua.d.ts.map +0 -1
  106. package/dist/extraction/languages/lua.js +0 -150
  107. package/dist/extraction/languages/lua.js.map +0 -1
  108. package/dist/extraction/languages/luau.d.ts +0 -3
  109. package/dist/extraction/languages/luau.d.ts.map +0 -1
  110. package/dist/extraction/languages/luau.js +0 -37
  111. package/dist/extraction/languages/luau.js.map +0 -1
  112. package/dist/extraction/languages/objc.d.ts +0 -3
  113. package/dist/extraction/languages/objc.d.ts.map +0 -1
  114. package/dist/extraction/languages/objc.js +0 -133
  115. package/dist/extraction/languages/objc.js.map +0 -1
  116. package/dist/extraction/languages/pascal.d.ts +0 -3
  117. package/dist/extraction/languages/pascal.d.ts.map +0 -1
  118. package/dist/extraction/languages/pascal.js +0 -66
  119. package/dist/extraction/languages/pascal.js.map +0 -1
  120. package/dist/extraction/languages/php.d.ts +0 -3
  121. package/dist/extraction/languages/php.d.ts.map +0 -1
  122. package/dist/extraction/languages/php.js +0 -107
  123. package/dist/extraction/languages/php.js.map +0 -1
  124. package/dist/extraction/languages/python.d.ts +0 -3
  125. package/dist/extraction/languages/python.d.ts.map +0 -1
  126. package/dist/extraction/languages/python.js +0 -56
  127. package/dist/extraction/languages/python.js.map +0 -1
  128. package/dist/extraction/languages/ruby.d.ts +0 -3
  129. package/dist/extraction/languages/ruby.d.ts.map +0 -1
  130. package/dist/extraction/languages/ruby.js +0 -114
  131. package/dist/extraction/languages/ruby.js.map +0 -1
  132. package/dist/extraction/languages/rust.d.ts +0 -3
  133. package/dist/extraction/languages/rust.d.ts.map +0 -1
  134. package/dist/extraction/languages/rust.js +0 -109
  135. package/dist/extraction/languages/rust.js.map +0 -1
  136. package/dist/extraction/languages/scala.d.ts +0 -3
  137. package/dist/extraction/languages/scala.d.ts.map +0 -1
  138. package/dist/extraction/languages/scala.js +0 -139
  139. package/dist/extraction/languages/scala.js.map +0 -1
  140. package/dist/extraction/languages/swift.d.ts +0 -3
  141. package/dist/extraction/languages/swift.d.ts.map +0 -1
  142. package/dist/extraction/languages/swift.js +0 -91
  143. package/dist/extraction/languages/swift.js.map +0 -1
  144. package/dist/extraction/languages/typescript.d.ts +0 -3
  145. package/dist/extraction/languages/typescript.d.ts.map +0 -1
  146. package/dist/extraction/languages/typescript.js +0 -129
  147. package/dist/extraction/languages/typescript.js.map +0 -1
  148. package/dist/extraction/liquid-extractor.d.ts +0 -52
  149. package/dist/extraction/liquid-extractor.d.ts.map +0 -1
  150. package/dist/extraction/liquid-extractor.js +0 -313
  151. package/dist/extraction/liquid-extractor.js.map +0 -1
  152. package/dist/extraction/mybatis-extractor.d.ts +0 -48
  153. package/dist/extraction/mybatis-extractor.d.ts.map +0 -1
  154. package/dist/extraction/mybatis-extractor.js +0 -198
  155. package/dist/extraction/mybatis-extractor.js.map +0 -1
  156. package/dist/extraction/parse-worker.d.ts +0 -8
  157. package/dist/extraction/parse-worker.d.ts.map +0 -1
  158. package/dist/extraction/parse-worker.js +0 -94
  159. package/dist/extraction/parse-worker.js.map +0 -1
  160. package/dist/extraction/specs/markdown-spec-extractor.d.ts +0 -59
  161. package/dist/extraction/specs/markdown-spec-extractor.d.ts.map +0 -1
  162. package/dist/extraction/specs/markdown-spec-extractor.js +0 -327
  163. package/dist/extraction/specs/markdown-spec-extractor.js.map +0 -1
  164. package/dist/extraction/specs/types.d.ts +0 -39
  165. package/dist/extraction/specs/types.d.ts.map +0 -1
  166. package/dist/extraction/specs/types.js +0 -8
  167. package/dist/extraction/specs/types.js.map +0 -1
  168. package/dist/extraction/svelte-extractor.d.ts +0 -56
  169. package/dist/extraction/svelte-extractor.d.ts.map +0 -1
  170. package/dist/extraction/svelte-extractor.js +0 -272
  171. package/dist/extraction/svelte-extractor.js.map +0 -1
  172. package/dist/extraction/tree-sitter-helpers.d.ts +0 -28
  173. package/dist/extraction/tree-sitter-helpers.d.ts.map +0 -1
  174. package/dist/extraction/tree-sitter-helpers.js +0 -103
  175. package/dist/extraction/tree-sitter-helpers.js.map +0 -1
  176. package/dist/extraction/tree-sitter-types.d.ts +0 -193
  177. package/dist/extraction/tree-sitter-types.d.ts.map +0 -1
  178. package/dist/extraction/tree-sitter-types.js +0 -10
  179. package/dist/extraction/tree-sitter-types.js.map +0 -1
  180. package/dist/extraction/tree-sitter.d.ts +0 -317
  181. package/dist/extraction/tree-sitter.d.ts.map +0 -1
  182. package/dist/extraction/tree-sitter.js +0 -3092
  183. package/dist/extraction/tree-sitter.js.map +0 -1
  184. package/dist/extraction/vue-extractor.d.ts +0 -51
  185. package/dist/extraction/vue-extractor.d.ts.map +0 -1
  186. package/dist/extraction/vue-extractor.js +0 -251
  187. package/dist/extraction/vue-extractor.js.map +0 -1
  188. package/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
  189. package/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
  190. package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
  191. package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  192. package/dist/extraction/wasm-runtime-flags.d.ts +0 -38
  193. package/dist/extraction/wasm-runtime-flags.d.ts.map +0 -1
  194. package/dist/extraction/wasm-runtime-flags.js +0 -106
  195. package/dist/extraction/wasm-runtime-flags.js.map +0 -1
  196. package/dist/graph/index.d.ts +0 -8
  197. package/dist/graph/index.d.ts.map +0 -1
  198. package/dist/graph/index.js +0 -13
  199. package/dist/graph/index.js.map +0 -1
  200. package/dist/graph/queries.d.ts +0 -106
  201. package/dist/graph/queries.d.ts.map +0 -1
  202. package/dist/graph/queries.js +0 -366
  203. package/dist/graph/queries.js.map +0 -1
  204. package/dist/graph/traversal.d.ts +0 -127
  205. package/dist/graph/traversal.d.ts.map +0 -1
  206. package/dist/graph/traversal.js +0 -531
  207. package/dist/graph/traversal.js.map +0 -1
  208. package/dist/index.d.ts +0 -551
  209. package/dist/index.d.ts.map +0 -1
  210. package/dist/index.js +0 -1165
  211. package/dist/index.js.map +0 -1
  212. package/dist/installer/config-writer.d.ts +0 -28
  213. package/dist/installer/config-writer.d.ts.map +0 -1
  214. package/dist/installer/config-writer.js +0 -91
  215. package/dist/installer/config-writer.js.map +0 -1
  216. package/dist/installer/index.d.ts +0 -87
  217. package/dist/installer/index.d.ts.map +0 -1
  218. package/dist/installer/index.js +0 -409
  219. package/dist/installer/index.js.map +0 -1
  220. package/dist/installer/instructions-template.d.ts +0 -18
  221. package/dist/installer/instructions-template.d.ts.map +0 -1
  222. package/dist/installer/instructions-template.js +0 -21
  223. package/dist/installer/instructions-template.js.map +0 -1
  224. package/dist/installer/targets/claude.d.ts +0 -88
  225. package/dist/installer/targets/claude.d.ts.map +0 -1
  226. package/dist/installer/targets/claude.js +0 -582
  227. package/dist/installer/targets/claude.js.map +0 -1
  228. package/dist/installer/targets/registry.d.ts +0 -19
  229. package/dist/installer/targets/registry.d.ts.map +0 -1
  230. package/dist/installer/targets/registry.js +0 -31
  231. package/dist/installer/targets/registry.js.map +0 -1
  232. package/dist/installer/targets/shared.d.ts +0 -62
  233. package/dist/installer/targets/shared.d.ts.map +0 -1
  234. package/dist/installer/targets/shared.js +0 -207
  235. package/dist/installer/targets/shared.js.map +0 -1
  236. package/dist/installer/targets/types.d.ts +0 -76
  237. package/dist/installer/targets/types.d.ts.map +0 -1
  238. package/dist/installer/targets/types.js +0 -12
  239. package/dist/installer/targets/types.js.map +0 -1
  240. package/dist/isolation/worktree.d.ts +0 -65
  241. package/dist/isolation/worktree.d.ts.map +0 -1
  242. package/dist/isolation/worktree.js +0 -231
  243. package/dist/isolation/worktree.js.map +0 -1
  244. package/dist/mcp/daemon-paths.d.ts +0 -46
  245. package/dist/mcp/daemon-paths.d.ts.map +0 -1
  246. package/dist/mcp/daemon-paths.js +0 -125
  247. package/dist/mcp/daemon-paths.js.map +0 -1
  248. package/dist/mcp/daemon.d.ts +0 -161
  249. package/dist/mcp/daemon.d.ts.map +0 -1
  250. package/dist/mcp/daemon.js +0 -403
  251. package/dist/mcp/daemon.js.map +0 -1
  252. package/dist/mcp/engine.d.ts +0 -105
  253. package/dist/mcp/engine.d.ts.map +0 -1
  254. package/dist/mcp/engine.js +0 -270
  255. package/dist/mcp/engine.js.map +0 -1
  256. package/dist/mcp/index.d.ts +0 -112
  257. package/dist/mcp/index.d.ts.map +0 -1
  258. package/dist/mcp/index.js +0 -477
  259. package/dist/mcp/index.js.map +0 -1
  260. package/dist/mcp/proxy.d.ts +0 -81
  261. package/dist/mcp/proxy.d.ts.map +0 -1
  262. package/dist/mcp/proxy.js +0 -510
  263. package/dist/mcp/proxy.js.map +0 -1
  264. package/dist/mcp/server-instructions.d.ts +0 -18
  265. package/dist/mcp/server-instructions.d.ts.map +0 -1
  266. package/dist/mcp/server-instructions.js +0 -77
  267. package/dist/mcp/server-instructions.js.map +0 -1
  268. package/dist/mcp/session.d.ts +0 -77
  269. package/dist/mcp/session.d.ts.map +0 -1
  270. package/dist/mcp/session.js +0 -294
  271. package/dist/mcp/session.js.map +0 -1
  272. package/dist/mcp/spec-tools.d.ts +0 -39
  273. package/dist/mcp/spec-tools.d.ts.map +0 -1
  274. package/dist/mcp/spec-tools.js +0 -326
  275. package/dist/mcp/spec-tools.js.map +0 -1
  276. package/dist/mcp/tools.d.ts +0 -404
  277. package/dist/mcp/tools.d.ts.map +0 -1
  278. package/dist/mcp/tools.js +0 -3066
  279. package/dist/mcp/tools.js.map +0 -1
  280. package/dist/mcp/transport.d.ts +0 -188
  281. package/dist/mcp/transport.d.ts.map +0 -1
  282. package/dist/mcp/transport.js +0 -343
  283. package/dist/mcp/transport.js.map +0 -1
  284. package/dist/mcp/version.d.ts +0 -19
  285. package/dist/mcp/version.d.ts.map +0 -1
  286. package/dist/mcp/version.js +0 -71
  287. package/dist/mcp/version.js.map +0 -1
  288. package/dist/resolution/callback-synthesizer.d.ts +0 -10
  289. package/dist/resolution/callback-synthesizer.d.ts.map +0 -1
  290. package/dist/resolution/callback-synthesizer.js +0 -1300
  291. package/dist/resolution/callback-synthesizer.js.map +0 -1
  292. package/dist/resolution/frameworks/cargo-workspace.d.ts +0 -18
  293. package/dist/resolution/frameworks/cargo-workspace.d.ts.map +0 -1
  294. package/dist/resolution/frameworks/cargo-workspace.js +0 -225
  295. package/dist/resolution/frameworks/cargo-workspace.js.map +0 -1
  296. package/dist/resolution/frameworks/csharp.d.ts +0 -8
  297. package/dist/resolution/frameworks/csharp.d.ts.map +0 -1
  298. package/dist/resolution/frameworks/csharp.js +0 -241
  299. package/dist/resolution/frameworks/csharp.js.map +0 -1
  300. package/dist/resolution/frameworks/drupal.d.ts +0 -51
  301. package/dist/resolution/frameworks/drupal.d.ts.map +0 -1
  302. package/dist/resolution/frameworks/drupal.js +0 -367
  303. package/dist/resolution/frameworks/drupal.js.map +0 -1
  304. package/dist/resolution/frameworks/expo-modules.d.ts +0 -3
  305. package/dist/resolution/frameworks/expo-modules.d.ts.map +0 -1
  306. package/dist/resolution/frameworks/expo-modules.js +0 -143
  307. package/dist/resolution/frameworks/expo-modules.js.map +0 -1
  308. package/dist/resolution/frameworks/express.d.ts +0 -8
  309. package/dist/resolution/frameworks/express.d.ts.map +0 -1
  310. package/dist/resolution/frameworks/express.js +0 -308
  311. package/dist/resolution/frameworks/express.js.map +0 -1
  312. package/dist/resolution/frameworks/fabric.d.ts +0 -3
  313. package/dist/resolution/frameworks/fabric.d.ts.map +0 -1
  314. package/dist/resolution/frameworks/fabric.js +0 -354
  315. package/dist/resolution/frameworks/fabric.js.map +0 -1
  316. package/dist/resolution/frameworks/go.d.ts +0 -8
  317. package/dist/resolution/frameworks/go.d.ts.map +0 -1
  318. package/dist/resolution/frameworks/go.js +0 -161
  319. package/dist/resolution/frameworks/go.js.map +0 -1
  320. package/dist/resolution/frameworks/index.d.ts +0 -48
  321. package/dist/resolution/frameworks/index.d.ts.map +0 -1
  322. package/dist/resolution/frameworks/index.js +0 -161
  323. package/dist/resolution/frameworks/index.js.map +0 -1
  324. package/dist/resolution/frameworks/java.d.ts +0 -8
  325. package/dist/resolution/frameworks/java.d.ts.map +0 -1
  326. package/dist/resolution/frameworks/java.js +0 -504
  327. package/dist/resolution/frameworks/java.js.map +0 -1
  328. package/dist/resolution/frameworks/laravel.d.ts +0 -13
  329. package/dist/resolution/frameworks/laravel.d.ts.map +0 -1
  330. package/dist/resolution/frameworks/laravel.js +0 -257
  331. package/dist/resolution/frameworks/laravel.js.map +0 -1
  332. package/dist/resolution/frameworks/nestjs.d.ts +0 -26
  333. package/dist/resolution/frameworks/nestjs.d.ts.map +0 -1
  334. package/dist/resolution/frameworks/nestjs.js +0 -698
  335. package/dist/resolution/frameworks/nestjs.js.map +0 -1
  336. package/dist/resolution/frameworks/play.d.ts +0 -19
  337. package/dist/resolution/frameworks/play.d.ts.map +0 -1
  338. package/dist/resolution/frameworks/play.js +0 -111
  339. package/dist/resolution/frameworks/play.js.map +0 -1
  340. package/dist/resolution/frameworks/python.d.ts +0 -10
  341. package/dist/resolution/frameworks/python.d.ts.map +0 -1
  342. package/dist/resolution/frameworks/python.js +0 -396
  343. package/dist/resolution/frameworks/python.js.map +0 -1
  344. package/dist/resolution/frameworks/react-native.d.ts +0 -3
  345. package/dist/resolution/frameworks/react-native.d.ts.map +0 -1
  346. package/dist/resolution/frameworks/react-native.js +0 -360
  347. package/dist/resolution/frameworks/react-native.js.map +0 -1
  348. package/dist/resolution/frameworks/react.d.ts +0 -8
  349. package/dist/resolution/frameworks/react.d.ts.map +0 -1
  350. package/dist/resolution/frameworks/react.js +0 -365
  351. package/dist/resolution/frameworks/react.js.map +0 -1
  352. package/dist/resolution/frameworks/ruby.d.ts +0 -8
  353. package/dist/resolution/frameworks/ruby.d.ts.map +0 -1
  354. package/dist/resolution/frameworks/ruby.js +0 -302
  355. package/dist/resolution/frameworks/ruby.js.map +0 -1
  356. package/dist/resolution/frameworks/rust.d.ts +0 -8
  357. package/dist/resolution/frameworks/rust.d.ts.map +0 -1
  358. package/dist/resolution/frameworks/rust.js +0 -304
  359. package/dist/resolution/frameworks/rust.js.map +0 -1
  360. package/dist/resolution/frameworks/svelte.d.ts +0 -9
  361. package/dist/resolution/frameworks/svelte.d.ts.map +0 -1
  362. package/dist/resolution/frameworks/svelte.js +0 -249
  363. package/dist/resolution/frameworks/svelte.js.map +0 -1
  364. package/dist/resolution/frameworks/swift-objc.d.ts +0 -37
  365. package/dist/resolution/frameworks/swift-objc.d.ts.map +0 -1
  366. package/dist/resolution/frameworks/swift-objc.js +0 -252
  367. package/dist/resolution/frameworks/swift-objc.js.map +0 -1
  368. package/dist/resolution/frameworks/swift.d.ts +0 -10
  369. package/dist/resolution/frameworks/swift.d.ts.map +0 -1
  370. package/dist/resolution/frameworks/swift.js +0 -400
  371. package/dist/resolution/frameworks/swift.js.map +0 -1
  372. package/dist/resolution/frameworks/vue.d.ts +0 -9
  373. package/dist/resolution/frameworks/vue.d.ts.map +0 -1
  374. package/dist/resolution/frameworks/vue.js +0 -306
  375. package/dist/resolution/frameworks/vue.js.map +0 -1
  376. package/dist/resolution/go-module.d.ts +0 -26
  377. package/dist/resolution/go-module.d.ts.map +0 -1
  378. package/dist/resolution/go-module.js +0 -78
  379. package/dist/resolution/go-module.js.map +0 -1
  380. package/dist/resolution/import-resolver.d.ts +0 -68
  381. package/dist/resolution/import-resolver.d.ts.map +0 -1
  382. package/dist/resolution/import-resolver.js +0 -1275
  383. package/dist/resolution/import-resolver.js.map +0 -1
  384. package/dist/resolution/index.d.ts +0 -117
  385. package/dist/resolution/index.d.ts.map +0 -1
  386. package/dist/resolution/index.js +0 -895
  387. package/dist/resolution/index.js.map +0 -1
  388. package/dist/resolution/lru-cache.d.ts +0 -24
  389. package/dist/resolution/lru-cache.d.ts.map +0 -1
  390. package/dist/resolution/lru-cache.js +0 -62
  391. package/dist/resolution/lru-cache.js.map +0 -1
  392. package/dist/resolution/name-matcher.d.ts +0 -32
  393. package/dist/resolution/name-matcher.d.ts.map +0 -1
  394. package/dist/resolution/name-matcher.js +0 -596
  395. package/dist/resolution/name-matcher.js.map +0 -1
  396. package/dist/resolution/path-aliases.d.ts +0 -68
  397. package/dist/resolution/path-aliases.d.ts.map +0 -1
  398. package/dist/resolution/path-aliases.js +0 -238
  399. package/dist/resolution/path-aliases.js.map +0 -1
  400. package/dist/resolution/spec-link-resolver.d.ts +0 -103
  401. package/dist/resolution/spec-link-resolver.d.ts.map +0 -1
  402. package/dist/resolution/spec-link-resolver.js +0 -259
  403. package/dist/resolution/spec-link-resolver.js.map +0 -1
  404. package/dist/resolution/strip-comments.d.ts +0 -27
  405. package/dist/resolution/strip-comments.d.ts.map +0 -1
  406. package/dist/resolution/strip-comments.js +0 -441
  407. package/dist/resolution/strip-comments.js.map +0 -1
  408. package/dist/resolution/swift-objc-bridge.d.ts +0 -134
  409. package/dist/resolution/swift-objc-bridge.d.ts.map +0 -1
  410. package/dist/resolution/swift-objc-bridge.js +0 -256
  411. package/dist/resolution/swift-objc-bridge.js.map +0 -1
  412. package/dist/resolution/types.d.ts +0 -216
  413. package/dist/resolution/types.d.ts.map +0 -1
  414. package/dist/resolution/types.js +0 -8
  415. package/dist/resolution/types.js.map +0 -1
  416. package/dist/resolution/workspace-packages.d.ts +0 -48
  417. package/dist/resolution/workspace-packages.d.ts.map +0 -1
  418. package/dist/resolution/workspace-packages.js +0 -208
  419. package/dist/resolution/workspace-packages.js.map +0 -1
  420. package/dist/search/query-parser.d.ts +0 -57
  421. package/dist/search/query-parser.d.ts.map +0 -1
  422. package/dist/search/query-parser.js +0 -177
  423. package/dist/search/query-parser.js.map +0 -1
  424. package/dist/search/query-utils.d.ts +0 -71
  425. package/dist/search/query-utils.d.ts.map +0 -1
  426. package/dist/search/query-utils.js +0 -380
  427. package/dist/search/query-utils.js.map +0 -1
  428. package/dist/server/cli.js +0 -152
  429. package/dist/server/index.js +0 -12
  430. package/dist/server/ingest/index.js +0 -18
  431. package/dist/server/ingest/ingestor.js +0 -406
  432. package/dist/server/ingest/parser.js +0 -104
  433. package/dist/server/ingest/pricing.js +0 -78
  434. package/dist/server/ingest/types.js +0 -9
  435. package/dist/server/ingest/watcher.js +0 -77
  436. package/dist/server/package.json +0 -3
  437. package/dist/server/project-registry.js +0 -101
  438. package/dist/server/routes/claude.js +0 -480
  439. package/dist/server/routes/graph.js +0 -149
  440. package/dist/server/routes/memory.js +0 -272
  441. package/dist/server/routes/projects.js +0 -197
  442. package/dist/server/routes/spec.js +0 -105
  443. package/dist/server/routes/status.js +0 -35
  444. package/dist/server/routes/workflow.js +0 -184
  445. package/dist/server/server.js +0 -202
  446. package/dist/sync/git-hooks.d.ts +0 -45
  447. package/dist/sync/git-hooks.d.ts.map +0 -1
  448. package/dist/sync/git-hooks.js +0 -225
  449. package/dist/sync/git-hooks.js.map +0 -1
  450. package/dist/sync/index.d.ts +0 -19
  451. package/dist/sync/index.d.ts.map +0 -1
  452. package/dist/sync/index.js +0 -35
  453. package/dist/sync/index.js.map +0 -1
  454. package/dist/sync/watch-policy.d.ts +0 -48
  455. package/dist/sync/watch-policy.d.ts.map +0 -1
  456. package/dist/sync/watch-policy.js +0 -124
  457. package/dist/sync/watch-policy.js.map +0 -1
  458. package/dist/sync/watcher.d.ts +0 -283
  459. package/dist/sync/watcher.d.ts.map +0 -1
  460. package/dist/sync/watcher.js +0 -606
  461. package/dist/sync/watcher.js.map +0 -1
  462. package/dist/sync/worktree.d.ts +0 -54
  463. package/dist/sync/worktree.d.ts.map +0 -1
  464. package/dist/sync/worktree.js +0 -137
  465. package/dist/sync/worktree.js.map +0 -1
  466. package/dist/types.d.ts +0 -623
  467. package/dist/types.d.ts.map +0 -1
  468. package/dist/types.js +0 -108
  469. package/dist/types.js.map +0 -1
  470. package/dist/ui/glyphs.d.ts +0 -42
  471. package/dist/ui/glyphs.d.ts.map +0 -1
  472. package/dist/ui/glyphs.js +0 -78
  473. package/dist/ui/glyphs.js.map +0 -1
  474. package/dist/ui/shimmer-progress.d.ts +0 -11
  475. package/dist/ui/shimmer-progress.d.ts.map +0 -1
  476. package/dist/ui/shimmer-progress.js +0 -90
  477. package/dist/ui/shimmer-progress.js.map +0 -1
  478. package/dist/ui/shimmer-worker.d.ts +0 -2
  479. package/dist/ui/shimmer-worker.d.ts.map +0 -1
  480. package/dist/ui/shimmer-worker.js +0 -118
  481. package/dist/ui/shimmer-worker.js.map +0 -1
  482. package/dist/ui/types.d.ts +0 -17
  483. package/dist/ui/types.d.ts.map +0 -1
  484. package/dist/ui/types.js +0 -3
  485. package/dist/ui/types.js.map +0 -1
  486. package/dist/utils.d.ts +0 -205
  487. package/dist/utils.d.ts.map +0 -1
  488. package/dist/utils.js +0 -549
  489. package/dist/utils.js.map +0 -1
  490. package/dist/web/chunk-2YZXEHZ2.js +0 -1
  491. package/dist/web/chunk-3GIC555L.js +0 -18
  492. package/dist/web/chunk-3IIIGRMT.js +0 -1
  493. package/dist/web/chunk-47QYKLE5.js +0 -1
  494. package/dist/web/chunk-4LHBWWP7.js +0 -1
  495. package/dist/web/chunk-4OAZLD5W.js +0 -1
  496. package/dist/web/chunk-5OQKAJAE.js +0 -1
  497. package/dist/web/chunk-7B525GKQ.js +0 -1
  498. package/dist/web/chunk-BPDXCOOZ.js +0 -1
  499. package/dist/web/chunk-DT37HTZB.js +0 -1
  500. package/dist/web/chunk-EIMUHJND.js +0 -1
  501. package/dist/web/chunk-FTESTUEO.js +0 -1
  502. package/dist/web/chunk-GLJZV6MU.js +0 -1
  503. package/dist/web/chunk-I7LS67U5.js +0 -1
  504. package/dist/web/chunk-L4TVIPSR.js +0 -1
  505. package/dist/web/chunk-MASCULC2.js +0 -1
  506. package/dist/web/chunk-MW7ICSRM.js +0 -1
  507. package/dist/web/chunk-OI5VP2A3.js +0 -1
  508. package/dist/web/chunk-RA6EBF6I.js +0 -1
  509. package/dist/web/chunk-RP3WU5Y6.js +0 -1
  510. package/dist/web/chunk-RQDRMTXN.js +0 -1
  511. package/dist/web/chunk-TQMT6UDU.js +0 -1
  512. package/dist/web/chunk-U7IYOV7T.js +0 -1
  513. package/dist/web/chunk-UE227MWF.js +0 -1
  514. package/dist/web/chunk-WV573J4K.js +0 -1
  515. package/dist/web/chunk-WVCKOJZL.js +0 -4
  516. package/dist/web/chunk-XZKLVPHE.js +0 -1
  517. package/dist/web/chunk-ZABKKHJ3.js +0 -1
  518. package/dist/web/favicon-16.png +0 -0
  519. package/dist/web/favicon-180.png +0 -0
  520. package/dist/web/favicon-32.png +0 -0
  521. package/dist/web/favicon-512.png +0 -0
  522. package/dist/web/favicon-small.svg +0 -15
  523. package/dist/web/favicon.ico +0 -0
  524. package/dist/web/favicon.svg +0 -20
  525. package/dist/web/index.html +0 -145
  526. package/dist/web/main-RI5CO5Z4.js +0 -1
  527. package/dist/web/styles-CYN7IKT4.css +0 -1
  528. package/dist/workflows/condition-evaluator.d.ts +0 -75
  529. package/dist/workflows/condition-evaluator.d.ts.map +0 -1
  530. package/dist/workflows/condition-evaluator.js +0 -282
  531. package/dist/workflows/condition-evaluator.js.map +0 -1
  532. package/dist/workflows/defaults/index.d.ts +0 -26
  533. package/dist/workflows/defaults/index.d.ts.map +0 -1
  534. package/dist/workflows/defaults/index.js +0 -94
  535. package/dist/workflows/defaults/index.js.map +0 -1
  536. package/dist/workflows/defaults/spec-fix.yaml +0 -110
  537. package/dist/workflows/defaults/spec-implement.yaml +0 -150
  538. package/dist/workflows/defaults/spec-relink.yaml +0 -81
  539. package/dist/workflows/defaults/spec-verify.yaml +0 -51
  540. package/dist/workflows/discovery.d.ts +0 -46
  541. package/dist/workflows/discovery.d.ts.map +0 -1
  542. package/dist/workflows/discovery.js +0 -193
  543. package/dist/workflows/discovery.js.map +0 -1
  544. package/dist/workflows/executor.d.ts +0 -83
  545. package/dist/workflows/executor.d.ts.map +0 -1
  546. package/dist/workflows/executor.js +0 -623
  547. package/dist/workflows/executor.js.map +0 -1
  548. package/dist/workflows/runners/approval.d.ts +0 -18
  549. package/dist/workflows/runners/approval.d.ts.map +0 -1
  550. package/dist/workflows/runners/approval.js +0 -34
  551. package/dist/workflows/runners/approval.js.map +0 -1
  552. package/dist/workflows/runners/bash.d.ts +0 -13
  553. package/dist/workflows/runners/bash.d.ts.map +0 -1
  554. package/dist/workflows/runners/bash.js +0 -143
  555. package/dist/workflows/runners/bash.js.map +0 -1
  556. package/dist/workflows/runners/cancel.d.ts +0 -10
  557. package/dist/workflows/runners/cancel.d.ts.map +0 -1
  558. package/dist/workflows/runners/cancel.js +0 -19
  559. package/dist/workflows/runners/cancel.js.map +0 -1
  560. package/dist/workflows/runners/prompt.d.ts +0 -28
  561. package/dist/workflows/runners/prompt.d.ts.map +0 -1
  562. package/dist/workflows/runners/prompt.js +0 -212
  563. package/dist/workflows/runners/prompt.js.map +0 -1
  564. package/dist/workflows/runners/script.d.ts +0 -17
  565. package/dist/workflows/runners/script.d.ts.map +0 -1
  566. package/dist/workflows/runners/script.js +0 -155
  567. package/dist/workflows/runners/script.js.map +0 -1
  568. package/dist/workflows/runners/types.d.ts +0 -51
  569. package/dist/workflows/runners/types.d.ts.map +0 -1
  570. package/dist/workflows/runners/types.js +0 -13
  571. package/dist/workflows/runners/types.js.map +0 -1
  572. package/dist/workflows/schemas/workflow.d.ts +0 -166
  573. package/dist/workflows/schemas/workflow.d.ts.map +0 -1
  574. package/dist/workflows/schemas/workflow.js +0 -437
  575. package/dist/workflows/schemas/workflow.js.map +0 -1
@@ -1,9 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,249 +0,0 @@
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 SpecShip 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
@@ -1 +0,0 @@
1
- {"version":3,"file":"svelte.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/svelte.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAKH;;GAEG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,QAAQ;IACR,YAAY;IACZ,iBAAiB;IACjB,UAAU;IACV,aAAa;IACb,SAAS;IACT,aAAa;IACb,cAAc;IACd,kBAAkB;IAClB,QAAQ;IACR,WAAW;IACX,UAAU;IACV,OAAO;CACR,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,yBAAyB,GAAG;IAChC,iBAAiB;IACjB,aAAa;IACb,kBAAkB;IAClB,YAAY;IACZ,YAAY;IACZ,qBAAqB;IACrB,oBAAoB;IACpB,sBAAsB;IACtB,qBAAqB;CACtB,CAAC;AAEW,QAAA,cAAc,GAAsB;IAC/C,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,CAAC,QAAQ,CAAC;IAErB,MAAM,CAAC,OAA0B;QAC/B,oDAAoD;QACpD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACrD,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;gBAC7D,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;oBACzC,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,eAAe;YACjB,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,GAAkB,EAAE,OAA0B;QACpD,4DAA4D;QAC5D,IAAI,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACvC,gFAAgF;YAChF,qEAAqE;YACrE,6EAA6E;YAC7E,OAAO;gBACL,QAAQ,EAAE,GAAG;gBACb,YAAY,EAAE,GAAG,CAAC,UAAU;gBAC5B,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,WAAW;aACxB,CAAC;QACJ,CAAC;QAED,mDAAmD;QACnD,IAAI,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7E,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CACtD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CACtD,CAAC;YACF,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO;oBACL,QAAQ,EAAE,GAAG;oBACb,YAAY,EAAE,SAAS,CAAC,EAAE;oBAC1B,UAAU,EAAE,IAAI;oBAChB,UAAU,EAAE,WAAW;iBACxB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzE,6DAA6D;YAC7D,IAAI,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAC/D,wBAAwB;gBACxB,KAAK,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;oBAC1E,MAAM,QAAQ,GAAG,OAAO,GAAG,GAAG,CAAC;oBAC/B,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjC,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;wBAC/C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACrB,OAAO;gCACL,QAAQ,EAAE,GAAG;gCACb,YAAY,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,EAAE;gCAC1B,UAAU,EAAE,GAAG;gCACf,UAAU,EAAE,WAAW;6BACxB,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,2CAA2C;YAC3C,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBACrF,OAAO;oBACL,QAAQ,EAAE,GAAG;oBACb,YAAY,EAAE,GAAG,CAAC,UAAU;oBAC5B,UAAU,EAAE,GAAG;oBACf,UAAU,EAAE,WAAW;iBACxB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,IAAI,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;YACrE,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC1E,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO;oBACL,QAAQ,EAAE,GAAG;oBACb,YAAY,EAAE,MAAM;oBACpB,UAAU,EAAE,GAAG;oBACf,UAAU,EAAE,WAAW;iBACxB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,QAAQ,EAAE,QAAQ;QACxB,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAEnD,IAAI,UAAU,EAAE,CAAC;YACf,8CAA8C;YAC9C,2DAA2D;YAC3D,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YAErD,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,SAAS,QAAQ,IAAI,SAAS,IAAI;oBACtC,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,SAAS;oBACf,aAAa,EAAE,GAAG,QAAQ,WAAW,SAAS,EAAE;oBAChD,QAAQ;oBACR,SAAS,EAAE,CAAC;oBACZ,OAAO,EAAE,CAAC;oBACV,WAAW,EAAE,CAAC;oBACd,SAAS,EAAE,CAAC;oBACZ,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;oBAChE,SAAS,EAAE,GAAG;iBACf,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACnC,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,uCAAuC;IACvC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAExC,uDAAuD;IACvD,8EAA8E;IAC9E,iDAAiD;IACjD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEhF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,IAAY,EACZ,QAAgB,EAChB,OAA0B;IAE1B,mCAAmC;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAEpE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,wBAAwB;IACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;IAE9C,OAAO,UAAU,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,qBAAqB,GAA2B;IACpD,cAAc,EAAE,MAAM;IACtB,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,WAAW;IACvB,iBAAiB,EAAE,kBAAkB;IACrC,iBAAiB,EAAE,kBAAkB;IACrC,gBAAgB,EAAE,QAAQ;IAC1B,YAAY,EAAE,aAAa;IAC3B,YAAY,EAAE,aAAa;IAC3B,mBAAmB,EAAE,oBAAoB;IACzC,mBAAmB,EAAE,oBAAoB;IACzC,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,YAAY;CAC9B,CAAC;AAEF;;GAEG;AACH,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,OAAO,qBAAqB,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,QAAgB;IAChD,+BAA+B;IAC/B,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEhD,4BAA4B;IAC5B,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,WAAW,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,iCAAiC;IACjC,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAE1E,uBAAuB;IACvB,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAE5E,mDAAmD;IACnD,IAAI,KAAK,GAAG,GAAG,GAAG,OAAO;SACtB,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAE,qBAAqB;SAC5D,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,6BAA6B;SACpE,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAQ,oBAAoB;IAE/D,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,GAAG,CAAC;IAC9B,wBAAwB;IACxB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC"}
@@ -1,37 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,252 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"swift-objc.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/swift-objc.ts"],"names":[],"mappings":";;;AAoCA,4DAG8B;AAE9B;;;;;;;GAOG;AACH,MAAM,wBAAwB,GAG1B,IAAI,OAAO,EAAE,CAAC;AAElB;;;;;;;;;GASG;AACH;;;;;;;;;;GAUG;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,MAAM;IACN,aAAa;IACb,kBAAkB;IAClB,MAAM;IACN,SAAS;IACT,WAAW;IACX,MAAM;IACN,aAAa;IACb,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,aAAa;CACd,CAAC,CAAC;AAEH,SAAS,YAAY,CAAC,OAA0B;IAC9C,MAAM,MAAM,GAAG,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,MAAM,WAAW,GAAG,OAAO;SACxB,cAAc,CAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAA,iDAA6B,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,kEAAkE;YAClE,8DAA8D;YAC9D,kEAAkE;YAClE,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC1D,kEAAkE;YAClE,mEAAmE;YACnE,+CAA+C;YAC/C,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YACnC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,GAAG;gBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;gBACnB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,wBAAwB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC3C,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,IAAU,EAAE,OAA0B;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAC7B,GAAkB,EAClB,OAA0B;IAE1B,wEAAwE;IACxE,wEAAwE;IACxE,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC7C,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;IAEtB,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAExD,yEAAyE;IACzE,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,iEAAiE;IACjE,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO;QACL,QAAQ,EAAE,GAAG;QACb,YAAY,EAAE,MAAM,CAAC,EAAE;QACvB,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,WAAW;KACxB,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,sBAAsB,CAC7B,GAAkB,EAClB,OAA0B;IAE1B,2EAA2E;IAC3E,qEAAqE;IACrE,uEAAuE;IACvE,gCAAgC;IAChC,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;QACjD,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;IAEtB,kEAAkE;IAClE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5C,MAAM,UAAU,GAAG,IAAA,iDAA6B,EAAC,WAAW,CAAC,CAAC;IAC9D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,OAAO;aACpB,cAAc,CAAC,SAAS,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC;QAC3F,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACvD,IAAI,IAAA,iCAAa,EAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,OAAO;oBACL,QAAQ,EAAE,GAAG;oBACb,YAAY,EAAE,KAAK,CAAC,EAAE;oBACtB,UAAU,EAAE,GAAG;oBACf,UAAU,EAAE,WAAW;iBACxB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAEY,QAAA,uBAAuB,GAAsB;IACxD,IAAI,EAAE,mBAAmB;IACzB,6DAA6D;IAC7D,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IAE5B;;;;OAIG;IACH,MAAM,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,QAAQ,GAAG,IAAI,CAAC;iBACrC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,GAAG,IAAI,CAAC;YAC/D,IAAI,QAAQ,IAAI,OAAO;gBAAE,OAAO,IAAI,CAAC;QACvC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,IAAI;QAClB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,mEAAmE;QACnE,4CAA4C;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,GAAG,EAAE,OAAO;QAClB,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC"}
@@ -1,10 +0,0 @@
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
@@ -1 +0,0 @@
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"}