language-operator 0.1.81 → 0.1.82

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 (427) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/agents/README.md +16 -0
  3. data/.claude/agents/changelog-writer.md +181 -0
  4. data/.claude/hooks/README.md +43 -0
  5. data/.claude/hooks/node_modules/.bin/esbuild +1 -0
  6. data/.claude/hooks/node_modules/.bin/tsc +1 -0
  7. data/.claude/hooks/node_modules/.bin/tsserver +1 -0
  8. data/.claude/hooks/node_modules/.bin/tsx +1 -0
  9. data/.claude/hooks/node_modules/.package-lock.json +136 -0
  10. data/.claude/hooks/node_modules/@esbuild/linux-x64/README.md +3 -0
  11. data/.claude/hooks/node_modules/@esbuild/linux-x64/bin/esbuild +0 -0
  12. data/.claude/hooks/node_modules/@esbuild/linux-x64/package.json +20 -0
  13. data/.claude/hooks/node_modules/@types/node/LICENSE +21 -0
  14. data/.claude/hooks/node_modules/@types/node/README.md +15 -0
  15. data/.claude/hooks/node_modules/@types/node/assert/strict.d.ts +105 -0
  16. data/.claude/hooks/node_modules/@types/node/assert.d.ts +955 -0
  17. data/.claude/hooks/node_modules/@types/node/async_hooks.d.ts +623 -0
  18. data/.claude/hooks/node_modules/@types/node/buffer.buffer.d.ts +466 -0
  19. data/.claude/hooks/node_modules/@types/node/buffer.d.ts +1810 -0
  20. data/.claude/hooks/node_modules/@types/node/child_process.d.ts +1428 -0
  21. data/.claude/hooks/node_modules/@types/node/cluster.d.ts +486 -0
  22. data/.claude/hooks/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  23. data/.claude/hooks/node_modules/@types/node/console.d.ts +151 -0
  24. data/.claude/hooks/node_modules/@types/node/constants.d.ts +20 -0
  25. data/.claude/hooks/node_modules/@types/node/crypto.d.ts +4065 -0
  26. data/.claude/hooks/node_modules/@types/node/dgram.d.ts +564 -0
  27. data/.claude/hooks/node_modules/@types/node/diagnostics_channel.d.ts +576 -0
  28. data/.claude/hooks/node_modules/@types/node/dns/promises.d.ts +503 -0
  29. data/.claude/hooks/node_modules/@types/node/dns.d.ts +922 -0
  30. data/.claude/hooks/node_modules/@types/node/domain.d.ts +166 -0
  31. data/.claude/hooks/node_modules/@types/node/events.d.ts +1054 -0
  32. data/.claude/hooks/node_modules/@types/node/fs/promises.d.ts +1316 -0
  33. data/.claude/hooks/node_modules/@types/node/fs.d.ts +4676 -0
  34. data/.claude/hooks/node_modules/@types/node/globals.d.ts +150 -0
  35. data/.claude/hooks/node_modules/@types/node/globals.typedarray.d.ts +101 -0
  36. data/.claude/hooks/node_modules/@types/node/http.d.ts +2143 -0
  37. data/.claude/hooks/node_modules/@types/node/http2.d.ts +2480 -0
  38. data/.claude/hooks/node_modules/@types/node/https.d.ts +399 -0
  39. data/.claude/hooks/node_modules/@types/node/index.d.ts +115 -0
  40. data/.claude/hooks/node_modules/@types/node/inspector/promises.d.ts +41 -0
  41. data/.claude/hooks/node_modules/@types/node/inspector.d.ts +224 -0
  42. data/.claude/hooks/node_modules/@types/node/inspector.generated.d.ts +4226 -0
  43. data/.claude/hooks/node_modules/@types/node/module.d.ts +819 -0
  44. data/.claude/hooks/node_modules/@types/node/net.d.ts +933 -0
  45. data/.claude/hooks/node_modules/@types/node/os.d.ts +507 -0
  46. data/.claude/hooks/node_modules/@types/node/package.json +155 -0
  47. data/.claude/hooks/node_modules/@types/node/path/posix.d.ts +8 -0
  48. data/.claude/hooks/node_modules/@types/node/path/win32.d.ts +8 -0
  49. data/.claude/hooks/node_modules/@types/node/path.d.ts +187 -0
  50. data/.claude/hooks/node_modules/@types/node/perf_hooks.d.ts +621 -0
  51. data/.claude/hooks/node_modules/@types/node/process.d.ts +2097 -0
  52. data/.claude/hooks/node_modules/@types/node/punycode.d.ts +117 -0
  53. data/.claude/hooks/node_modules/@types/node/querystring.d.ts +152 -0
  54. data/.claude/hooks/node_modules/@types/node/quic.d.ts +910 -0
  55. data/.claude/hooks/node_modules/@types/node/readline/promises.d.ts +161 -0
  56. data/.claude/hooks/node_modules/@types/node/readline.d.ts +541 -0
  57. data/.claude/hooks/node_modules/@types/node/repl.d.ts +415 -0
  58. data/.claude/hooks/node_modules/@types/node/sea.d.ts +162 -0
  59. data/.claude/hooks/node_modules/@types/node/sqlite.d.ts +937 -0
  60. data/.claude/hooks/node_modules/@types/node/stream/consumers.d.ts +38 -0
  61. data/.claude/hooks/node_modules/@types/node/stream/promises.d.ts +211 -0
  62. data/.claude/hooks/node_modules/@types/node/stream/web.d.ts +296 -0
  63. data/.claude/hooks/node_modules/@types/node/stream.d.ts +1760 -0
  64. data/.claude/hooks/node_modules/@types/node/string_decoder.d.ts +67 -0
  65. data/.claude/hooks/node_modules/@types/node/test/reporters.d.ts +96 -0
  66. data/.claude/hooks/node_modules/@types/node/test.d.ts +2239 -0
  67. data/.claude/hooks/node_modules/@types/node/timers/promises.d.ts +108 -0
  68. data/.claude/hooks/node_modules/@types/node/timers.d.ts +159 -0
  69. data/.claude/hooks/node_modules/@types/node/tls.d.ts +1194 -0
  70. data/.claude/hooks/node_modules/@types/node/trace_events.d.ts +197 -0
  71. data/.claude/hooks/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
  72. data/.claude/hooks/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  73. data/.claude/hooks/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
  74. data/.claude/hooks/node_modules/@types/node/ts5.6/index.d.ts +117 -0
  75. data/.claude/hooks/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  76. data/.claude/hooks/node_modules/@types/node/ts5.7/index.d.ts +117 -0
  77. data/.claude/hooks/node_modules/@types/node/tty.d.ts +250 -0
  78. data/.claude/hooks/node_modules/@types/node/url.d.ts +519 -0
  79. data/.claude/hooks/node_modules/@types/node/util/types.d.ts +558 -0
  80. data/.claude/hooks/node_modules/@types/node/util.d.ts +1653 -0
  81. data/.claude/hooks/node_modules/@types/node/v8.d.ts +979 -0
  82. data/.claude/hooks/node_modules/@types/node/vm.d.ts +1180 -0
  83. data/.claude/hooks/node_modules/@types/node/wasi.d.ts +202 -0
  84. data/.claude/hooks/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
  85. data/.claude/hooks/node_modules/@types/node/web-globals/blob.d.ts +23 -0
  86. data/.claude/hooks/node_modules/@types/node/web-globals/console.d.ts +9 -0
  87. data/.claude/hooks/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
  88. data/.claude/hooks/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  89. data/.claude/hooks/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
  90. data/.claude/hooks/node_modules/@types/node/web-globals/events.d.ts +106 -0
  91. data/.claude/hooks/node_modules/@types/node/web-globals/fetch.d.ts +54 -0
  92. data/.claude/hooks/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
  93. data/.claude/hooks/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
  94. data/.claude/hooks/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
  95. data/.claude/hooks/node_modules/@types/node/web-globals/performance.d.ts +45 -0
  96. data/.claude/hooks/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  97. data/.claude/hooks/node_modules/@types/node/web-globals/streams.d.ts +115 -0
  98. data/.claude/hooks/node_modules/@types/node/web-globals/timers.d.ts +44 -0
  99. data/.claude/hooks/node_modules/@types/node/web-globals/url.d.ts +24 -0
  100. data/.claude/hooks/node_modules/@types/node/worker_threads.d.ts +714 -0
  101. data/.claude/hooks/node_modules/@types/node/zlib.d.ts +618 -0
  102. data/.claude/hooks/node_modules/esbuild/LICENSE.md +21 -0
  103. data/.claude/hooks/node_modules/esbuild/README.md +3 -0
  104. data/.claude/hooks/node_modules/esbuild/bin/esbuild +0 -0
  105. data/.claude/hooks/node_modules/esbuild/install.js +289 -0
  106. data/.claude/hooks/node_modules/esbuild/lib/main.d.ts +716 -0
  107. data/.claude/hooks/node_modules/esbuild/lib/main.js +2242 -0
  108. data/.claude/hooks/node_modules/esbuild/package.json +49 -0
  109. data/.claude/hooks/node_modules/get-tsconfig/LICENSE +21 -0
  110. data/.claude/hooks/node_modules/get-tsconfig/README.md +235 -0
  111. data/.claude/hooks/node_modules/get-tsconfig/dist/index.cjs +7 -0
  112. data/.claude/hooks/node_modules/get-tsconfig/dist/index.d.cts +2088 -0
  113. data/.claude/hooks/node_modules/get-tsconfig/dist/index.d.mts +2088 -0
  114. data/.claude/hooks/node_modules/get-tsconfig/dist/index.mjs +7 -0
  115. data/.claude/hooks/node_modules/get-tsconfig/package.json +46 -0
  116. data/.claude/hooks/node_modules/resolve-pkg-maps/LICENSE +21 -0
  117. data/.claude/hooks/node_modules/resolve-pkg-maps/README.md +216 -0
  118. data/.claude/hooks/node_modules/resolve-pkg-maps/dist/index.cjs +1 -0
  119. data/.claude/hooks/node_modules/resolve-pkg-maps/dist/index.d.cts +11 -0
  120. data/.claude/hooks/node_modules/resolve-pkg-maps/dist/index.d.mts +11 -0
  121. data/.claude/hooks/node_modules/resolve-pkg-maps/dist/index.mjs +1 -0
  122. data/.claude/hooks/node_modules/resolve-pkg-maps/package.json +42 -0
  123. data/.claude/hooks/node_modules/tsx/LICENSE +21 -0
  124. data/.claude/hooks/node_modules/tsx/README.md +32 -0
  125. data/.claude/hooks/node_modules/tsx/dist/cjs/api/index.cjs +1 -0
  126. data/.claude/hooks/node_modules/tsx/dist/cjs/api/index.d.cts +35 -0
  127. data/.claude/hooks/node_modules/tsx/dist/cjs/api/index.d.mts +35 -0
  128. data/.claude/hooks/node_modules/tsx/dist/cjs/api/index.mjs +1 -0
  129. data/.claude/hooks/node_modules/tsx/dist/cjs/index.cjs +1 -0
  130. data/.claude/hooks/node_modules/tsx/dist/cjs/index.mjs +1 -0
  131. data/.claude/hooks/node_modules/tsx/dist/cli.cjs +54 -0
  132. data/.claude/hooks/node_modules/tsx/dist/cli.mjs +55 -0
  133. data/.claude/hooks/node_modules/tsx/dist/client-BQVF1NaW.mjs +1 -0
  134. data/.claude/hooks/node_modules/tsx/dist/client-D6NvIMSC.cjs +1 -0
  135. data/.claude/hooks/node_modules/tsx/dist/esm/api/index.cjs +1 -0
  136. data/.claude/hooks/node_modules/tsx/dist/esm/api/index.d.cts +35 -0
  137. data/.claude/hooks/node_modules/tsx/dist/esm/api/index.d.mts +35 -0
  138. data/.claude/hooks/node_modules/tsx/dist/esm/api/index.mjs +1 -0
  139. data/.claude/hooks/node_modules/tsx/dist/esm/index.cjs +2 -0
  140. data/.claude/hooks/node_modules/tsx/dist/esm/index.mjs +2 -0
  141. data/.claude/hooks/node_modules/tsx/dist/get-pipe-path-BHW2eJdv.mjs +1 -0
  142. data/.claude/hooks/node_modules/tsx/dist/get-pipe-path-BoR10qr8.cjs +1 -0
  143. data/.claude/hooks/node_modules/tsx/dist/index-7AaEi15b.mjs +14 -0
  144. data/.claude/hooks/node_modules/tsx/dist/index-BWFBUo6r.cjs +1 -0
  145. data/.claude/hooks/node_modules/tsx/dist/index-gbaejti9.mjs +1 -0
  146. data/.claude/hooks/node_modules/tsx/dist/index-gckBtVBf.cjs +14 -0
  147. data/.claude/hooks/node_modules/tsx/dist/lexer-DQCqS3nf.mjs +3 -0
  148. data/.claude/hooks/node_modules/tsx/dist/lexer-DgIbo0BU.cjs +3 -0
  149. data/.claude/hooks/node_modules/tsx/dist/loader.cjs +1 -0
  150. data/.claude/hooks/node_modules/tsx/dist/loader.mjs +1 -0
  151. data/.claude/hooks/node_modules/tsx/dist/node-features-_8ZFwP_x.mjs +1 -0
  152. data/.claude/hooks/node_modules/tsx/dist/node-features-roYmp9jK.cjs +1 -0
  153. data/.claude/hooks/node_modules/tsx/dist/package-CeBgXWuR.mjs +1 -0
  154. data/.claude/hooks/node_modules/tsx/dist/package-Dxt5kIHw.cjs +1 -0
  155. data/.claude/hooks/node_modules/tsx/dist/patch-repl.cjs +1 -0
  156. data/.claude/hooks/node_modules/tsx/dist/patch-repl.mjs +1 -0
  157. data/.claude/hooks/node_modules/tsx/dist/preflight.cjs +1 -0
  158. data/.claude/hooks/node_modules/tsx/dist/preflight.mjs +1 -0
  159. data/.claude/hooks/node_modules/tsx/dist/register-2sWVXuRQ.cjs +1 -0
  160. data/.claude/hooks/node_modules/tsx/dist/register-B7jrtLTO.mjs +1 -0
  161. data/.claude/hooks/node_modules/tsx/dist/register-CFH5oNdT.mjs +4 -0
  162. data/.claude/hooks/node_modules/tsx/dist/register-D46fvsV_.cjs +4 -0
  163. data/.claude/hooks/node_modules/tsx/dist/repl.cjs +3 -0
  164. data/.claude/hooks/node_modules/tsx/dist/repl.mjs +3 -0
  165. data/.claude/hooks/node_modules/tsx/dist/require-D4F1Lv60.cjs +1 -0
  166. data/.claude/hooks/node_modules/tsx/dist/require-DQxpCAr4.mjs +1 -0
  167. data/.claude/hooks/node_modules/tsx/dist/suppress-warnings.cjs +1 -0
  168. data/.claude/hooks/node_modules/tsx/dist/suppress-warnings.mjs +1 -0
  169. data/.claude/hooks/node_modules/tsx/dist/temporary-directory-B83uKxJF.cjs +1 -0
  170. data/.claude/hooks/node_modules/tsx/dist/temporary-directory-CwHp0_NW.mjs +1 -0
  171. data/.claude/hooks/node_modules/tsx/dist/types-Cxp8y2TL.d.ts +5 -0
  172. data/.claude/hooks/node_modules/tsx/package.json +68 -0
  173. data/.claude/hooks/node_modules/typescript/LICENSE.txt +55 -0
  174. data/.claude/hooks/node_modules/typescript/README.md +50 -0
  175. data/.claude/hooks/node_modules/typescript/SECURITY.md +41 -0
  176. data/.claude/hooks/node_modules/typescript/ThirdPartyNoticeText.txt +193 -0
  177. data/.claude/hooks/node_modules/typescript/bin/tsc +2 -0
  178. data/.claude/hooks/node_modules/typescript/bin/tsserver +2 -0
  179. data/.claude/hooks/node_modules/typescript/lib/_tsc.js +133818 -0
  180. data/.claude/hooks/node_modules/typescript/lib/_tsserver.js +659 -0
  181. data/.claude/hooks/node_modules/typescript/lib/_typingsInstaller.js +222 -0
  182. data/.claude/hooks/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +2122 -0
  183. data/.claude/hooks/node_modules/typescript/lib/de/diagnosticMessages.generated.json +2122 -0
  184. data/.claude/hooks/node_modules/typescript/lib/es/diagnosticMessages.generated.json +2122 -0
  185. data/.claude/hooks/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +2122 -0
  186. data/.claude/hooks/node_modules/typescript/lib/it/diagnosticMessages.generated.json +2122 -0
  187. data/.claude/hooks/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +2122 -0
  188. data/.claude/hooks/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +2122 -0
  189. data/.claude/hooks/node_modules/typescript/lib/lib.d.ts +22 -0
  190. data/.claude/hooks/node_modules/typescript/lib/lib.decorators.d.ts +384 -0
  191. data/.claude/hooks/node_modules/typescript/lib/lib.decorators.legacy.d.ts +22 -0
  192. data/.claude/hooks/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +41 -0
  193. data/.claude/hooks/node_modules/typescript/lib/lib.dom.d.ts +39429 -0
  194. data/.claude/hooks/node_modules/typescript/lib/lib.dom.iterable.d.ts +571 -0
  195. data/.claude/hooks/node_modules/typescript/lib/lib.es2015.collection.d.ts +147 -0
  196. data/.claude/hooks/node_modules/typescript/lib/lib.es2015.core.d.ts +597 -0
  197. data/.claude/hooks/node_modules/typescript/lib/lib.es2015.d.ts +28 -0
  198. data/.claude/hooks/node_modules/typescript/lib/lib.es2015.generator.d.ts +77 -0
  199. data/.claude/hooks/node_modules/typescript/lib/lib.es2015.iterable.d.ts +605 -0
  200. data/.claude/hooks/node_modules/typescript/lib/lib.es2015.promise.d.ts +81 -0
  201. data/.claude/hooks/node_modules/typescript/lib/lib.es2015.proxy.d.ts +128 -0
  202. data/.claude/hooks/node_modules/typescript/lib/lib.es2015.reflect.d.ts +144 -0
  203. data/.claude/hooks/node_modules/typescript/lib/lib.es2015.symbol.d.ts +46 -0
  204. data/.claude/hooks/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +326 -0
  205. data/.claude/hooks/node_modules/typescript/lib/lib.es2016.array.include.d.ts +116 -0
  206. data/.claude/hooks/node_modules/typescript/lib/lib.es2016.d.ts +21 -0
  207. data/.claude/hooks/node_modules/typescript/lib/lib.es2016.full.d.ts +23 -0
  208. data/.claude/hooks/node_modules/typescript/lib/lib.es2016.intl.d.ts +31 -0
  209. data/.claude/hooks/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +21 -0
  210. data/.claude/hooks/node_modules/typescript/lib/lib.es2017.d.ts +26 -0
  211. data/.claude/hooks/node_modules/typescript/lib/lib.es2017.date.d.ts +31 -0
  212. data/.claude/hooks/node_modules/typescript/lib/lib.es2017.full.d.ts +23 -0
  213. data/.claude/hooks/node_modules/typescript/lib/lib.es2017.intl.d.ts +44 -0
  214. data/.claude/hooks/node_modules/typescript/lib/lib.es2017.object.d.ts +49 -0
  215. data/.claude/hooks/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +135 -0
  216. data/.claude/hooks/node_modules/typescript/lib/lib.es2017.string.d.ts +45 -0
  217. data/.claude/hooks/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +53 -0
  218. data/.claude/hooks/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +77 -0
  219. data/.claude/hooks/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +53 -0
  220. data/.claude/hooks/node_modules/typescript/lib/lib.es2018.d.ts +24 -0
  221. data/.claude/hooks/node_modules/typescript/lib/lib.es2018.full.d.ts +24 -0
  222. data/.claude/hooks/node_modules/typescript/lib/lib.es2018.intl.d.ts +83 -0
  223. data/.claude/hooks/node_modules/typescript/lib/lib.es2018.promise.d.ts +30 -0
  224. data/.claude/hooks/node_modules/typescript/lib/lib.es2018.regexp.d.ts +37 -0
  225. data/.claude/hooks/node_modules/typescript/lib/lib.es2019.array.d.ts +79 -0
  226. data/.claude/hooks/node_modules/typescript/lib/lib.es2019.d.ts +24 -0
  227. data/.claude/hooks/node_modules/typescript/lib/lib.es2019.full.d.ts +24 -0
  228. data/.claude/hooks/node_modules/typescript/lib/lib.es2019.intl.d.ts +23 -0
  229. data/.claude/hooks/node_modules/typescript/lib/lib.es2019.object.d.ts +33 -0
  230. data/.claude/hooks/node_modules/typescript/lib/lib.es2019.string.d.ts +37 -0
  231. data/.claude/hooks/node_modules/typescript/lib/lib.es2019.symbol.d.ts +24 -0
  232. data/.claude/hooks/node_modules/typescript/lib/lib.es2020.bigint.d.ts +765 -0
  233. data/.claude/hooks/node_modules/typescript/lib/lib.es2020.d.ts +27 -0
  234. data/.claude/hooks/node_modules/typescript/lib/lib.es2020.date.d.ts +42 -0
  235. data/.claude/hooks/node_modules/typescript/lib/lib.es2020.full.d.ts +24 -0
  236. data/.claude/hooks/node_modules/typescript/lib/lib.es2020.intl.d.ts +474 -0
  237. data/.claude/hooks/node_modules/typescript/lib/lib.es2020.number.d.ts +28 -0
  238. data/.claude/hooks/node_modules/typescript/lib/lib.es2020.promise.d.ts +47 -0
  239. data/.claude/hooks/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +99 -0
  240. data/.claude/hooks/node_modules/typescript/lib/lib.es2020.string.d.ts +44 -0
  241. data/.claude/hooks/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +41 -0
  242. data/.claude/hooks/node_modules/typescript/lib/lib.es2021.d.ts +23 -0
  243. data/.claude/hooks/node_modules/typescript/lib/lib.es2021.full.d.ts +24 -0
  244. data/.claude/hooks/node_modules/typescript/lib/lib.es2021.intl.d.ts +166 -0
  245. data/.claude/hooks/node_modules/typescript/lib/lib.es2021.promise.d.ts +48 -0
  246. data/.claude/hooks/node_modules/typescript/lib/lib.es2021.string.d.ts +33 -0
  247. data/.claude/hooks/node_modules/typescript/lib/lib.es2021.weakref.d.ts +78 -0
  248. data/.claude/hooks/node_modules/typescript/lib/lib.es2022.array.d.ts +121 -0
  249. data/.claude/hooks/node_modules/typescript/lib/lib.es2022.d.ts +25 -0
  250. data/.claude/hooks/node_modules/typescript/lib/lib.es2022.error.d.ts +75 -0
  251. data/.claude/hooks/node_modules/typescript/lib/lib.es2022.full.d.ts +24 -0
  252. data/.claude/hooks/node_modules/typescript/lib/lib.es2022.intl.d.ts +145 -0
  253. data/.claude/hooks/node_modules/typescript/lib/lib.es2022.object.d.ts +26 -0
  254. data/.claude/hooks/node_modules/typescript/lib/lib.es2022.regexp.d.ts +39 -0
  255. data/.claude/hooks/node_modules/typescript/lib/lib.es2022.string.d.ts +25 -0
  256. data/.claude/hooks/node_modules/typescript/lib/lib.es2023.array.d.ts +924 -0
  257. data/.claude/hooks/node_modules/typescript/lib/lib.es2023.collection.d.ts +21 -0
  258. data/.claude/hooks/node_modules/typescript/lib/lib.es2023.d.ts +22 -0
  259. data/.claude/hooks/node_modules/typescript/lib/lib.es2023.full.d.ts +24 -0
  260. data/.claude/hooks/node_modules/typescript/lib/lib.es2023.intl.d.ts +56 -0
  261. data/.claude/hooks/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +65 -0
  262. data/.claude/hooks/node_modules/typescript/lib/lib.es2024.collection.d.ts +29 -0
  263. data/.claude/hooks/node_modules/typescript/lib/lib.es2024.d.ts +26 -0
  264. data/.claude/hooks/node_modules/typescript/lib/lib.es2024.full.d.ts +24 -0
  265. data/.claude/hooks/node_modules/typescript/lib/lib.es2024.object.d.ts +29 -0
  266. data/.claude/hooks/node_modules/typescript/lib/lib.es2024.promise.d.ts +35 -0
  267. data/.claude/hooks/node_modules/typescript/lib/lib.es2024.regexp.d.ts +25 -0
  268. data/.claude/hooks/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +68 -0
  269. data/.claude/hooks/node_modules/typescript/lib/lib.es2024.string.d.ts +29 -0
  270. data/.claude/hooks/node_modules/typescript/lib/lib.es5.d.ts +4601 -0
  271. data/.claude/hooks/node_modules/typescript/lib/lib.es6.d.ts +23 -0
  272. data/.claude/hooks/node_modules/typescript/lib/lib.esnext.array.d.ts +35 -0
  273. data/.claude/hooks/node_modules/typescript/lib/lib.esnext.collection.d.ts +96 -0
  274. data/.claude/hooks/node_modules/typescript/lib/lib.esnext.d.ts +29 -0
  275. data/.claude/hooks/node_modules/typescript/lib/lib.esnext.decorators.d.ts +28 -0
  276. data/.claude/hooks/node_modules/typescript/lib/lib.esnext.disposable.d.ts +193 -0
  277. data/.claude/hooks/node_modules/typescript/lib/lib.esnext.error.d.ts +24 -0
  278. data/.claude/hooks/node_modules/typescript/lib/lib.esnext.float16.d.ts +445 -0
  279. data/.claude/hooks/node_modules/typescript/lib/lib.esnext.full.d.ts +24 -0
  280. data/.claude/hooks/node_modules/typescript/lib/lib.esnext.intl.d.ts +21 -0
  281. data/.claude/hooks/node_modules/typescript/lib/lib.esnext.iterator.d.ts +148 -0
  282. data/.claude/hooks/node_modules/typescript/lib/lib.esnext.promise.d.ts +34 -0
  283. data/.claude/hooks/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +25 -0
  284. data/.claude/hooks/node_modules/typescript/lib/lib.scripthost.d.ts +322 -0
  285. data/.claude/hooks/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +41 -0
  286. data/.claude/hooks/node_modules/typescript/lib/lib.webworker.d.ts +13150 -0
  287. data/.claude/hooks/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +23 -0
  288. data/.claude/hooks/node_modules/typescript/lib/lib.webworker.iterable.d.ts +340 -0
  289. data/.claude/hooks/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +2122 -0
  290. data/.claude/hooks/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +2122 -0
  291. data/.claude/hooks/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +2122 -0
  292. data/.claude/hooks/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +2122 -0
  293. data/.claude/hooks/node_modules/typescript/lib/tsc.js +8 -0
  294. data/.claude/hooks/node_modules/typescript/lib/tsserver.js +8 -0
  295. data/.claude/hooks/node_modules/typescript/lib/tsserverlibrary.d.ts +17 -0
  296. data/.claude/hooks/node_modules/typescript/lib/tsserverlibrary.js +21 -0
  297. data/.claude/hooks/node_modules/typescript/lib/typesMap.json +497 -0
  298. data/.claude/hooks/node_modules/typescript/lib/typescript.d.ts +11437 -0
  299. data/.claude/hooks/node_modules/typescript/lib/typescript.js +200276 -0
  300. data/.claude/hooks/node_modules/typescript/lib/typingsInstaller.js +8 -0
  301. data/.claude/hooks/node_modules/typescript/lib/watchGuard.js +53 -0
  302. data/.claude/hooks/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +2122 -0
  303. data/.claude/hooks/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +2122 -0
  304. data/.claude/hooks/node_modules/typescript/package.json +120 -0
  305. data/.claude/hooks/node_modules/undici-types/LICENSE +21 -0
  306. data/.claude/hooks/node_modules/undici-types/README.md +6 -0
  307. data/.claude/hooks/node_modules/undici-types/agent.d.ts +32 -0
  308. data/.claude/hooks/node_modules/undici-types/api.d.ts +43 -0
  309. data/.claude/hooks/node_modules/undici-types/balanced-pool.d.ts +29 -0
  310. data/.claude/hooks/node_modules/undici-types/cache-interceptor.d.ts +172 -0
  311. data/.claude/hooks/node_modules/undici-types/cache.d.ts +36 -0
  312. data/.claude/hooks/node_modules/undici-types/client-stats.d.ts +15 -0
  313. data/.claude/hooks/node_modules/undici-types/client.d.ts +108 -0
  314. data/.claude/hooks/node_modules/undici-types/connector.d.ts +34 -0
  315. data/.claude/hooks/node_modules/undici-types/content-type.d.ts +21 -0
  316. data/.claude/hooks/node_modules/undici-types/cookies.d.ts +30 -0
  317. data/.claude/hooks/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
  318. data/.claude/hooks/node_modules/undici-types/dispatcher.d.ts +276 -0
  319. data/.claude/hooks/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
  320. data/.claude/hooks/node_modules/undici-types/errors.d.ts +161 -0
  321. data/.claude/hooks/node_modules/undici-types/eventsource.d.ts +66 -0
  322. data/.claude/hooks/node_modules/undici-types/fetch.d.ts +211 -0
  323. data/.claude/hooks/node_modules/undici-types/formdata.d.ts +108 -0
  324. data/.claude/hooks/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  325. data/.claude/hooks/node_modules/undici-types/global-origin.d.ts +7 -0
  326. data/.claude/hooks/node_modules/undici-types/h2c-client.d.ts +73 -0
  327. data/.claude/hooks/node_modules/undici-types/handlers.d.ts +15 -0
  328. data/.claude/hooks/node_modules/undici-types/header.d.ts +160 -0
  329. data/.claude/hooks/node_modules/undici-types/index.d.ts +80 -0
  330. data/.claude/hooks/node_modules/undici-types/interceptors.d.ts +39 -0
  331. data/.claude/hooks/node_modules/undici-types/mock-agent.d.ts +68 -0
  332. data/.claude/hooks/node_modules/undici-types/mock-call-history.d.ts +111 -0
  333. data/.claude/hooks/node_modules/undici-types/mock-client.d.ts +27 -0
  334. data/.claude/hooks/node_modules/undici-types/mock-errors.d.ts +12 -0
  335. data/.claude/hooks/node_modules/undici-types/mock-interceptor.d.ts +94 -0
  336. data/.claude/hooks/node_modules/undici-types/mock-pool.d.ts +27 -0
  337. data/.claude/hooks/node_modules/undici-types/package.json +55 -0
  338. data/.claude/hooks/node_modules/undici-types/patch.d.ts +29 -0
  339. data/.claude/hooks/node_modules/undici-types/pool-stats.d.ts +19 -0
  340. data/.claude/hooks/node_modules/undici-types/pool.d.ts +41 -0
  341. data/.claude/hooks/node_modules/undici-types/proxy-agent.d.ts +29 -0
  342. data/.claude/hooks/node_modules/undici-types/readable.d.ts +68 -0
  343. data/.claude/hooks/node_modules/undici-types/retry-agent.d.ts +8 -0
  344. data/.claude/hooks/node_modules/undici-types/retry-handler.d.ts +125 -0
  345. data/.claude/hooks/node_modules/undici-types/snapshot-agent.d.ts +109 -0
  346. data/.claude/hooks/node_modules/undici-types/util.d.ts +18 -0
  347. data/.claude/hooks/node_modules/undici-types/utility.d.ts +7 -0
  348. data/.claude/hooks/node_modules/undici-types/webidl.d.ts +341 -0
  349. data/.claude/hooks/node_modules/undici-types/websocket.d.ts +186 -0
  350. data/.claude/hooks/package-lock.json +562 -0
  351. data/.claude/hooks/package.json +19 -0
  352. data/.claude/hooks/skill-activation-prompt.sh +11 -0
  353. data/.claude/hooks/skill-activation-prompt.ts +185 -0
  354. data/.claude/hooks/tsconfig.json +12 -0
  355. data/.claude/settings.json +33 -0
  356. data/.claude/skills/README.md +29 -0
  357. data/.claude/skills/ruby-gem-development/SKILL.md +293 -0
  358. data/.claude/skills/skill-rules.json +117 -0
  359. data/.claude/skills/thor-cli-development/SKILL.md +431 -0
  360. data/CHANGELOG.md +7 -0
  361. data/Gemfile.lock +3 -1
  362. data/completions/{_aictl → _langop} +37 -37
  363. data/completions/{aictl.bash → langop.bash} +16 -16
  364. data/completions/langop.fish +114 -0
  365. data/components/agent/Gemfile +1 -1
  366. data/components/tool/Gemfile +1 -1
  367. data/docs/README.md +10 -10
  368. data/docs/agent-internals.md +1 -1
  369. data/docs/cheat-sheet.md +76 -76
  370. data/docs/cli-reference.md +71 -71
  371. data/docs/how-agents-work.md +1 -1
  372. data/docs/installation.md +30 -30
  373. data/docs/quickstart.md +30 -30
  374. data/docs/using-tools.md +11 -11
  375. data/docs/webhooks.md +6 -6
  376. data/examples/ux_helpers_demo.rb +4 -4
  377. data/lib/language_operator/agent/task_executor.rb +0 -37
  378. data/lib/language_operator/agent/web_server.rb +311 -323
  379. data/lib/language_operator/cli/commands/agent/base.rb +16 -15
  380. data/lib/language_operator/cli/commands/agent/code_operations.rb +6 -6
  381. data/lib/language_operator/cli/commands/agent/helpers/synthesis_watcher.rb +1 -1
  382. data/lib/language_operator/cli/commands/agent/lifecycle.rb +2 -2
  383. data/lib/language_operator/cli/commands/agent/logs.rb +2 -2
  384. data/lib/language_operator/cli/commands/agent/workspace.rb +8 -8
  385. data/lib/language_operator/cli/commands/cluster.rb +172 -158
  386. data/lib/language_operator/cli/commands/install.rb +878 -81
  387. data/lib/language_operator/cli/commands/model/base.rb +7 -6
  388. data/lib/language_operator/cli/commands/organization.rb +61 -0
  389. data/lib/language_operator/cli/commands/persona.rb +10 -8
  390. data/lib/language_operator/cli/commands/status.rb +83 -13
  391. data/lib/language_operator/cli/commands/system/exec.rb +10 -10
  392. data/lib/language_operator/cli/commands/system/schema.rb +6 -6
  393. data/lib/language_operator/cli/commands/system/synthesis_template.rb +6 -6
  394. data/lib/language_operator/cli/commands/system/synthesize.rb +14 -14
  395. data/lib/language_operator/cli/commands/system/validate_template.rb +4 -4
  396. data/lib/language_operator/cli/commands/tool/base.rb +1 -1
  397. data/lib/language_operator/cli/commands/tool/install.rb +2 -2
  398. data/lib/language_operator/cli/commands/tool/search.rb +3 -3
  399. data/lib/language_operator/cli/commands/ui.rb +173 -0
  400. data/lib/language_operator/cli/commands/use.rb +80 -9
  401. data/lib/language_operator/cli/errors/suggestions.rb +21 -21
  402. data/lib/language_operator/cli/formatters/progress_formatter.rb +2 -1
  403. data/lib/language_operator/cli/formatters/table_formatter.rb +21 -1
  404. data/lib/language_operator/cli/helpers/cluster_validator.rb +2 -2
  405. data/lib/language_operator/cli/helpers/health_checker.rb +263 -0
  406. data/lib/language_operator/cli/helpers/kubeconfig_validator.rb +3 -3
  407. data/lib/language_operator/cli/helpers/ux_helper.rb +4 -3
  408. data/lib/language_operator/cli/main.rb +30 -21
  409. data/lib/language_operator/cli/wizards/model_wizard.rb +7 -5
  410. data/lib/language_operator/config/cluster_config.rb +3 -3
  411. data/lib/language_operator/constants/kubernetes_labels.rb +1 -1
  412. data/lib/language_operator/kubernetes/client.rb +53 -109
  413. data/lib/language_operator/kubernetes/resource_builder.rb +46 -14
  414. data/lib/language_operator/templates/schema/agent_dsl_openapi.yaml +1 -1
  415. data/lib/language_operator/templates/schema/agent_dsl_schema.json +1 -1
  416. data/lib/language_operator/utils/org_context.rb +100 -0
  417. data/lib/language_operator/version.rb +1 -1
  418. data/synth/001/Makefile +1 -1
  419. data/synth/002/Makefile +1 -1
  420. data/synth/003/Makefile +1 -1
  421. data/synth/004/Makefile +1 -1
  422. metadata +384 -11
  423. data/completions/aictl.fish +0 -114
  424. data/lib/language_operator/agent/event_config.rb +0 -172
  425. data/lib/language_operator/cli/commands/quickstart.rb +0 -22
  426. data/lib/language_operator/cli/wizards/quickstart_wizard.rb +0 -561
  427. /data/bin/{aictl → langop} +0 -0
