@specship/specship 0.11.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 (879) hide show
  1. package/.claude-plugin/plugin.json +6 -0
  2. package/LICENSE +21 -0
  3. package/README.md +583 -0
  4. package/agents/specship-explorer.md +29 -0
  5. package/commands/ss-behaviour.md +116 -0
  6. package/commands/ss-check.md +43 -0
  7. package/commands/ss-design-implement.md +84 -0
  8. package/commands/ss-design-loop.md +125 -0
  9. package/commands/ss-explore.md +43 -0
  10. package/commands/ss-spec.md +118 -0
  11. package/dist/activation/starter-prompt.d.ts +57 -0
  12. package/dist/activation/starter-prompt.d.ts.map +1 -0
  13. package/dist/activation/starter-prompt.js +164 -0
  14. package/dist/activation/starter-prompt.js.map +1 -0
  15. package/dist/analytics/specship-impact.d.ts +72 -0
  16. package/dist/analytics/specship-impact.d.ts.map +1 -0
  17. package/dist/analytics/specship-impact.js +216 -0
  18. package/dist/analytics/specship-impact.js.map +1 -0
  19. package/dist/behaviour/behaviour-surface.d.ts +59 -0
  20. package/dist/behaviour/behaviour-surface.d.ts.map +1 -0
  21. package/dist/behaviour/behaviour-surface.js +112 -0
  22. package/dist/behaviour/behaviour-surface.js.map +1 -0
  23. package/dist/bin/node-version-check.d.ts +37 -0
  24. package/dist/bin/node-version-check.d.ts.map +1 -0
  25. package/dist/bin/node-version-check.js +79 -0
  26. package/dist/bin/node-version-check.js.map +1 -0
  27. package/dist/bin/specship.d.ts +25 -0
  28. package/dist/bin/specship.d.ts.map +1 -0
  29. package/dist/bin/specship.js +2823 -0
  30. package/dist/bin/specship.js.map +1 -0
  31. package/dist/bin/uninstall.d.ts +13 -0
  32. package/dist/bin/uninstall.d.ts.map +1 -0
  33. package/dist/bin/uninstall.js +35 -0
  34. package/dist/bin/uninstall.js.map +1 -0
  35. package/dist/context/formatter.d.ts +30 -0
  36. package/dist/context/formatter.d.ts.map +1 -0
  37. package/dist/context/formatter.js +263 -0
  38. package/dist/context/formatter.js.map +1 -0
  39. package/dist/context/index.d.ts +119 -0
  40. package/dist/context/index.d.ts.map +1 -0
  41. package/dist/context/index.js +1289 -0
  42. package/dist/context/index.js.map +1 -0
  43. package/dist/context/markers.d.ts +19 -0
  44. package/dist/context/markers.d.ts.map +1 -0
  45. package/dist/context/markers.js +22 -0
  46. package/dist/context/markers.js.map +1 -0
  47. package/dist/db/index.d.ts +103 -0
  48. package/dist/db/index.d.ts.map +1 -0
  49. package/dist/db/index.js +279 -0
  50. package/dist/db/index.js.map +1 -0
  51. package/dist/db/migrations.d.ts +44 -0
  52. package/dist/db/migrations.d.ts.map +1 -0
  53. package/dist/db/migrations.js +503 -0
  54. package/dist/db/migrations.js.map +1 -0
  55. package/dist/db/queries.d.ts +357 -0
  56. package/dist/db/queries.d.ts.map +1 -0
  57. package/dist/db/queries.js +1504 -0
  58. package/dist/db/queries.js.map +1 -0
  59. package/dist/db/schema.sql +451 -0
  60. package/dist/db/spec-queries.d.ts +130 -0
  61. package/dist/db/spec-queries.d.ts.map +1 -0
  62. package/dist/db/spec-queries.js +738 -0
  63. package/dist/db/spec-queries.js.map +1 -0
  64. package/dist/db/sqlite-adapter.d.ts +65 -0
  65. package/dist/db/sqlite-adapter.d.ts.map +1 -0
  66. package/dist/db/sqlite-adapter.js +214 -0
  67. package/dist/db/sqlite-adapter.js.map +1 -0
  68. package/dist/designer/artifact-store.js +54 -0
  69. package/dist/designer/browser.js +141 -0
  70. package/dist/designer/cdp-ensure.js +60 -0
  71. package/dist/designer/cdp-env.js +18 -0
  72. package/dist/designer/cdp-trace.js +599 -0
  73. package/dist/designer/cross-platform.js +74 -0
  74. package/dist/designer/designer-controller.js +1413 -0
  75. package/dist/designer/file-panel.js +39 -0
  76. package/dist/designer/interstitials.js +97 -0
  77. package/dist/designer/oopif-reader.js +176 -0
  78. package/dist/designer/package-meta.js +18 -0
  79. package/dist/designer/preview-host.js +50 -0
  80. package/dist/designer/repo-root.js +31 -0
  81. package/dist/designer/run-state.js +353 -0
  82. package/dist/designer/session-store.js +59 -0
  83. package/dist/designer/ui-anchors.js +651 -0
  84. package/dist/directory.d.ts +67 -0
  85. package/dist/directory.d.ts.map +1 -0
  86. package/dist/directory.js +267 -0
  87. package/dist/directory.js.map +1 -0
  88. package/dist/enforce/enforce.d.ts +70 -0
  89. package/dist/enforce/enforce.d.ts.map +1 -0
  90. package/dist/enforce/enforce.js +125 -0
  91. package/dist/enforce/enforce.js.map +1 -0
  92. package/dist/errors.d.ts +136 -0
  93. package/dist/errors.d.ts.map +1 -0
  94. package/dist/errors.js +219 -0
  95. package/dist/errors.js.map +1 -0
  96. package/dist/extraction/dfm-extractor.d.ts +31 -0
  97. package/dist/extraction/dfm-extractor.d.ts.map +1 -0
  98. package/dist/extraction/dfm-extractor.js +151 -0
  99. package/dist/extraction/dfm-extractor.js.map +1 -0
  100. package/dist/extraction/generated-detection.d.ts +30 -0
  101. package/dist/extraction/generated-detection.d.ts.map +1 -0
  102. package/dist/extraction/generated-detection.js +80 -0
  103. package/dist/extraction/generated-detection.js.map +1 -0
  104. package/dist/extraction/grammars.d.ts +100 -0
  105. package/dist/extraction/grammars.d.ts.map +1 -0
  106. package/dist/extraction/grammars.js +426 -0
  107. package/dist/extraction/grammars.js.map +1 -0
  108. package/dist/extraction/index.d.ts +138 -0
  109. package/dist/extraction/index.d.ts.map +1 -0
  110. package/dist/extraction/index.js +1394 -0
  111. package/dist/extraction/index.js.map +1 -0
  112. package/dist/extraction/languages/c-cpp.d.ts +4 -0
  113. package/dist/extraction/languages/c-cpp.d.ts.map +1 -0
  114. package/dist/extraction/languages/c-cpp.js +171 -0
  115. package/dist/extraction/languages/c-cpp.js.map +1 -0
  116. package/dist/extraction/languages/csharp.d.ts +3 -0
  117. package/dist/extraction/languages/csharp.d.ts.map +1 -0
  118. package/dist/extraction/languages/csharp.js +73 -0
  119. package/dist/extraction/languages/csharp.js.map +1 -0
  120. package/dist/extraction/languages/dart.d.ts +3 -0
  121. package/dist/extraction/languages/dart.d.ts.map +1 -0
  122. package/dist/extraction/languages/dart.js +192 -0
  123. package/dist/extraction/languages/dart.js.map +1 -0
  124. package/dist/extraction/languages/go.d.ts +3 -0
  125. package/dist/extraction/languages/go.d.ts.map +1 -0
  126. package/dist/extraction/languages/go.js +74 -0
  127. package/dist/extraction/languages/go.js.map +1 -0
  128. package/dist/extraction/languages/index.d.ts +10 -0
  129. package/dist/extraction/languages/index.d.ts.map +1 -0
  130. package/dist/extraction/languages/index.js +51 -0
  131. package/dist/extraction/languages/index.js.map +1 -0
  132. package/dist/extraction/languages/java.d.ts +3 -0
  133. package/dist/extraction/languages/java.d.ts.map +1 -0
  134. package/dist/extraction/languages/java.js +70 -0
  135. package/dist/extraction/languages/java.js.map +1 -0
  136. package/dist/extraction/languages/javascript.d.ts +3 -0
  137. package/dist/extraction/languages/javascript.d.ts.map +1 -0
  138. package/dist/extraction/languages/javascript.js +90 -0
  139. package/dist/extraction/languages/javascript.js.map +1 -0
  140. package/dist/extraction/languages/kotlin.d.ts +3 -0
  141. package/dist/extraction/languages/kotlin.d.ts.map +1 -0
  142. package/dist/extraction/languages/kotlin.js +259 -0
  143. package/dist/extraction/languages/kotlin.js.map +1 -0
  144. package/dist/extraction/languages/lua.d.ts +3 -0
  145. package/dist/extraction/languages/lua.d.ts.map +1 -0
  146. package/dist/extraction/languages/lua.js +150 -0
  147. package/dist/extraction/languages/lua.js.map +1 -0
  148. package/dist/extraction/languages/luau.d.ts +3 -0
  149. package/dist/extraction/languages/luau.d.ts.map +1 -0
  150. package/dist/extraction/languages/luau.js +37 -0
  151. package/dist/extraction/languages/luau.js.map +1 -0
  152. package/dist/extraction/languages/objc.d.ts +3 -0
  153. package/dist/extraction/languages/objc.d.ts.map +1 -0
  154. package/dist/extraction/languages/objc.js +133 -0
  155. package/dist/extraction/languages/objc.js.map +1 -0
  156. package/dist/extraction/languages/pascal.d.ts +3 -0
  157. package/dist/extraction/languages/pascal.d.ts.map +1 -0
  158. package/dist/extraction/languages/pascal.js +66 -0
  159. package/dist/extraction/languages/pascal.js.map +1 -0
  160. package/dist/extraction/languages/php.d.ts +3 -0
  161. package/dist/extraction/languages/php.d.ts.map +1 -0
  162. package/dist/extraction/languages/php.js +107 -0
  163. package/dist/extraction/languages/php.js.map +1 -0
  164. package/dist/extraction/languages/python.d.ts +3 -0
  165. package/dist/extraction/languages/python.d.ts.map +1 -0
  166. package/dist/extraction/languages/python.js +56 -0
  167. package/dist/extraction/languages/python.js.map +1 -0
  168. package/dist/extraction/languages/ruby.d.ts +3 -0
  169. package/dist/extraction/languages/ruby.d.ts.map +1 -0
  170. package/dist/extraction/languages/ruby.js +114 -0
  171. package/dist/extraction/languages/ruby.js.map +1 -0
  172. package/dist/extraction/languages/rust.d.ts +3 -0
  173. package/dist/extraction/languages/rust.d.ts.map +1 -0
  174. package/dist/extraction/languages/rust.js +109 -0
  175. package/dist/extraction/languages/rust.js.map +1 -0
  176. package/dist/extraction/languages/scala.d.ts +3 -0
  177. package/dist/extraction/languages/scala.d.ts.map +1 -0
  178. package/dist/extraction/languages/scala.js +139 -0
  179. package/dist/extraction/languages/scala.js.map +1 -0
  180. package/dist/extraction/languages/swift.d.ts +3 -0
  181. package/dist/extraction/languages/swift.d.ts.map +1 -0
  182. package/dist/extraction/languages/swift.js +91 -0
  183. package/dist/extraction/languages/swift.js.map +1 -0
  184. package/dist/extraction/languages/typescript.d.ts +3 -0
  185. package/dist/extraction/languages/typescript.d.ts.map +1 -0
  186. package/dist/extraction/languages/typescript.js +129 -0
  187. package/dist/extraction/languages/typescript.js.map +1 -0
  188. package/dist/extraction/liquid-extractor.d.ts +52 -0
  189. package/dist/extraction/liquid-extractor.d.ts.map +1 -0
  190. package/dist/extraction/liquid-extractor.js +313 -0
  191. package/dist/extraction/liquid-extractor.js.map +1 -0
  192. package/dist/extraction/mybatis-extractor.d.ts +48 -0
  193. package/dist/extraction/mybatis-extractor.d.ts.map +1 -0
  194. package/dist/extraction/mybatis-extractor.js +198 -0
  195. package/dist/extraction/mybatis-extractor.js.map +1 -0
  196. package/dist/extraction/parse-worker.d.ts +8 -0
  197. package/dist/extraction/parse-worker.d.ts.map +1 -0
  198. package/dist/extraction/parse-worker.js +94 -0
  199. package/dist/extraction/parse-worker.js.map +1 -0
  200. package/dist/extraction/specs/markdown-spec-extractor.d.ts +114 -0
  201. package/dist/extraction/specs/markdown-spec-extractor.d.ts.map +1 -0
  202. package/dist/extraction/specs/markdown-spec-extractor.js +699 -0
  203. package/dist/extraction/specs/markdown-spec-extractor.js.map +1 -0
  204. package/dist/extraction/specs/types.d.ts +39 -0
  205. package/dist/extraction/specs/types.d.ts.map +1 -0
  206. package/dist/extraction/specs/types.js +8 -0
  207. package/dist/extraction/specs/types.js.map +1 -0
  208. package/dist/extraction/svelte-extractor.d.ts +56 -0
  209. package/dist/extraction/svelte-extractor.d.ts.map +1 -0
  210. package/dist/extraction/svelte-extractor.js +272 -0
  211. package/dist/extraction/svelte-extractor.js.map +1 -0
  212. package/dist/extraction/tree-sitter-helpers.d.ts +28 -0
  213. package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
  214. package/dist/extraction/tree-sitter-helpers.js +103 -0
  215. package/dist/extraction/tree-sitter-helpers.js.map +1 -0
  216. package/dist/extraction/tree-sitter-types.d.ts +193 -0
  217. package/dist/extraction/tree-sitter-types.d.ts.map +1 -0
  218. package/dist/extraction/tree-sitter-types.js +10 -0
  219. package/dist/extraction/tree-sitter-types.js.map +1 -0
  220. package/dist/extraction/tree-sitter.d.ts +317 -0
  221. package/dist/extraction/tree-sitter.d.ts.map +1 -0
  222. package/dist/extraction/tree-sitter.js +3092 -0
  223. package/dist/extraction/tree-sitter.js.map +1 -0
  224. package/dist/extraction/vue-extractor.d.ts +51 -0
  225. package/dist/extraction/vue-extractor.d.ts.map +1 -0
  226. package/dist/extraction/vue-extractor.js +251 -0
  227. package/dist/extraction/vue-extractor.js.map +1 -0
  228. package/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
  229. package/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
  230. package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
  231. package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  232. package/dist/extraction/wasm-runtime-flags.d.ts +38 -0
  233. package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -0
  234. package/dist/extraction/wasm-runtime-flags.js +106 -0
  235. package/dist/extraction/wasm-runtime-flags.js.map +1 -0
  236. package/dist/fitness/fitness.d.ts +75 -0
  237. package/dist/fitness/fitness.d.ts.map +1 -0
  238. package/dist/fitness/fitness.js +204 -0
  239. package/dist/fitness/fitness.js.map +1 -0
  240. package/dist/graph/index.d.ts +8 -0
  241. package/dist/graph/index.d.ts.map +1 -0
  242. package/dist/graph/index.js +13 -0
  243. package/dist/graph/index.js.map +1 -0
  244. package/dist/graph/maintainability.d.ts +115 -0
  245. package/dist/graph/maintainability.d.ts.map +1 -0
  246. package/dist/graph/maintainability.js +299 -0
  247. package/dist/graph/maintainability.js.map +1 -0
  248. package/dist/graph/queries.d.ts +106 -0
  249. package/dist/graph/queries.d.ts.map +1 -0
  250. package/dist/graph/queries.js +366 -0
  251. package/dist/graph/queries.js.map +1 -0
  252. package/dist/graph/traversal.d.ts +127 -0
  253. package/dist/graph/traversal.d.ts.map +1 -0
  254. package/dist/graph/traversal.js +531 -0
  255. package/dist/graph/traversal.js.map +1 -0
  256. package/dist/health/smoke-check.d.ts +85 -0
  257. package/dist/health/smoke-check.d.ts.map +1 -0
  258. package/dist/health/smoke-check.js +246 -0
  259. package/dist/health/smoke-check.js.map +1 -0
  260. package/dist/index.d.ts +674 -0
  261. package/dist/index.d.ts.map +1 -0
  262. package/dist/index.js +1473 -0
  263. package/dist/index.js.map +1 -0
  264. package/dist/installer/config-writer.d.ts +28 -0
  265. package/dist/installer/config-writer.d.ts.map +1 -0
  266. package/dist/installer/config-writer.js +91 -0
  267. package/dist/installer/config-writer.js.map +1 -0
  268. package/dist/installer/index.d.ts +100 -0
  269. package/dist/installer/index.d.ts.map +1 -0
  270. package/dist/installer/index.js +442 -0
  271. package/dist/installer/index.js.map +1 -0
  272. package/dist/installer/init-offer.d.ts +31 -0
  273. package/dist/installer/init-offer.d.ts.map +1 -0
  274. package/dist/installer/init-offer.js +30 -0
  275. package/dist/installer/init-offer.js.map +1 -0
  276. package/dist/installer/instructions-template.d.ts +36 -0
  277. package/dist/installer/instructions-template.d.ts.map +1 -0
  278. package/dist/installer/instructions-template.js +57 -0
  279. package/dist/installer/instructions-template.js.map +1 -0
  280. package/dist/installer/targets/claude.d.ts +146 -0
  281. package/dist/installer/targets/claude.d.ts.map +1 -0
  282. package/dist/installer/targets/claude.js +864 -0
  283. package/dist/installer/targets/claude.js.map +1 -0
  284. package/dist/installer/targets/registry.d.ts +19 -0
  285. package/dist/installer/targets/registry.d.ts.map +1 -0
  286. package/dist/installer/targets/registry.js +31 -0
  287. package/dist/installer/targets/registry.js.map +1 -0
  288. package/dist/installer/targets/shared.d.ts +76 -0
  289. package/dist/installer/targets/shared.d.ts.map +1 -0
  290. package/dist/installer/targets/shared.js +260 -0
  291. package/dist/installer/targets/shared.js.map +1 -0
  292. package/dist/installer/targets/types.d.ts +95 -0
  293. package/dist/installer/targets/types.d.ts.map +1 -0
  294. package/dist/installer/targets/types.js +12 -0
  295. package/dist/installer/targets/types.js.map +1 -0
  296. package/dist/isolation/worktree.d.ts +65 -0
  297. package/dist/isolation/worktree.d.ts.map +1 -0
  298. package/dist/isolation/worktree.js +231 -0
  299. package/dist/isolation/worktree.js.map +1 -0
  300. package/dist/mcp/daemon-paths.d.ts +46 -0
  301. package/dist/mcp/daemon-paths.d.ts.map +1 -0
  302. package/dist/mcp/daemon-paths.js +125 -0
  303. package/dist/mcp/daemon-paths.js.map +1 -0
  304. package/dist/mcp/daemon.d.ts +161 -0
  305. package/dist/mcp/daemon.d.ts.map +1 -0
  306. package/dist/mcp/daemon.js +403 -0
  307. package/dist/mcp/daemon.js.map +1 -0
  308. package/dist/mcp/designer-tools.d.ts +33 -0
  309. package/dist/mcp/designer-tools.d.ts.map +1 -0
  310. package/dist/mcp/designer-tools.js +313 -0
  311. package/dist/mcp/designer-tools.js.map +1 -0
  312. package/dist/mcp/engine.d.ts +105 -0
  313. package/dist/mcp/engine.d.ts.map +1 -0
  314. package/dist/mcp/engine.js +270 -0
  315. package/dist/mcp/engine.js.map +1 -0
  316. package/dist/mcp/fitness-tool.d.ts +12 -0
  317. package/dist/mcp/fitness-tool.d.ts.map +1 -0
  318. package/dist/mcp/fitness-tool.js +46 -0
  319. package/dist/mcp/fitness-tool.js.map +1 -0
  320. package/dist/mcp/index.d.ts +112 -0
  321. package/dist/mcp/index.d.ts.map +1 -0
  322. package/dist/mcp/index.js +477 -0
  323. package/dist/mcp/index.js.map +1 -0
  324. package/dist/mcp/maintainability-tool.d.ts +13 -0
  325. package/dist/mcp/maintainability-tool.d.ts.map +1 -0
  326. package/dist/mcp/maintainability-tool.js +64 -0
  327. package/dist/mcp/maintainability-tool.js.map +1 -0
  328. package/dist/mcp/proxy.d.ts +81 -0
  329. package/dist/mcp/proxy.d.ts.map +1 -0
  330. package/dist/mcp/proxy.js +510 -0
  331. package/dist/mcp/proxy.js.map +1 -0
  332. package/dist/mcp/server-instructions.d.ts +18 -0
  333. package/dist/mcp/server-instructions.d.ts.map +1 -0
  334. package/dist/mcp/server-instructions.js +79 -0
  335. package/dist/mcp/server-instructions.js.map +1 -0
  336. package/dist/mcp/session.d.ts +77 -0
  337. package/dist/mcp/session.d.ts.map +1 -0
  338. package/dist/mcp/session.js +294 -0
  339. package/dist/mcp/session.js.map +1 -0
  340. package/dist/mcp/spec-tools.d.ts +39 -0
  341. package/dist/mcp/spec-tools.d.ts.map +1 -0
  342. package/dist/mcp/spec-tools.js +534 -0
  343. package/dist/mcp/spec-tools.js.map +1 -0
  344. package/dist/mcp/tools.d.ts +417 -0
  345. package/dist/mcp/tools.d.ts.map +1 -0
  346. package/dist/mcp/tools.js +3179 -0
  347. package/dist/mcp/tools.js.map +1 -0
  348. package/dist/mcp/transport.d.ts +188 -0
  349. package/dist/mcp/transport.d.ts.map +1 -0
  350. package/dist/mcp/transport.js +343 -0
  351. package/dist/mcp/transport.js.map +1 -0
  352. package/dist/mcp/version.d.ts +19 -0
  353. package/dist/mcp/version.d.ts.map +1 -0
  354. package/dist/mcp/version.js +71 -0
  355. package/dist/mcp/version.js.map +1 -0
  356. package/dist/reflect/apply.d.ts +31 -0
  357. package/dist/reflect/apply.d.ts.map +1 -0
  358. package/dist/reflect/apply.js +286 -0
  359. package/dist/reflect/apply.js.map +1 -0
  360. package/dist/reflect/hash.d.ts +20 -0
  361. package/dist/reflect/hash.d.ts.map +1 -0
  362. package/dist/reflect/hash.js +36 -0
  363. package/dist/reflect/hash.js.map +1 -0
  364. package/dist/reflect/index.d.ts +16 -0
  365. package/dist/reflect/index.d.ts.map +1 -0
  366. package/dist/reflect/index.js +43 -0
  367. package/dist/reflect/index.js.map +1 -0
  368. package/dist/reflect/miner.d.ts +21 -0
  369. package/dist/reflect/miner.d.ts.map +1 -0
  370. package/dist/reflect/miner.js +463 -0
  371. package/dist/reflect/miner.js.map +1 -0
  372. package/dist/reflect/store.d.ts +31 -0
  373. package/dist/reflect/store.d.ts.map +1 -0
  374. package/dist/reflect/store.js +101 -0
  375. package/dist/reflect/store.js.map +1 -0
  376. package/dist/reflect/sweep.d.ts +26 -0
  377. package/dist/reflect/sweep.d.ts.map +1 -0
  378. package/dist/reflect/sweep.js +42 -0
  379. package/dist/reflect/sweep.js.map +1 -0
  380. package/dist/reflect/targets.d.ts +52 -0
  381. package/dist/reflect/targets.d.ts.map +1 -0
  382. package/dist/reflect/targets.js +192 -0
  383. package/dist/reflect/targets.js.map +1 -0
  384. package/dist/reflect/types.d.ts +96 -0
  385. package/dist/reflect/types.d.ts.map +1 -0
  386. package/dist/reflect/types.js +13 -0
  387. package/dist/reflect/types.js.map +1 -0
  388. package/dist/resolution/brief-link-resolver.d.ts +114 -0
  389. package/dist/resolution/brief-link-resolver.d.ts.map +1 -0
  390. package/dist/resolution/brief-link-resolver.js +261 -0
  391. package/dist/resolution/brief-link-resolver.js.map +1 -0
  392. package/dist/resolution/callback-synthesizer.d.ts +10 -0
  393. package/dist/resolution/callback-synthesizer.d.ts.map +1 -0
  394. package/dist/resolution/callback-synthesizer.js +1300 -0
  395. package/dist/resolution/callback-synthesizer.js.map +1 -0
  396. package/dist/resolution/domain-gap-seed.d.ts +60 -0
  397. package/dist/resolution/domain-gap-seed.d.ts.map +1 -0
  398. package/dist/resolution/domain-gap-seed.js +87 -0
  399. package/dist/resolution/domain-gap-seed.js.map +1 -0
  400. package/dist/resolution/frameworks/cargo-workspace.d.ts +18 -0
  401. package/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
  402. package/dist/resolution/frameworks/cargo-workspace.js +225 -0
  403. package/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
  404. package/dist/resolution/frameworks/csharp.d.ts +8 -0
  405. package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
  406. package/dist/resolution/frameworks/csharp.js +241 -0
  407. package/dist/resolution/frameworks/csharp.js.map +1 -0
  408. package/dist/resolution/frameworks/drupal.d.ts +51 -0
  409. package/dist/resolution/frameworks/drupal.d.ts.map +1 -0
  410. package/dist/resolution/frameworks/drupal.js +367 -0
  411. package/dist/resolution/frameworks/drupal.js.map +1 -0
  412. package/dist/resolution/frameworks/expo-modules.d.ts +3 -0
  413. package/dist/resolution/frameworks/expo-modules.d.ts.map +1 -0
  414. package/dist/resolution/frameworks/expo-modules.js +143 -0
  415. package/dist/resolution/frameworks/expo-modules.js.map +1 -0
  416. package/dist/resolution/frameworks/express.d.ts +8 -0
  417. package/dist/resolution/frameworks/express.d.ts.map +1 -0
  418. package/dist/resolution/frameworks/express.js +308 -0
  419. package/dist/resolution/frameworks/express.js.map +1 -0
  420. package/dist/resolution/frameworks/fabric.d.ts +3 -0
  421. package/dist/resolution/frameworks/fabric.d.ts.map +1 -0
  422. package/dist/resolution/frameworks/fabric.js +354 -0
  423. package/dist/resolution/frameworks/fabric.js.map +1 -0
  424. package/dist/resolution/frameworks/go.d.ts +8 -0
  425. package/dist/resolution/frameworks/go.d.ts.map +1 -0
  426. package/dist/resolution/frameworks/go.js +161 -0
  427. package/dist/resolution/frameworks/go.js.map +1 -0
  428. package/dist/resolution/frameworks/index.d.ts +48 -0
  429. package/dist/resolution/frameworks/index.d.ts.map +1 -0
  430. package/dist/resolution/frameworks/index.js +161 -0
  431. package/dist/resolution/frameworks/index.js.map +1 -0
  432. package/dist/resolution/frameworks/java.d.ts +8 -0
  433. package/dist/resolution/frameworks/java.d.ts.map +1 -0
  434. package/dist/resolution/frameworks/java.js +504 -0
  435. package/dist/resolution/frameworks/java.js.map +1 -0
  436. package/dist/resolution/frameworks/laravel.d.ts +13 -0
  437. package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
  438. package/dist/resolution/frameworks/laravel.js +257 -0
  439. package/dist/resolution/frameworks/laravel.js.map +1 -0
  440. package/dist/resolution/frameworks/nestjs.d.ts +26 -0
  441. package/dist/resolution/frameworks/nestjs.d.ts.map +1 -0
  442. package/dist/resolution/frameworks/nestjs.js +698 -0
  443. package/dist/resolution/frameworks/nestjs.js.map +1 -0
  444. package/dist/resolution/frameworks/play.d.ts +19 -0
  445. package/dist/resolution/frameworks/play.d.ts.map +1 -0
  446. package/dist/resolution/frameworks/play.js +111 -0
  447. package/dist/resolution/frameworks/play.js.map +1 -0
  448. package/dist/resolution/frameworks/python.d.ts +10 -0
  449. package/dist/resolution/frameworks/python.d.ts.map +1 -0
  450. package/dist/resolution/frameworks/python.js +396 -0
  451. package/dist/resolution/frameworks/python.js.map +1 -0
  452. package/dist/resolution/frameworks/react-native.d.ts +3 -0
  453. package/dist/resolution/frameworks/react-native.d.ts.map +1 -0
  454. package/dist/resolution/frameworks/react-native.js +360 -0
  455. package/dist/resolution/frameworks/react-native.js.map +1 -0
  456. package/dist/resolution/frameworks/react.d.ts +8 -0
  457. package/dist/resolution/frameworks/react.d.ts.map +1 -0
  458. package/dist/resolution/frameworks/react.js +365 -0
  459. package/dist/resolution/frameworks/react.js.map +1 -0
  460. package/dist/resolution/frameworks/ruby.d.ts +8 -0
  461. package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
  462. package/dist/resolution/frameworks/ruby.js +302 -0
  463. package/dist/resolution/frameworks/ruby.js.map +1 -0
  464. package/dist/resolution/frameworks/rust.d.ts +8 -0
  465. package/dist/resolution/frameworks/rust.d.ts.map +1 -0
  466. package/dist/resolution/frameworks/rust.js +304 -0
  467. package/dist/resolution/frameworks/rust.js.map +1 -0
  468. package/dist/resolution/frameworks/svelte.d.ts +9 -0
  469. package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
  470. package/dist/resolution/frameworks/svelte.js +249 -0
  471. package/dist/resolution/frameworks/svelte.js.map +1 -0
  472. package/dist/resolution/frameworks/swift-objc.d.ts +37 -0
  473. package/dist/resolution/frameworks/swift-objc.d.ts.map +1 -0
  474. package/dist/resolution/frameworks/swift-objc.js +252 -0
  475. package/dist/resolution/frameworks/swift-objc.js.map +1 -0
  476. package/dist/resolution/frameworks/swift.d.ts +10 -0
  477. package/dist/resolution/frameworks/swift.d.ts.map +1 -0
  478. package/dist/resolution/frameworks/swift.js +400 -0
  479. package/dist/resolution/frameworks/swift.js.map +1 -0
  480. package/dist/resolution/frameworks/vue.d.ts +9 -0
  481. package/dist/resolution/frameworks/vue.d.ts.map +1 -0
  482. package/dist/resolution/frameworks/vue.js +306 -0
  483. package/dist/resolution/frameworks/vue.js.map +1 -0
  484. package/dist/resolution/go-module.d.ts +26 -0
  485. package/dist/resolution/go-module.d.ts.map +1 -0
  486. package/dist/resolution/go-module.js +78 -0
  487. package/dist/resolution/go-module.js.map +1 -0
  488. package/dist/resolution/import-resolver.d.ts +68 -0
  489. package/dist/resolution/import-resolver.d.ts.map +1 -0
  490. package/dist/resolution/import-resolver.js +1275 -0
  491. package/dist/resolution/import-resolver.js.map +1 -0
  492. package/dist/resolution/index.d.ts +117 -0
  493. package/dist/resolution/index.d.ts.map +1 -0
  494. package/dist/resolution/index.js +895 -0
  495. package/dist/resolution/index.js.map +1 -0
  496. package/dist/resolution/lru-cache.d.ts +24 -0
  497. package/dist/resolution/lru-cache.d.ts.map +1 -0
  498. package/dist/resolution/lru-cache.js +62 -0
  499. package/dist/resolution/lru-cache.js.map +1 -0
  500. package/dist/resolution/name-matcher.d.ts +32 -0
  501. package/dist/resolution/name-matcher.d.ts.map +1 -0
  502. package/dist/resolution/name-matcher.js +596 -0
  503. package/dist/resolution/name-matcher.js.map +1 -0
  504. package/dist/resolution/path-aliases.d.ts +68 -0
  505. package/dist/resolution/path-aliases.d.ts.map +1 -0
  506. package/dist/resolution/path-aliases.js +238 -0
  507. package/dist/resolution/path-aliases.js.map +1 -0
  508. package/dist/resolution/spec-link-resolver.d.ts +148 -0
  509. package/dist/resolution/spec-link-resolver.d.ts.map +1 -0
  510. package/dist/resolution/spec-link-resolver.js +337 -0
  511. package/dist/resolution/spec-link-resolver.js.map +1 -0
  512. package/dist/resolution/strip-comments.d.ts +27 -0
  513. package/dist/resolution/strip-comments.d.ts.map +1 -0
  514. package/dist/resolution/strip-comments.js +441 -0
  515. package/dist/resolution/strip-comments.js.map +1 -0
  516. package/dist/resolution/swift-objc-bridge.d.ts +134 -0
  517. package/dist/resolution/swift-objc-bridge.d.ts.map +1 -0
  518. package/dist/resolution/swift-objc-bridge.js +256 -0
  519. package/dist/resolution/swift-objc-bridge.js.map +1 -0
  520. package/dist/resolution/types.d.ts +216 -0
  521. package/dist/resolution/types.d.ts.map +1 -0
  522. package/dist/resolution/types.js +8 -0
  523. package/dist/resolution/types.js.map +1 -0
  524. package/dist/resolution/workspace-packages.d.ts +48 -0
  525. package/dist/resolution/workspace-packages.d.ts.map +1 -0
  526. package/dist/resolution/workspace-packages.js +208 -0
  527. package/dist/resolution/workspace-packages.js.map +1 -0
  528. package/dist/search/query-parser.d.ts +57 -0
  529. package/dist/search/query-parser.d.ts.map +1 -0
  530. package/dist/search/query-parser.js +177 -0
  531. package/dist/search/query-parser.js.map +1 -0
  532. package/dist/search/query-utils.d.ts +71 -0
  533. package/dist/search/query-utils.d.ts.map +1 -0
  534. package/dist/search/query-utils.js +380 -0
  535. package/dist/search/query-utils.js.map +1 -0
  536. package/dist/server/cli.js +152 -0
  537. package/dist/server/index.js +12 -0
  538. package/dist/server/ingest/impact-backfill.js +69 -0
  539. package/dist/server/ingest/impact-query.js +343 -0
  540. package/dist/server/ingest/index.js +19 -0
  541. package/dist/server/ingest/ingestor.js +541 -0
  542. package/dist/server/ingest/parser.js +104 -0
  543. package/dist/server/ingest/pricing.js +78 -0
  544. package/dist/server/ingest/specship-classify.js +153 -0
  545. package/dist/server/ingest/types.js +9 -0
  546. package/dist/server/ingest/watcher.js +77 -0
  547. package/dist/server/package.json +3 -0
  548. package/dist/server/project-registry.js +101 -0
  549. package/dist/server/routes/claude.js +907 -0
  550. package/dist/server/routes/domain.js +0 -0
  551. package/dist/server/routes/events.js +134 -0
  552. package/dist/server/routes/graph.js +248 -0
  553. package/dist/server/routes/maintainability.js +18 -0
  554. package/dist/server/routes/memory.js +272 -0
  555. package/dist/server/routes/projects.js +197 -0
  556. package/dist/server/routes/reflect.js +93 -0
  557. package/dist/server/routes/spec.js +373 -0
  558. package/dist/server/routes/status.js +112 -0
  559. package/dist/server/routes/workflow.js +253 -0
  560. package/dist/server/server.js +238 -0
  561. package/dist/server/static-handler.js +87 -0
  562. package/dist/statusline/active-run.d.ts +16 -0
  563. package/dist/statusline/active-run.d.ts.map +1 -0
  564. package/dist/statusline/active-run.js +73 -0
  565. package/dist/statusline/active-run.js.map +1 -0
  566. package/dist/statusline/cache.d.ts +21 -0
  567. package/dist/statusline/cache.d.ts.map +1 -0
  568. package/dist/statusline/cache.js +34 -0
  569. package/dist/statusline/cache.js.map +1 -0
  570. package/dist/statusline/index.d.ts +24 -0
  571. package/dist/statusline/index.d.ts.map +1 -0
  572. package/dist/statusline/index.js +128 -0
  573. package/dist/statusline/index.js.map +1 -0
  574. package/dist/statusline/paths.d.ts +27 -0
  575. package/dist/statusline/paths.d.ts.map +1 -0
  576. package/dist/statusline/paths.js +101 -0
  577. package/dist/statusline/paths.js.map +1 -0
  578. package/dist/statusline/render.d.ts +25 -0
  579. package/dist/statusline/render.d.ts.map +1 -0
  580. package/dist/statusline/render.js +72 -0
  581. package/dist/statusline/render.js.map +1 -0
  582. package/dist/statusline/session-marker.d.ts +30 -0
  583. package/dist/statusline/session-marker.d.ts.map +1 -0
  584. package/dist/statusline/session-marker.js +71 -0
  585. package/dist/statusline/session-marker.js.map +1 -0
  586. package/dist/statusline/types.d.ts +67 -0
  587. package/dist/statusline/types.d.ts.map +1 -0
  588. package/dist/statusline/types.js +16 -0
  589. package/dist/statusline/types.js.map +1 -0
  590. package/dist/sync/git-hooks.d.ts +45 -0
  591. package/dist/sync/git-hooks.d.ts.map +1 -0
  592. package/dist/sync/git-hooks.js +225 -0
  593. package/dist/sync/git-hooks.js.map +1 -0
  594. package/dist/sync/index.d.ts +19 -0
  595. package/dist/sync/index.d.ts.map +1 -0
  596. package/dist/sync/index.js +35 -0
  597. package/dist/sync/index.js.map +1 -0
  598. package/dist/sync/watch-policy.d.ts +48 -0
  599. package/dist/sync/watch-policy.d.ts.map +1 -0
  600. package/dist/sync/watch-policy.js +124 -0
  601. package/dist/sync/watch-policy.js.map +1 -0
  602. package/dist/sync/watcher.d.ts +283 -0
  603. package/dist/sync/watcher.d.ts.map +1 -0
  604. package/dist/sync/watcher.js +606 -0
  605. package/dist/sync/watcher.js.map +1 -0
  606. package/dist/sync/worktree.d.ts +54 -0
  607. package/dist/sync/worktree.d.ts.map +1 -0
  608. package/dist/sync/worktree.js +137 -0
  609. package/dist/sync/worktree.js.map +1 -0
  610. package/dist/types.d.ts +625 -0
  611. package/dist/types.d.ts.map +1 -0
  612. package/dist/types.js +118 -0
  613. package/dist/types.js.map +1 -0
  614. package/dist/ui/glyphs.d.ts +42 -0
  615. package/dist/ui/glyphs.d.ts.map +1 -0
  616. package/dist/ui/glyphs.js +78 -0
  617. package/dist/ui/glyphs.js.map +1 -0
  618. package/dist/ui/shimmer-progress.d.ts +11 -0
  619. package/dist/ui/shimmer-progress.d.ts.map +1 -0
  620. package/dist/ui/shimmer-progress.js +90 -0
  621. package/dist/ui/shimmer-progress.js.map +1 -0
  622. package/dist/ui/shimmer-worker.d.ts +2 -0
  623. package/dist/ui/shimmer-worker.d.ts.map +1 -0
  624. package/dist/ui/shimmer-worker.js +118 -0
  625. package/dist/ui/shimmer-worker.js.map +1 -0
  626. package/dist/ui/types.d.ts +17 -0
  627. package/dist/ui/types.d.ts.map +1 -0
  628. package/dist/ui/types.js +3 -0
  629. package/dist/ui/types.js.map +1 -0
  630. package/dist/utils.d.ts +205 -0
  631. package/dist/utils.d.ts.map +1 -0
  632. package/dist/utils.js +549 -0
  633. package/dist/utils.js.map +1 -0
  634. package/dist/web/chunk-2AJCHB7P.js +1 -0
  635. package/dist/web/chunk-2CPLUFCH.js +2 -0
  636. package/dist/web/chunk-2I7L37NS.js +1 -0
  637. package/dist/web/chunk-2NAWAJB5.js +1 -0
  638. package/dist/web/chunk-2OJBIPE4.js +1 -0
  639. package/dist/web/chunk-372AYXK6.js +17 -0
  640. package/dist/web/chunk-3E2WB6D5.js +1 -0
  641. package/dist/web/chunk-3EBFYSCH.js +2 -0
  642. package/dist/web/chunk-3QCQ4BXS.js +1 -0
  643. package/dist/web/chunk-42XVAQ6I.js +1 -0
  644. package/dist/web/chunk-4IMMPEYM.js +1 -0
  645. package/dist/web/chunk-4JYHAP7B.js +1 -0
  646. package/dist/web/chunk-4TJQJPCZ.js +1 -0
  647. package/dist/web/chunk-4WZIHTPC.js +1 -0
  648. package/dist/web/chunk-4YVSYOSD.js +1 -0
  649. package/dist/web/chunk-52PO6IMB.js +2 -0
  650. package/dist/web/chunk-54D6RFSW.js +1 -0
  651. package/dist/web/chunk-5BQIOYKW.js +1 -0
  652. package/dist/web/chunk-5HGWHUJA.js +1 -0
  653. package/dist/web/chunk-5XRUOPZE.js +1 -0
  654. package/dist/web/chunk-5Y244R4G.js +1 -0
  655. package/dist/web/chunk-6O7Z3P2M.js +1 -0
  656. package/dist/web/chunk-6QXULGLG.js +1 -0
  657. package/dist/web/chunk-6RRDPT5Z.js +1 -0
  658. package/dist/web/chunk-6VKB2ZWM.js +1 -0
  659. package/dist/web/chunk-7DMFVTU4.js +1 -0
  660. package/dist/web/chunk-7P5CVBJZ.js +1 -0
  661. package/dist/web/chunk-7SMPKVEP.js +1 -0
  662. package/dist/web/chunk-AHLX543M.js +1 -0
  663. package/dist/web/chunk-AMGJBO7D.js +3 -0
  664. package/dist/web/chunk-AZJVTPLU.js +1 -0
  665. package/dist/web/chunk-B3CWIVBW.js +1 -0
  666. package/dist/web/chunk-BLBRMCN2.js +1 -0
  667. package/dist/web/chunk-BMIAXD2V.js +2 -0
  668. package/dist/web/chunk-BPCJLNBS.js +47 -0
  669. package/dist/web/chunk-BRHEUDLY.js +6 -0
  670. package/dist/web/chunk-BUXWEHIY.js +1 -0
  671. package/dist/web/chunk-CD5IZM7Y.js +1 -0
  672. package/dist/web/chunk-DLQPZWSI.css +1 -0
  673. package/dist/web/chunk-DSGNOCKQ.js +1 -0
  674. package/dist/web/chunk-DT5LJYFX.js +1 -0
  675. package/dist/web/chunk-DYRFLPJA.js +1 -0
  676. package/dist/web/chunk-E3J3CXR5.js +1 -0
  677. package/dist/web/chunk-E73OX2P7.js +1 -0
  678. package/dist/web/chunk-EAXRKDLV.js +1 -0
  679. package/dist/web/chunk-EBKKDHYI.js +1 -0
  680. package/dist/web/chunk-EE7V7Q5P.js +1 -0
  681. package/dist/web/chunk-EKY2FUHU.js +1 -0
  682. package/dist/web/chunk-EP6XOPXH.js +1 -0
  683. package/dist/web/chunk-ESGDLJOJ.js +1 -0
  684. package/dist/web/chunk-ETJG7NCY.js +1 -0
  685. package/dist/web/chunk-EUUEFEDI.js +1 -0
  686. package/dist/web/chunk-EX4ZHR4F.js +1 -0
  687. package/dist/web/chunk-F5UNCSXP.js +1 -0
  688. package/dist/web/chunk-FFGJXUHI.js +1 -0
  689. package/dist/web/chunk-FGNZDHTL.js +11 -0
  690. package/dist/web/chunk-FIJW2UNJ.js +1 -0
  691. package/dist/web/chunk-FMV5PXRC.js +5 -0
  692. package/dist/web/chunk-G7VZT5KB.js +3 -0
  693. package/dist/web/chunk-GCOM4JPR.js +2 -0
  694. package/dist/web/chunk-GEIIDO6C.js +1 -0
  695. package/dist/web/chunk-GRZYXPSO.js +7 -0
  696. package/dist/web/chunk-GWBABPZ5.js +1 -0
  697. package/dist/web/chunk-GYGPS3AN.js +1 -0
  698. package/dist/web/chunk-H4GLRD3Q.js +1 -0
  699. package/dist/web/chunk-H5TWEFYX.js +1 -0
  700. package/dist/web/chunk-H7AF7YS4.js +1 -0
  701. package/dist/web/chunk-HCB2N2KH.js +1 -0
  702. package/dist/web/chunk-HDZDQILN.js +1 -0
  703. package/dist/web/chunk-HMK6UO6N.js +1 -0
  704. package/dist/web/chunk-HVVXPI4D.js +1 -0
  705. package/dist/web/chunk-IHEE5NYJ.js +1 -0
  706. package/dist/web/chunk-IPB746BT.js +1 -0
  707. package/dist/web/chunk-ISNEBICW.js +1 -0
  708. package/dist/web/chunk-J2GZVLHH.js +1 -0
  709. package/dist/web/chunk-JTFXTIPE.js +903 -0
  710. package/dist/web/chunk-KHU5M2AL.js +1 -0
  711. package/dist/web/chunk-KW3DHCFV.js +1 -0
  712. package/dist/web/chunk-LB6JPLX2.js +1 -0
  713. package/dist/web/chunk-LBXLFPVN.js +1 -0
  714. package/dist/web/chunk-LGNSHRCE.js +1 -0
  715. package/dist/web/chunk-LNSVDHCI.js +1 -0
  716. package/dist/web/chunk-LVGIY3SO.js +1 -0
  717. package/dist/web/chunk-LXLHIHEN.js +1 -0
  718. package/dist/web/chunk-MFHO2F2U.js +4 -0
  719. package/dist/web/chunk-N5OSSQFZ.js +1 -0
  720. package/dist/web/chunk-N6SS4G6S.js +1 -0
  721. package/dist/web/chunk-NAJYJNHS.js +1 -0
  722. package/dist/web/chunk-NHD66NOI.js +1 -0
  723. package/dist/web/chunk-NNLJ55MY.js +1 -0
  724. package/dist/web/chunk-NTBJG6SJ.js +1 -0
  725. package/dist/web/chunk-NUDB3Q2Y.js +3 -0
  726. package/dist/web/chunk-OM7JVWQQ.js +1 -0
  727. package/dist/web/chunk-OXEF5E3E.js +1 -0
  728. package/dist/web/chunk-PGGJPDJG.js +1 -0
  729. package/dist/web/chunk-PUYSJNJR.js +1 -0
  730. package/dist/web/chunk-Q2RVFS45.js +1 -0
  731. package/dist/web/chunk-Q7L6LLAK.js +1 -0
  732. package/dist/web/chunk-QCMKJIWY.js +1 -0
  733. package/dist/web/chunk-QEQRY4QQ.js +1 -0
  734. package/dist/web/chunk-QH6CF3M3.js +1 -0
  735. package/dist/web/chunk-QQ5LD7PI.js +1 -0
  736. package/dist/web/chunk-QR6L3KAC.js +1 -0
  737. package/dist/web/chunk-QXJS6F3U.js +1 -0
  738. package/dist/web/chunk-R2DLK4HO.js +1 -0
  739. package/dist/web/chunk-RD6TVPOT.js +1 -0
  740. package/dist/web/chunk-RKY4EJYJ.js +1 -0
  741. package/dist/web/chunk-RONYWVY7.js +1 -0
  742. package/dist/web/chunk-RSZZWGGC.js +1 -0
  743. package/dist/web/chunk-RXKXYF2C.js +1 -0
  744. package/dist/web/chunk-SCNDZRN2.js +1 -0
  745. package/dist/web/chunk-SH6UVHQC.js +1 -0
  746. package/dist/web/chunk-SWKJRNYY.js +1 -0
  747. package/dist/web/chunk-T7AZ65JP.js +1 -0
  748. package/dist/web/chunk-TCZDVOHD.js +1 -0
  749. package/dist/web/chunk-TF5TF6IP.js +1 -0
  750. package/dist/web/chunk-TPTITA3V.js +1 -0
  751. package/dist/web/chunk-TR335633.js +1 -0
  752. package/dist/web/chunk-UR5KDXPX.js +1 -0
  753. package/dist/web/chunk-UR6O2GEH.js +1 -0
  754. package/dist/web/chunk-UTNMGWTP.js +1 -0
  755. package/dist/web/chunk-VECWMHJP.js +1 -0
  756. package/dist/web/chunk-VUACT35R.js +3 -0
  757. package/dist/web/chunk-VZI7H4SZ.js +1 -0
  758. package/dist/web/chunk-W22AVG3N.js +1 -0
  759. package/dist/web/chunk-W6NGHRHX.js +1 -0
  760. package/dist/web/chunk-WB6YHOD4.js +1 -0
  761. package/dist/web/chunk-WBT64AWV.js +1 -0
  762. package/dist/web/chunk-WFXJIXZE.js +4 -0
  763. package/dist/web/chunk-WTGYRH3Z.js +298 -0
  764. package/dist/web/chunk-WXTCVDTP.js +1 -0
  765. package/dist/web/chunk-XCDHWLVH.js +1 -0
  766. package/dist/web/chunk-Y3H6FFUZ.js +1 -0
  767. package/dist/web/chunk-Y4F5ULGJ.js +1 -0
  768. package/dist/web/chunk-YEGKAAEE.js +1 -0
  769. package/dist/web/chunk-YM2KU57F.js +1 -0
  770. package/dist/web/chunk-YRERBP6T.js +1 -0
  771. package/dist/web/chunk-ZLV4VCDG.js +3 -0
  772. package/dist/web/chunk-ZQUJMA5K.js +4 -0
  773. package/dist/web/chunk-ZTVI5KFF.js +1 -0
  774. package/dist/web/favicon-16.png +0 -0
  775. package/dist/web/favicon-180.png +0 -0
  776. package/dist/web/favicon-32.png +0 -0
  777. package/dist/web/favicon-512.png +0 -0
  778. package/dist/web/favicon-small.svg +15 -0
  779. package/dist/web/favicon.ico +0 -0
  780. package/dist/web/favicon.svg +20 -0
  781. package/dist/web/icon-192.png +0 -0
  782. package/dist/web/icon-512.png +0 -0
  783. package/dist/web/index.html +146 -0
  784. package/dist/web/main-ESADRXN2.css +1 -0
  785. package/dist/web/main-SQFUMVQA.js +1 -0
  786. package/dist/web/manifest.webmanifest +15 -0
  787. package/dist/web/media/codicon-LN6W7LCM.ttf +0 -0
  788. package/dist/web/styles-KSOPUVDA.css +1 -0
  789. package/dist/web/sw.js +69 -0
  790. package/dist/workflows/condition-evaluator.d.ts +75 -0
  791. package/dist/workflows/condition-evaluator.d.ts.map +1 -0
  792. package/dist/workflows/condition-evaluator.js +282 -0
  793. package/dist/workflows/condition-evaluator.js.map +1 -0
  794. package/dist/workflows/defaults/claude-design-implement.yaml +336 -0
  795. package/dist/workflows/defaults/index.d.ts +26 -0
  796. package/dist/workflows/defaults/index.d.ts.map +1 -0
  797. package/dist/workflows/defaults/index.js +94 -0
  798. package/dist/workflows/defaults/index.js.map +1 -0
  799. package/dist/workflows/defaults/spec-author.yaml +214 -0
  800. package/dist/workflows/defaults/spec-fix.yaml +110 -0
  801. package/dist/workflows/defaults/spec-implement.yaml +150 -0
  802. package/dist/workflows/defaults/spec-relink.yaml +81 -0
  803. package/dist/workflows/defaults/spec-verify.yaml +51 -0
  804. package/dist/workflows/discovery.d.ts +46 -0
  805. package/dist/workflows/discovery.d.ts.map +1 -0
  806. package/dist/workflows/discovery.js +193 -0
  807. package/dist/workflows/discovery.js.map +1 -0
  808. package/dist/workflows/executor.d.ts +98 -0
  809. package/dist/workflows/executor.d.ts.map +1 -0
  810. package/dist/workflows/executor.js +664 -0
  811. package/dist/workflows/executor.js.map +1 -0
  812. package/dist/workflows/runners/approval.d.ts +18 -0
  813. package/dist/workflows/runners/approval.d.ts.map +1 -0
  814. package/dist/workflows/runners/approval.js +34 -0
  815. package/dist/workflows/runners/approval.js.map +1 -0
  816. package/dist/workflows/runners/bash.d.ts +13 -0
  817. package/dist/workflows/runners/bash.d.ts.map +1 -0
  818. package/dist/workflows/runners/bash.js +143 -0
  819. package/dist/workflows/runners/bash.js.map +1 -0
  820. package/dist/workflows/runners/cancel.d.ts +10 -0
  821. package/dist/workflows/runners/cancel.d.ts.map +1 -0
  822. package/dist/workflows/runners/cancel.js +19 -0
  823. package/dist/workflows/runners/cancel.js.map +1 -0
  824. package/dist/workflows/runners/prompt.d.ts +51 -0
  825. package/dist/workflows/runners/prompt.d.ts.map +1 -0
  826. package/dist/workflows/runners/prompt.js +306 -0
  827. package/dist/workflows/runners/prompt.js.map +1 -0
  828. package/dist/workflows/runners/script.d.ts +17 -0
  829. package/dist/workflows/runners/script.d.ts.map +1 -0
  830. package/dist/workflows/runners/script.js +155 -0
  831. package/dist/workflows/runners/script.js.map +1 -0
  832. package/dist/workflows/runners/types.d.ts +57 -0
  833. package/dist/workflows/runners/types.d.ts.map +1 -0
  834. package/dist/workflows/runners/types.js +13 -0
  835. package/dist/workflows/runners/types.js.map +1 -0
  836. package/dist/workflows/schemas/workflow.d.ts +166 -0
  837. package/dist/workflows/schemas/workflow.d.ts.map +1 -0
  838. package/dist/workflows/schemas/workflow.js +437 -0
  839. package/dist/workflows/schemas/workflow.js.map +1 -0
  840. package/hooks/hooks.json +38 -0
  841. package/package.json +78 -0
  842. package/scripts/add-lang/bench.sh +60 -0
  843. package/scripts/add-lang/check-grammar.mjs +75 -0
  844. package/scripts/add-lang/dump-ast.mjs +103 -0
  845. package/scripts/add-lang/verify-extraction.mjs +70 -0
  846. package/scripts/agent-eval/arms-F.sh +21 -0
  847. package/scripts/agent-eval/arms-matrix.sh +37 -0
  848. package/scripts/agent-eval/audit.sh +68 -0
  849. package/scripts/agent-eval/bench-readme.sh +28 -0
  850. package/scripts/agent-eval/bench-why-repo.sh +22 -0
  851. package/scripts/agent-eval/block-read-hook.sh +19 -0
  852. package/scripts/agent-eval/hook-settings.json +15 -0
  853. package/scripts/agent-eval/itrun.sh +120 -0
  854. package/scripts/agent-eval/parse-arms.mjs +116 -0
  855. package/scripts/agent-eval/parse-bench-readme.mjs +84 -0
  856. package/scripts/agent-eval/parse-run.mjs +45 -0
  857. package/scripts/agent-eval/parse-session.mjs +93 -0
  858. package/scripts/agent-eval/probe-context.mjs +21 -0
  859. package/scripts/agent-eval/probe-explore.mjs +40 -0
  860. package/scripts/agent-eval/probe-node.mjs +20 -0
  861. package/scripts/agent-eval/probe-sweep.mjs +119 -0
  862. package/scripts/agent-eval/probe-trace.mjs +20 -0
  863. package/scripts/agent-eval/run-agent.sh +34 -0
  864. package/scripts/agent-eval/run-all.sh +67 -0
  865. package/scripts/agent-eval/run-arms.sh +56 -0
  866. package/scripts/agent-eval/seq-matrix.mjs +137 -0
  867. package/scripts/build-bundle.sh +118 -0
  868. package/scripts/build-server-bundle.mjs +80 -0
  869. package/scripts/build-web-bundle.mjs +66 -0
  870. package/scripts/extract-release-notes.mjs +130 -0
  871. package/scripts/local-install.sh +41 -0
  872. package/scripts/npm-sdk.js +75 -0
  873. package/scripts/npm-shim.js +246 -0
  874. package/scripts/offline-install.ps1 +148 -0
  875. package/scripts/offline-install.sh +149 -0
  876. package/scripts/pack-npm.sh +119 -0
  877. package/scripts/prepare-release.mjs +270 -0
  878. package/scripts/sync-shim-version.mjs +64 -0
  879. package/selectors.json +41 -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"./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,2 @@
