typescript 7.0.2 → 7.1.0-beta

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 (389) hide show
  1. package/NOTICE.txt +5 -36
  2. package/dist/api/async/api.d.ts +597 -122
  3. package/dist/api/async/api.d.ts.map +1 -1
  4. package/dist/api/async/api.js +1775 -333
  5. package/dist/api/async/api.js.map +1 -1
  6. package/dist/api/async/client.d.ts +18 -2
  7. package/dist/api/async/client.d.ts.map +1 -1
  8. package/dist/api/async/client.js +255 -68
  9. package/dist/api/async/client.js.map +1 -1
  10. package/dist/api/async/types.d.ts +99 -34
  11. package/dist/api/async/types.d.ts.map +1 -1
  12. package/dist/api/compilerOptions.generated.d.ts +123 -0
  13. package/dist/api/compilerOptions.generated.d.ts.map +1 -0
  14. package/dist/api/compilerOptions.generated.js +8 -0
  15. package/dist/api/compilerOptions.generated.js.map +1 -0
  16. package/dist/api/diagnosticFormatter.d.ts +9 -0
  17. package/dist/api/diagnosticFormatter.d.ts.map +1 -0
  18. package/dist/api/diagnosticFormatter.js +169 -0
  19. package/dist/api/diagnosticFormatter.js.map +1 -0
  20. package/dist/api/fs.d.ts +68 -13
  21. package/dist/api/fs.d.ts.map +1 -1
  22. package/dist/api/fs.js +62 -101
  23. package/dist/api/fs.js.map +1 -1
  24. package/dist/api/fsCallbacks.d.ts +27 -0
  25. package/dist/api/fsCallbacks.d.ts.map +1 -0
  26. package/dist/api/fsCallbacks.js +111 -0
  27. package/dist/api/fsCallbacks.js.map +1 -0
  28. package/dist/api/node/encoder.d.ts +3 -0
  29. package/dist/api/node/encoder.d.ts.map +1 -1
  30. package/dist/api/node/encoder.generated.js +2 -2
  31. package/dist/api/node/encoder.generated.js.map +1 -1
  32. package/dist/api/node/encoder.js +20 -15
  33. package/dist/api/node/encoder.js.map +1 -1
  34. package/dist/api/node/msgpack.d.ts.map +1 -1
  35. package/dist/api/node/msgpack.js +2 -3
  36. package/dist/api/node/msgpack.js.map +1 -1
  37. package/dist/api/node/node.d.ts +28 -9
  38. package/dist/api/node/node.d.ts.map +1 -1
  39. package/dist/api/node/node.generated.d.ts +9 -2
  40. package/dist/api/node/node.generated.d.ts.map +1 -1
  41. package/dist/api/node/node.generated.js +55 -6
  42. package/dist/api/node/node.generated.js.map +1 -1
  43. package/dist/api/node/node.infrastructure.d.ts +6 -4
  44. package/dist/api/node/node.infrastructure.d.ts.map +1 -1
  45. package/dist/api/node/node.infrastructure.js +20 -40
  46. package/dist/api/node/node.infrastructure.js.map +1 -1
  47. package/dist/api/node/node.js +178 -23
  48. package/dist/api/node/node.js.map +1 -1
  49. package/dist/api/node/protocol.d.ts +5 -2
  50. package/dist/api/node/protocol.d.ts.map +1 -1
  51. package/dist/api/node/protocol.generated.js +2 -2
  52. package/dist/api/node/protocol.generated.js.map +1 -1
  53. package/dist/api/node/protocol.js +5 -2
  54. package/dist/api/node/protocol.js.map +1 -1
  55. package/dist/api/node/wtf8.d.ts +6 -2
  56. package/dist/api/node/wtf8.d.ts.map +1 -1
  57. package/dist/api/node/wtf8.js +71 -2
  58. package/dist/api/node/wtf8.js.map +1 -1
  59. package/dist/api/options.d.ts +19 -7
  60. package/dist/api/options.d.ts.map +1 -1
  61. package/dist/api/options.js +21 -0
  62. package/dist/api/options.js.map +1 -1
  63. package/dist/api/path.d.ts +49 -39
  64. package/dist/api/path.d.ts.map +1 -1
  65. package/dist/api/path.js +409 -33
  66. package/dist/api/path.js.map +1 -1
  67. package/dist/api/prepareCompilerOptions.generated.d.ts +5 -0
  68. package/dist/api/prepareCompilerOptions.generated.d.ts.map +1 -0
  69. package/dist/api/prepareCompilerOptions.generated.js +24 -0
  70. package/dist/api/prepareCompilerOptions.generated.js.map +1 -0
  71. package/dist/api/proto.d.ts +58 -217
  72. package/dist/api/proto.d.ts.map +1 -1
  73. package/dist/api/proto.generated.d.ts +1419 -0
  74. package/dist/api/proto.generated.d.ts.map +1 -0
  75. package/dist/api/proto.generated.js +21 -0
  76. package/dist/api/proto.generated.js.map +1 -0
  77. package/dist/api/proto.js +28 -15
  78. package/dist/api/proto.js.map +1 -1
  79. package/dist/api/sourceFileCache.d.ts +51 -20
  80. package/dist/api/sourceFileCache.d.ts.map +1 -1
  81. package/dist/api/sourceFileCache.js +168 -37
  82. package/dist/api/sourceFileCache.js.map +1 -1
  83. package/dist/api/sync/api.d.ts +1365 -220
  84. package/dist/api/sync/api.d.ts.map +1 -1
  85. package/dist/api/sync/api.js +4673 -930
  86. package/dist/api/sync/api.js.map +1 -1
  87. package/dist/api/sync/client.d.ts +8 -2
  88. package/dist/api/sync/client.d.ts.map +1 -1
  89. package/dist/api/sync/client.js +80 -30
  90. package/dist/api/sync/client.js.map +1 -1
  91. package/dist/api/sync/generatorSupport.d.ts +32 -0
  92. package/dist/api/sync/generatorSupport.d.ts.map +1 -0
  93. package/dist/api/sync/generatorSupport.js +338 -0
  94. package/dist/api/sync/generatorSupport.js.map +1 -0
  95. package/dist/api/sync/types.d.ts +248 -56
  96. package/dist/api/sync/types.d.ts.map +1 -1
  97. package/dist/api/syncChannel.d.ts +3 -0
  98. package/dist/api/syncChannel.d.ts.map +1 -1
  99. package/dist/api/syncChannel.js +20 -2
  100. package/dist/api/syncChannel.js.map +1 -1
  101. package/dist/api/timing.d.ts +2 -2
  102. package/dist/api/timing.d.ts.map +1 -1
  103. package/dist/api/timing.js +1 -1
  104. package/dist/api/timing.js.map +1 -1
  105. package/dist/api/timingDump.d.ts +13 -0
  106. package/dist/api/timingDump.d.ts.map +1 -0
  107. package/dist/api/timingDump.js +38 -0
  108. package/dist/api/timingDump.js.map +1 -0
  109. package/dist/api/typedPaths.d.ts +3 -0
  110. package/dist/api/typedPaths.d.ts.map +1 -0
  111. package/dist/api/typedPaths.js +2 -0
  112. package/dist/api/typedPaths.js.map +1 -0
  113. package/dist/api/userPreferences.generated.d.ts +195 -0
  114. package/dist/api/userPreferences.generated.d.ts.map +1 -0
  115. package/dist/api/userPreferences.generated.js +3 -0
  116. package/dist/api/userPreferences.generated.js.map +1 -0
  117. package/dist/ast/ast.d.ts +90 -7
  118. package/dist/ast/ast.d.ts.map +1 -1
  119. package/dist/ast/ast.generated.d.ts +45 -39
  120. package/dist/ast/ast.generated.d.ts.map +1 -1
  121. package/dist/ast/ast.generated.js +1 -1
  122. package/dist/ast/ast.generated.js.map +1 -1
  123. package/dist/ast/ast.js +1 -0
  124. package/dist/ast/ast.js.map +1 -1
  125. package/dist/ast/astnav.d.ts +3 -2
  126. package/dist/ast/astnav.d.ts.map +1 -1
  127. package/dist/ast/astnav.js +148 -3
  128. package/dist/ast/astnav.js.map +1 -1
  129. package/dist/ast/factory.generated.d.ts +8 -154
  130. package/dist/ast/factory.generated.d.ts.map +1 -1
  131. package/dist/ast/factory.generated.js +2701 -7
  132. package/dist/ast/factory.generated.js.map +1 -1
  133. package/dist/ast/index.d.ts +5 -0
  134. package/dist/ast/index.d.ts.map +1 -1
  135. package/dist/ast/index.js +5 -0
  136. package/dist/ast/index.js.map +1 -1
  137. package/dist/ast/is.d.ts +2 -12
  138. package/dist/ast/is.d.ts.map +1 -1
  139. package/dist/ast/is.generated.d.ts +889 -1
  140. package/dist/ast/is.generated.d.ts.map +1 -1
  141. package/dist/ast/is.generated.js +300 -3
  142. package/dist/ast/is.generated.js.map +1 -1
  143. package/dist/ast/is.js +224 -1
  144. package/dist/ast/is.js.map +1 -1
  145. package/dist/ast/jsdoc.d.ts +2 -1
  146. package/dist/ast/jsdoc.d.ts.map +1 -1
  147. package/dist/ast/jsdoc.js +14 -8
  148. package/dist/ast/jsdoc.js.map +1 -1
  149. package/dist/ast/modifiers.d.ts +4 -0
  150. package/dist/ast/modifiers.d.ts.map +1 -0
  151. package/dist/ast/modifiers.js +41 -0
  152. package/dist/ast/modifiers.js.map +1 -0
  153. package/dist/ast/scanner.d.ts.map +1 -1
  154. package/dist/ast/scanner.js +2 -1
  155. package/dist/ast/scanner.js.map +1 -1
  156. package/dist/ast/spanMap.d.ts +88 -0
  157. package/dist/ast/spanMap.d.ts.map +1 -0
  158. package/dist/ast/spanMap.js +417 -0
  159. package/dist/ast/spanMap.js.map +1 -0
  160. package/dist/ast/utils.d.ts +14 -1
  161. package/dist/ast/utils.d.ts.map +1 -1
  162. package/dist/ast/utils.js +251 -0
  163. package/dist/ast/utils.js.map +1 -1
  164. package/dist/ast/visitor.d.ts +2 -0
  165. package/dist/ast/visitor.d.ts.map +1 -1
  166. package/dist/ast/visitor.generated.d.ts.map +1 -1
  167. package/dist/ast/visitor.generated.js +5 -4
  168. package/dist/ast/visitor.generated.js.map +1 -1
  169. package/dist/ast/visitor.js +40 -0
  170. package/dist/ast/visitor.js.map +1 -1
  171. package/dist/enums/caseSensitivity.d.ts +2 -0
  172. package/dist/enums/caseSensitivity.d.ts.map +1 -0
  173. package/dist/enums/caseSensitivity.enum.d.ts +5 -0
  174. package/dist/enums/caseSensitivity.enum.d.ts.map +1 -0
  175. package/dist/enums/caseSensitivity.enum.js +7 -0
  176. package/dist/enums/caseSensitivity.enum.js.map +1 -0
  177. package/dist/enums/caseSensitivity.js +7 -0
  178. package/dist/enums/caseSensitivity.js.map +1 -0
  179. package/dist/enums/checkFlags.d.ts +2 -0
  180. package/dist/enums/checkFlags.d.ts.map +1 -0
  181. package/dist/enums/checkFlags.enum.d.ts +34 -0
  182. package/dist/enums/checkFlags.enum.d.ts.map +1 -0
  183. package/dist/enums/checkFlags.enum.js +36 -0
  184. package/dist/enums/checkFlags.enum.js.map +1 -0
  185. package/dist/enums/checkFlags.js +36 -0
  186. package/dist/enums/checkFlags.js.map +1 -0
  187. package/dist/enums/completionItemKind.enum.js +1 -1
  188. package/dist/enums/completionItemKind.enum.js.map +1 -1
  189. package/dist/enums/completionItemKind.js +1 -1
  190. package/dist/enums/completionItemKind.js.map +1 -1
  191. package/dist/enums/diagnosticCategory.enum.js +1 -1
  192. package/dist/enums/diagnosticCategory.enum.js.map +1 -1
  193. package/dist/enums/diagnosticCategory.js +1 -1
  194. package/dist/enums/diagnosticCategory.js.map +1 -1
  195. package/dist/enums/diagnosticDirectivePolicy.d.ts +2 -0
  196. package/dist/enums/diagnosticDirectivePolicy.d.ts.map +1 -0
  197. package/dist/enums/diagnosticDirectivePolicy.enum.d.ts +5 -0
  198. package/dist/enums/diagnosticDirectivePolicy.enum.d.ts.map +1 -0
  199. package/dist/enums/diagnosticDirectivePolicy.enum.js +7 -0
  200. package/dist/enums/diagnosticDirectivePolicy.enum.js.map +1 -0
  201. package/dist/enums/diagnosticDirectivePolicy.js +7 -0
  202. package/dist/enums/diagnosticDirectivePolicy.js.map +1 -0
  203. package/dist/enums/elementFlags.enum.js +1 -1
  204. package/dist/enums/elementFlags.enum.js.map +1 -1
  205. package/dist/enums/elementFlags.js +1 -1
  206. package/dist/enums/elementFlags.js.map +1 -1
  207. package/dist/enums/emitOnly.d.ts +2 -0
  208. package/dist/enums/emitOnly.d.ts.map +1 -0
  209. package/dist/enums/emitOnly.enum.d.ts +6 -0
  210. package/dist/enums/emitOnly.enum.d.ts.map +1 -0
  211. package/dist/enums/emitOnly.enum.js +8 -0
  212. package/dist/enums/emitOnly.enum.js.map +1 -0
  213. package/dist/enums/emitOnly.js +8 -0
  214. package/dist/enums/emitOnly.js.map +1 -0
  215. package/dist/enums/indexKind.d.ts +2 -0
  216. package/dist/enums/indexKind.d.ts.map +1 -0
  217. package/dist/enums/indexKind.enum.d.ts +5 -0
  218. package/dist/enums/indexKind.enum.d.ts.map +1 -0
  219. package/dist/enums/indexKind.enum.js +7 -0
  220. package/dist/enums/indexKind.enum.js.map +1 -0
  221. package/dist/enums/indexKind.js +7 -0
  222. package/dist/enums/indexKind.js.map +1 -0
  223. package/dist/enums/internalSymbolName.enum.js +1 -1
  224. package/dist/enums/internalSymbolName.enum.js.map +1 -1
  225. package/dist/enums/internalSymbolName.js +1 -1
  226. package/dist/enums/internalSymbolName.js.map +1 -1
  227. package/dist/enums/jsDeclarationKind.d.ts +2 -0
  228. package/dist/enums/jsDeclarationKind.d.ts.map +1 -0
  229. package/dist/enums/jsDeclarationKind.enum.d.ts +10 -0
  230. package/dist/enums/jsDeclarationKind.enum.d.ts.map +1 -0
  231. package/dist/enums/jsDeclarationKind.enum.js +12 -0
  232. package/dist/enums/jsDeclarationKind.enum.js.map +1 -0
  233. package/dist/enums/jsDeclarationKind.js +12 -0
  234. package/dist/enums/jsDeclarationKind.js.map +1 -0
  235. package/dist/enums/jsxEmit.enum.d.ts +2 -2
  236. package/dist/enums/jsxEmit.enum.d.ts.map +1 -1
  237. package/dist/enums/jsxEmit.enum.js +3 -3
  238. package/dist/enums/jsxEmit.enum.js.map +1 -1
  239. package/dist/enums/jsxEmit.js +3 -3
  240. package/dist/enums/jsxEmit.js.map +1 -1
  241. package/dist/enums/modifierFlags.enum.js +1 -1
  242. package/dist/enums/modifierFlags.enum.js.map +1 -1
  243. package/dist/enums/modifierFlags.js +1 -1
  244. package/dist/enums/modifierFlags.js.map +1 -1
  245. package/dist/enums/moduleDetectionKind.enum.js +1 -1
  246. package/dist/enums/moduleDetectionKind.enum.js.map +1 -1
  247. package/dist/enums/moduleDetectionKind.js +1 -1
  248. package/dist/enums/moduleDetectionKind.js.map +1 -1
  249. package/dist/enums/moduleKind.enum.js +1 -1
  250. package/dist/enums/moduleKind.enum.js.map +1 -1
  251. package/dist/enums/moduleKind.js +1 -1
  252. package/dist/enums/moduleKind.js.map +1 -1
  253. package/dist/enums/moduleResolutionKind.enum.js +1 -1
  254. package/dist/enums/moduleResolutionKind.enum.js.map +1 -1
  255. package/dist/enums/moduleResolutionKind.js +1 -1
  256. package/dist/enums/moduleResolutionKind.js.map +1 -1
  257. package/dist/enums/newLineKind.enum.js +1 -1
  258. package/dist/enums/newLineKind.enum.js.map +1 -1
  259. package/dist/enums/newLineKind.js +1 -1
  260. package/dist/enums/newLineKind.js.map +1 -1
  261. package/dist/enums/nodeBuilderFlags.enum.js +1 -1
  262. package/dist/enums/nodeBuilderFlags.enum.js.map +1 -1
  263. package/dist/enums/nodeBuilderFlags.js +1 -1
  264. package/dist/enums/nodeBuilderFlags.js.map +1 -1
  265. package/dist/enums/nodeFlags.enum.js +1 -1
  266. package/dist/enums/nodeFlags.enum.js.map +1 -1
  267. package/dist/enums/nodeFlags.js +1 -1
  268. package/dist/enums/nodeFlags.js.map +1 -1
  269. package/dist/enums/objectFlags.enum.d.ts +3 -2
  270. package/dist/enums/objectFlags.enum.d.ts.map +1 -1
  271. package/dist/enums/objectFlags.enum.js +4 -3
  272. package/dist/enums/objectFlags.enum.js.map +1 -1
  273. package/dist/enums/objectFlags.js +4 -3
  274. package/dist/enums/objectFlags.js.map +1 -1
  275. package/dist/enums/outerExpressionKinds.enum.js +1 -1
  276. package/dist/enums/outerExpressionKinds.enum.js.map +1 -1
  277. package/dist/enums/outerExpressionKinds.js +1 -1
  278. package/dist/enums/outerExpressionKinds.js.map +1 -1
  279. package/dist/enums/scriptKind.d.ts.map +1 -1
  280. package/dist/enums/scriptKind.enum.d.ts +1 -3
  281. package/dist/enums/scriptKind.enum.d.ts.map +1 -1
  282. package/dist/enums/scriptKind.enum.js +1 -2
  283. package/dist/enums/scriptKind.enum.js.map +1 -1
  284. package/dist/enums/scriptKind.js +1 -2
  285. package/dist/enums/scriptKind.js.map +1 -1
  286. package/dist/enums/scriptTarget.d.ts.map +1 -1
  287. package/dist/enums/scriptTarget.enum.d.ts +1 -0
  288. package/dist/enums/scriptTarget.enum.d.ts.map +1 -1
  289. package/dist/enums/scriptTarget.enum.js +2 -0
  290. package/dist/enums/scriptTarget.enum.js.map +1 -1
  291. package/dist/enums/scriptTarget.js +2 -0
  292. package/dist/enums/scriptTarget.js.map +1 -1
  293. package/dist/enums/signatureFlags.enum.js +1 -1
  294. package/dist/enums/signatureFlags.enum.js.map +1 -1
  295. package/dist/enums/signatureFlags.js +1 -1
  296. package/dist/enums/signatureFlags.js.map +1 -1
  297. package/dist/enums/signatureKind.enum.js +1 -1
  298. package/dist/enums/signatureKind.enum.js.map +1 -1
  299. package/dist/enums/signatureKind.js +1 -1
  300. package/dist/enums/signatureKind.js.map +1 -1
  301. package/dist/enums/spanMapFeature.d.ts +2 -0
  302. package/dist/enums/spanMapFeature.d.ts.map +1 -0
  303. package/dist/enums/spanMapFeature.enum.d.ts +25 -0
  304. package/dist/enums/spanMapFeature.enum.d.ts.map +1 -0
  305. package/dist/enums/spanMapFeature.enum.js +27 -0
  306. package/dist/enums/spanMapFeature.enum.js.map +1 -0
  307. package/dist/enums/spanMapFeature.js +27 -0
  308. package/dist/enums/spanMapFeature.js.map +1 -0
  309. package/dist/enums/spanMapFidelity.d.ts +2 -0
  310. package/dist/enums/spanMapFidelity.d.ts.map +1 -0
  311. package/dist/enums/spanMapFidelity.enum.d.ts +7 -0
  312. package/dist/enums/spanMapFidelity.enum.d.ts.map +1 -0
  313. package/dist/enums/spanMapFidelity.enum.js +9 -0
  314. package/dist/enums/spanMapFidelity.enum.js.map +1 -0
  315. package/dist/enums/spanMapFidelity.js +9 -0
  316. package/dist/enums/spanMapFidelity.js.map +1 -0
  317. package/dist/enums/spanMapKind.d.ts +2 -0
  318. package/dist/enums/spanMapKind.d.ts.map +1 -0
  319. package/dist/enums/spanMapKind.enum.d.ts +6 -0
  320. package/dist/enums/spanMapKind.enum.d.ts.map +1 -0
  321. package/dist/enums/spanMapKind.enum.js +8 -0
  322. package/dist/enums/spanMapKind.enum.js.map +1 -0
  323. package/dist/enums/spanMapKind.js +8 -0
  324. package/dist/enums/spanMapKind.js.map +1 -0
  325. package/dist/enums/symbolFlags.enum.d.ts +1 -2
  326. package/dist/enums/symbolFlags.enum.d.ts.map +1 -1
  327. package/dist/enums/symbolFlags.enum.js +2 -3
  328. package/dist/enums/symbolFlags.enum.js.map +1 -1
  329. package/dist/enums/symbolFlags.js +2 -3
  330. package/dist/enums/symbolFlags.js.map +1 -1
  331. package/dist/enums/symbolOwnerKind.d.ts +2 -0
  332. package/dist/enums/symbolOwnerKind.d.ts.map +1 -0
  333. package/dist/enums/symbolOwnerKind.enum.d.ts +5 -0
  334. package/dist/enums/symbolOwnerKind.enum.d.ts.map +1 -0
  335. package/dist/enums/symbolOwnerKind.enum.js +7 -0
  336. package/dist/enums/symbolOwnerKind.enum.js.map +1 -0
  337. package/dist/enums/symbolOwnerKind.js +7 -0
  338. package/dist/enums/symbolOwnerKind.js.map +1 -0
  339. package/dist/enums/syntaxKind.enum.d.ts +198 -197
  340. package/dist/enums/syntaxKind.enum.d.ts.map +1 -1
  341. package/dist/enums/syntaxKind.enum.js +199 -198
  342. package/dist/enums/syntaxKind.enum.js.map +1 -1
  343. package/dist/enums/syntaxKind.js +199 -198
  344. package/dist/enums/syntaxKind.js.map +1 -1
  345. package/dist/enums/tokenFlags.enum.js +1 -1
  346. package/dist/enums/tokenFlags.enum.js.map +1 -1
  347. package/dist/enums/tokenFlags.js +1 -1
  348. package/dist/enums/tokenFlags.js.map +1 -1
  349. package/dist/enums/typeFlags.enum.js +1 -1
  350. package/dist/enums/typeFlags.enum.js.map +1 -1
  351. package/dist/enums/typeFlags.js +1 -1
  352. package/dist/enums/typeFlags.js.map +1 -1
  353. package/dist/enums/typeFormatFlags.d.ts +2 -0
  354. package/dist/enums/typeFormatFlags.d.ts.map +1 -0
  355. package/dist/enums/typeFormatFlags.enum.d.ts +29 -0
  356. package/dist/enums/typeFormatFlags.enum.d.ts.map +1 -0
  357. package/dist/enums/typeFormatFlags.enum.js +31 -0
  358. package/dist/enums/typeFormatFlags.enum.js.map +1 -0
  359. package/dist/enums/typeFormatFlags.js +31 -0
  360. package/dist/enums/typeFormatFlags.js.map +1 -0
  361. package/dist/enums/typePredicateKind.enum.js +1 -1
  362. package/dist/enums/typePredicateKind.enum.js.map +1 -1
  363. package/dist/enums/typePredicateKind.js +1 -1
  364. package/dist/enums/typePredicateKind.js.map +1 -1
  365. package/dist/internal/utils.js.map +1 -1
  366. package/dist/vscode/extensionApi.d.ts +101 -0
  367. package/dist/vscode/extensionApi.d.ts.map +1 -0
  368. package/dist/vscode/extensionApi.js +2 -0
  369. package/dist/vscode/extensionApi.js.map +1 -0
  370. package/dist/vscode/moduleLoader.d.ts +14 -0
  371. package/dist/vscode/moduleLoader.d.ts.map +1 -0
  372. package/dist/vscode/moduleLoader.js +36 -0
  373. package/dist/vscode/moduleLoader.js.map +1 -0
  374. package/dist/vscode/protocol.generated.d.ts +2886 -0
  375. package/dist/vscode/protocol.generated.d.ts.map +1 -0
  376. package/dist/vscode/protocol.generated.js +4 -0
  377. package/dist/vscode/protocol.generated.js.map +1 -0
  378. package/lib/getExePath.js +2 -2
  379. package/lib/version.cjs +1 -1
  380. package/lib/version.d.cts +1 -1
  381. package/package.json +40 -34
  382. package/schemas/jsconfig.schema.json +2207 -0
  383. package/schemas/tsconfig.schema.json +2206 -0
  384. package/vendor/vscode-jsonrpc/lib/node/main.js +1 -1
  385. package/vendor/vscode-jsonrpc/package.json +1 -1
  386. package/dist/api/compilerOptions.d.ts +0 -109
  387. package/dist/api/compilerOptions.d.ts.map +0 -1
  388. package/dist/api/compilerOptions.js +0 -2
  389. package/dist/api/compilerOptions.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proto.generated.d.ts","sourceRoot":"","sources":["../../src/api/proto.generated.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ // Code generated by gen-proto; DO NOT EDIT.