@@ -0,0 +1,659 @@
1
+ /*! *****************************************************************************
2
+ Copyright (c) Microsoft Corporation. All rights reserved.
3
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
+ this file except in compliance with the License. You may obtain a copy of the
5
+ License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10
+ MERCHANTABLITY OR NON-INFRINGEMENT.
11
+
12
+ See the Apache Version 2.0 License for specific language governing permissions
13
+ and limitations under the License.
14
+ ***************************************************************************** */
15
+
16
+
17
+ "use strict";
18
+ var __create = Object.create;
19
+ var __defProp = Object.defineProperty;
20
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
21
+ var __getOwnPropNames = Object.getOwnPropertyNames;
22
+ var __getProtoOf = Object.getPrototypeOf;
23
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
24
+ var __copyProps = (to, from, except, desc) => {
25
+ if (from && typeof from === "object" || typeof from === "function") {
26
+ for (let key of __getOwnPropNames(from))
27
+ if (!__hasOwnProp.call(to, key) && key !== except)
28
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
29
+ }
30
+ return to;
31
+ };
32
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
33
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
34
+ // If the importer is in node compatibility mode or this is not an ESM
35
+ // file that has been converted to a CommonJS file using a Babel-
36
+ // compatible transform (i.e. "__esModule" has not been set), then set
37
+ // "default" to the CommonJS "module.exports" for node compatibility.
38
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
39
+ mod
40
+ ));
41
+
42
+ // src/tsserver/server.ts
43
+ var import_os2 = __toESM(require("os"));
44
+
45
+ // src/typescript/typescript.ts
46
+ var typescript_exports = {};
47
+ __reExport(typescript_exports, require("./typescript.js"));
48
+
49
+ // src/tsserver/nodeServer.ts
50
+ var import_child_process = __toESM(require("child_process"));
51
+ var import_fs = __toESM(require("fs"));
52
+ var import_net = __toESM(require("net"));
53
+ var import_os = __toESM(require("os"));
54
+ var import_readline = __toESM(require("readline"));
55
+
56
+ // src/tsserver/common.ts
57
+ function getLogLevel(level) {
58
+ if (level) {
59
+ const l = level.toLowerCase();
60
+ for (const name in typescript_exports.server.LogLevel) {
61
+ if (isNaN(+name) && l === name.toLowerCase()) {
62
+ return typescript_exports.server.LogLevel[name];
63
+ }
64
+ }
65
+ }
66
+ return void 0;
67
+ }
68
+
69
+ // src/tsserver/nodeServer.ts
70
+ function parseLoggingEnvironmentString(logEnvStr) {
71
+ if (!logEnvStr) {
72
+ return {};
73
+ }
74
+ const logEnv = { logToFile: true };
75
+ const args = logEnvStr.split(" ");
76
+ const len = args.length - 1;
77
+ for (let i = 0; i < len; i += 2) {
78
+ const option = args[i];
79
+ const { value, extraPartCounter } = getEntireValue(i + 1);
80
+ i += extraPartCounter;
81
+ if (option && value) {
82
+ switch (option) {
83
+ case "-file":
84
+ logEnv.file = value;
85
+ break;
86
+ case "-level":
87
+ const level = getLogLevel(value);
88
+ logEnv.detailLevel = level !== void 0 ? level : typescript_exports.server.LogLevel.normal;
89
+ break;
90
+ case "-traceToConsole":
91
+ logEnv.traceToConsole = value.toLowerCase() === "true";
92
+ break;
93
+ case "-logToFile":
94
+ logEnv.logToFile = value.toLowerCase() === "true";
95
+ break;
96
+ }
97
+ }
98
+ }
99
+ return logEnv;
100
+ function getEntireValue(initialIndex) {
101
+ let pathStart = args[initialIndex];
102
+ let extraPartCounter = 0;
103
+ if (pathStart.charCodeAt(0) === typescript_exports.CharacterCodes.doubleQuote && pathStart.charCodeAt(pathStart.length - 1) !== typescript_exports.CharacterCodes.doubleQuote) {
104
+ for (let i = initialIndex + 1; i < args.length; i++) {
105
+ pathStart += " ";
106
+ pathStart += args[i];
107
+ extraPartCounter++;
108
+ if (pathStart.charCodeAt(pathStart.length - 1) === typescript_exports.CharacterCodes.doubleQuote) break;
109
+ }
110
+ }
111
+ return { value: (0, typescript_exports.stripQuotes)(pathStart), extraPartCounter };
112
+ }
113
+ }
114
+ function parseServerMode() {
115
+ const mode = typescript_exports.server.findArgument("--serverMode");
116
+ if (!mode) return void 0;
117
+ switch (mode.toLowerCase()) {
118
+ case "semantic":
119
+ return typescript_exports.LanguageServiceMode.Semantic;
120
+ case "partialsemantic":
121
+ return typescript_exports.LanguageServiceMode.PartialSemantic;
122
+ case "syntactic":
123
+ return typescript_exports.LanguageServiceMode.Syntactic;
124
+ default:
125
+ return mode;
126
+ }
127
+ }
128
+ function initializeNodeSystem() {
129
+ const sys4 = typescript_exports.Debug.checkDefined(typescript_exports.sys);
130
+ class Logger {
131
+ constructor(logFilename, traceToConsole, level) {
132
+ this.logFilename = logFilename;
133
+ this.traceToConsole = traceToConsole;
134
+ this.level = level;
135
+ this.seq = 0;
136
+ this.inGroup = false;
137
+ this.firstInGroup = true;
138
+ this.fd = -1;
139
+ if (this.logFilename) {
140
+ try {
141
+ this.fd = import_fs.default.openSync(this.logFilename, "w");
142
+ } catch {
143
+ }
144
+ }
145
+ }
146
+ static padStringRight(str, padding) {
147
+ return (str + padding).slice(0, padding.length);
148
+ }
149
+ close() {
150
+ if (this.fd >= 0) {
151
+ import_fs.default.close(this.fd, typescript_exports.noop);
152
+ }
153
+ }
154
+ getLogFileName() {
155
+ return this.logFilename;
156
+ }
157
+ perftrc(s) {
158
+ this.msg(s, typescript_exports.server.Msg.Perf);
159
+ }
160
+ info(s) {
161
+ this.msg(s, typescript_exports.server.Msg.Info);
162
+ }
163
+ err(s) {
164
+ this.msg(s, typescript_exports.server.Msg.Err);
165
+ }
166
+ startGroup() {
167
+ this.inGroup = true;
168
+ this.firstInGroup = true;
169
+ }
170
+ endGroup() {
171
+ this.inGroup = false;
172
+ }
173
+ loggingEnabled() {
174
+ return !!this.logFilename || this.traceToConsole;
175
+ }
176
+ hasLevel(level) {
177
+ return this.loggingEnabled() && this.level >= level;
178
+ }
179
+ msg(s, type = typescript_exports.server.Msg.Err) {
180
+ if (!this.canWrite()) return;
181
+ s = `[${typescript_exports.server.nowString()}] ${s}
182
+ `;
183
+ if (!this.inGroup || this.firstInGroup) {
184
+ const prefix = Logger.padStringRight(type + " " + this.seq.toString(), " ");
185
+ s = prefix + s;
186
+ }
187
+ this.write(s, type);
188
+ if (!this.inGroup) {
189
+ this.seq++;
190
+ }
191
+ }
192
+ canWrite() {
193
+ return this.fd >= 0 || this.traceToConsole;
194
+ }
195
+ write(s, _type) {
196
+ if (this.fd >= 0) {
197
+ const buf = Buffer.from(s);
198
+ import_fs.default.writeSync(
199
+ this.fd,
200
+ buf,
201
+ 0,
202
+ buf.length,
203
+ /*position*/
204
+ null
205
+ );
206
+ }
207
+ if (this.traceToConsole) {
208
+ console.warn(s);
209
+ }
210
+ }
211
+ }
212
+ const libDirectory = (0, typescript_exports.getDirectoryPath)((0, typescript_exports.normalizePath)(sys4.getExecutingFilePath()));
213
+ const useWatchGuard = process.platform === "win32";
214
+ const originalWatchDirectory = sys4.watchDirectory.bind(sys4);
215
+ const logger = createLogger();
216
+ typescript_exports.Debug.loggingHost = {
217
+ log(level, s) {
218
+ switch (level) {
219
+ case typescript_exports.LogLevel.Error:
220
+ case typescript_exports.LogLevel.Warning:
221
+ return logger.msg(s, typescript_exports.server.Msg.Err);
222
+ case typescript_exports.LogLevel.Info:
223
+ case typescript_exports.LogLevel.Verbose:
224
+ return logger.msg(s, typescript_exports.server.Msg.Info);
225
+ }
226
+ }
227
+ };
228
+ const pending = (0, typescript_exports.createQueue)();
229
+ let canWrite = true;
230
+ if (useWatchGuard) {
231
+ const currentDrive = extractWatchDirectoryCacheKey(
232
+ sys4.resolvePath(sys4.getCurrentDirectory()),
233
+ /*currentDriveKey*/
234
+ void 0
235
+ );
236
+ const statusCache = /* @__PURE__ */ new Map();
237
+ sys4.watchDirectory = (path, callback, recursive, options) => {
238
+ const cacheKey = extractWatchDirectoryCacheKey(path, currentDrive);
239
+ let status = cacheKey && statusCache.get(cacheKey);
240
+ if (status === void 0) {
241
+ if (logger.hasLevel(typescript_exports.server.LogLevel.verbose)) {
242
+ logger.info(`${cacheKey} for path ${path} not found in cache...`);
243
+ }
244
+ try {
245
+ const args = [(0, typescript_exports.combinePaths)(libDirectory, "watchGuard.js"), path];
246
+ if (logger.hasLevel(typescript_exports.server.LogLevel.verbose)) {
247
+ logger.info(`Starting ${process.execPath} with args:${typescript_exports.server.stringifyIndented(args)}`);
248
+ }
249
+ import_child_process.default.execFileSync(process.execPath, args, { stdio: "ignore", env: { ELECTRON_RUN_AS_NODE: "1" } });
250
+ status = true;
251
+ if (logger.hasLevel(typescript_exports.server.LogLevel.verbose)) {
252
+ logger.info(`WatchGuard for path ${path} returned: OK`);
253
+ }
254
+ } catch (e) {
255
+ status = false;
256
+ if (logger.hasLevel(typescript_exports.server.LogLevel.verbose)) {
257
+ logger.info(`WatchGuard for path ${path} returned: ${e.message}`);
258
+ }
259
+ }
260
+ if (cacheKey) {
261
+ statusCache.set(cacheKey, status);
262
+ }
263
+ } else if (logger.hasLevel(typescript_exports.server.LogLevel.verbose)) {
264
+ logger.info(`watchDirectory for ${path} uses cached drive information.`);
265
+ }
266
+ if (status) {
267
+ return watchDirectorySwallowingException(path, callback, recursive, options);
268
+ } else {
269
+ return typescript_exports.noopFileWatcher;
270
+ }
271
+ };
272
+ } else {
273
+ sys4.watchDirectory = watchDirectorySwallowingException;
274
+ }
275
+ sys4.write = (s) => writeMessage(Buffer.from(s, "utf8"));
276
+ sys4.setTimeout = setTimeout;
277
+ sys4.clearTimeout = clearTimeout;
278
+ sys4.setImmediate = setImmediate;
279
+ sys4.clearImmediate = clearImmediate;
280
+ if (typeof global !== "undefined" && global.gc) {
281
+ sys4.gc = () => {
282
+ var _a;
283
+ return (_a = global.gc) == null ? void 0 : _a.call(global);
284
+ };
285
+ }
286
+ const cancellationToken = createCancellationToken(sys4.args);
287
+ const localeStr = typescript_exports.server.findArgument("--locale");
288
+ if (localeStr) {
289
+ (0, typescript_exports.validateLocaleAndSetLanguage)(localeStr, sys4);
290
+ }
291
+ const modeOrUnknown = parseServerMode();
292
+ let serverMode;
293
+ let unknownServerMode;
294
+ if (modeOrUnknown !== void 0) {
295
+ if (typeof modeOrUnknown === "number") serverMode = modeOrUnknown;
296
+ else unknownServerMode = modeOrUnknown;
297
+ }
298
+ return {
299
+ args: process.argv,
300
+ logger,
301
+ cancellationToken,
302
+ serverMode,
303
+ unknownServerMode,
304
+ startSession: startNodeSession
305
+ };
306
+ function createLogger() {
307
+ const cmdLineLogFileName = typescript_exports.server.findArgument("--logFile");
308
+ const cmdLineVerbosity = getLogLevel(typescript_exports.server.findArgument("--logVerbosity"));
309
+ const envLogOptions = parseLoggingEnvironmentString(process.env.TSS_LOG);
310
+ const unsubstitutedLogFileName = cmdLineLogFileName ? (0, typescript_exports.stripQuotes)(cmdLineLogFileName) : envLogOptions.logToFile ? envLogOptions.file || libDirectory + "/.log" + process.pid.toString() : void 0;
311
+ const substitutedLogFileName = unsubstitutedLogFileName ? unsubstitutedLogFileName.replace("PID", process.pid.toString()) : void 0;
312
+ const logVerbosity = cmdLineVerbosity || envLogOptions.detailLevel;
313
+ return new Logger(substitutedLogFileName, envLogOptions.traceToConsole, logVerbosity);
314
+ }
315
+ function writeMessage(buf) {
316
+ if (!canWrite) {
317
+ pending.enqueue(buf);
318
+ } else {
319
+ canWrite = false;
320
+ process.stdout.write(buf, setCanWriteFlagAndWriteMessageIfNecessary);
321
+ }
322
+ }
323
+ function setCanWriteFlagAndWriteMessageIfNecessary() {
324
+ canWrite = true;
325
+ if (!pending.isEmpty()) {
326
+ writeMessage(pending.dequeue());
327
+ }
328
+ }
329
+ function extractWatchDirectoryCacheKey(path, currentDriveKey) {
330
+ path = (0, typescript_exports.normalizeSlashes)(path);
331
+ if (isUNCPath(path)) {
332
+ const firstSlash = path.indexOf(typescript_exports.directorySeparator, 2);
333
+ return firstSlash !== -1 ? (0, typescript_exports.toFileNameLowerCase)(path.substring(0, firstSlash)) : path;
334
+ }
335
+ const rootLength = (0, typescript_exports.getRootLength)(path);
336
+ if (rootLength === 0) {
337
+ return currentDriveKey;
338
+ }
339
+ if (path.charCodeAt(1) === typescript_exports.CharacterCodes.colon && path.charCodeAt(2) === typescript_exports.CharacterCodes.slash) {
340
+ return (0, typescript_exports.toFileNameLowerCase)(path.charAt(0));
341
+ }
342
+ if (path.charCodeAt(0) === typescript_exports.CharacterCodes.slash && path.charCodeAt(1) !== typescript_exports.CharacterCodes.slash) {
343
+ return currentDriveKey;
344
+ }
345
+ return void 0;
346
+ }
347
+ function isUNCPath(s) {
348
+ return s.length > 2 && s.charCodeAt(0) === typescript_exports.CharacterCodes.slash && s.charCodeAt(1) === typescript_exports.CharacterCodes.slash;
349
+ }
350
+ function watchDirectorySwallowingException(path, callback, recursive, options) {
351
+ try {
352
+ return originalWatchDirectory(path, callback, recursive, options);
353
+ } catch (e) {
354
+ logger.info(`Exception when creating directory watcher: ${e.message}`);
355
+ return typescript_exports.noopFileWatcher;
356
+ }
357
+ }
358
+ }
359
+ function parseEventPort(eventPortStr) {
360
+ const eventPort = eventPortStr === void 0 ? void 0 : parseInt(eventPortStr);
361
+ return eventPort !== void 0 && !isNaN(eventPort) ? eventPort : void 0;
362
+ }
363
+ function startNodeSession(options, logger, cancellationToken) {
364
+ const rl = import_readline.default.createInterface({
365
+ input: process.stdin,
366
+ output: process.stdout,
367
+ terminal: false
368
+ });
369
+ const _NodeTypingsInstallerAdapter = class _NodeTypingsInstallerAdapter extends typescript_exports.server.TypingsInstallerAdapter {
370
+ constructor(telemetryEnabled2, logger2, host, globalTypingsCacheLocation, typingSafeListLocation2, typesMapLocation2, npmLocation2, validateDefaultNpmLocation2, event) {
371
+ super(
372
+ telemetryEnabled2,
373
+ logger2,
374
+ host,
375
+ globalTypingsCacheLocation,
376
+ event,
377
+ _NodeTypingsInstallerAdapter.maxActiveRequestCount
378
+ );
379
+ this.typingSafeListLocation = typingSafeListLocation2;
380
+ this.typesMapLocation = typesMapLocation2;
381
+ this.npmLocation = npmLocation2;
382
+ this.validateDefaultNpmLocation = validateDefaultNpmLocation2;
383
+ }
384
+ createInstallerProcess() {
385
+ if (this.logger.hasLevel(typescript_exports.server.LogLevel.requestTime)) {
386
+ this.logger.info("Binding...");
387
+ }
388
+ const args = [typescript_exports.server.Arguments.GlobalCacheLocation, this.globalTypingsCacheLocation];
389
+ if (this.telemetryEnabled) {
390
+ args.push(typescript_exports.server.Arguments.EnableTelemetry);
391
+ }
392
+ if (this.logger.loggingEnabled() && this.logger.getLogFileName()) {
393
+ args.push(typescript_exports.server.Arguments.LogFile, (0, typescript_exports.combinePaths)((0, typescript_exports.getDirectoryPath)((0, typescript_exports.normalizeSlashes)(this.logger.getLogFileName())), `ti-${process.pid}.log`));
394
+ }
395
+ if (this.typingSafeListLocation) {
396
+ args.push(typescript_exports.server.Arguments.TypingSafeListLocation, this.typingSafeListLocation);
397
+ }
398
+ if (this.typesMapLocation) {
399
+ args.push(typescript_exports.server.Arguments.TypesMapLocation, this.typesMapLocation);
400
+ }
401
+ if (this.npmLocation) {
402
+ args.push(typescript_exports.server.Arguments.NpmLocation, this.npmLocation);
403
+ }
404
+ if (this.validateDefaultNpmLocation) {
405
+ args.push(typescript_exports.server.Arguments.ValidateDefaultNpmLocation);
406
+ }
407
+ const execArgv = [];
408
+ for (const arg of process.execArgv) {
409
+ const match = /^--((?:debug|inspect)(?:-brk)?)(?:=(\d+))?$/.exec(arg);
410
+ if (match) {
411
+ const currentPort = match[2] !== void 0 ? +match[2] : match[1].charAt(0) === "d" ? 5858 : 9229;
412
+ execArgv.push(`--${match[1]}=${currentPort + 1}`);
413
+ break;
414
+ }
415
+ }
416
+ const typingsInstaller = (0, typescript_exports.combinePaths)((0, typescript_exports.getDirectoryPath)(typescript_exports.sys.getExecutingFilePath()), "typingsInstaller.js");
417
+ this.installer = import_child_process.default.fork(typingsInstaller, args, { execArgv });
418
+ this.installer.on("message", (m) => this.handleMessage(m));
419
+ this.host.setImmediate(() => this.event({ pid: this.installer.pid }, "typingsInstallerPid"));
420
+ process.on("exit", () => {
421
+ this.installer.kill();
422
+ });
423
+ return this.installer;
424
+ }
425
+ };
426
+ // This number is essentially arbitrary. Processing more than one typings request
427
+ // at a time makes sense, but having too many in the pipe results in a hang
428
+ // (see https://github.com/nodejs/node/issues/7657).
429
+ // It would be preferable to base our limit on the amount of space left in the
430
+ // buffer, but we have yet to find a way to retrieve that value.
431
+ _NodeTypingsInstallerAdapter.maxActiveRequestCount = 10;
432
+ let NodeTypingsInstallerAdapter = _NodeTypingsInstallerAdapter;
433
+ class IOSession extends typescript_exports.server.Session {
434
+ constructor() {
435
+ const event = (body, eventName) => {
436
+ this.event(body, eventName);
437
+ };
438
+ const host = typescript_exports.sys;
439
+ const typingsInstaller = disableAutomaticTypingAcquisition ? void 0 : new NodeTypingsInstallerAdapter(telemetryEnabled, logger, host, getGlobalTypingsCacheLocation(), typingSafeListLocation, typesMapLocation, npmLocation, validateDefaultNpmLocation, event);
440
+ super({
441
+ host,
442
+ cancellationToken,
443
+ ...options,
444
+ typingsInstaller,
445
+ byteLength: Buffer.byteLength,
446
+ hrtime: process.hrtime,
447
+ logger,
448
+ canUseEvents: true,
449
+ typesMapLocation
450
+ });
451
+ this.eventPort = eventPort;
452
+ if (this.canUseEvents && this.eventPort) {
453
+ const s = import_net.default.connect({ port: this.eventPort }, () => {
454
+ this.eventSocket = s;
455
+ if (this.socketEventQueue) {
456
+ for (const event2 of this.socketEventQueue) {
457
+ this.writeToEventSocket(event2.body, event2.eventName);
458
+ }
459
+ this.socketEventQueue = void 0;
460
+ }
461
+ });
462
+ }
463
+ this.constructed = true;
464
+ }
465
+ event(body, eventName) {
466
+ typescript_exports.Debug.assert(!!this.constructed, "Should only call `IOSession.prototype.event` on an initialized IOSession");
467
+ if (this.canUseEvents && this.eventPort) {
468
+ if (!this.eventSocket) {
469
+ if (this.logger.hasLevel(typescript_exports.server.LogLevel.verbose)) {
470
+ this.logger.info(`eventPort: event "${eventName}" queued, but socket not yet initialized`);
471
+ }
472
+ (this.socketEventQueue || (this.socketEventQueue = [])).push({ body, eventName });
473
+ return;
474
+ } else {
475
+ typescript_exports.Debug.assert(this.socketEventQueue === void 0);
476
+ this.writeToEventSocket(body, eventName);
477
+ }
478
+ } else {
479
+ super.event(body, eventName);
480
+ }
481
+ }
482
+ writeToEventSocket(body, eventName) {
483
+ this.eventSocket.write(typescript_exports.server.formatMessage(typescript_exports.server.toEvent(eventName, body), this.logger, this.byteLength, this.host.newLine), "utf8");
484
+ }
485
+ exit() {
486
+ var _a;
487
+ this.logger.info("Exiting...");
488
+ this.projectService.closeLog();
489
+ (_a = typescript_exports.tracing) == null ? void 0 : _a.stopTracing();
490
+ process.exit(0);
491
+ }
492
+ listen() {
493
+ rl.on("line", (input) => {
494
+ const message = input.trim();
495
+ this.onMessage(message);
496
+ });
497
+ rl.on("close", () => {
498
+ this.exit();
499
+ });
500
+ }
501
+ }
502
+ class IpcIOSession extends IOSession {
503
+ writeMessage(msg) {
504
+ const verboseLogging = logger.hasLevel(typescript_exports.server.LogLevel.verbose);
505
+ if (verboseLogging) {
506
+ const json = JSON.stringify(msg);
507
+ logger.info(`${msg.type}:${typescript_exports.server.indent(json)}`);
508
+ }
509
+ process.send(msg);
510
+ }
511
+ parseMessage(message) {
512
+ return message;
513
+ }
514
+ toStringMessage(message) {
515
+ return JSON.stringify(message, void 0, 2);
516
+ }
517
+ listen() {
518
+ process.on("message", (e) => {
519
+ this.onMessage(e);
520
+ });
521
+ process.on("disconnect", () => {
522
+ this.exit();
523
+ });
524
+ }
525
+ }
526
+ const eventPort = parseEventPort(typescript_exports.server.findArgument("--eventPort"));
527
+ const typingSafeListLocation = typescript_exports.server.findArgument(typescript_exports.server.Arguments.TypingSafeListLocation);
528
+ const typesMapLocation = typescript_exports.server.findArgument(typescript_exports.server.Arguments.TypesMapLocation) || (0, typescript_exports.combinePaths)((0, typescript_exports.getDirectoryPath)(typescript_exports.sys.getExecutingFilePath()), "typesMap.json");
529
+ const npmLocation = typescript_exports.server.findArgument(typescript_exports.server.Arguments.NpmLocation);
530
+ const validateDefaultNpmLocation = typescript_exports.server.hasArgument(typescript_exports.server.Arguments.ValidateDefaultNpmLocation);
531
+ const disableAutomaticTypingAcquisition = typescript_exports.server.hasArgument("--disableAutomaticTypingAcquisition");
532
+ const useNodeIpc = typescript_exports.server.hasArgument("--useNodeIpc");
533
+ const telemetryEnabled = typescript_exports.server.hasArgument(typescript_exports.server.Arguments.EnableTelemetry);
534
+ const commandLineTraceDir = typescript_exports.server.findArgument("--traceDirectory");
535
+ const traceDir = commandLineTraceDir ? (0, typescript_exports.stripQuotes)(commandLineTraceDir) : process.env.TSS_TRACE;
536
+ if (traceDir) {
537
+ (0, typescript_exports.startTracing)("server", traceDir);
538
+ }
539
+ const ioSession = useNodeIpc ? new IpcIOSession() : new IOSession();
540
+ process.on("uncaughtException", (err) => {
541
+ ioSession.logError(err, "unknown");
542
+ });
543
+ process.noAsar = true;
544
+ ioSession.listen();
545
+ function getGlobalTypingsCacheLocation() {
546
+ switch (process.platform) {
547
+ case "win32": {
548
+ const basePath = process.env.LOCALAPPDATA || process.env.APPDATA || import_os.default.homedir && import_os.default.homedir() || process.env.USERPROFILE || process.env.HOMEDRIVE && process.env.HOMEPATH && (0, typescript_exports.normalizeSlashes)(process.env.HOMEDRIVE + process.env.HOMEPATH) || import_os.default.tmpdir();
549
+ return (0, typescript_exports.combinePaths)((0, typescript_exports.combinePaths)((0, typescript_exports.normalizeSlashes)(basePath), "Microsoft/TypeScript"), typescript_exports.versionMajorMinor);
550
+ }
551
+ case "openbsd":
552
+ case "freebsd":
553
+ case "netbsd":
554
+ case "darwin":
555
+ case "linux":
556
+ case "android": {
557
+ const cacheLocation = getNonWindowsCacheLocation(process.platform === "darwin");
558
+ return (0, typescript_exports.combinePaths)((0, typescript_exports.combinePaths)(cacheLocation, "typescript"), typescript_exports.versionMajorMinor);
559
+ }
560
+ default:
561
+ return typescript_exports.Debug.fail(`unsupported platform '${process.platform}'`);
562
+ }
563
+ }
564
+ function getNonWindowsCacheLocation(platformIsDarwin) {
565
+ if (process.env.XDG_CACHE_HOME) {
566
+ return process.env.XDG_CACHE_HOME;
567
+ }
568
+ const usersDir = platformIsDarwin ? "Users" : "home";
569
+ const homePath = import_os.default.homedir && import_os.default.homedir() || process.env.HOME || (process.env.LOGNAME || process.env.USER) && `/${usersDir}/${process.env.LOGNAME || process.env.USER}` || import_os.default.tmpdir();
570
+ const cacheFolder = platformIsDarwin ? "Library/Caches" : ".cache";
571
+ return (0, typescript_exports.combinePaths)((0, typescript_exports.normalizeSlashes)(homePath), cacheFolder);
572
+ }
573
+ }
574
+ function pipeExists(name) {
575
+ return import_fs.default.existsSync(name);
576
+ }
577
+ function createCancellationToken(args) {
578
+ let cancellationPipeName;
579
+ for (let i = 0; i < args.length - 1; i++) {
580
+ if (args[i] === "--cancellationPipeName") {
581
+ cancellationPipeName = args[i + 1];
582
+ break;
583
+ }
584
+ }
585
+ if (!cancellationPipeName) {
586
+ return typescript_exports.server.nullCancellationToken;
587
+ }
588
+ if (cancellationPipeName.charAt(cancellationPipeName.length - 1) === "*") {
589
+ const namePrefix = cancellationPipeName.slice(0, -1);
590
+ if (namePrefix.length === 0 || namePrefix.includes("*")) {
591
+ throw new Error("Invalid name for template cancellation pipe: it should have length greater than 2 characters and contain only one '*'.");
592
+ }
593
+ let perRequestPipeName;
594
+ let currentRequestId;
595
+ return {
596
+ isCancellationRequested: () => perRequestPipeName !== void 0 && pipeExists(perRequestPipeName),
597
+ setRequest(requestId) {
598
+ currentRequestId = requestId;
599
+ perRequestPipeName = namePrefix + requestId;
600
+ },
601
+ resetRequest(requestId) {
602
+ if (currentRequestId !== requestId) {
603
+ throw new Error(`Mismatched request id, expected ${currentRequestId}, actual ${requestId}`);
604
+ }
605
+ perRequestPipeName = void 0;
606
+ }
607
+ };
608
+ } else {
609
+ return {
610
+ isCancellationRequested: () => pipeExists(cancellationPipeName),
611
+ setRequest: (_requestId) => void 0,
612
+ resetRequest: (_requestId) => void 0
613
+ };
614
+ }
615
+ }
616
+
617
+ // src/tsserver/server.ts
618
+ function findArgumentStringArray(argName) {
619
+ const arg = typescript_exports.server.findArgument(argName);
620
+ if (arg === void 0) {
621
+ return typescript_exports.emptyArray;
622
+ }
623
+ return arg.split(",").filter((name) => name !== "");
624
+ }
625
+ function start({ args, logger, cancellationToken, serverMode, unknownServerMode, startSession: startServer }, platform) {
626
+ logger.info(`Starting TS Server`);
627
+ logger.info(`Version: ${typescript_exports.version}`);
628
+ logger.info(`Arguments: ${args.join(" ")}`);
629
+ logger.info(`Platform: ${platform} NodeVersion: ${process.version} CaseSensitive: ${typescript_exports.sys.useCaseSensitiveFileNames}`);
630
+ logger.info(`ServerMode: ${serverMode} hasUnknownServerMode: ${unknownServerMode}`);
631
+ typescript_exports.setStackTraceLimit();
632
+ if (typescript_exports.Debug.isDebugging) {
633
+ typescript_exports.Debug.enableDebugInfo();
634
+ }
635
+ if (typescript_exports.sys.tryEnableSourceMapsForHost && /^development$/i.test(typescript_exports.sys.getEnvironmentVariable("NODE_ENV"))) {
636
+ typescript_exports.sys.tryEnableSourceMapsForHost();
637
+ }
638
+ console.log = (...args2) => logger.msg(args2.length === 1 ? args2[0] : args2.join(", "), typescript_exports.server.Msg.Info);
639
+ console.warn = (...args2) => logger.msg(args2.length === 1 ? args2[0] : args2.join(", "), typescript_exports.server.Msg.Err);
640
+ console.error = (...args2) => logger.msg(args2.length === 1 ? args2[0] : args2.join(", "), typescript_exports.server.Msg.Err);
641
+ startServer(
642
+ {
643
+ globalPlugins: findArgumentStringArray("--globalPlugins"),
644
+ pluginProbeLocations: findArgumentStringArray("--pluginProbeLocations"),
645
+ allowLocalPluginLoads: typescript_exports.server.hasArgument("--allowLocalPluginLoads"),
646
+ useSingleInferredProject: typescript_exports.server.hasArgument("--useSingleInferredProject"),
647
+ useInferredProjectPerProjectRoot: typescript_exports.server.hasArgument("--useInferredProjectPerProjectRoot"),
648
+ suppressDiagnosticEvents: typescript_exports.server.hasArgument("--suppressDiagnosticEvents"),
649
+ noGetErrOnBackgroundUpdate: typescript_exports.server.hasArgument("--noGetErrOnBackgroundUpdate"),
650
+ canUseWatchEvents: typescript_exports.server.hasArgument("--canUseWatchEvents"),
651
+ serverMode
652
+ },
653
+ logger,
654
+ cancellationToken
655
+ );
656
+ }
657
+ typescript_exports.setStackTraceLimit();
658
+ start(initializeNodeSystem(), import_os2.default.platform());
659
+ //# sourceMappingURL=_tsserver.js.map