@selvakumaresra/specship 0.1.3 → 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 (718) hide show
  1. package/README.md +2 -2
  2. package/commands/ss-design-implement.md +84 -0
  3. package/commands/ss-design-loop.md +125 -0
  4. package/commands/{cg-drifted.md → ss-drifted.md} +2 -2
  5. package/commands/{cg-fix.md → ss-fix.md} +1 -1
  6. package/commands/{cg-implement.md → ss-implement.md} +1 -1
  7. package/commands/ss-spec-author.md +43 -0
  8. package/commands/ss-spec-review.md +48 -0
  9. package/dist/bin/node-version-check.d.ts +37 -0
  10. package/dist/bin/node-version-check.d.ts.map +1 -0
  11. package/dist/bin/node-version-check.js +79 -0
  12. package/dist/bin/node-version-check.js.map +1 -0
  13. package/dist/bin/specship.d.ts +25 -0
  14. package/dist/bin/specship.d.ts.map +1 -0
  15. package/dist/bin/specship.js +2085 -0
  16. package/dist/bin/specship.js.map +1 -0
  17. package/dist/bin/uninstall.d.ts +13 -0
  18. package/dist/bin/uninstall.d.ts.map +1 -0
  19. package/dist/bin/uninstall.js +35 -0
  20. package/dist/bin/uninstall.js.map +1 -0
  21. package/dist/context/formatter.d.ts +30 -0
  22. package/dist/context/formatter.d.ts.map +1 -0
  23. package/dist/context/formatter.js +263 -0
  24. package/dist/context/formatter.js.map +1 -0
  25. package/dist/context/index.d.ts +119 -0
  26. package/dist/context/index.d.ts.map +1 -0
  27. package/dist/context/index.js +1289 -0
  28. package/dist/context/index.js.map +1 -0
  29. package/dist/context/markers.d.ts +19 -0
  30. package/dist/context/markers.d.ts.map +1 -0
  31. package/dist/context/markers.js +22 -0
  32. package/dist/context/markers.js.map +1 -0
  33. package/dist/db/index.d.ts +103 -0
  34. package/dist/db/index.d.ts.map +1 -0
  35. package/dist/db/index.js +279 -0
  36. package/dist/db/index.js.map +1 -0
  37. package/dist/db/migrations.d.ts +44 -0
  38. package/dist/db/migrations.d.ts.map +1 -0
  39. package/dist/db/migrations.js +462 -0
  40. package/dist/db/migrations.js.map +1 -0
  41. package/dist/db/queries.d.ts +357 -0
  42. package/dist/db/queries.d.ts.map +1 -0
  43. package/dist/db/queries.js +1504 -0
  44. package/dist/db/queries.js.map +1 -0
  45. package/dist/db/schema.sql +419 -0
  46. package/dist/db/spec-queries.d.ts +101 -0
  47. package/dist/db/spec-queries.d.ts.map +1 -0
  48. package/dist/db/spec-queries.js +675 -0
  49. package/dist/db/spec-queries.js.map +1 -0
  50. package/dist/db/sqlite-adapter.d.ts +65 -0
  51. package/dist/db/sqlite-adapter.d.ts.map +1 -0
  52. package/dist/db/sqlite-adapter.js +214 -0
  53. package/dist/db/sqlite-adapter.js.map +1 -0
  54. package/dist/designer/artifact-store.js +54 -0
  55. package/dist/designer/browser.js +141 -0
  56. package/dist/designer/cdp-ensure.js +60 -0
  57. package/dist/designer/cdp-env.js +18 -0
  58. package/dist/designer/cdp-trace.js +599 -0
  59. package/dist/designer/cross-platform.js +74 -0
  60. package/dist/designer/designer-controller.js +1413 -0
  61. package/dist/designer/file-panel.js +39 -0
  62. package/dist/designer/interstitials.js +97 -0
  63. package/dist/designer/oopif-reader.js +176 -0
  64. package/dist/designer/package-meta.js +18 -0
  65. package/dist/designer/preview-host.js +50 -0
  66. package/dist/designer/repo-root.js +31 -0
  67. package/dist/designer/run-state.js +353 -0
  68. package/dist/designer/session-store.js +59 -0
  69. package/dist/designer/ui-anchors.js +651 -0
  70. package/dist/directory.d.ts +67 -0
  71. package/dist/directory.d.ts.map +1 -0
  72. package/dist/directory.js +267 -0
  73. package/dist/directory.js.map +1 -0
  74. package/dist/errors.d.ts +136 -0
  75. package/dist/errors.d.ts.map +1 -0
  76. package/dist/errors.js +219 -0
  77. package/dist/errors.js.map +1 -0
  78. package/dist/extraction/dfm-extractor.d.ts +31 -0
  79. package/dist/extraction/dfm-extractor.d.ts.map +1 -0
  80. package/dist/extraction/dfm-extractor.js +151 -0
  81. package/dist/extraction/dfm-extractor.js.map +1 -0
  82. package/dist/extraction/generated-detection.d.ts +30 -0
  83. package/dist/extraction/generated-detection.d.ts.map +1 -0
  84. package/dist/extraction/generated-detection.js +80 -0
  85. package/dist/extraction/generated-detection.js.map +1 -0
  86. package/dist/extraction/grammars.d.ts +100 -0
  87. package/dist/extraction/grammars.d.ts.map +1 -0
  88. package/dist/extraction/grammars.js +426 -0
  89. package/dist/extraction/grammars.js.map +1 -0
  90. package/dist/extraction/index.d.ts +138 -0
  91. package/dist/extraction/index.d.ts.map +1 -0
  92. package/dist/extraction/index.js +1394 -0
  93. package/dist/extraction/index.js.map +1 -0
  94. package/dist/extraction/languages/c-cpp.d.ts +4 -0
  95. package/dist/extraction/languages/c-cpp.d.ts.map +1 -0
  96. package/dist/extraction/languages/c-cpp.js +171 -0
  97. package/dist/extraction/languages/c-cpp.js.map +1 -0
  98. package/dist/extraction/languages/csharp.d.ts +3 -0
  99. package/dist/extraction/languages/csharp.d.ts.map +1 -0
  100. package/dist/extraction/languages/csharp.js +73 -0
  101. package/dist/extraction/languages/csharp.js.map +1 -0
  102. package/dist/extraction/languages/dart.d.ts +3 -0
  103. package/dist/extraction/languages/dart.d.ts.map +1 -0
  104. package/dist/extraction/languages/dart.js +192 -0
  105. package/dist/extraction/languages/dart.js.map +1 -0
  106. package/dist/extraction/languages/go.d.ts +3 -0
  107. package/dist/extraction/languages/go.d.ts.map +1 -0
  108. package/dist/extraction/languages/go.js +74 -0
  109. package/dist/extraction/languages/go.js.map +1 -0
  110. package/dist/extraction/languages/index.d.ts +10 -0
  111. package/dist/extraction/languages/index.d.ts.map +1 -0
  112. package/dist/extraction/languages/index.js +51 -0
  113. package/dist/extraction/languages/index.js.map +1 -0
  114. package/dist/extraction/languages/java.d.ts +3 -0
  115. package/dist/extraction/languages/java.d.ts.map +1 -0
  116. package/dist/extraction/languages/java.js +70 -0
  117. package/dist/extraction/languages/java.js.map +1 -0
  118. package/dist/extraction/languages/javascript.d.ts +3 -0
  119. package/dist/extraction/languages/javascript.d.ts.map +1 -0
  120. package/dist/extraction/languages/javascript.js +90 -0
  121. package/dist/extraction/languages/javascript.js.map +1 -0
  122. package/dist/extraction/languages/kotlin.d.ts +3 -0
  123. package/dist/extraction/languages/kotlin.d.ts.map +1 -0
  124. package/dist/extraction/languages/kotlin.js +259 -0
  125. package/dist/extraction/languages/kotlin.js.map +1 -0
  126. package/dist/extraction/languages/lua.d.ts +3 -0
  127. package/dist/extraction/languages/lua.d.ts.map +1 -0
  128. package/dist/extraction/languages/lua.js +150 -0
  129. package/dist/extraction/languages/lua.js.map +1 -0
  130. package/dist/extraction/languages/luau.d.ts +3 -0
  131. package/dist/extraction/languages/luau.d.ts.map +1 -0
  132. package/dist/extraction/languages/luau.js +37 -0
  133. package/dist/extraction/languages/luau.js.map +1 -0
  134. package/dist/extraction/languages/objc.d.ts +3 -0
  135. package/dist/extraction/languages/objc.d.ts.map +1 -0
  136. package/dist/extraction/languages/objc.js +133 -0
  137. package/dist/extraction/languages/objc.js.map +1 -0
  138. package/dist/extraction/languages/pascal.d.ts +3 -0
  139. package/dist/extraction/languages/pascal.d.ts.map +1 -0
  140. package/dist/extraction/languages/pascal.js +66 -0
  141. package/dist/extraction/languages/pascal.js.map +1 -0
  142. package/dist/extraction/languages/php.d.ts +3 -0
  143. package/dist/extraction/languages/php.d.ts.map +1 -0
  144. package/dist/extraction/languages/php.js +107 -0
  145. package/dist/extraction/languages/php.js.map +1 -0
  146. package/dist/extraction/languages/python.d.ts +3 -0
  147. package/dist/extraction/languages/python.d.ts.map +1 -0
  148. package/dist/extraction/languages/python.js +56 -0
  149. package/dist/extraction/languages/python.js.map +1 -0
  150. package/dist/extraction/languages/ruby.d.ts +3 -0
  151. package/dist/extraction/languages/ruby.d.ts.map +1 -0
  152. package/dist/extraction/languages/ruby.js +114 -0
  153. package/dist/extraction/languages/ruby.js.map +1 -0
  154. package/dist/extraction/languages/rust.d.ts +3 -0
  155. package/dist/extraction/languages/rust.d.ts.map +1 -0
  156. package/dist/extraction/languages/rust.js +109 -0
  157. package/dist/extraction/languages/rust.js.map +1 -0
  158. package/dist/extraction/languages/scala.d.ts +3 -0
  159. package/dist/extraction/languages/scala.d.ts.map +1 -0
  160. package/dist/extraction/languages/scala.js +139 -0
  161. package/dist/extraction/languages/scala.js.map +1 -0
  162. package/dist/extraction/languages/swift.d.ts +3 -0
  163. package/dist/extraction/languages/swift.d.ts.map +1 -0
  164. package/dist/extraction/languages/swift.js +91 -0
  165. package/dist/extraction/languages/swift.js.map +1 -0
  166. package/dist/extraction/languages/typescript.d.ts +3 -0
  167. package/dist/extraction/languages/typescript.d.ts.map +1 -0
  168. package/dist/extraction/languages/typescript.js +129 -0
  169. package/dist/extraction/languages/typescript.js.map +1 -0
  170. package/dist/extraction/liquid-extractor.d.ts +52 -0
  171. package/dist/extraction/liquid-extractor.d.ts.map +1 -0
  172. package/dist/extraction/liquid-extractor.js +313 -0
  173. package/dist/extraction/liquid-extractor.js.map +1 -0
  174. package/dist/extraction/mybatis-extractor.d.ts +48 -0
  175. package/dist/extraction/mybatis-extractor.d.ts.map +1 -0
  176. package/dist/extraction/mybatis-extractor.js +198 -0
  177. package/dist/extraction/mybatis-extractor.js.map +1 -0
  178. package/dist/extraction/parse-worker.d.ts +8 -0
  179. package/dist/extraction/parse-worker.d.ts.map +1 -0
  180. package/dist/extraction/parse-worker.js +94 -0
  181. package/dist/extraction/parse-worker.js.map +1 -0
  182. package/dist/extraction/specs/markdown-spec-extractor.d.ts +59 -0
  183. package/dist/extraction/specs/markdown-spec-extractor.d.ts.map +1 -0
  184. package/dist/extraction/specs/markdown-spec-extractor.js +327 -0
  185. package/dist/extraction/specs/markdown-spec-extractor.js.map +1 -0
  186. package/dist/extraction/specs/types.d.ts +39 -0
  187. package/dist/extraction/specs/types.d.ts.map +1 -0
  188. package/dist/extraction/specs/types.js +8 -0
  189. package/dist/extraction/specs/types.js.map +1 -0
  190. package/dist/extraction/svelte-extractor.d.ts +56 -0
  191. package/dist/extraction/svelte-extractor.d.ts.map +1 -0
  192. package/dist/extraction/svelte-extractor.js +272 -0
  193. package/dist/extraction/svelte-extractor.js.map +1 -0
  194. package/dist/extraction/tree-sitter-helpers.d.ts +28 -0
  195. package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
  196. package/dist/extraction/tree-sitter-helpers.js +103 -0
  197. package/dist/extraction/tree-sitter-helpers.js.map +1 -0
  198. package/dist/extraction/tree-sitter-types.d.ts +193 -0
  199. package/dist/extraction/tree-sitter-types.d.ts.map +1 -0
  200. package/dist/extraction/tree-sitter-types.js +10 -0
  201. package/dist/extraction/tree-sitter-types.js.map +1 -0
  202. package/dist/extraction/tree-sitter.d.ts +317 -0
  203. package/dist/extraction/tree-sitter.d.ts.map +1 -0
  204. package/dist/extraction/tree-sitter.js +3092 -0
  205. package/dist/extraction/tree-sitter.js.map +1 -0
  206. package/dist/extraction/vue-extractor.d.ts +51 -0
  207. package/dist/extraction/vue-extractor.d.ts.map +1 -0
  208. package/dist/extraction/vue-extractor.js +251 -0
  209. package/dist/extraction/vue-extractor.js.map +1 -0
  210. package/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
  211. package/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
  212. package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
  213. package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  214. package/dist/extraction/wasm-runtime-flags.d.ts +38 -0
  215. package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -0
  216. package/dist/extraction/wasm-runtime-flags.js +106 -0
  217. package/dist/extraction/wasm-runtime-flags.js.map +1 -0
  218. package/dist/graph/index.d.ts +8 -0
  219. package/dist/graph/index.d.ts.map +1 -0
  220. package/dist/graph/index.js +13 -0
  221. package/dist/graph/index.js.map +1 -0
  222. package/dist/graph/queries.d.ts +106 -0
  223. package/dist/graph/queries.d.ts.map +1 -0
  224. package/dist/graph/queries.js +366 -0
  225. package/dist/graph/queries.js.map +1 -0
  226. package/dist/graph/traversal.d.ts +127 -0
  227. package/dist/graph/traversal.d.ts.map +1 -0
  228. package/dist/graph/traversal.js +531 -0
  229. package/dist/graph/traversal.js.map +1 -0
  230. package/dist/index.d.ts +551 -0
  231. package/dist/index.d.ts.map +1 -0
  232. package/dist/index.js +1165 -0
  233. package/dist/index.js.map +1 -0
  234. package/dist/installer/config-writer.d.ts +28 -0
  235. package/dist/installer/config-writer.d.ts.map +1 -0
  236. package/dist/installer/config-writer.js +91 -0
  237. package/dist/installer/config-writer.js.map +1 -0
  238. package/dist/installer/index.d.ts +92 -0
  239. package/dist/installer/index.d.ts.map +1 -0
  240. package/dist/installer/index.js +416 -0
  241. package/dist/installer/index.js.map +1 -0
  242. package/dist/installer/instructions-template.d.ts +35 -0
  243. package/dist/installer/instructions-template.d.ts.map +1 -0
  244. package/dist/installer/instructions-template.js +51 -0
  245. package/dist/installer/instructions-template.js.map +1 -0
  246. package/dist/installer/targets/claude.d.ts +117 -0
  247. package/dist/installer/targets/claude.d.ts.map +1 -0
  248. package/dist/installer/targets/claude.js +736 -0
  249. package/dist/installer/targets/claude.js.map +1 -0
  250. package/dist/installer/targets/registry.d.ts +19 -0
  251. package/dist/installer/targets/registry.d.ts.map +1 -0
  252. package/dist/installer/targets/registry.js +31 -0
  253. package/dist/installer/targets/registry.js.map +1 -0
  254. package/dist/installer/targets/shared.d.ts +76 -0
  255. package/dist/installer/targets/shared.d.ts.map +1 -0
  256. package/dist/installer/targets/shared.js +256 -0
  257. package/dist/installer/targets/shared.js.map +1 -0
  258. package/dist/installer/targets/types.d.ts +84 -0
  259. package/dist/installer/targets/types.d.ts.map +1 -0
  260. package/dist/installer/targets/types.js +12 -0
  261. package/dist/installer/targets/types.js.map +1 -0
  262. package/dist/isolation/worktree.d.ts +65 -0
  263. package/dist/isolation/worktree.d.ts.map +1 -0
  264. package/dist/isolation/worktree.js +231 -0
  265. package/dist/isolation/worktree.js.map +1 -0
  266. package/dist/mcp/daemon-paths.d.ts +46 -0
  267. package/dist/mcp/daemon-paths.d.ts.map +1 -0
  268. package/dist/mcp/daemon-paths.js +125 -0
  269. package/dist/mcp/daemon-paths.js.map +1 -0
  270. package/dist/mcp/daemon.d.ts +161 -0
  271. package/dist/mcp/daemon.d.ts.map +1 -0
  272. package/dist/mcp/daemon.js +403 -0
  273. package/dist/mcp/daemon.js.map +1 -0
  274. package/dist/mcp/designer-tools.d.ts +33 -0
  275. package/dist/mcp/designer-tools.d.ts.map +1 -0
  276. package/dist/mcp/designer-tools.js +313 -0
  277. package/dist/mcp/designer-tools.js.map +1 -0
  278. package/dist/mcp/engine.d.ts +105 -0
  279. package/dist/mcp/engine.d.ts.map +1 -0
  280. package/dist/mcp/engine.js +270 -0
  281. package/dist/mcp/engine.js.map +1 -0
  282. package/dist/mcp/index.d.ts +112 -0
  283. package/dist/mcp/index.d.ts.map +1 -0
  284. package/dist/mcp/index.js +477 -0
  285. package/dist/mcp/index.js.map +1 -0
  286. package/dist/mcp/proxy.d.ts +81 -0
  287. package/dist/mcp/proxy.d.ts.map +1 -0
  288. package/dist/mcp/proxy.js +510 -0
  289. package/dist/mcp/proxy.js.map +1 -0
  290. package/dist/mcp/server-instructions.d.ts +18 -0
  291. package/dist/mcp/server-instructions.d.ts.map +1 -0
  292. package/dist/mcp/server-instructions.js +77 -0
  293. package/dist/mcp/server-instructions.js.map +1 -0
  294. package/dist/mcp/session.d.ts +77 -0
  295. package/dist/mcp/session.d.ts.map +1 -0
  296. package/dist/mcp/session.js +294 -0
  297. package/dist/mcp/session.js.map +1 -0
  298. package/dist/mcp/spec-tools.d.ts +39 -0
  299. package/dist/mcp/spec-tools.d.ts.map +1 -0
  300. package/dist/mcp/spec-tools.js +326 -0
  301. package/dist/mcp/spec-tools.js.map +1 -0
  302. package/dist/mcp/tools.d.ts +404 -0
  303. package/dist/mcp/tools.d.ts.map +1 -0
  304. package/dist/mcp/tools.js +3087 -0
  305. package/dist/mcp/tools.js.map +1 -0
  306. package/dist/mcp/transport.d.ts +188 -0
  307. package/dist/mcp/transport.d.ts.map +1 -0
  308. package/dist/mcp/transport.js +343 -0
  309. package/dist/mcp/transport.js.map +1 -0
  310. package/dist/mcp/version.d.ts +19 -0
  311. package/dist/mcp/version.d.ts.map +1 -0
  312. package/dist/mcp/version.js +71 -0
  313. package/dist/mcp/version.js.map +1 -0
  314. package/dist/resolution/callback-synthesizer.d.ts +10 -0
  315. package/dist/resolution/callback-synthesizer.d.ts.map +1 -0
  316. package/dist/resolution/callback-synthesizer.js +1300 -0
  317. package/dist/resolution/callback-synthesizer.js.map +1 -0
  318. package/dist/resolution/frameworks/cargo-workspace.d.ts +18 -0
  319. package/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
  320. package/dist/resolution/frameworks/cargo-workspace.js +225 -0
  321. package/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
  322. package/dist/resolution/frameworks/csharp.d.ts +8 -0
  323. package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
  324. package/dist/resolution/frameworks/csharp.js +241 -0
  325. package/dist/resolution/frameworks/csharp.js.map +1 -0
  326. package/dist/resolution/frameworks/drupal.d.ts +51 -0
  327. package/dist/resolution/frameworks/drupal.d.ts.map +1 -0
  328. package/dist/resolution/frameworks/drupal.js +367 -0
  329. package/dist/resolution/frameworks/drupal.js.map +1 -0
  330. package/dist/resolution/frameworks/expo-modules.d.ts +3 -0
  331. package/dist/resolution/frameworks/expo-modules.d.ts.map +1 -0
  332. package/dist/resolution/frameworks/expo-modules.js +143 -0
  333. package/dist/resolution/frameworks/expo-modules.js.map +1 -0
  334. package/dist/resolution/frameworks/express.d.ts +8 -0
  335. package/dist/resolution/frameworks/express.d.ts.map +1 -0
  336. package/dist/resolution/frameworks/express.js +308 -0
  337. package/dist/resolution/frameworks/express.js.map +1 -0
  338. package/dist/resolution/frameworks/fabric.d.ts +3 -0
  339. package/dist/resolution/frameworks/fabric.d.ts.map +1 -0
  340. package/dist/resolution/frameworks/fabric.js +354 -0
  341. package/dist/resolution/frameworks/fabric.js.map +1 -0
  342. package/dist/resolution/frameworks/go.d.ts +8 -0
  343. package/dist/resolution/frameworks/go.d.ts.map +1 -0
  344. package/dist/resolution/frameworks/go.js +161 -0
  345. package/dist/resolution/frameworks/go.js.map +1 -0
  346. package/dist/resolution/frameworks/index.d.ts +48 -0
  347. package/dist/resolution/frameworks/index.d.ts.map +1 -0
  348. package/dist/resolution/frameworks/index.js +161 -0
  349. package/dist/resolution/frameworks/index.js.map +1 -0
  350. package/dist/resolution/frameworks/java.d.ts +8 -0
  351. package/dist/resolution/frameworks/java.d.ts.map +1 -0
  352. package/dist/resolution/frameworks/java.js +504 -0
  353. package/dist/resolution/frameworks/java.js.map +1 -0
  354. package/dist/resolution/frameworks/laravel.d.ts +13 -0
  355. package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
  356. package/dist/resolution/frameworks/laravel.js +257 -0
  357. package/dist/resolution/frameworks/laravel.js.map +1 -0
  358. package/dist/resolution/frameworks/nestjs.d.ts +26 -0
  359. package/dist/resolution/frameworks/nestjs.d.ts.map +1 -0
  360. package/dist/resolution/frameworks/nestjs.js +698 -0
  361. package/dist/resolution/frameworks/nestjs.js.map +1 -0
  362. package/dist/resolution/frameworks/play.d.ts +19 -0
  363. package/dist/resolution/frameworks/play.d.ts.map +1 -0
  364. package/dist/resolution/frameworks/play.js +111 -0
  365. package/dist/resolution/frameworks/play.js.map +1 -0
  366. package/dist/resolution/frameworks/python.d.ts +10 -0
  367. package/dist/resolution/frameworks/python.d.ts.map +1 -0
  368. package/dist/resolution/frameworks/python.js +396 -0
  369. package/dist/resolution/frameworks/python.js.map +1 -0
  370. package/dist/resolution/frameworks/react-native.d.ts +3 -0
  371. package/dist/resolution/frameworks/react-native.d.ts.map +1 -0
  372. package/dist/resolution/frameworks/react-native.js +360 -0
  373. package/dist/resolution/frameworks/react-native.js.map +1 -0
  374. package/dist/resolution/frameworks/react.d.ts +8 -0
  375. package/dist/resolution/frameworks/react.d.ts.map +1 -0
  376. package/dist/resolution/frameworks/react.js +365 -0
  377. package/dist/resolution/frameworks/react.js.map +1 -0
  378. package/dist/resolution/frameworks/ruby.d.ts +8 -0
  379. package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
  380. package/dist/resolution/frameworks/ruby.js +302 -0
  381. package/dist/resolution/frameworks/ruby.js.map +1 -0
  382. package/dist/resolution/frameworks/rust.d.ts +8 -0
  383. package/dist/resolution/frameworks/rust.d.ts.map +1 -0
  384. package/dist/resolution/frameworks/rust.js +304 -0
  385. package/dist/resolution/frameworks/rust.js.map +1 -0
  386. package/dist/resolution/frameworks/svelte.d.ts +9 -0
  387. package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
  388. package/dist/resolution/frameworks/svelte.js +249 -0
  389. package/dist/resolution/frameworks/svelte.js.map +1 -0
  390. package/dist/resolution/frameworks/swift-objc.d.ts +37 -0
  391. package/dist/resolution/frameworks/swift-objc.d.ts.map +1 -0
  392. package/dist/resolution/frameworks/swift-objc.js +252 -0
  393. package/dist/resolution/frameworks/swift-objc.js.map +1 -0
  394. package/dist/resolution/frameworks/swift.d.ts +10 -0
  395. package/dist/resolution/frameworks/swift.d.ts.map +1 -0
  396. package/dist/resolution/frameworks/swift.js +400 -0
  397. package/dist/resolution/frameworks/swift.js.map +1 -0
  398. package/dist/resolution/frameworks/vue.d.ts +9 -0
  399. package/dist/resolution/frameworks/vue.d.ts.map +1 -0
  400. package/dist/resolution/frameworks/vue.js +306 -0
  401. package/dist/resolution/frameworks/vue.js.map +1 -0
  402. package/dist/resolution/go-module.d.ts +26 -0
  403. package/dist/resolution/go-module.d.ts.map +1 -0
  404. package/dist/resolution/go-module.js +78 -0
  405. package/dist/resolution/go-module.js.map +1 -0
  406. package/dist/resolution/import-resolver.d.ts +68 -0
  407. package/dist/resolution/import-resolver.d.ts.map +1 -0
  408. package/dist/resolution/import-resolver.js +1275 -0
  409. package/dist/resolution/import-resolver.js.map +1 -0
  410. package/dist/resolution/index.d.ts +117 -0
  411. package/dist/resolution/index.d.ts.map +1 -0
  412. package/dist/resolution/index.js +895 -0
  413. package/dist/resolution/index.js.map +1 -0
  414. package/dist/resolution/lru-cache.d.ts +24 -0
  415. package/dist/resolution/lru-cache.d.ts.map +1 -0
  416. package/dist/resolution/lru-cache.js +62 -0
  417. package/dist/resolution/lru-cache.js.map +1 -0
  418. package/dist/resolution/name-matcher.d.ts +32 -0
  419. package/dist/resolution/name-matcher.d.ts.map +1 -0
  420. package/dist/resolution/name-matcher.js +596 -0
  421. package/dist/resolution/name-matcher.js.map +1 -0
  422. package/dist/resolution/path-aliases.d.ts +68 -0
  423. package/dist/resolution/path-aliases.d.ts.map +1 -0
  424. package/dist/resolution/path-aliases.js +238 -0
  425. package/dist/resolution/path-aliases.js.map +1 -0
  426. package/dist/resolution/spec-link-resolver.d.ts +103 -0
  427. package/dist/resolution/spec-link-resolver.d.ts.map +1 -0
  428. package/dist/resolution/spec-link-resolver.js +259 -0
  429. package/dist/resolution/spec-link-resolver.js.map +1 -0
  430. package/dist/resolution/strip-comments.d.ts +27 -0
  431. package/dist/resolution/strip-comments.d.ts.map +1 -0
  432. package/dist/resolution/strip-comments.js +441 -0
  433. package/dist/resolution/strip-comments.js.map +1 -0
  434. package/dist/resolution/swift-objc-bridge.d.ts +134 -0
  435. package/dist/resolution/swift-objc-bridge.d.ts.map +1 -0
  436. package/dist/resolution/swift-objc-bridge.js +256 -0
  437. package/dist/resolution/swift-objc-bridge.js.map +1 -0
  438. package/dist/resolution/types.d.ts +216 -0
  439. package/dist/resolution/types.d.ts.map +1 -0
  440. package/dist/resolution/types.js +8 -0
  441. package/dist/resolution/types.js.map +1 -0
  442. package/dist/resolution/workspace-packages.d.ts +48 -0
  443. package/dist/resolution/workspace-packages.d.ts.map +1 -0
  444. package/dist/resolution/workspace-packages.js +208 -0
  445. package/dist/resolution/workspace-packages.js.map +1 -0
  446. package/dist/search/query-parser.d.ts +57 -0
  447. package/dist/search/query-parser.d.ts.map +1 -0
  448. package/dist/search/query-parser.js +177 -0
  449. package/dist/search/query-parser.js.map +1 -0
  450. package/dist/search/query-utils.d.ts +71 -0
  451. package/dist/search/query-utils.d.ts.map +1 -0
  452. package/dist/search/query-utils.js +380 -0
  453. package/dist/search/query-utils.js.map +1 -0
  454. package/dist/server/cli.js +152 -0
  455. package/dist/server/index.js +12 -0
  456. package/dist/server/ingest/index.js +18 -0
  457. package/dist/server/ingest/ingestor.js +506 -0
  458. package/dist/server/ingest/parser.js +104 -0
  459. package/dist/server/ingest/pricing.js +78 -0
  460. package/dist/server/ingest/types.js +9 -0
  461. package/dist/server/ingest/watcher.js +77 -0
  462. package/dist/server/package.json +3 -0
  463. package/dist/server/project-registry.js +101 -0
  464. package/dist/server/routes/claude.js +868 -0
  465. package/dist/server/routes/graph.js +211 -0
  466. package/dist/server/routes/memory.js +272 -0
  467. package/dist/server/routes/projects.js +197 -0
  468. package/dist/server/routes/spec.js +265 -0
  469. package/dist/server/routes/status.js +112 -0
  470. package/dist/server/routes/workflow.js +212 -0
  471. package/dist/server/server.js +206 -0
  472. package/dist/server/static-handler.js +87 -0
  473. package/dist/sync/git-hooks.d.ts +45 -0
  474. package/dist/sync/git-hooks.d.ts.map +1 -0
  475. package/dist/sync/git-hooks.js +225 -0
  476. package/dist/sync/git-hooks.js.map +1 -0
  477. package/dist/sync/index.d.ts +19 -0
  478. package/dist/sync/index.d.ts.map +1 -0
  479. package/dist/sync/index.js +35 -0
  480. package/dist/sync/index.js.map +1 -0
  481. package/dist/sync/watch-policy.d.ts +48 -0
  482. package/dist/sync/watch-policy.d.ts.map +1 -0
  483. package/dist/sync/watch-policy.js +124 -0
  484. package/dist/sync/watch-policy.js.map +1 -0
  485. package/dist/sync/watcher.d.ts +283 -0
  486. package/dist/sync/watcher.d.ts.map +1 -0
  487. package/dist/sync/watcher.js +606 -0
  488. package/dist/sync/watcher.js.map +1 -0
  489. package/dist/sync/worktree.d.ts +54 -0
  490. package/dist/sync/worktree.d.ts.map +1 -0
  491. package/dist/sync/worktree.js +137 -0
  492. package/dist/sync/worktree.js.map +1 -0
  493. package/dist/types.d.ts +623 -0
  494. package/dist/types.d.ts.map +1 -0
  495. package/dist/types.js +108 -0
  496. package/dist/types.js.map +1 -0
  497. package/dist/ui/glyphs.d.ts +42 -0
  498. package/dist/ui/glyphs.d.ts.map +1 -0
  499. package/dist/ui/glyphs.js +78 -0
  500. package/dist/ui/glyphs.js.map +1 -0
  501. package/dist/ui/shimmer-progress.d.ts +11 -0
  502. package/dist/ui/shimmer-progress.d.ts.map +1 -0
  503. package/dist/ui/shimmer-progress.js +90 -0
  504. package/dist/ui/shimmer-progress.js.map +1 -0
  505. package/dist/ui/shimmer-worker.d.ts +2 -0
  506. package/dist/ui/shimmer-worker.d.ts.map +1 -0
  507. package/dist/ui/shimmer-worker.js +118 -0
  508. package/dist/ui/shimmer-worker.js.map +1 -0
  509. package/dist/ui/types.d.ts +17 -0
  510. package/dist/ui/types.d.ts.map +1 -0
  511. package/dist/ui/types.js +3 -0
  512. package/dist/ui/types.js.map +1 -0
  513. package/dist/utils.d.ts +205 -0
  514. package/dist/utils.d.ts.map +1 -0
  515. package/dist/utils.js +549 -0
  516. package/dist/utils.js.map +1 -0
  517. package/dist/web/chunk-2AJCHB7P.js +1 -0
  518. package/dist/web/chunk-2CPLUFCH.js +2 -0
  519. package/dist/web/chunk-2GBEK2GM.js +1 -0
  520. package/dist/web/chunk-2I7L37NS.js +1 -0
  521. package/dist/web/chunk-2NAWAJB5.js +1 -0
  522. package/dist/web/chunk-2OJBIPE4.js +1 -0
  523. package/dist/web/chunk-2YUJNZ2Y.js +6 -0
  524. package/dist/web/chunk-3E2WB6D5.js +1 -0
  525. package/dist/web/chunk-3EBFYSCH.js +2 -0
  526. package/dist/web/chunk-3QCQ4BXS.js +1 -0
  527. package/dist/web/chunk-42XVAQ6I.js +1 -0
  528. package/dist/web/chunk-45QHGCB4.js +17 -0
  529. package/dist/web/chunk-4IMMPEYM.js +1 -0
  530. package/dist/web/chunk-4TJQJPCZ.js +1 -0
  531. package/dist/web/chunk-4WZIHTPC.js +1 -0
  532. package/dist/web/chunk-4YVSYOSD.js +1 -0
  533. package/dist/web/chunk-5BQIOYKW.js +1 -0
  534. package/dist/web/chunk-5HGWHUJA.js +1 -0
  535. package/dist/web/chunk-5Y244R4G.js +1 -0
  536. package/dist/web/chunk-6RRDPT5Z.js +1 -0
  537. package/dist/web/chunk-6VKB2ZWM.js +1 -0
  538. package/dist/web/chunk-7DMFVTU4.js +1 -0
  539. package/dist/web/chunk-7RNS77UP.js +1 -0
  540. package/dist/web/chunk-7SMPKVEP.js +1 -0
  541. package/dist/web/chunk-A5R3MJMO.js +1 -0
  542. package/dist/web/chunk-ASZ77FMZ.js +1 -0
  543. package/dist/web/chunk-AZJVTPLU.js +1 -0
  544. package/dist/web/chunk-B3YPFY6A.js +1 -0
  545. package/dist/web/chunk-BLBRMCN2.js +1 -0
  546. package/dist/web/chunk-BMIAXD2V.js +2 -0
  547. package/dist/web/chunk-BUXWEHIY.js +1 -0
  548. package/dist/web/chunk-BYZFQSM6.js +1 -0
  549. package/dist/web/chunk-D5OCNEJA.js +2 -0
  550. package/dist/web/chunk-DLQPZWSI.css +1 -0
  551. package/dist/web/chunk-DTRN7FZR.js +1 -0
  552. package/dist/web/chunk-DYRFLPJA.js +1 -0
  553. package/dist/web/chunk-E3J3CXR5.js +1 -0
  554. package/dist/web/chunk-E44X4RH2.js +1 -0
  555. package/dist/web/chunk-E73OX2P7.js +1 -0
  556. package/dist/web/chunk-EAXRKDLV.js +1 -0
  557. package/dist/web/chunk-EBKKDHYI.js +1 -0
  558. package/dist/web/chunk-EE7V7Q5P.js +1 -0
  559. package/dist/web/chunk-EKY2FUHU.js +1 -0
  560. package/dist/web/chunk-EMGMOEVR.js +1 -0
  561. package/dist/web/chunk-EP6XOPXH.js +1 -0
  562. package/dist/web/chunk-ESGDLJOJ.js +1 -0
  563. package/dist/web/chunk-ETJG7NCY.js +1 -0
  564. package/dist/web/chunk-EUUEFEDI.js +1 -0
  565. package/dist/web/chunk-FGNZDHTL.js +11 -0
  566. package/dist/web/chunk-FHZHD2ZG.js +1 -0
  567. package/dist/web/chunk-FIJW2UNJ.js +1 -0
  568. package/dist/web/chunk-FMV5PXRC.js +5 -0
  569. package/dist/web/chunk-G7VZT5KB.js +3 -0
  570. package/dist/web/chunk-GR72OOCN.js +1 -0
  571. package/dist/web/chunk-GRZYXPSO.js +7 -0
  572. package/dist/web/chunk-GWPVKJIY.js +1 -0
  573. package/dist/web/chunk-GYGPS3AN.js +1 -0
  574. package/dist/web/chunk-H7AF7YS4.js +1 -0
  575. package/dist/web/chunk-HDZDQILN.js +1 -0
  576. package/dist/web/chunk-HMK6UO6N.js +1 -0
  577. package/dist/web/chunk-HZA6NEAB.js +1 -0
  578. package/dist/web/chunk-IHEE5NYJ.js +1 -0
  579. package/dist/web/chunk-ISNEBICW.js +1 -0
  580. package/dist/web/chunk-J2GZVLHH.js +1 -0
  581. package/dist/web/chunk-JTFXTIPE.js +903 -0
  582. package/dist/web/chunk-L37MTFSG.js +3 -0
  583. package/dist/web/chunk-LB6JPLX2.js +1 -0
  584. package/dist/web/chunk-LNSVDHCI.js +1 -0
  585. package/dist/web/chunk-LVGIY3SO.js +1 -0
  586. package/dist/web/chunk-LXLHIHEN.js +1 -0
  587. package/dist/web/chunk-MC4DFIHG.js +1 -0
  588. package/dist/web/chunk-MVOMVPYB.js +1 -0
  589. package/dist/web/chunk-N6SS4G6S.js +1 -0
  590. package/dist/web/chunk-NTBJG6SJ.js +1 -0
  591. package/dist/web/chunk-NUDB3Q2Y.js +3 -0
  592. package/dist/web/chunk-NZEZCT65.js +1 -0
  593. package/dist/web/chunk-OXEF5E3E.js +1 -0
  594. package/dist/web/chunk-PDN6QYGJ.js +4 -0
  595. package/dist/web/chunk-PGGJPDJG.js +1 -0
  596. package/dist/web/chunk-PUYSJNJR.js +1 -0
  597. package/dist/web/chunk-Q2RVFS45.js +1 -0
  598. package/dist/web/chunk-Q7L6LLAK.js +1 -0
  599. package/dist/web/chunk-QCMKJIWY.js +1 -0
  600. package/dist/web/chunk-QH6CF3M3.js +1 -0
  601. package/dist/web/chunk-QQ5LD7PI.js +1 -0
  602. package/dist/web/chunk-QR6L3KAC.js +1 -0
  603. package/dist/web/chunk-R2DLK4HO.js +1 -0
  604. package/dist/web/chunk-R5W2MDZN.js +1 -0
  605. package/dist/web/chunk-RD6TVPOT.js +1 -0
  606. package/dist/web/chunk-RKY4EJYJ.js +1 -0
  607. package/dist/web/chunk-RONYWVY7.js +1 -0
  608. package/dist/web/chunk-RXKXYF2C.js +1 -0
  609. package/dist/web/chunk-SBWU7JFC.js +1 -0
  610. package/dist/web/chunk-SEXBRGYK.js +1 -0
  611. package/dist/web/chunk-SHPTC4RL.js +1 -0
  612. package/dist/web/chunk-SUZYBYDW.js +1 -0
  613. package/dist/web/chunk-SWKJRNYY.js +1 -0
  614. package/dist/web/chunk-T66XVKGB.js +1 -0
  615. package/dist/web/chunk-T7AZ65JP.js +1 -0
  616. package/dist/web/chunk-TCZDVOHD.js +1 -0
  617. package/dist/web/chunk-TPTITA3V.js +1 -0
  618. package/dist/web/chunk-TR335633.js +1 -0
  619. package/dist/web/chunk-UBOZGQNK.js +1 -0
  620. package/dist/web/chunk-UR5KDXPX.js +1 -0
  621. package/dist/web/chunk-UR6O2GEH.js +1 -0
  622. package/dist/web/chunk-UTNMGWTP.js +1 -0
  623. package/dist/web/chunk-UYC52MBC.js +1 -0
  624. package/dist/web/chunk-VECWMHJP.js +1 -0
  625. package/dist/web/chunk-VUACT35R.js +3 -0
  626. package/dist/web/chunk-VZI7H4SZ.js +1 -0
  627. package/dist/web/chunk-WAI2JMZP.js +1 -0
  628. package/dist/web/chunk-WB6YHOD4.js +1 -0
  629. package/dist/web/chunk-WBT64AWV.js +1 -0
  630. package/dist/web/chunk-WCKHQIYN.js +1 -0
  631. package/dist/web/chunk-WDU3WICG.js +1 -0
  632. package/dist/web/chunk-WFXJIXZE.js +4 -0
  633. package/dist/web/chunk-WLIMNDS3.js +1 -0
  634. package/dist/web/chunk-WTGYRH3Z.js +298 -0
  635. package/dist/web/chunk-WXTCVDTP.js +1 -0
  636. package/dist/web/chunk-X2HTISHL.js +1 -0
  637. package/dist/web/chunk-XCDHWLVH.js +1 -0
  638. package/dist/web/chunk-Y3H6FFUZ.js +1 -0
  639. package/dist/web/chunk-Y4F5ULGJ.js +1 -0
  640. package/dist/web/chunk-YAMRN47K.js +2 -0
  641. package/dist/web/chunk-YEGKAAEE.js +1 -0
  642. package/dist/web/chunk-YM2KU57F.js +1 -0
  643. package/dist/web/chunk-YRERBP6T.js +1 -0
  644. package/dist/web/chunk-ZLV4VCDG.js +3 -0
  645. package/dist/web/chunk-ZTVI5KFF.js +1 -0
  646. package/dist/web/favicon-16.png +0 -0
  647. package/dist/web/favicon-180.png +0 -0
  648. package/dist/web/favicon-32.png +0 -0
  649. package/dist/web/favicon-512.png +0 -0
  650. package/dist/web/favicon-small.svg +15 -0
  651. package/dist/web/favicon.ico +0 -0
  652. package/dist/web/favicon.svg +20 -0
  653. package/dist/web/index.html +145 -0
  654. package/dist/web/main-ESADRXN2.css +1 -0
  655. package/dist/web/main-R53HA54V.js +1 -0
  656. package/dist/web/media/codicon-LN6W7LCM.ttf +0 -0
  657. package/dist/web/styles-KSOPUVDA.css +1 -0
  658. package/dist/web/sw.js +69 -0
  659. package/dist/workflows/condition-evaluator.d.ts +75 -0
  660. package/dist/workflows/condition-evaluator.d.ts.map +1 -0
  661. package/dist/workflows/condition-evaluator.js +282 -0
  662. package/dist/workflows/condition-evaluator.js.map +1 -0
  663. package/dist/workflows/defaults/claude-design-implement.yaml +336 -0
  664. package/dist/workflows/defaults/index.d.ts +26 -0
  665. package/dist/workflows/defaults/index.d.ts.map +1 -0
  666. package/dist/workflows/defaults/index.js +94 -0
  667. package/dist/workflows/defaults/index.js.map +1 -0
  668. package/dist/workflows/defaults/spec-author.yaml +214 -0
  669. package/dist/workflows/defaults/spec-fix.yaml +110 -0
  670. package/dist/workflows/defaults/spec-implement.yaml +150 -0
  671. package/dist/workflows/defaults/spec-relink.yaml +81 -0
  672. package/dist/workflows/defaults/spec-verify.yaml +51 -0
  673. package/dist/workflows/discovery.d.ts +46 -0
  674. package/dist/workflows/discovery.d.ts.map +1 -0
  675. package/dist/workflows/discovery.js +193 -0
  676. package/dist/workflows/discovery.js.map +1 -0
  677. package/dist/workflows/executor.d.ts +83 -0
  678. package/dist/workflows/executor.d.ts.map +1 -0
  679. package/dist/workflows/executor.js +624 -0
  680. package/dist/workflows/executor.js.map +1 -0
  681. package/dist/workflows/runners/approval.d.ts +18 -0
  682. package/dist/workflows/runners/approval.d.ts.map +1 -0
  683. package/dist/workflows/runners/approval.js +34 -0
  684. package/dist/workflows/runners/approval.js.map +1 -0
  685. package/dist/workflows/runners/bash.d.ts +13 -0
  686. package/dist/workflows/runners/bash.d.ts.map +1 -0
  687. package/dist/workflows/runners/bash.js +143 -0
  688. package/dist/workflows/runners/bash.js.map +1 -0
  689. package/dist/workflows/runners/cancel.d.ts +10 -0
  690. package/dist/workflows/runners/cancel.d.ts.map +1 -0
  691. package/dist/workflows/runners/cancel.js +19 -0
  692. package/dist/workflows/runners/cancel.js.map +1 -0
  693. package/dist/workflows/runners/prompt.d.ts +28 -0
  694. package/dist/workflows/runners/prompt.d.ts.map +1 -0
  695. package/dist/workflows/runners/prompt.js +212 -0
  696. package/dist/workflows/runners/prompt.js.map +1 -0
  697. package/dist/workflows/runners/script.d.ts +17 -0
  698. package/dist/workflows/runners/script.d.ts.map +1 -0
  699. package/dist/workflows/runners/script.js +155 -0
  700. package/dist/workflows/runners/script.js.map +1 -0
  701. package/dist/workflows/runners/types.d.ts +51 -0
  702. package/dist/workflows/runners/types.d.ts.map +1 -0
  703. package/dist/workflows/runners/types.js +13 -0
  704. package/dist/workflows/runners/types.js.map +1 -0
  705. package/dist/workflows/schemas/workflow.d.ts +166 -0
  706. package/dist/workflows/schemas/workflow.d.ts.map +1 -0
  707. package/dist/workflows/schemas/workflow.js +437 -0
  708. package/dist/workflows/schemas/workflow.js.map +1 -0
  709. package/hooks/hooks.json +11 -0
  710. package/package.json +7 -3
  711. package/scripts/offline-install.sh +19 -6
  712. package/selectors.json +41 -0
  713. /package/commands/{cg-explore.md → ss-explore.md} +0 -0
  714. /package/commands/{cg-impact.md → ss-impact.md} +0 -0
  715. /package/commands/{cg-relink.md → ss-relink.md} +0 -0
  716. /package/commands/{cg-spec.md → ss-spec.md} +0 -0
  717. /package/commands/{cg-sync.md → ss-sync.md} +0 -0
  718. /package/commands/{cg-trace.md → ss-trace.md} +0 -0
