@canonical/terrazzo-lsp-extension 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/README.md +45 -0
  2. package/dist/esm/cli/expandGlobs.js +21 -0
  3. package/dist/esm/cli/expandGlobs.js.map +1 -0
  4. package/dist/esm/cli/index.js +61 -0
  5. package/dist/esm/cli/index.js.map +1 -0
  6. package/dist/esm/cli/loadArtifactFiles.js +21 -0
  7. package/dist/esm/cli/loadArtifactFiles.js.map +1 -0
  8. package/dist/esm/cli/printHelp.js +19 -0
  9. package/dist/esm/cli/printHelp.js.map +1 -0
  10. package/dist/esm/cli/runCheck.js +52 -0
  11. package/dist/esm/cli/runCheck.js.map +1 -0
  12. package/dist/esm/cli/runGraph.js +41 -0
  13. package/dist/esm/cli/runGraph.js.map +1 -0
  14. package/dist/esm/cli/runInspect.js +27 -0
  15. package/dist/esm/cli/runInspect.js.map +1 -0
  16. package/dist/esm/cli/runInstall.js +126 -0
  17. package/dist/esm/cli/runInstall.js.map +1 -0
  18. package/dist/esm/cli/runResolve.js +17 -0
  19. package/dist/esm/cli/runResolve.js.map +1 -0
  20. package/dist/esm/cli/runStatus.js +18 -0
  21. package/dist/esm/cli/runStatus.js.map +1 -0
  22. package/dist/esm/cli.js +4 -0
  23. package/dist/esm/cli.js.map +1 -0
  24. package/dist/esm/css/colorSetup.js +13 -0
  25. package/dist/esm/css/colorSetup.js.map +1 -0
  26. package/dist/esm/css/createDocumentIndex.js +43 -0
  27. package/dist/esm/css/createDocumentIndex.js.map +1 -0
  28. package/dist/esm/css/imports/extractCssImports.js +41 -0
  29. package/dist/esm/css/imports/extractCssImports.js.map +1 -0
  30. package/dist/esm/css/imports/extractJsImports.js +14 -0
  31. package/dist/esm/css/imports/extractJsImports.js.map +1 -0
  32. package/dist/esm/css/imports/extractPackageName.js +20 -0
  33. package/dist/esm/css/imports/extractPackageName.js.map +1 -0
  34. package/dist/esm/css/imports/formatFileUri.js +6 -0
  35. package/dist/esm/css/imports/formatFileUri.js.map +1 -0
  36. package/dist/esm/css/imports/index.js +9 -0
  37. package/dist/esm/css/imports/index.js.map +1 -0
  38. package/dist/esm/css/imports/isBareSpecifier.js +13 -0
  39. package/dist/esm/css/imports/isBareSpecifier.js.map +1 -0
  40. package/dist/esm/css/imports/isExternalPath.js +5 -0
  41. package/dist/esm/css/imports/isExternalPath.js.map +1 -0
  42. package/dist/esm/css/imports/parseFileUri.js +6 -0
  43. package/dist/esm/css/imports/parseFileUri.js.map +1 -0
  44. package/dist/esm/css/imports/resolveImportSpecifier.js +27 -0
  45. package/dist/esm/css/imports/resolveImportSpecifier.js.map +1 -0
  46. package/dist/esm/css/index.js +7 -0
  47. package/dist/esm/css/index.js.map +1 -0
  48. package/dist/esm/css/lezer/applyTreeChanges.js +5 -0
  49. package/dist/esm/css/lezer/applyTreeChanges.js.map +1 -0
  50. package/dist/esm/css/lezer/computeChangedRange.js +23 -0
  51. package/dist/esm/css/lezer/computeChangedRange.js.map +1 -0
  52. package/dist/esm/css/lezer/createTreeFragments.js +5 -0
  53. package/dist/esm/css/lezer/createTreeFragments.js.map +1 -0
  54. package/dist/esm/css/lezer/index.js +6 -0
  55. package/dist/esm/css/lezer/index.js.map +1 -0
  56. package/dist/esm/css/lezer/nodeText.js +4 -0
  57. package/dist/esm/css/lezer/nodeText.js.map +1 -0
  58. package/dist/esm/css/lezer/parseCSS.js +5 -0
  59. package/dist/esm/css/lezer/parseCSS.js.map +1 -0
  60. package/dist/esm/css/lezer/types.js +2 -0
  61. package/dist/esm/css/lezer/types.js.map +1 -0
  62. package/dist/esm/css/scanners/extractPropertyAtPosition.js +23 -0
  63. package/dist/esm/css/scanners/extractPropertyAtPosition.js.map +1 -0
  64. package/dist/esm/css/scanners/index.js +6 -0
  65. package/dist/esm/css/scanners/index.js.map +1 -0
  66. package/dist/esm/css/scanners/parseSuppressionDirectives.js +88 -0
  67. package/dist/esm/css/scanners/parseSuppressionDirectives.js.map +1 -0
  68. package/dist/esm/css/scanners/scanDeclarations.js +38 -0
  69. package/dist/esm/css/scanners/scanDeclarations.js.map +1 -0
  70. package/dist/esm/css/scanners/scanProperties.js +49 -0
  71. package/dist/esm/css/scanners/scanProperties.js.map +1 -0
  72. package/dist/esm/css/scanners/scanUsages.js +64 -0
  73. package/dist/esm/css/scanners/scanUsages.js.map +1 -0
  74. package/dist/esm/css/selectors/buildSelectorContext.js +9 -0
  75. package/dist/esm/css/selectors/buildSelectorContext.js.map +1 -0
  76. package/dist/esm/css/selectors/classifySelectorScope.js +32 -0
  77. package/dist/esm/css/selectors/classifySelectorScope.js.map +1 -0
  78. package/dist/esm/css/selectors/index.js +3 -0
  79. package/dist/esm/css/selectors/index.js.map +1 -0
  80. package/dist/esm/css/tree/ancestors.js +74 -0
  81. package/dist/esm/css/tree/ancestors.js.map +1 -0
  82. package/dist/esm/css/tree/declarations.js +6 -0
  83. package/dist/esm/css/tree/declarations.js.map +1 -0
  84. package/dist/esm/css/tree/index.js +5 -0
  85. package/dist/esm/css/tree/index.js.map +1 -0
  86. package/dist/esm/css/tree/lineage.js +10 -0
  87. package/dist/esm/css/tree/lineage.js.map +1 -0
  88. package/dist/esm/css/tree/lines.js +25 -0
  89. package/dist/esm/css/tree/lines.js.map +1 -0
  90. package/dist/esm/css/values/compareFallbackStaleness.js +34 -0
  91. package/dist/esm/css/values/compareFallbackStaleness.js.map +1 -0
  92. package/dist/esm/css/values/constants.js +33 -0
  93. package/dist/esm/css/values/constants.js.map +1 -0
  94. package/dist/esm/css/values/expectedTypeForProperty.js +117 -0
  95. package/dist/esm/css/values/expectedTypeForProperty.js.map +1 -0
  96. package/dist/esm/css/values/extractUnit.js +6 -0
  97. package/dist/esm/css/values/extractUnit.js.map +1 -0
  98. package/dist/esm/css/values/index.js +11 -0
  99. package/dist/esm/css/values/index.js.map +1 -0
  100. package/dist/esm/css/values/inferValueType.js +104 -0
  101. package/dist/esm/css/values/inferValueType.js.map +1 -0
  102. package/dist/esm/css/values/isAssignable.js +13 -0
  103. package/dist/esm/css/values/isAssignable.js.map +1 -0
  104. package/dist/esm/css/values/isSuppressed.js +47 -0
  105. package/dist/esm/css/values/isSuppressed.js.map +1 -0
  106. package/dist/esm/css/values/mapDtcgType.js +20 -0
  107. package/dist/esm/css/values/mapDtcgType.js.map +1 -0
  108. package/dist/esm/css/values/parseSyntaxType.js +50 -0
  109. package/dist/esm/css/values/parseSyntaxType.js.map +1 -0
  110. package/dist/esm/css/values/resolveDimensionValue.js +62 -0
  111. package/dist/esm/css/values/resolveDimensionValue.js.map +1 -0
  112. package/dist/esm/diagnosticCodes.js +18 -0
  113. package/dist/esm/diagnosticCodes.js.map +1 -0
  114. package/dist/esm/extension/findBundledVsixPath.js +20 -0
  115. package/dist/esm/extension/findBundledVsixPath.js.map +1 -0
  116. package/dist/esm/extension/index.js +4 -0
  117. package/dist/esm/extension/index.js.map +1 -0
  118. package/dist/esm/extension/installBundledVscodeExtension.js +25 -0
  119. package/dist/esm/extension/installBundledVscodeExtension.js.map +1 -0
  120. package/dist/esm/extension/updateVscodeSettings.js +8 -0
  121. package/dist/esm/extension/updateVscodeSettings.js.map +1 -0
  122. package/dist/esm/graph/ReachabilityCache.js +91 -0
  123. package/dist/esm/graph/ReachabilityCache.js.map +1 -0
  124. package/dist/esm/graph/TokenGraph.js +370 -0
  125. package/dist/esm/graph/TokenGraph.js.map +1 -0
  126. package/dist/esm/graph/index.js +5 -0
  127. package/dist/esm/graph/index.js.map +1 -0
  128. package/dist/esm/graph/loadArtifact.js +157 -0
  129. package/dist/esm/graph/loadArtifact.js.map +1 -0
  130. package/dist/esm/graph/parseArtifactToken.js +113 -0
  131. package/dist/esm/graph/parseArtifactToken.js.map +1 -0
  132. package/dist/esm/index.js +14 -0
  133. package/dist/esm/index.js.map +1 -0
  134. package/dist/esm/protocol/createRequest.js +10 -0
  135. package/dist/esm/protocol/createRequest.js.map +1 -0
  136. package/dist/esm/protocol/index.js +5 -0
  137. package/dist/esm/protocol/index.js.map +1 -0
  138. package/dist/esm/protocol/matchResponse.js +5 -0
  139. package/dist/esm/protocol/matchResponse.js.map +1 -0
  140. package/dist/esm/protocol/resolveConfig.js +222 -0
  141. package/dist/esm/protocol/resolveConfig.js.map +1 -0
  142. package/dist/esm/protocol/typeGuards.js +16 -0
  143. package/dist/esm/protocol/typeGuards.js.map +1 -0
  144. package/dist/esm/providers/artifactDiagnostics/checkBrokenAlias.js +15 -0
  145. package/dist/esm/providers/artifactDiagnostics/checkBrokenAlias.js.map +1 -0
  146. package/dist/esm/providers/artifactDiagnostics/checkCircularAlias.js +22 -0
  147. package/dist/esm/providers/artifactDiagnostics/checkCircularAlias.js.map +1 -0
  148. package/dist/esm/providers/artifactDiagnostics/checkDraftSyntax.js +15 -0
  149. package/dist/esm/providers/artifactDiagnostics/checkDraftSyntax.js.map +1 -0
  150. package/dist/esm/providers/artifactDiagnostics/checkMissingType.js +10 -0
  151. package/dist/esm/providers/artifactDiagnostics/checkMissingType.js.map +1 -0
  152. package/dist/esm/providers/artifactDiagnostics/checkSchemaViolation.js +15 -0
  153. package/dist/esm/providers/artifactDiagnostics/checkSchemaViolation.js.map +1 -0
  154. package/dist/esm/providers/artifactDiagnostics/index.js +28 -0
  155. package/dist/esm/providers/artifactDiagnostics/index.js.map +1 -0
  156. package/dist/esm/providers/classifyProvenance.js +19 -0
  157. package/dist/esm/providers/classifyProvenance.js.map +1 -0
  158. package/dist/esm/providers/completions/buildCompletionItem.js +132 -0
  159. package/dist/esm/providers/completions/buildCompletionItem.js.map +1 -0
  160. package/dist/esm/providers/completions/buildSortText.js +39 -0
  161. package/dist/esm/providers/completions/buildSortText.js.map +1 -0
  162. package/dist/esm/providers/completions/index.js +6 -0
  163. package/dist/esm/providers/completions/index.js.map +1 -0
  164. package/dist/esm/providers/completions/provideCompletions.js +64 -0
  165. package/dist/esm/providers/completions/provideCompletions.js.map +1 -0
  166. package/dist/esm/providers/completions/resolveCompletionItem.js +26 -0
  167. package/dist/esm/providers/completions/resolveCompletionItem.js.map +1 -0
  168. package/dist/esm/providers/completions/resolveExpectedType.js +17 -0
  169. package/dist/esm/providers/completions/resolveExpectedType.js.map +1 -0
  170. package/dist/esm/providers/constants.js +53 -0
  171. package/dist/esm/providers/constants.js.map +1 -0
  172. package/dist/esm/providers/diagnostics/checkMissingFallback.js +20 -0
  173. package/dist/esm/providers/diagnostics/checkMissingFallback.js.map +1 -0
  174. package/dist/esm/providers/diagnostics/checkNoColorScheme.js +27 -0
  175. package/dist/esm/providers/diagnostics/checkNoColorScheme.js.map +1 -0
  176. package/dist/esm/providers/diagnostics/checkPrimitiveToken.js +20 -0
  177. package/dist/esm/providers/diagnostics/checkPrimitiveToken.js.map +1 -0
  178. package/dist/esm/providers/diagnostics/checkScopedUsage.js +28 -0
  179. package/dist/esm/providers/diagnostics/checkScopedUsage.js.map +1 -0
  180. package/dist/esm/providers/diagnostics/checkStaleFallback.js +22 -0
  181. package/dist/esm/providers/diagnostics/checkStaleFallback.js.map +1 -0
  182. package/dist/esm/providers/diagnostics/checkTypeMismatch.js +24 -0
  183. package/dist/esm/providers/diagnostics/checkTypeMismatch.js.map +1 -0
  184. package/dist/esm/providers/diagnostics/checkTypeUncertain.js +19 -0
  185. package/dist/esm/providers/diagnostics/checkTypeUncertain.js.map +1 -0
  186. package/dist/esm/providers/diagnostics/checkUnknownVar.js +18 -0
  187. package/dist/esm/providers/diagnostics/checkUnknownVar.js.map +1 -0
  188. package/dist/esm/providers/diagnostics/checkUnreachableToken.js +25 -0
  189. package/dist/esm/providers/diagnostics/checkUnreachableToken.js.map +1 -0
  190. package/dist/esm/providers/diagnostics/index.js +2 -0
  191. package/dist/esm/providers/diagnostics/index.js.map +1 -0
  192. package/dist/esm/providers/diagnostics/orchestrateDiagnostics.js +90 -0
  193. package/dist/esm/providers/diagnostics/orchestrateDiagnostics.js.map +1 -0
  194. package/dist/esm/providers/diagnostics/types.js +2 -0
  195. package/dist/esm/providers/diagnostics/types.js.map +1 -0
  196. package/dist/esm/providers/formatCheckReport.js +90 -0
  197. package/dist/esm/providers/formatCheckReport.js.map +1 -0
  198. package/dist/esm/providers/index.js +20 -0
  199. package/dist/esm/providers/index.js.map +1 -0
  200. package/dist/esm/providers/makeDiagnostic.js +13 -0
  201. package/dist/esm/providers/makeDiagnostic.js.map +1 -0
  202. package/dist/esm/providers/prepareRename.js +36 -0
  203. package/dist/esm/providers/prepareRename.js.map +1 -0
  204. package/dist/esm/providers/provideCodeActions.js +154 -0
  205. package/dist/esm/providers/provideCodeActions.js.map +1 -0
  206. package/dist/esm/providers/provideDocumentColors.js +90 -0
  207. package/dist/esm/providers/provideDocumentColors.js.map +1 -0
  208. package/dist/esm/providers/provideDocumentLinks.js +55 -0
  209. package/dist/esm/providers/provideDocumentLinks.js.map +1 -0
  210. package/dist/esm/providers/provideHover.js +20 -0
  211. package/dist/esm/providers/provideHover.js.map +1 -0
  212. package/dist/esm/providers/provideInlayHints.js +82 -0
  213. package/dist/esm/providers/provideInlayHints.js.map +1 -0
  214. package/dist/esm/providers/provideReferences.js +39 -0
  215. package/dist/esm/providers/provideReferences.js.map +1 -0
  216. package/dist/esm/providers/provideRename.js +63 -0
  217. package/dist/esm/providers/provideRename.js.map +1 -0
  218. package/dist/esm/providers/provideSemanticTokens.js +74 -0
  219. package/dist/esm/providers/provideSemanticTokens.js.map +1 -0
  220. package/dist/esm/providers/provideWorkspaceSymbols.js +175 -0
  221. package/dist/esm/providers/provideWorkspaceSymbols.js.map +1 -0
  222. package/dist/esm/providers/resolveDefinition.js +42 -0
  223. package/dist/esm/providers/resolveDefinition.js.map +1 -0
  224. package/dist/esm/providers/tokenTooltip/buildResolutionTable.js +121 -0
  225. package/dist/esm/providers/tokenTooltip/buildResolutionTable.js.map +1 -0
  226. package/dist/esm/providers/tokenTooltip/buildTokenTooltip.js +60 -0
  227. package/dist/esm/providers/tokenTooltip/buildTokenTooltip.js.map +1 -0
  228. package/dist/esm/providers/tokenTooltip/constants.js +14 -0
  229. package/dist/esm/providers/tokenTooltip/constants.js.map +1 -0
  230. package/dist/esm/providers/tokenTooltip/formatDeclarationSites.js +53 -0
  231. package/dist/esm/providers/tokenTooltip/formatDeclarationSites.js.map +1 -0
  232. package/dist/esm/providers/tokenTooltip/formatProvenanceLine.js +86 -0
  233. package/dist/esm/providers/tokenTooltip/formatProvenanceLine.js.map +1 -0
  234. package/dist/esm/providers/tokenTooltip/index.js +6 -0
  235. package/dist/esm/providers/tokenTooltip/index.js.map +1 -0
  236. package/dist/esm/providers/tokenTooltip/resolveToLiteral.js +19 -0
  237. package/dist/esm/providers/tokenTooltip/resolveToLiteral.js.map +1 -0
  238. package/dist/esm/providers/truncate.js +6 -0
  239. package/dist/esm/providers/truncate.js.map +1 -0
  240. package/dist/esm/providers/types.js +38 -0
  241. package/dist/esm/providers/types.js.map +1 -0
  242. package/dist/esm/runtime/ConfigNotFoundError.js +21 -0
  243. package/dist/esm/runtime/ConfigNotFoundError.js.map +1 -0
  244. package/dist/esm/runtime/artifacts/index.js +2 -0
  245. package/dist/esm/runtime/artifacts/index.js.map +1 -0
  246. package/dist/esm/runtime/artifacts/loadConfiguredArtifacts.js +32 -0
  247. package/dist/esm/runtime/artifacts/loadConfiguredArtifacts.js.map +1 -0
  248. package/dist/esm/runtime/buildImportGraph.js +61 -0
  249. package/dist/esm/runtime/buildImportGraph.js.map +1 -0
  250. package/dist/esm/runtime/config/ensureServerConfig.js +64 -0
  251. package/dist/esm/runtime/config/ensureServerConfig.js.map +1 -0
  252. package/dist/esm/runtime/config/index.js +2 -0
  253. package/dist/esm/runtime/config/index.js.map +1 -0
  254. package/dist/esm/runtime/createConfigCandidatePath.js +7 -0
  255. package/dist/esm/runtime/createConfigCandidatePath.js.map +1 -0
  256. package/dist/esm/runtime/createGraphWorker.js +23 -0
  257. package/dist/esm/runtime/createGraphWorker.js.map +1 -0
  258. package/dist/esm/runtime/createServerState.js +39 -0
  259. package/dist/esm/runtime/createServerState.js.map +1 -0
  260. package/dist/esm/runtime/detectRuntime.js +40 -0
  261. package/dist/esm/runtime/detectRuntime.js.map +1 -0
  262. package/dist/esm/runtime/dispatch/LogMessageType.js +8 -0
  263. package/dist/esm/runtime/dispatch/LogMessageType.js.map +1 -0
  264. package/dist/esm/runtime/dispatch/handleWorkerResponse.js +58 -0
  265. package/dist/esm/runtime/dispatch/handleWorkerResponse.js.map +1 -0
  266. package/dist/esm/runtime/dispatch/index.js +5 -0
  267. package/dist/esm/runtime/dispatch/index.js.map +1 -0
  268. package/dist/esm/runtime/dispatch/routeLspRequest.js +233 -0
  269. package/dist/esm/runtime/dispatch/routeLspRequest.js.map +1 -0
  270. package/dist/esm/runtime/dispatch/routeWorkerRequest.js +162 -0
  271. package/dist/esm/runtime/dispatch/routeWorkerRequest.js.map +1 -0
  272. package/dist/esm/runtime/dispatch/types.js +2 -0
  273. package/dist/esm/runtime/dispatch/types.js.map +1 -0
  274. package/dist/esm/runtime/documents/handleArtifactChanged.js +18 -0
  275. package/dist/esm/runtime/documents/handleArtifactChanged.js.map +1 -0
  276. package/dist/esm/runtime/documents/handleChangeDocument.js +41 -0
  277. package/dist/esm/runtime/documents/handleChangeDocument.js.map +1 -0
  278. package/dist/esm/runtime/documents/handleCloseDocument.js +10 -0
  279. package/dist/esm/runtime/documents/handleCloseDocument.js.map +1 -0
  280. package/dist/esm/runtime/documents/handleFileChanged.js +14 -0
  281. package/dist/esm/runtime/documents/handleFileChanged.js.map +1 -0
  282. package/dist/esm/runtime/documents/handleOpenDocument.js +37 -0
  283. package/dist/esm/runtime/documents/handleOpenDocument.js.map +1 -0
  284. package/dist/esm/runtime/documents/index.js +6 -0
  285. package/dist/esm/runtime/documents/index.js.map +1 -0
  286. package/dist/esm/runtime/getServerCapabilities.js +35 -0
  287. package/dist/esm/runtime/getServerCapabilities.js.map +1 -0
  288. package/dist/esm/runtime/index.js +14 -0
  289. package/dist/esm/runtime/index.js.map +1 -0
  290. package/dist/esm/runtime/indexing/index.js +5 -0
  291. package/dist/esm/runtime/indexing/index.js.map +1 -0
  292. package/dist/esm/runtime/indexing/indexDocument.js +32 -0
  293. package/dist/esm/runtime/indexing/indexDocument.js.map +1 -0
  294. package/dist/esm/runtime/indexing/indexGlobalStylesheets.js +12 -0
  295. package/dist/esm/runtime/indexing/indexGlobalStylesheets.js.map +1 -0
  296. package/dist/esm/runtime/indexing/reindexDocument.js +16 -0
  297. package/dist/esm/runtime/indexing/reindexDocument.js.map +1 -0
  298. package/dist/esm/runtime/indexing/updateImportEdges.js +5 -0
  299. package/dist/esm/runtime/indexing/updateImportEdges.js.map +1 -0
  300. package/dist/esm/runtime/scheduleBufferUpdate.js +39 -0
  301. package/dist/esm/runtime/scheduleBufferUpdate.js.map +1 -0
  302. package/dist/esm/runtime/startLspServer.js +66 -0
  303. package/dist/esm/runtime/startLspServer.js.map +1 -0
  304. package/dist/esm/runtime/types.js +2 -0
  305. package/dist/esm/runtime/types.js.map +1 -0
  306. package/dist/esm/testing/index.js +8 -0
  307. package/dist/esm/testing/index.js.map +1 -0
  308. package/dist/esm/testing/makeArtifactToken.js +31 -0
  309. package/dist/esm/testing/makeArtifactToken.js.map +1 -0
  310. package/dist/esm/testing/makeConfig.js +40 -0
  311. package/dist/esm/testing/makeConfig.js.map +1 -0
  312. package/dist/esm/testing/makeDeclarationNode.js +18 -0
  313. package/dist/esm/testing/makeDeclarationNode.js.map +1 -0
  314. package/dist/esm/testing/makePropertyNode.js +12 -0
  315. package/dist/esm/testing/makePropertyNode.js.map +1 -0
  316. package/dist/esm/testing/makeServerState.js +21 -0
  317. package/dist/esm/testing/makeServerState.js.map +1 -0
  318. package/dist/esm/testing/makeTokenNode.js +34 -0
  319. package/dist/esm/testing/makeTokenNode.js.map +1 -0
  320. package/dist/esm/testing/makeTransport.js +9 -0
  321. package/dist/esm/testing/makeTransport.js.map +1 -0
  322. package/dist/esm/transport/index.js +2 -0
  323. package/dist/esm/transport/index.js.map +1 -0
  324. package/dist/esm/transport/stdio/createMessageStream.js +50 -0
  325. package/dist/esm/transport/stdio/createMessageStream.js.map +1 -0
  326. package/dist/esm/transport/stdio/index.js +2 -0
  327. package/dist/esm/transport/stdio/index.js.map +1 -0
  328. package/dist/esm/types/config.js +6 -0
  329. package/dist/esm/types/config.js.map +1 -0
  330. package/dist/esm/types/css.js +6 -0
  331. package/dist/esm/types/css.js.map +1 -0
  332. package/dist/esm/types/graph.js +6 -0
  333. package/dist/esm/types/graph.js.map +1 -0
  334. package/dist/esm/types/index.js +16 -0
  335. package/dist/esm/types/index.js.map +1 -0
  336. package/dist/esm/types/lsp.js +10 -0
  337. package/dist/esm/types/lsp.js.map +1 -0
  338. package/dist/esm/types/protocol.js +35 -0
  339. package/dist/esm/types/protocol.js.map +1 -0
  340. package/dist/esm/types/worker.js +6 -0
  341. package/dist/esm/types/worker.js.map +1 -0
  342. package/dist/esm/version.js +21 -0
  343. package/dist/esm/version.js.map +1 -0
  344. package/dist/extension.js +17910 -0
  345. package/install.sh +29 -0
  346. package/package.json +94 -0