2
+ import { CaseSensitivity } from "#enums/caseSensitivity";
3
+ import { JsxEmit } from "#enums/jsxEmit";
4
+ import { ModuleDetectionKind } from "#enums/moduleDetectionKind";
5
+ import { ModuleKind } from "#enums/moduleKind";
6
+ import { ModuleResolutionKind } from "#enums/moduleResolutionKind";
7
+ import { NewLineKind } from "#enums/newLineKind";
8
+ import { ScriptKind } from "#enums/scriptKind";
9
+ import { ScriptTarget } from "#enums/scriptTarget";
10
+ import { SymbolOwnerKind } from "#enums/symbolOwnerKind";
11
+ export { CaseSensitivity } from "#enums/caseSensitivity";
12
+ export { JsxEmit } from "#enums/jsxEmit";
13
+ export { ModuleDetectionKind } from "#enums/moduleDetectionKind";
14
+ export { ModuleKind } from "#enums/moduleKind";
15
+ export { ModuleResolutionKind } from "#enums/moduleResolutionKind";
16
+ export { NewLineKind } from "#enums/newLineKind";
17
+ export { ScriptKind } from "#enums/scriptKind";
18
+ export { ScriptTarget } from "#enums/scriptTarget";
19
+ export { SymbolOwnerKind } from "#enums/symbolOwnerKind";
20
+ export * from "./compilerOptions.generated.js";
21
+ //# sourceMappingURL=proto.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proto.generated.js","sourceRoot":"","sources":["../../src/api/proto.generated.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAazD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,cAAc,gCAAgC,CAAC"}
package/dist/api/proto.js CHANGED
@@ -1,4 +1,26 @@
1
+ import { SymbolOwnerKind } from "#enums/symbolOwnerKind";
1
2
  import { documentURIToFileName, fileNameToDocumentURI, } from "./path.js";