@@ -0,0 +1,11 @@
1
+ import{a as Q}from"./chunk-EUUEFEDI.js";import{a as q}from"./chunk-AZJVTPLU.js";import{f as B,i as x,j as U,k as C,m as h,n as u}from"./chunk-JTFXTIPE.js";import{a as G,b as J}from"./chunk-Q7L6LLAK.js";var F=class{constructor(t,e){this._modeId=t,this._defaults=e,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;let t=++this._updateExtraLibsToken,e=await this._worker.getProxy();this._updateExtraLibsToken===t&&e.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||(this._client=(async()=>(this._worker=q({moduleId:"vs/language/typescript/tsWorker",createWorker:()=>new Worker(new URL("ts.worker.js",import.meta.url),{type:"module"}),label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(h.getModels().filter(t=>t.getLanguageId()===this._modeId).map(t=>t.uri)):await this._worker.getProxy()))()),this._client}async getLanguageServiceWorker(...t){let e=await this._getClient();return this._worker&&await this._worker.withSyncedResources(t),e}};var r={};r["lib.d.ts"]=!0;r["lib.decorators.d.ts"]=!0;r["lib.decorators.legacy.d.ts"]=!0;r["lib.dom.asynciterable.d.ts"]=!0;r["lib.dom.d.ts"]=!0;r["lib.dom.iterable.d.ts"]=!0;r["lib.es2015.collection.d.ts"]=!0;r["lib.es2015.core.d.ts"]=!0;r["lib.es2015.d.ts"]=!0;r["lib.es2015.generator.d.ts"]=!0;r["lib.es2015.iterable.d.ts"]=!0;r["lib.es2015.promise.d.ts"]=!0;r["lib.es2015.proxy.d.ts"]=!0;r["lib.es2015.reflect.d.ts"]=!0;r["lib.es2015.symbol.d.ts"]=!0;r["lib.es2015.symbol.wellknown.d.ts"]=!0;r["lib.es2016.array.include.d.ts"]=!0;r["lib.es2016.d.ts"]=!0;r["lib.es2016.full.d.ts"]=!0;r["lib.es2016.intl.d.ts"]=!0;r["lib.es2017.arraybuffer.d.ts"]=!0;r["lib.es2017.d.ts"]=!0;r["lib.es2017.date.d.ts"]=!0;r["lib.es2017.full.d.ts"]=!0;r["lib.es2017.intl.d.ts"]=!0;r["lib.es2017.object.d.ts"]=!0;r["lib.es2017.sharedmemory.d.ts"]=!0;r["lib.es2017.string.d.ts"]=!0;r["lib.es2017.typedarrays.d.ts"]=!0;r["lib.es2018.asyncgenerator.d.ts"]=!0;r["lib.es2018.asynciterable.d.ts"]=!0;r["lib.es2018.d.ts"]=!0;r["lib.es2018.full.d.ts"]=!0;r["lib.es2018.intl.d.ts"]=!0;r["lib.es2018.promise.d.ts"]=!0;r["lib.es2018.regexp.d.ts"]=!0;r["lib.es2019.array.d.ts"]=!0;r["lib.es2019.d.ts"]=!0;r["lib.es2019.full.d.ts"]=!0;r["lib.es2019.intl.d.ts"]=!0;r["lib.es2019.object.d.ts"]=!0;r["lib.es2019.string.d.ts"]=!0;r["lib.es2019.symbol.d.ts"]=!0;r["lib.es2020.bigint.d.ts"]=!0;r["lib.es2020.d.ts"]=!0;r["lib.es2020.date.d.ts"]=!0;r["lib.es2020.full.d.ts"]=!0;r["lib.es2020.intl.d.ts"]=!0;r["lib.es2020.number.d.ts"]=!0;r["lib.es2020.promise.d.ts"]=!0;r["lib.es2020.sharedmemory.d.ts"]=!0;r["lib.es2020.string.d.ts"]=!0;r["lib.es2020.symbol.wellknown.d.ts"]=!0;r["lib.es2021.d.ts"]=!0;r["lib.es2021.full.d.ts"]=!0;r["lib.es2021.intl.d.ts"]=!0;r["lib.es2021.promise.d.ts"]=!0;r["lib.es2021.string.d.ts"]=!0;r["lib.es2021.weakref.d.ts"]=!0;r["lib.es2022.array.d.ts"]=!0;r["lib.es2022.d.ts"]=!0;r["lib.es2022.error.d.ts"]=!0;r["lib.es2022.full.d.ts"]=!0;r["lib.es2022.intl.d.ts"]=!0;r["lib.es2022.object.d.ts"]=!0;r["lib.es2022.regexp.d.ts"]=!0;r["lib.es2022.string.d.ts"]=!0;r["lib.es2023.array.d.ts"]=!0;r["lib.es2023.collection.d.ts"]=!0;r["lib.es2023.d.ts"]=!0;r["lib.es2023.full.d.ts"]=!0;r["lib.es2023.intl.d.ts"]=!0;r["lib.es2024.arraybuffer.d.ts"]=!0;r["lib.es2024.collection.d.ts"]=!0;r["lib.es2024.d.ts"]=!0;r["lib.es2024.full.d.ts"]=!0;r["lib.es2024.object.d.ts"]=!0;r["lib.es2024.promise.d.ts"]=!0;r["lib.es2024.regexp.d.ts"]=!0;r["lib.es2024.sharedmemory.d.ts"]=!0;r["lib.es2024.string.d.ts"]=!0;r["lib.es5.d.ts"]=!0;r["lib.es6.d.ts"]=!0;r["lib.esnext.array.d.ts"]=!0;r["lib.esnext.collection.d.ts"]=!0;r["lib.esnext.d.ts"]=!0;r["lib.esnext.decorators.d.ts"]=!0;r["lib.esnext.disposable.d.ts"]=!0;r["lib.esnext.error.d.ts"]=!0;r["lib.esnext.float16.d.ts"]=!0;r["lib.esnext.full.d.ts"]=!0;r["lib.esnext.intl.d.ts"]=!0;r["lib.esnext.iterator.d.ts"]=!0;r["lib.esnext.promise.d.ts"]=!0;r["lib.esnext.sharedmemory.d.ts"]=!0;r["lib.scripthost.d.ts"]=!0;r["lib.webworker.asynciterable.d.ts"]=!0;r["lib.webworker.d.ts"]=!0;r["lib.webworker.importscripts.d.ts"]=!0;r["lib.webworker.iterable.d.ts"]=!0;function T(i,t,e=0){if(typeof i=="string")return i;if(i===void 0)return"";let a="";if(e){a+=t;for(let o=0;o<e;o++)a+=" "}if(a+=i.messageText,e++,i.next)for(let o of i.next)a+=T(o,t,e);return a}function _(i){return i?i.map(t=>t.text).join(""):""}var y=class{constructor(t){this._worker=t}_textSpanToRange(t,e){let a=t.getPositionAt(e.start),o=t.getPositionAt(e.start+e.length),{lineNumber:l,column:m}=a,{lineNumber:n,column:s}=o;return{startLineNumber:l,startColumn:m,endLineNumber:n,endColumn:s}}},L=class{constructor(t){this._worker=t,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(t){return t&&t.path.indexOf("/lib.")===0?!!r[t.path.slice(1)]:!1}getOrCreateModel(t){let e=C.parse(t),a=h.getModel(e);if(a)return a;if(this.isLibFile(e)&&this._hasFetchedLibFiles)return h.createModel(this._libFiles[e.path.slice(1)],"typescript",e);let o=Q.getExtraLibs()[t];return o?h.createModel(o.content,"typescript",e):null}_containsLibFile(t){for(let e of t)if(this.isLibFile(e))return!0;return!1}async fetchLibFilesIfNecessary(t){this._containsLibFile(t)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||(this._fetchLibFilesPromise=this._worker().then(t=>t.getLibFiles()).then(t=>{this._hasFetchedLibFiles=!0,this._libFiles=t})),this._fetchLibFilesPromise}},A=class extends y{constructor(t,e,a,o){super(o),this._libFiles=t,this._defaults=e,this._selector=a,this._disposables=[],this._listener=Object.create(null);let l=s=>{if(s.getLanguageId()!==a)return;let c=()=>{let{onlyVisible:b}=this._defaults.getDiagnosticsOptions();b?s.isAttachedToEditor()&&this._doValidate(s):this._doValidate(s)},p,d=s.onDidChangeContent(()=>{clearTimeout(p),p=window.setTimeout(c,500)}),g=s.onDidChangeAttached(()=>{let{onlyVisible:b}=this._defaults.getDiagnosticsOptions();b&&(s.isAttachedToEditor()?c():h.setModelMarkers(s,this._selector,[]))});this._listener[s.uri.toString()]={dispose(){d.dispose(),g.dispose(),clearTimeout(p)}},c()},m=s=>{h.setModelMarkers(s,this._selector,[]);let c=s.uri.toString();this._listener[c]&&(this._listener[c].dispose(),delete this._listener[c])};this._disposables.push(h.onDidCreateModel(s=>l(s))),this._disposables.push(h.onWillDisposeModel(m)),this._disposables.push(h.onDidChangeModelLanguage(s=>{m(s.model),l(s.model)})),this._disposables.push({dispose(){for(let s of h.getModels())m(s)}});let n=()=>{for(let s of h.getModels())m(s),l(s)};this._disposables.push(this._defaults.onDidChange(n)),this._disposables.push(this._defaults.onDidExtraLibsChange(n)),h.getModels().forEach(s=>l(s))}dispose(){this._disposables.forEach(t=>t&&t.dispose()),this._disposables=[]}async _doValidate(t){let e=await this._worker(t.uri);if(t.isDisposed())return;let a=[],{noSyntaxValidation:o,noSemanticValidation:l,noSuggestionDiagnostics:m}=this._defaults.getDiagnosticsOptions();o||a.push(e.getSyntacticDiagnostics(t.uri.toString())),l||a.push(e.getSemanticDiagnostics(t.uri.toString())),m||a.push(e.getSuggestionDiagnostics(t.uri.toString()));let n=await Promise.all(a);if(!n||t.isDisposed())return;let s=n.reduce((p,d)=>d.concat(p),[]).filter(p=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(p.code)===-1),c=s.map(p=>p.relatedInformation||[]).reduce((p,d)=>d.concat(p),[]).map(p=>p.file?C.parse(p.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(c),!t.isDisposed()&&h.setModelMarkers(t,this._selector,s.map(p=>this._convertDiagnostics(t,p)))}_convertDiagnostics(t,e){let a=e.start||0,o=e.length||1,{lineNumber:l,column:m}=t.getPositionAt(a),{lineNumber:n,column:s}=t.getPositionAt(a+o),c=[];return e.reportsUnnecessary&&c.push(U.Unnecessary),e.reportsDeprecated&&c.push(U.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(e.category),startLineNumber:l,startColumn:m,endLineNumber:n,endColumn:s,message:T(e.messageText,`
2
+ `),code:e.code.toString(),tags:c,relatedInformation:this._convertRelatedInformation(t,e.relatedInformation)}}_convertRelatedInformation(t,e){if(!e)return[];let a=[];return e.forEach(o=>{let l=t;if(o.file&&(l=this._libFiles.getOrCreateModel(o.file.fileName)),!l)return;let m=o.start||0,n=o.length||1,{lineNumber:s,column:c}=l.getPositionAt(m),{lineNumber:p,column:d}=l.getPositionAt(m+n);a.push({resource:l.uri,startLineNumber:s,startColumn:c,endLineNumber:p,endColumn:d,message:T(o.messageText,`
3
+ `)})}),a}_tsDiagnosticCategoryToMarkerSeverity(t){switch(t){case 1:return x.Error;case 3:return x.Info;case 0:return x.Warning;case 2:return x.Hint}return x.Info}},P=class i extends y{get triggerCharacters(){return["."]}async provideCompletionItems(t,e,a,o){let l=t.getWordUntilPosition(e),m=new B(e.lineNumber,l.startColumn,e.lineNumber,l.endColumn),n=t.uri,s=t.getOffsetAt(e),c=await this._worker(n);if(t.isDisposed())return;let p=await c.getCompletionsAtPosition(n.toString(),s);return!p||t.isDisposed()?void 0:{suggestions:p.entries.map(g=>{let b=m;if(g.replacementSpan){let v=t.getPositionAt(g.replacementSpan.start),D=t.getPositionAt(g.replacementSpan.start+g.replacementSpan.length);b=new B(v.lineNumber,v.column,D.lineNumber,D.column)}let S=[];return g.kindModifiers!==void 0&&g.kindModifiers.indexOf("deprecated")!==-1&&S.push(u.CompletionItemTag.Deprecated),{uri:n,position:e,offset:s,range:b,label:g.name,insertText:g.name,sortText:g.sortText,kind:i.convertKind(g.kind),tags:S}})}}async resolveCompletionItem(t,e){let a=t,o=a.uri,l=a.position,m=a.offset,s=await(await this._worker(o)).getCompletionEntryDetails(o.toString(),m,a.label);return s?{uri:o,position:l,label:s.name,kind:i.convertKind(s.kind),detail:_(s.displayParts),documentation:{value:i.createDocumentationString(s)}}:a}static convertKind(t){switch(t){case f.primitiveType:case f.keyword:return u.CompletionItemKind.Keyword;case f.variable:case f.localVariable:return u.CompletionItemKind.Variable;case f.memberVariable:case f.memberGetAccessor:case f.memberSetAccessor:return u.CompletionItemKind.Field;case f.function:case f.memberFunction:case f.constructSignature:case f.callSignature:case f.indexSignature:return u.CompletionItemKind.Function;case f.enum:return u.CompletionItemKind.Enum;case f.module:return u.CompletionItemKind.Module;case f.class:return u.CompletionItemKind.Class;case f.interface:return u.CompletionItemKind.Interface;case f.warning:return u.CompletionItemKind.File}return u.CompletionItemKind.Property}static createDocumentationString(t){let e=_(t.documentation);if(t.tags)for(let a of t.tags)e+=`
4
+
5
+ ${X(a)}`;return e}};function X(i){let t=`*@${i.name}*`;if(i.name==="param"&&i.text){let[e,...a]=i.text;t+=`\`${e.text}\``,a.length>0&&(t+=` \u2014 ${a.map(o=>o.text).join(" ")}`)}else Array.isArray(i.text)?t+=` \u2014 ${i.text.map(e=>e.text).join(" ")}`:i.text&&(t+=` \u2014 ${i.text}`);return t}var I=class i extends y{constructor(){super(...arguments),this.signatureHelpTriggerCharacters=["(",","]}static _toSignatureHelpTriggerReason(t){switch(t.triggerKind){case u.SignatureHelpTriggerKind.TriggerCharacter:return t.triggerCharacter?t.isRetrigger?{kind:"retrigger",triggerCharacter:t.triggerCharacter}:{kind:"characterTyped",triggerCharacter:t.triggerCharacter}:{kind:"invoked"};case u.SignatureHelpTriggerKind.ContentChange:return t.isRetrigger?{kind:"retrigger"}:{kind:"invoked"};case u.SignatureHelpTriggerKind.Invoke:default:return{kind:"invoked"}}}async provideSignatureHelp(t,e,a,o){let l=t.uri,m=t.getOffsetAt(e),n=await this._worker(l);if(t.isDisposed())return;let s=await n.getSignatureHelpItems(l.toString(),m,{triggerReason:i._toSignatureHelpTriggerReason(o)});if(!s||t.isDisposed())return;let c={activeSignature:s.selectedItemIndex,activeParameter:s.argumentIndex,signatures:[]};return s.items.forEach(p=>{let d={label:"",parameters:[]};d.documentation={value:_(p.documentation)},d.label+=_(p.prefixDisplayParts),p.parameters.forEach((g,b,S)=>{let v=_(g.displayParts),D={label:v,documentation:{value:_(g.documentation)}};d.label+=v,d.parameters.push(D),b<S.length-1&&(d.label+=_(p.separatorDisplayParts))}),d.label+=_(p.suffixDisplayParts),c.signatures.push(d)}),{value:c,dispose(){}}}},O=class extends y{async provideHover(t,e,a){let o=t.uri,l=t.getOffsetAt(e),m=await this._worker(o);if(t.isDisposed())return;let n=await m.getQuickInfoAtPosition(o.toString(),l);if(!n||t.isDisposed())return;let s=_(n.documentation),c=n.tags?n.tags.map(d=>X(d)).join(`
6
+
7
+ `):"",p=_(n.displayParts);return{range:this._textSpanToRange(t,n.textSpan),contents:[{value:"```typescript\n"+p+"\n```\n"},{value:s+(c?`
8
+
9
+ `+c:"")}]}}},N=class extends y{async provideDocumentHighlights(t,e,a){let o=t.uri,l=t.getOffsetAt(e),m=await this._worker(o);if(t.isDisposed())return;let n=await m.getDocumentHighlights(o.toString(),l,[o.toString()]);if(!(!n||t.isDisposed()))return n.flatMap(s=>s.highlightSpans.map(c=>({range:this._textSpanToRange(t,c.textSpan),kind:c.kind==="writtenReference"?u.DocumentHighlightKind.Write:u.DocumentHighlightKind.Text})))}},K=class extends y{constructor(t,e){super(e),this._libFiles=t}async provideDefinition(t,e,a){let o=t.uri,l=t.getOffsetAt(e),m=await this._worker(o);if(t.isDisposed())return;let n=await m.getDefinitionAtPosition(o.toString(),l);if(!n||t.isDisposed()||(await this._libFiles.fetchLibFilesIfNecessary(n.map(c=>C.parse(c.fileName))),t.isDisposed()))return;let s=[];for(let c of n){let p=this._libFiles.getOrCreateModel(c.fileName);p&&s.push({uri:p.uri,range:this._textSpanToRange(p,c.textSpan)})}return s}},M=class extends y{constructor(t,e){super(e),this._libFiles=t}async provideReferences(t,e,a,o){let l=t.uri,m=t.getOffsetAt(e),n=await this._worker(l);if(t.isDisposed())return;let s=await n.getReferencesAtPosition(l.toString(),m);if(!s||t.isDisposed()||(await this._libFiles.fetchLibFilesIfNecessary(s.map(p=>C.parse(p.fileName))),t.isDisposed()))return;let c=[];for(let p of s){let d=this._libFiles.getOrCreateModel(p.fileName);d&&c.push({uri:d.uri,range:this._textSpanToRange(d,p.textSpan)})}return c}},R=class extends y{async provideDocumentSymbols(t,e){let a=t.uri,o=await this._worker(a);if(t.isDisposed())return;let l=await o.getNavigationTree(a.toString());if(!l||t.isDisposed())return;let m=(s,c)=>({name:s.text,detail:"",kind:w[s.kind]||u.SymbolKind.Variable,range:this._textSpanToRange(t,s.spans[0]),selectionRange:this._textSpanToRange(t,s.spans[0]),tags:[],children:s.childItems?.map(d=>m(d,s.text)),containerName:c});return l.childItems?l.childItems.map(s=>m(s)):[]}},f=(()=>{class i{}return i.unknown="",i.keyword="keyword",i.script="script",i.module="module",i.class="class",i.interface="interface",i.type="type",i.enum="enum",i.variable="var",i.localVariable="local var",i.function="function",i.localFunction="local function",i.memberFunction="method",i.memberGetAccessor="getter",i.memberSetAccessor="setter",i.memberVariable="property",i.constructorImplementation="constructor",i.callSignature="call",i.indexSignature="index",i.constructSignature="construct",i.parameter="parameter",i.typeParameter="type parameter",i.primitiveType="primitive type",i.label="label",i.alias="alias",i.const="const",i.let="let",i.warning="warning",i})(),w=Object.create(null);w[f.module]=u.SymbolKind.Module;w[f.class]=u.SymbolKind.Class;w[f.enum]=u.SymbolKind.Enum;w[f.interface]=u.SymbolKind.Interface;w[f.memberFunction]=u.SymbolKind.Method;w[f.memberVariable]=u.SymbolKind.Property;w[f.memberGetAccessor]=u.SymbolKind.Property;w[f.memberSetAccessor]=u.SymbolKind.Property;w[f.variable]=u.SymbolKind.Variable;w[f.const]=u.SymbolKind.Variable;w[f.localVariable]=u.SymbolKind.Variable;w[f.variable]=u.SymbolKind.Variable;w[f.function]=u.SymbolKind.Function;w[f.localFunction]=u.SymbolKind.Function;var k=class extends y{static _convertOptions(t){return{ConvertTabsToSpaces:t.insertSpaces,TabSize:t.tabSize,IndentSize:t.tabSize,IndentStyle:2,NewLineCharacter:`
10
+ `,InsertSpaceAfterCommaDelimiter:!0,InsertSpaceAfterSemicolonInForStatements:!0,InsertSpaceBeforeAndAfterBinaryOperators:!0,InsertSpaceAfterKeywordsInControlFlowStatements:!0,InsertSpaceAfterFunctionKeywordForAnonymousFunctions:!0,InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,PlaceOpenBraceOnNewLineForControlBlocks:!1,PlaceOpenBraceOnNewLineForFunctions:!1}}_convertTextChanges(t,e){return{text:e.newText,range:this._textSpanToRange(t,e.span)}}},E=class extends k{constructor(){super(...arguments),this.canFormatMultipleRanges=!1}async provideDocumentRangeFormattingEdits(t,e,a,o){let l=t.uri,m=t.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),n=t.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),s=await this._worker(l);if(t.isDisposed())return;let c=await s.getFormattingEditsForRange(l.toString(),m,n,k._convertOptions(a));if(!(!c||t.isDisposed()))return c.map(p=>this._convertTextChanges(t,p))}},H=class extends k{get autoFormatTriggerCharacters(){return[";","}",`
11
+ `]}async provideOnTypeFormattingEdits(t,e,a,o,l){let m=t.uri,n=t.getOffsetAt(e),s=await this._worker(m);if(t.isDisposed())return;let c=await s.getFormattingEditsAfterKeystroke(m.toString(),n,a,k._convertOptions(o));if(!(!c||t.isDisposed()))return c.map(p=>this._convertTextChanges(t,p))}},V=class extends k{async provideCodeActions(t,e,a,o){let l=t.uri,m=t.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),n=t.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),s=k._convertOptions(t.getOptions()),c=a.markers.filter(b=>b.code).map(b=>b.code).map(Number),p=await this._worker(l);if(t.isDisposed())return;let d=await p.getCodeFixesAtPosition(l.toString(),m,n,c,s);return!d||t.isDisposed()?{actions:[],dispose:()=>{}}:{actions:d.filter(b=>b.changes.filter(S=>S.isNewFile).length===0).map(b=>this._tsCodeFixActionToMonacoCodeAction(t,a,b)),dispose:()=>{}}}_tsCodeFixActionToMonacoCodeAction(t,e,a){let o=[];for(let m of a.changes)for(let n of m.textChanges)o.push({resource:t.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(t,n.span),text:n.newText}});return{title:a.description,edit:{edits:o},diagnostics:e.markers,kind:"quickfix"}}},W=class extends y{constructor(t,e){super(e),this._libFiles=t}async provideRenameEdits(t,e,a,o){let l=t.uri,m=l.toString(),n=t.getOffsetAt(e),s=await this._worker(l);if(t.isDisposed())return;let c=await s.getRenameInfo(m,n,{allowRenameOfImportPath:!1});if(c.canRename===!1)return{edits:[],rejectReason:c.localizedErrorMessage};if(c.fileToRename!==void 0)throw new Error("Renaming files is not supported.");let p=await s.findRenameLocations(m,n,!1,!1,!1);if(!p||t.isDisposed())return;let d=[];for(let g of p){let b=this._libFiles.getOrCreateModel(g.fileName);if(b)d.push({resource:b.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(b,g.textSpan),text:a}});else throw new Error(`Unknown file ${g.fileName}.`)}return{edits:d}}},j=class extends y{async provideInlayHints(t,e,a){let o=t.uri,l=o.toString(),m=t.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),n=t.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),s=await this._worker(o);return t.isDisposed()?null:{hints:(await s.provideInlayHints(l,m,n)).map(d=>J(G({},d),{label:d.text,position:t.getPositionAt(d.position),kind:this._convertHintKind(d.kind)})),dispose:()=>{}}}_convertHintKind(t){switch(t){case"Parameter":return u.InlayHintKind.Parameter;case"Type":return u.InlayHintKind.Type;default:return u.InlayHintKind.Type}}};var $,z;function ms(i){z=Y(i,"typescript")}function ds(i){$=Y(i,"javascript")}function fs(){return new Promise((i,t)=>{if(!$)return t("JavaScript not registered!");i($)})}function gs(){return new Promise((i,t)=>{if(!z)return t("TypeScript not registered!");i(z)})}function Y(i,t){let e=[],a=new F(t,i),o=(...n)=>a.getLanguageServiceWorker(...n),l=new L(o);function m(){let{modeConfiguration:n}=i;Z(e),n.completionItems&&e.push(u.registerCompletionItemProvider(t,new P(o))),n.signatureHelp&&e.push(u.registerSignatureHelpProvider(t,new I(o))),n.hovers&&e.push(u.registerHoverProvider(t,new O(o))),n.documentHighlights&&e.push(u.registerDocumentHighlightProvider(t,new N(o))),n.definitions&&e.push(u.registerDefinitionProvider(t,new K(l,o))),n.references&&e.push(u.registerReferenceProvider(t,new M(l,o))),n.documentSymbols&&e.push(u.registerDocumentSymbolProvider(t,new R(o))),n.rename&&e.push(u.registerRenameProvider(t,new W(l,o))),n.documentRangeFormattingEdits&&e.push(u.registerDocumentRangeFormattingEditProvider(t,new E(o))),n.onTypeFormattingEdits&&e.push(u.registerOnTypeFormattingEditProvider(t,new H(o))),n.codeActions&&e.push(u.registerCodeActionProvider(t,new V(o))),n.inlayHints&&e.push(u.registerInlayHintsProvider(t,new j(o))),n.diagnostics&&e.push(new A(l,i,t,o))}return m(),o}function Z(i){for(;i.length;)i.pop().dispose()}export{y as Adapter,V as CodeActionAdaptor,K as DefinitionAdapter,A as DiagnosticsAdapter,N as DocumentHighlightAdapter,E as FormatAdapter,k as FormatHelper,H as FormatOnTypeAdapter,j as InlayHintsAdapter,f as Kind,L as LibFiles,R as OutlineAdapter,O as QuickInfoAdapter,M as ReferenceAdapter,W as RenameAdapter,I as SignatureHelpAdapter,P as SuggestAdapter,F as WorkerManager,T as flattenDiagnosticMessageText,fs as getJavaScriptWorker,gs as getTypeScriptWorker,ds as setupJavaScript,ms as setupTypeScript};
@@ -0,0 +1 @@
1
+ import{a as q}from"./chunk-EMGMOEVR.js";import{a as Q}from"./chunk-X2HTISHL.js";import{a as N}from"./chunk-UYC52MBC.js";import{a as R}from"./chunk-WDU3WICG.js";import{a as $,b as j}from"./chunk-HZA6NEAB.js";import{c as V}from"./chunk-GR72OOCN.js";import{c as M}from"./chunk-SHPTC4RL.js";import{a as L}from"./chunk-7RNS77UP.js";import{a as O}from"./chunk-E44X4RH2.js";import{Aa as p,Ga as S,I as C,Ia as b,Ka as c,M as v,N as g,Ta as D,Ua as I,Va as l,W as y,Wa as u,Xa as x,ea as n,ka as z,lb as h,qa as P,ra as _,sa as f,ua as F,va as w,wa as k,xa as s,ya as r,za as o,zb as A}from"./chunk-PDN6QYGJ.js";import{a as E,b as T}from"./chunk-Q7L6LLAK.js";var H=(i,t)=>t.id;function J(i,t){i&1&&p(0,"app-pick-project-empty",0)}function K(i,t){if(i&1){let e=S();r(0,"button",10),b("click",function(){let d=v(e).$implicit,m=c(2);return g(m.toggleFilter(d))}),r(1,"span",11),l(2),o(),r(3,"span",12),l(4),o()()}if(i&2){let e=t.$implicit,a=c(2);D("background",a.stateFilter()[e]?a.STATE[e].bg:"var(--bg-panel)")("color",a.stateFilter()[e]?a.STATE[e].color:"var(--text-muted)")("border-color",a.stateFilter()[e]?"transparent":"var(--border-subtle)"),n(2),u(e),n(2),u(a.counts()[e])}}function U(i,t){if(i&1&&(r(0,"span",13),l(1),o(),r(2,"button",14),p(3,"app-icon",15),l(4," Re-verify all "),o(),r(5,"button",14),p(6,"app-icon",16),l(7," Open all "),o()),i&2){let e=c(2);n(),x("",e.selectedCount()," selected"),n(2),s("size",12),n(3),s("size",12)}}function W(i,t){i&1&&p(0,"app-empty",8)}function X(i,t){if(i&1&&(r(0,"app-pill",28),l(1),o()),i&2){let e=c().$implicit;n(),u(e.driftAxis)}}function Y(i,t){i&1&&(r(0,"button",37),p(1,"app-icon",39),l(2," Fix "),o()),i&2&&(n(),s("size",12))}function Z(i,t){i&1&&(r(0,"button",37),p(1,"app-icon",15),l(2," Re-verify "),o()),i&2&&(n(),s("size",12))}function ee(i,t){i&1&&(r(0,"button",37),p(1,"app-icon",40),l(2," Re-attach "),o()),i&2&&(n(),s("size",12))}function te(i,t){if(i&1){let e=S();r(0,"div",32)(1,"div",33)(2,"div")(3,"div",34),l(4,"Spec"),o(),r(5,"div",35),l(6),o()(),r(7,"div")(8,"div",34),l(9,"Target"),o(),r(10,"div",35),l(11),o()(),r(12,"div")(13,"div",34),l(14,"Provenance"),o(),r(15,"div",35),l(16),o()(),r(17,"div")(18,"div",34),l(19,"Drift axis"),o(),r(20,"div",35),l(21),o()(),r(22,"div")(23,"div",34),l(24,"Age"),o(),r(25,"div",35),l(26),o()()(),r(27,"div",36),_(28,Y,3,1,"button",37),_(29,Z,3,1,"button",37),_(30,ee,3,1,"button",37),r(31,"button",38),b("click",function(){v(e);let d=c().$implicit,m=c(3);return g(m.openSpec(d.specId))}),l(32," Open spec "),o(),r(33,"button",38),b("click",function(){v(e);let d=c().$implicit,m=c(3);return g(m.showInGraph(d.specId))}),l(34," Show in graph "),o()()()}if(i&2){let e=c().$implicit,a=c(3);n(6),u(e.specId),n(5),u(e.targetQualifiedName),n(5),u(e.provenance),n(5),u(e.driftAxis??"\u2014"),n(5),u(a.ageOf(e)),n(2),f(e.state==="drifted"?28:-1),n(),f(e.state==="broken"?29:-1),n(),f(e.state==="orphaned"?30:-1)}}function ie(i,t){if(i&1){let e=S();r(0,"div",18)(1,"div",19)(2,"input",20),b("click",function(d){let m=v(e).$implicit,B=c(3);return g(B.toggleSelect(m.id,d))})("change",function(d){return d.stopPropagation()}),o(),r(3,"div",21),b("click",function(){let d=v(e).$implicit,m=c(3);return g(m.toggleExpand(d.id))}),r(4,"div",22),p(5,"app-state-pill",23),o(),r(6,"span",24),l(7),o(),r(8,"span",25),l(9),o(),p(10,"app-icon",26),r(11,"span",27),l(12),o(),_(13,X,2,1,"app-pill",28),r(14,"span",29),l(15),o(),r(16,"span",30),l(17),o(),p(18,"app-icon",31),o()(),_(19,te,35,8,"div",32),o()}if(i&2){let e=t.$implicit,a=c(3);D("border-bottom","1px solid var(--border-subtle)"),n(),I("selected",a.isSelected(e.id)),n(),s("checked",a.isSelected(e.id)),P("aria-label","Select "+e.specId),n(3),s("state",e.state),n(2),x(" ",e.specId," "),n(2),x(" ",e.specTitle??""," "),n(),s("size",13),n(2),x(" ",e.targetQualifiedName," "),n(),f(e.driftAxis?13:-1),n(2),x(" ",e.provenance," "),n(2),x(" ",a.ageOf(e)," "),n(),s("name",a.isExpanded(e.id)?"chevronDown":"chevronRight")("size",13),n(),f(a.isExpanded(e.id)?19:-1)}}function ne(i,t){if(i&1&&(r(0,"div",9),w(1,ie,20,17,"div",17,H),o()),i&2){let e=c(2);n(),k(e.visibleLinks())}}function re(i,t){if(i&1&&(r(0,"div",1)(1,"div",2),p(2,"app-page-head",3),o(),r(3,"div",4),p(4,"app-icon",5),w(5,K,5,8,"button",6,F),p(7,"div",7),_(8,U,8,3),o(),_(9,W,1,0,"app-empty",8)(10,ne,3,0,"div",9),o()),i&2){let e=c();n(2),s("sub",e.resource.state().loading?"loading\u2026":e.allLinks().length+" links need attention"),n(2),s("size",13),n(),k(e.states),n(3),f(e.selectedCount()>0?8:-1),n(),f(e.visibleLinks().length===0?9:10)}}var G=class i{api=C(O);projects=C(L);router=C(M);stateFilter=y({drifted:!0,broken:!0,orphaned:!0});resource=V(this.api,()=>`/api/drift?state=drifted,broken,orphaned${this.projects.projectQuery("&")}`);selected=y(new Set);expanded=y(new Set);allLinks=h(()=>this.resource.state().data?.links??[]);visibleLinks=h(()=>{let t=this.stateFilter();return this.allLinks().filter(e=>t[e.state])});counts=h(()=>{let t={drifted:0,broken:0,orphaned:0};for(let e of this.allLinks())e.state in t&&t[e.state]++;return t});selectedCount=h(()=>this.selected().size);states=["drifted","broken","orphaned"];STATE=$;toggleFilter(t){this.stateFilter.update(e=>T(E({},e),{[t]:!e[t]}))}toggleSelect(t,e){e.stopPropagation(),this.selected.update(a=>{let d=new Set(a);return d.has(t)?d.delete(t):d.add(t),d})}isSelected(t){return this.selected().has(t)}toggleExpand(t){this.expanded.update(e=>{let a=new Set(e);return a.has(t)?a.delete(t):a.add(t),a})}isExpanded(t){return this.expanded().has(t)}ageOf(t){if(!t.updatedAt)return"";let e=Date.now()-t.updatedAt;return e<6e4?"just now":e<36e5?Math.round(e/6e4)+"m":e<864e5?Math.round(e/36e5)+"h":Math.round(e/864e5)+"d"}openSpec(t){this.router.navigate(["/specs"],{queryParams:{sel:t}})}showInGraph(t){this.router.navigate(["/graph"],{queryParams:{focus:"spec:"+t}})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=z({type:i,selectors:[["app-drift"]],decls:2,vars:1,consts:[["surface","The drift queue"],[1,"page","col"],[2,"padding","16px 18px 0"],["icon","drift","title","Drift queue",3,"sub"],[1,"filter-bar","row","gap-8"],["name","filter",2,"color","var(--text-muted)",3,"size"],["type","button",1,"filter-chip","row","gap-6",3,"background","color","border-color"],[1,"grow"],["icon","check","title","All links in good standing \u2728","body","Nothing has drifted. Every spec link points at code that still matches."],[1,"scroll-y","list-frame"],["type","button",1,"filter-chip","row","gap-6",3,"click"],[2,"text-transform","capitalize"],[1,"tabular",2,"opacity","0.7"],[1,"secondary",2,"font-size","12px"],["type","button",1,"btn","btn-secondary","btn-sm"],["name","refresh",3,"size"],["name","reveal",3,"size"],[1,"drift-row-wrap",3,"border-bottom"],[1,"drift-row-wrap"],[1,"drift-row","row","gap-10"],["type","checkbox",1,"drift-checkbox",3,"click","change","checked"],[1,"row","gap-10","grow",2,"min-width","0","cursor","pointer",3,"click"],[2,"width","92px","flex-shrink","0"],[3,"state"],[1,"mono",2,"font-size","12px","color","var(--node-spec)","flex-shrink","0","width","130px","overflow","hidden","text-overflow","ellipsis","white-space","nowrap"],[1,"secondary",2,"font-size","12.5px","overflow","hidden","text-overflow","ellipsis","white-space","nowrap","flex","0 1 220px"],["name","arrowRight",2,"color","var(--text-muted)","flex-shrink","0",3,"size"],[1,"mono","grow",2,"font-size","11.5px","color","var(--text-secondary)","overflow","hidden","text-overflow","ellipsis","white-space","nowrap"],["color","var(--warn)","bg","var(--warn-soft)"],[1,"mono","muted",2,"font-size","11px","flex-shrink","0","width","48px","text-align","right"],[1,"mono","muted","tabular",2,"font-size","11px","flex-shrink","0","width","32px","text-align","right"],[2,"color","var(--text-muted)","flex-shrink","0",3,"name","size"],[1,"drift-detail"],[1,"row",2,"gap","22px","padding","10px 0","flex-wrap","wrap"],[1,"muted",2,"font-size","10.5px"],[1,"mono",2,"font-size","12.5px","margin-top","1px"],[1,"row","gap-8"],["type","button",1,"btn","btn-primary","btn-sm"],["type","button",1,"btn","btn-secondary","btn-sm",3,"click"],["name","wrench",3,"size"],["name","graph",3,"size"]],template:function(e,a){e&1&&_(0,J,1,0,"app-pick-project-empty",0)(1,re,11,4,"div",1),e&2&&f(a.resource.state().noProject?0:1)},dependencies:[R,A,N,q,j,Q],styles:["[_nghost-%COMP%]{display:contents}.page[_ngcontent-%COMP%]{flex:1;min-height:0}.filter-bar[_ngcontent-%COMP%]{padding:0 18px 12px;flex-wrap:wrap;align-items:center}.filter-chip[_ngcontent-%COMP%]{height:26px;padding:0 10px;border-radius:999px;border:1px solid var(--border-subtle);font-size:11.5px;font-weight:500;cursor:pointer;font-family:inherit;align-items:center;transition:background .12s,color .12s}.list-frame[_ngcontent-%COMP%]{flex:1;border-top:1px solid var(--border-subtle);margin:0}.drift-row[_ngcontent-%COMP%]{padding:10px 14px;cursor:default;align-items:center;transition:background 80ms;background:transparent}.drift-row[_ngcontent-%COMP%]:not(.selected):hover{background:var(--bg-hover)}.drift-row.selected[_ngcontent-%COMP%]{background:var(--accent-soft)}.drift-checkbox[_ngcontent-%COMP%]{accent-color:var(--accent);width:14px;height:14px;flex-shrink:0;cursor:pointer}.drift-detail[_ngcontent-%COMP%]{padding:0 14px 14px 50px;background:var(--bg-canvas)}"],changeDetection:0})};export{G as Drift};
@@ -0,0 +1 @@
1
+ import"./chunk-Q7L6LLAK.js";var e={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)"),end:new RegExp("^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)")}}},n={defaultToken:"",tokenPostfix:".fs",keywords:["abstract","and","atomic","as","assert","asr","base","begin","break","checked","component","const","constraint","constructor","continue","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","eager","event","external","extern","false","finally","for","fun","function","fixed","functor","global","if","in","include","inherit","inline","interface","internal","land","lor","lsl","lsr","lxor","lazy","let","match","member","mod","module","mutable","namespace","method","mixin","new","not","null","of","open","or","object","override","private","parallel","process","protected","pure","public","rec","return","static","sealed","struct","sig","then","to","true","tailcall","trait","try","type","upcast","use","val","void","virtual","volatile","when","while","with","yield"],symbols:/[=><!~?:&|+\-*\^%;\.,\/]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/[uU]?[yslnLI]?/,floatsuffix:/[fFmM]?/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/\[<.*>\]/,"annotation"],[/^#(if|else|endif)/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0x[0-9a-fA-F]+LF/,"number.float"],[/0x[0-9a-fA-F]+(@integersuffix)/,"number.hex"],[/0b[0-1]+(@integersuffix)/,"number.bin"],[/\d+(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string",'@string."""'],[/"/,"string",'@string."'],[/\@"/,{token:"string.quote",next:"@litstring"}],[/'[^\\']'B?/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\(\*(?!\))/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^*(]+/,"comment"],[/\*\)/,"comment","@pop"],[/\*/,"comment"],[/\(\*\)/,"comment"],[/\(/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/("""|"B?)/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]]}};export{e as conf,n as language};
@@ -0,0 +1,5 @@
1
+ import{b as be}from"./chunk-EUUEFEDI.js";import{a as Ct}from"./chunk-AZJVTPLU.js";import{a as _t,b as y,c as wt,d as vt,e as k,f as M,g as bt,h as yt,i as w,j,k as z,l as kt,m as C,n as a,o as ve}from"./chunk-JTFXTIPE.js";import{a as _e,b as we,d as q}from"./chunk-Q7L6LLAK.js";var ee={};q(ee,{cssDefaults:()=>ye,lessDefaults:()=>Ce,scssDefaults:()=>ke});var I=class{constructor(t,r,i){this._onDidChange=new y,this._languageId=t,this.setOptions(r),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(t){this._options=t||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(t){this.setOptions(t)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}},Z={validate:!0,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:"collapse",maxPreserveNewLines:void 0,preserveNewLines:!0}},K={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},ye=new I("css",Z,K),ke=new I("scss",Z,K),Ce=new I("less",Z,K);function $(){return import("./chunk-DYRFLPJA.js")}a.onLanguage("less",()=>{$().then(e=>e.setupMode(Ce))});a.onLanguage("scss",()=>{$().then(e=>e.setupMode(ke))});a.onLanguage("css",()=>{$().then(e=>e.setupMode(ye))});var re={};q(re,{handlebarDefaults:()=>Lt,handlebarLanguageService:()=>Te,htmlDefaults:()=>Rt,htmlLanguageService:()=>Le,razorDefaults:()=>Tt,razorLanguageService:()=>Me,registerHTMLLanguageService:()=>W});var te=class{constructor(t,r,i){this._onDidChange=new y,this._languageId=t,this.setOptions(r),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(t){this._options=t||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}},St={tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:"head, body, /html",wrapAttributes:"auto"},N={format:St,suggest:{},data:{useDefaultDataProvider:!0}};function B(e){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:e===A,documentFormattingEdits:e===A,documentRangeFormattingEdits:e===A}}var A="html",Se="handlebars",Re="razor",Le=W(A,N,B(A)),Rt=Le.defaults,Te=W(Se,N,B(Se)),Lt=Te.defaults,Me=W(Re,N,B(Re)),Tt=Me.defaults;function Mt(){return import("./chunk-E3J3CXR5.js")}function W(e,t=N,r=B(e)){let i=new te(e,t,r),o,s=a.onLanguage(e,async()=>{o=(await Mt()).setupMode(i)});return{defaults:i,dispose(){s.dispose(),o?.dispose(),o=void 0}}}var oe={};q(oe,{getWorker:()=>Et,jsonDefaults:()=>Fe});var ie=class{constructor(t,r,i){this._onDidChange=new y,this._languageId=t,this.setDiagnosticsOptions(r),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(t){this._diagnosticsOptions=t||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}},Ft={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},Pt={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},Fe=new ie("json",Ft,Pt),Et=()=>Pe().then(e=>e.getWorker());function Pe(){return import("./chunk-GRZYXPSO.js")}a.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});a.onLanguage("json",()=>{Pe().then(e=>e.setupMode(Fe))});var Ee={},ne={},se=class e{static getOrCreate(t){return ne[t]||(ne[t]=new e(t)),ne[t]}constructor(t){this._languageId=t,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((r,i)=>{this._lazyLoadPromiseResolve=r,this._lazyLoadPromiseReject=i})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,Ee[this._languageId].loader().then(t=>this._lazyLoadPromiseResolve(t),t=>this._lazyLoadPromiseReject(t))),this._lazyLoadPromise}};function n(e){let t=e.id;Ee[t]=e,a.register(e);let r=se.getOrCreate(t);a.registerTokensProviderFactory(t,{create:async()=>(await r.load()).language}),a.onLanguageEncountered(t,async()=>{let i=await r.load();a.setLanguageConfiguration(t,i.conf)})}n({id:"abap",extensions:[".abap"],aliases:["abap","ABAP"],loader:()=>import("./chunk-RXKXYF2C.js")});n({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:()=>import("./chunk-Y3H6FFUZ.js")});n({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:()=>import("./chunk-PGGJPDJG.js")});n({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:()=>import("./chunk-WXTCVDTP.js")});n({id:"bicep",extensions:[".bicep"],aliases:["Bicep"],loader:()=>import("./chunk-2CPLUFCH.js")});n({id:"cameligo",extensions:[".mligo"],aliases:["Cameligo"],loader:()=>import("./chunk-UR5KDXPX.js")});n({id:"clojure",extensions:[".clj",".cljs",".cljc",".edn"],aliases:["clojure","Clojure"],loader:()=>import("./chunk-EKY2FUHU.js")});n({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:()=>import("./chunk-LVGIY3SO.js")});n({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:()=>import("./chunk-PUYSJNJR.js")});n({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:()=>import("./chunk-PUYSJNJR.js")});n({id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],loader:()=>import("./chunk-7DMFVTU4.js")});n({id:"csp",extensions:[".csp"],aliases:["CSP","csp"],loader:()=>import("./chunk-TR335633.js")});n({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:()=>import("./chunk-ZLV4VCDG.js")});n({id:"cypher",extensions:[".cypher",".cyp"],aliases:["Cypher","OpenCypher"],loader:()=>import("./chunk-RONYWVY7.js")});n({id:"dart",extensions:[".dart"],aliases:["Dart","dart"],mimetypes:["text/x-dart-source","text/x-dart"],loader:()=>import("./chunk-LNSVDHCI.js")});n({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:()=>import("./chunk-R2DLK4HO.js")});n({id:"ecl",extensions:[".ecl"],aliases:["ECL","Ecl","ecl"],loader:()=>import("./chunk-HDZDQILN.js")});n({id:"elixir",extensions:[".ex",".exs"],aliases:["Elixir","elixir","ex"],loader:()=>import("./chunk-XCDHWLVH.js")});n({id:"flow9",extensions:[".flow"],aliases:["Flow9","Flow","flow9","flow"],loader:()=>import("./chunk-5HGWHUJA.js")});n({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:()=>import("./chunk-FIJW2UNJ.js")});n({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>import("./chunk-NUDB3Q2Y.js").then(e=>e.TagAutoInterpolationDollar)});n({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>import("./chunk-NUDB3Q2Y.js").then(e=>e.TagAngleInterpolationDollar)});n({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>import("./chunk-NUDB3Q2Y.js").then(e=>e.TagBracketInterpolationDollar)});n({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>import("./chunk-NUDB3Q2Y.js").then(e=>e.TagAngleInterpolationBracket)});n({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>import("./chunk-NUDB3Q2Y.js").then(e=>e.TagBracketInterpolationBracket)});n({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>import("./chunk-NUDB3Q2Y.js").then(e=>e.TagAutoInterpolationDollar)});n({id:"freemarker2.tag-auto.interpolation-bracket",aliases:["FreeMarker2 (Auto/Bracket)","Apache FreeMarker2 (Auto/Bracket)"],loader:()=>import("./chunk-NUDB3Q2Y.js").then(e=>e.TagAutoInterpolationBracket)});n({id:"go",extensions:[".go"],aliases:["Go"],loader:()=>import("./chunk-4IMMPEYM.js")});n({id:"graphql",extensions:[".graphql",".gql"],aliases:["GraphQL","graphql","gql"],mimetypes:["application/graphql"],loader:()=>import("./chunk-HMK6UO6N.js")});n({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>import("./chunk-WBT64AWV.js")});n({id:"hcl",extensions:[".tf",".tfvars",".hcl"],aliases:["Terraform","tf","HCL","hcl"],loader:()=>import("./chunk-T7AZ65JP.js")});n({id:"html",extensions:[".html",".htm",".shtml",".xhtml",".mdoc",".jsp",".asp",".aspx",".jshtm"],aliases:["HTML","htm","html","xhtml"],mimetypes:["text/html","text/x-jshtm","text/template","text/ng-template"],loader:()=>import("./chunk-YRERBP6T.js")});n({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],loader:()=>import("./chunk-VECWMHJP.js")});n({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:()=>import("./chunk-LB6JPLX2.js")});n({id:"javascript",extensions:[".js",".es6",".jsx",".mjs",".cjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>import("./chunk-RKY4EJYJ.js")});n({id:"julia",extensions:[".jl"],aliases:["julia","Julia"],loader:()=>import("./chunk-5Y244R4G.js")});n({id:"kotlin",extensions:[".kt",".kts"],aliases:["Kotlin","kotlin"],mimetypes:["text/x-kotlin-source","text/x-kotlin"],loader:()=>import("./chunk-E73OX2P7.js")});n({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],loader:()=>import("./chunk-3EBFYSCH.js")});n({id:"lexon",extensions:[".lex"],aliases:["Lexon"],loader:()=>import("./chunk-ETJG7NCY.js")});n({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:()=>import("./chunk-TPTITA3V.js")});n({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>import("./chunk-YM2KU57F.js")});n({id:"m3",extensions:[".m3",".i3",".mg",".ig"],aliases:["Modula-3","Modula3","modula3","m3"],loader:()=>import("./chunk-4WZIHTPC.js")});n({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:()=>import("./chunk-ZTVI5KFF.js")});n({id:"mdx",extensions:[".mdx"],aliases:["MDX","mdx"],loader:()=>import("./chunk-BUXWEHIY.js")});n({id:"mips",extensions:[".s"],aliases:["MIPS","MIPS-V"],mimetypes:["text/x-mips","text/mips","text/plaintext"],loader:()=>import("./chunk-EBKKDHYI.js")});n({id:"msdax",extensions:[".dax",".msdax"],aliases:["DAX","MSDAX"],loader:()=>import("./chunk-2NAWAJB5.js")});n({id:"mysql",extensions:[],aliases:["MySQL","mysql"],loader:()=>import("./chunk-42XVAQ6I.js")});n({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],loader:()=>import("./chunk-QR6L3KAC.js")});n({id:"pascal",extensions:[".pas",".p",".pp"],aliases:["Pascal","pas"],mimetypes:["text/x-pascal-source","text/x-pascal"],loader:()=>import("./chunk-WB6YHOD4.js")});n({id:"pascaligo",extensions:[".ligo"],aliases:["Pascaligo","ligo"],loader:()=>import("./chunk-ESGDLJOJ.js")});n({id:"perl",extensions:[".pl",".pm"],aliases:["Perl","pl"],loader:()=>import("./chunk-N6SS4G6S.js")});n({id:"pgsql",extensions:[],aliases:["PostgreSQL","postgres","pg","postgre"],loader:()=>import("./chunk-6VKB2ZWM.js")});n({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:()=>import("./chunk-EE7V7Q5P.js")});n({id:"pla",extensions:[".pla"],loader:()=>import("./chunk-YEGKAAEE.js")});n({id:"postiats",extensions:[".dats",".sats",".hats"],aliases:["ATS","ATS/Postiats"],loader:()=>import("./chunk-VZI7H4SZ.js")});n({id:"powerquery",extensions:[".pq",".pqm"],aliases:["PQ","M","Power Query","Power Query M"],loader:()=>import("./chunk-Y4F5ULGJ.js")});n({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],loader:()=>import("./chunk-QH6CF3M3.js")});n({id:"proto",extensions:[".proto"],aliases:["protobuf","Protocol Buffers"],loader:()=>import("./chunk-BMIAXD2V.js")});n({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:()=>import("./chunk-2AJCHB7P.js")});n({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>import("./chunk-J2GZVLHH.js")});n({id:"qsharp",extensions:[".qs"],aliases:["Q#","qsharp"],loader:()=>import("./chunk-TCZDVOHD.js")});n({id:"r",extensions:[".r",".rhistory",".rmd",".rprofile",".rt"],aliases:["R","r"],loader:()=>import("./chunk-EP6XOPXH.js")});n({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>import("./chunk-4YVSYOSD.js")});n({id:"redis",extensions:[".redis"],aliases:["redis"],loader:()=>import("./chunk-OXEF5E3E.js")});n({id:"redshift",extensions:[],aliases:["Redshift","redshift"],loader:()=>import("./chunk-SWKJRNYY.js")});n({id:"restructuredtext",extensions:[".rst"],aliases:["reStructuredText","restructuredtext"],loader:()=>import("./chunk-Q2RVFS45.js")});n({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile","Gemfile"],aliases:["Ruby","rb"],loader:()=>import("./chunk-3E2WB6D5.js")});n({id:"rust",extensions:[".rs",".rlib"],aliases:["Rust","rust"],loader:()=>import("./chunk-QCMKJIWY.js")});n({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:()=>import("./chunk-3QCQ4BXS.js")});n({id:"scala",extensions:[".scala",".sc",".sbt"],aliases:["Scala","scala","SBT","Sbt","sbt","Dotty","dotty"],mimetypes:["text/x-scala-source","text/x-scala","text/x-sbt","text/x-dotty"],loader:()=>import("./chunk-NTBJG6SJ.js")});n({id:"scheme",extensions:[".scm",".ss",".sch",".rkt"],aliases:["scheme","Scheme"],loader:()=>import("./chunk-QQ5LD7PI.js")});n({id:"scss",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],loader:()=>import("./chunk-VUACT35R.js")});n({id:"shell",extensions:[".sh",".bash"],aliases:["Shell","sh"],loader:()=>import("./chunk-UTNMGWTP.js")});n({id:"sol",extensions:[".sol"],aliases:["sol","solidity","Solidity"],loader:()=>import("./chunk-7SMPKVEP.js")});n({id:"aes",extensions:[".aes"],aliases:["aes","sophia","Sophia"],loader:()=>import("./chunk-EAXRKDLV.js")});n({id:"sparql",extensions:[".rq"],aliases:["sparql","SPARQL"],loader:()=>import("./chunk-6RRDPT5Z.js")});n({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:()=>import("./chunk-GYGPS3AN.js")});n({id:"st",extensions:[".st",".iecst",".iecplc",".lc3lib",".TcPOU",".TcDUT",".TcGVL",".TcIO"],aliases:["StructuredText","scl","stl"],loader:()=>import("./chunk-ISNEBICW.js")});n({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],loader:()=>import("./chunk-RD6TVPOT.js")});n({id:"systemverilog",extensions:[".sv",".svh"],aliases:["SV","sv","SystemVerilog","systemverilog"],loader:()=>import("./chunk-IHEE5NYJ.js")});n({id:"verilog",extensions:[".v",".vh"],aliases:["V","v","Verilog","verilog"],loader:()=>import("./chunk-IHEE5NYJ.js")});n({id:"tcl",extensions:[".tcl"],aliases:["tcl","Tcl","tcltk","TclTk","tcl/tk","Tcl/Tk"],loader:()=>import("./chunk-2I7L37NS.js")});n({id:"twig",extensions:[".twig"],aliases:["Twig","twig"],mimetypes:["text/x-twig"],loader:()=>import("./chunk-4TJQJPCZ.js")});n({id:"typescript",extensions:[".ts",".tsx",".cts",".mts"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>import("./chunk-UR6O2GEH.js")});n({id:"typespec",extensions:[".tsp"],aliases:["TypeSpec"],loader:()=>import("./chunk-2OJBIPE4.js")});n({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],loader:()=>import("./chunk-H7AF7YS4.js")});n({id:"wgsl",extensions:[".wgsl"],aliases:["WebGPU Shading Language","WGSL","wgsl"],loader:()=>import("./chunk-WTGYRH3Z.js")});n({id:"xml",extensions:[".xml",".xsd",".dtd",".ascx",".csproj",".config",".props",".targets",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xslt",".xsl"],firstLine:"(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)",aliases:["XML","xml"],mimetypes:["text/xml","application/xml","application/xaml+xml","application/xml-dtd"],loader:()=>import("./chunk-BLBRMCN2.js")});n({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>import("./chunk-LXLHIHEN.js")});var xt={};q(xt,{MonacoLspClient:()=>Mi,WebSocketTransport:()=>Ei,createTransportToIFrame:()=>Ii,createTransportToWorker:()=>Hi});var Ht=Object.defineProperty,It=(e,t,r)=>t in e?Ht(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,l=(e,t,r)=>It(e,typeof t!="symbol"?t+"":t,r),U,He,V,ae,J;function At(e){return e.method!==void 0}var Ie;(function(e){function t(r){return r}e.create=t})(Ie||(Ie={}));var v;(function(e){e.parseError=-32700,e.invalidRequest=-32600,e.methodNotFound=-32601,e.invalidParams=-32602,e.internalError=-32603;function t(s){return-32099<=s&&s<=-32e3}e.isServerError=t;function r(s){if(!t(s))throw new Error("Invalid range for a server error.");return s}e.serverError=r,e.unexpectedServerError=-32e3;function i(s){return!0}e.isApplicationError=i;function o(s){return s}e.applicationError=o,e.genericApplicationError=-320100})(v||(v={}));var fe=class{constructor(){l(this,"listeners",new Set),l(this,"event",e=>(this.listeners.add(e),{dispose:()=>{this.listeners.delete(e)}}))}fire(e){this.listeners.forEach(t=>t(e))}},Ot=class{constructor(e){l(this,"_value"),l(this,"eventEmitter"),this._value=e,this.eventEmitter=new fe}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,this.eventEmitter.fire(e))}get onChange(){return this.eventEmitter.event}};function qt(e,t){let r=setTimeout(t,e);return{dispose:()=>clearTimeout(r)}}function ce(e,t,r){return e instanceof Set?(e.add(t),{dispose:()=>e.delete(t)}):(e.set(t,r),{dispose:()=>e.delete(t)})}var jt=class{constructor(){l(this,"_state","none"),l(this,"promise"),l(this,"resolve",()=>{}),l(this,"reject",()=>{}),this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}get state(){return this._state}},Xe=(U=class{constructor(){l(this,"_unprocessedMessages",[]),l(this,"_messageListener"),l(this,"id",U.id++),l(this,"_state",new Ot({state:"open"})),l(this,"state",this._state)}setListener(e){if(this._messageListener=e,!!e)for(;this._unprocessedMessages.length>0&&this._messageListener!==void 0;){let t=this._unprocessedMessages.shift();this._messageListener(t)}}send(e){return this._sendImpl(e)}_dispatchReceivedMessage(e){this._unprocessedMessages.length===0&&this._messageListener?this._messageListener(e):this._unprocessedMessages.push(e)}_onConnectionClosed(){this._state.value={state:"closed",error:void 0}}log(e){return new zt(this,e??new Nt)}},l(U,"id",0),U),zt=class{constructor(e,t){l(this,"baseStream"),l(this,"logger"),this.baseStream=e,this.logger=t}get state(){return this.baseStream.state}setListener(e){if(e===void 0){this.baseStream.setListener(void 0);return}this.baseStream.setListener(t=>{this.logger.log(this.baseStream,"incoming",t),e(t)})}send(e){return this.logger.log(this.baseStream,"outgoing",e),this.baseStream.send(e)}toString(){return`StreamLogger/${this.baseStream.toString()}`}},Nt=class{log(e,t,r){console.log(`${t==="incoming"?"<-":"->"} [${e.toString()}] ${JSON.stringify(r)}`)}},Bt=class Ye{constructor(t){l(this,"connect"),this.connect=t}mapContext(t){return new Ye(r=>this.connect(r?Wt(r,t):void 0))}};function Wt(e,t){return{handleNotification:(r,i)=>e.handleNotification(r,t(i)),handleRequest:(r,i,o)=>e.handleRequest(r,i,t(o))}}var Ut=class Ze{constructor(t,r,i){l(this,"_stream"),l(this,"_listener"),l(this,"_logger"),l(this,"_unprocessedResponses",new Map),l(this,"_lastUsedRequestId",0),this._stream=t,this._listener=r,this._logger=i,this._stream.setListener(o=>{At(o)?o.id===void 0?this._processNotification(o):this._processRequest(o):this._processResponse(o)})}static createChannel(t,r){let i=!1;return new Bt(o=>{if(i)throw new Error(`A channel to the stream ${t} was already constructed!`);return i=!0,new Ze(t,o,r)})}get state(){return this._stream.state}async _processNotification(t){if(t.id!==void 0)throw new Error;if(!this._listener){this._logger&&this._logger.debug({text:"Notification ignored",message:t});return}try{await this._listener.handleNotification({method:t.method,params:t.params||null})}catch(r){this._logger&&this._logger.warn({text:`Exception was thrown while handling notification: ${r}`,exception:r,message:t})}}async _processRequest(t){if(t.id===void 0)throw new Error;let r;if(this._listener)try{r=await this._listener.handleRequest({method:t.method,params:t.params||null},t.id)}catch(o){this._logger&&this._logger.warn({text:`Exception was thrown while handling request: ${o}`,message:t,exception:o}),r={error:{code:v.internalError,message:"An unexpected exception was thrown.",data:void 0}}}else this._logger&&this._logger.debug({text:"Received request even though not listening for requests",message:t}),r={error:{code:v.methodNotFound,message:"This endpoint does not listen for requests or notifications.",data:void 0}};let i;"result"in r?i={jsonrpc:"2.0",id:t.id,result:r.result}:i={jsonrpc:"2.0",id:t.id,error:r.error},await this._stream.send(i)}_processResponse(t){let r=""+t.id,i=this._unprocessedResponses.get(r);if(!i){this._logger&&this._logger.debug({text:"Got an unexpected response message",message:t});return}this._unprocessedResponses.delete(r),i(t)}_newRequestId(){return this._lastUsedRequestId++}sendRequest(t,r,i){let o={jsonrpc:"2.0",id:this._newRequestId(),method:t.method,params:t.params||void 0};return i&&i(o.id),new Promise((s,c)=>{let u=""+o.id;this._unprocessedResponses.set(u,g=>{"result"in g?s({result:g.result}):(g.error||c(new Error("Response had neither 'result' nor 'error' field set.")),s({error:g.error}))}),this._stream.send(o).then(void 0,g=>{this._unprocessedResponses.delete(u),c(g)})})}sendNotification(t,r){let i={jsonrpc:"2.0",id:void 0,method:t.method,params:t.params||void 0};return this._stream.send(i)}toString(){return"StreamChannel/"+this._stream.toString()}},P;(function(e){function t(){return{deserializeFromJson:o=>({hasErrors:!1,value:o}),serializeToJson:o=>o}}e.sAny=t;function r(){return{deserializeFromJson:o=>({hasErrors:!1,value:{}}),serializeToJson:o=>({})}}e.sEmptyObject=r;function i(){return{deserializeFromJson:o=>({hasErrors:!1,value:void 0}),serializeToJson:o=>null}}e.sVoidFromNull=i})(P||(P={}));var Ke=Symbol("OptionalMethodNotFound"),$e=class{contextualize(e){return new Vt(this,e)}},Vt=class extends $e{constructor(e,t){super(),l(this,"underylingTypedChannel"),l(this,"converters"),this.underylingTypedChannel=e,this.converters=t}async request(e,t,r){let i=await this.converters.getSendContext(r);return this.underylingTypedChannel.request(e,t,i)}async notify(e,t,r){let i=await this.converters.getSendContext(r);return this.underylingTypedChannel.notify(e,t,i)}registerNotificationHandler(e,t){return this.underylingTypedChannel.registerNotificationHandler(e,async(r,i)=>await t(r,await this.converters.getNewContext(i)))}registerRequestHandler(e,t){return this.underylingTypedChannel.registerRequestHandler(e,async(r,i,o)=>await t(r,i,await this.converters.getNewContext(o)))}},me=class et extends $e{constructor(t,r={}){super(),l(this,"channelCtor"),l(this,"_requestSender"),l(this,"_handler",new Map),l(this,"_unknownNotificationHandler",new Set),l(this,"_timeout"),l(this,"sendExceptionDetails",!1),l(this,"_logger"),l(this,"listeningDeferred",new jt),l(this,"onListening",this.listeningDeferred.promise),l(this,"_requestDidErrorEventEmitter",new fe),l(this,"onRequestDidError",this._requestDidErrorEventEmitter.event),this.channelCtor=t,this._logger=r.logger,this.sendExceptionDetails=!!r.sendExceptionDetails,this._timeout=qt(1e3,()=>{this._requestSender||console.warn(`"${this.startListen.name}" has not been called within 1 second after construction of this channel. Did you forget to call it?`,this)})}static fromTransport(t,r={}){return new et(Ut.createChannel(t,r.logger),r)}startListen(){if(this._requestSender)throw new Error(`"${this.startListen.name}" can be called only once, but it already has been called.`);this._timeout&&(this._timeout.dispose(),this._timeout=void 0),this._requestSender=this.channelCtor.connect({handleRequest:(t,r,i)=>this.handleRequest(t,r,i),handleNotification:(t,r)=>this.handleNotification(t,r)}),this.listeningDeferred.resolve()}checkChannel(t){if(!t)throw new Error(`"${this.startListen.name}" must be called before any messages can be sent or received.`);return!0}async handleRequest(t,r,i){let o=this._handler.get(t.method);if(!o)return this._logger&&this._logger.debug({text:`No request handler for "${t.method}".`,data:{requestObject:t}}),{error:{code:v.methodNotFound,message:`No request handler for "${t.method}".`,data:{method:t.method}}};if(o.kind!="request"){let c=`"${t.method}" is registered as notification, but was sent as request.`;return this._logger&&this._logger.debug({text:c,data:{requestObject:t}}),{error:{code:v.invalidRequest,message:c,data:{method:t.method}}}}let s=o.requestType.paramsSerializer.deserializeFromJson(t.params);if(s.hasErrors){let c=`Got invalid params: ${s.errorMessage}`;return this._logger&&this._logger.debug({text:c,data:{requestObject:t,errorMessage:s.errorMessage}}),{error:{code:v.invalidParams,message:c,data:{errors:s.errorMessage}}}}else{let c=s.value,u;try{let g=await o.handler(c,r,i);if("error"in g||"errorMessage"in g){let b=g.error?o.requestType.errorSerializer.serializeToJson(g.error):void 0;u={error:{code:g.errorCode||v.genericApplicationError,message:g.errorMessage||"An error was returned",data:b}}}else u={result:o.requestType.resultSerializer.serializeToJson(g.ok)}}catch(g){g instanceof Oe?u={error:{code:g.code,message:g.message}}:(this._logger&&this._logger.warn({text:`An exception was thrown while handling a request: ${g}.`,exception:g,data:{requestObject:t}}),u={error:{code:v.unexpectedServerError,message:this.sendExceptionDetails?`An exception was thrown while handling a request: ${g}.`:"Server has thrown an unexpected exception"}})}return u}}async handleNotification(t,r){let i=this._handler.get(t.method);if(!i){for(let c of this._unknownNotificationHandler)c(t);this._unknownNotificationHandler.size===0&&this._logger&&this._logger.debug({text:`Unhandled notification "${t.method}"`,data:{requestObject:t}});return}if(i.kind!="notification"){this._logger&&this._logger.debug({text:`"${t.method}" is registered as request, but was sent as notification.`,data:{requestObject:t}});return}let o=i.notificationType.paramsSerializer.deserializeFromJson(t.params);if(o.hasErrors){this._logger&&this._logger.debug({text:`Got invalid params: ${o}`,data:{requestObject:t,errorMessage:o.errorMessage}});return}let s=o.value;for(let c of i.handlers)try{c(s,r)}catch(u){this._logger&&this._logger.warn({text:`An exception was thrown while handling a notification: ${u}.`,exception:u,data:{requestObject:t}})}}registerUnknownNotificationHandler(t){return ce(this._unknownNotificationHandler,t)}registerRequestHandler(t,r){if(this._handler.get(t.method))throw new Error(`Handler with method "${t.method}" already registered.`);return ce(this._handler,t.method,{kind:"request",requestType:t,handler:r})}registerNotificationHandler(t,r){let i=this._handler.get(t.method);if(!i)i={kind:"notification",notificationType:t,handlers:new Set},this._handler.set(t.method,i);else{if(i.kind!=="notification")throw new Error(`Method "${t.method}" was already registered as request handler.`);if(i.notificationType!==t)throw new Error(`Method "${t.method}" was registered for a different type.`)}return ce(i.handlers,r)}getRegisteredTypes(){let t=[];for(let r of this._handler.values())r.kind==="notification"?t.push(r.notificationType):r.kind==="request"&&t.push(r.requestType);return t}async request(t,r,i){if(!this.checkChannel(this._requestSender))throw new Error("Impossible");let o=t.paramsSerializer.serializeToJson(r);Ae(o);let s=await this._requestSender.sendRequest({method:t.method,params:o},i);if("error"in s){if(t.isOptional&&s.error.code===v.methodNotFound)return Ke;let c;if(s.error.data!==void 0){let g=t.errorSerializer.deserializeFromJson(s.error.data);if(g.hasErrors)throw new Error(g.errorMessage);c=g.value}else c=void 0;let u=new Oe(s.error.message,c,s.error.code);throw this._requestDidErrorEventEmitter.fire({error:u}),u}else{let c=t.resultSerializer.deserializeFromJson(s.result);if(c.hasErrors)throw new Error("Could not deserialize response: "+c.errorMessage+`
2
+
3
+ ${JSON.stringify(s,null,2)}`);return c.value}}async notify(t,r,i){if(!this.checkChannel(this._requestSender))throw new Error;let o=t.paramsSerializer.serializeToJson(r);Ae(o),this._requestSender.sendNotification({method:t.method,params:o},i)}};function Ae(e){if(e!==null&&Array.isArray(e)&&typeof e!="object")throw new Error("Invalid value! Only null, array and object is allowed.")}var Oe=class tt extends Error{constructor(t,r,i=v.genericApplicationError){super(t),l(this,"data"),l(this,"code"),this.data=r,this.code=i,Object.setPrototypeOf(this,tt.prototype)}},Jt=class ue{constructor(t,r,i,o,s=!1){l(this,"method"),l(this,"paramsSerializer"),l(this,"resultSerializer"),l(this,"errorSerializer"),l(this,"isOptional"),l(this,"kind","request"),this.method=t,this.paramsSerializer=r,this.resultSerializer=i,this.errorSerializer=o,this.isOptional=s}withMethod(t){return new ue(t,this.paramsSerializer,this.resultSerializer,this.errorSerializer)}optional(){return new ue(this.method,this.paramsSerializer,this.resultSerializer,this.errorSerializer,!0)}},Gt=class rt{constructor(t,r){l(this,"method"),l(this,"paramsSerializer"),l(this,"kind","notification"),this.method=t,this.paramsSerializer=r}withMethod(t){return new rt(t,this.paramsSerializer)}};function m(e){return new Jt((e||{}).method,P.sAny(),P.sAny(),P.sAny())}function h(e){return new Gt((e||{}).method,P.sAny())}var Qt=Symbol(),qe=(He=Qt,V=class{constructor(e){l(this,"error"),l(this,He),this.error=e}},l(V,"factory",e=>new V(e)),V);function Xt(e){let t=je(e.server),r=je(e.client);return new Yt(e.tags||[],t,r)}function je(e){let t={};for(let[r,i]of Object.entries(e)){let o=i.method?i.method:r;t[r]=i.withMethod(o)}return t}var Yt=class it{constructor(t=[],r,i){l(this,"tags"),l(this,"server"),l(this,"client"),this.tags=t,this.server=r,this.client=i}_onlyDesignTime(){return new Error("This property is not meant to be accessed at runtime")}get TContractObject(){throw this._onlyDesignTime()}get TClientInterface(){throw this._onlyDesignTime()}get TServerInterface(){throw this._onlyDesignTime()}get TClientHandler(){throw this._onlyDesignTime()}get TServerHandler(){throw this._onlyDesignTime()}get TTags(){throw this._onlyDesignTime()}getInterface(t,r,i,o){let s=this.buildCounterpart(t,i),c=this.registerHandlers(t,r,o,s);return{counterpart:s,dispose:()=>c.dispose()}}buildCounterpart(t,r){let i={};for(let[o,s]of Object.entries(r)){let c;s.kind==="request"?s.isOptional?c=async(u,g)=>{u===void 0&&(u={});try{return await t.request(s,u,g)}catch(b){if(b&&b.code===v.methodNotFound)return Ke;throw b}}:c=(u,g)=>(u===void 0&&(u={}),t.request(s,u,g)):c=(u,g)=>(u===void 0&&(u={}),t.notify(s,u,g)),i[o]=c}return i}registerHandlers(t,r,i,o){let s=[];for(let[c,u]of Object.entries(r))if(u.kind==="request"){let g=i[c];if(!g)continue;let b=this.createRequestHandler(o,g);s.push(t.registerRequestHandler(u,b))}else{let g=i[c];g&&s.push(t.registerNotificationHandler(u,(b,Dt)=>{g(b,{context:Dt,counterpart:o})}))}return{dispose:()=>s.forEach(c=>c.dispose())}}createRequestHandler(t,r){return async(i,o,s)=>{let c=await r(i,{context:s,counterpart:t,newErr:qe.factory,requestId:o});return c instanceof qe?c.error:{ok:c}}}static getServerFromStream(t,r,i,o){let s=me.fromTransport(r,i),{server:c}=t.getServer(s,o);return s.startListen(),{channel:s,server:c}}static registerServerToStream(t,r,i,o){let s=me.fromTransport(r,i),{client:c}=t.registerServer(s,o);return s.startListen(),{channel:s,client:c}}getServer(t,r){let{counterpart:i,dispose:o}=this.getInterface(t,this.client,this.server,r);return{server:i,dispose:o}}registerServer(t,r){let{counterpart:i,dispose:o}=this.getInterface(t,this.server,this.client,r);return{client:i,dispose:o}}withContext(){return new it(this.tags,this.server,this.client)}},E=(function(e){return e.Comment="comment",e.Imports="imports",e.Region="region",e})({}),f=(function(e){return e[e.File=1]="File",e[e.Module=2]="Module",e[e.Namespace=3]="Namespace",e[e.Package=4]="Package",e[e.Class=5]="Class",e[e.Method=6]="Method",e[e.Property=7]="Property",e[e.Field=8]="Field",e[e.Constructor=9]="Constructor",e[e.Enum=10]="Enum",e[e.Interface=11]="Interface",e[e.Function=12]="Function",e[e.Variable=13]="Variable",e[e.Constant=14]="Constant",e[e.String=15]="String",e[e.Number=16]="Number",e[e.Boolean=17]="Boolean",e[e.Array=18]="Array",e[e.Object=19]="Object",e[e.Key=20]="Key",e[e.Null=21]="Null",e[e.EnumMember=22]="EnumMember",e[e.Struct=23]="Struct",e[e.Event=24]="Event",e[e.Operator=25]="Operator",e[e.TypeParameter=26]="TypeParameter",e})({}),ot=(function(e){return e[e.Deprecated=1]="Deprecated",e})({}),ze=(function(e){return e[e.Type=1]="Type",e[e.Parameter=2]="Parameter",e})({}),Zt=(function(e){return e[e.None=0]="None",e[e.Full=1]="Full",e[e.Incremental=2]="Incremental",e})({}),D=(function(e){return e[e.Text=1]="Text",e[e.Method=2]="Method",e[e.Function=3]="Function",e[e.Constructor=4]="Constructor",e[e.Field=5]="Field",e[e.Variable=6]="Variable",e[e.Class=7]="Class",e[e.Interface=8]="Interface",e[e.Module=9]="Module",e[e.Property=10]="Property",e[e.Unit=11]="Unit",e[e.Value=12]="Value",e[e.Enum=13]="Enum",e[e.Keyword=14]="Keyword",e[e.Snippet=15]="Snippet",e[e.Color=16]="Color",e[e.File=17]="File",e[e.Reference=18]="Reference",e[e.Folder=19]="Folder",e[e.EnumMember=20]="EnumMember",e[e.Constant=21]="Constant",e[e.Struct=22]="Struct",e[e.Event=23]="Event",e[e.Operator=24]="Operator",e[e.TypeParameter=25]="TypeParameter",e})({}),Kt=(function(e){return e[e.Deprecated=1]="Deprecated",e})({}),$t=(function(e){return e[e.PlainText=1]="PlainText",e[e.Snippet=2]="Snippet",e})({}),le=(function(e){return e[e.Text=1]="Text",e[e.Read=2]="Read",e[e.Write=3]="Write",e})({}),S=(function(e){return e.Empty="",e.QuickFix="quickfix",e.Refactor="refactor",e.RefactorExtract="refactor.extract",e.RefactorInline="refactor.inline",e.RefactorRewrite="refactor.rewrite",e.Source="source",e.SourceOrganizeImports="source.organizeImports",e.SourceFixAll="source.fixAll",e})({}),X=(function(e){return e.PlainText="plaintext",e.Markdown="markdown",e})({}),R=(function(e){return e[e.Error=1]="Error",e[e.Warning=2]="Warning",e[e.Information=3]="Information",e[e.Hint=4]="Hint",e})({}),Ne=(function(e){return e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated",e})({}),G=(function(e){return e[e.Invoked=1]="Invoked",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=3]="TriggerForIncompleteCompletions",e})({}),Q=(function(e){return e[e.Invoked=1]="Invoked",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange",e})({}),de=(function(e){return e[e.Invoked=1]="Invoked",e[e.Automatic=2]="Automatic",e})({}),er=(function(e){return e.Relative="relative",e})({}),p=class{constructor(e){this.method=e}},d={textDocumentImplementation:new p("textDocument/implementation"),textDocumentTypeDefinition:new p("textDocument/typeDefinition"),textDocumentDocumentColor:new p("textDocument/documentColor"),textDocumentColorPresentation:new p("textDocument/colorPresentation"),textDocumentFoldingRange:new p("textDocument/foldingRange"),textDocumentDeclaration:new p("textDocument/declaration"),textDocumentSelectionRange:new p("textDocument/selectionRange"),textDocumentPrepareCallHierarchy:new p("textDocument/prepareCallHierarchy"),textDocumentSemanticTokensFull:new p("textDocument/semanticTokens/full"),textDocumentSemanticTokensFullDelta:new p("textDocument/semanticTokens/full/delta"),textDocumentLinkedEditingRange:new p("textDocument/linkedEditingRange"),workspaceWillCreateFiles:new p("workspace/willCreateFiles"),workspaceWillRenameFiles:new p("workspace/willRenameFiles"),workspaceWillDeleteFiles:new p("workspace/willDeleteFiles"),textDocumentMoniker:new p("textDocument/moniker"),textDocumentPrepareTypeHierarchy:new p("textDocument/prepareTypeHierarchy"),textDocumentInlineValue:new p("textDocument/inlineValue"),textDocumentInlayHint:new p("textDocument/inlayHint"),textDocumentDiagnostic:new p("textDocument/diagnostic"),textDocumentInlineCompletion:new p("textDocument/inlineCompletion"),textDocumentWillSaveWaitUntil:new p("textDocument/willSaveWaitUntil"),textDocumentCompletion:new p("textDocument/completion"),textDocumentHover:new p("textDocument/hover"),textDocumentSignatureHelp:new p("textDocument/signatureHelp"),textDocumentDefinition:new p("textDocument/definition"),textDocumentReferences:new p("textDocument/references"),textDocumentDocumentHighlight:new p("textDocument/documentHighlight"),textDocumentDocumentSymbol:new p("textDocument/documentSymbol"),textDocumentCodeAction:new p("textDocument/codeAction"),workspaceSymbol:new p("workspace/symbol"),textDocumentCodeLens:new p("textDocument/codeLens"),textDocumentDocumentLink:new p("textDocument/documentLink"),textDocumentFormatting:new p("textDocument/formatting"),textDocumentRangeFormatting:new p("textDocument/rangeFormatting"),textDocumentRangesFormatting:new p("textDocument/rangesFormatting"),textDocumentOnTypeFormatting:new p("textDocument/onTypeFormatting"),textDocumentRename:new p("textDocument/rename"),workspaceExecuteCommand:new p("workspace/executeCommand"),workspaceDidCreateFiles:new p("workspace/didCreateFiles"),workspaceDidRenameFiles:new p("workspace/didRenameFiles"),workspaceDidDeleteFiles:new p("workspace/didDeleteFiles"),workspaceDidChangeConfiguration:new p("workspace/didChangeConfiguration"),textDocumentDidOpen:new p("textDocument/didOpen"),textDocumentDidChange:new p("textDocument/didChange"),textDocumentDidClose:new p("textDocument/didClose"),textDocumentDidSave:new p("textDocument/didSave"),textDocumentWillSave:new p("textDocument/willSave"),workspaceDidChangeWatchedFiles:new p("workspace/didChangeWatchedFiles")},O=Xt({server:{textDocumentImplementation:m({method:"textDocument/implementation"}),textDocumentTypeDefinition:m({method:"textDocument/typeDefinition"}),textDocumentDocumentColor:m({method:"textDocument/documentColor"}),textDocumentColorPresentation:m({method:"textDocument/colorPresentation"}),textDocumentFoldingRange:m({method:"textDocument/foldingRange"}),textDocumentDeclaration:m({method:"textDocument/declaration"}),textDocumentSelectionRange:m({method:"textDocument/selectionRange"}),textDocumentPrepareCallHierarchy:m({method:"textDocument/prepareCallHierarchy"}),callHierarchyIncomingCalls:m({method:"callHierarchy/incomingCalls"}),callHierarchyOutgoingCalls:m({method:"callHierarchy/outgoingCalls"}),textDocumentSemanticTokensFull:m({method:"textDocument/semanticTokens/full"}),textDocumentSemanticTokensFullDelta:m({method:"textDocument/semanticTokens/full/delta"}),textDocumentSemanticTokensRange:m({method:"textDocument/semanticTokens/range"}),textDocumentLinkedEditingRange:m({method:"textDocument/linkedEditingRange"}),workspaceWillCreateFiles:m({method:"workspace/willCreateFiles"}),workspaceWillRenameFiles:m({method:"workspace/willRenameFiles"}),workspaceWillDeleteFiles:m({method:"workspace/willDeleteFiles"}),textDocumentMoniker:m({method:"textDocument/moniker"}),textDocumentPrepareTypeHierarchy:m({method:"textDocument/prepareTypeHierarchy"}),typeHierarchySupertypes:m({method:"typeHierarchy/supertypes"}),typeHierarchySubtypes:m({method:"typeHierarchy/subtypes"}),textDocumentInlineValue:m({method:"textDocument/inlineValue"}),textDocumentInlayHint:m({method:"textDocument/inlayHint"}),inlayHintResolve:m({method:"inlayHint/resolve"}),textDocumentDiagnostic:m({method:"textDocument/diagnostic"}),workspaceDiagnostic:m({method:"workspace/diagnostic"}),textDocumentInlineCompletion:m({method:"textDocument/inlineCompletion"}),initialize:m({method:"initialize"}),shutdown:m({method:"shutdown"}),textDocumentWillSaveWaitUntil:m({method:"textDocument/willSaveWaitUntil"}),textDocumentCompletion:m({method:"textDocument/completion"}),completionItemResolve:m({method:"completionItem/resolve"}),textDocumentHover:m({method:"textDocument/hover"}),textDocumentSignatureHelp:m({method:"textDocument/signatureHelp"}),textDocumentDefinition:m({method:"textDocument/definition"}),textDocumentReferences:m({method:"textDocument/references"}),textDocumentDocumentHighlight:m({method:"textDocument/documentHighlight"}),textDocumentDocumentSymbol:m({method:"textDocument/documentSymbol"}),textDocumentCodeAction:m({method:"textDocument/codeAction"}),codeActionResolve:m({method:"codeAction/resolve"}),workspaceSymbol:m({method:"workspace/symbol"}),workspaceSymbolResolve:m({method:"workspaceSymbol/resolve"}),textDocumentCodeLens:m({method:"textDocument/codeLens"}),codeLensResolve:m({method:"codeLens/resolve"}),textDocumentDocumentLink:m({method:"textDocument/documentLink"}),documentLinkResolve:m({method:"documentLink/resolve"}),textDocumentFormatting:m({method:"textDocument/formatting"}),textDocumentRangeFormatting:m({method:"textDocument/rangeFormatting"}),textDocumentRangesFormatting:m({method:"textDocument/rangesFormatting"}),textDocumentOnTypeFormatting:m({method:"textDocument/onTypeFormatting"}),textDocumentRename:m({method:"textDocument/rename"}),textDocumentPrepareRename:m({method:"textDocument/prepareRename"}),workspaceExecuteCommand:m({method:"workspace/executeCommand"}),workspaceDidChangeWorkspaceFolders:h({method:"workspace/didChangeWorkspaceFolders"}),windowWorkDoneProgressCancel:h({method:"window/workDoneProgress/cancel"}),workspaceDidCreateFiles:h({method:"workspace/didCreateFiles"}),workspaceDidRenameFiles:h({method:"workspace/didRenameFiles"}),workspaceDidDeleteFiles:h({method:"workspace/didDeleteFiles"}),notebookDocumentDidOpen:h({method:"notebookDocument/didOpen"}),notebookDocumentDidChange:h({method:"notebookDocument/didChange"}),notebookDocumentDidSave:h({method:"notebookDocument/didSave"}),notebookDocumentDidClose:h({method:"notebookDocument/didClose"}),initialized:h({method:"initialized"}),exit:h({method:"exit"}),workspaceDidChangeConfiguration:h({method:"workspace/didChangeConfiguration"}),textDocumentDidOpen:h({method:"textDocument/didOpen"}),textDocumentDidChange:h({method:"textDocument/didChange"}),textDocumentDidClose:h({method:"textDocument/didClose"}),textDocumentDidSave:h({method:"textDocument/didSave"}),textDocumentWillSave:h({method:"textDocument/willSave"}),workspaceDidChangeWatchedFiles:h({method:"workspace/didChangeWatchedFiles"}),setTrace:h({method:"$/setTrace"}),cancelRequest:h({method:"$/cancelRequest"}),progress:h({method:"$/progress"})},client:{workspaceWorkspaceFolders:m({method:"workspace/workspaceFolders"}).optional(),workspaceConfiguration:m({method:"workspace/configuration"}).optional(),workspaceFoldingRangeRefresh:m({method:"workspace/foldingRange/refresh"}).optional(),windowWorkDoneProgressCreate:m({method:"window/workDoneProgress/create"}).optional(),workspaceSemanticTokensRefresh:m({method:"workspace/semanticTokens/refresh"}).optional(),windowShowDocument:m({method:"window/showDocument"}).optional(),workspaceInlineValueRefresh:m({method:"workspace/inlineValue/refresh"}).optional(),workspaceInlayHintRefresh:m({method:"workspace/inlayHint/refresh"}).optional(),workspaceDiagnosticRefresh:m({method:"workspace/diagnostic/refresh"}).optional(),clientRegisterCapability:m({method:"client/registerCapability"}).optional(),clientUnregisterCapability:m({method:"client/unregisterCapability"}).optional(),windowShowMessageRequest:m({method:"window/showMessageRequest"}).optional(),workspaceCodeLensRefresh:m({method:"workspace/codeLens/refresh"}).optional(),workspaceApplyEdit:m({method:"workspace/applyEdit"}).optional(),windowShowMessage:h({method:"window/showMessage"}),windowLogMessage:h({method:"window/logMessage"}),telemetryEvent:h({method:"telemetry/event"}),textDocumentPublishDiagnostics:h({method:"textDocument/publishDiagnostics"}),logTrace:h({method:"$/logTrace"}),cancelRequest:h({method:"$/cancelRequest"}),progress:h({method:"$/progress"})}});function T(e,t){if(e.textModel!==t)throw new Error(`Expected text model to be ${t}, but got ${e.textModel}`);return e}var x=(ae=class{constructor(){l(this,"_store",new xe)}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}},l(ae,"None",Object.freeze({dispose(){}})),ae),xe=(J=class{constructor(){l(this,"_toDispose",new Set),l(this,"_isDisposed",!1)}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){if(this._toDispose.size!==0)try{for(let e of this._toDispose)e.dispose()}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?J.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}},l(J,"DISABLE_DISPOSED_WARNING",!1),J),nt=new Map([[S.Empty,""],[S.QuickFix,"quickfix"],[S.Refactor,"refactor"],[S.RefactorExtract,"refactor.extract"],[S.RefactorInline,"refactor.inline"],[S.RefactorRewrite,"refactor.rewrite"],[S.Source,"source"],[S.SourceOrganizeImports,"source.organizeImports"],[S.SourceFixAll,"source.fixAll"]]);function tr(e){if(e)return nt.get(e)??e}var rr=new Map([[a.CodeActionTriggerType.Invoke,de.Invoked],[a.CodeActionTriggerType.Auto,de.Automatic]]);function ir(e){return rr.get(e)??de.Invoked}var st=new Map([[D.Text,a.CompletionItemKind.Text],[D.Method,a.CompletionItemKind.Method],[D.Function,a.CompletionItemKind.Function],[D.Constructor,a.CompletionItemKind.Constructor],[D.Field,a.CompletionItemKind.Field],[D.Variable,a.CompletionItemKind.Variable],[D.Class,a.CompletionItemKind.Class],[D.Interface,a.CompletionItemKind.Interface],[D.Module,a.CompletionItemKind.Module],[D.Property,a.CompletionItemKind.Property],[D.Unit,a.CompletionItemKind.Unit],[D.Value,a.CompletionItemKind.Value],[D.Enum,a.CompletionItemKind.Enum],[D.Keyword,a.CompletionItemKind.Keyword],[D.Snippet,a.CompletionItemKind.Snippet],[D.Color,a.CompletionItemKind.Color],[D.File,a.CompletionItemKind.File],[D.Reference,a.CompletionItemKind.Reference],[D.Folder,a.CompletionItemKind.Folder],[D.EnumMember,a.CompletionItemKind.EnumMember],[D.Constant,a.CompletionItemKind.Constant],[D.Struct,a.CompletionItemKind.Struct],[D.Event,a.CompletionItemKind.Event],[D.Operator,a.CompletionItemKind.Operator],[D.TypeParameter,a.CompletionItemKind.TypeParameter]]);function or(e){return e?st.get(e)??a.CompletionItemKind.Text:a.CompletionItemKind.Text}var at=new Map([[Kt.Deprecated,a.CompletionItemTag.Deprecated]]);function nr(e){return at.get(e)}var sr=new Map([[a.CompletionTriggerKind.Invoke,G.Invoked],[a.CompletionTriggerKind.TriggerCharacter,G.TriggerCharacter],[a.CompletionTriggerKind.TriggerForIncompleteCompletions,G.TriggerForIncompleteCompletions]]);function ar(e){return sr.get(e)??G.Invoked}var cr=new Map([[$t.Snippet,a.CompletionItemInsertTextRule.InsertAsSnippet]]);function lr(e){if(e)return cr.get(e)}var ct=new Map([[f.File,a.SymbolKind.File],[f.Module,a.SymbolKind.Module],[f.Namespace,a.SymbolKind.Namespace],[f.Package,a.SymbolKind.Package],[f.Class,a.SymbolKind.Class],[f.Method,a.SymbolKind.Method],[f.Property,a.SymbolKind.Property],[f.Field,a.SymbolKind.Field],[f.Constructor,a.SymbolKind.Constructor],[f.Enum,a.SymbolKind.Enum],[f.Interface,a.SymbolKind.Interface],[f.Function,a.SymbolKind.Function],[f.Variable,a.SymbolKind.Variable],[f.Constant,a.SymbolKind.Constant],[f.String,a.SymbolKind.String],[f.Number,a.SymbolKind.Number],[f.Boolean,a.SymbolKind.Boolean],[f.Array,a.SymbolKind.Array],[f.Object,a.SymbolKind.Object],[f.Key,a.SymbolKind.Key],[f.Null,a.SymbolKind.Null],[f.EnumMember,a.SymbolKind.EnumMember],[f.Struct,a.SymbolKind.Struct],[f.Event,a.SymbolKind.Event],[f.Operator,a.SymbolKind.Operator],[f.TypeParameter,a.SymbolKind.TypeParameter]]);function lt(e){return ct.get(e)??a.SymbolKind.File}var mr=new Map([[ot.Deprecated,a.SymbolTag.Deprecated]]);function mt(e){return mr.get(e)}var ur=new Map([[le.Text,a.DocumentHighlightKind.Text],[le.Read,a.DocumentHighlightKind.Read],[le.Write,a.DocumentHighlightKind.Write]]);function dr(e){return e?ur.get(e)??a.DocumentHighlightKind.Text:a.DocumentHighlightKind.Text}var pr=new Map([[E.Comment,a.FoldingRangeKind.Comment],[E.Imports,a.FoldingRangeKind.Imports],[E.Region,a.FoldingRangeKind.Region]]);function gr(e){if(e)return pr.get(e)}var hr=new Map([[w.Error,R.Error],[w.Warning,R.Warning],[w.Info,R.Information],[w.Hint,R.Hint]]);function fr(e){return hr.get(e)??R.Error}var xr=new Map([[R.Error,w.Error],[R.Warning,w.Warning],[R.Information,w.Info],[R.Hint,w.Hint]]);function Dr(e){return e?xr.get(e)??w.Error:w.Error}var ut=new Map([[Ne.Unnecessary,j.Unnecessary],[Ne.Deprecated,j.Deprecated]]);function _r(e){return ut.get(e)}var wr=new Map([[a.SignatureHelpTriggerKind.Invoke,Q.Invoked],[a.SignatureHelpTriggerKind.TriggerCharacter,Q.TriggerCharacter],[a.SignatureHelpTriggerKind.ContentChange,Q.ContentChange]]);function vr(e){return wr.get(e)??Q.Invoked}function H(e){if(e)return{id:e.command,title:e.title,arguments:e.arguments}}var br=new Map([[ze.Type,a.InlayHintKind.Type],[ze.Parameter,a.InlayHintKind.Parameter]]);function yr(e){return e?br.get(e)??a.InlayHintKind.Type:a.InlayHintKind.Type}function L(e,t){if("targetUri"in e){let r=t.bridge.translateBackRange({uri:e.targetUri},e.targetRange);return{uri:r.textModel.uri,range:r.range,originSelectionRange:e.originSelectionRange?t.bridge.translateBackRange({uri:e.targetUri},e.originSelectionRange).range:void 0,targetSelectionRange:e.targetSelectionRange?t.bridge.translateBackRange({uri:e.targetUri},e.targetSelectionRange).range:void 0}}else{let r=t.bridge.translateBackRange({uri:e.uri},e.range);return{uri:r.textModel.uri,range:r.range}}}function _(e){return!e||e.length===0?{language:"*"}:e.map(t=>"notebook"in t?typeof t.notebook=="string"?{notebookType:t.notebook,language:t.language}:{notebookType:t.notebook.notebookType,language:t.language,pattern:t.notebook.pattern,scheme:t.notebook.scheme}:{language:t.language,pattern:t.pattern,scheme:t.scheme})}function kr(e,t){if(!t)return!0;let r=e.getLanguageId();if(e.uri.toString(!0),!t||t.length===0)return!0;for(let i of t)if(!(i.language&&i.language!=="*"&&i.language!==r))return!0;return!1}function pe(e){let t={severity:Dr(e.severity),startLineNumber:e.range.start.line+1,startColumn:e.range.start.character+1,endLineNumber:e.range.end.line+1,endColumn:e.range.end.character+1,message:e.message,source:e.source,code:typeof e.code=="string"?e.code:e.code?.toString()};return e.tags&&(t.tags=e.tags.map(r=>_r(r)).filter(r=>r!==void 0)),e.relatedInformation&&(t.relatedInformation=e.relatedInformation.map(r=>({resource:z.parse(r.location.uri),startLineNumber:r.location.range.start.line+1,startColumn:r.location.range.start.character+1,endLineNumber:r.location.range.end.line+1,endColumn:r.location.range.end.character+1,message:r.message}))),t}var Cr=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{completion:{dynamicRegistration:!0,contextSupport:!0,completionItemKind:{valueSet:Array.from(st.keys())},completionItem:{tagSupport:{valueSet:Array.from(at.keys())},commitCharactersSupport:!0,deprecatedSupport:!0,preselectSupport:!0}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentCompletion,!0,t=>a.registerCompletionItemProvider(_(t.documentSelector),new Sr(this._connection,t))))}},Sr=class{constructor(e,t){l(this,"resolveCompletionItem"),this._client=e,this._capabilities=t,t.resolveProvider&&(this.resolveCompletionItem=async(r,i)=>(dt(r,await this._client.server.completionItemResolve(r._lspItem),this._client.bridge,r._translated,r._model),r))}get triggerCharacters(){return this._capabilities.triggerCharacters}async provideCompletionItems(e,t,r,i){let o=this._client.bridge.translate(e,t),s=await this._client.server.textDocumentCompletion({textDocument:o.textDocument,position:o.position,context:r.triggerCharacter?{triggerKind:ar(r.triggerKind),triggerCharacter:r.triggerCharacter}:void 0});return s?{suggestions:(Array.isArray(s)?s:s.items).map(c=>we(_e({},Rr(c,this._client.bridge,o,e,t)),{_lspItem:c,_translated:o,_model:e}))}:{suggestions:[]}}};function Rr(e,t,r,i,o){let s=e.insertText||e.label,c;e.textEdit&&("range"in e.textEdit?(s=e.textEdit.newText,c=T(t.translateBackRange(r.textDocument,e.textEdit.range),i).range):(s=e.textEdit.newText,c={insert:T(t.translateBackRange(r.textDocument,e.textEdit.insert),i).range,replace:T(t.translateBackRange(r.textDocument,e.textEdit.replace),i).range})),c||(c=M.fromPositions(o,o));let u={label:e.label,kind:or(e.kind),insertText:s,sortText:e.sortText,filterText:e.filterText,preselect:e.preselect,commitCharacters:e.commitCharacters,range:c};return dt(u,e,t,r,i),u}function dt(e,t,r,i,o){t.detail!==void 0&&(e.detail=t.detail),t.documentation!==void 0&&(e.documentation=Lr(t.documentation)),t.insertTextFormat!==void 0&&(e.insertTextRules=lr(t.insertTextFormat)),t.tags&&t.tags.length>0&&(e.tags=t.tags.map(nr).filter(s=>s!==void 0)),t.additionalTextEdits&&t.additionalTextEdits.length>0&&(e.additionalTextEdits=t.additionalTextEdits.map(s=>({range:T(r.translateBackRange(i.textDocument,s.range),o).range,text:s.newText}))),t.command&&(e.command=H(t.command))}function Lr(e){if(e)return typeof e=="string"?e:{value:e.value,isTrusted:!0}}var Tr=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{hover:{dynamicRegistration:!0,contentFormat:[X.Markdown,X.PlainText]}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentHover,!0,t=>a.registerHoverProvider(_(t.documentSelector),new Mr(this._connection,t))))}},Mr=class{constructor(e,t){this._client=e,this._capabilities=t}async provideHover(e,t,r){let i=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentHover({textDocument:i.textDocument,position:i.position});return!o||!o.contents?null:{contents:Fr(o.contents),range:o.range?this._client.bridge.translateBackRange(i.textDocument,o.range).range:void 0}}};function Fr(e){return Array.isArray(e)?e.map(t=>Be(t)):[Be(e)]}function Be(e){return typeof e=="string"?{value:e,isTrusted:!0}:"kind"in e?{value:e.value,isTrusted:!0}:{value:`\`\`\`${e.language}
4
+ ${e.value}
5
+ \`\`\``,isTrusted:!0}}var Pr=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{signatureHelp:{dynamicRegistration:!0,contextSupport:!0,signatureInformation:{documentationFormat:[X.Markdown,X.PlainText],parameterInformation:{labelOffsetSupport:!0},activeParameterSupport:!0}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentSignatureHelp,!0,t=>a.registerSignatureHelpProvider(_(t.documentSelector),new Er(this._connection,t))))}},Er=class{constructor(e,t){l(this,"signatureHelpTriggerCharacters"),l(this,"signatureHelpRetriggerCharacters"),this._client=e,this._capabilities=t,this.signatureHelpTriggerCharacters=t.triggerCharacters,this.signatureHelpRetriggerCharacters=t.retriggerCharacters}async provideSignatureHelp(e,t,r,i){let o=this._client.bridge.translate(e,t),s=await this._client.server.textDocumentSignatureHelp({textDocument:o.textDocument,position:o.position,context:{triggerKind:vr(i.triggerKind),triggerCharacter:i.triggerCharacter,isRetrigger:i.isRetrigger}});return s?{value:{signatures:s.signatures.map(c=>({label:c.label,documentation:We(c.documentation),parameters:c.parameters?.map(u=>({label:u.label,documentation:We(u.documentation)}))||[],activeParameter:c.activeParameter})),activeSignature:s.activeSignature||0,activeParameter:s.activeParameter||0},dispose:()=>{}}:null}};function We(e){if(e)return typeof e=="string"?e:{value:e.value,isTrusted:!0}}var Hr=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{definition:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentDefinition,!0,t=>a.registerDefinitionProvider(_(t.documentSelector),new Ir(this._connection,t))))}},Ir=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDefinition(e,t,r){let i=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentDefinition({textDocument:i.textDocument,position:i.position});return o?Array.isArray(o)?o.map(s=>L(s,this._client)):L(o,this._client):null}},Ar=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{declaration:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentDeclaration,!0,t=>a.registerDeclarationProvider(_(t.documentSelector),new Or(this._connection,t))))}},Or=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDeclaration(e,t,r){let i=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentDeclaration({textDocument:i.textDocument,position:i.position});return o?Array.isArray(o)?o.map(s=>L(s,this._client)):L(o,this._client):null}},qr=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{typeDefinition:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentTypeDefinition,!0,t=>a.registerTypeDefinitionProvider(_(t.documentSelector),new jr(this._connection,t))))}},jr=class{constructor(e,t){this._client=e,this._capabilities=t}async provideTypeDefinition(e,t,r){let i=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentTypeDefinition({textDocument:i.textDocument,position:i.position});return o?Array.isArray(o)?o.map(s=>L(s,this._client)):L(o,this._client):null}},zr=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{implementation:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentImplementation,!0,t=>a.registerImplementationProvider(_(t.documentSelector),new Nr(this._connection,t))))}},Nr=class{constructor(e,t){this._client=e,this._capabilities=t}async provideImplementation(e,t,r){let i=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentImplementation({textDocument:i.textDocument,position:i.position});return o?Array.isArray(o)?o.map(s=>L(s,this._client)):L(o,this._client):null}},Br=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{references:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentReferences,!0,t=>a.registerReferenceProvider(_(t.documentSelector),new Wr(this._connection,t))))}},Wr=class{constructor(e,t){this._client=e,this._capabilities=t}async provideReferences(e,t,r,i){let o=this._client.bridge.translate(e,t),s=await this._client.server.textDocumentReferences({textDocument:o.textDocument,position:o.position,context:{includeDeclaration:r.includeDeclaration}});return s?s.map(c=>{let u=this._client.bridge.translateBackRange({uri:c.uri},c.range);return{uri:u.textModel.uri,range:u.range}}):null}},Ur=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{documentHighlight:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentDocumentHighlight,!0,t=>a.registerDocumentHighlightProvider(_(t.documentSelector),new Vr(this._connection,t))))}},Vr=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentHighlights(e,t,r){let i=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentDocumentHighlight({textDocument:i.textDocument,position:i.position});return o?o.map(s=>({range:this._client.bridge.translateBackRange(i.textDocument,s.range).range,kind:dr(s.kind)})):null}},Jr=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{documentSymbol:{dynamicRegistration:!0,hierarchicalDocumentSymbolSupport:!0,symbolKind:{valueSet:Array.from(ct.keys())},tagSupport:{valueSet:[ot.Deprecated]}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentDocumentSymbol,!0,t=>a.registerDocumentSymbolProvider(_(t.documentSelector),new Gr(this._connection,t))))}},Gr=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentSymbols(e,t){let r=this._client.bridge.translate(e,new k(1,1)),i=await this._client.server.textDocumentDocumentSymbol({textDocument:r.textDocument});return i?Array.isArray(i)&&i.length>0?"location"in i[0]?i.map(o=>Qr(o,this._client)):i.map(o=>pt(o,this._client,r.textDocument)):[]:null}};function pt(e,t,r){return{name:e.name,detail:e.detail||"",kind:lt(e.kind),tags:e.tags?.map(i=>mt(i)).filter(i=>i!==void 0)||[],range:t.bridge.translateBackRange(r,e.range).range,selectionRange:t.bridge.translateBackRange(r,e.selectionRange).range,children:e.children?.map(i=>pt(i,t,r))||[]}}function Qr(e,t){return{name:e.name,detail:"",kind:lt(e.kind),tags:e.tags?.map(r=>mt(r)).filter(r=>r!==void 0)||[],range:t.bridge.translateBackRange({uri:e.location.uri},e.location.range).range,selectionRange:t.bridge.translateBackRange({uri:e.location.uri},e.location.range).range,children:[]}}var Xr=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{rename:{dynamicRegistration:!0,prepareSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentRename,!0,t=>a.registerRenameProvider(_(t.documentSelector),new Yr(this._connection,t))))}},Yr=class{constructor(e,t){this._client=e,this._capabilities=t}async provideRenameEdits(e,t,r,i){let o=this._client.bridge.translate(e,t),s=await this._client.server.textDocumentRename({textDocument:o.textDocument,position:o.position,newName:r});return s?Zr(s,this._client):null}async resolveRenameLocation(e,t,r){if(!this._capabilities.prepareProvider)return null;let i=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentPrepareRename({textDocument:i.textDocument,position:i.position});if(!o)return null;if("range"in o&&"placeholder"in o)return{range:this._client.bridge.translateBackRange(i.textDocument,o.range).range,text:o.placeholder};if("defaultBehavior"in o)return null;if("start"in o&&"end"in o){let s=this._client.bridge.translateBackRange(i.textDocument,o).range;return{range:s,text:e.getValueInRange(s)}}return null}};function Zr(e,t){let r=[];if(e.changes)for(let i in e.changes){let o=e.changes[i];for(let s of o){let c=t.bridge.translateBackRange({uri:i},s.range);r.push({resource:c.textModel.uri,versionId:void 0,textEdit:{range:c.range,text:s.newText}})}}if(e.documentChanges){for(let i of e.documentChanges)if("textDocument"in i){let o=i.textDocument.uri;for(let s of i.edits){let c=t.bridge.translateBackRange({uri:o},s.range);r.push({resource:c.textModel.uri,versionId:i.textDocument.version,textEdit:{range:c.range,text:s.newText}})}}}return{edits:r}}var Kr=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{codeAction:{dynamicRegistration:!0,codeActionLiteralSupport:{codeActionKind:{valueSet:Array.from(nt.keys())}},isPreferredSupport:!0,disabledSupport:!0,dataSupport:!0,resolveSupport:{properties:["edit"]}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentCodeAction,!0,t=>a.registerCodeActionProvider(_(t.documentSelector),new $r(this._connection,t))))}},$r=class{constructor(e,t){l(this,"resolveCodeAction"),this._client=e,this._capabilities=t,t.resolveProvider&&(this.resolveCodeAction=async(r,i)=>{if(r._lspAction){let o=await this._client.server.codeActionResolve(r._lspAction);o.edit&&(r.edit=Ue(o.edit,this._client)),o.command&&(r.command=H(o.command))}return r})}async provideCodeActions(e,t,r,i){let o=this._client.bridge.translate(e,t.getStartPosition()),s=await this._client.server.textDocumentCodeAction({textDocument:o.textDocument,range:this._client.bridge.translateRange(e,t),context:{diagnostics:r.markers.map(c=>({range:this._client.bridge.translateRange(e,M.lift(c)),message:c.message,severity:fr(c.severity)})),triggerKind:ir(r.trigger)}});return s?{actions:(Array.isArray(s)?s:[s]).map(c=>{if("title"in c&&!("kind"in c)){let u=c;return{title:u.title,command:H(u)}}else{let u=c;return{title:u.title,kind:tr(u.kind),isPreferred:u.isPreferred,disabled:u.disabled?.reason,edit:u.edit?Ue(u.edit,this._client):void 0,command:H(u.command),_lspAction:u}}}),dispose:()=>{}}:null}};function Ue(e,t){let r=[];if(e.changes)for(let i in e.changes){let o=e.changes[i];for(let s of o){let c=t.bridge.translateBackRange({uri:i},s.range);r.push({resource:c.textModel.uri,versionId:void 0,textEdit:{range:c.range,text:s.newText}})}}if(e.documentChanges){for(let i of e.documentChanges)if("textDocument"in i){let o=i.textDocument.uri;for(let s of i.edits){let c=t.bridge.translateBackRange({uri:o},s.range);r.push({resource:c.textModel.uri,versionId:i.textDocument.version??void 0,textEdit:{range:c.range,text:s.newText}})}}}return{edits:r}}var ei=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{codeLens:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentCodeLens,!0,t=>a.registerCodeLensProvider(_(t.documentSelector),new ti(this._connection,t))))}},ti=class{constructor(e,t){this._client=e,this._capabilities=t}async provideCodeLenses(e,t){let r=this._client.bridge.translate(e,new k(1,1)),i=await this._client.server.textDocumentCodeLens({textDocument:r.textDocument});return i?{lenses:i.map(o=>({range:T(this._client.bridge.translateBackRange(r.textDocument,o.range),e).range,command:H(o.command),_lspCodeLens:o})),dispose:()=>{}}:null}async resolveCodeLens(e,t,r){if(!this._capabilities.resolveProvider||!t._lspCodeLens)return t;let i=await this._client.server.codeLensResolve(t._lspCodeLens);return i.command&&(t.command={id:i.command.command,title:i.command.title,arguments:i.command.arguments}),t}},ri=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{documentLink:{dynamicRegistration:!0,tooltipSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentDocumentLink,!0,t=>a.registerLinkProvider(_(t.documentSelector),new ii(this._connection,t))))}},ii=class{constructor(e,t){this._client=e,this._capabilities=t}async provideLinks(e,t){let r=this._client.bridge.translate(e,new k(1,1)),i=await this._client.server.textDocumentDocumentLink({textDocument:r.textDocument});return i?{links:i.map(o=>({range:this._client.bridge.translateBackRange(r.textDocument,o.range).range,url:o.target,tooltip:o.tooltip}))}:null}async resolveLink(e,t){return this._capabilities.resolveProvider,e}},oi=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{formatting:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentFormatting,!0,t=>a.registerDocumentFormattingEditProvider(_(t.documentSelector),new ni(this._connection,t))))}},ni=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentFormattingEdits(e,t,r){let i=this._client.bridge.translate(e,new k(1,1)),o=await this._client.server.textDocumentFormatting({textDocument:i.textDocument,options:{tabSize:t.tabSize,insertSpaces:t.insertSpaces}});return o?o.map(s=>({range:this._client.bridge.translateBackRange(i.textDocument,s.range).range,text:s.newText})):null}},si=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{rangeFormatting:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentRangeFormatting,!0,t=>a.registerDocumentRangeFormattingEditProvider(_(t.documentSelector),new ai(this._connection,t))))}},ai=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentRangeFormattingEdits(e,t,r,i){let o=this._client.bridge.translate(e,t.getStartPosition()),s=await this._client.server.textDocumentRangeFormatting({textDocument:o.textDocument,range:this._client.bridge.translateRange(e,t),options:{tabSize:r.tabSize,insertSpaces:r.insertSpaces}});return s?s.map(c=>({range:this._client.bridge.translateBackRange(o.textDocument,c.range).range,text:c.newText})):null}},ci=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{onTypeFormatting:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentOnTypeFormatting,!0,t=>a.registerOnTypeFormattingEditProvider(_(t.documentSelector),new li(this._connection,t))))}},li=class{constructor(e,t){l(this,"autoFormatTriggerCharacters"),this._client=e,this._capabilities=t,this.autoFormatTriggerCharacters=[t.firstTriggerCharacter,...t.moreTriggerCharacter||[]]}async provideOnTypeFormattingEdits(e,t,r,i,o){let s=this._client.bridge.translate(e,t),c=await this._client.server.textDocumentOnTypeFormatting({textDocument:s.textDocument,position:s.position,ch:r,options:{tabSize:i.tabSize,insertSpaces:i.insertSpaces}});return c?c.map(u=>({range:this._client.bridge.translateBackRange(s.textDocument,u.range).range,text:u.newText})):null}},mi=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{foldingRange:{dynamicRegistration:!0,rangeLimit:5e3,lineFoldingOnly:!1,foldingRangeKind:{valueSet:[E.Comment,E.Imports,E.Region]}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentFoldingRange,!0,t=>a.registerFoldingRangeProvider(_(t.documentSelector),new ui(this._connection,t))))}},ui=class{constructor(e,t){this._client=e,this._capabilities=t}async provideFoldingRanges(e,t,r){let i=this._client.bridge.translate(e,new k(1,1)),o=await this._client.server.textDocumentFoldingRange({textDocument:i.textDocument});return o?o.map(s=>({start:s.startLine+1,end:s.endLine+1,kind:gr(s.kind)})):null}},di=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{selectionRange:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentSelectionRange,!0,t=>a.registerSelectionRangeProvider(_(t.documentSelector),new pi(this._connection,t))))}},pi=class{constructor(e,t){this._client=e,this._capabilities=t}async provideSelectionRanges(e,t,r){let i=this._client.bridge.translate(e,t[0]),o=await this._client.server.textDocumentSelectionRange({textDocument:i.textDocument,positions:t.map(s=>this._client.bridge.translate(e,s).position)});return o?o.map(s=>this.convertSelectionRange(s,i.textDocument)):null}convertSelectionRange(e,t){let r=[],i=e;for(;i;)r.push({range:this._client.bridge.translateBackRange(t,i.range).range}),i=i.parent;return r}},gi=class extends x{constructor(e){super(),l(this,"_providers",new Set),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{inlayHint:{dynamicRegistration:!0,resolveSupport:{properties:["tooltip","textEdits","label.tooltip","label.location","label.command"]}}},workspace:{inlayHint:{refreshSupport:!0}}})),this._register(this._connection.connection.registerRequestHandler(O.client.workspaceInlayHintRefresh,async()=>{for(let t of this._providers)t.refresh();return{ok:null}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentInlayHint,!0,t=>{let r=new hi(this._connection,t);this._providers.add(r);let i=a.registerInlayHintsProvider(_(t.documentSelector),r);return{dispose:()=>{this._providers.delete(r),i.dispose()}}}))}},hi=class{constructor(e,t){l(this,"_onDidChangeInlayHints",new y),l(this,"onDidChangeInlayHints",this._onDidChangeInlayHints.event),l(this,"resolveInlayHint"),this._client=e,this._capabilities=t,t.resolveProvider&&(this.resolveInlayHint=async(r,i)=>{let o=await this._client.server.inlayHintResolve(r._lspInlayHint);return o.tooltip&&(r.tooltip=ge(o.tooltip)),o.label!==r._lspInlayHint.label&&(r.label=Ve(o.label)),o.textEdits&&(r.textEdits=o.textEdits.map(s=>({range:this._client.bridge.translateBackRange({uri:r._targetUri},s.range).range,text:s.newText}))),r})}refresh(){this._onDidChangeInlayHints.fire()}async provideInlayHints(e,t,r){let i=this._client.bridge.translate(e,t.getStartPosition()),o=await fi(async()=>await this._client.server.textDocumentInlayHint({textDocument:i.textDocument,range:this._client.bridge.translateRange(e,t)}));return o?{hints:o.map(s=>({label:Ve(s.label),position:T(this._client.bridge.translateBack(i.textDocument,s.position),e).position,kind:yr(s.kind),tooltip:ge(s.tooltip),paddingLeft:s.paddingLeft,paddingRight:s.paddingRight,textEdits:s.textEdits?.map(c=>({range:T(this._client.bridge.translateBackRange(i.textDocument,c.range),e).range,text:c.newText})),_lspInlayHint:s,_targetUri:i.textDocument.uri})),dispose:()=>{}}:null}};async function fi(e){for(let t=3;;t--)try{return await e()}catch(r){if(r.message==="content modified"&&t>0)continue;throw r}}function Ve(e){return typeof e=="string"?e:e.map(t=>{let r={label:t.value,tooltip:ge(t.tooltip),command:H(t.command)};return t.location&&(r.location={uri:z.parse(t.location.uri),range:new M(t.location.range.start.line+1,t.location.range.start.character+1,t.location.range.end.line+1,t.location.range.end.character+1)}),r})}function ge(e){if(e)return typeof e=="string"?e:{value:e.value,isTrusted:!0}}var xi=class extends x{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{semanticTokens:{dynamicRegistration:!0,requests:{range:!0,full:{delta:!0}},tokenTypes:["namespace","type","class","enum","interface","struct","typeParameter","parameter","variable","property","enumMember","event","function","method","macro","keyword","modifier","comment","string","number","regexp","operator","decorator"],tokenModifiers:["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"],formats:[er.Relative],overlappingTokenSupport:!1,multilineTokenSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentSemanticTokensFull,!0,t=>a.registerDocumentSemanticTokensProvider(_(t.documentSelector),new Di(this._connection,t))))}},Di=class{constructor(e,t){this._client=e,this._capabilities=t}getLegend(){return{tokenTypes:this._capabilities.legend.tokenTypes,tokenModifiers:this._capabilities.legend.tokenModifiers}}releaseDocumentSemanticTokens(e){}async provideDocumentSemanticTokens(e,t,r){let i=this._client.bridge.translate(e,e.getPositionAt(0)),o=this._capabilities.full;if(t&&o&&typeof o=="object"&&o.delta){let c=await this._client.server.textDocumentSemanticTokensFullDelta({textDocument:i.textDocument,previousResultId:t});return c?"edits"in c?{resultId:c.resultId,edits:c.edits.map(u=>({start:u.start,deleteCount:u.deleteCount,data:u.data?new Uint32Array(u.data):void 0}))}:{resultId:c.resultId,data:new Uint32Array(c.data)}:null}let s=await this._client.server.textDocumentSemanticTokensFull({textDocument:i.textDocument});return s?{resultId:s.resultId,data:new Uint32Array(s.data)}:null}async provideDocumentSemanticTokensEdits(e,t,r){return this.provideDocumentSemanticTokens(e,t,r)}},_i=class extends x{constructor(e){super(),l(this,"_diagnosticsMarkerOwner","lsp"),l(this,"_pullDiagnosticProviders",new Map),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{publishDiagnostics:{relatedInformation:!0,tagSupport:{valueSet:[...ut.keys()]},versionSupport:!0,codeDescriptionSupport:!0,dataSupport:!0},diagnostic:{dynamicRegistration:!0,relatedDocumentSupport:!0}}}));debugger;this._register(this._connection.connection.registerNotificationHandler(O.client.textDocumentPublishDiagnostics,t=>this._handlePublishDiagnostics(t))),this._register(this._connection.capabilities.registerCapabilityHandler(d.textDocumentDiagnostic,!0,t=>{let r=new xe;for(let i of C.getModels())this._addPullDiagnosticProvider(i,t,r);return r.add(C.onDidCreateModel(i=>{this._addPullDiagnosticProvider(i,t,r)})),r}))}_addPullDiagnosticProvider(e,t,r){if(e.getLanguageId(),!kr(e,t.documentSelector))return;let i=new wi(e,this._connection,this._diagnosticsMarkerOwner,t);this._pullDiagnosticProviders.set(e,i),r.add(i),r.add(e.onWillDispose(()=>{this._pullDiagnosticProviders.delete(e)}))}_handlePublishDiagnostics(e){let t=e.uri;try{let r=this._connection.bridge.translateBack({uri:t},{line:0,character:0}).textModel;if(!r||r.isDisposed())return;let i=e.diagnostics.map(o=>pe(o));C.setModelMarkers(r,this._diagnosticsMarkerOwner,i)}catch(r){console.debug(`Could not set diagnostics for ${t}:`,r)}}},wi=class extends x{constructor(e,t,r,i){super(),l(this,"_updateHandle"),l(this,"_previousResultId"),this._model=e,this._connection=t,this._markerOwner=r,this._capability=i,this._register(this._model.onDidChangeContent(()=>{this._scheduleDiagnosticUpdate()})),this._scheduleDiagnosticUpdate()}_scheduleDiagnosticUpdate(){this._updateHandle!==void 0&&clearTimeout(this._updateHandle),this._updateHandle=window.setTimeout(()=>{this._updateHandle=void 0,this._requestDiagnostics()},500)}async _requestDiagnostics(){if(!this._model.isDisposed())try{let e=this._connection.bridge.translate(this._model,new k(1,1)),t=await this._connection.server.textDocumentDiagnostic({textDocument:e.textDocument,identifier:this._capability.identifier,previousResultId:this._previousResultId});if(this._model.isDisposed())return;this._handleDiagnosticReport(t)}catch(e){console.error("Error requesting diagnostics:",e)}}_handleDiagnosticReport(e){if(e.kind==="full"){this._previousResultId=e.resultId;let t=e.items.map(r=>pe(r));C.setModelMarkers(this._model,this._markerOwner,t),"relatedDocuments"in e&&e.relatedDocuments&&this._handleRelatedDocuments(e.relatedDocuments)}else e.kind==="unchanged"&&(this._previousResultId=e.resultId)}_handleRelatedDocuments(e){for(let[t,r]of Object.entries(e))try{let i=this._connection.bridge.translateBack({uri:t},{line:0,character:0}).textModel;if(!i||i.isDisposed())continue;if(r.kind==="full"){let o=r.items.map(s=>pe(s));C.setModelMarkers(i,this._markerOwner,o)}}catch(i){console.debug(`Could not set related diagnostics for ${t}:`,i)}}dispose(){this._updateHandle!==void 0&&(clearTimeout(this._updateHandle),this._updateHandle=void 0),super.dispose()}},vi=class{constructor(e,t,r,i){this.server=e,this.bridge=t,this.capabilities=r,this.connection=i}},bi=class extends x{constructor(e){super(),l(this,"_staticCapabilities",new Set),l(this,"_dynamicFromStatic",Ci.create()),l(this,"_registrations",new Map),l(this,"_serverCapabilities"),this._connection=e,this._register(this._connection.registerRequestHandler(O.client.clientRegisterCapability,async t=>{for(let r of t.registrations){let i=Ge(r.method),o=new Je(r.id,i,r.registerOptions,!1);this._registerCapabilityOptions(o)}return{ok:null}})),this._register(this._connection.registerRequestHandler(O.client.clientUnregisterCapability,async t=>{for(let r of t.unregisterations){let i=Ge(r.method),o=this._registrations.get(i),s=o?.registrations.get(r.id);if(!s)throw new Error(`No registration for method ${r.method} with id ${r.id}`);s?.handlerDisposables.forEach(c=>c.dispose()),o?.registrations.delete(r.id)}return{ok:null}}))}_registerCapabilityOptions(e){let t=this._registrations.get(e.capability);if(t||(t=new Qe,this._registrations.set(e.capability,t)),t.registrations.has(e.id))throw new Error(`Handler for method ${e.capability.method} with id ${e.id} already registered`);t.registrations.set(e.id,e);for(let r of t.handlers)!r.handleStaticCapability&&e.isFromStatic||e.handlerDisposables.set(r,r.handler(e.options))}setServerCapabilities(e){if(this._serverCapabilities)throw new Error("Server capabilities already set");this._serverCapabilities=e;for(let t of Object.values(d)){let r=this._dynamicFromStatic.getOptions(t,e);r&&this._registerCapabilityOptions(new Je(t.method,t,r,!0))}}getClientCapabilities(){let e={};for(let t of this._staticCapabilities)ht(e,t.cap);return e}addStaticClientCapabilities(e){let t={cap:e};return this._staticCapabilities.add(t),{dispose:()=>{this._staticCapabilities.delete(t)}}}registerCapabilityHandler(e,t,r){let i=this._registrations.get(e);i||(i=new Qe,this._registrations.set(e,i));let o=new yi(e,t,r);i.handlers.add(o);for(let s of i.registrations.values())!o.handleStaticCapability&&s.isFromStatic||s.handlerDisposables.set(o,r(s.options));return{dispose:()=>{i.handlers.delete(o);for(let s of i.registrations.values()){let c=s.handlerDisposables.get(o);c&&(c.dispose(),s.handlerDisposables.delete(o))}}}}},yi=class{constructor(e,t,r){this.capability=e,this.handleStaticCapability=t,this.handler=r}},Je=class{constructor(e,t,r,i){l(this,"handlerDisposables",new Map),this.id=e,this.capability=t,this.options=r,this.isFromStatic=i}},ki=new Map([...Object.values(d)].map(e=>[e.method,e]));function Ge(e){let t=ki.get(e);if(!t)throw new Error(`No capability found for method ${e}`);return t}var Qe=class{constructor(){l(this,"handlers",new Set),l(this,"registrations",new Map)}},Ci=class gt{constructor(){l(this,"_mappings",new Map)}static create(){let t=new gt;return t.set(d.textDocumentDidChange,r=>{if(r.textDocumentSync!==void 0)return typeof r.textDocumentSync=="object"?{syncKind:r.textDocumentSync.change??Zt.None,documentSelector:null}:{syncKind:r.textDocumentSync,documentSelector:null}}),t.set(d.textDocumentCompletion,r=>r.completionProvider),t.set(d.textDocumentHover,r=>r.hoverProvider),t.set(d.textDocumentSignatureHelp,r=>r.signatureHelpProvider),t.set(d.textDocumentDefinition,r=>r.definitionProvider),t.set(d.textDocumentReferences,r=>r.referencesProvider),t.set(d.textDocumentDocumentHighlight,r=>r.documentHighlightProvider),t.set(d.textDocumentDocumentSymbol,r=>r.documentSymbolProvider),t.set(d.textDocumentCodeAction,r=>r.codeActionProvider),t.set(d.textDocumentCodeLens,r=>r.codeLensProvider),t.set(d.textDocumentDocumentLink,r=>r.documentLinkProvider),t.set(d.textDocumentFormatting,r=>r.documentFormattingProvider),t.set(d.textDocumentRangeFormatting,r=>r.documentRangeFormattingProvider),t.set(d.textDocumentOnTypeFormatting,r=>r.documentOnTypeFormattingProvider),t.set(d.textDocumentRename,r=>r.renameProvider),t.set(d.textDocumentFoldingRange,r=>r.foldingRangeProvider),t.set(d.textDocumentDeclaration,r=>r.declarationProvider),t.set(d.textDocumentTypeDefinition,r=>r.typeDefinitionProvider),t.set(d.textDocumentImplementation,r=>r.implementationProvider),t.set(d.textDocumentDocumentColor,r=>r.colorProvider),t.set(d.textDocumentSelectionRange,r=>r.selectionRangeProvider),t.set(d.textDocumentLinkedEditingRange,r=>r.linkedEditingRangeProvider),t.set(d.textDocumentPrepareCallHierarchy,r=>r.callHierarchyProvider),t.set(d.textDocumentSemanticTokensFull,r=>r.semanticTokensProvider),t.set(d.textDocumentInlayHint,r=>r.inlayHintProvider),t.set(d.textDocumentInlineValue,r=>r.inlineValueProvider),t.set(d.textDocumentDiagnostic,r=>r.diagnosticProvider),t.set(d.textDocumentMoniker,r=>r.monikerProvider),t.set(d.textDocumentPrepareTypeHierarchy,r=>r.typeHierarchyProvider),t.set(d.workspaceSymbol,r=>r.workspaceSymbolProvider),t.set(d.workspaceExecuteCommand,r=>r.executeCommandProvider),t}set(t,r){if(this._mappings.has(t.method))throw new Error(`Capability for method ${t.method} already registered`);this._mappings.set(t.method,r)}getOptions(t,r){let i=this._mappings.get(t.method);if(i)return i(r)}};function ht(e,t){for(let r of Object.keys(t)){let i=t[r];if(i===void 0)continue;let o=e[r];if(o===void 0){e[r]=i;continue}if(typeof i!="object"||i===null){e[r]=i;continue}if(typeof o!="object"||o===null){e[r]=i;continue}ht(o,i)}}var Si=class extends x{constructor(e,t){super(),l(this,"_managedModels",new Map),l(this,"_managedModelsReverse",new Map),l(this,"_started",!1),this._server=e,this._capabilities=t,this._register(this._capabilities.addStaticClientCapabilities({textDocument:{synchronization:{dynamicRegistration:!0,willSave:!1,willSaveWaitUntil:!1,didSave:!1}}})),this._register(t.registerCapabilityHandler(d.textDocumentDidChange,!0,r=>{if(this._started)return{dispose:()=>{}};this._started=!0,this._register(C.onDidCreateModel(i=>{this._getOrCreateManagedModel(i)}));for(let i of C.getModels())this._getOrCreateManagedModel(i);return{dispose:()=>{}}}))}_getOrCreateManagedModel(e){if(!this._started)throw new Error("Not started");let t=e.uri.toString(!0).toLowerCase(),r=this._managedModels.get(e);return r||(r=new Ri(e,this._server),this._managedModels.set(e,r),this._managedModelsReverse.set(t,e)),e.onWillDispose(()=>{r.dispose(),this._managedModels.delete(e),this._managedModelsReverse.delete(t)}),r}translateBack(e,t){let r=e.uri.toLowerCase(),i=this._managedModelsReverse.get(r);if(!i)throw new Error(`No text model for uri ${r}`);return{textModel:i,position:new k(t.line+1,t.character+1)}}translateBackRange(e,t){let r=e.uri.toLowerCase(),i=this._managedModelsReverse.get(r);if(!i)throw new Error(`No text model for uri ${r}`);return{textModel:i,range:new M(t.start.line+1,t.start.character+1,t.end.line+1,t.end.character+1)}}translate(e,t){return{textDocument:{uri:e.uri.toString(!0)},position:{line:t.lineNumber-1,character:t.column-1}}}translateRange(e,t){return{start:{line:t.startLineNumber-1,character:t.startColumn-1},end:{line:t.endLineNumber-1,character:t.endColumn-1}}}},Ri=class extends x{constructor(e,t){super(),this._textModel=e,this._api=t;let r=e.uri.toString(!0).toLowerCase();this._api.textDocumentDidOpen({textDocument:{languageId:e.getLanguageId(),uri:r,version:e.getVersionId(),text:e.getValue()}}),this._register(e.onDidChangeContent(i=>{let o=i.changes.map(s=>Li(s));this._api.textDocumentDidChange({textDocument:{uri:r,version:e.getVersionId()},contentChanges:o})})),this._register({dispose:()=>{this._api.textDocumentDidClose({textDocument:{uri:r}})}})}};function Li(e){return{range:Ti(e.range),rangeLength:e.rangeLength,text:e.text}}function Ti(e){return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}var Mi=class{constructor(e){l(this,"_connection"),l(this,"_capabilitiesRegistry"),l(this,"_bridge"),l(this,"_initPromise");let t=me.fromTransport(e),r=O.getServer(t,{});t.startListen(),this._capabilitiesRegistry=new bi(t),this._bridge=new Si(r.server,this._capabilitiesRegistry),this._connection=new vi(r.server,this._bridge,this._capabilitiesRegistry,t),this.createFeatures(),this._initPromise=this._init()}async _init(){let e=await this._connection.server.initialize({processId:null,capabilities:this._capabilitiesRegistry.getClientCapabilities(),rootUri:null});this._connection.server.initialized({}),this._capabilitiesRegistry.setServerCapabilities(e.capabilities)}createFeatures(){let e=new xe;return e.add(new Cr(this._connection)),e.add(new Tr(this._connection)),e.add(new Pr(this._connection)),e.add(new Hr(this._connection)),e.add(new Ar(this._connection)),e.add(new qr(this._connection)),e.add(new zr(this._connection)),e.add(new Br(this._connection)),e.add(new Ur(this._connection)),e.add(new Jr(this._connection)),e.add(new Xr(this._connection)),e.add(new Kr(this._connection)),e.add(new ei(this._connection)),e.add(new ri(this._connection)),e.add(new oi(this._connection)),e.add(new si(this._connection)),e.add(new ci(this._connection)),e.add(new mi(this._connection)),e.add(new di(this._connection)),e.add(new gi(this._connection)),e.add(new xi(this._connection)),e.add(new _i(this._connection)),e}},F=null;typeof WebSocket<"u"?F=WebSocket:typeof MozWebSocket<"u"?F=MozWebSocket:typeof global<"u"?F=global.WebSocket||global.MozWebSocket:typeof window<"u"?F=window.WebSocket||window.MozWebSocket:typeof self<"u"&&(F=self.WebSocket||self.MozWebSocket);var Fi=F;function Pi(e){return"host"in e?{address:`${e.forceTls?"wss":"ws"}://${e.host}:${e.port}`}:e}var Ei=class he extends Xe{constructor(t){super(),l(this,"socket"),l(this,"errorEmitter",new fe),l(this,"onError",this.errorEmitter),this.socket=t,t.onmessage=r=>{try{let i=r.data;if(typeof i=="string"){let o=JSON.parse(i);this._dispatchReceivedMessage(o)}else throw new Error("Not supported")}catch(i){this.errorEmitter.fire({error:i})}},t.onclose=r=>{this._onConnectionClosed()}}static connectTo(t){let r=new Fi(Pi(t).address);return new Promise((i,o)=>{r.onerror=s=>{o(s)},r.onopen=()=>{i(new he(r))}})}static fromWebSocket(t){return new he(t)}close(){this.socket.close()}dispose(){this.close()}_sendImpl(t){let r=JSON.stringify(t);return new Promise((i,o)=>{this.socket.send(r,s=>{s?o(s):i()})})}toString(){return`${this.id}@${this.socket.url}`}},ft=class extends Xe{constructor(e,t=void 0,r=void 0){super(),l(this,"_windowLike"),l(this,"_source"),l(this,"_loadingState"),l(this,"_disposed",!1),l(this,"_messageHandler",({data:i,source:o})=>{this._source&&o!==this._source||typeof i=="object"&&i&&this._dispatchReceivedMessage(i)}),this._windowLike=e,this._source=t,this._loadingState=r,this._windowLike.addEventListener("message",this._messageHandler)}async _sendImpl(e){if(this._disposed)throw new Error("Transport is disposed");this._loadingState&&!this._loadingState.loaded&&await this._loadingState.onLoaded,this._windowLike.postMessage(e)}toString(){return`${this.id}@${this._windowLike}`}dispose(){this._disposed||(this._disposed=!0,this._windowLike.removeEventListener("message",this._messageHandler))}};function Hi(e){if(typeof window>"u")throw new Error("call this function from the main browser thread");return new ft(e)}function Ii(e){if(typeof window>"u")throw new Error("call this function from the main browser thread");return new ft(e.contentWindow,e.contentWindow,{loaded:window.document.readyState==="complete",onLoaded:new Promise(t=>{window.addEventListener("load",()=>t())})})}function De(){return ve}var Ai=globalThis.MonacoEnvironment;Ai?.globalAPI&&(globalThis.monaco=De());var Y=De();Y.languages.css=ee;Y.languages.html=re;Y.languages.typescript=be;Y.languages.json=oe;export{_t as CancellationTokenSource,y as Emitter,wt as KeyCode,vt as KeyMod,w as MarkerSeverity,j as MarkerTag,k as Position,M as Range,bt as Selection,yt as SelectionDirection,kt as Token,z as Uri,Ct as createWebWorker,ee as css,C as editor,re as html,oe as json,a as languages,xt as lsp,be as typescript};
@@ -0,0 +1,3 @@
1
+ function w($){let a=t=>t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),l=t=>a(t).replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>").replace(/`(.+?)`/g,'<code class="md-inline-code mono">$1</code>'),n=[],o=null,e=()=>{o&&(n.push(`</${o}>`),o=null)},c=$.split(`
2
+ `);for(let t=0;t<c.length;t++){let s=c[t]??"",m=s.match(/^```\s*([\w-]*)\s*$/);if(m){e();let i=m[1]??"",p=[];for(t++;t<c.length&&!/^```\s*$/.test(c[t]??"");)p.push(c[t]??""),t++;let d=i?` data-lang="${a(i)}"`:"",h=i?`<span class="md-pre-lang mono">${a(i)}</span>`:"";n.push(`<pre class="md-pre"${d}>${h}<code class="mono">${a(p.join(`
3
+ `))}</code></pre>`);continue}let g=i=>/^\s*\|.*\|\s*$/.test(i),f=i=>/^\s*\|?\s*:?-{3,}/.test(i)&&i.includes("|");if(g(s)&&f(c[t+1]??"")){e();let i=r=>r.trim().replace(/^\|/,"").replace(/\|$/,"").split("|").map(u=>u.trim()),p=i(s),d=[];for(t+=2;t<c.length&&g(c[t]??"");)d.push(i(c[t]??"")),t++;t--;let h=p.map(r=>`<th>${l(r)}</th>`).join(""),b=d.map(r=>`<tr>${r.map(u=>`<td>${l(u)}</td>`).join("")}</tr>`).join("");n.push(`<div class="md-table-scroll"><table class="md-table"><thead><tr>${h}</tr></thead><tbody>${b}</tbody></table></div>`);continue}if(s.startsWith("#### ")){e(),n.push(`<h5 class="md-h4">${l(s.slice(5))}</h5>`);continue}if(s.startsWith("### ")){e(),n.push(`<h4 class="md-h3">${l(s.slice(4))}</h4>`);continue}if(s.startsWith("## ")){e(),n.push(`<h3 class="md-h2">${l(s.slice(3))}</h3>`);continue}if(s.startsWith("# ")){e(),n.push(`<h2 class="md-h1">${l(s.slice(2))}</h2>`);continue}if(s.startsWith("@")){e(),n.push(`<div class="md-import mono">${a(s)}</div>`);continue}if(/^\s*> /.test(s)){e(),n.push(`<blockquote class="md-blockquote">${l(s.replace(/^\s*> /,""))}</blockquote>`);continue}if(/^\s*\d+\.\s+/.test(s)){o!=="ol"&&(e(),n.push('<ol class="md-ol">'),o="ol"),n.push(`<li>${l(s.replace(/^\s*\d+\.\s+/,""))}</li>`);continue}if(/^\s*- /.test(s)){o!=="ul"&&(e(),n.push('<ul class="md-list">'),o="ul"),n.push(`<li>${l(s.replace(/^\s*- /,""))}</li>`);continue}if(s.trim()===""){e(),n.push('<div class="md-spacer" aria-hidden="true"></div>');continue}e(),n.push(`<p class="md-p">${l(s)}</p>`)}return e(),n.join("")}export{w as a};
@@ -0,0 +1 @@
1
+ import{a as j}from"./chunk-7RNS77UP.js";import{a as A,b as R}from"./chunk-E44X4RH2.js";import{E as u,I as i,R as b,W as o,X as v,lb as g}from"./chunk-PDN6QYGJ.js";import{a as y,b as m}from"./chunk-Q7L6LLAK.js";var w="specship.lastOnline",l=class r{onlineSig=o(!0);lastOnlineAtSig=o(null);online=this.onlineSig.asReadonly();lastOnlineAt=this.lastOnlineAtSig.asReadonly();lastOnlineLabel=g(()=>{let t=this.lastOnlineAtSig();if(t===null)return null;let e=Date.now()-t;return e<1e4?"just now":e<6e4?`${Math.round(e/1e3)}s ago`:e<36e5?`${Math.round(e/6e4)}m ago`:e<864e5?`${Math.round(e/36e5)}h ago`:`${Math.round(e/864e5)}d ago`});constructor(){if(typeof localStorage<"u")try{let t=localStorage.getItem(w),e=t?Number(t):NaN;Number.isFinite(e)&&this.lastOnlineAtSig.set(e)}catch{}typeof window<"u"&&window.addEventListener("offline",()=>this.onlineSig.set(!1))}noteSuccess(){let t=Date.now();if(this.lastOnlineAtSig.set(t),typeof localStorage<"u")try{localStorage.setItem(w,String(t))}catch{}this.onlineSig()||this.onlineSig.set(!0)}noteOffline(){this.onlineSig()&&this.onlineSig.set(!1)}static \u0275fac=function(e){return new(e||r)};static \u0275prov=u({token:r,factory:r.\u0275fac,providedIn:"root"})};var f=class r{api=i(A);projects=i(j);connection=i(l);tickSig=o(0);loadingSig=o(!1);errorSig=o(null);lastRefreshSig=o(null);tick=this.tickSig.asReadonly();loading=this.loadingSig.asReadonly();error=this.errorSig.asReadonly();lastRefreshAt=this.lastRefreshSig.asReadonly();lastRefreshLabel=g(()=>{let t=this.lastRefreshSig();if(t===null)return null;let e=Date.now()-t;return e<5e3?"just now":e<6e4?`${Math.round(e/1e3)}s ago`:e<36e5?`${Math.round(e/6e4)}m ago`:`${Math.round(e/36e5)}h ago`});async triggerGlobalRefresh(){if(!this.loadingSig()){if(!this.connection.online()){this.errorSig.set("Offline \u2014 reconnect to refresh");return}this.loadingSig.set(!0),this.errorSig.set(null);try{let t=this.projects.projectQuery(),e=await this.api.post(`/api/refresh${t}`,{});(e.syncError||e.ingestError)&&this.errorSig.set([e.syncError,e.ingestError].filter(Boolean).join(" \xB7 ")),this.lastRefreshSig.set(Date.now()),this.tickSig.update(d=>d+1)}catch(t){this.errorSig.set(t instanceof Error?t.message:String(t))}finally{this.loadingSig.set(!1)}}}notifyLocalChange(){this.lastRefreshSig.set(Date.now()),this.tickSig.update(t=>t+1)}static \u0275fac=function(e){return new(e||r)};static \u0275prov=u({token:r,factory:r.\u0275fac,providedIn:"root"})};var _="specship.cache:";function M(r){if(typeof localStorage>"u")return null;try{let t=localStorage.getItem(_+r);if(!t)return null;let e=JSON.parse(t);if(e&&typeof e.ts=="number"&&"data"in e)return e}catch{}return null}function O(r,t){let e=Date.now();if(typeof localStorage>"u")return e;try{localStorage.setItem(_+r,JSON.stringify({data:t,ts:e}))}catch{}return e}function K(r,t){let e=o({data:null,loading:!0,error:null,source:"init",noProject:!1,stale:!1,cachedAt:null}),d=i(b),E=i(f),h=i(l),S=o(0),D=()=>{let a=t();if(!a){e.set({data:null,loading:!1,error:null,source:"init",noProject:!1,stale:!1,cachedAt:null});return}s&&s.abort(),s=new AbortController,e.update(n=>m(y({},n),{loading:!0,error:null,noProject:!1})),r.get(a,s.signal).then(n=>{let c=O(a,n);h.noteSuccess(),e.set({data:n,loading:!1,error:null,source:"api",noProject:!1,stale:!1,cachedAt:c})}).catch(n=>{if(n instanceof Error&&n.name==="AbortError")return;if(n instanceof R){h.noteSuccess();let p=n.status===409&&(n.code==="no_project"||n.code==="no_primary");e.set({data:null,loading:!1,error:p?null:n,source:"api",noProject:p,stale:!1,cachedAt:null});return}h.noteOffline();let c=M(a);c?e.set({data:c.data,loading:!1,error:null,source:"api",noProject:!1,stale:!0,cachedAt:c.ts}):e.set({data:null,loading:!1,error:n instanceof Error?n:new Error(String(n)),source:"api",noProject:!1,stale:!0,cachedAt:null})})},s=null;return v(()=>{t(),S(),E.tick(),D()}),d.onDestroy(()=>{s?.abort()}),{state:e,refetch:()=>S.update(a=>a+1)}}export{l as a,f as b,K as c};
@@ -0,0 +1,7 @@
1
+ import{a as y,b as R,c as x,d as C,e as ee,f as ne,g as V,h as te,i as ie,j as re,k as se,l as W,m as oe,n as F,o as M,p as P,q as z,r as q}from"./chunk-WFXJIXZE.js";import{a as D}from"./chunk-AZJVTPLU.js";import{m as d,n as b}from"./chunk-JTFXTIPE.js";import"./chunk-Q7L6LLAK.js";var le=120*1e3,E=class{constructor(t){this._defaults=t,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){if(!this._worker)return;Date.now()-this._lastUsedTime>le&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=D({moduleId:"vs/language/json/jsonWorker",createWorker:()=>new Worker(new URL("json.worker.js",import.meta.url),{type:"module"}),label:this._defaults.languageId,createData:{languageSettings:this._defaults.diagnosticsOptions,languageId:this._defaults.languageId,enableSchemaRequest:this._defaults.diagnosticsOptions.enableSchemaRequest}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...t){let i;return this._getClient().then(e=>{i=e}).then(e=>{if(this._worker)return this._worker.withSyncedResources(t)}).then(e=>i)}};function v(n,t=!1){let i=n.length,e=0,o="",c=0,s=16,l=0,a=0,T=0,w=0,u=0;function O(r,p){let k=0,m=0;for(;k<r;){let f=n.charCodeAt(e);if(f>=48&&f<=57)m=m*16+f-48;else if(f>=65&&f<=70)m=m*16+f-65+10;else if(f>=97&&f<=102)m=m*16+f-97+10;else break;e++,k++}return k<r&&(m=-1),m}function U(r){e=r,o="",c=0,s=16,u=0}function I(){let r=e;if(n.charCodeAt(e)===48)e++;else for(e++;e<n.length&&_(n.charCodeAt(e));)e++;if(e<n.length&&n.charCodeAt(e)===46)if(e++,e<n.length&&_(n.charCodeAt(e)))for(e++;e<n.length&&_(n.charCodeAt(e));)e++;else return u=3,n.substring(r,e);let p=e;if(e<n.length&&(n.charCodeAt(e)===69||n.charCodeAt(e)===101))if(e++,(e<n.length&&n.charCodeAt(e)===43||n.charCodeAt(e)===45)&&e++,e<n.length&&_(n.charCodeAt(e))){for(e++;e<n.length&&_(n.charCodeAt(e));)e++;p=e}else u=3;return n.substring(r,p)}function X(){let r="",p=e;for(;;){if(e>=i){r+=n.substring(p,e),u=2;break}let k=n.charCodeAt(e);if(k===34){r+=n.substring(p,e),e++;break}if(k===92){if(r+=n.substring(p,e),e++,e>=i){u=2;break}switch(n.charCodeAt(e++)){case 34:r+='"';break;case 92:r+="\\";break;case 47:r+="/";break;case 98:r+="\b";break;case 102:r+="\f";break;case 110:r+=`
2
+ `;break;case 114:r+="\r";break;case 116:r+=" ";break;case 117:let f=O(4);f>=0?r+=String.fromCharCode(f):u=4;break;default:u=5}p=e;continue}if(k>=0&&k<=31)if(A(k)){r+=n.substring(p,e),u=2;break}else u=6;e++}return r}function j(){if(o="",u=0,c=e,a=l,w=T,e>=i)return c=i,s=17;let r=n.charCodeAt(e);if(B(r)){do e++,o+=String.fromCharCode(r),r=n.charCodeAt(e);while(B(r));return s=15}if(A(r))return e++,o+=String.fromCharCode(r),r===13&&n.charCodeAt(e)===10&&(e++,o+=`
3
+ `),l++,T=e,s=14;switch(r){case 123:return e++,s=1;case 125:return e++,s=2;case 91:return e++,s=3;case 93:return e++,s=4;case 58:return e++,s=6;case 44:return e++,s=5;case 34:return e++,o=X(),s=10;case 47:let p=e-1;if(n.charCodeAt(e+1)===47){for(e+=2;e<i&&!A(n.charCodeAt(e));)e++;return o=n.substring(p,e),s=12}if(n.charCodeAt(e+1)===42){e+=2;let k=i-1,m=!1;for(;e<k;){let f=n.charCodeAt(e);if(f===42&&n.charCodeAt(e+1)===47){e+=2,m=!0;break}e++,A(f)&&(f===13&&n.charCodeAt(e)===10&&e++,l++,T=e)}return m||(e++,u=1),o=n.substring(p,e),s=13}return o+=String.fromCharCode(r),e++,s=16;case 45:if(o+=String.fromCharCode(r),e++,e===i||!_(n.charCodeAt(e)))return s=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return o+=I(),s=11;default:for(;e<i&&Z(r);)e++,r=n.charCodeAt(e);if(c!==e){switch(o=n.substring(c,e),o){case"true":return s=8;case"false":return s=9;case"null":return s=7}return s=16}return o+=String.fromCharCode(r),e++,s=16}}function Z(r){if(B(r)||A(r))return!1;switch(r){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function K(){let r;do r=j();while(r>=12&&r<=15);return r}return{setPosition:U,getPosition:()=>e,scan:t?K:j,getToken:()=>s,getTokenValue:()=>o,getTokenOffset:()=>c,getTokenLength:()=>e-c,getTokenStartLine:()=>a,getTokenStartCharacter:()=>c-w,getTokenError:()=>u}}function B(n){return n===32||n===9}function A(n){return n===10||n===13}function _(n){return n>=48&&n<=57}var ue=new Array(20).fill(0).map((n,t)=>" ".repeat(t)),L=200,fe={" ":{"\n":new Array(L).fill(0).map((n,t)=>`
4
+ `+" ".repeat(t)),"\r":new Array(L).fill(0).map((n,t)=>"\r"+" ".repeat(t)),"\r\n":new Array(L).fill(0).map((n,t)=>`\r
5
+ `+" ".repeat(t))}," ":{"\n":new Array(L).fill(0).map((n,t)=>`
6
+ `+" ".repeat(t)),"\r":new Array(L).fill(0).map((n,t)=>"\r"+" ".repeat(t)),"\r\n":new Array(L).fill(0).map((n,t)=>`\r
7
+ `+" ".repeat(t))}};var H=v;function Y(n){return{getInitialState:()=>new N(null,null,!1,null),tokenize:(t,i)=>we(n,t,i)}}var $="delimiter.bracket.json",Q="delimiter.array.json",ce="delimiter.colon.json",ae="delimiter.comma.json",pe="keyword.json",me="keyword.json",ge="string.value.json",ke="number.json",be="string.key.json",Te="comment.block.json",he="comment.line.json",h=class n{constructor(t,i){this.parent=t,this.type=i}static pop(t){return t?t.parent:null}static push(t,i){return new n(t,i)}static equals(t,i){if(!t&&!i)return!0;if(!t||!i)return!1;for(;t&&i;){if(t===i)return!0;if(t.type!==i.type)return!1;t=t.parent,i=i.parent}return!0}},N=class n{constructor(t,i,e,o){this._state=t,this.scanError=i,this.lastWasColon=e,this.parents=o}clone(){return new n(this._state,this.scanError,this.lastWasColon,this.parents)}equals(t){return t===this?!0:!t||!(t instanceof n)?!1:this.scanError===t.scanError&&this.lastWasColon===t.lastWasColon&&h.equals(this.parents,t.parents)}getStateData(){return this._state}setStateData(t){this._state=t}};function we(n,t,i,e=0){let o=0,c=!1;switch(i.scanError){case 2:t='"'+t,o=1;break;case 1:t="/*"+t,o=2;break}let s=H(t),l=i.lastWasColon,a=i.parents,T={tokens:[],endState:i.clone()};for(;;){let w=e+s.getPosition(),u="",O=s.scan();if(O===17)break;if(w===e+s.getPosition())throw new Error("Scanner did not advance, next 3 characters are: "+t.substr(s.getPosition(),3));switch(c&&(w-=o),c=o>0,O){case 1:a=h.push(a,0),u=$,l=!1;break;case 2:a=h.pop(a),u=$,l=!1;break;case 3:a=h.push(a,1),u=Q,l=!1;break;case 4:a=h.pop(a),u=Q,l=!1;break;case 6:u=ce,l=!0;break;case 5:u=ae,l=!1;break;case 8:case 9:u=pe,l=!1;break;case 7:u=me,l=!1;break;case 10:let I=(a?a.type:0)===1;u=l||I?ge:be,l=!1;break;case 11:u=ke,l=!1;break}switch(O){case 12:u=he;break;case 13:u=Te;break}T.endState=new N(i.getStateData(),s.getTokenError(),l,a),T.tokens.push({startIndex:w,scopes:u})}return T}var g;function at(){return new Promise((n,t)=>{if(!g)return t("JSON not registered!");n(g)})}var S=class extends y{constructor(t,i,e){super(t,i,e.onDidChange),this._disposables.push(d.onWillDisposeModel(o=>{this._resetSchema(o.uri)})),this._disposables.push(d.onDidChangeModelLanguage(o=>{this._resetSchema(o.model.uri)}))}_resetSchema(t){this._worker().then(i=>{i.resetSchema(t.toString())})}};function pt(n){let t=[],i=[],e=new E(n);t.push(e),g=(...s)=>e.getLanguageServiceWorker(...s);function o(){let{languageId:s,modeConfiguration:l}=n;J(i),l.documentFormattingEdits&&i.push(b.registerDocumentFormattingEditProvider(s,new F(g))),l.documentRangeFormattingEdits&&i.push(b.registerDocumentRangeFormattingEditProvider(s,new M(g))),l.completionItems&&i.push(b.registerCompletionItemProvider(s,new R(g,[" ",":",'"']))),l.hovers&&i.push(b.registerHoverProvider(s,new V(g))),l.documentSymbols&&i.push(b.registerDocumentSymbolProvider(s,new W(g))),l.tokens&&i.push(b.setTokensProvider(s,Y(!0))),l.colors&&i.push(b.registerColorProvider(s,new P(g))),l.foldingRanges&&i.push(b.registerFoldingRangeProvider(s,new z(g))),l.diagnostics&&i.push(new S(s,g,n)),l.selectionRanges&&i.push(b.registerSelectionRangeProvider(s,new q(g)))}o(),t.push(b.setLanguageConfiguration(n.languageId,_e));let c=n.modeConfiguration;return n.onDidChange(s=>{s.modeConfiguration!==c&&(c=s.modeConfiguration,o())}),t.push(G(i)),G(t)}function G(n){return{dispose:()=>J(n)}}function J(n){for(;n.length;)n.pop().dispose()}var _e={wordPattern:/(-?\d*\.\d\w*)|([^\[\{\]\}\:\"\,\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string"]},{open:"[",close:"]",notIn:["string"]},{open:'"',close:'"',notIn:["string"]}]};export{R as CompletionAdapter,ie as DefinitionAdapter,y as DiagnosticsAdapter,P as DocumentColorAdapter,F as DocumentFormattingEditProvider,te as DocumentHighlightAdapter,oe as DocumentLinkAdapter,M as DocumentRangeFormattingEditProvider,W as DocumentSymbolAdapter,z as FoldingRangeAdapter,V as HoverAdapter,re as ReferenceAdapter,se as RenameAdapter,q as SelectionRangeAdapter,E as WorkerManager,x as fromPosition,C as fromRange,at as getWorker,pt as setupMode,ee as toRange,ne as toTextEdit};
@@ -0,0 +1 @@
1
+ import{a as le}from"./chunk-SEXBRGYK.js";import{a as re}from"./chunk-G7VZT5KB.js";import{a as ae}from"./chunk-X2HTISHL.js";import{a as oe}from"./chunk-DTRN7FZR.js";import{b as ne,c as H}from"./chunk-GR72OOCN.js";import{a as Z,d as ee}from"./chunk-SHPTC4RL.js";import"./chunk-7RNS77UP.js";import{a as te}from"./chunk-E44X4RH2.js";import{Aa as x,C as j,Ga as $,I as M,Ia as E,Ka as d,M as D,N as I,R as F,Ta as C,Ua as z,Va as l,W as S,Wa as u,X as B,Xa as g,Ya as V,Za as J,aa as L,bb as Y,ea as o,gb as k,hb as K,ib as w,ka as W,lb as h,qa as A,ra as p,sa as m,ua as G,va as P,vb as Q,wa as O,xa as _,ya as a,yb as X,za as r,zb as ie}from"./chunk-PDN6QYGJ.js";import"./chunk-Q7L6LLAK.js";function se(i,t){let n=!t?.manualCleanup?t?.injector?.get(F)??M(F):null,s=_e(t?.equal),c;t?.requireSync?c=S({kind:0},{equal:s}):c=S({kind:1,value:t?.initialValue},{equal:s});let v,y=i.subscribe({next:f=>c.set({kind:1,value:f}),error:f=>{c.set({kind:2,error:f}),v?.()},complete:()=>{v?.()}});if(t?.requireSync&&c().kind===0)throw new j(601,!1);return v=n?.onDestroy(y.unsubscribe.bind(y)),h(()=>{let f=c();switch(f.kind){case 1:return f.value;case 2:throw f.error;case 0:throw new j(601,!1)}},{equal:t?.equal})}function _e(i=Object.is){return(t,e)=>t.kind===1&&e.kind===1&&i(t.value,e.value)}var xe=()=>["/sessions"],pe=(i,t)=>t.prompt.id,ge=(i,t)=>t.id,de=(i,t)=>t.name;function fe(i,t){if(i&1&&(a(0,"app-pill",7),l(1),r()),i&2){let e=d();_("color","var(--node-spec)")("bg","var(--node-spec-soft)"),o(),u(e.session().last_model)}}function ve(i,t){if(i&1&&l(0),i&2){let e=d(),n=d();J(" \xB7 ",n.fmtClock(e.started_at)," \u2013 ",n.fmtClock(e.ended_at)," (",n.fmtDurationSec(e.started_at,e.ended_at),") ")}}function be(i,t){if(i&1&&(a(0,"div",10),l(1),p(2,ve,1,3),r()),i&2){let e=t;o(),g("",e.project_path," "),o(),m(e.started_at&&e.ended_at?2:-1)}}function he(i,t){i&1&&(a(0,"div",14),l(1,"Loading session\u2026"),r())}function Ce(i,t){if(i&1){let e=$();a(0,"div",15)(1,"div",18),l(2,"Couldn't load session"),r(),a(3,"div",19),l(4),r(),a(5,"button",20),E("click",function(){D(e);let s=d();return I(s.forceRefresh())}),l(6,"Retry"),r()()}if(i&2){let e,n=d();o(4),u((e=n.resource.state().error)==null?null:e.message)}}function ye(i,t){i&1&&(a(0,"app-pill",59),x(1,"app-icon",72),l(2,"subagent "),r()),i&2&&(_("color","var(--node-route)")("bg","var(--node-route-soft)"),o(),_("size",10))}function ke(i,t){if(i&1&&x(0,"app-icon",60),i&2){let e=d().$implicit;_("size",12)("title",e.slashCommand)}}function Me(i,t){if(i&1&&l(0),i&2){let e=d().$implicit;g(" ",e.prompt.text.length>140?e.prompt.text.slice(0,140)+"\u2026":e.prompt.text," ")}}function Se(i,t){i&1&&(a(0,"span",62),l(1,"(assistant-only turn)"),r())}function we(i,t){if(i&1&&(a(0,"span",66),l(1),r()),i&2){let e=d().$implicit,n=d(2);o(),u(n.fmtDurationMs(e.prompt.durationMs))}}function Pe(i,t){if(i&1&&(a(0,"section",73)(1,"div",74),l(2,"User prompt"),r(),a(3,"pre",80),l(4),r()()),i&2){let e=d(2).$implicit;o(4),u(e.prompt.text)}}function Oe(i,t){if(i&1&&(a(0,"section",73)(1,"div",74),l(2,"Assistant response"),r(),x(3,"div",81),r()),i&2){let e=d(2).$implicit,n=d(2);o(3),_("innerHTML",n.renderAssistant(e.prompt.assistant_text),L)}}function Ee(i,t){if(i&1&&(a(0,"section",73)(1,"details",82)(2,"summary",83),l(3," Extended thinking "),a(4,"span",84),l(5,"(click to expand)"),r()(),x(6,"div",85),r()()),i&2){let e=d(2).$implicit,n=d(2);o(6),_("innerHTML",n.renderAssistant(e.prompt.thinking_text),L)}}function Te(i,t){if(i&1&&(a(0,"div",76)(1,"div",77),l(2,"Duration"),r(),a(3,"div",78),l(4),r()()),i&2){let e=d(2).$implicit,n=d(2);o(4),u(n.fmtDurationMs(e.prompt.durationMs))}}function De(i,t){if(i&1&&(a(0,"div",76)(1,"div",77),l(2,"Model"),r(),a(3,"div",78),l(4),r()()),i&2){let e=d(2).$implicit;o(4),u(e.prompt.model)}}function Ie(i,t){if(i&1&&(a(0,"div",87)(1,"span",88),l(2),r()()),i&2){let e=t.$implicit;_("title",e),o(2),u(e)}}function ze(i,t){if(i&1&&(a(0,"section",73)(1,"div",74),l(2),r(),a(3,"div",86),P(4,Ie,3,2,"div",87,G),r()()),i&2){let e=d(2).$implicit;o(2),g("Files touched \xB7 ",e.filesTouched.length),o(2),O(e.filesTouched)}}function Re(i,t){i&1&&l(0," \u203A ")}function Fe(i,t){if(i&1&&(a(0,"span",94),l(1),r()),i&2){let e=d().$implicit;o(),u(e.input_summary)}}function $e(i,t){if(i&1&&(a(0,"span",95),l(1),r()),i&2){let e=d().$implicit,n=d(5);o(),u(n.fmtBytes(e.result_length))}}function Be(i,t){if(i&1&&(a(0,"pre",96),l(1),r()),i&2){let e=d().$implicit,n=d(5);o(),u(n.formatToolInput(e.input_json))}}function Ne(i,t){if(i&1){let e=$();a(0,"div",90)(1,"button",91),E("click",function(){let s=D(e).$implicit,c=d(5);return I(c.toggleToolInput(s.id))}),a(2,"span",92),p(3,Re,1,0),r(),a(4,"span",93),l(5),r(),p(6,Fe,2,1,"span",94),x(7,"span",31),p(8,$e,2,1,"span",95),r(),p(9,Be,2,1,"pre",96),r()}if(i&2){let e=t.$implicit,n=d(5);o(),z("has-input",!!e.input_json)("expanded",n.isToolInputExpanded(e.id)),_("disabled",!e.input_json),A("aria-expanded",n.isToolInputExpanded(e.id)),o(),z("open",n.isToolInputExpanded(e.id)),o(),m(e.input_json?3:-1),o(),C("color",n.toolColor(e.tool_name)),o(),u(e.tool_name),o(),m(e.input_summary?6:-1),o(2),m(e.result_length?8:-1),o(),m(e.input_json&&n.isToolInputExpanded(e.id)?9:-1)}}function je(i,t){if(i&1&&(a(0,"section",73)(1,"div",74),l(2),r(),a(3,"div",89),P(4,Ne,10,15,"div",90,ge),r()()),i&2){let e=d(2).$implicit,n=d(2);o(2),V("Tool calls \xB7 ",e.tools.length," \xB7 returned ",n.fmtBytes(e.toolBytes)),o(2),O(e.tools)}}function Le(i,t){if(i&1&&(a(0,"div",71),p(1,Pe,5,1,"section",73),p(2,Oe,4,1,"section",73),p(3,Ee,7,1,"section",73),a(4,"section",73)(5,"div",74),l(6,"Token breakdown"),r(),a(7,"div",75)(8,"div",76)(9,"div",77),l(10,"Input"),r(),a(11,"div",78),l(12),r()(),a(13,"div",76)(14,"div",77),l(15,"Output"),r(),a(16,"div",78),l(17),r()(),a(18,"div",76)(19,"div",77),l(20,"Cache write"),r(),a(21,"div",78),l(22),r()(),a(23,"div",76)(24,"div",77),l(25,"Cache read"),r(),a(26,"div",78),l(27),r()(),a(28,"div",76)(29,"div",77),l(30,"Cost"),r(),a(31,"div",79),l(32),r()(),p(33,Te,5,1,"div",76),p(34,De,5,1,"div",76),r()(),p(35,ze,6,1,"section",73),p(36,je,6,2,"section",73),r()),i&2){let e=d().$implicit,n=d(2);o(),m(e.prompt.text?1:-1),o(),m(e.prompt.assistant_text?2:-1),o(),m(e.prompt.thinking_text?3:-1),o(9),u(n.fmtTokens(e.prompt.input_tokens)),o(5),u(n.fmtTokens(e.prompt.output_tokens)),o(5),u(n.fmtTokens(e.prompt.cache_creation_tokens)),o(5),u(n.fmtTokens(e.prompt.cache_read_tokens)),o(5),g("$",e.prompt.cost_usd.toFixed(4)),o(),m(e.prompt.durationMs?33:-1),o(),m(e.prompt.model?34:-1),o(),m(e.filesTouched.length>0?35:-1),o(),m(e.tools.length>0?36:-1)}}function Ae(i,t){if(i&1){let e=$();a(0,"div",34)(1,"button",56),E("click",function(){let s=D(e).$implicit,c=d(2);return I(c.toggleExpand(s.prompt.id))}),a(2,"span",57),l(3),r(),x(4,"span",58),k(5,"number"),p(6,ye,3,3,"app-pill",59),p(7,ke,1,2,"app-icon",60),a(8,"span",61),p(9,Me,1,1)(10,Se,2,0,"span",62),r(),a(11,"span",63),x(12,"app-icon",64),a(13,"span",65),l(14),r()(),p(15,we,2,1,"span",66),a(16,"span",67),l(17),r(),a(18,"span",68),l(19),k(20,"number"),r(),a(21,"span",69),l(22),r(),x(23,"app-icon",70),r(),p(24,Le,37,12,"div",71),r()}if(i&2){let e=t.$implicit,n=d(2);o(),z("expanded",n.isExpanded(e.prompt.id)),A("aria-expanded",n.isExpanded(e.prompt.id)),o(2),u(n.fmtClock(e.prompt.ts)),o(),C("background",n.cacheColor(e.prompt.cache_read_tokens>0?e.prompt.cache_read_tokens/(e.prompt.input_tokens+e.prompt.cache_creation_tokens+e.prompt.cache_read_tokens||1):0)),_("title","Cache: "+K(5,22,e.prompt.cache_read_tokens)),o(2),m(e.prompt.is_sidechain===1?6:-1),o(),m(e.slashCommand?7:-1),o(2),m(e.prompt.text?9:10),o(3),_("size",11),o(2),u(e.tools.length),o(),m(e.prompt.durationMs?15:-1),o(2),u(n.fmtTokens(e.totalTokens)),o(),C("color",n.cacheColor(e.totalTokens>0?(e.prompt.cache_read_tokens||0)/e.totalTokens:0)),o(),g(" ",e.totalTokens>0?w(20,24,(e.prompt.cache_read_tokens||0)/e.totalTokens*100,"1.0-0"):0,"% "),o(2),C("color",e.prompt.cost_usd>2.5?"var(--error)":"var(--text-primary)"),o(),g("$",e.prompt.cost_usd.toFixed(2)),o(),_("size",14),o(),m(n.isExpanded(e.prompt.id)?24:-1)}}function Ve(i,t){i&1&&(a(0,"div",17),l(1,"No prompts logged for this session yet."),r())}function He(i,t){if(i&1&&(a(0,"span",102),l(1),r()),i&2){let e=d().$implicit;o(),g("\xD7",e.count)}}function qe(i,t){if(i&1&&(a(0,"span",99),x(1,"app-icon",101),l(2),p(3,He,2,1,"span",102),r()),i&2){let e=t.$implicit;o(),_("size",10),o(),g("",e.name," "),o(),m(e.count>1?3:-1)}}function Ue(i,t){if(i&1&&(a(0,"span",102),l(1),r()),i&2){let e=d().$implicit;o(),g("\xD7",e.count)}}function We(i,t){if(i&1&&(a(0,"span",100),x(1,"app-icon",103),l(2),p(3,Ue,2,1,"span",102),r()),i&2){let e=t.$implicit;o(),_("size",10),o(),g("",e.name," "),o(),m(e.count>1?3:-1)}}function Ge(i,t){if(i&1&&(a(0,"div",97)(1,"div",36),l(2,"Commands & skills"),r(),a(3,"div",98),P(4,qe,4,3,"span",99,de),P(6,We,4,3,"span",100,de),r()()),i&2){let e=d();o(4),O(e.slashCommands),o(2),O(e.skills)}}function Je(i,t){if(i&1&&(a(0,"div",36),l(1),r(),x(2,"app-h-bars",104),a(3,"div",105),l(4,"bar = call count"),r()),i&2){let e=d(),n=d(2);o(),g("Tools used \xB7 ",e.byTool.length),o(),_("items",e.byTool)("fmt",n.fmtTokensFn)("color",n.toolBarColor)}}function Ye(i,t){if(i&1&&(p(0,Ge,8,0,"div",97),p(1,Je,5,4)),i&2){let e=t;m(e.slashCommands.length||e.skills.length?0:-1),o(),m(e.byTool.length?1:-1)}}function Ke(i,t){if(i&1&&(a(0,"div",43)(1,"span",108),l(2),r(),a(3,"div",31),x(4,"app-bar",109),r(),a(5,"span",110),l(6),r()()),i&2){let e=t.$implicit,n=d(3);o(2),u(n.fmtClock(e.prompt.ts)),o(2),_("frac",e.prompt.cost_usd/n.maxPromptCost())("color",e.prompt.cost_usd>2.5?"var(--error)":"var(--accent)"),o(2),g("$",e.prompt.cost_usd.toFixed(2))}}function Qe(i,t){if(i&1&&(a(0,"div",106),l(1,"Cost per prompt"),r(),a(2,"div",107),P(3,Ke,7,4,"div",43,pe),r()),i&2){let e=d(2);o(3),O(e.groups())}}function Xe(i,t){if(i&1){let e=$();a(0,"div",16)(1,"div",21)(2,"div",22)(3,"div",23)(4,"div",24),l(5,"Cost"),r(),a(6,"div",25),l(7),r()(),a(8,"div",23)(9,"div",24),l(10,"Prompts"),r(),a(11,"div",26),l(12),r()(),a(13,"div",23)(14,"div",24),l(15,"Window"),r(),a(16,"div",27),l(17),r()(),a(18,"div",23)(19,"div",24),l(20,"Cache hit"),r(),a(21,"div",26),l(22),k(23,"number"),r()(),a(24,"div",23)(25,"div",24),l(26,"Tool calls"),r(),a(27,"div",26),l(28),r()()(),a(29,"div",28)(30,"span",29),l(31),r(),a(32,"span",30),l(33,"click a prompt for full detail"),r(),x(34,"div",31),a(35,"button",32),E("click",function(){D(e);let s=d();return I(s.expandAll())}),l(36,"Expand all"),r(),a(37,"button",32),E("click",function(){D(e);let s=d();return I(s.collapseAll())}),l(38,"Collapse all"),r()(),a(39,"div",33),P(40,Ae,25,27,"div",34,pe,!1,Ve,2,0,"div",17),r()(),a(43,"div",35)(44,"div",36),l(45,"Token mix"),r(),a(46,"div",37),x(47,"div",38)(48,"div",39)(49,"div",40)(50,"div",41),r(),a(51,"div",42)(52,"div",43),x(53,"span",44),a(54,"span",45),l(55,"Input"),r(),a(56,"span",46),l(57),r(),a(58,"span",47),l(59),k(60,"number"),r()(),a(61,"div",43),x(62,"span",48),a(63,"span",45),l(64,"Output"),r(),a(65,"span",46),l(66),r(),a(67,"span",47),l(68),k(69,"number"),r()(),a(70,"div",43),x(71,"span",49),a(72,"span",45),l(73,"Cache write"),r(),a(74,"span",46),l(75),r(),a(76,"span",47),l(77),k(78,"number"),r()(),a(79,"div",43),x(80,"span",50),a(81,"span",45),l(82,"Cache read"),r(),a(83,"span",46),l(84),r(),a(85,"span",47),l(86),k(87,"number"),r()()(),a(88,"div",51)(89,"div",43),x(90,"app-icon",52),a(91,"span",53),l(92,"Cache effectiveness"),r()(),a(93,"div",54)(94,"span",55),l(95),k(96,"number"),r(),a(97,"span",53),l(98,"of input served from cache"),r()()(),p(99,Ye,2,2),p(100,Qe,5,0),r()()}if(i&2){let e,n=t,s=d();o(7),g("$",n.total_cost_usd.toFixed(2)),o(5),u(n.prompt_count),o(5),V(" ",s.fmtClock(n.started_at)," \u2013 ",s.fmtClock(n.ended_at).split(" ").pop()," "),o(4),C("color",s.cacheColor(s.cacheReadRate())),o(),g(" ",w(23,34,s.cacheReadRate()*100,"1.0-0"),"% "),o(6),u(s.totalToolCalls()),o(3),g("Prompt timeline \xB7 ",s.groups().length),o(9),O(s.groups()),o(7),C("width",s.tokPct("input"),"%"),_("title","Input: "+s.fmtTokens(n.total_input_tokens)),o(),C("width",s.tokPct("output"),"%"),_("title","Output: "+s.fmtTokens(n.total_output_tokens)),o(),C("width",s.tokPct("cacheWrite"),"%"),_("title","Cache write: "+s.fmtTokens(n.total_cache_creation_tokens)),o(),C("width",s.tokPct("cacheRead"),"%"),_("title","Cache read: "+s.fmtTokens(n.total_cache_read_tokens)),o(7),u(s.fmtTokens(n.total_input_tokens)),o(2),g("",w(60,37,s.tokPct("input"),"1.0-0"),"%"),o(7),u(s.fmtTokens(n.total_output_tokens)),o(2),g("",w(69,40,s.tokPct("output"),"1.0-0"),"%"),o(7),u(s.fmtTokens(n.total_cache_creation_tokens)),o(2),g("",w(78,43,s.tokPct("cacheWrite"),"1.0-0"),"%"),o(7),u(s.fmtTokens(n.total_cache_read_tokens)),o(2),g("",w(87,46,s.tokPct("cacheRead"),"1.0-0"),"%"),o(4),_("size",13),o(5),g("",w(96,49,s.cacheReadRate()*100,"1.0-0"),"%"),o(4),m((e=s.summaryData())?99:-1,e),o(),m(s.groups().length>0?100:-1)}}function Ze(i,t){i&1&&(a(0,"div",17),l(1,"Session not found."),r())}var et=5e3,tt=/<command-name>([^<]+)<\/command-name>/,nt=new Set(["Read","Edit","Write","NotebookEdit","MultiEdit"]),ce=class i{api=M(te);route=M(Z);sanitizer=M(X);destroyRef=M(F);refresh=M(ne);liveMode=S("idle");idSig=se(this.route.paramMap,{initialValue:this.route.snapshot.paramMap});id=h(()=>this.idSig().get("id")??"");localRefreshing=S(!1);expandedIds=S(new Set);expandedToolInputs=S(new Set);resource=H(this.api,()=>{let t=this.id();return t?`/api/claude/session/${encodeURIComponent(t)}`:null});summary=H(this.api,()=>{let t=this.id();return t?`/api/claude/session/${encodeURIComponent(t)}/summary`:null});session=h(()=>this.resource.state().data?.session??null);prompts=h(()=>this.resource.state().data?.prompts??[]);toolCalls=h(()=>this.resource.state().data?.toolCalls??[]);summaryData=h(()=>this.summary.state().data??null);groups=h(()=>{let t=this.prompts(),e=this.toolCalls(),n=new Map;for(let s of e){let c=n.get(s.prompt_id)??[];c.push(s),n.set(s.prompt_id,c)}return t.map(s=>{let c=n.get(s.id)??[],v=(s.input_tokens||0)+(s.output_tokens||0)+(s.cache_creation_tokens||0)+(s.cache_read_tokens||0),y=c.reduce((b,R)=>b+(R.result_length||0),0),f=s.text?tt.exec(s.text):null,T=f?f[1].trim():null,q=c.length>0?Math.max(...c.map(b=>b.ts||0)):0,me=q>s.ts?q-s.ts:0,N=new Map;for(let b of c)N.set(b.tool_name,(N.get(b.tool_name)??0)+1);let ue=Array.from(N.entries()).map(([b,R])=>({name:b,count:R,color:this.toolColor(b)})).sort((b,R)=>R.count-b.count),U=new Set;for(let b of c)nt.has(b.tool_name)&&b.input_summary&&U.add(b.input_summary);return{prompt:s,tools:c,totalTokens:v,toolBytes:y,slashCommand:T,durationMs:me,toolBreakdown:ue,filesTouched:Array.from(U)}})});totalToolCalls=h(()=>this.toolCalls().length);totalTokens=h(()=>{let t=this.session();return t&&(t.total_input_tokens||0)+(t.total_output_tokens||0)+(t.total_cache_creation_tokens||0)+(t.total_cache_read_tokens||0)||1});maxPromptCost=h(()=>{let t=this.groups();return Math.max(1e-4,...t.map(e=>e.prompt.cost_usd||0))});toolBarColor=t=>{let e=t.name;return e==="Read"?"var(--node-spec)":e==="Edit"||e==="Write"||e==="MultiEdit"?"var(--accent)":e==="Bash"?"var(--warn)":e==="Grep"||e==="Glob"?"var(--node-test)":e==="Task"?"var(--node-route)":e.startsWith("mcp__")?"var(--success)":"var(--node-code)"};cacheReadRate=h(()=>{let t=this.session();if(!t)return 0;let e=(t.total_input_tokens||0)+(t.total_cache_creation_tokens||0)+(t.total_cache_read_tokens||0);return e>0?(t.total_cache_read_tokens||0)/e:0});constructor(){B(()=>{!this.resource.state().loading&&this.localRefreshing()&&this.localRefreshing.set(!1)});let t=null,e=null,n=()=>{e!==null&&(clearInterval(e),e=null)},s=()=>{e===null&&(e=setInterval(()=>{typeof document<"u"&&document.visibilityState==="visible"&&this.resource.refetch()},et))},c=()=>{t&&(t(),t=null)},v=f=>{f&&(c(),t=this.api.openEventStream(`/api/claude/session/${encodeURIComponent(f)}/events`,T=>{T==="prompt_added"||T==="tool_call_added"?this.resource.refetch():T==="snapshot"?(this.liveMode.set("live"),n()):T==="stream_error"&&(this.liveMode.set("polling"),s())},()=>{this.liveMode.set("polling"),s()},["prompt_added","tool_call_added","snapshot","stream_error"]))},y=()=>{if(!(typeof document>"u"))if(document.visibilityState==="visible"){this.resource.refetch();let f=this.id();f&&this.liveMode()==="polling"&&v(f)}else n()};B(()=>{let f=this.id();if(c(),n(),!f){this.liveMode.set("idle");return}v(f)}),typeof document<"u"&&document.addEventListener("visibilitychange",y),this.destroyRef.onDestroy(()=>{c(),n(),this.liveMode.set("idle"),typeof document<"u"&&document.removeEventListener("visibilitychange",y)})}async forceRefresh(){this.localRefreshing.set(!0),await this.refresh.triggerGlobalRefresh()}isExpanded(t){return this.expandedIds().has(t)}toggleExpand(t){this.expandedIds.update(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})}expandAll(){this.expandedIds.set(new Set(this.prompts().map(t=>t.id)))}collapseAll(){this.expandedIds.set(new Set)}isToolInputExpanded(t){return this.expandedToolInputs().has(t)}toggleToolInput(t){this.expandedToolInputs.update(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})}renderAssistant(t){return this.sanitizer.bypassSecurityTrustHtml(re(t??""))}formatToolInput(t){if(!t)return"";try{return JSON.stringify(JSON.parse(t),null,2)}catch{return t}}fmtBytes(t){return t?t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} kB`:`${(t/(1024*1024)).toFixed(1)} MB`:"0"}fmtTokens(t){return t<1e3?`${t}`:t<1e6?`${(t/1e3).toFixed(1)}k`:`${(t/1e6).toFixed(2)}M`}fmtTokensFn=t=>this.fmtTokens(t);fmtClock(t){if(!t)return"";try{let e=new Date(t),n=new Date;n.setHours(0,0,0,0);let s=864e5,c=n.getTime()-new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime(),v=e.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"});return c===0?v:c===s?"Yest "+v:e.toLocaleDateString([],{month:"short",day:"numeric"})+" "+v}catch{return String(t)}}fmtDurationSec(t,e){if(!t||!e)return"";let n=Math.round((e-t)/1e3);if(n<60)return`${n}s`;let s=Math.floor(n/60),c=n%60;if(s<60)return`${s}m ${c}s`;let v=Math.floor(s/60),y=s%60;return`${v}h ${y}m`}fmtDurationMs(t){if(!t||t<=0)return"";if(t<1e3)return`${t}ms`;let e=t/1e3;if(e<60)return`${e.toFixed(e<10?1:0)}s`;let n=Math.floor(e/60),s=Math.round(e%60);if(n<60)return`${n}m ${s}s`;let c=Math.floor(n/60),v=n%60;return`${c}h ${v}m`}basename(t){if(!t)return"";if(t.length<=40)return t;let e=t.split("/");return e.length<=2?t:"\u2026/"+e.slice(-2).join("/")}toolColor(t){return t==="Read"?"var(--node-spec)":t==="Edit"||t==="Write"||t==="MultiEdit"||t==="NotebookEdit"?"var(--accent)":t==="Bash"?"var(--warn)":t==="Grep"||t==="Glob"?"var(--node-test)":t==="Task"?"var(--node-route)":t.startsWith("mcp__")?"var(--success)":"var(--text-secondary)"}cacheColor(t){return t>=.7?"var(--success)":t>=.5?"var(--warn)":"var(--error)"}tokPct(t){let e=this.session();if(!e)return 0;let n=this.totalTokens();return(t==="input"?e.total_input_tokens||0:t==="output"?e.total_output_tokens||0:t==="cacheWrite"?e.total_cache_creation_tokens||0:e.total_cache_read_tokens||0)/n*100}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=W({type:i,selectors:[["app-session-detail"]],decls:22,vars:20,consts:[[1,"sd-root"],[1,"page-head"],[1,"back-link","btn","btn-ghost","btn-sm",3,"routerLink"],["name","chevronLeft",3,"size"],[1,"title-block"],[1,"title"],[1,"mono","session-id"],[3,"color","bg"],[1,"live-pill",3,"title"],[1,"dot"],[1,"sub"],[1,"page-actions"],["type","button","aria-label","Refresh session detail",1,"btn","btn-secondary","btn-sm","refresh-btn",3,"click","disabled"],["name","refresh",3,"size"],[1,"loading"],[1,"error"],[1,"sd-body"],[1,"empty"],[1,"error-title"],[1,"error-detail"],[1,"btn","btn-secondary","btn-sm",3,"click"],[1,"scroll-y","sd-main"],[1,"stat-strip"],[1,"stat"],[1,"stat-lbl"],[1,"stat-val","cost"],[1,"stat-val","mono"],[1,"stat-val","mono",2,"font-size","12px"],[1,"row","gap-8",2,"justify-content","space-between","margin-bottom","8px"],[1,"eyebrow"],[1,"muted",2,"font-size","11px"],[1,"grow"],["type","button",1,"btn","btn-ghost","btn-sm",3,"click"],[1,"col","gap-6",2,"padding-bottom","16px"],[1,"prompt","card"],[1,"scroll-y","sd-rail"],[1,"eyebrow",2,"margin-bottom","10px"],[1,"tok-bar",2,"margin-bottom","10px"],[1,"tok-seg",2,"background","var(--node-spec)",3,"title"],[1,"tok-seg",2,"background","var(--node-code)",3,"title"],[1,"tok-seg",2,"background","var(--warn)",3,"title"],[1,"tok-seg",2,"background","var(--node-route)",3,"title"],[1,"col","gap-6",2,"margin-bottom","20px"],[1,"row","gap-8"],[2,"width","9px","height","9px","border-radius","2px","background","var(--node-spec)","flex-shrink","0"],[1,"muted","grow",2,"font-size","11.5px"],[1,"mono","tabular",2,"font-size","11.5px"],[1,"mono","tabular","muted",2,"font-size","10px","width","32px","text-align","right"],[2,"width","9px","height","9px","border-radius","2px","background","var(--node-code)","flex-shrink","0"],[2,"width","9px","height","9px","border-radius","2px","background","var(--warn)","flex-shrink","0"],[2,"width","9px","height","9px","border-radius","2px","background","var(--node-route)","flex-shrink","0"],[1,"cache-card",2,"margin-bottom","20px"],["name","database",2,"color","var(--success)",3,"size"],[1,"muted",2,"font-size","10.5px"],[1,"row",2,"align-items","baseline","gap","8px","margin-top","4px"],[1,"tabular",2,"font-size","24px","font-weight","700","color","var(--success)"],["type","button",1,"prompt-head","row","gap-10",3,"click"],[1,"mono","muted",2,"font-size","10.5px","width","52px","flex-shrink","0"],[2,"width","8px","height","8px","border-radius","50%","flex-shrink","0",3,"title"],[2,"flex-shrink","0",3,"color","bg"],["name","command",2,"color","var(--node-code)","flex-shrink","0",3,"size","title"],[1,"grow",2,"font-size","12.5px","overflow","hidden","text-overflow","ellipsis","white-space","nowrap","min-width","0"],[1,"muted"],[1,"row","gap-4",2,"flex-shrink","0"],["name","wrench",2,"color","var(--text-muted)",3,"size"],[1,"mono","tabular","muted",2,"font-size","11px"],["title","Wall-clock duration for this prompt",1,"mono","tabular","muted",2,"font-size","11px","width","44px","text-align","right","flex-shrink","0"],[1,"mono","tabular","muted",2,"font-size","11px","width","50px","text-align","right","flex-shrink","0"],[1,"mono","tabular",2,"font-size","11px","width","38px","text-align","right","flex-shrink","0"],[1,"mono","tabular",2,"font-size","13px","font-weight","600","width","54px","text-align","right","flex-shrink","0"],["name","chevronRight",2,"color","var(--text-muted)","flex-shrink","0",3,"size"],[1,"prompt-body"],["name","bot",3,"size"],[1,"prompt-section"],[1,"section-lbl"],[1,"kv-row"],[1,"kv"],[1,"kv-lbl"],[1,"kv-val","mono"],[1,"kv-val","mono","cost"],[1,"prompt-pre"],[1,"assistant-body","md-content",3,"innerHTML"],[1,"thinking-details"],[1,"section-lbl","thinking-summary"],[1,"muted","xs"],[1,"thinking-body","md-content",3,"innerHTML"],[1,"files-touched"],[1,"file-row",3,"title"],[1,"file-path","mono"],[1,"tools"],[1,"tool-block"],["type","button",1,"tool-row",3,"click","disabled"],["aria-hidden","true",1,"tool-chevron","mono"],[1,"tool-name","mono"],[1,"tool-input","mono"],[1,"tool-bytes","mono","muted"],[1,"tool-input-json","mono"],[2,"margin-bottom","20px"],[1,"row","gap-6",2,"flex-wrap","wrap"],[1,"pill",2,"color","var(--node-code)","background","var(--node-code-soft)","font-family","var(--font-mono)","font-weight","500"],[1,"pill",2,"color","var(--node-test)","background","var(--node-test-soft)","font-family","var(--font-mono)","font-weight","500"],["name","command",3,"size"],[2,"opacity","0.7"],["name","sparkles",3,"size"],["valueKey","calls",3,"items","fmt","color"],[1,"muted",2,"font-size","10px","margin-top","8px"],[1,"eyebrow",2,"margin","20px 0 10px"],[1,"col","gap-5"],[1,"mono","muted",2,"font-size","10px","width","44px","flex-shrink","0"],[3,"frac","color"],[1,"mono","tabular",2,"font-size","10.5px","width","40px","text-align","right"]],template:function(e,n){if(e&1&&(a(0,"div",0)(1,"header",1)(2,"a",2),x(3,"app-icon",3),l(4," Sessions "),r(),a(5,"div",4)(6,"div",5)(7,"span",6),l(8),r(),p(9,fe,2,3,"app-pill",7),a(10,"span",8),x(11,"span",9),l(12),r()(),p(13,be,3,2,"div",10),r(),a(14,"div",11)(15,"button",12),E("click",function(){return n.forceRefresh()}),x(16,"app-icon",13),l(17),r()()(),p(18,he,2,0,"div",14)(19,Ce,7,1,"div",15)(20,Xe,101,52,"div",16)(21,Ze,2,0,"div",17),r()),e&2){let s,c,v;o(2),_("routerLink",Y(19,xe)),o(),_("size",14),o(5),u(n.id().slice(0,12)),o(),m((s=n.session())!=null&&s.last_model?9:-1),o(),z("live",n.liveMode()==="live")("polling",n.liveMode()==="polling")("idle",n.liveMode()==="idle"),_("title",n.liveMode()==="live"?"Live \u2014 new prompts push as Claude Code writes them":n.liveMode()==="polling"?"Polling \u2014 SSE unavailable, refetching every 5s":"Idle \u2014 live updates paused"),o(2),g(" ",n.liveMode()==="live"?"Live":n.liveMode()==="polling"?"Polling":"Idle"," "),o(),m((c=n.session())?13:-1,c),o(2),z("spinning",n.localRefreshing()||n.refresh.loading()),_("disabled",n.refresh.loading()),o(),_("size",13),o(),g(" ",n.localRefreshing()||n.refresh.loading()?"Refreshing\u2026":"Refresh"," "),o(),m(n.resource.state().loading&&!n.session()?18:n.resource.state().error?19:(v=n.session())?20:21,v)}},dependencies:[ee,ie,ae,oe,le,Q],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:contents}.sd-root[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;min-height:0;padding:16px 18px 0}.page-head[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;flex-wrap:wrap}.back-link[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);text-decoration:none}.title-block[_ngcontent-%COMP%]{flex:1;min-width:250px}.title[_ngcontent-%COMP%]{font-size:var(--fs-title);font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.session-id[_ngcontent-%COMP%]{color:var(--accent);font-size:14px}.live-pill[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap;cursor:help}.live-pill[_ngcontent-%COMP%] .dot[_ngcontent-%COMP%]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.live-pill.live[_ngcontent-%COMP%]{color:var(--success);background:var(--success-soft)}.live-pill.live[_ngcontent-%COMP%] .dot[_ngcontent-%COMP%]{background:var(--success);animation:_ngcontent-%COMP%_live-pulse 1.6s ease-in-out infinite}.live-pill.polling[_ngcontent-%COMP%]{color:var(--warn);background:var(--warn-soft)}.live-pill.polling[_ngcontent-%COMP%] .dot[_ngcontent-%COMP%]{background:var(--warn)}.live-pill.idle[_ngcontent-%COMP%]{color:var(--text-muted);background:var(--bg-canvas)}.live-pill.idle[_ngcontent-%COMP%] .dot[_ngcontent-%COMP%]{background:var(--text-muted)}@keyframes _ngcontent-%COMP%_live-pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.05)}}.sub[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:12px;margin-top:2px}.page-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}.refresh-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px}.refresh-btn.spinning[_ngcontent-%COMP%] app-icon[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_spin .9s linear infinite;color:var(--accent)}.refresh-btn[_ngcontent-%COMP%]:disabled{cursor:progress;opacity:.8}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sd-body[_ngcontent-%COMP%]{flex:1;display:flex;min-height:0;gap:0}.sd-main[_ngcontent-%COMP%]{flex:1;min-width:0;padding:0 0 18px}.sd-rail[_ngcontent-%COMP%]{width:290px;flex-shrink:0;border-left:1px solid var(--border-subtle);background:var(--bg-panel);padding:16px}.stat-strip[_ngcontent-%COMP%]{display:flex;gap:24px;padding:12px 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);margin-bottom:16px}.stat[_ngcontent-%COMP%] .stat-lbl[_ngcontent-%COMP%]{font-size:10.5px;color:var(--text-muted)}.stat[_ngcontent-%COMP%] .stat-val[_ngcontent-%COMP%]{font-size:16px;font-weight:600;margin-top:2px;color:var(--text-primary);font-variant-numeric:tabular-nums}.stat-val.cost[_ngcontent-%COMP%]{color:var(--accent)}.tok-bar[_ngcontent-%COMP%]{display:flex;height:10px;border-radius:999px;overflow:hidden}.tok-seg[_ngcontent-%COMP%]{height:100%}.cache-card[_ngcontent-%COMP%]{background:var(--success-soft);border:1px solid rgba(70,194,107,.25);border-radius:8px;padding:10px 12px}.prompt.card[_ngcontent-%COMP%]{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:9px;overflow:hidden;transition:border-color .12s}.prompt.card[_ngcontent-%COMP%]:hover{border-color:var(--border-strong)}.prompt-head[_ngcontent-%COMP%]{width:100%;padding:11px 12px;background:transparent;border:0;text-align:left;cursor:pointer;color:inherit;font-family:inherit}.prompt-head[_ngcontent-%COMP%]:hover{background:var(--bg-hover)}.prompt-head[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.prompt-body[_ngcontent-%COMP%]{border-top:1px solid var(--border-subtle);padding:14px 16px;background:var(--bg-canvas)}.prompt-section[_ngcontent-%COMP%]{margin-bottom:14px}.prompt-section[_ngcontent-%COMP%]:last-child{margin-bottom:0}.section-lbl[_ngcontent-%COMP%]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:6px}.prompt-pre[_ngcontent-%COMP%]{margin:0;padding:10px 12px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:7px;font-family:var(--font-mono);font-size:11.5px;line-height:1.55;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;max-height:280px;overflow-y:auto}.kv-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px 18px}.kv[_ngcontent-%COMP%] .kv-lbl[_ngcontent-%COMP%]{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.kv[_ngcontent-%COMP%] .kv-val[_ngcontent-%COMP%]{font-size:12.5px;font-weight:600;margin-top:2px;color:var(--text-primary);font-variant-numeric:tabular-nums}.kv-val.cost[_ngcontent-%COMP%]{color:var(--accent)}.tools[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:3px}.tool-block[_ngcontent-%COMP%]{display:flex;flex-direction:column}.tool-row[_ngcontent-%COMP%]{appearance:none;background:var(--bg-panel);border:1px solid var(--border-subtle);color:inherit;font-family:inherit;text-align:left;display:flex;align-items:center;gap:8px;width:100%;padding:5px 10px;border-radius:6px;font-size:11.5px;cursor:pointer}.tool-row[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--bg-hover)}.tool-row[_ngcontent-%COMP%]:disabled{cursor:default}.tool-row[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tool-row.expanded[_ngcontent-%COMP%]{border-bottom-left-radius:0;border-bottom-right-radius:0}.tool-chevron[_ngcontent-%COMP%]{width:10px;color:var(--text-muted);transition:transform .12s;font-size:12px;flex-shrink:0;display:inline-block}.tool-chevron.open[_ngcontent-%COMP%]{transform:rotate(90deg);color:var(--accent)}.tool-name[_ngcontent-%COMP%]{font-weight:600;flex-shrink:0}.tool-input[_ngcontent-%COMP%]{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px}.tool-bytes[_ngcontent-%COMP%]{font-size:10.5px;flex-shrink:0}.tool-input-json[_ngcontent-%COMP%]{margin:0;padding:10px 14px;background:var(--bg-canvas);border:1px solid var(--border-subtle);border-top:0;border-radius:0 0 6px 6px;font-family:var(--font-mono);font-size:11px;line-height:1.5;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto}.assistant-body[_ngcontent-%COMP%]{padding:10px 14px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:7px;font-size:12.5px;line-height:1.55;color:var(--text-primary);max-height:480px;overflow-y:auto;overflow-wrap:anywhere}.thinking-details[_ngcontent-%COMP%]{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:7px;padding:8px 12px}.thinking-summary[_ngcontent-%COMP%]{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.thinking-summary[_ngcontent-%COMP%]::-webkit-details-marker{display:none}.thinking-summary[_ngcontent-%COMP%]:before{content:"\\203a";display:inline-block;transition:transform .12s;font-size:14px;color:var(--text-muted)}.thinking-details[open][_ngcontent-%COMP%] .thinking-summary[_ngcontent-%COMP%]:before{transform:rotate(90deg);color:var(--accent)}.thinking-body[_ngcontent-%COMP%]{margin-top:10px;padding:8px 0 0;border-top:1px dashed var(--border-subtle);font-size:12px;line-height:1.55;color:var(--text-secondary);max-height:320px;overflow-y:auto;overflow-wrap:anywhere}.files-touched[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:3px;font-size:11.5px;max-height:180px;overflow-y:auto;padding:6px 10px;background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:6px}.files-touched[_ngcontent-%COMP%] .file-row[_ngcontent-%COMP%]{display:flex;align-items:center;min-width:0}.files-touched[_ngcontent-%COMP%] .file-path[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.loading[_ngcontent-%COMP%]{padding:40px 18px;text-align:center;color:var(--text-muted);font-size:13px}.error[_ngcontent-%COMP%]{padding:16px;margin:12px 0;border-radius:8px;border:1px solid rgba(255,90,90,.35);background:var(--error-soft);color:var(--error);display:flex;flex-direction:column;gap:8px;align-items:flex-start}.error-title[_ngcontent-%COMP%]{font-weight:600;font-size:13px}.error-detail[_ngcontent-%COMP%]{font-size:12px;color:var(--text-secondary)}.empty[_ngcontent-%COMP%]{padding:30px 18px;color:var(--text-muted);font-size:12.5px;text-align:center}.md-content[_ngcontent-%COMP%] .md-h1[_ngcontent-%COMP%]{font-size:14px;font-weight:650;color:var(--text-primary);letter-spacing:-.01em;margin:0 0 8px}.md-content[_ngcontent-%COMP%] .md-h2[_ngcontent-%COMP%]{font-size:12.5px;font-weight:650;color:var(--text-primary);margin:14px 0 4px;padding-bottom:3px;border-bottom:1px solid var(--border-subtle)}.md-content[_ngcontent-%COMP%] .md-h3[_ngcontent-%COMP%]{font-size:12px;font-weight:650;color:var(--text-primary);margin:12px 0 4px}.md-content[_ngcontent-%COMP%] .md-p[_ngcontent-%COMP%]{font-size:12.5px;line-height:1.6;color:var(--text-primary);margin:0 0 4px;overflow-wrap:anywhere}.md-content[_ngcontent-%COMP%] .md-p[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--text-primary);font-weight:650}.md-content[_ngcontent-%COMP%] .md-list[_ngcontent-%COMP%], .md-content[_ngcontent-%COMP%] .md-ol[_ngcontent-%COMP%]{padding:0;margin:4px 0 6px}.md-content[_ngcontent-%COMP%] .md-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%], .md-content[_ngcontent-%COMP%] .md-ol[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{position:relative;padding:2px 0 2px 20px;font-size:12.5px;line-height:1.55;color:var(--text-primary);overflow-wrap:anywhere}.md-content[_ngcontent-%COMP%] .md-list[_ngcontent-%COMP%]{list-style:none}.md-content[_ngcontent-%COMP%] .md-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:before{content:"\\2022";position:absolute;left:4px;top:1px;color:var(--text-faint)}.md-content[_ngcontent-%COMP%] .md-spacer[_ngcontent-%COMP%]{height:5px}.md-content[_ngcontent-%COMP%] .md-inline-code[_ngcontent-%COMP%]{font-size:11px;background:var(--bg-canvas);padding:1px 5px;border-radius:3px;border:1px solid var(--border-subtle);color:var(--node-spec)}.md-content[_ngcontent-%COMP%] .md-blockquote[_ngcontent-%COMP%]{margin:5px 0;padding:6px 10px;border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--text-secondary);font-size:12px;line-height:1.5;border-radius:0 5px 5px 0}.md-content[_ngcontent-%COMP%] .md-pre[_ngcontent-%COMP%]{position:relative;margin:6px 0 8px;padding:10px 12px;background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:6px;overflow-x:auto}.md-content[_ngcontent-%COMP%] .md-pre[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{display:block;font-size:11px;line-height:1.5;color:var(--text-primary);white-space:pre}.md-content[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:first-child{margin-top:0}'],changeDetection:0})};export{ce as SessionDetail};
@@ -0,0 +1 @@
1
+ import"./chunk-Q7L6LLAK.js";var E={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},T={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ABORT","ABSOLUTE","ACTION","ADA","ADD","AFTER","ALL","ALLOCATE","ALTER","ALWAYS","ANALYZE","AND","ANY","ARE","AS","ASC","ASSERTION","AT","ATTACH","AUTHORIZATION","AUTOINCREMENT","AVG","BACKUP","BEFORE","BEGIN","BETWEEN","BIT","BIT_LENGTH","BOTH","BREAK","BROWSE","BULK","BY","CASCADE","CASCADED","CASE","CAST","CATALOG","CHAR","CHARACTER","CHARACTER_LENGTH","CHAR_LENGTH","CHECK","CHECKPOINT","CLOSE","CLUSTERED","COALESCE","COLLATE","COLLATION","COLUMN","COMMIT","COMPUTE","CONFLICT","CONNECT","CONNECTION","CONSTRAINT","CONSTRAINTS","CONTAINS","CONTAINSTABLE","CONTINUE","CONVERT","CORRESPONDING","COUNT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATE","DAY","DBCC","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DENY","DESC","DESCRIBE","DESCRIPTOR","DETACH","DIAGNOSTICS","DISCONNECT","DISK","DISTINCT","DISTRIBUTED","DO","DOMAIN","DOUBLE","DROP","DUMP","EACH","ELSE","END","END-EXEC","ERRLVL","ESCAPE","EXCEPT","EXCEPTION","EXCLUDE","EXCLUSIVE","EXEC","EXECUTE","EXISTS","EXIT","EXPLAIN","EXTERNAL","EXTRACT","FAIL","FALSE","FETCH","FILE","FILLFACTOR","FILTER","FIRST","FLOAT","FOLLOWING","FOR","FOREIGN","FORTRAN","FOUND","FREETEXT","FREETEXTTABLE","FROM","FULL","FUNCTION","GENERATED","GET","GLOB","GLOBAL","GO","GOTO","GRANT","GROUP","GROUPS","HAVING","HOLDLOCK","HOUR","IDENTITY","IDENTITYCOL","IDENTITY_INSERT","IF","IGNORE","IMMEDIATE","IN","INCLUDE","INDEX","INDEXED","INDICATOR","INITIALLY","INNER","INPUT","INSENSITIVE","INSERT","INSTEAD","INT","INTEGER","INTERSECT","INTERVAL","INTO","IS","ISNULL","ISOLATION","JOIN","KEY","KILL","LANGUAGE","LAST","LEADING","LEFT","LEVEL","LIKE","LIMIT","LINENO","LOAD","LOCAL","LOWER","MATCH","MATERIALIZED","MAX","MERGE","MIN","MINUTE","MODULE","MONTH","NAMES","NATIONAL","NATURAL","NCHAR","NEXT","NO","NOCHECK","NONCLUSTERED","NONE","NOT","NOTHING","NOTNULL","NULL","NULLIF","NULLS","NUMERIC","OCTET_LENGTH","OF","OFF","OFFSET","OFFSETS","ON","ONLY","OPEN","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","OPTION","OR","ORDER","OTHERS","OUTER","OUTPUT","OVER","OVERLAPS","PAD","PARTIAL","PARTITION","PASCAL","PERCENT","PIVOT","PLAN","POSITION","PRAGMA","PRECEDING","PRECISION","PREPARE","PRESERVE","PRIMARY","PRINT","PRIOR","PRIVILEGES","PROC","PROCEDURE","PUBLIC","QUERY","RAISE","RAISERROR","RANGE","READ","READTEXT","REAL","RECONFIGURE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELATIVE","RELEASE","RENAME","REPLACE","REPLICATION","RESTORE","RESTRICT","RETURN","RETURNING","REVERT","REVOKE","RIGHT","ROLLBACK","ROW","ROWCOUNT","ROWGUIDCOL","ROWS","RULE","SAVE","SAVEPOINT","SCHEMA","SCROLL","SECOND","SECTION","SECURITYAUDIT","SELECT","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","SESSION","SESSION_USER","SET","SETUSER","SHUTDOWN","SIZE","SMALLINT","SOME","SPACE","SQL","SQLCA","SQLCODE","SQLERROR","SQLSTATE","SQLWARNING","STATISTICS","SUBSTRING","SUM","SYSTEM_USER","TABLE","TABLESAMPLE","TEMP","TEMPORARY","TEXTSIZE","THEN","TIES","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TOP","TRAILING","TRAN","TRANSACTION","TRANSLATE","TRANSLATION","TRIGGER","TRIM","TRUE","TRUNCATE","TRY_CONVERT","TSEQUAL","UNBOUNDED","UNION","UNIQUE","UNKNOWN","UNPIVOT","UPDATE","UPDATETEXT","UPPER","USAGE","USE","USER","USING","VACUUM","VALUE","VALUES","VARCHAR","VARYING","VIEW","VIRTUAL","WAITFOR","WHEN","WHENEVER","WHERE","WHILE","WINDOW","WITH","WITHIN GROUP","WITHOUT","WORK","WRITE","WRITETEXT","YEAR","ZONE"],operators:["ALL","AND","ANY","BETWEEN","EXISTS","IN","LIKE","NOT","OR","SOME","EXCEPT","INTERSECT","UNION","APPLY","CROSS","FULL","INNER","JOIN","LEFT","OUTER","RIGHT","CONTAINS","FREETEXT","IS","NULL","PIVOT","UNPIVOT","MATCHED"],builtinFunctions:["AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","SUM","STDEV","STDEVP","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","COLLATE","COLLATIONPROPERTY","TERTIARY_WEIGHTS","FEDERATION_FILTERING_VALUE","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","CURRENT_TIMESTAMP","DATEADD","DATEDIFF","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","CHOOSE","COALESCE","IIF","NULLIF","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASE_PRINCIPAL_ID","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHAR","CHARINDEX","CONCAT","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","NCHAR","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STUFF","SUBSTRING","UNICODE","UPPER","BINARY_CHECKSUM","CHECKSUM","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","ERROR_LINE","ERROR_NUMBER","ERROR_MESSAGE","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GETANSINULL","GET_FILESTREAM_TRANSACTION_CONTEXT","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","XACT_STATE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","CHANGETABLE","CHANGE_TRACKING_CONTEXT","CHANGE_TRACKING_CURRENT_VERSION","CHANGE_TRACKING_IS_COLUMN_IN_MASK","CHANGE_TRACKING_MIN_VALID_VERSION","CONTAINSTABLE","FREETEXTTABLE","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","FILETABLEROOTPATH","GETFILENAMESPACEPATH","GETPATHLOCATOR","PATHNAME","GET_TRANSMISSION_STATUS"],builtinVariables:["@@DATEFIRST","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","@@CURSOR_ROWS","@@FETCH_STATUS","@@DATEFIRST","@@PROCID","@@ERROR","@@IDENTITY","@@ROWCOUNT","@@TRANCOUNT","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACKET_ERRORS","@@PACK_RECEIVED","@@PACK_SENT","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE"],pseudoColumns:["$ACTION","$IDENTITY","$ROWGUID","$PARTITION"],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@keywords":"keyword","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/N'/,{token:"string",next:"@string"}],[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/\[/,{token:"identifier.quote",next:"@bracketedIdentifier"}],[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],bracketedIdentifier:[[/[^\]]+/,"identifier"],[/]]/,"identifier"],[/]/,{token:"identifier.quote",next:"@pop"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[[/BEGIN\s+(DISTRIBUTED\s+)?TRAN(SACTION)?\b/i,"keyword"],[/BEGIN\s+TRY\b/i,{token:"keyword.try"}],[/END\s+TRY\b/i,{token:"keyword.try"}],[/BEGIN\s+CATCH\b/i,{token:"keyword.catch"}],[/END\s+CATCH\b/i,{token:"keyword.catch"}],[/(BEGIN|CASE)\b/i,{token:"keyword.block"}],[/END\b/i,{token:"keyword.block"}],[/WHEN\b/i,{token:"keyword.choice"}],[/THEN\b/i,{token:"keyword.choice"}]]}};export{E as conf,T as language};