1
+ import{a as K,b as J,c as X}from"./chunk-CD5IZM7Y.js";import{a as W}from"./chunk-SH6UVHQC.js";import{a as q}from"./chunk-NAJYJNHS.js";import{a as U}from"./chunk-KHU5M2AL.js";import{a as Z}from"./chunk-EX4ZHR4F.js";import{a as Q}from"./chunk-N5OSSQFZ.js";import{c as V,d as j}from"./chunk-DSGNOCKQ.js";import{a as H,c as _}from"./chunk-B3CWIVBW.js";import{a as A}from"./chunk-W22AVG3N.js";import{a as L}from"./chunk-4JYHAP7B.js";import{Aa as l,Ga as T,I as E,Ia as b,Ka as c,M as C,N as y,Ta as w,Ua as M,Va as s,W as R,Wa as x,Xa as v,Ya as O,bb as N,ea as r,gb as z,ib as I,ka as $,lb as m,qa as G,ra as u,sa as g,ua as D,va as S,vb as B,wa as k,xa as p,ya as a,za as o,zb as Y}from"./chunk-MFHO2F2U.js";import"./chunk-Q7L6LLAK.js";var te=()=>[0,1,2,3],ne=()=>[0,1,2,3,4],F=(i,t)=>t.id;function ie(i,t){if(i&1&&s(0),i&2){let e=c();v(" ",e.fmt$(e.lastSessionCostStat().value)," ")}}function ae(i,t){i&1&&s(0," \xA0 ")}function oe(i,t){if(i&1&&l(0,"app-sparkline",11),i&2){let e=c();p("data",e.lastSessionCostStat().series)("width",64)("height",22)("fill",!0)}}function re(i,t){if(i&1&&l(0,"app-delta",12),i&2){let e=c();p("value",e.lastSessionCostStat().delta)("invert",!0)}}function se(i,t){if(i&1&&s(0),i&2){let e=c();v(" ",e.toolCallsStat().value.toLocaleString()," ")}}function le(i,t){i&1&&s(0," \xA0 ")}function de(i,t){if(i&1&&l(0,"app-sparkline",14),i&2){let e=c();p("data",e.toolCallsStat().series)("width",64)("height",22)("fill",!0)}}function pe(i,t){if(i&1&&l(0,"app-delta",12),i&2){let e=c();p("value",e.toolCallsStat().delta)("invert",!0)}}function ce(i,t){if(i&1&&s(0),i&2){let e=c();v(" ",e.subagentPctStat().value,"% ")}}function me(i,t){i&1&&s(0," \xA0 ")}function ue(i,t){if(i&1&&l(0,"app-sparkline",16),i&2){let e=c();p("data",e.subagentPctStat().series)("width",64)("height",22)("fill",!0)}}function ge(i,t){if(i&1&&l(0,"app-delta",12),i&2){let e=c();p("value",e.subagentPctStat().delta)("invert",!0)}}function he(i,t){if(i&1&&s(0),i&2){let e=c();v(" ",e.driftStat().value," ")}}function be(i,t){i&1&&s(0," \xA0 ")}function ve(i,t){if(i&1&&(a(0,"span",72),s(1),o()),i&2){let e=t.$implicit;r(),x(e)}}function xe(i,t){if(i&1){let e=T();a(0,"button",63),b("click",function(){let d=C(e).$implicit,h=c();return y(h.go(d.route))}),a(1,"div",64)(2,"span",65),l(3,"app-icon",66),o(),a(4,"div",67)(5,"div",68),s(6),o(),a(7,"code",69),s(8),o()()(),a(9,"div",70),s(10),o(),a(11,"div",71),S(12,ve,2,1,"span",72,D),o()()}if(i&2){let e=t.$implicit;G("aria-label",e.label+" door \u2014 "+e.cmd+". "+e.blurb),r(2),w("color",e.color)("background","color-mix(in srgb, "+e.color+" 14%, transparent)"),r(),p("name",e.icon)("size",15),r(3),v("",e.label," door"),r(),w("color",e.color),r(),x(e.cmd),r(2),x(e.blurb),r(2),k(e.subs)}}function _e(i,t){i&1&&(a(0,"span",32),s(1,"seed"),o())}function fe(i,t){if(i&1&&(a(0,"span",39),s(1),o()),i&2){let e=c();r(),v(" ",e.urgentTipCount()," urgent ")}}function Ce(i,t){i&1&&l(0,"div",73)}function ye(i,t){i&1&&S(0,Ce,1,0,"div",73,D),i&2&&k(N(0,te))}function Se(i,t){i&1&&(a(0,"div",42),s(1,"No tips yet. Run more sessions to populate."),o())}function ke(i,t){if(i&1&&(a(0,"code",80),s(1),o()),i&2){let e=c().$implicit;r(),x(e.fix)}}function we(i,t){if(i&1&&(a(0,"span",87),s(1),o()),i&2){let e=c().$implicit,n=c(2);w("color",n.tipSevColor(e.severity)),r(),x(e.saving)}}function Me(i,t){if(i&1){let e=T();a(0,"div",75)(1,"div",76),l(2,"app-icon",66),o(),a(3,"div",77)(4,"div",78),s(5),o(),a(6,"div",79),u(7,ke,2,1,"code",80),l(8,"span",81),u(9,we,2,3,"span",82),o()(),a(10,"div",83)(11,"button",84),b("click",function(){C(e);let d=c(2);return y(d.go("tips"))}),s(12,"Apply"),o(),a(13,"button",85),b("click",function(){let d=C(e).$implicit,h=c(2);return y(h.dismissTip(d.id))}),l(14,"app-icon",86),o()()()}if(i&2){let e=t.$implicit,n=c(2);w("border-left-color",n.tipSevColor(e.severity)),r(),w("color",n.tipSevColor(e.severity)),r(),p("name",n.tipIcon(e))("size",14),r(3),x(e.title),r(2),g(e.fix?7:-1),r(2),g(e.saving?9:-1),r(5),p("size",12)}}function Pe(i,t){if(i&1&&S(0,Me,15,10,"div",74,F),i&2){let e=c();k(e.visibleTips())}}function Ee(i,t){i&1&&l(0,"div",47)}function Te(i,t){i&1&&(a(0,"div",48),s(1," No tool calls in the selected window. "),o())}function De(i,t){if(i&1){let e=T();a(0,"app-treemap",88),b("pick",function(){C(e);let d=c();return y(d.go("heatmap"))}),o()}if(i&2){let e=c();p("items",e.treemapItems())("height",116)("selKey",null)}}function Oe(i,t){i&1&&l(0,"div",89)}function ze(i,t){i&1&&S(0,Oe,1,0,"div",89,D),i&2&&k(N(0,ne))}function Ie(i,t){i&1&&(a(0,"div",42),s(1,"No prompts ingested for this range."),o())}function Re(i,t){i&1&&l(0,"app-icon",94),i&2&&p("size",11)}function Ne(i,t){if(i&1){let e=T();a(0,"div",91),b("click",function(){C(e);let d=c(2);return y(d.go("sessions"))})("keydown.enter",function(){C(e);let d=c(2);return y(d.go("sessions"))})("keydown.space",function(){C(e);let d=c(2);return y(d.go("sessions"))}),a(1,"div",92)(2,"div",93),u(3,Re,1,1,"app-icon",94),s(4),o(),a(5,"div",95),l(6,"app-bar",96),o()(),a(7,"div",97)(8,"div",98),s(9),o(),a(10,"div",99),s(11),z(12,"number"),o()()()}if(i&2){let e=t.$implicit,n=c(2);r(3),g(e.is_sidechain?3:-1),r(),v(" ",e.text||"(no text)"," "),r(2),p("frac",n.promptFrac(e.cost_usd))("color",n.promptBarColor(e.cost_usd))("height",4),r(2),w("color",e.cost_usd/n.maxPromptCost()>.7?"var(--error)":"var(--text-primary)"),M("expensive",e.cost_usd/n.maxPromptCost()>.7),r(),v(" ",n.fmt$(e.cost_usd)," "),r(2),O(" ",n.fmtK(n.promptTotalTokens(e))," \xB7 ",I(12,12,n.promptCacheRate(e)*100,"1.0-0"),"% ")}}function Fe(i,t){if(i&1&&S(0,Ne,13,15,"div",90,F),i&2){let e=c();k(e.topPrompts())}}function $e(i,t){i&1&&l(0,"div",61)}function Ge(i,t){if(i&1&&(a(0,"div",100)(1,"div",101),s(2),z(3,"number"),o(),a(4,"div",102)(5,"div",23),s(6,"cache read rate"),o(),l(7,"app-delta",12),o()(),l(8,"div",103),a(9,"div",104)(10,"div",105)(11,"div",106),s(12,"Creation tokens"),o(),a(13,"div",107),s(14),o(),a(15,"div",108),s(16,"ephemeral"),o()(),a(17,"div",105)(18,"div",106),s(19,"Read tokens"),o(),a(20,"div",107),s(21),o(),a(22,"div",108),s(23,"charged at ~10%"),o()(),a(24,"div",105)(25,"div",106),s(26,"Saved this week"),o(),a(27,"div",109),s(28),o(),a(29,"div",108),s(30,"vs no cache"),o()(),a(31,"div",105)(32,"div",106),s(33,"WoW"),o(),a(34,"div",109),s(35),z(36,"number"),o(),a(37,"div",108),s(38,"more reuse"),o()()()),i&2){let e=c(),n=e.cache.state().data;r(2),v("",I(3,8,n.readRate*100,"1.0-0"),"%"),r(5),p("value",n.wowDelta)("invert",!1),r(7),x(e.fmtK(n.creationTokens)),r(7),x(e.fmtK(n.readTokens)),r(7),x(e.fmt$(n.dollarsSaved)),r(7),O(" ",n.wowDelta>=0?"+":"","",I(36,11,n.wowDelta*100,"1.0-0"),"% ")}}var ee=class i{api=E(L);router=E(V);projects=E(A);conn=E(H);range=R("week");rangeOptions=[{value:"today",label:"Today"},{value:"week",label:"This week"},{value:"month",label:"This month"},{value:"all",label:"All time"}];status=_(this.api,()=>`/api/status${this.projects.projectQuery()}`);miniGraphSearch=_(this.api,()=>`/api/graph/search?q=on&limit=18${this.projects.projectQuery("&")}`);tips=_(this.api,()=>"/api/claude/tips");heatmap=_(this.api,()=>`/api/claude/heatmap?range=${this.range()}`);costs=_(this.api,()=>`/api/claude/costs?range=${this.range()}`);cache=_(this.api,()=>`/api/claude/cache?range=${this.range()}`);sessions=_(this.api,()=>`/api/claude/sessions?range=${this.range()}&limit=10`);stats=_(this.api,()=>`/api/claude/stats?range=${this.range()}`);EMPTY_METRIC={value:0,delta:0,series:[]};lastSessionCostStat=m(()=>this.stats.state().data?.lastSessionCost??this.EMPTY_METRIC);toolCallsStat=m(()=>this.stats.state().data?.toolCalls??this.EMPTY_METRIC);subagentPctStat=m(()=>this.stats.state().data?.subagentPct??this.EMPTY_METRIC);driftStat=m(()=>this.stats.state().data?.drift??this.EMPTY_METRIC);lastSession=m(()=>(this.sessions.state().data?.sessions??[])[0]??null);lastSessionCost=m(()=>this.lastSession()?.total_cost_usd??0);toolCallCount=m(()=>(this.heatmap.state().data?.tools??[]).reduce((e,n)=>e+(n.calls??0),0));subagentShare=m(()=>{let t=this.heatmap.state().data?.subagents??[],e=t.find(f=>f.type==="subagent"),n=t.find(f=>f.type==="main"),d=e?.cost??0,h=n?.cost??0,P=d+h;return P>0?Math.round(d/P*100):0});driftCount=m(()=>this.status.state().data?.drift??0);nodeCountLabel=m(()=>this.status.state().data?.nodeCount??0);urgentTipCount=m(()=>(this.tips.state().data?.tips??[]).filter(e=>e.severity==="error").length);dismissedTips=R(new Set);dismissTip(t){this.dismissedTips.update(e=>{let n=new Set(e);return n.add(t),n})}isTipDismissed(t){return this.dismissedTips().has(t)}visibleTips=m(()=>{let t=this.dismissedTips();return(this.tips.state().data?.tips??[]).filter(e=>!t.has(e.id)).slice(0,4)});treemapItems=m(()=>{let t=(this.heatmap.state().data?.files??[]).slice(0,30);if(!t.length)return[];let e=Math.max(1,...t.map(n=>n.resultBytes&&n.calls?n.resultBytes/n.calls:0));return t.map(n=>{let d=n.calls>0?n.resultBytes/n.calls:0,h=Math.min(1,d/e);return{key:n.path,label:K(n.path),value:n.calls,intensity:h,sub:n.calls+" calls",title:`${n.path}
2
+ ${n.calls} calls \xB7 ${this.fmtK(Math.round(d))}/call`}})});topPrompts=m(()=>(this.costs.state().data?.topPrompts??[]).slice(0,8));maxPromptCost=m(()=>Math.max(.01,...this.topPrompts().map(t=>t.cost_usd??0)));rangeTotal=m(()=>(this.costs.state().data?.series??[]).reduce((e,n)=>e+(n.cost??0),0));liveSource=m(()=>this.conn.online()?"live":"offline");miniGraphSource=m(()=>(this.miniGraphSearch.state().data?.results?.length??0)>0?"api":"seed");miniGraphNodes=m(()=>{let t=this.miniGraphSearch.state().data?.results??[];return t.length>0?je(t.slice(0,18).map(e=>({id:e.node.id,label:e.node.name,sub:e.node.filePath?.split("/").slice(-2).join("/"),kind:e.node.kind}))):Be});miniGraphEdges=m(()=>{if(this.miniGraphSource()==="api"){let t=this.miniGraphNodes(),e=[];for(let n=1;n<t.length;n++){let d=t[Math.floor(Math.random()*n)],h=t[n];d&&h&&e.push({from:d.id,to:h.id,kind:"calls"})}return e}return Ve});onMiniGraphPick(t){this.router.navigate(["/graph"],{queryParams:{focus:t}})}doors=[{id:"intent",label:"Intent",cmd:"/ss-spec",icon:"book",color:"var(--node-spec)",route:"specs",blurb:"View, author, implement, review, or extend a spec \u2014 the whole lifecycle.",subs:["new","fast","implement","review","triage","behaviour","domain"]},{id:"reads",label:"Reads",cmd:"/ss-explore",icon:"search",color:"var(--accent)",route:"graph",blurb:"Explore an area, trace a flow, or get a change\u2019s blast radius.",subs:["explore","flow","impact"]},{id:"gate",label:"Gate & health",cmd:"/ss-check",icon:"check",color:"var(--warn)",route:"drift",blurb:"Run the enforcement gate, review drift, repair links, or see code-health.",subs:["gate","drifted","fix","relink","health"]}];setRange(t){this.range.set(t)}go(t){this.router.navigate(["/"+t])}fmt$(t){return"$"+t.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}fmtK(t){return t>=1e6?(t/1e6).toFixed(1)+"M":t>=1e3?(t/1e3).toFixed(t>=1e4?0:1)+"k":String(t)}promptCacheRate(t){let e=(t.input_tokens??0)+(t.cache_creation_tokens??0)+(t.cache_read_tokens??0);return e>0?(t.cache_read_tokens??0)/e:0}promptTotalTokens(t){return(t.input_tokens??0)+(t.output_tokens??0)+(t.cache_creation_tokens??0)+(t.cache_read_tokens??0)}promptBarColor(t){return t/this.maxPromptCost()>.7?"var(--error)":"var(--accent)"}promptFrac(t){return Math.max(0,Math.min(1,t/this.maxPromptCost()))}tipSevColor(t){return t==="error"?"var(--error)":t==="warn"?"var(--warn)":"var(--info)"}tipIcon(t){return t.icon?t.icon:t.severity==="error"?"cancel":t.severity==="warn"?"warn":"info"}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=$({type:i,selectors:[["app-dashboard"]],decls:133,vars:49,consts:[[1,"scroll-y","dashboard"],["icon","dashboard","title","Dashboard",3,"sub"],["actions",""],["size","sm",3,"change","options","value"],[1,"stat-grid"],["type","button",1,"stat-tile",3,"click"],[1,"row","gap-8","stat-eyebrow"],["name","coins",2,"color","var(--accent)",3,"size"],[1,"eyebrow",2,"letter-spacing","0.04em"],[1,"row","stat-value-row"],[1,"stat-value","tabular"],["color","var(--accent)",3,"data","width","height","fill"],[3,"value","invert"],["name","wrench",2,"color","var(--node-spec)",3,"size"],["color","var(--node-spec)",3,"data","width","height","fill"],["name","bot",2,"color","var(--node-code)",3,"size"],["color","var(--node-code)",3,"data","width","height","fill"],["name","drift",2,"color","var(--warn)",3,"size"],[1,"card","card-pad","doors-card"],[1,"row","doors-head"],[1,"row","gap-8"],["name","command",2,"color","var(--node-spec)",3,"size"],[2,"font-weight","600","font-size","12.5px"],[1,"muted",2,"font-size","11px"],[1,"doors-grid"],["type","button",1,"door-tile"],[1,"center-grid"],[1,"card","graph-card"],[1,"card-head"],[1,"card-title","row","gap-8"],["name","graph",2,"color","var(--accent)",3,"size"],[1,"muted",2,"font-size","11px","font-weight","400"],["title","No graph data yet \u2014 illustrative",1,"pill","seed-pill"],["routerLink","/graph",1,"btn","btn-ghost","btn-xs"],["name","arrowRight",3,"size"],[1,"mini-graph"],[3,"nodeClick","nodes","edges"],[1,"card","tips-card"],["name","tips",2,"color","var(--warn)",3,"size"],[1,"pill",2,"font-size","10px","background","var(--error-soft)","color","var(--error)"],["routerLink","/tips",1,"btn","btn-ghost","btn-xs"],[1,"scroll-y","tips-body"],[1,"tip-empty"],[1,"card","card-pad","heatmap-card"],[1,"row","heatmap-head"],["name","flame",2,"color","var(--warn)",3,"size"],["routerLink","/heatmap",1,"btn","btn-ghost","btn-xs"],[1,"skel",2,"height","116px","border-radius","7px"],[1,"tip-empty",2,"height","116px","display","grid","place-items","center"],[3,"items","height","selKey"],[1,"row","gap-10","heatmap-legend"],[1,"muted",2,"font-size","10px"],[1,"heatmap-gradient"],[1,"muted",2,"font-size","9.5px"],[1,"bottom-grid"],[1,"card","card-pad","prompts-card"],[1,"row","prompts-head"],["routerLink","/costs",1,"btn","btn-ghost","btn-xs"],[1,"col"],[1,"card","card-pad","cache-card"],["name","database",2,"color","var(--node-route)",3,"size"],[1,"skel",2,"height","70px","border-radius","5px"],[1,"dash-footer","mono","muted"],["type","button",1,"door-tile",3,"click"],[1,"row","door-top"],[1,"door-ic"],[3,"name","size"],[1,"door-titles"],[1,"door-label"],[1,"mono","door-cmd"],[1,"door-blurb"],[1,"door-subs"],[1,"door-sub"],[1,"skel",2,"height","64px","border-radius","8px"],[1,"tip-row",3,"border-left-color"],[1,"tip-row"],[1,"tip-sev-icon"],[1,"grow","tip-body-col",2,"min-width","0"],[1,"tip-title"],[1,"row","gap-8","tip-meta-row"],[1,"mono","tip-fix"],[1,"grow"],[1,"pill",2,"font-size","10px","color","inherit","background","transparent",3,"color"],[1,"row","gap-4",2,"flex-shrink","0"],["type","button",1,"btn","btn-secondary","btn-xs",3,"click"],["type","button","title","Dismiss",1,"btn","btn-ghost","btn-xs",3,"click"],["name","x",3,"size"],[1,"pill",2,"font-size","10px","color","inherit","background","transparent"],[3,"pick","items","height","selKey"],[1,"skel",2,"height","26px","margin","4px 0","border-radius","4px"],["role","button","tabindex","0",1,"prompt-row"],["role","button","tabindex","0",1,"prompt-row",3,"click","keydown.enter","keydown.space"],[1,"grow","prompt-left",2,"min-width","0"],[1,"prompt-text"],["name","bot",2,"color","var(--node-code)","margin-right","5px","vertical-align","-1px",3,"size"],[2,"margin-top","4px","width","70%"],[3,"frac","color","height"],[1,"prompt-right"],[1,"mono","tabular","prompt-cost"],[1,"mono","muted",2,"font-size","10px"],[1,"row","cache-headline"],[1,"tabular","cache-rate"],[2,"padding-bottom","3px"],[1,"cache-divider"],[1,"cache-kv-grid"],[1,"kv"],[1,"kv-label"],[1,"kv-value","mono","tabular"],[1,"kv-sub","mono","muted"],[1,"kv-value","mono","tabular",2,"color","var(--success)"]],template:function(e,n){e&1&&(a(0,"div",0)(1,"app-page-head",1)(2,"div",2)(3,"app-segmented",3),b("change",function(h){return n.setRange(h)}),o()()(),a(4,"div",4)(5,"button",5),b("click",function(){return n.go("sessions")}),a(6,"div",6),l(7,"app-icon",7),a(8,"span",8),s(9,"Last session cost"),o()(),a(10,"div",9)(11,"div",10),u(12,ie,1,1)(13,ae,1,0),o(),u(14,oe,1,4,"app-sparkline",11),o(),u(15,re,1,2,"app-delta",12),o(),a(16,"button",5),b("click",function(){return n.go("heatmap")}),a(17,"div",6),l(18,"app-icon",13),a(19,"span",8),s(20),o()(),a(21,"div",9)(22,"div",10),u(23,se,1,1)(24,le,1,0),o(),u(25,de,1,4,"app-sparkline",14),o(),u(26,pe,1,2,"app-delta",12),o(),a(27,"button",5),b("click",function(){return n.go("heatmap")}),a(28,"div",6),l(29,"app-icon",15),a(30,"span",8),s(31,"Subagent spend"),o()(),a(32,"div",9)(33,"div",10),u(34,ce,1,1)(35,me,1,0),o(),u(36,ue,1,4,"app-sparkline",16),o(),u(37,ge,1,2,"app-delta",12),o(),a(38,"button",5),b("click",function(){return n.go("drift")}),a(39,"div",6),l(40,"app-icon",17),a(41,"span",8),s(42,"Drift queue"),o()(),a(43,"div",9)(44,"div",10),u(45,he,1,1)(46,be,1,0),o()()()(),a(47,"div",18)(48,"div",19)(49,"div",20),l(50,"app-icon",21),a(51,"span",22),s(52,"Command doors"),o(),a(53,"span",23),s(54,"\xB7 your whole SpecShip command surface, in Claude Code"),o()()(),a(55,"div",24),S(56,xe,14,12,"button",25,F),o()(),a(58,"div",26)(59,"div",27)(60,"div",28)(61,"div",29),l(62,"app-icon",30),a(63,"span"),s(64,"Recent neighborhood"),o(),a(65,"span",31),s(66,"\xB7 last edited files"),o(),u(67,_e,2,0,"span",32),o(),a(68,"a",33),s(69," Open graph "),l(70,"app-icon",34),o()(),a(71,"div",35)(72,"app-graph-canvas",36),b("nodeClick",function(h){return n.onMiniGraphPick(h)}),o()()(),a(73,"div",37)(74,"div",28)(75,"div",29),l(76,"app-icon",38),a(77,"span"),s(78,"Tips"),o(),u(79,fe,2,1,"span",39),o(),a(80,"a",40),s(81,"All"),o()(),a(82,"div",41),u(83,ye,2,1)(84,Se,2,0,"div",42)(85,Pe,2,0),o()()(),a(86,"div",43)(87,"div",44)(88,"div",20),l(89,"app-icon",45),a(90,"span",22),s(91,"Tool-call heatmap"),o(),a(92,"span",23),s(93,"\xB7 area = calls, color = tokens / call"),o()(),a(94,"a",46),s(95," Open heatmap "),l(96,"app-icon",34),o()(),u(97,Ee,1,0,"div",47)(98,Te,2,0,"div",48)(99,De,1,3,"app-treemap",49),a(100,"div",50)(101,"span",51),s(102,"tokens / call"),o(),l(103,"div",52),a(104,"span",53),s(105,"efficient \u2192 wasteful"),o()()(),a(106,"div",54)(107,"div",55)(108,"div",56)(109,"div",20),l(110,"app-icon",7),a(111,"span",22),s(112,"Recent prompts"),o(),a(113,"span",23),s(114,"\xB7 by cost"),o()(),a(115,"a",57),s(116,"Cost ranking"),o()(),a(117,"div",58),u(118,ze,2,1)(119,Ie,2,0,"div",42)(120,Fe,2,0),o()(),a(121,"div",59)(122,"div",20),l(123,"app-icon",60),a(124,"span",22),s(125,"Cache analytics"),o()(),u(126,$e,1,0,"div",61)(127,Ge,39,14),o()(),a(128,"footer",62),s(129),a(130,"span"),s(131,"\u25CF"),o(),s(132),o()()),e&2&&(r(),p("sub","specship \xB7 "+n.nodeCountLabel().toLocaleString()+" nodes \xB7 last session "+n.fmt$(n.lastSessionCost())),r(2),p("options",n.rangeOptions)("value",n.range()),r(4),p("size",13),r(4),M("skel",n.stats.state().loading),r(),g(n.stats.state().loading?13:12),r(2),g(n.lastSessionCostStat().series.length>0?14:-1),r(),g(n.lastSessionCostStat().delta!==0?15:-1),r(3),p("size",13),r(2),v("Tool calls \xB7 ",n.range()),r(2),M("skel",n.stats.state().loading),r(),g(n.stats.state().loading?24:23),r(2),g(n.toolCallsStat().series.length>0?25:-1),r(),g(n.toolCallsStat().delta!==0?26:-1),r(3),p("size",13),r(4),M("skel",n.stats.state().loading),r(),g(n.stats.state().loading?35:34),r(2),g(n.subagentPctStat().series.length>0?36:-1),r(),g(n.subagentPctStat().delta!==0?37:-1),r(3),p("size",13),r(4),M("skel",n.stats.state().loading),r(),g(n.stats.state().loading?46:45),r(5),p("size",14),r(6),k(n.doors),r(6),p("size",14),r(5),g(n.miniGraphSource()==="seed"?67:-1),r(3),p("size",11),r(2),p("nodes",n.miniGraphNodes())("edges",n.miniGraphEdges()),r(4),p("size",14),r(3),g(n.urgentTipCount()>0?79:-1),r(4),g(n.tips.state().loading?83:n.visibleTips().length===0?84:85),r(6),p("size",14),r(7),p("size",11),r(),g(n.heatmap.state().loading?97:n.treemapItems().length===0?98:99),r(13),p("size",14),r(8),g(n.costs.state().loading?118:n.topPrompts().length===0?119:120),r(5),p("size",14),r(3),g(n.cache.state().loading?126:n.cache.state().data?127:-1),r(3),O(" ",n.range()," window total: ",n.fmt$(n.rangeTotal())," \xB7 "),r(),M("dot-live",n.liveSource()==="live")("dot-mock",n.liveSource()==="offline"),r(2),v(" ",n.liveSource()==="live"?"Live":"Offline"," "))},dependencies:[j,Y,U,Q,q,W,J,X,Z,B],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:contents}.dashboard[_ngcontent-%COMP%]{flex:1;padding:18px;color:var(--text-primary);background:var(--bg-canvas)}.stat-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.stat-tile[_ngcontent-%COMP%]{text-align:left;padding:11px 13px;cursor:pointer;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--r-lg);display:flex;flex-direction:column;gap:6px;color:var(--text-primary);font-family:inherit;transition:background .1s,border-color .1s}.stat-tile[_ngcontent-%COMP%]:hover{background:var(--bg-panel-2);border-color:var(--border-strong)}.stat-eyebrow[_ngcontent-%COMP%]{color:var(--text-muted)}.stat-value-row[_ngcontent-%COMP%]{justify-content:space-between;align-items:flex-end;gap:8px}.stat-value[_ngcontent-%COMP%]{font-size:23px;font-weight:650;letter-spacing:-.02em;line-height:1;min-height:23px}.doors-card[_ngcontent-%COMP%]{margin-bottom:14px}.doors-head[_ngcontent-%COMP%]{margin-bottom:12px}.doors-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:760px){.doors-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}.door-tile[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px;text-align:left;padding:12px 13px;border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-panel-2);cursor:pointer;transition:border-color .12s,transform .12s}.door-tile[_ngcontent-%COMP%]:hover{border-color:var(--border-strong);transform:translateY(-1px)}.door-tile[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.door-top[_ngcontent-%COMP%]{gap:10px;align-items:center}.door-ic[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;flex-shrink:0}.door-titles[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1px;min-width:0}.door-label[_ngcontent-%COMP%]{font-weight:650;font-size:12.5px;color:var(--text-primary)}.door-cmd[_ngcontent-%COMP%]{font-size:11.5px}.door-blurb[_ngcontent-%COMP%]{font-size:11.5px;line-height:1.45;color:var(--text-secondary)}.door-subs[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto}.door-sub[_ngcontent-%COMP%]{font-family:ui-monospace,Geist Mono,monospace;font-size:10px;padding:2px 6px;border-radius:5px;color:var(--text-muted);background:var(--bg-hover);border:1px solid var(--border-subtle)}.center-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:14px}.graph-card[_ngcontent-%COMP%], .tips-card[_ngcontent-%COMP%]{height:340px;display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--r-lg);overflow:hidden}.card-head[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.card-title[_ngcontent-%COMP%]{font-weight:600;font-size:12.5px;display:inline-flex;align-items:center;gap:8px}.mini-graph[_ngcontent-%COMP%]{flex:1;min-height:0;overflow:hidden;border-bottom-left-radius:var(--r-lg);border-bottom-right-radius:var(--r-lg)}.mini-graph[_ngcontent-%COMP%] app-graph-canvas[_ngcontent-%COMP%]{display:block;width:100%;height:100%}.seed-pill[_ngcontent-%COMP%]{color:var(--warn);background:var(--warn-soft);font-size:9.5px;font-weight:600;padding:1px 6px}.tips-body[_ngcontent-%COMP%]{flex:1;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:0}.tip-empty[_ngcontent-%COMP%]{color:var(--text-muted);font-size:12px;text-align:center;padding:12px}.tip-row[_ngcontent-%COMP%]{display:flex;gap:10px;padding:10px 12px;border-radius:8px;background:var(--bg-panel-2);border:1px solid var(--border-subtle);border-left-width:2.5px;animation:_ngcontent-%COMP%_slideInRight .2s ease;flex-shrink:0}.tip-sev-icon[_ngcontent-%COMP%]{flex-shrink:0;margin-top:1px}.tip-body-col[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:0}.tip-title[_ngcontent-%COMP%]{font-size:12.5px;font-weight:550;line-height:1.35;text-wrap:pretty}.tip-meta-row[_ngcontent-%COMP%]{margin-top:7px}.tip-fix[_ngcontent-%COMP%]{font-size:10.5px;color:var(--text-secondary);background:var(--bg-canvas);padding:2px 6px;border-radius:4px;border:1px solid var(--border-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.heatmap-card[_ngcontent-%COMP%]{margin-bottom:14px}.heatmap-head[_ngcontent-%COMP%]{justify-content:space-between;margin-bottom:10px}.heatmap-legend[_ngcontent-%COMP%]{margin-top:9px;align-items:center}.heatmap-gradient[_ngcontent-%COMP%]{width:96px;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--node-route),var(--warn),var(--error))}.bottom-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:1.4fr 1fr;gap:12px}.prompts-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:0}.prompts-head[_ngcontent-%COMP%]{justify-content:space-between;margin-bottom:6px}.prompt-row[_ngcontent-%COMP%]{display:flex;gap:10px;padding:7px 4px;border-radius:6px;cursor:pointer;align-items:center}.prompt-row[_ngcontent-%COMP%]:hover{background:var(--bg-hover)}.prompt-text[_ngcontent-%COMP%]{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prompt-right[_ngcontent-%COMP%]{text-align:right;flex-shrink:0}.prompt-cost[_ngcontent-%COMP%]{font-size:12px;font-weight:600}.prompt-cost.expensive[_ngcontent-%COMP%]{color:var(--error)}.cache-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.cache-headline[_ngcontent-%COMP%]{align-items:flex-end;gap:10px}.cache-rate[_ngcontent-%COMP%]{font-size:38px;font-weight:700;letter-spacing:-.03em;line-height:.9;color:var(--node-route)}.cache-divider[_ngcontent-%COMP%]{height:1px;background:var(--border-subtle)}.cache-kv-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.kv[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1px}.kv-label[_ngcontent-%COMP%]{color:var(--text-muted);font-size:10.5px}.kv-value[_ngcontent-%COMP%]{font-size:15px;font-weight:600}.kv-sub[_ngcontent-%COMP%]{font-size:9.5px}.dash-footer[_ngcontent-%COMP%]{margin-top:16px;text-align:right;font-size:10px}.dot-live[_ngcontent-%COMP%]{color:var(--success)}.dot-mock[_ngcontent-%COMP%]{color:var(--warn)}@keyframes _ngcontent-%COMP%_slideInRight{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}'],changeDetection:0})},Be=[{id:"s-1",label:"validateSession",sub:"src/auth.ts",kind:"function",x:0,y:0},{id:"s-2",label:"checkExpiry",sub:"src/auth.ts",kind:"method",x:-180,y:-70},{id:"s-3",label:"signToken",sub:"src/auth.ts",kind:"function",x:-180,y:50},{id:"s-4",label:"AuthRoute",sub:"src/routes/auth.ts",kind:"route",x:200,y:-90},{id:"s-5",label:"login",sub:"src/routes/auth.ts",kind:"function",x:200,y:30},{id:"s-6",label:"logout",sub:"src/routes/auth.ts",kind:"function",x:230,y:110},{id:"s-7",label:"auth.test.ts",sub:"test/auth.test.ts",kind:"test",x:-240,y:140},{id:"s-8",label:"session.test.ts",sub:"test/session.test.ts",kind:"test",x:-100,y:180},{id:"s-9",label:"REQ-AUTH-005",sub:"reject expired tokens",kind:"spec",state:"drifted",x:30,y:-180},{id:"s-10",label:"REQ-AUTH-001",sub:"sign session tokens",kind:"spec",state:"verified",x:-150,y:-190},{id:"s-11",label:"User",sub:"src/types/user.ts",kind:"class",x:-340,y:-10},{id:"s-12",label:"Session",sub:"src/types/session.ts",kind:"class",x:60,y:130},{id:"s-13",label:"jwtSign",sub:"src/lib/jwt.ts",kind:"function",x:-340,y:80},{id:"s-14",label:"jwtVerify",sub:"src/lib/jwt.ts",kind:"function",x:350,y:-10},{id:"s-15",label:"tokenStore",sub:"src/db/tokens.ts",kind:"function",x:350,y:90}],Ve=[{from:"s-1",to:"s-2",kind:"calls"},{from:"s-1",to:"s-3",kind:"calls"},{from:"s-4",to:"s-5",kind:"calls"},{from:"s-4",to:"s-6",kind:"calls"},{from:"s-5",to:"s-1",kind:"calls"},{from:"s-6",to:"s-1",kind:"calls"},{from:"s-3",to:"s-13",kind:"calls"},{from:"s-2",to:"s-14",kind:"calls"},{from:"s-1",to:"s-12",kind:"references"},{from:"s-5",to:"s-11",kind:"references"},{from:"s-9",to:"s-1",kind:"implements"},{from:"s-10",to:"s-3",kind:"implements"},{from:"s-7",to:"s-1",kind:"references"},{from:"s-8",to:"s-12",kind:"references"},{from:"s-14",to:"s-15",kind:"calls"}];function je(i){if(i.length===0)return[];let t=i[0],e=i.slice(1),n=[{id:t.id,label:t.label,sub:t.sub,kind:t.kind,x:0,y:0}],d=220;for(let h=0;h<e.length;h++){let P=h/e.length*Math.PI*2-Math.PI/2,f=e[h];n.push({id:f.id,label:f.label,sub:f.sub,kind:f.kind,x:Math.cos(P)*d,y:Math.sin(P)*d})}return n}export{ee as Dashboard};
@@ -0,0 +1 @@
1
+ import{a as V}from"./chunk-OM7JVWQQ.js";import{a as A}from"./chunk-KHU5M2AL.js";import{c as F}from"./chunk-B3CWIVBW.js";import"./chunk-W22AVG3N.js";import{a as $}from"./chunk-4JYHAP7B.js";import{Aa as f,Ea as z,Fa as R,Ga as w,I as S,Ia as y,Ka as p,M as b,N as C,Ta as T,Va as l,W as x,Wa as m,Xa as _,bb as H,ea as o,ka as O,lb as I,qa as k,ra as v,sa as u,ua as E,va as P,wa as M,xa as d,ya as a,za as r,zb as D}from"./chunk-MFHO2F2U.js";import{a as g,b as h}from"./chunk-Q7L6LLAK.js";var B=()=>[0,1,2],L=(i,e)=>e.contentHash;function j(i,e){if(i&1&&(a(0,"div",6),l(1),r()),i&2){let t=p();o(),m(t.errorMsg())}}function U(i,e){i&1&&f(0,"div",9)}function W(i,e){i&1&&P(0,U,1,0,"div",9,E),i&2&&M(H(0,B))}function q(i,e){i&1&&(a(0,"div",7),f(1,"app-icon",5),a(2,"div",10),l(3,"No proposals yet"),r(),a(4,"div",11),l(5,"Run "),a(6,"strong"),l(7,"Analyze"),r(),l(8," to mine your ingested transcripts for recurring patterns worth turning into a durable rule, skill, or hook."),r()()),i&2&&(o(),d("size",28))}function G(i,e){if(i&1&&(a(0,"span",19),l(1),r()),i&2){let t=p().$implicit,n=p(2);o(),m(n.outcomeOf(t.contentHash))}}function J(i,e){i&1&&(a(0,"div",30),l(1,"Loading preview\u2026"),r())}function K(i,e){i&1&&(a(0,"div",31),l(1,"A non-SpecShip file already exists at this path \u2014 apply is blocked to avoid clobbering it."),r())}function Q(i,e){if(i&1&&(v(0,K,2,0,"div",31),a(1,"div",24),l(2,"Preview diff"),r(),a(3,"pre",32),l(4),r()),i&2){let t,n,s=p(2).$implicit,c=p(2);u((t=c.previewOf(s.contentHash))!=null&&t.conflict?0:-1),o(4),m((n=c.previewOf(s.contentHash))==null?null:n.diff)}}function X(i,e){if(i&1&&(a(0,"div",26),v(1,J,2,0,"div",30)(2,Q,5,2),r()),i&2){let t=p().$implicit,n=p(2);o(),u(n.previewOf(t.contentHash)===null?1:2)}}function Y(i,e){if(i&1){let t=w();a(0,"span",33),l(1,"applied"),r(),a(2,"button",34),y("click",function(){b(t);let s=p().$implicit,c=p(2);return C(c.undoProposal(s.contentHash))}),l(3,"Undo"),r()}if(i&2){let t=p().$implicit,n=p(2);o(2),d("disabled",n.isBusy(t.contentHash))}}function Z(i,e){if(i&1){let t=w();a(0,"button",34),y("click",function(){b(t);let s=p().$implicit,c=p(2);return C(c.dismissProposal(s.contentHash))}),l(1,"Dismiss"),r(),a(2,"button",4),y("click",function(){b(t);let s=p().$implicit,c=p(2);return C(c.applyProposal(s.contentHash))}),l(3),r()}if(i&2){let t,n=p().$implicit,s=p(2);d("disabled",s.isBusy(n.contentHash)),o(2),d("disabled",s.isBusy(n.contentHash)||((t=s.previewOf(n.contentHash))==null?null:t.conflict)),o(),_(" ",s.isBusy(n.contentHash)?"Applying\u2026":"Apply"," ")}}function ee(i,e){if(i&1){let t=w();a(0,"div",12),f(1,"div",13),a(2,"div",14)(3,"div",15)(4,"div",16)(5,"div",17)(6,"span",18),l(7),r(),a(8,"app-pill",3),l(9),r(),v(10,G,2,1,"span",19),r(),a(11,"div",20),l(12),r()()(),a(13,"div",21),l(14),r(),a(15,"div",22)(16,"div",23)(17,"div",24),l(18,"Evidence"),r(),a(19,"div",25),l(20),r()(),a(21,"div",23)(22,"div",24),l(23,"Writes to"),r(),a(24,"div",25),l(25),r()()(),v(26,X,3,1,"div",26),a(27,"div",27)(28,"button",28),y("click",function(){let s=b(t).$implicit,c=p(2);return C(c.togglePreview(s.contentHash))}),l(29),r(),f(30,"div",29),v(31,Y,4,1)(32,Z,4,3),r()()()}if(i&2){let t=e.$implicit,n=p(2);k("data-sev",t.severity),o(),T("background",n.sevColor(t.severity)),o(6),m(n.typeLabel(t.type)),o(),d("color",n.sevColor(t.severity))("bg","color-mix(in srgb, "+n.sevColor(t.severity)+" 16%, transparent)"),o(),m(t.severity),o(),u(n.outcomeOf(t.contentHash)?10:-1),o(2),m(t.title),o(2),m(t.body),o(6),m(t.evidence.detail),o(5),m(t.targetPath),o(),u(n.previewOf(t.contentHash)!==void 0?26:-1),o(3),_(" ",n.previewOf(t.contentHash)!==void 0?"Hide preview":"Preview"," "),o(2),u(t.state==="applied"?31:32)}}function te(i,e){if(i&1&&(a(0,"div",8),P(1,ee,33,15,"div",12,L),r()),i&2){let t=p();o(),M(t.proposals())}}var N=class i{api=S($);resource=F(this.api,()=>"/api/reflect?state=open");analyzing=x(!1);previews=x({});busy=x(new Set);outcomes=x({});errorMsg=x(null);proposals=I(()=>{let e=this.resource.state().data?.proposals??[],t={high:0,warn:1,info:2};return[...e].sort((n,s)=>(t[n.severity]??9)-(t[s.severity]??9))});counts=I(()=>{let e=this.resource.state().data?.proposals??[];return{high:e.filter(t=>t.severity==="high").length,warn:e.filter(t=>t.severity==="warn").length,info:e.filter(t=>t.severity==="info").length}});typeLabel(e){return e==="memory_rule"?"memory / rule":e==="skill"?"skill":"hook"}sevColor(e){return e==="high"?"var(--error)":e==="warn"?"var(--warn)":"var(--info)"}isBusy(e){return this.busy().has(e)}previewOf(e){return this.previews()[e]}outcomeOf(e){return this.outcomes()[e]}async analyze(){this.analyzing.set(!0),this.errorMsg.set(null);try{await this.api.post("/api/reflect/analyze",{}),this.resource.refetch()}catch(e){this.errorMsg.set(this.msg(e))}finally{this.analyzing.set(!1)}}async togglePreview(e){let t=this.previews();if(e in t){let n=g({},t);delete n[e],this.previews.set(n);return}this.previews.set(h(g({},t),{[e]:null}));try{let n=await this.api.get(`/api/reflect/${e}/preview`);this.previews.set(h(g({},this.previews()),{[e]:n}))}catch(n){this.errorMsg.set(this.msg(n));let s=g({},this.previews());delete s[e],this.previews.set(s)}}applyProposal(e){return this.mutate(e,`/api/reflect/${e}/apply`,"apply")}undoProposal(e){return this.mutate(e,`/api/reflect/${e}/undo`,"undo")}dismissProposal(e){return this.mutate(e,`/api/reflect/${e}/dismiss`,"dismiss")}async mutate(e,t,n){this.setBusy(e,!0),this.errorMsg.set(null);try{let s=await this.api.post(t,{}),c=s.outcome??(s.ok?"dismissed":"done");this.outcomes.set(h(g({},this.outcomes()),{[e]:c})),this.resource.refetch()}catch(s){this.errorMsg.set(`${n} failed: ${this.msg(s)}`)}finally{this.setBusy(e,!1)}}setBusy(e,t){this.busy.update(n=>{let s=new Set(n);return t?s.add(e):s.delete(e),s})}msg(e){return e instanceof Error?e.message:String(e)}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=O({type:i,selectors:[["app-improvements"]],decls:16,vars:14,consts:[[1,"page","scroll-y"],["icon","sparkles","title","Improvements","sub","Durable fixes mined from your transcripts \u2014 preview, then apply"],["actions",""],[3,"color","bg"],["type","button",1,"btn","btn-primary","btn-sm",3,"click","disabled"],["name","sparkles",3,"size"],[1,"banner-error"],[1,"empty"],[1,"prop-list"],[1,"skel","card-skel"],[1,"empty-title"],[1,"empty-sub"],[1,"prop-card","card"],[1,"sev-bar"],[1,"prop-body"],[1,"row","gap-10","head-row"],[1,"grow",2,"min-width","0"],[1,"row","gap-6","chips"],[1,"type-chip"],[1,"outcome"],[1,"prop-title"],[1,"prop-why"],[1,"prop-meta"],[1,"kv-block"],[1,"eyebrow"],[1,"mono","secondary","detail"],[1,"preview"],[1,"actions"],["type","button",1,"btn","btn-secondary","btn-sm",3,"click"],[1,"grow"],[1,"muted"],[1,"banner-error","small"],[1,"diff","mono"],[1,"applied-tag"],["type","button",1,"btn","btn-secondary","btn-sm",3,"click","disabled"]],template:function(t,n){t&1&&(a(0,"div",0)(1,"app-page-head",1),z(2,2),a(3,"app-pill",3),l(4),r(),a(5,"app-pill",3),l(6),r(),a(7,"app-pill",3),l(8),r(),a(9,"button",4),y("click",function(){return n.analyze()}),f(10,"app-icon",5),l(11),r(),R(),r(),v(12,j,2,1,"div",6),v(13,W,2,1)(14,q,9,1,"div",7)(15,te,3,0,"div",8),r()),t&2&&(o(3),d("color","var(--error)")("bg","var(--error-soft)"),o(),_("",n.counts().high," high"),o(),d("color","var(--warn)")("bg","var(--warn-soft)"),o(),_("",n.counts().warn," warn"),o(),d("color","var(--info)")("bg","var(--info-soft)"),o(),_("",n.counts().info," info"),o(),d("disabled",n.analyzing()),o(),d("size",13),o(),_(" ",n.analyzing()?"Analyzing\u2026":"Analyze"," "),o(),u(n.errorMsg()?12:-1),o(),u(n.resource.state().loading?13:n.proposals().length===0?14:15))},dependencies:[A,V,D],styles:[".page[_ngcontent-%COMP%]{padding:20px 24px 48px}.banner-error[_ngcontent-%COMP%]{background:var(--error-soft);color:var(--error);border:1px solid color-mix(in srgb,var(--error) 30%,transparent);border-radius:8px;padding:10px 12px;font-size:12.5px;margin-bottom:14px}.banner-error.small[_ngcontent-%COMP%]{margin:8px 0;padding:8px 10px;font-size:11.5px}.empty[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:64px 24px;color:var(--text-muted)}.empty[_ngcontent-%COMP%] .empty-title[_ngcontent-%COMP%]{font-size:15px;font-weight:600;color:var(--text)}.empty[_ngcontent-%COMP%] .empty-sub[_ngcontent-%COMP%]{font-size:12.5px;max-width:460px;line-height:1.5}.card-skel[_ngcontent-%COMP%]{height:132px;border-radius:12px;margin-bottom:12px}.prop-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.prop-card[_ngcontent-%COMP%]{position:relative;display:flex;overflow:hidden;padding:0}.prop-card[_ngcontent-%COMP%] .sev-bar[_ngcontent-%COMP%]{width:3px;flex:0 0 3px}.prop-card[_ngcontent-%COMP%] .prop-body[_ngcontent-%COMP%]{flex:1;min-width:0;padding:14px 16px}.head-row[_ngcontent-%COMP%]{margin-bottom:8px}.chips[_ngcontent-%COMP%]{margin-bottom:6px}.type-chip[_ngcontent-%COMP%]{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--text-muted);background:var(--surface-2, color-mix(in srgb, var(--text) 7%, transparent));border-radius:5px;padding:2px 7px}.outcome[_ngcontent-%COMP%]{font-size:10.5px;color:var(--success);font-weight:600;text-transform:lowercase}.prop-title[_ngcontent-%COMP%]{font-size:14px;font-weight:600;color:var(--text);line-height:1.35}.prop-why[_ngcontent-%COMP%]{font-size:12.5px;color:var(--text-secondary, var(--text-muted));line-height:1.5;margin-bottom:10px}.prop-meta[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}.prop-meta[_ngcontent-%COMP%] .detail[_ngcontent-%COMP%]{font-size:11px;margin-top:2px;word-break:break-all}.preview[_ngcontent-%COMP%]{margin:8px 0 12px}.preview[_ngcontent-%COMP%] .diff[_ngcontent-%COMP%]{background:var(--surface-2, color-mix(in srgb, var(--text) 5%, transparent));border:1px solid var(--border, color-mix(in srgb, var(--text) 12%, transparent));border-radius:8px;padding:10px 12px;font-size:11.5px;line-height:1.5;max-height:280px;overflow:auto;white-space:pre;margin-top:4px}.actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;margin-top:4px}.applied-tag[_ngcontent-%COMP%]{font-size:11px;color:var(--success);font-weight:600}"],changeDetection:0})};export{N as Improvements};
@@ -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 A,b as U,c as K,d as L}from"./chunk-BPCJLNBS.js";import{a as B}from"./chunk-SCNDZRN2.js";import{a as $}from"./chunk-HVVXPI4D.js";import{a as R}from"./chunk-OM7JVWQQ.js";import{a as V}from"./chunk-RSZZWGGC.js";import{a as z,c as D}from"./chunk-DSGNOCKQ.js";import{c as F}from"./chunk-B3CWIVBW.js";import"./chunk-W22AVG3N.js";import{a as I}from"./chunk-4JYHAP7B.js";import{Aa as c,Ga as M,I as y,Ia as f,Ka as s,M as C,N as b,Ta as v,Ua as u,Va as a,W as S,Wa as p,Xa as h,Ya as k,ea as i,ka as E,lb as g,qa as T,ra as m,sa as _,va as P,wa as O,xa as d,ya as t,za as n,zb as N}from"./chunk-MFHO2F2U.js";import"./chunk-Q7L6LLAK.js";var w=(r,o)=>o.name;function j(r,o){r&1&&(t(0,"div",1),c(1,"div",3)(2,"div",4)(3,"div",5),n())}function G(r,o){if(r&1){let e=M();t(0,"app-empty",2)(1,"button",6),f("click",function(){C(e);let x=s();return b(x.back())}),c(2,"app-icon",7),a(3," Back to MCP servers "),n()()}if(r&2){let e=s();d("body","No MCP server with id \u201C"+e.serverId()+"\u201D is configured."),i(2),d("size",13)}}function J(r,o){if(r&1&&(t(0,"div",30),c(1,"app-icon",59),t(2,"span",60),a(3),n(),t(4,"button",61),a(5,"Re-authenticate"),n()()),r&2){let e=s();i(),d("size",14),i(2),p(e.error)}}function Q(r,o){r&1&&(t(0,"div",31)(1,"button",62),c(2,"app-icon",63),a(3," Enable server"),n(),t(4,"span",64),a(5,"Tools below are declared but not currently exposed."),n()()),r&2&&(i(2),d("size",12))}function W(r,o){r&1&&(t(0,"span",45),a(1,"click a tool for its schema"),n())}function X(r,o){r&1&&(t(0,"app-pill",88),a(1,"required"),n())}function Y(r,o){r&1&&(t(0,"span",89),a(1,"optional"),n())}function Z(r,o){if(r&1&&(t(0,"span",90),a(1),n()),r&2){let e=s().$implicit;i(),h("\xB7 ",e.hint)}}function ee(r,o){if(r&1&&(t(0,"div",85)(1,"span",86),a(2),n(),t(3,"span",87),a(4),n(),m(5,X,2,0,"app-pill",88)(6,Y,2,0,"span",89),m(7,Z,2,1,"span",90),n()),r&2){let e=o.$implicit;i(2),p(e.name),i(2),p(e.type),i(),_(e.required?5:6),i(2),_(e.hint?7:-1)}}function te(r,o){if(r&1&&(t(0,"div",79),P(1,ee,8,4,"div",85,w),n()),r&2){let e=s(2).$implicit;i(),O(e.params)}}function ne(r,o){r&1&&(t(0,"div",80),a(1,"No parameters."),n())}function ie(r,o){if(r&1){let e=M();t(0,"button",91),f("click",function(){C(e);let x=s(5);return b(x.go("heatmap"))}),c(1,"app-icon",92),a(2," View usage in heatmap "),n()}r&2&&(i(),d("size",13))}function oe(r,o){if(r&1&&(t(0,"div",77)(1,"div",78),a(2,"Input schema"),n(),m(3,te,3,0,"div",79)(4,ne,2,0,"div",80),t(5,"div",81),a(6,"Example call"),n(),t(7,"div",82)(8,"span",83),a(9),n(),c(10,"app-copy-btn",29),n(),m(11,ie,3,1,"button",84),n()),r&2){let e=s().$implicit;i(3),_(e.params.length?3:4),i(6),p(e.example),i(),d("text",e.example),i(),_(e.drill?11:-1)}}function ae(r,o){if(r&1){let e=M();t(0,"div",66)(1,"button",67),f("click",function(){let x=C(e).$implicit,H=s(3);return b(H.toggleTool(x.name))}),t(2,"span",68),c(3,"app-icon",12),n(),t(4,"span",69)(5,"span",70),a(6),n(),t(7,"span",71),a(8),n()(),t(9,"span",72)(10,"span",73),a(11),n(),t(12,"span",74),a(13,"calls / 7d"),n()(),t(14,"span",75)(15,"span",73),a(16),n(),t(17,"span",74),a(18,"tok / call"),n()(),c(19,"app-icon",76),n(),m(20,oe,12,4,"div",77),n()}if(r&2){let e=o.$implicit,l=s(3);u("open",l.isToolOpen(e.name)),i(),T("aria-expanded",l.isToolOpen(e.name)),i(),v("background",l.mix(e.color,15))("color",e.color),i(),d("name",e.icon)("size",15),i(3),p(e.name),i(),u("expanded",l.isToolOpen(e.name)),i(),p(e.desc),i(2),u("cold",l.isCold(e)),i(),h("\xD7",e.stat.calls),i(4),v("color",l.isCold(e)?"var(--text-muted)":l.isHeavy(e)?"var(--warn)":"var(--success)"),i(),p(l.isCold(e)?"\u2014":l.fmtK(l.avg(e))),i(3),d("name",l.isToolOpen(e.name)?"chevronDown":"chevronRight")("size",15),i(),_(l.isToolOpen(e.name)?20:-1)}}function re(r,o){if(r&1&&(t(0,"div",46),P(1,ae,21,22,"div",65,w),n()),r&2){let e=s();i(),O(e.tools)}}function le(r,o){r&1&&c(0,"app-empty",47)}function ce(r,o){if(r&1&&(t(0,"div",93),c(1,"span",94),t(2,"span",95)(3,"span",96),a(4),n(),t(5,"span",97),a(6),n()(),t(7,"span",98)(8,"span",99),a(9),n(),t(10,"span",100),a(11),n()()()),r&2){let e=o.$implicit,l=s(3);i(),v("background",l.clientMeta(e.state).color),u("glow",e.state==="active"),i(3),p(e.name),i(2),p(e.host),i(2),v("color",l.clientMeta(e.state).color),i(),p(l.clientMeta(e.state).label),i(2),p(e.last)}}function pe(r,o){if(r&1&&(t(0,"div",46),P(1,ce,12,10,"div",93,w),n()),r&2){let e=s();i(),O(e.usedBy)}}function de(r,o){r&1&&(t(0,"div",52),a(1,"No clients reference this server."),n())}function se(r,o){if(r&1){let e=M();t(0,"div",8)(1,"button",9),f("click",function(){C(e);let x=s();return b(x.back())}),c(2,"app-icon",7),a(3," MCP servers "),n(),t(4,"span",10),a(5),n(),t(6,"app-pill",11),c(7,"app-icon",12),a(8),n(),t(9,"span",13),a(10),n()(),t(11,"div",14),c(12,"div",15),t(13,"div",16)(14,"div",17)(15,"div",18),c(16,"span",19),t(17,"span",20),a(18),n(),t(19,"span",21),a(20),n()(),t(21,"span",22)(22,"span",23),a(23,"Transport"),n(),t(24,"span",24),a(25),n()(),t(26,"span",22)(27,"span",23),a(28,"Uptime"),n(),t(29,"span",24),a(30),n()(),t(31,"span",22)(32,"span",23),a(33,"Protocol"),n(),t(34,"span",24),a(35),n()(),t(36,"span",22)(37,"span",23),a(38,"Tools"),n(),t(39,"span",24),a(40),n()(),c(41,"span",25),t(42,"span",26),c(43,"app-icon",27),t(44,"span",28),a(45),n(),c(46,"app-copy-btn",29),n()(),m(47,J,6,2,"div",30),m(48,Q,6,1,"div",31),n()(),t(49,"div",32)(50,"div",33)(51,"div",34),c(52,"app-icon",35),t(53,"span",36),a(54,"Tools"),n()(),t(55,"div",37),a(56),n(),t(57,"div",38),a(58,"exposed"),n()(),t(59,"div",33)(60,"div",34),c(61,"app-icon",39),t(62,"span",36),a(63,"Calls"),n()(),t(64,"div",37),a(65),n(),t(66,"div",38),a(67,"this week"),n()(),t(68,"div",33)(69,"div",34),c(70,"app-icon",40),t(71,"span",36),a(72,"Result tokens"),n()(),t(73,"div",37),a(74),n(),t(75,"div",38),a(76,"returned to context"),n()(),t(77,"div",33)(78,"div",34),c(79,"app-icon",41),t(80,"span",36),a(81,"Used by"),n()(),t(82,"div",37),a(83),n(),t(84,"div",38),a(85,"clients"),n()()(),t(86,"div",42)(87,"div",43)(88,"div",44)(89,"span",36),a(90),n(),m(91,W,2,0,"span",45),n(),m(92,re,3,0,"div",46)(93,le,1,0,"app-empty",47),n(),t(94,"div",48)(95,"div",49),c(96,"app-icon",50),t(97,"span",51),a(98,"Used by"),n()(),m(99,pe,3,0,"div",46)(100,de,2,0,"div",52),n(),t(101,"div",53)(102,"div",49),c(103,"app-icon",54),t(104,"span",55),a(105,"Configuration"),n(),t(106,"span",56),a(107),n(),c(108,"app-copy-btn",29),n(),t(109,"pre",57),a(110),n()()(),c(111,"div",58)}if(r&2){let e=o,l=s();i(2),d("size",14),i(3),p(e.name),i(),d("color",l.scopeMeta(e.scope).color)("bg",l.mix(l.scopeMeta(e.scope).color)),i(),d("name",l.scopeMeta(e.scope).icon)("size",10),i(),h(" ",l.scopeMeta(e.scope).label," "),i(2),p(l.scopeMeta(e.scope).hint),i(2),v("background",l.stateMeta(e.state).color),i(4),v("background",l.stateMeta(e.state).color),u("glow",e.state==="running")("pulse",e.state==="running"),i(2),p(l.stateMeta(e.state).label),i(2),k("",e.name,"-mcp ",e.version),i(5),p(e.transport),i(5),p(e.uptime),i(5),p(e.protocol),i(5),p(e.tools.length),i(3),d("size",12),i(2),p(e.command),i(),d("text",e.command),i(),_(e.error?47:-1),i(),_(e.state==="disabled"?48:-1),i(4),d("size",12),i(4),p(e.tools.length),i(5),d("size",12),i(4),p(l.totalCalls().toLocaleString()),i(5),d("size",12),i(4),p(l.fmtTok(l.totalTokens())),i(5),d("size",12),i(4),p(e.usedBy.length),i(7),h("Tools \xB7 ",e.tools.length),i(),_(e.tools.length?91:-1),i(),_(e.tools.length?92:93),i(4),d("size",14),i(3),_(e.usedBy.length?99:100),i(4),d("size",14),i(4),p(l.scopeMeta(e.scope).hint),i(),d("text",e.config),i(2),p(e.config)}}var q=class r{api=y(I);route=y(z);router=y(D);resource=F(this.api,()=>"/api/mcp/servers");paramMap=B(this.route.paramMap,{initialValue:this.route.snapshot.paramMap});serverId=g(()=>this.paramMap().get("id")??"");loading=g(()=>this.resource.state().loading);servers=g(()=>{let o=this.resource.state();if(o.loading)return[];let e=o.data?.servers;return e&&e.length?e:A.servers});server=g(()=>this.servers().find(o=>o.id===this.serverId()));notFound=g(()=>!this.loading()&&!this.server());openTool=S(null);isToolOpen(o){return this.openTool()===o}toggleTool(o){this.openTool.update(e=>e===o?null:o)}totalCalls=g(()=>(this.server()?.tools??[]).reduce((o,e)=>o+e.stat.calls,0));totalTokens=g(()=>(this.server()?.tools??[]).reduce((o,e)=>o+e.stat.tokens,0));stateMeta(o){return U[o]}scopeMeta(o){return K[o]}clientMeta(o){return L[o]}mix(o,e=14){return`color-mix(in srgb, ${o} ${e}%, transparent)`}avg(o){return o.stat.calls?Math.round(o.stat.tokens/o.stat.calls):0}isHeavy(o){return this.avg(o)>8e3}isCold(o){return o.stat.calls===0}back(){this.router.navigate(["/mcp"])}go(o){this.router.navigate(["/"+o])}fmtK(o){return o>=1e6?(o/1e6).toFixed(1)+"M":o>=1e3?(o/1e3).toFixed(o>=1e4?0:1)+"k":String(o)}fmtTok(o){return o>=1e6?(o/1e6).toFixed(1)+"M":this.fmtK(o)}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=E({type:r,selectors:[["app-mcp-detail"]],decls:4,vars:1,consts:[[1,"scroll-y","mcp-detail"],[1,"col","gap-12"],["icon","plug","title","Server not found",3,"body"],[1,"skel",2,"height","34px","width","280px","border-radius","8px"],[1,"skel",2,"height","96px","border-radius","12px"],[1,"skel",2,"height","64px","border-radius","12px"],["action","","type","button",1,"btn","btn-secondary","btn-sm",3,"click"],["name","chevronLeft",3,"size"],[1,"row","gap-10","detail-head"],["type","button",1,"btn","btn-ghost","btn-sm",3,"click"],[1,"mono","detail-name"],[3,"color","bg"],[3,"name","size"],[1,"mono","muted","detail-hint"],[1,"card","banner"],[1,"banner-accent"],[1,"banner-body"],[1,"row","gap-16","banner-top"],[1,"row","gap-8","banner-state"],[1,"banner-dot"],[1,"banner-state-label"],[1,"mono","muted","banner-version"],[1,"seg"],[1,"muted","seg-l"],[1,"mono","tabular","seg-v"],[1,"grow"],[1,"row","gap-8","banner-cmd"],["name","command",2,"color","var(--text-muted)","flex-shrink","0",3,"size"],[1,"mono","banner-cmd-text"],[3,"text"],[1,"row","gap-8","banner-error"],[1,"row","gap-8","banner-disabled"],[1,"mcp-tile-grid"],[1,"card","mcp-tile"],[1,"row","gap-6","tile-eyebrow"],["name","plug",2,"color","var(--accent)",3,"size"],[1,"eyebrow"],[1,"mono","tabular","tile-value"],[1,"mono","muted","tile-sub"],["name","wrench",2,"color","var(--node-code)",3,"size"],["name","database",2,"color","var(--node-route)",3,"size"],["name","bot",2,"color","var(--success)",3,"size"],[1,"detail-grid"],[1,"tools-col"],[1,"row","gap-8","tools-head"],[1,"muted","tools-hint"],[1,"col","gap-8"],["icon","plug","title","No tools available","body","This server isn\u2019t exposing any tools \u2014 fix the connection above to load its tool list."],[1,"card","card-pad","usedby-card"],[1,"row","gap-8","panel-head"],["name","bot",2,"color","var(--node-route)",3,"size"],[1,"panel-title"],[1,"muted","usedby-empty"],[1,"card","card-pad","config-card"],["name","settings",2,"color","var(--accent)",3,"size"],[1,"grow","panel-title"],[1,"mono","muted","config-hint"],[1,"mono","scroll-y","config-pre"],[2,"height","24px"],["name","drift",2,"color","var(--error)","flex-shrink","0",3,"size"],[1,"banner-error-text"],["type","button",1,"btn","btn-secondary","btn-sm"],["type","button",1,"btn","btn-primary","btn-sm"],["name","play",3,"size"],[1,"muted","banner-disabled-note"],[1,"card","tool-row",3,"open"],[1,"card","tool-row"],["type","button",1,"row","gap-10","tool-header",3,"click"],[1,"tool-ic"],[1,"grow","tool-main"],[1,"mono","tool-name"],[1,"secondary","tool-desc"],[1,"tool-stat"],[1,"mono","tabular","stat-n"],[1,"mono","tabular","muted","stat-l"],[1,"tool-stat","tok"],[2,"color","var(--text-muted)",3,"name","size"],[1,"tool-expand"],[1,"eyebrow","expand-label",2,"margin-top","2px"],[1,"col","gap-5","param-list"],[1,"muted","param-none"],[1,"eyebrow","expand-label"],[1,"row","gap-8","example-call"],[1,"mono","grow","example-text"],["type","button",1,"btn","btn-secondary","btn-sm","drill-btn"],[1,"row","gap-8","param-row"],[1,"mono","param-name"],[1,"mono","param-type"],["color","var(--error)","bg","var(--error-soft)"],[1,"muted","mono","param-opt"],[1,"mono","muted","param-hint"],["type","button",1,"btn","btn-secondary","btn-sm","drill-btn",3,"click"],["name","heatmap",3,"size"],[1,"row","gap-10","client-row"],[1,"client-dot"],[1,"grow","client-main"],[1,"client-name"],[1,"mono","muted","client-host"],[1,"client-meta"],[1,"mono","client-state"],[1,"mono","muted","client-last"]],template:function(e,l){if(e&1&&(t(0,"div",0),m(1,j,4,0,"div",1)(2,G,4,2,"app-empty",2)(3,se,112,45),n()),e&2){let x;i(),_(l.loading()?1:l.notFound()?2:(x=l.server())?3:-1,x)}},dependencies:[R,V,$,N],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:flex;flex-direction:column;min-height:0;flex:1}.mcp-detail[_ngcontent-%COMP%]{flex:1;min-height:0;padding:18px}.detail-head[_ngcontent-%COMP%]{align-items:center;margin-bottom:14px}.detail-head[_ngcontent-%COMP%] .detail-name[_ngcontent-%COMP%]{font-size:16px;font-weight:600}.detail-head[_ngcontent-%COMP%] .detail-hint[_ngcontent-%COMP%]{font-size:11.5px}.banner[_ngcontent-%COMP%]{padding:0;overflow:hidden;margin-bottom:14px;display:flex}.banner-accent[_ngcontent-%COMP%]{width:3px;flex-shrink:0}.banner-body[_ngcontent-%COMP%]{flex:1;padding:13px 16px;min-width:0}.banner-top[_ngcontent-%COMP%]{flex-wrap:wrap;align-items:center}.banner-state[_ngcontent-%COMP%]{flex-shrink:0;align-items:center}.banner-dot[_ngcontent-%COMP%]{width:9px;height:9px;border-radius:50%}.banner-dot.glow[_ngcontent-%COMP%]{box-shadow:0 0 8px var(--success)}.banner-dot.pulse[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_mcpPulse 1.6s ease-out infinite}.banner-state-label[_ngcontent-%COMP%]{font-weight:600;font-size:13.5px}.banner-version[_ngcontent-%COMP%]{font-size:12px}.seg[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.seg[_ngcontent-%COMP%] .seg-l[_ngcontent-%COMP%]{font-size:11px}.seg[_ngcontent-%COMP%] .seg-v[_ngcontent-%COMP%]{font-size:12px;color:var(--text-secondary)}.banner-cmd[_ngcontent-%COMP%]{background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:7px;padding:6px 10px;max-width:360px}.banner-cmd[_ngcontent-%COMP%] .banner-cmd-text[_ngcontent-%COMP%]{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.banner-error[_ngcontent-%COMP%]{margin-top:11px;padding:8px 11px;background:var(--error-soft);border:1px solid rgba(242,85,90,.25);border-radius:7px;align-items:center}.banner-error[_ngcontent-%COMP%] .banner-error-text[_ngcontent-%COMP%]{font-size:12px;color:var(--text-secondary);flex:1}.banner-disabled[_ngcontent-%COMP%]{margin-top:11px;align-items:center}.banner-disabled[_ngcontent-%COMP%] .banner-disabled-note[_ngcontent-%COMP%]{font-size:11.5px}.mcp-tile-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px}.mcp-tile[_ngcontent-%COMP%]{padding:11px 13px;display:flex;flex-direction:column;gap:3px}.mcp-tile[_ngcontent-%COMP%] .tile-eyebrow[_ngcontent-%COMP%]{color:var(--text-muted)}.mcp-tile[_ngcontent-%COMP%] .tile-value[_ngcontent-%COMP%]{font-size:19px;font-weight:650;letter-spacing:-.01em}.mcp-tile[_ngcontent-%COMP%] .tile-sub[_ngcontent-%COMP%]{font-size:10px}.detail-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start}.tools-col[_ngcontent-%COMP%]{min-width:0;grid-column:1/-1}.tools-head[_ngcontent-%COMP%]{margin-bottom:10px;align-items:center}.tools-head[_ngcontent-%COMP%] .tools-hint[_ngcontent-%COMP%]{font-size:11px}.tool-row[_ngcontent-%COMP%]{overflow:hidden}.tool-row.open[_ngcontent-%COMP%]{border-color:var(--border-strong)}.tool-header[_ngcontent-%COMP%]{width:100%;padding:11px 13px;cursor:pointer;background:transparent;border:0;text-align:left;color:inherit;align-items:center;transition:background .1s}.tool-header[_ngcontent-%COMP%]:hover{background:var(--bg-hover)}.tool-header[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tool-ic[_ngcontent-%COMP%]{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.tool-main[_ngcontent-%COMP%]{min-width:0;display:flex;flex-direction:column}.tool-main[_ngcontent-%COMP%] .tool-name[_ngcontent-%COMP%]{font-size:13px;font-weight:600}.tool-main[_ngcontent-%COMP%] .tool-desc[_ngcontent-%COMP%]{font-size:11.5px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-wrap:pretty}.tool-main[_ngcontent-%COMP%] .tool-desc.expanded[_ngcontent-%COMP%]{white-space:normal;overflow:visible}.tool-stat[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.tool-stat.tok[_ngcontent-%COMP%]{width:64px}.tool-stat[_ngcontent-%COMP%] .stat-n[_ngcontent-%COMP%]{font-size:13px;font-weight:600}.tool-stat[_ngcontent-%COMP%] .stat-n.cold[_ngcontent-%COMP%]{color:var(--text-muted)}.tool-stat[_ngcontent-%COMP%] .stat-l[_ngcontent-%COMP%]{font-size:10px}.tool-expand[_ngcontent-%COMP%]{padding:0 13px 13px 53px;animation:_ngcontent-%COMP%_mcpFadeIn .12s ease}.tool-expand[_ngcontent-%COMP%] .expand-label[_ngcontent-%COMP%]{margin-bottom:7px}.param-list[_ngcontent-%COMP%]{margin-bottom:13px}.param-row[_ngcontent-%COMP%]{font-size:12px;align-items:center}.param-row[_ngcontent-%COMP%] .param-name[_ngcontent-%COMP%]{width:110px;color:var(--text-primary);flex-shrink:0}.param-row[_ngcontent-%COMP%] .param-type[_ngcontent-%COMP%]{color:var(--node-route);width:52px;flex-shrink:0}.param-row[_ngcontent-%COMP%] .param-opt[_ngcontent-%COMP%], .param-row[_ngcontent-%COMP%] .param-hint[_ngcontent-%COMP%]{font-size:11px}.param-none[_ngcontent-%COMP%]{font-size:11.5px;margin-bottom:13px}.example-call[_ngcontent-%COMP%]{background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:7px;padding:8px 11px;align-items:center}.example-call[_ngcontent-%COMP%] .example-text[_ngcontent-%COMP%]{font-size:11.5px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drill-btn[_ngcontent-%COMP%]{margin-top:11px}.usedby-card[_ngcontent-%COMP%], .config-card[_ngcontent-%COMP%]{min-width:0}.panel-head[_ngcontent-%COMP%]{margin-bottom:12px;align-items:center}.panel-head[_ngcontent-%COMP%] .panel-title[_ngcontent-%COMP%]{font-weight:600;font-size:12.5px}.panel-head[_ngcontent-%COMP%] .config-hint[_ngcontent-%COMP%]{font-size:10.5px}.client-row[_ngcontent-%COMP%]{padding:9px 10px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-canvas);align-items:center}.client-dot[_ngcontent-%COMP%]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.client-dot.glow[_ngcontent-%COMP%]{box-shadow:0 0 7px var(--success)}.client-main[_ngcontent-%COMP%]{min-width:0;display:flex;flex-direction:column}.client-main[_ngcontent-%COMP%] .client-name[_ngcontent-%COMP%]{font-size:12.5px;font-weight:500}.client-main[_ngcontent-%COMP%] .client-host[_ngcontent-%COMP%]{font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-meta[_ngcontent-%COMP%]{text-align:right;flex-shrink:0;display:flex;flex-direction:column}.client-meta[_ngcontent-%COMP%] .client-state[_ngcontent-%COMP%]{font-size:10.5px}.client-meta[_ngcontent-%COMP%] .client-last[_ngcontent-%COMP%]{font-size:10px}.usedby-empty[_ngcontent-%COMP%]{font-size:11.5px;padding:4px 0}.config-pre[_ngcontent-%COMP%]{margin:0;font-size:11.5px;line-height:1.65;color:var(--text-secondary);background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:8px;padding:11px 13px;overflow-x:auto;white-space:pre}@keyframes _ngcontent-%COMP%_mcpPulse{0%{box-shadow:0 0 color-mix(in srgb,var(--success) 60%,transparent)}70%{box-shadow:0 0 0 5px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes _ngcontent-%COMP%_mcpFadeIn{0%{opacity:0}to{opacity:1}}'],changeDetection:0})};export{q as McpDetail};