3
+ export * from "./proto.generated.js";
4
+ export * from "./userPreferences.generated.js";
5
+ export function validateSymbolOwner(owner) {
6
+ switch (owner.kind) {
7
+ case SymbolOwnerKind.File:
8
+ if (!owner.file || owner.snapshot !== undefined || owner.project !== undefined) {
9
+ throw new Error("Invalid file symbol owner");
10
+ }
11
+ return;
12
+ case SymbolOwnerKind.Snapshot:
13
+ if (owner.file !== undefined || owner.snapshot === undefined || owner.project === undefined) {
14
+ throw new Error("Invalid snapshot symbol owner");
15
+ }
16
+ return;
17
+ default:
18
+ throw new Error(`Invalid symbol owner kind '${owner.kind}'`);
19
+ }
20
+ }
21
+ export function validateSymbolResponse(response) {
22
+ validateSymbolOwner(response.reference);
23
+ }
2
24
  /**
3
25
  * Resolves a DocumentIdentifier to a file name.
4
26
  * If the identifier contains a URI, it is converted to a file name.
@@ -7,6 +29,12 @@ export function resolveFileName(identifier) {
7
29
  if (typeof identifier === "string") {
8
30
  return identifier;
9
31
  }
32
+ if (typeof identifier !== "object" || identifier === null || typeof identifier.uri !== "string") {
33
+ const received = typeof identifier === "object" && identifier !== null
34
+ ? `an object with keys: ${Object.keys(identifier).join(", ")}`
35
+ : String(identifier);
36
+ throw new TypeError(`Expected a string or { uri } for the document, received ${received}`);
37
+ }
10
38
  return documentURIToFileName(identifier.uri);
11
39
  }
12
40
  /**
@@ -19,19 +47,4 @@ export function resolveDocumentURI(identifier) {
19
47
  }
20
48
  return identifier.uri;
21
49
  }
22
- /**
23
- * Builds the wire request for updateSnapshot, applying the deprecated `openProject`
24
- * compatibility shim: a single `openProject` is folded into `openProjects` and is
25
- * never sent on the wire.
26
- */
27
- export function toUpdateSnapshotRequest(params) {
28
- const { openProject, openProjects, ...rest } = params ?? {};
29
- const mergedOpenProjects = openProject !== undefined
30
- ? [resolveFileName(openProject), ...(openProjects ?? [])]
31
- : openProjects;
32
- return {
33
- ...rest,
34
- ...(mergedOpenProjects !== undefined ? { openProjects: mergedOpenProjects } : {}),
35
- };
36
- }
37
50
  //# sourceMappingURL=proto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proto.js","sourceRoot":"","sources":["../../src/api/proto.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,qBAAqB,EACrB,qBAAqB,GACxB,MAAM,WAAW,CAAC;AA0BnB;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,UAA8B;IAC1D,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,OAAO,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA8B;IAC7D,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,UAAU,CAAC,GAAG,CAAC;AAC1B,CAAC;AAkED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAA6B;IACjE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IAC5D,MAAM,kBAAkB,GAAG,WAAW,KAAK,SAAS;QAChD,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,YAAY,CAAC;IACnB,OAAO;QACH,GAAG,IAAI;QACP,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpF,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"proto.js","sourceRoot":"","sources":["../../src/api/proto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACH,qBAAqB,EACrB,qBAAqB,GACxB,MAAM,WAAW,CAAC;AAgBnB,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAsB/C,MAAM,UAAU,mBAAmB,CAAC,KAA0B;IAC1D,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,eAAe,CAAC,IAAI;YACrB,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC7E,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACjD,CAAC;YACD,OAAO;QACX,KAAK,eAAe,CAAC,QAAQ;YACzB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1F,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACrD,CAAC;YACD,OAAO;QACX;YACI,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IACrE,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAgC;IACnE,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC5C,CAAC;AAwCD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,UAA8B;IAC1D,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC9F,MAAM,QAAQ,GAAG,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI;YAClE,CAAC,CAAC,wBAAwB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC9D,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzB,MAAM,IAAI,SAAS,CAAC,2DAA2D,QAAQ,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA8B;IAC7D,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,UAAU,CAAC,GAAG,CAAC;AAC1B,CAAC"}