@@ -0,0 +1,6 @@
1
+ /** Shared provider utilities. */
2
+ /** Truncate a string to a maximum length, appending `...` if exceeded. */
3
+ export default function truncate(s, max) {
4
+ return s.length > max ? `${s.substring(0, max - 3)}...` : s;
5
+ }
6
+ //# sourceMappingURL=truncate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../../src/providers/truncate.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,0EAA0E;AAC1E,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,CAAS,EAAE,GAAW;IACrD,OAAO,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Provider-domain types — types used exclusively by the providers layer.
3
+ *
4
+ * Cross-domain types (TokenNode, DeclarationNode, Diagnostic, etc.) remain
5
+ * in `types/` for shared access. This file holds types that only the
6
+ * providers layer (and its tests) consume.
7
+ *
8
+ */
9
+ // ---------------------------------------------------------------------------
10
+ // Semantic tokens (§9.7)
11
+ // ---------------------------------------------------------------------------
12
+ /**
13
+ * Semantic token type registered with the server.
14
+ */
15
+ export const SEMANTIC_TOKEN_TYPES = ["designToken"];
16
+ /**
17
+ * Semantic token modifiers.
18
+ *
19
+ * Applied to `var(--x)` occurrences based on provenance and scope.
20
+ */
21
+ export const SEMANTIC_TOKEN_MODIFIERS = [
22
+ "artifact",
23
+ "registered",
24
+ "local",
25
+ "external",
26
+ "scoped",
27
+ ];
28
+ // ---------------------------------------------------------------------------
29
+ // Workspace symbol (§9.9)
30
+ // ---------------------------------------------------------------------------
31
+ /** Symbol kind (subset for design tokens). */
32
+ export var SymbolKind;
33
+ (function (SymbolKind) {
34
+ SymbolKind[SymbolKind["Variable"] = 13] = "Variable";
35
+ SymbolKind[SymbolKind["Property"] = 7] = "Property";
36
+ SymbolKind[SymbolKind["Constant"] = 14] = "Constant";
37
+ })(SymbolKind || (SymbolKind = {}));
38
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/providers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAoBH,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,aAAa,CAAU,CAAC;AAE7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,UAAU;IACV,YAAY;IACZ,OAAO;IACP,UAAU;IACV,QAAQ;CACA,CAAC;AAsBX,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,8CAA8C;AAC9C,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,oDAAa,CAAA;IACb,mDAAY,CAAA;IACZ,oDAAa,CAAA;AACf,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB"}
@@ -0,0 +1,21 @@
1
+ const CONFIG_FILENAME = "terrazzo-lsp.config.json";
2
+ /** Error raised when no Terrazzo LSP config can be found. */
3
+ export default class ConfigNotFoundError extends Error {
4
+ searchStart;
5
+ searchedPaths;
6
+ constructor(searchStart, searchedPaths) {
7
+ super(`No ${CONFIG_FILENAME} found from ${searchStart}`);
8
+ this.name = "ConfigNotFoundError";
9
+ this.searchStart = searchStart;
10
+ this.searchedPaths = searchedPaths;
11
+ }
12
+ getLogLines() {
13
+ return [
14
+ `Config not found: ${CONFIG_FILENAME}`,
15
+ `Search start: ${this.searchStart}`,
16
+ ...this.searchedPaths.map((filePath) => `Tried: ${filePath}`),
17
+ 'Create one with: { "artifacts": ["path/to/tokens.json"] }',
18
+ ];
19
+ }
20
+ }
21
+ //# sourceMappingURL=ConfigNotFoundError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigNotFoundError.js","sourceRoot":"","sources":["../../../src/runtime/ConfigNotFoundError.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEnD,6DAA6D;AAC7D,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,KAAK;IAC3C,WAAW,CAAS;IACpB,aAAa,CAAW;IAEjC,YAAY,WAAmB,EAAE,aAAuB;QACtD,KAAK,CAAC,MAAM,eAAe,eAAe,WAAW,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED,WAAW;QACT,OAAO;YACL,qBAAqB,eAAe,EAAE;YACtC,iBAAiB,IAAI,CAAC,WAAW,EAAE;YACnC,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,QAAQ,EAAE,CAAC;YAC7D,2DAA2D;SAC5D,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export { default as loadConfiguredArtifacts } from "./loadConfiguredArtifacts.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/artifacts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @note impure — reads artifact JSON files from disk.
3
+ */
4
+ import * as fs from "node:fs/promises";
5
+ import * as path from "node:path";
6
+ import { loadArtifact } from "../../graph/index.js";
7
+ export default async function loadConfiguredArtifacts(state) {
8
+ for (const artifactPath of state.config.artifactPaths) {
9
+ try {
10
+ const raw = await fs.readFile(artifactPath, "utf-8");
11
+ const artifact = JSON.parse(raw);
12
+ const packageSource = derivePackageSource(artifactPath);
13
+ const artifactDir = path.dirname(artifactPath);
14
+ loadArtifact(artifact, state.graph, packageSource, artifactDir);
15
+ }
16
+ catch {
17
+ // Artifact not found or invalid — continue without it
18
+ }
19
+ }
20
+ }
21
+ function derivePackageSource(artifactPath) {
22
+ const nodeModulesIndex = artifactPath.indexOf("node_modules/");
23
+ if (nodeModulesIndex < 0)
24
+ return "";
25
+ const afterNodeModules = artifactPath.substring(nodeModulesIndex + "node_modules/".length);
26
+ const parts = afterNodeModules.split(path.sep);
27
+ if (parts[0]?.startsWith("@") && parts.length >= 2) {
28
+ return `${parts[0]}/${parts[1]}`;
29
+ }
30
+ return parts[0] ?? "";
31
+ }
32
+ //# sourceMappingURL=loadConfiguredArtifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadConfiguredArtifacts.js","sourceRoot":"","sources":["../../../../src/runtime/artifacts/loadConfiguredArtifacts.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,uBAAuB,CACnD,KAAkB;IAElB,KAAK,MAAM,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,aAAa,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC/C,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAoB;IAC/C,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/D,IAAI,gBAAgB,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,gBAAgB,GAAG,YAAY,CAAC,SAAS,CAC7C,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAC1C,CAAC;IACF,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACxB,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Build the import graph via BFS from an open file URI.
3
+ *
4
+ * Reads files from disk, extracts `@import` and JS CSS import statements,
5
+ * resolves import specifiers, and populates the TokenGraph with FileNodes,
6
+ * import edges, and scanned declarations/properties.
7
+ *
8
+ * @note This function is impure — it reads from the file system.
9
+ *
10
+ */
11
+ import { extractPackageName, isExternalPath, parseFileUri, } from "../css/imports/index.js";
12
+ import * as lezer from "../css/lezer/index.js";
13
+ import indexDocument from "./indexing/indexDocument.js";
14
+ /**
15
+ * Perform a BFS traversal from a root URI, building the import graph
16
+ * and scanning all reachable files for declarations, properties, and usages.
17
+ *
18
+ * @note This function is impure — it reads files via the `fs` abstraction.
19
+ */
20
+ export default async function buildImportGraph(rootUri, graph, fs, sourceOverrides, treeOverrides) {
21
+ const visited = new Set();
22
+ const queue = [rootUri];
23
+ while (queue.length > 0) {
24
+ const uri = queue.shift();
25
+ if (visited.has(uri))
26
+ continue;
27
+ visited.add(uri);
28
+ const source = sourceOverrides?.get(uri) ?? (await fs.readFile(uri));
29
+ if (source === null)
30
+ continue;
31
+ const tree = treeOverrides?.get(uri) ?? lezer.parseCSS(source);
32
+ ensureFileNode(uri, graph);
33
+ const imports = indexDocument({
34
+ fileUri: uri,
35
+ graph,
36
+ rootDir: fs.rootDir,
37
+ source,
38
+ tree,
39
+ });
40
+ for (const importedUri of imports) {
41
+ ensureFileNode(importedUri, graph);
42
+ if (!visited.has(importedUri)) {
43
+ queue.push(importedUri);
44
+ }
45
+ }
46
+ }
47
+ }
48
+ /** Ensure a FileNode exists in the graph for a given URI. */
49
+ function ensureFileNode(uri, graph) {
50
+ if (graph.hasFile(uri))
51
+ return;
52
+ const path = parseFileUri(uri);
53
+ const external = isExternalPath(path);
54
+ graph.addFile({
55
+ uri,
56
+ path,
57
+ isExternal: external,
58
+ packageName: external ? extractPackageName(path) : null,
59
+ });
60
+ }
61
+ //# sourceMappingURL=buildImportGraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildImportGraph.js","sourceRoot":"","sources":["../../../src/runtime/buildImportGraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,YAAY,GACb,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAC;AAE/C,OAAO,aAAa,MAAM,6BAA6B,CAAC;AAGxD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,gBAAgB,CAC5C,OAAe,EACf,KAAiB,EACjB,EAAc,EACd,eAA6C,EAC7C,aAAyC;IAEzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,KAAK,GAAa,CAAC,OAAO,CAAC,CAAC;IAElC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAY,CAAC;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjB,MAAM,MAAM,GAAG,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACrE,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS;QAC9B,MAAM,IAAI,GAAG,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE/D,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,aAAa,CAAC;YAC5B,OAAO,EAAE,GAAG;YACZ,KAAK;YACL,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,MAAM;YACN,IAAI;SACL,CAAC,CAAC;QACH,KAAK,MAAM,WAAW,IAAI,OAAO,EAAE,CAAC;YAClC,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,6DAA6D;AAC7D,SAAS,cAAc,CAAC,GAAW,EAAE,KAAiB;IACpD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO;IAC/B,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACtC,KAAK,CAAC,OAAO,CAAC;QACZ,GAAG;QACH,IAAI;QACJ,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;KACxD,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * @note impure — reads config file from disk, loads artifacts, rescans documents.
3
+ */
4
+ import * as path from "node:path";
5
+ import { loadConfigFile, resolveConfig } from "../../protocol/index.js";
6
+ import { loadConfiguredArtifacts } from "../artifacts/index.js";
7
+ import ConfigNotFoundError from "../ConfigNotFoundError.js";
8
+ import reindexDocument from "../indexing/reindexDocument.js";
9
+ export default function ensureServerConfig(state, documentUri) {
10
+ if (!state.configPromise) {
11
+ state.configPromise = loadServerConfig(state, documentUri);
12
+ }
13
+ return state.configPromise;
14
+ }
15
+ async function loadServerConfig(state, documentUri) {
16
+ const searchStart = resolveSearchStart(state.rootDir, documentUri);
17
+ const { raw, configDir, searchedPaths } = await loadConfigFile(searchStart);
18
+ const effectiveRoot = configDir ?? state.rootDir;
19
+ state.config = resolveConfig(raw, effectiveRoot);
20
+ if (configDir) {
21
+ state.log(`Config loaded from ${configDir}/terrazzo-lsp.config.json`);
22
+ }
23
+ else {
24
+ const error = new ConfigNotFoundError(searchStart, searchedPaths);
25
+ for (const line of error.getLogLines()) {
26
+ state.log(line);
27
+ }
28
+ if (!state.allowDegraded) {
29
+ throw error;
30
+ }
31
+ state.log("Running in degraded mode (--allow-degraded): token-backed editor features stay disabled until a config is added.");
32
+ }
33
+ state.log(`Root: ${effectiveRoot}`);
34
+ state.log(`Artifacts: ${state.config.artifactPaths.length > 0 ? state.config.artifactPaths.join(", ") : "(none)"}`);
35
+ await loadConfiguredArtifacts(state);
36
+ logArtifactSummary(state);
37
+ if (state.config.globalStylesheets &&
38
+ state.config.globalStylesheets.length > 0) {
39
+ await reindexDocument({
40
+ cache: state.cache,
41
+ fs: state.fs,
42
+ globalStylesheets: state.config.globalStylesheets,
43
+ graph: state.graph,
44
+ openDocuments: state.openDocuments,
45
+ openTrees: state.openTrees,
46
+ });
47
+ const globalDeclarationCount = state.config.globalStylesheets.reduce((count, uri) => count + state.graph.getDeclarationsByFile(uri).length, 0);
48
+ state.log(`Global stylesheets: ${state.config.globalStylesheets.length} file${state.config.globalStylesheets.length !== 1 ? "s" : ""}, ${globalDeclarationCount} declarations`);
49
+ }
50
+ state.log("terrazzo-lsp ready");
51
+ }
52
+ function logArtifactSummary(state) {
53
+ const tokenCount = state.graph.tokenCount;
54
+ state.log(`Loaded ${tokenCount} token${tokenCount !== 1 ? "s" : ""} from ${state.config.artifactPaths.length} artifact${state.config.artifactPaths.length !== 1 ? "s" : ""}`);
55
+ }
56
+ function resolveSearchStart(rootDir, documentUri) {
57
+ if (!documentUri)
58
+ return rootDir;
59
+ const fsPath = documentUri.startsWith("file://")
60
+ ? decodeURIComponent(documentUri.slice(7))
61
+ : documentUri;
62
+ return path.dirname(fsPath);
63
+ }
64
+ //# sourceMappingURL=ensureServerConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureServerConfig.js","sourceRoot":"","sources":["../../../../src/runtime/config/ensureServerConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { default as ensureServerConfig } from "./ensureServerConfig.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { join } from "node:path";
2
+ const CONFIG_FILENAME = "terrazzo-lsp.config.json";
3
+ /** Build the config candidate path for a directory during config discovery. */
4
+ export default function createConfigCandidatePath(dir) {
5
+ return join(dir, CONFIG_FILENAME);
6
+ }
7
+ //# sourceMappingURL=createConfigCandidatePath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createConfigCandidatePath.js","sourceRoot":"","sources":["../../../src/runtime/createConfigCandidatePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEnD,+EAA+E;AAC/E,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,GAAW;IAC3D,OAAO,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import createServerState from "./createServerState.js";
2
+ import { routeWorkerRequest } from "./dispatch/index.js";
3
+ /**
4
+ * Create a new GraphWorker instance.
5
+ *
6
+ * @note This function is impure — the returned worker reads files,
7
+ * maintains mutable state, and posts messages.
8
+ */
9
+ export default function createGraphWorker(options) {
10
+ const state = createServerState(options);
11
+ return {
12
+ async handleRequest(request) {
13
+ await routeWorkerRequest(state, request);
14
+ },
15
+ get config() {
16
+ return state.config;
17
+ },
18
+ get graph() {
19
+ return state.graph;
20
+ },
21
+ };
22
+ }
23
+ //# sourceMappingURL=createGraphWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createGraphWorker.js","sourceRoot":"","sources":["../../../src/runtime/createGraphWorker.ts"],"names":[],"mappings":"AAiBA,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AA0BzD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,OAA2B;IAE3B,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAEzC,OAAO;QACL,KAAK,CAAC,aAAa,CAAC,OAAsB;YACxC,MAAM,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,MAAM;YACR,OAAO,KAAK,CAAC,MAAM,CAAC;QACtB,CAAC;QACD,IAAI,KAAK;YACP,OAAO,KAAK,CAAC,KAAK,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @note impure — wires real node:fs into the FileSystem abstraction.
3
+ */
4
+ import * as fs from "node:fs/promises";
5
+ import { ReachabilityCache, TokenGraph } from "../graph/index.js";
6
+ import { resolveConfig } from "../protocol/index.js";
7
+ export default function createServerState(options) {
8
+ const { allowDegraded = false, debug = () => { }, log = () => { }, postMessage, rootDir, } = options;
9
+ const graph = new TokenGraph();
10
+ const cache = new ReachabilityCache();
11
+ const fileSystem = {
12
+ rootDir,
13
+ async readFile(uri) {
14
+ const fsPath = uri.startsWith("file://") ? uri.slice(7) : uri;
15
+ try {
16
+ return await fs.readFile(fsPath, "utf-8");
17
+ }
18
+ catch {
19
+ return null;
20
+ }
21
+ },
22
+ };
23
+ return {
24
+ allowDegraded,
25
+ cache,
26
+ config: resolveConfig({}, rootDir),
27
+ configPromise: null,
28
+ debug,
29
+ fs: fileSystem,
30
+ graph,
31
+ log,
32
+ openDocuments: new Map(),
33
+ openTrees: new Map(),
34
+ pendingUpdates: new Map(),
35
+ postMessage,
36
+ rootDir,
37
+ };
38
+ }
39
+ //# sourceMappingURL=createServerState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createServerState.js","sourceRoot":"","sources":["../../../src/runtime/createServerState.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAOrD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,OAAiC;IAEjC,MAAM,EACJ,aAAa,GAAG,KAAK,EACrB,KAAK,GAAG,GAAG,EAAE,GAAE,CAAC,EAChB,GAAG,GAAG,GAAG,EAAE,GAAE,CAAC,EACd,WAAW,EACX,OAAO,GACR,GAAG,OAAO,CAAC;IACZ,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACtC,MAAM,UAAU,GAAe;QAC7B,OAAO;QACP,KAAK,CAAC,QAAQ,CAAC,GAAW;YACxB,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC9D,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;IAEF,OAAO;QACL,aAAa;QACb,KAAK;QACL,MAAM,EAAE,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC;QAClC,aAAa,EAAE,IAAI;QACnB,KAAK;QACL,EAAE,EAAE,UAAU;QACd,KAAK;QACL,GAAG;QACH,aAAa,EAAE,IAAI,GAAG,EAAE;QACxB,SAAS,EAAE,IAAI,GAAG,EAAE;QACpB,cAAc,EAAE,IAAI,GAAG,EAAE;QACzB,WAAW;QACX,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @note impure — spawns child processes to probe runtime availability.
3
+ */
4
+ import { execFile } from "node:child_process";
5
+ const NODE_RUNTIME_PATTERN = /^v(2[2-9]|[3-9]\d)(?:\.|$)/;
6
+ /**
7
+ * Detect the runtime used to launch the language server.
8
+ *
9
+ * Prefers `bun`, falls back to `node` when version >= 22, and
10
+ * respects an explicit user override.
11
+ */
12
+ export default async function detectRuntime(override, probeRuntime = runProbeRuntime) {
13
+ if (override) {
14
+ return override;
15
+ }
16
+ if (await probeRuntime("bun", ["--version"])) {
17
+ return "bun";
18
+ }
19
+ if (await probeRuntime("node", ["--version"], NODE_RUNTIME_PATTERN)) {
20
+ return "node";
21
+ }
22
+ return null;
23
+ }
24
+ async function runProbeRuntime(command, args, versionPattern) {
25
+ return new Promise((resolve) => {
26
+ execFile(command, args, (error, stdout) => {
27
+ if (error) {
28
+ resolve(false);
29
+ return;
30
+ }
31
+ const output = stdout.trim();
32
+ if (versionPattern && !versionPattern.test(output)) {
33
+ resolve(false);
34
+ return;
35
+ }
36
+ resolve(true);
37
+ });
38
+ });
39
+ }
40
+ //# sourceMappingURL=detectRuntime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectRuntime.js","sourceRoot":"","sources":["../../../src/runtime/detectRuntime.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AAQ1D;;;;;GAKG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,aAAa,CACzC,QAAgB,EAChB,eAA6B,eAAe;IAE5C,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC,EAAE,CAAC;QACpE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,OAAe,EACf,IAAc,EACd,cAAuB;IAEvB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;QACtC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO;YACT,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,8 @@
1
+ export var LogMessageType;
2
+ (function (LogMessageType) {
3
+ LogMessageType[LogMessageType["Error"] = 1] = "Error";
4
+ LogMessageType[LogMessageType["Warning"] = 2] = "Warning";
5
+ LogMessageType[LogMessageType["Info"] = 3] = "Info";
6
+ LogMessageType[LogMessageType["Log"] = 4] = "Log";
7
+ })(LogMessageType || (LogMessageType = {}));
8
+ //# sourceMappingURL=LogMessageType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogMessageType.js","sourceRoot":"","sources":["../../../../src/runtime/dispatch/LogMessageType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,qDAAS,CAAA;IACT,yDAAW,CAAA;IACX,mDAAQ,CAAA;IACR,iDAAO,CAAA;AACT,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB"}
@@ -0,0 +1,58 @@
1
+ export default function handleWorkerResponse(response, pendingRequests, transport) {
2
+ const pendingRequest = pendingRequests.get(response.id);
3
+ if (!pendingRequest)
4
+ return;
5
+ pendingRequests.delete(response.id);
6
+ switch (response.type) {
7
+ case "COMPLETION_RESULT":
8
+ transport.sendResponse(pendingRequest.id, {
9
+ isIncomplete: false,
10
+ items: response.items,
11
+ });
12
+ return;
13
+ case "HOVER_RESULT":
14
+ transport.sendResponse(pendingRequest.id, response.content ? { contents: response.content } : null);
15
+ return;
16
+ case "DEFINITION_RESULT":
17
+ transport.sendResponse(pendingRequest.id, response.locations);
18
+ return;
19
+ case "DIAGNOSTICS_RESULT":
20
+ case "PUSH_DIAGNOSTICS":
21
+ transport.sendNotification("textDocument/publishDiagnostics", {
22
+ uri: response.uri,
23
+ diagnostics: response.diagnostics,
24
+ });
25
+ return;
26
+ case "REFERENCES_RESULT":
27
+ transport.sendResponse(pendingRequest.id, response.locations);
28
+ return;
29
+ case "RENAME_RESULT":
30
+ transport.sendResponse(pendingRequest.id, response.result ? response.result.edit : null);
31
+ return;
32
+ case "SEMANTIC_TOKENS_RESULT":
33
+ transport.sendResponse(pendingRequest.id, { data: response.data });
34
+ return;
35
+ case "WORKSPACE_SYMBOL_RESULT":
36
+ transport.sendResponse(pendingRequest.id, response.symbols);
37
+ return;
38
+ case "DOCUMENT_COLOR_RESULT":
39
+ transport.sendResponse(pendingRequest.id, response.colors);
40
+ return;
41
+ case "PREPARE_RENAME_RESULT":
42
+ transport.sendResponse(pendingRequest.id, response.result);
43
+ return;
44
+ case "DOCUMENT_LINK_RESULT":
45
+ transport.sendResponse(pendingRequest.id, response.links);
46
+ return;
47
+ case "INLAY_HINT_RESULT":
48
+ transport.sendResponse(pendingRequest.id, response.hints);
49
+ return;
50
+ case "CODE_ACTION_RESULT":
51
+ transport.sendResponse(pendingRequest.id, response.actions);
52
+ return;
53
+ case "COMPLETION_RESOLVE_RESULT":
54
+ transport.sendResponse(pendingRequest.id, response.item);
55
+ return;
56
+ }
57
+ }
58
+ //# sourceMappingURL=handleWorkerResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleWorkerResponse.js","sourceRoot":"","sources":["../../../../src/runtime/dispatch/handleWorkerResponse.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,QAAwB,EACxB,eAA+C,EAC/C,SAAuB;IAEvB,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,cAAc;QAAE,OAAO;IAC5B,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEpC,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,mBAAmB;YACtB,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE;gBACxC,YAAY,EAAE,KAAK;gBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB,CAAC,CAAC;YACH,OAAO;QACT,KAAK,cAAc;YACjB,SAAS,CAAC,YAAY,CACpB,cAAc,CAAC,EAAE,EACjB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CACzD,CAAC;YACF,OAAO;QACT,KAAK,mBAAmB;YACtB,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC9D,OAAO;QACT,KAAK,oBAAoB,CAAC;QAC1B,KAAK,kBAAkB;YACrB,SAAS,CAAC,gBAAgB,CAAC,iCAAiC,EAAE;gBAC5D,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,WAAW,EAAE,QAAQ,CAAC,WAAW;aAClC,CAAC,CAAC;YACH,OAAO;QACT,KAAK,mBAAmB;YACtB,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC9D,OAAO;QACT,KAAK,eAAe;YAClB,SAAS,CAAC,YAAY,CACpB,cAAc,CAAC,EAAE,EACjB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAC9C,CAAC;YACF,OAAO;QACT,KAAK,wBAAwB;YAC3B,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACnE,OAAO;QACT,KAAK,yBAAyB;YAC5B,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC5D,OAAO;QACT,KAAK,uBAAuB;YAC1B,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3D,OAAO;QACT,KAAK,uBAAuB;YAC1B,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3D,OAAO;QACT,KAAK,sBAAsB;YACzB,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO;QACT,KAAK,mBAAmB;YACtB,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO;QACT,KAAK,oBAAoB;YACvB,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC5D,OAAO;QACT,KAAK,2BAA2B;YAC9B,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzD,OAAO;IACX,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { default as handleWorkerResponse } from "./handleWorkerResponse.js";
2
+ export { LogMessageType } from "./LogMessageType.js";
3
+ export { default as routeLspRequest } from "./routeLspRequest.js";
4
+ export { default as routeWorkerRequest } from "./routeWorkerRequest.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/dispatch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}