@@ -1,38 +1,46 @@
1
- import type { Path, SourceFile } from "../ast/index.ts";
2
- import type { SnapshotChanges } from "./proto.ts";
1
+ import type { PathKey } from "../ast/index.ts";
2
+ import type { RemoteSourceFile } from "./node/node.ts";
3
+ import type { ProjectId, SnapshotChanges, SourceFileDescriptor } from "./proto.ts";
3
4
  /**
4
5
  * A cached source file entry, identified by content hash.
5
6
  */
6
- export interface CachedSourceFile {
7
- /** The cached source file object */
8
- file: SourceFile;
9
- /** The content hash from the server */
10
- contentHash: string;
11
- /** The parse options key that was used to create this file */
12
- parseOptionsKey: string;
13
- /** Set of (snapshot, project) ref keys that reference this entry */
7
+ export interface CachedSourceFile<TSymbol> {
8
+ /** The cached source file object, once its AST has been requested. */
9
+ file?: RemoteSourceFile | undefined;
10
+ /** Complete identity available before an AST response is materialized. */
11
+ readonly descriptor: SourceFileDescriptor;
12
+ /** Set of snapshot/project or direct-lease ref keys that reference this entry */
14
13
  refs: Set<string>;
14
+ /** Binder symbols owned by this exact source-file incarnation. */
15
+ readonly symbolsById: Map<number, TSymbol>;
16
+ /** Successfully resolved declaration symbols. */
17
+ readonly symbolsByDeclarationNodeIndex: Map<number, TSymbol>;
18
+ /** In-flight async declaration symbol lookups. */
19
+ readonly declarationSymbolRequests: Map<number, Promise<TSymbol>>;
15
20
  }
16
21
  /**
17
- * Client-side cache for source files keyed by (path, parseOptionsKey, contentHash).
22
+ * Client-side cache for source files keyed by (path, fileName, scriptKind, parseOptionsKey, contentHash).
18
23
  *
19
24
  * Supports multiple versions of the same file at the same path (e.g., from
20
25
  * different snapshots with different file contents). Each version is identified
21
- * by its content hash and parse options key.
26
+ * by its script kind, content hash, and parse options key.
22
27
  *
23
- * Entries are ref-counted by (snapshot, project) pairs. When a snapshot is
24
- * disposed, all refs for that snapshot across all projects are released,
25
- * and entries with no remaining references are evicted.
28
+ * Entries are ref-counted by (snapshot, project) pairs and direct source-file
29
+ * leases. Releasing an owner evicts entries with no remaining references.
26
30
  *
27
31
  * When a new snapshot is created, unchanged cache entries from the previous
28
32
  * snapshot are retained per-project. Only files within changed or removed
29
33
  * projects are invalidated.
30
34
  */
31
- export declare class SourceFileCache {
35
+ export declare class SourceFileCache<TSymbol> {
32
36
  /** Map from path to all cached versions of that file */
33
37
  private cache;
34
38
  /** Map from snapshotId to (projectId → Set of paths fetched through that project) */
35
39
  private snapshotProjectPaths;
40
+ /** Map from direct lease ID to its retained path */
41
+ private leasePaths;
42
+ /** Map from source-file node ID to its record, for resolving compact symbol references */
43
+ private recordsByNodeId;
36
44
  /**
37
45
  * Get a cached source file already retained for the given (snapshot, project) pair.
38
46
  * This does not require a content hash or parse options key — it returns the entry
@@ -42,12 +50,31 @@ export declare class SourceFileCache {
42
50
  * A given (snapshot, project) pair always parses a file the same way, so there is
43
51
  * at most one matching entry per ref.
44
52
  */
45
- getRetained(path: Path, snapshotId: number, projectId: string): SourceFile | undefined;
53
+ getRetained(path: PathKey, snapshotId: number, projectId: ProjectId): RemoteSourceFile | undefined;
54
+ get(file: RemoteSourceFile): RemoteSourceFile | undefined;
55
+ getOrCreateRecord(file: SourceFileDescriptor, snapshotId: number, projectId: ProjectId): CachedSourceFile<TSymbol>;
56
+ /** Find the live record for a source-file node ID without creating or retaining one. */
57
+ findRecord(nodeId: string): CachedSourceFile<TSymbol> | undefined;
58
+ /** Retain an existing record for a snapshot/project that reused one of its cached objects. */
59
+ retainRecord(record: CachedSourceFile<TSymbol>, snapshotId: number, projectId: ProjectId): void;
60
+ /** Attach a source file fetched by its descriptor to its existing record. */
61
+ attachFile(record: CachedSourceFile<TSymbol>, file: RemoteSourceFile): RemoteSourceFile;
62
+ getOrCreateSymbol(record: CachedSourceFile<TSymbol>, file: SourceFileDescriptor, id: number, create: () => TSymbol): TSymbol;
46
63
  /**
47
64
  * Store a source file in the cache and retain it for the given (snapshot, project) pair.
48
65
  * Returns the cached file — which may be an existing entry if the hash matches.
49
66
  */
50
- set(path: Path, file: SourceFile, parseOptionsKey: string, contentHash: string, snapshotId: number, projectId: string): SourceFile;
67
+ set(file: RemoteSourceFile, snapshotId: number, projectId: ProjectId): RemoteSourceFile;
68
+ /**
69
+ * Store a source file in the cache and retain it for a direct lease.
70
+ * Returns the cached file so leased and program-owned files share identity.
71
+ */
72
+ setForLease(file: RemoteSourceFile, leaseId: number): RemoteSourceFile;
73
+ private setWithRef;
74
+ private addRecord;
75
+ private retainRecordForSnapshot;
76
+ private find;
77
+ private findDescriptor;
51
78
  /**
52
79
  * Retain cache entries from a previous snapshot for a new snapshot.
53
80
  * For each project in the previous snapshot:
@@ -62,9 +89,13 @@ export declare class SourceFileCache {
62
89
  * Entries with no remaining refs are evicted.
63
90
  */
64
91
  releaseSnapshot(snapshotId: number): void;
92
+ releaseLease(leaseId: number): void;
93
+ private releaseRef;
65
94
  private trackPath;
66
95
  /**
67
- * Clear all entries from the cache.
96
+ * Drop local cache ownership without releasing server-side snapshots or leases.
97
+ * Caller-held ASTs may keep detached records alive; newly cached records need not
98
+ * preserve object identity with those detached records.
68
99
  */
69
100
  clear(): void;
70
101
  /**
@@ -74,6 +105,6 @@ export declare class SourceFileCache {
74
105
  /**
75
106
  * Check if a path is in the cache.
76
107
  */
77
- has(path: Path): boolean;
108
+ has(path: PathKey): boolean;
78
109
  }
79
110
  //# sourceMappingURL=sourceFileCache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sourceFileCache.d.ts","sourceRoot":"","sources":["../../src/api/sourceFileCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,IAAI,EACJ,UAAU,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AASlD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,oCAAoC;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,eAAe,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACrB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,eAAe;IACxB,wDAAwD;IACxD,OAAO,CAAC,KAAK,CAA4C;IACzD,qFAAqF;IACrF,OAAO,CAAC,oBAAoB,CAAkD;IAE9E;;;;;;;;OAQG;IACH,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAQtF;;;OAGG;IACH,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU;IAmBlI;;;;;;OAMG;IACH,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI;IAmChH;;;;OAIG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAsBzC,OAAO,CAAC,SAAS;IAcjB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;CAG3B"}
1
+ {"version":3,"file":"sourceFileCache.d.ts","sourceRoot":"","sources":["../../src/api/sourceFileCache.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,39 @@
1
1
  /**
2
2
  * Builds a composite ref key from a snapshot ID and project ID.
3
3
  */
4
- function refKey(snapshotId, projectId) {
5
- return `${snapshotId}:${projectId}`;
4
+ function snapshotRefKey(snapshotId, projectId) {
5
+ return `snapshot:${snapshotId}:${projectId}`;
6
+ }
7
+ function leaseRefKey(leaseId) {
8
+ return `lease:${leaseId}`;
9
+ }
10
+ function descriptorFromFile(file) {
11
+ return {
12
+ fileName: file.fileName,
13
+ path: file.path,
14
+ contentHash: file.contentHash,
15
+ parseOptionsKey: file.parseOptionsKey,
16
+ scriptKind: file.scriptKind,
17
+ nodeId: file.nodeId,
18
+ };
19
+ }
20
+ function descriptorsEqual(left, right) {
21
+ return left.fileName === right.fileName &&
22
+ left.path === right.path &&
23
+ left.contentHash === right.contentHash &&
24
+ left.parseOptionsKey === right.parseOptionsKey &&
25
+ left.scriptKind === right.scriptKind &&
26
+ left.nodeId === right.nodeId;
6
27
  }
7
28
  /**
8
- * Client-side cache for source files keyed by (path, parseOptionsKey, contentHash).
29
+ * Client-side cache for source files keyed by (path, fileName, scriptKind, parseOptionsKey, contentHash).
9
30
  *
10
31
  * Supports multiple versions of the same file at the same path (e.g., from
11
32
  * different snapshots with different file contents). Each version is identified
12
- * by its content hash and parse options key.
33
+ * by its script kind, content hash, and parse options key.
13
34
  *
14
- * Entries are ref-counted by (snapshot, project) pairs. When a snapshot is
15
- * disposed, all refs for that snapshot across all projects are released,
16
- * and entries with no remaining references are evicted.
35
+ * Entries are ref-counted by (snapshot, project) pairs and direct source-file
36
+ * leases. Releasing an owner evicts entries with no remaining references.
17
37
  *
18
38
  * When a new snapshot is created, unchanged cache entries from the previous
19
39
  * snapshot are retained per-project. Only files within changed or removed
@@ -24,6 +44,10 @@ export class SourceFileCache {
24
44
  cache = new Map();
25
45
  /** Map from snapshotId to (projectId → Set of paths fetched through that project) */
26
46
  snapshotProjectPaths = new Map();
47
+ /** Map from direct lease ID to its retained path */
48
+ leasePaths = new Map();
49
+ /** Map from source-file node ID to its record, for resolving compact symbol references */
50
+ recordsByNodeId = new Map();
27
51
  /**
28
52
  * Get a cached source file already retained for the given (snapshot, project) pair.
29
53
  * This does not require a content hash or parse options key — it returns the entry
@@ -37,31 +61,118 @@ export class SourceFileCache {
37
61
  const entries = this.cache.get(path);
38
62
  if (!entries)
39
63
  return undefined;
40
- const key = refKey(snapshotId, projectId);
64
+ const key = snapshotRefKey(snapshotId, projectId);
41
65
  const entry = entries.find(e => e.refs.has(key));
42
66
  return entry?.file;
43
67
  }
68
+ get(file) {
69
+ return this.find(file)?.file;
70
+ }
71
+ getOrCreateRecord(file, snapshotId, projectId) {
72
+ let entries = this.cache.get(file.path);
73
+ if (!entries) {
74
+ entries = [];
75
+ this.cache.set(file.path, entries);
76
+ }
77
+ let record = this.findDescriptor(file, entries);
78
+ if (!record) {
79
+ record = this.addRecord(entries, {
80
+ descriptor: file,
81
+ refs: new Set(),
82
+ symbolsById: new Map(),
83
+ symbolsByDeclarationNodeIndex: new Map(),
84
+ declarationSymbolRequests: new Map(),
85
+ });
86
+ }
87
+ this.retainRecordForSnapshot(record, snapshotId, projectId);
88
+ return record;
89
+ }
90
+ /** Find the live record for a source-file node ID without creating or retaining one. */
91
+ findRecord(nodeId) {
92
+ return this.recordsByNodeId.get(nodeId);
93
+ }
94
+ /** Retain an existing record for a snapshot/project that reused one of its cached objects. */
95
+ retainRecord(record, snapshotId, projectId) {
96
+ if (this.recordsByNodeId.get(record.descriptor.nodeId) !== record) {
97
+ throw new Error(`Source file record '${record.descriptor.fileName}' is no longer cached`);
98
+ }
99
+ this.retainRecordForSnapshot(record, snapshotId, projectId);
100
+ }
101
+ /** Attach a source file fetched by its descriptor to its existing record. */
102
+ attachFile(record, file) {
103
+ if (!descriptorsEqual(descriptorFromFile(file), record.descriptor)) {
104
+ throw new Error(`Source file does not match cached record '${record.descriptor.fileName}'`);
105
+ }
106
+ const result = record.file ??= file;
107
+ result.symbolCache = record;
108
+ return result;
109
+ }
110
+ getOrCreateSymbol(record, file, id, create) {
111
+ if (!descriptorsEqual(file, record.descriptor)) {
112
+ throw new Error(`Symbol ${id} does not belong to '${record.descriptor.fileName}'`);
113
+ }
114
+ let symbol = record.symbolsById.get(id);
115
+ if (!symbol) {
116
+ symbol = create();
117
+ record.symbolsById.set(id, symbol);
118
+ }
119
+ return symbol;
120
+ }
44
121
  /**
45
122
  * Store a source file in the cache and retain it for the given (snapshot, project) pair.
46
123
  * Returns the cached file — which may be an existing entry if the hash matches.
47
124
  */
48
- set(path, file, parseOptionsKey, contentHash, snapshotId, projectId) {
49
- let entries = this.cache.get(path);
125
+ set(file, snapshotId, projectId) {
126
+ const result = this.setWithRef(file, snapshotRefKey(snapshotId, projectId));
127
+ this.trackPath(snapshotId, projectId, file.path);
128
+ return result;
129
+ }
130
+ /**
131
+ * Store a source file in the cache and retain it for a direct lease.
132
+ * Returns the cached file so leased and program-owned files share identity.
133
+ */
134
+ setForLease(file, leaseId) {
135
+ if (this.leasePaths.has(leaseId)) {
136
+ throw new Error(`Source file lease ${leaseId} is already cached`);
137
+ }
138
+ const result = this.setWithRef(file, leaseRefKey(leaseId));
139
+ this.leasePaths.set(leaseId, file.path);
140
+ return result;
141
+ }
142
+ setWithRef(file, ref) {
143
+ let entries = this.cache.get(file.path);
50
144
  if (!entries) {
51
145
  entries = [];
52
- this.cache.set(path, entries);
146
+ this.cache.set(file.path, entries);
53
147
  }
54
- const ref = refKey(snapshotId, projectId);
55
- // Check if we already have this exact version
56
- const existing = entries.find(e => e.parseOptionsKey === parseOptionsKey && e.contentHash === contentHash);
57
- if (existing) {
58
- existing.refs.add(ref);
59
- this.trackPath(snapshotId, projectId, path);
60
- return existing.file;
148
+ let record = this.find(file, entries);
149
+ if (!record) {
150
+ record = file.symbolCache ?? {
151
+ descriptor: descriptorFromFile(file),
152
+ refs: new Set(),
153
+ symbolsById: new Map(),
154
+ symbolsByDeclarationNodeIndex: new Map(),
155
+ declarationSymbolRequests: new Map(),
156
+ };
157
+ this.addRecord(entries, record);
61
158
  }
62
- entries.push({ file, contentHash, parseOptionsKey, refs: new Set([ref]) });
63
- this.trackPath(snapshotId, projectId, path);
64
- return file;
159
+ record.refs.add(ref);
160
+ return this.attachFile(record, file);
161
+ }
162
+ addRecord(entries, record) {
163
+ entries.push(record);
164
+ this.recordsByNodeId.set(record.descriptor.nodeId, record);
165
+ return record;
166
+ }
167
+ retainRecordForSnapshot(record, snapshotId, projectId) {
168
+ record.refs.add(snapshotRefKey(snapshotId, projectId));
169
+ this.trackPath(snapshotId, projectId, record.descriptor.path);
170
+ }
171
+ find(file, entries = this.cache.get(file.path)) {
172
+ return this.findDescriptor(descriptorFromFile(file), entries);
173
+ }
174
+ findDescriptor(file, entries = this.cache.get(file.path)) {
175
+ return entries?.find(entry => descriptorsEqual(entry.descriptor, file));
65
176
  }
66
177
  /**
67
178
  * Retain cache entries from a previous snapshot for a new snapshot.
@@ -88,8 +199,8 @@ export class SourceFileCache {
88
199
  for (const p of projectChanges.deletedFiles ?? [])
89
200
  invalidPaths.add(p);
90
201
  }
91
- const prevRef = refKey(previousSnapshotId, projectId);
92
- const newRef = refKey(newSnapshotId, projectId);
202
+ const prevRef = snapshotRefKey(previousSnapshotId, projectId);
203
+ const newRef = snapshotRefKey(newSnapshotId, projectId);
93
204
  for (const path of paths) {
94
205
  if (invalidPaths?.has(path))
95
206
  continue;
@@ -115,24 +226,37 @@ export class SourceFileCache {
115
226
  if (!projectMap)
116
227
  return;
117
228
  for (const [projectId, paths] of projectMap) {
118
- const key = refKey(snapshotId, projectId);
229
+ const key = snapshotRefKey(snapshotId, projectId);
119
230
  for (const path of paths) {
120
- const entries = this.cache.get(path);
121
- if (!entries)
122
- continue;
123
- for (let i = entries.length - 1; i >= 0; i--) {
124
- entries[i].refs.delete(key);
125
- if (entries[i].refs.size === 0) {
126
- entries.splice(i, 1);
127
- }
128
- }
129
- if (entries.length === 0) {
130
- this.cache.delete(path);
131
- }
231
+ this.releaseRef(path, key);
132
232
  }
133
233
  }
134
234
  this.snapshotProjectPaths.delete(snapshotId);
135
235
  }
236
+ releaseLease(leaseId) {
237
+ const path = this.leasePaths.get(leaseId);
238
+ if (path === undefined)
239
+ return;
240
+ this.releaseRef(path, leaseRefKey(leaseId));
241
+ this.leasePaths.delete(leaseId);
242
+ }
243
+ releaseRef(path, ref) {
244
+ const entries = this.cache.get(path);
245
+ if (!entries)
246
+ return;
247
+ for (let i = entries.length - 1; i >= 0; i--) {
248
+ entries[i].refs.delete(ref);
249
+ if (entries[i].refs.size === 0) {
250
+ const [evicted] = entries.splice(i, 1);
251
+ if (this.recordsByNodeId.get(evicted.descriptor.nodeId) === evicted) {
252
+ this.recordsByNodeId.delete(evicted.descriptor.nodeId);
253
+ }
254
+ }
255
+ }
256
+ if (entries.length === 0) {
257
+ this.cache.delete(path);
258
+ }
259
+ }
136
260
  trackPath(snapshotId, projectId, path) {
137
261
  let projectMap = this.snapshotProjectPaths.get(snapshotId);
138
262
  if (!projectMap) {
@@ -147,11 +271,18 @@ export class SourceFileCache {
147
271
  paths.add(path);
148
272
  }
149
273
  /**
150
- * Clear all entries from the cache.
274
+ * Drop local cache ownership without releasing server-side snapshots or leases.
275
+ * Caller-held ASTs may keep detached records alive; newly cached records need not
276
+ * preserve object identity with those detached records.
151
277
  */
152
278
  clear() {
279
+ for (const record of this.recordsByNodeId.values()) {
280
+ record.refs.clear();
281
+ }
153
282
  this.cache.clear();
154
283
  this.snapshotProjectPaths.clear();
284
+ this.leasePaths.clear();
285
+ this.recordsByNodeId.clear();
155
286
  }
156
287
  /**
157
288
  * Get the number of unique paths in the cache.