onbuzz 3.9.8 → 4.0.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 (955) hide show
  1. package/package.json +1 -1
  2. package/src/core/__tests__/agentScheduler.test.js +129 -0
  3. package/src/core/agentScheduler.js +3850 -3301
  4. package/src/index.js +8 -0
  5. package/src/interfaces/webServer.js +288 -0
  6. package/src/services/__tests__/channelFilter.test.js +264 -0
  7. package/src/services/__tests__/channelRelay.integration.test.js +496 -0
  8. package/src/services/__tests__/discordService.integration.test.js +10 -10
  9. package/src/services/__tests__/discordService.test.js +14 -7
  10. package/src/services/aiService.js +10 -3
  11. package/src/services/channelFilter.js +137 -0
  12. package/src/services/discordService.js +103 -19
  13. package/src/services/telegramService.js +58 -1
  14. package/src/tools/fileSystemTool.js +27 -3
  15. package/src/tools/openaiFunctionSchemas.js +270 -0
  16. package/src/tools/taskManagerTool.js +35 -2
  17. package/src/tools/terminalTool.js +23 -2
  18. package/src/utilities/constants.js +886 -871
  19. package/web-ui/build/index.html +2 -2
  20. package/web-ui/build/static/1c-D0gS3Hso.js +1 -0
  21. package/web-ui/build/static/abap-CyCKEEhS.js +1 -0
  22. package/web-ui/build/static/abnf-BZBn0pag.js +1 -0
  23. package/web-ui/build/static/abnf-BpCrg_Bf.js +1 -0
  24. package/web-ui/build/static/accesslog-DuTggsRZ.js +1 -0
  25. package/web-ui/build/static/actionscript-Ba9yLObR.js +1 -0
  26. package/web-ui/build/static/actionscript-C_BTnWxb.js +1 -0
  27. package/web-ui/build/static/ada-B69_itVh.js +1 -0
  28. package/web-ui/build/static/ada-DoeTM_BQ.js +1 -0
  29. package/web-ui/build/static/agda-jCpnVEpX.js +1 -0
  30. package/web-ui/build/static/al-CakFGn97.js +1 -0
  31. package/web-ui/build/static/angelscript-CnSUNIGj.js +1 -0
  32. package/web-ui/build/static/antlr4-Cn-R7SWD.js +1 -0
  33. package/web-ui/build/static/apache-jWzYeO33.js +1 -0
  34. package/web-ui/build/static/apacheconf-Qf6ccteC.js +1 -0
  35. package/web-ui/build/static/apex-BBFeLnmZ.js +1 -0
  36. package/web-ui/build/static/apl-Id4G-9pR.js +1 -0
  37. package/web-ui/build/static/applescript-Cndkqqg_.js +1 -0
  38. package/web-ui/build/static/applescript-De2uOrG8.js +1 -0
  39. package/web-ui/build/static/aql-Bx0hBEFP.js +1 -0
  40. package/web-ui/build/static/arcade-kv3B2d64.js +1 -0
  41. package/web-ui/build/static/arduino-Di5etN7-.js +1 -0
  42. package/web-ui/build/static/arduino-dzzVGXPJ.js +1 -0
  43. package/web-ui/build/static/arff-vVmlJyxT.js +1 -0
  44. package/web-ui/build/static/armasm-CLLemW4j.js +1 -0
  45. package/web-ui/build/static/asciidoc-5N0GIB1H.js +1 -0
  46. package/web-ui/build/static/asciidoc-BUQcC9k5.js +1 -0
  47. package/web-ui/build/static/asm6502-DrvbjZqg.js +1 -0
  48. package/web-ui/build/static/asmatmel-DXaAmo9p.js +1 -0
  49. package/web-ui/build/static/aspectj-QEbU6lqv.js +1 -0
  50. package/web-ui/build/static/aspnet-D1DOd55H.js +1 -0
  51. package/web-ui/build/static/autohotkey-CeN6Nxl7.js +1 -0
  52. package/web-ui/build/static/autohotkey-DK33Y-ag.js +1 -0
  53. package/web-ui/build/static/autoit-Ce15EHmT.js +1 -0
  54. package/web-ui/build/static/autoit-Du48dS3x.js +1 -0
  55. package/web-ui/build/static/avisynth-CTNNDQJu.js +1 -0
  56. package/web-ui/build/static/avrasm-U3bAmy_8.js +1 -0
  57. package/web-ui/build/static/avro-idl-hdYq5Y_G.js +1 -0
  58. package/web-ui/build/static/awk-D_y_Ybkz.js +1 -0
  59. package/web-ui/build/static/axapta-BtorzWAb.js +1 -0
  60. package/web-ui/build/static/bash-C7jHPzRr.js +1 -0
  61. package/web-ui/build/static/bash-C8rx4ZX7.js +1 -0
  62. package/web-ui/build/static/basic-BnB1QbT9.js +1 -0
  63. package/web-ui/build/static/basic-C3lmrCJn.js +1 -0
  64. package/web-ui/build/static/batch-D3zfZMkE.js +1 -0
  65. package/web-ui/build/static/bbcode-CcaWY4r6.js +1 -0
  66. package/web-ui/build/static/bicep-BTSNjNeE.js +1 -0
  67. package/web-ui/build/static/birb-FlitQ-CB.js +1 -0
  68. package/web-ui/build/static/bison-BwUeAPik.js +1 -0
  69. package/web-ui/build/static/bnf-BO0epnqT.js +1 -0
  70. package/web-ui/build/static/bnf-Dr7Yhkhf.js +1 -0
  71. package/web-ui/build/static/brainfuck-CQXtVvdr.js +1 -0
  72. package/web-ui/build/static/brainfuck-DBI8WFED.js +1 -0
  73. package/web-ui/build/static/brightscript-DMCw9cpk.js +1 -0
  74. package/web-ui/build/static/bro-DLuuGrl1.js +1 -0
  75. package/web-ui/build/static/bsl-YJucc4YV.js +1 -0
  76. package/web-ui/build/static/c-DhDv7jSS.js +1 -0
  77. package/web-ui/build/static/c-DxhyzKko.js +1 -0
  78. package/web-ui/build/static/c-like-DlgSkBV0.js +1 -0
  79. package/web-ui/build/static/cal-l1d2rfZn.js +1 -0
  80. package/web-ui/build/static/capnproto-dj8ChcGe.js +1 -0
  81. package/web-ui/build/static/ceylon-D54yMfbT.js +1 -0
  82. package/web-ui/build/static/cfscript-D6rZc4oz.js +1 -0
  83. package/web-ui/build/static/chaiscript-C5TnPhY1.js +1 -0
  84. package/web-ui/build/static/cil-OfdzNvKT.js +1 -0
  85. package/web-ui/build/static/clean-CIKWd5m_.js +1 -0
  86. package/web-ui/build/static/clojure-DPPjCSD9.js +1 -0
  87. package/web-ui/build/static/clojure-E4hINJlB.js +1 -0
  88. package/web-ui/build/static/clojure-repl-ByPwVP0v.js +1 -0
  89. package/web-ui/build/static/cmake-EmgODR4I.js +1 -0
  90. package/web-ui/build/static/cmake-FzVdKoPQ.js +1 -0
  91. package/web-ui/build/static/cobol-BCywZ9YX.js +1 -0
  92. package/web-ui/build/static/coffeescript-B3PJfOGT.js +1 -0
  93. package/web-ui/build/static/coffeescript-Cn6ayg_l.js +1 -0
  94. package/web-ui/build/static/concurnas-CDZuVXuU.js +1 -0
  95. package/web-ui/build/static/coq-CmxamUdH.js +1 -0
  96. package/web-ui/build/static/coq-OIzJsY4F.js +1 -0
  97. package/web-ui/build/static/cos-DGL5rP0B.js +1 -0
  98. package/web-ui/build/static/cpp-6bJ9ZCLp.js +1 -0
  99. package/web-ui/build/static/cpp-CnpCPPE0.js +1 -0
  100. package/web-ui/build/static/crmsh-UqfNCx22.js +1 -0
  101. package/web-ui/build/static/crystal-BZPfo8wh.js +1 -0
  102. package/web-ui/build/static/crystal-BmnmtxvU.js +1 -0
  103. package/web-ui/build/static/csharp-Ddd4cQJM.js +1 -0
  104. package/web-ui/build/static/csharp-Ozmwd4H7.js +1 -0
  105. package/web-ui/build/static/cshtml-CKUifIKv.js +1 -0
  106. package/web-ui/build/static/csp-DIKKHabm.js +1 -0
  107. package/web-ui/build/static/csp-DVNj8KoC.js +1 -0
  108. package/web-ui/build/static/css-C5xXuaIa.js +1 -0
  109. package/web-ui/build/static/css-extras-BcO-SjvT.js +1 -0
  110. package/web-ui/build/static/csv-Ckfvef5r.js +1 -0
  111. package/web-ui/build/static/cypher-nFX3ujhC.js +1 -0
  112. package/web-ui/build/static/d-C51vBcAN.js +1 -0
  113. package/web-ui/build/static/d-C5Zzmfpj.js +1 -0
  114. package/web-ui/build/static/dart-DTgXq_zq.js +1 -0
  115. package/web-ui/build/static/dart-nEf62Xtl.js +1 -0
  116. package/web-ui/build/static/dataweave-BBu_SXNo.js +1 -0
  117. package/web-ui/build/static/dax-BgSY6VXv.js +1 -0
  118. package/web-ui/build/static/delphi-BsEFn1Dg.js +1 -0
  119. package/web-ui/build/static/dhall-DZLoRbRq.js +1 -0
  120. package/web-ui/build/static/diff-BigjWm8-.js +1 -0
  121. package/web-ui/build/static/diff-GaoenF5U.js +1 -0
  122. package/web-ui/build/static/django-BHquQxg_.js +1 -0
  123. package/web-ui/build/static/django-BklTsfN1.js +1 -0
  124. package/web-ui/build/static/dns-Fye2v3C_.js +1 -0
  125. package/web-ui/build/static/dns-zone-file-Cl9DxAn6.js +1 -0
  126. package/web-ui/build/static/docker-ByXHv0Ly.js +1 -0
  127. package/web-ui/build/static/dockerfile-C3JvS7wx.js +1 -0
  128. package/web-ui/build/static/dos-DZjvZtlb.js +1 -0
  129. package/web-ui/build/static/dot-Ce9RBw-P.js +1 -0
  130. package/web-ui/build/static/dsconfig-CqzyFCWR.js +1 -0
  131. package/web-ui/build/static/dts-CzmHan27.js +1 -0
  132. package/web-ui/build/static/dust-ooMZaltT.js +1 -0
  133. package/web-ui/build/static/ebnf-BQTW3VN9.js +1 -0
  134. package/web-ui/build/static/ebnf-BWQPIMhj.js +1 -0
  135. package/web-ui/build/static/editorconfig-ChULEndb.js +1 -0
  136. package/web-ui/build/static/eiffel-DNf4Lf6d.js +1 -0
  137. package/web-ui/build/static/ejs-BN91k0H9.js +1 -0
  138. package/web-ui/build/static/elixir-BsUN2TJ3.js +1 -0
  139. package/web-ui/build/static/elixir-DowOmwjw.js +1 -0
  140. package/web-ui/build/static/elm-BR0-AOlB.js +1 -0
  141. package/web-ui/build/static/elm-CyQ-Tu1y.js +1 -0
  142. package/web-ui/build/static/erb-C3-ICRZC.js +1 -0
  143. package/web-ui/build/static/erb-CDwwnVfP.js +1 -0
  144. package/web-ui/build/static/erlang-CkKAvBqC.js +1 -0
  145. package/web-ui/build/static/erlang-b8hjzYg_.js +1 -0
  146. package/web-ui/build/static/erlang-repl-gGfh3Gx4.js +1 -0
  147. package/web-ui/build/static/etlua-DD1BETje.js +1 -0
  148. package/web-ui/build/static/excel-BHUhNjbb.js +1 -0
  149. package/web-ui/build/static/excel-formula-pygAkTSb.js +1 -0
  150. package/web-ui/build/static/factor-DGtAXbeO.js +1 -0
  151. package/web-ui/build/static/false-CmwPZZMx.js +1 -0
  152. package/web-ui/build/static/firestore-security-rules-BPVh7g3V.js +1 -0
  153. package/web-ui/build/static/fix-D0X2IrLW.js +1 -0
  154. package/web-ui/build/static/flix-B_K9PtSC.js +1 -0
  155. package/web-ui/build/static/flow-Bj8UDWFS.js +1 -0
  156. package/web-ui/build/static/fortran-CVjlvxYP.js +1 -0
  157. package/web-ui/build/static/fortran-CeuwkeSi.js +1 -0
  158. package/web-ui/build/static/fsharp-7ZnhHRI2.js +1 -0
  159. package/web-ui/build/static/fsharp-Dg0zkEUM.js +1 -0
  160. package/web-ui/build/static/ftl-DTiv91OH.js +1 -0
  161. package/web-ui/build/static/gams-mzIliqa9.js +1 -0
  162. package/web-ui/build/static/gap-CZy17Yrg.js +1 -0
  163. package/web-ui/build/static/gauss-eN8ZSPsu.js +1 -0
  164. package/web-ui/build/static/gcode-BilRDZ1d.js +1 -0
  165. package/web-ui/build/static/gcode-DgLXH4R9.js +1 -0
  166. package/web-ui/build/static/gdscript-ZYuV2APS.js +1 -0
  167. package/web-ui/build/static/gedcom-0kGxJiZ9.js +1 -0
  168. package/web-ui/build/static/gherkin-CCSGpV3s.js +1 -0
  169. package/web-ui/build/static/gherkin-DGxXFCBT.js +1 -0
  170. package/web-ui/build/static/git-CdLGzlwT.js +1 -0
  171. package/web-ui/build/static/glsl-BtFVLAdf.js +1 -0
  172. package/web-ui/build/static/glsl-pOLV_i61.js +1 -0
  173. package/web-ui/build/static/gml-BvRYdpYB.js +1 -0
  174. package/web-ui/build/static/gml-kixDldbq.js +1 -0
  175. package/web-ui/build/static/gn-B0j6r1ZR.js +1 -0
  176. package/web-ui/build/static/go-0gVqv26H.js +1 -0
  177. package/web-ui/build/static/go-hMMVdAxn.js +1 -0
  178. package/web-ui/build/static/go-module-nQEPOPuc.js +1 -0
  179. package/web-ui/build/static/golo-Dm43VBu7.js +1 -0
  180. package/web-ui/build/static/gradle-CHC1_Cae.js +1 -0
  181. package/web-ui/build/static/graphql-0VBsLded.js +1 -0
  182. package/web-ui/build/static/groovy-D8pgT7Gh.js +1 -0
  183. package/web-ui/build/static/groovy-LYh6lufY.js +1 -0
  184. package/web-ui/build/static/haml-D7TlUCYV.js +1 -0
  185. package/web-ui/build/static/haml-DM_YbLsX.js +1 -0
  186. package/web-ui/build/static/handlebars-C6s9z8yY.js +1 -0
  187. package/web-ui/build/static/handlebars-MmYUBbhF.js +1 -0
  188. package/web-ui/build/static/haskell-WDNKcSr-.js +1 -0
  189. package/web-ui/build/static/haskell-uN4RNceQ.js +1 -0
  190. package/web-ui/build/static/haxe-BfngEDpC.js +1 -0
  191. package/web-ui/build/static/haxe-Di7jSobz.js +1 -0
  192. package/web-ui/build/static/hcl-CCY9WaU5.js +1 -0
  193. package/web-ui/build/static/hlsl-BZeRODlS.js +1 -0
  194. package/web-ui/build/static/hoon-CYgEwHo6.js +1 -0
  195. package/web-ui/build/static/hpkp-CDGRQT6H.js +1 -0
  196. package/web-ui/build/static/hsp-Bd3e6SwQ.js +1 -0
  197. package/web-ui/build/static/hsts-BOUlTJ6c.js +1 -0
  198. package/web-ui/build/static/htmlbars-BPiYH0_n.js +1 -0
  199. package/web-ui/build/static/http-BX5oUCxR.js +1 -0
  200. package/web-ui/build/static/http-DVroDmj6.js +1 -0
  201. package/web-ui/build/static/hy-BCcF_QHP.js +1 -0
  202. package/web-ui/build/static/ichigojam-BiISBr0y.js +1 -0
  203. package/web-ui/build/static/icon-ClvK1B41.js +1 -0
  204. package/web-ui/build/static/icu-message-format-DbYDqmui.js +1 -0
  205. package/web-ui/build/static/idris-DUkwgVYa.js +1 -0
  206. package/web-ui/build/static/iecst-Dsthm7u9.js +1 -0
  207. package/web-ui/build/static/ignore-C6sD6BBI.js +1 -0
  208. package/web-ui/build/static/index-BJi0QI4y.js +13 -0
  209. package/web-ui/build/static/index-BUtXAjd5.css +1 -0
  210. package/web-ui/build/static/index-C0yagaf_.js +1 -0
  211. package/web-ui/build/static/index-rmQCMu11.js +834 -0
  212. package/web-ui/build/static/inform7-BhpCpaCI.js +1 -0
  213. package/web-ui/build/static/inform7-CypdUZ2H.js +1 -0
  214. package/web-ui/build/static/ini-D3bMjLFy.js +1 -0
  215. package/web-ui/build/static/ini-mZ4DmMFa.js +1 -0
  216. package/web-ui/build/static/io-CAPenDjW.js +1 -0
  217. package/web-ui/build/static/irpf90-DMLZfHOl.js +1 -0
  218. package/web-ui/build/static/isbl-C-heO4bo.js +1 -0
  219. package/web-ui/build/static/j-CYnuDyva.js +1 -0
  220. package/web-ui/build/static/java-BwxvO1xU.js +1 -0
  221. package/web-ui/build/static/java-DrS-TIOG.js +1 -0
  222. package/web-ui/build/static/javadoc-C7g1nvf0.js +1 -0
  223. package/web-ui/build/static/javadoclike-BccMcxyJ.js +1 -0
  224. package/web-ui/build/static/javascript-BTLBzg4X.js +1 -0
  225. package/web-ui/build/static/javastacktrace-DMfJDkdg.js +1 -0
  226. package/web-ui/build/static/jboss-cli-Bod2dA9a.js +1 -0
  227. package/web-ui/build/static/jexl-N6nsHGWj.js +1 -0
  228. package/web-ui/build/static/jolie-CsrX6xYs.js +1 -0
  229. package/web-ui/build/static/jq-UVBu2R02.js +1 -0
  230. package/web-ui/build/static/js-extras-CuwwBN5k.js +1 -0
  231. package/web-ui/build/static/js-templates-DIBe0p7a.js +1 -0
  232. package/web-ui/build/static/jsdoc-DtDbuWdy.js +1 -0
  233. package/web-ui/build/static/json-BI3FHwe1.js +1 -0
  234. package/web-ui/build/static/json-P6SuA8aJ.js +1 -0
  235. package/web-ui/build/static/json5-CRP2homn.js +1 -0
  236. package/web-ui/build/static/jsonp-9ElDctKO.js +1 -0
  237. package/web-ui/build/static/jsstacktrace-D2Fl9d_V.js +1 -0
  238. package/web-ui/build/static/jsx-CQTwBhTH.js +1 -0
  239. package/web-ui/build/static/julia-DuUl4PLy.js +1 -0
  240. package/web-ui/build/static/julia-nGiK_b-G.js +1 -0
  241. package/web-ui/build/static/julia-repl-CZXv3gUI.js +1 -0
  242. package/web-ui/build/static/keepalived-BXuewLUw.js +1 -0
  243. package/web-ui/build/static/keyman-qJzqzYn7.js +1 -0
  244. package/web-ui/build/static/kotlin-B9n_utKk.js +1 -0
  245. package/web-ui/build/static/kotlin-haL4BAuN.js +1 -0
  246. package/web-ui/build/static/kumir-B3qOyQmg.js +1 -0
  247. package/web-ui/build/static/kusto-DBaBX58G.js +1 -0
  248. package/web-ui/build/static/lasso-BKSAUuYM.js +1 -0
  249. package/web-ui/build/static/latex-BRrZyaQT.js +1 -0
  250. package/web-ui/build/static/latex-m1lQaqf1.js +1 -0
  251. package/web-ui/build/static/latte-eiBbKf65.js +1 -0
  252. package/web-ui/build/static/ldif-y2LZUUyZ.js +1 -0
  253. package/web-ui/build/static/leaf-hIUS2wti.js +1 -0
  254. package/web-ui/build/static/less-Bo6R8taI.js +1 -0
  255. package/web-ui/build/static/less-DuKmENyN.js +1 -0
  256. package/web-ui/build/static/lilypond-BBpJhRQ9.js +1 -0
  257. package/web-ui/build/static/liquid-CAprdcX2.js +1 -0
  258. package/web-ui/build/static/lisp-Bf1XYdUw.js +1 -0
  259. package/web-ui/build/static/lisp-CK4NShQS.js +1 -0
  260. package/web-ui/build/static/livecodeserver-D-7DT8n5.js +1 -0
  261. package/web-ui/build/static/livescript-C53jjB4u.js +1 -0
  262. package/web-ui/build/static/livescript-C6BLAugR.js +1 -0
  263. package/web-ui/build/static/llvm-DwsfQGGS.js +1 -0
  264. package/web-ui/build/static/llvm-x2WOwJip.js +1 -0
  265. package/web-ui/build/static/log-ycx4d2kp.js +1 -0
  266. package/web-ui/build/static/lolcode-kQPJj9kJ.js +1 -0
  267. package/web-ui/build/static/lsl-DYPjhHe3.js +1 -0
  268. package/web-ui/build/static/lua-DbyfdtuA.js +1 -0
  269. package/web-ui/build/static/lua-k-RdWswg.js +1 -0
  270. package/web-ui/build/static/magma-C0BRcgX4.js +1 -0
  271. package/web-ui/build/static/makefile-CZQdxsni.js +1 -0
  272. package/web-ui/build/static/makefile-D-G1cICu.js +1 -0
  273. package/web-ui/build/static/markdown-BXgB-fA-.js +1 -0
  274. package/web-ui/build/static/markdown-Ce-22f29.js +1 -0
  275. package/web-ui/build/static/markup-templating-BpdQJTBM.js +1 -0
  276. package/web-ui/build/static/mathematica-IkAnPpu4.js +1 -0
  277. package/web-ui/build/static/matlab-D00TnflQ.js +1 -0
  278. package/web-ui/build/static/matlab-D9nj0uha.js +1 -0
  279. package/web-ui/build/static/maxima-C7a7zrie.js +1 -0
  280. package/web-ui/build/static/maxscript-BV3koaAu.js +1 -0
  281. package/web-ui/build/static/mel-C7fC2vR0.js +1 -0
  282. package/web-ui/build/static/mel-DUFmm8LA.js +1 -0
  283. package/web-ui/build/static/mercury-D0zWajPt.js +1 -0
  284. package/web-ui/build/static/mermaid-BcIFh8lC.js +1 -0
  285. package/web-ui/build/static/mipsasm-Ch8zsfD7.js +1 -0
  286. package/web-ui/build/static/mizar-D72L8LdH.js +1 -0
  287. package/web-ui/build/static/mizar-H2a4eeQU.js +1 -0
  288. package/web-ui/build/static/mojolicious-CXGZY6wR.js +1 -0
  289. package/web-ui/build/static/mongodb-ycbZ-Gtu.js +1 -0
  290. package/web-ui/build/static/monkey-B1PWgo4u.js +1 -0
  291. package/web-ui/build/static/monkey-BTLKqHiE.js +1 -0
  292. package/web-ui/build/static/moonscript-CGujt4hQ.js +1 -0
  293. package/web-ui/build/static/moonscript-Cd65ANue.js +1 -0
  294. package/web-ui/build/static/n1ql-5SoXRWF5.js +1 -0
  295. package/web-ui/build/static/n1ql-SrTc8dgR.js +1 -0
  296. package/web-ui/build/static/n4js-DcydNbvU.js +1 -0
  297. package/web-ui/build/static/nand2tetris-hdl-DgTjIFTD.js +1 -0
  298. package/web-ui/build/static/naniscript-Cgu0Uhgv.js +1 -0
  299. package/web-ui/build/static/nasm-C6Jwlhb3.js +1 -0
  300. package/web-ui/build/static/neon-BlmLz-44.js +1 -0
  301. package/web-ui/build/static/nevod-QYVtYYuZ.js +1 -0
  302. package/web-ui/build/static/nginx-BuLLVaOi.js +1 -0
  303. package/web-ui/build/static/nginx-D32yC6aV.js +1 -0
  304. package/web-ui/build/static/nim-lYMS-Zao.js +1 -0
  305. package/web-ui/build/static/nim-mOq8l1DZ.js +1 -0
  306. package/web-ui/build/static/nix-BF2uUjB0.js +1 -0
  307. package/web-ui/build/static/nix-CvXMc2Qe.js +1 -0
  308. package/web-ui/build/static/node-repl-b6WSKwpJ.js +1 -0
  309. package/web-ui/build/static/nsis-By4cMroz.js +1 -0
  310. package/web-ui/build/static/nsis-CdtEDB4h.js +1 -0
  311. package/web-ui/build/static/objectivec-1qRjQ45C.js +1 -0
  312. package/web-ui/build/static/objectivec-B_fabLIN.js +1 -0
  313. package/web-ui/build/static/ocaml-CgNFmQRO.js +1 -0
  314. package/web-ui/build/static/ocaml-RYK_k0qm.js +1 -0
  315. package/web-ui/build/static/opencl-DS8fpnDf.js +1 -0
  316. package/web-ui/build/static/openqasm-DJaB3Rq-.js +1 -0
  317. package/web-ui/build/static/openscad-CG2Cr9_f.js +1 -0
  318. package/web-ui/build/static/oxygene-C5StnXkF.js +1 -0
  319. package/web-ui/build/static/oz-Chp4Q4tx.js +1 -0
  320. package/web-ui/build/static/parigp-CHrkrXXH.js +1 -0
  321. package/web-ui/build/static/parser-oClS8RsF.js +1 -0
  322. package/web-ui/build/static/parser3-DAnZ8BBa.js +1 -0
  323. package/web-ui/build/static/pascal-C3UXKTAg.js +1 -0
  324. package/web-ui/build/static/pascaligo-bQ2eEItJ.js +1 -0
  325. package/web-ui/build/static/pcaxis-Cb18v5lb.js +1 -0
  326. package/web-ui/build/static/peoplecode-DSinbacy.js +1 -0
  327. package/web-ui/build/static/perl-CJyKzdWx.js +1 -0
  328. package/web-ui/build/static/perl-DPC7B2HS.js +1 -0
  329. package/web-ui/build/static/pf-CufleM0I.js +1 -0
  330. package/web-ui/build/static/pgsql-C_0MdqVp.js +1 -0
  331. package/web-ui/build/static/php-BO1Ap_Os.js +1 -0
  332. package/web-ui/build/static/php-CJgcNJVe.js +1 -0
  333. package/web-ui/build/static/php-extras-BXgszKUS.js +1 -0
  334. package/web-ui/build/static/php-template-Cb_xvIiQ.js +1 -0
  335. package/web-ui/build/static/phpdoc-BfOts4aJ.js +1 -0
  336. package/web-ui/build/static/plaintext-DN7uh6jc.js +1 -0
  337. package/web-ui/build/static/plsql-v3WUpEeY.js +1 -0
  338. package/web-ui/build/static/pony-DJxNA-H0.js +1 -0
  339. package/web-ui/build/static/powerquery-BtsNylnn.js +1 -0
  340. package/web-ui/build/static/powershell-C6cTgKNj.js +1 -0
  341. package/web-ui/build/static/powershell-w7qa2Po0.js +1 -0
  342. package/web-ui/build/static/processing-B4LQG2qT.js +1 -0
  343. package/web-ui/build/static/processing-sqZsG0Ty.js +1 -0
  344. package/web-ui/build/static/profile-BmJYpErx.js +1 -0
  345. package/web-ui/build/static/prolog-BesbmNtC.js +1 -0
  346. package/web-ui/build/static/prolog-Bhfih4kN.js +1 -0
  347. package/web-ui/build/static/promql-C0f632z2.js +1 -0
  348. package/web-ui/build/static/properties-D4QlRz8E.js +1 -0
  349. package/web-ui/build/static/properties-jKkliMyl.js +1 -0
  350. package/web-ui/build/static/protobuf-1DEpY6d3.js +1 -0
  351. package/web-ui/build/static/protobuf-BGXS-kPK.js +1 -0
  352. package/web-ui/build/static/psl-C0CZXE-V.js +1 -0
  353. package/web-ui/build/static/pug-BF9VjA3d.js +1 -0
  354. package/web-ui/build/static/puppet-DbCz1V2e.js +1 -0
  355. package/web-ui/build/static/puppet-sw6E5TP0.js +1 -0
  356. package/web-ui/build/static/pure-C7mJA0tr.js +1 -0
  357. package/web-ui/build/static/purebasic-BSMar56G.js +1 -0
  358. package/web-ui/build/static/purebasic-lZ85aQ75.js +1 -0
  359. package/web-ui/build/static/purescript-7W6hcoJU.js +1 -0
  360. package/web-ui/build/static/python-Cf1rHsAv.js +1 -0
  361. package/web-ui/build/static/python-D6YthG1T.js +1 -0
  362. package/web-ui/build/static/python-repl-L_ce-JlI.js +1 -0
  363. package/web-ui/build/static/q-C4jLiln2.js +1 -0
  364. package/web-ui/build/static/q-DbbElowk.js +1 -0
  365. package/web-ui/build/static/qml-BpzqRYBe.js +1 -0
  366. package/web-ui/build/static/qml-DhqooLOn.js +1 -0
  367. package/web-ui/build/static/qore-CDdWlH4L.js +1 -0
  368. package/web-ui/build/static/qsharp-CYjzWQn8.js +1 -0
  369. package/web-ui/build/static/r-C0m7OAlP.js +1 -0
  370. package/web-ui/build/static/r-nRzPzIPC.js +1 -0
  371. package/web-ui/build/static/racket-BMk7mOQz.js +1 -0
  372. package/web-ui/build/static/reason-BXQPEhQe.js +1 -0
  373. package/web-ui/build/static/reasonml-BX4tkmG7.js +1 -0
  374. package/web-ui/build/static/regex-I514pFOx.js +1 -0
  375. package/web-ui/build/static/rego-nryy7Qo5.js +1 -0
  376. package/web-ui/build/static/renpy-73dSR30u.js +1 -0
  377. package/web-ui/build/static/rest-BVkqAn_D.js +1 -0
  378. package/web-ui/build/static/rib-CkA1SeIw.js +1 -0
  379. package/web-ui/build/static/rip-DdqP7xQ_.js +1 -0
  380. package/web-ui/build/static/roboconf-B1xFEP2z.js +1 -0
  381. package/web-ui/build/static/roboconf-MHZ9iUN8.js +1 -0
  382. package/web-ui/build/static/robotframework-Be6JB4Sm.js +1 -0
  383. package/web-ui/build/static/routeros-BDbHsrl3.js +1 -0
  384. package/web-ui/build/static/rsl-vBbR8fM2.js +1 -0
  385. package/web-ui/build/static/ruby-Bl6coIpX.js +1 -0
  386. package/web-ui/build/static/ruby-CYoX7aZ3.js +1 -0
  387. package/web-ui/build/static/ruleslanguage-CNda0rO_.js +1 -0
  388. package/web-ui/build/static/rust-Cn7CeLWb.js +1 -0
  389. package/web-ui/build/static/rust-DqfPHA-4.js +1 -0
  390. package/web-ui/build/static/sas-DX4nVHMx.js +1 -0
  391. package/web-ui/build/static/sas-TP86Lr_H.js +1 -0
  392. package/web-ui/build/static/sass-DLbsRbZq.js +1 -0
  393. package/web-ui/build/static/scala-BnuBUE7N.js +1 -0
  394. package/web-ui/build/static/scala-e0xCO3PH.js +1 -0
  395. package/web-ui/build/static/scheme-CgksT1_b.js +1 -0
  396. package/web-ui/build/static/scheme-wKIEujhs.js +1 -0
  397. package/web-ui/build/static/scilab-BK5XtNGf.js +1 -0
  398. package/web-ui/build/static/scss-CgF0LqaR.js +1 -0
  399. package/web-ui/build/static/scss-DtfwOUSt.js +1 -0
  400. package/web-ui/build/static/shell-mV_H_B9k.js +1 -0
  401. package/web-ui/build/static/shell-session-CcycyI-F.js +1 -0
  402. package/web-ui/build/static/smali-DUHlxZcA.js +1 -0
  403. package/web-ui/build/static/smali-vgrIyB1v.js +1 -0
  404. package/web-ui/build/static/smalltalk-C0Ge9l_D.js +1 -0
  405. package/web-ui/build/static/smalltalk-CXwx9xen.js +1 -0
  406. package/web-ui/build/static/smarty-ATfkwbr-.js +1 -0
  407. package/web-ui/build/static/sml-CPHHv48a.js +1 -0
  408. package/web-ui/build/static/sml-D8zKZZ0g.js +1 -0
  409. package/web-ui/build/static/solidity-DU2sGoWA.js +1 -0
  410. package/web-ui/build/static/solution-file-D20yiaNa.js +1 -0
  411. package/web-ui/build/static/soy-NkZd2NuM.js +1 -0
  412. package/web-ui/build/static/sparql-CURkC9N5.js +1 -0
  413. package/web-ui/build/static/splunk-spl-DACtCZRc.js +1 -0
  414. package/web-ui/build/static/sqf-BEdMNLDm.js +1 -0
  415. package/web-ui/build/static/sqf-RqYJHX2k.js +1 -0
  416. package/web-ui/build/static/sql-Bgepr53d.js +1 -0
  417. package/web-ui/build/static/sql-CW0TRs77.js +1 -0
  418. package/web-ui/build/static/sql_more-C2HWexYA.js +1 -0
  419. package/web-ui/build/static/squirrel-B6wcVYWs.js +1 -0
  420. package/web-ui/build/static/stan-Dl3AavYY.js +1 -0
  421. package/web-ui/build/static/stan-RZ2M2r7-.js +1 -0
  422. package/web-ui/build/static/stata-PGzYv80j.js +1 -0
  423. package/web-ui/build/static/step21-yyjO2ozE.js +1 -0
  424. package/web-ui/build/static/stylus-CA7oCY6H.js +1 -0
  425. package/web-ui/build/static/stylus-CMppe6Nc.js +1 -0
  426. package/web-ui/build/static/subunit-CgXzRGNV.js +1 -0
  427. package/web-ui/build/static/swift-BEZPFJIt.js +1 -0
  428. package/web-ui/build/static/swift-N42216FZ.js +1 -0
  429. package/web-ui/build/static/systemd-DFn17zHD.js +1 -0
  430. package/web-ui/build/static/t4-cs-D2og3B0M.js +1 -0
  431. package/web-ui/build/static/t4-templating-D9rCAn0c.js +1 -0
  432. package/web-ui/build/static/t4-vb-DG0xTVDc.js +1 -0
  433. package/web-ui/build/static/taggerscript-C89CvllW.js +1 -0
  434. package/web-ui/build/static/tap-D19DYT30.js +1 -0
  435. package/web-ui/build/static/tap-ERFF4Ark.js +1 -0
  436. package/web-ui/build/static/tcl-BCrLy0kY.js +1 -0
  437. package/web-ui/build/static/tcl-Db3hH49l.js +1 -0
  438. package/web-ui/build/static/textile-C45CZf2E.js +1 -0
  439. package/web-ui/build/static/thrift-DPSiQbdQ.js +1 -0
  440. package/web-ui/build/static/toml-OY_aaWwT.js +1 -0
  441. package/web-ui/build/static/tp-B3eRQVO4.js +1 -0
  442. package/web-ui/build/static/tremor-BqAT46SE.js +1 -0
  443. package/web-ui/build/static/tsx-BCfhl9AT.js +1 -0
  444. package/web-ui/build/static/tt2-C0sqlstv.js +1 -0
  445. package/web-ui/build/static/turtle-ClBSXu8f.js +1 -0
  446. package/web-ui/build/static/twig-BxxoTcyR.js +1 -0
  447. package/web-ui/build/static/twig-D1iWWft8.js +1 -0
  448. package/web-ui/build/static/typescript-D92P7Q_T.js +1 -0
  449. package/web-ui/build/static/typescript-IMBE9asI.js +1 -0
  450. package/web-ui/build/static/typoscript-Ct5LqTJd.js +1 -0
  451. package/web-ui/build/static/unrealscript-DzhFlMW5.js +1 -0
  452. package/web-ui/build/static/uorazor-DR4IM7ll.js +1 -0
  453. package/web-ui/build/static/uri-D10KlPiP.js +1 -0
  454. package/web-ui/build/static/v-CHHzCtfa.js +1 -0
  455. package/web-ui/build/static/vala-ChoAAQZv.js +1 -0
  456. package/web-ui/build/static/vala-CsGoPWkE.js +1 -0
  457. package/web-ui/build/static/vbnet-BSMzhrci.js +1 -0
  458. package/web-ui/build/static/vbnet-tWgXxlpd.js +1 -0
  459. package/web-ui/build/static/vbscript-C5MSBjcM.js +1 -0
  460. package/web-ui/build/static/vbscript-html-DgC8phmk.js +1 -0
  461. package/web-ui/build/static/velocity-ChLZNkgf.js +1 -0
  462. package/web-ui/build/static/verilog-RKDyj9CP.js +1 -0
  463. package/web-ui/build/static/verilog-qAYw6v_5.js +1 -0
  464. package/web-ui/build/static/vhdl-CRSvweFg.js +1 -0
  465. package/web-ui/build/static/vhdl-DnTmxitY.js +1 -0
  466. package/web-ui/build/static/vim-CnOJH9xw.js +1 -0
  467. package/web-ui/build/static/vim-LKJY3Sb8.js +1 -0
  468. package/web-ui/build/static/visual-basic-DZTN8GNq.js +1 -0
  469. package/web-ui/build/static/warpscript-Bz5PHWGb.js +1 -0
  470. package/web-ui/build/static/wasm-DjXA7rVQ.js +1 -0
  471. package/web-ui/build/static/web-idl-qpPnV3-c.js +1 -0
  472. package/web-ui/build/static/wiki-h1S7Uj0l.js +1 -0
  473. package/web-ui/build/static/wolfram-BsqW0Evw.js +1 -0
  474. package/web-ui/build/static/wren-2NkHwSLr.js +1 -0
  475. package/web-ui/build/static/x86asm-D8Cg9MTd.js +1 -0
  476. package/web-ui/build/static/xeora-CIwPPgRx.js +1 -0
  477. package/web-ui/build/static/xl-DIsgBj_c.js +1 -0
  478. package/web-ui/build/static/xml-D19j4_jb.js +1 -0
  479. package/web-ui/build/static/xml-doc-DMtIXpse.js +1 -0
  480. package/web-ui/build/static/xojo-Yr0egAH7.js +1 -0
  481. package/web-ui/build/static/xquery-3A0gaIyY.js +1 -0
  482. package/web-ui/build/static/xquery-ondigVMj.js +1 -0
  483. package/web-ui/build/static/yaml-BC7GbQPc.js +1 -0
  484. package/web-ui/build/static/yaml-DvN1W_m1.js +1 -0
  485. package/web-ui/build/static/yang-BJH3-Oqi.js +1 -0
  486. package/web-ui/build/static/zephir-DsXXe3UC.js +1 -0
  487. package/web-ui/build/static/zig-9jAF8TxG.js +1 -0
  488. package/web-ui/build/static/1c-CbzecjHi.js +0 -1
  489. package/web-ui/build/static/abap-B64Rmd3x.js +0 -1
  490. package/web-ui/build/static/abnf-0eZ1ofqG.js +0 -1
  491. package/web-ui/build/static/abnf-BhANbO1L.js +0 -1
  492. package/web-ui/build/static/accesslog-clFlGMX1.js +0 -1
  493. package/web-ui/build/static/actionscript-DXab4IMG.js +0 -1
  494. package/web-ui/build/static/actionscript-RFf8wL8w.js +0 -1
  495. package/web-ui/build/static/ada-Bm94vJQR.js +0 -1
  496. package/web-ui/build/static/ada-zNbObSyu.js +0 -1
  497. package/web-ui/build/static/agda-K3kQv8iy.js +0 -1
  498. package/web-ui/build/static/al-B3t1K-du.js +0 -1
  499. package/web-ui/build/static/angelscript-CnHodqV_.js +0 -1
  500. package/web-ui/build/static/antlr4-BZgY7Twd.js +0 -1
  501. package/web-ui/build/static/apache-C12AF3ev.js +0 -1
  502. package/web-ui/build/static/apacheconf-DkOEqFh0.js +0 -1
  503. package/web-ui/build/static/apex-BDpgbClJ.js +0 -1
  504. package/web-ui/build/static/apl-Dh1dt5kw.js +0 -1
  505. package/web-ui/build/static/applescript-Bg_fqdWd.js +0 -1
  506. package/web-ui/build/static/applescript-ByhrvNiG.js +0 -1
  507. package/web-ui/build/static/aql-QIblVVYJ.js +0 -1
  508. package/web-ui/build/static/arcade-Cm4e2zMb.js +0 -1
  509. package/web-ui/build/static/arduino-CGkuSXzN.js +0 -1
  510. package/web-ui/build/static/arduino-OsL_Nhym.js +0 -1
  511. package/web-ui/build/static/arff-B4JSuA76.js +0 -1
  512. package/web-ui/build/static/armasm-DdbgiOrV.js +0 -1
  513. package/web-ui/build/static/asciidoc-0lb-Ko8S.js +0 -1
  514. package/web-ui/build/static/asciidoc-BYRGLnED.js +0 -1
  515. package/web-ui/build/static/asm6502-DG0RlvQN.js +0 -1
  516. package/web-ui/build/static/asmatmel-DWT2_REW.js +0 -1
  517. package/web-ui/build/static/aspectj-MEt9NeRB.js +0 -1
  518. package/web-ui/build/static/aspnet-DR3hLqcA.js +0 -1
  519. package/web-ui/build/static/autohotkey-B6JJ6A0n.js +0 -1
  520. package/web-ui/build/static/autohotkey-BCqVAmnV.js +0 -1
  521. package/web-ui/build/static/autoit-BqyLjnUK.js +0 -1
  522. package/web-ui/build/static/autoit-D3OL2ya6.js +0 -1
  523. package/web-ui/build/static/avisynth-CFYPlhWF.js +0 -1
  524. package/web-ui/build/static/avrasm-BvoWo5z1.js +0 -1
  525. package/web-ui/build/static/avro-idl-Dmt54kEx.js +0 -1
  526. package/web-ui/build/static/awk-DKHI_UvD.js +0 -1
  527. package/web-ui/build/static/axapta-jgtqYlu1.js +0 -1
  528. package/web-ui/build/static/bash-CM-bsVnP.js +0 -1
  529. package/web-ui/build/static/bash-rbX0rKbK.js +0 -1
  530. package/web-ui/build/static/basic-B31B3k7x.js +0 -1
  531. package/web-ui/build/static/basic-Gu99ccWS.js +0 -1
  532. package/web-ui/build/static/batch-Dxt_s5aG.js +0 -1
  533. package/web-ui/build/static/bbcode-C0kmzu6X.js +0 -1
  534. package/web-ui/build/static/bicep-BsOEq_j9.js +0 -1
  535. package/web-ui/build/static/birb-CtTYWirD.js +0 -1
  536. package/web-ui/build/static/bison-D50hClIy.js +0 -1
  537. package/web-ui/build/static/bnf-CZQ0tN86.js +0 -1
  538. package/web-ui/build/static/bnf-keJM21-h.js +0 -1
  539. package/web-ui/build/static/brainfuck-BYsdquiy.js +0 -1
  540. package/web-ui/build/static/brainfuck-ChqXjCJ9.js +0 -1
  541. package/web-ui/build/static/brightscript-C2Wd5Kft.js +0 -1
  542. package/web-ui/build/static/bro-Cg2wy26n.js +0 -1
  543. package/web-ui/build/static/bsl-KPpKnfiJ.js +0 -1
  544. package/web-ui/build/static/c-DngIvZ7L.js +0 -1
  545. package/web-ui/build/static/c-Iq8EIPIe.js +0 -1
  546. package/web-ui/build/static/c-like-Bec9Rkda.js +0 -1
  547. package/web-ui/build/static/cal-BS26ucSy.js +0 -1
  548. package/web-ui/build/static/capnproto-W0IWf2FW.js +0 -1
  549. package/web-ui/build/static/ceylon-ujPry_yR.js +0 -1
  550. package/web-ui/build/static/cfscript-806779CY.js +0 -1
  551. package/web-ui/build/static/chaiscript-D9HG2WFc.js +0 -1
  552. package/web-ui/build/static/cil-BDNzOY3h.js +0 -1
  553. package/web-ui/build/static/clean-DoE0KPLU.js +0 -1
  554. package/web-ui/build/static/clojure-B-nWTi09.js +0 -1
  555. package/web-ui/build/static/clojure-BIPQIlEM.js +0 -1
  556. package/web-ui/build/static/clojure-repl-C6Xgw1BL.js +0 -1
  557. package/web-ui/build/static/cmake-BCUVXGkd.js +0 -1
  558. package/web-ui/build/static/cmake-DoEfzWcx.js +0 -1
  559. package/web-ui/build/static/cobol-DyuJRPLj.js +0 -1
  560. package/web-ui/build/static/coffeescript-CzPUmFhd.js +0 -1
  561. package/web-ui/build/static/coffeescript-cxIqfyb2.js +0 -1
  562. package/web-ui/build/static/concurnas-YafoHwhS.js +0 -1
  563. package/web-ui/build/static/coq-DtAS2_j-.js +0 -1
  564. package/web-ui/build/static/coq-sa9vsIqd.js +0 -1
  565. package/web-ui/build/static/cos-nEV8XIfx.js +0 -1
  566. package/web-ui/build/static/cpp-CcKjDXtx.js +0 -1
  567. package/web-ui/build/static/cpp-CcxmwIS8.js +0 -1
  568. package/web-ui/build/static/crmsh-BCZKA2g2.js +0 -1
  569. package/web-ui/build/static/crystal-CI7ryNid.js +0 -1
  570. package/web-ui/build/static/crystal-DpjmCsWq.js +0 -1
  571. package/web-ui/build/static/csharp-BJEFr34Q.js +0 -1
  572. package/web-ui/build/static/csharp-Di8gXUl6.js +0 -1
  573. package/web-ui/build/static/cshtml-CM5kdsbL.js +0 -1
  574. package/web-ui/build/static/csp-CCUatC8F.js +0 -1
  575. package/web-ui/build/static/csp-CQMJNBVX.js +0 -1
  576. package/web-ui/build/static/css-Ca1P3y8D.js +0 -1
  577. package/web-ui/build/static/css-extras-B-WsWoLG.js +0 -1
  578. package/web-ui/build/static/csv-Dp2D1vNQ.js +0 -1
  579. package/web-ui/build/static/cypher-C2lTf63v.js +0 -1
  580. package/web-ui/build/static/d-BpN31fsJ.js +0 -1
  581. package/web-ui/build/static/d-DF2Z_5Y5.js +0 -1
  582. package/web-ui/build/static/dart-D2xFtNlR.js +0 -1
  583. package/web-ui/build/static/dart-D_CllGe8.js +0 -1
  584. package/web-ui/build/static/dataweave-D0S0J-fB.js +0 -1
  585. package/web-ui/build/static/dax-LFApbZ_c.js +0 -1
  586. package/web-ui/build/static/delphi-BwOo_vb0.js +0 -1
  587. package/web-ui/build/static/dhall-Bdnii7zv.js +0 -1
  588. package/web-ui/build/static/diff-BkC59Drj.js +0 -1
  589. package/web-ui/build/static/diff-Ft7pVJ9X.js +0 -1
  590. package/web-ui/build/static/django-CBZk8JcH.js +0 -1
  591. package/web-ui/build/static/django-WTsadJGk.js +0 -1
  592. package/web-ui/build/static/dns-DiL3BhcP.js +0 -1
  593. package/web-ui/build/static/dns-zone-file-pi6xeovf.js +0 -1
  594. package/web-ui/build/static/docker-DyQR3JA7.js +0 -1
  595. package/web-ui/build/static/dockerfile-BE207Z5W.js +0 -1
  596. package/web-ui/build/static/dos-BhnpGRsK.js +0 -1
  597. package/web-ui/build/static/dot-Dhy7kpoM.js +0 -1
  598. package/web-ui/build/static/dsconfig-DzkFGUpr.js +0 -1
  599. package/web-ui/build/static/dts-BhMOwHm3.js +0 -1
  600. package/web-ui/build/static/dust-DkbHh2Pg.js +0 -1
  601. package/web-ui/build/static/ebnf-C3wm6ooH.js +0 -1
  602. package/web-ui/build/static/ebnf-DqOIsQzW.js +0 -1
  603. package/web-ui/build/static/editorconfig-D2EbTZsp.js +0 -1
  604. package/web-ui/build/static/eiffel-C_xptgK8.js +0 -1
  605. package/web-ui/build/static/ejs-CcONaJS0.js +0 -1
  606. package/web-ui/build/static/elixir-CagtfrW4.js +0 -1
  607. package/web-ui/build/static/elixir-CyP-nJp8.js +0 -1
  608. package/web-ui/build/static/elm-BkimtfCC.js +0 -1
  609. package/web-ui/build/static/elm-Cy0zy-Wk.js +0 -1
  610. package/web-ui/build/static/erb-CKfVidCX.js +0 -1
  611. package/web-ui/build/static/erb-Di0rdfuA.js +0 -1
  612. package/web-ui/build/static/erlang-C9YmoUs7.js +0 -1
  613. package/web-ui/build/static/erlang-DRED-UWJ.js +0 -1
  614. package/web-ui/build/static/erlang-repl-DeR_2uii.js +0 -1
  615. package/web-ui/build/static/etlua-B6Z-QQtE.js +0 -1
  616. package/web-ui/build/static/excel-DYqxHaXE.js +0 -1
  617. package/web-ui/build/static/excel-formula-BreCIdiF.js +0 -1
  618. package/web-ui/build/static/factor-jyOxALZ3.js +0 -1
  619. package/web-ui/build/static/false-BNO0FXoK.js +0 -1
  620. package/web-ui/build/static/firestore-security-rules-8OJaVJPI.js +0 -1
  621. package/web-ui/build/static/fix-DxdEj5oc.js +0 -1
  622. package/web-ui/build/static/flix-Dz2xZZH5.js +0 -1
  623. package/web-ui/build/static/flow-DpzKZb4e.js +0 -1
  624. package/web-ui/build/static/fortran-CtfIFIgp.js +0 -1
  625. package/web-ui/build/static/fortran-Cv6ED2BG.js +0 -1
  626. package/web-ui/build/static/fsharp-BC6e3hD1.js +0 -1
  627. package/web-ui/build/static/fsharp-CMyk8GxQ.js +0 -1
  628. package/web-ui/build/static/ftl-DZnBCzfq.js +0 -1
  629. package/web-ui/build/static/gams-ClY69INi.js +0 -1
  630. package/web-ui/build/static/gap-DYeEWwoE.js +0 -1
  631. package/web-ui/build/static/gauss-CCHXytat.js +0 -1
  632. package/web-ui/build/static/gcode-DoWDPjLg.js +0 -1
  633. package/web-ui/build/static/gcode-N6PPDTDT.js +0 -1
  634. package/web-ui/build/static/gdscript-agxR9uG0.js +0 -1
  635. package/web-ui/build/static/gedcom-BvBAgJXG.js +0 -1
  636. package/web-ui/build/static/gherkin-BW8CWXxJ.js +0 -1
  637. package/web-ui/build/static/gherkin-CqawSkQY.js +0 -1
  638. package/web-ui/build/static/git-99C9UE-e.js +0 -1
  639. package/web-ui/build/static/glsl-CQEuDShu.js +0 -1
  640. package/web-ui/build/static/glsl-DuhoPpCv.js +0 -1
  641. package/web-ui/build/static/gml-Bsn22WsK.js +0 -1
  642. package/web-ui/build/static/gml-BvXK6GGq.js +0 -1
  643. package/web-ui/build/static/gn-BUoYUPzm.js +0 -1
  644. package/web-ui/build/static/go-CvTv9DUi.js +0 -1
  645. package/web-ui/build/static/go-module-Dwpq3Jsg.js +0 -1
  646. package/web-ui/build/static/go-sGZzTvuq.js +0 -1
  647. package/web-ui/build/static/golo-C6DHxID0.js +0 -1
  648. package/web-ui/build/static/gradle-D7XVSr1y.js +0 -1
  649. package/web-ui/build/static/graphql-DIIA3EdJ.js +0 -1
  650. package/web-ui/build/static/groovy-B5TJuGtQ.js +0 -1
  651. package/web-ui/build/static/groovy-BVf2VudZ.js +0 -1
  652. package/web-ui/build/static/haml-B0dZKFFV.js +0 -1
  653. package/web-ui/build/static/haml-B5rD_eqj.js +0 -1
  654. package/web-ui/build/static/handlebars-Db8etm3q.js +0 -1
  655. package/web-ui/build/static/handlebars-Qm9HXVGH.js +0 -1
  656. package/web-ui/build/static/haskell-BbTqR78v.js +0 -1
  657. package/web-ui/build/static/haskell-cf6URQ36.js +0 -1
  658. package/web-ui/build/static/haxe-4ugxCu3z.js +0 -1
  659. package/web-ui/build/static/haxe-BscBu1yx.js +0 -1
  660. package/web-ui/build/static/hcl-QK-f8vU5.js +0 -1
  661. package/web-ui/build/static/hlsl-BnQDpabJ.js +0 -1
  662. package/web-ui/build/static/hoon-VPMuvItP.js +0 -1
  663. package/web-ui/build/static/hpkp-VpqLQgGP.js +0 -1
  664. package/web-ui/build/static/hsp-DTlBvyyT.js +0 -1
  665. package/web-ui/build/static/hsts-B6Dishdu.js +0 -1
  666. package/web-ui/build/static/htmlbars-Byn3Paw0.js +0 -1
  667. package/web-ui/build/static/http-CM7a2429.js +0 -1
  668. package/web-ui/build/static/http-QOmRJ4Jd.js +0 -1
  669. package/web-ui/build/static/hy-D3_6scbm.js +0 -1
  670. package/web-ui/build/static/ichigojam-Os0-Gxpc.js +0 -1
  671. package/web-ui/build/static/icon-DAjjoH9X.js +0 -1
  672. package/web-ui/build/static/icu-message-format-CCtlXoOl.js +0 -1
  673. package/web-ui/build/static/idris-BLmLcq2C.js +0 -1
  674. package/web-ui/build/static/iecst-CL0FD1hF.js +0 -1
  675. package/web-ui/build/static/ignore-Bcd-tuGH.js +0 -1
  676. package/web-ui/build/static/index-BPqTB5k7.js +0 -1
  677. package/web-ui/build/static/index-BwNJoEC1.css +0 -1
  678. package/web-ui/build/static/index-ClWUfRkv.js +0 -13
  679. package/web-ui/build/static/index-DY0DLa8y.js +0 -831
  680. package/web-ui/build/static/inform7-ChnghUc9.js +0 -1
  681. package/web-ui/build/static/inform7-DFioFNVH.js +0 -1
  682. package/web-ui/build/static/ini-B7Qqa2Hv.js +0 -1
  683. package/web-ui/build/static/ini-CFmmlUla.js +0 -1
  684. package/web-ui/build/static/io-C5MldizL.js +0 -1
  685. package/web-ui/build/static/irpf90-Co951JRw.js +0 -1
  686. package/web-ui/build/static/isbl-BlVCsoVY.js +0 -1
  687. package/web-ui/build/static/j-BfpCTQLT.js +0 -1
  688. package/web-ui/build/static/java-B8eLTuI_.js +0 -1
  689. package/web-ui/build/static/java-Cp73UB-4.js +0 -1
  690. package/web-ui/build/static/javadoc-sKuB5y9S.js +0 -1
  691. package/web-ui/build/static/javadoclike-0oCrjeqP.js +0 -1
  692. package/web-ui/build/static/javascript-DhJRIVbT.js +0 -1
  693. package/web-ui/build/static/javastacktrace-34av_07D.js +0 -1
  694. package/web-ui/build/static/jboss-cli-B3LjD57q.js +0 -1
  695. package/web-ui/build/static/jexl-DjeCXh3R.js +0 -1
  696. package/web-ui/build/static/jolie-DSguA0co.js +0 -1
  697. package/web-ui/build/static/jq-CrNdtEVM.js +0 -1
  698. package/web-ui/build/static/js-extras-DRiGHN_t.js +0 -1
  699. package/web-ui/build/static/js-templates-BOAGBe4G.js +0 -1
  700. package/web-ui/build/static/jsdoc-BD9HPtj-.js +0 -1
  701. package/web-ui/build/static/json-DWyPfZ7N.js +0 -1
  702. package/web-ui/build/static/json-ZOqNWxv3.js +0 -1
  703. package/web-ui/build/static/json5-CtFHocU-.js +0 -1
  704. package/web-ui/build/static/jsonp-D6qQgfvt.js +0 -1
  705. package/web-ui/build/static/jsstacktrace-4V_XcjuT.js +0 -1
  706. package/web-ui/build/static/jsx-BEPywbwa.js +0 -1
  707. package/web-ui/build/static/julia-BMbPnK5h.js +0 -1
  708. package/web-ui/build/static/julia-DdAob-5L.js +0 -1
  709. package/web-ui/build/static/julia-repl-D8h3n5ls.js +0 -1
  710. package/web-ui/build/static/keepalived-DMtuOIPi.js +0 -1
  711. package/web-ui/build/static/keyman-BYoKRL3H.js +0 -1
  712. package/web-ui/build/static/kotlin-DKSAAlR0.js +0 -1
  713. package/web-ui/build/static/kotlin-av8HkILL.js +0 -1
  714. package/web-ui/build/static/kumir-DKW-dbIw.js +0 -1
  715. package/web-ui/build/static/kusto-CmM_Dgdi.js +0 -1
  716. package/web-ui/build/static/lasso-UpwhKAGW.js +0 -1
  717. package/web-ui/build/static/latex--o0dGgqN.js +0 -1
  718. package/web-ui/build/static/latex-BDYUhb2n.js +0 -1
  719. package/web-ui/build/static/latte-BIQdMLZM.js +0 -1
  720. package/web-ui/build/static/ldif-BHZbj1Gt.js +0 -1
  721. package/web-ui/build/static/leaf-tKJVpCFa.js +0 -1
  722. package/web-ui/build/static/less-BWc29iML.js +0 -1
  723. package/web-ui/build/static/less-Cbs0Yz51.js +0 -1
  724. package/web-ui/build/static/lilypond-B5_XQXAT.js +0 -1
  725. package/web-ui/build/static/liquid-BUBwhbDU.js +0 -1
  726. package/web-ui/build/static/lisp-ConZsrCa.js +0 -1
  727. package/web-ui/build/static/lisp-CyghfRqh.js +0 -1
  728. package/web-ui/build/static/livecodeserver-BdtmjzpM.js +0 -1
  729. package/web-ui/build/static/livescript-CbEttWiK.js +0 -1
  730. package/web-ui/build/static/livescript-DlaJUNpa.js +0 -1
  731. package/web-ui/build/static/llvm-CljEFNfy.js +0 -1
  732. package/web-ui/build/static/llvm-OEx8ipzf.js +0 -1
  733. package/web-ui/build/static/log-CtjresKJ.js +0 -1
  734. package/web-ui/build/static/lolcode-CbZB03Q-.js +0 -1
  735. package/web-ui/build/static/lsl-TsKq2mca.js +0 -1
  736. package/web-ui/build/static/lua-1Rx_tY_z.js +0 -1
  737. package/web-ui/build/static/lua-CrgLvyqs.js +0 -1
  738. package/web-ui/build/static/magma-BK5awswf.js +0 -1
  739. package/web-ui/build/static/makefile-6SJJhsz5.js +0 -1
  740. package/web-ui/build/static/makefile-DXokzicL.js +0 -1
  741. package/web-ui/build/static/markdown-Bzf4rNiL.js +0 -1
  742. package/web-ui/build/static/markdown-D2e-R2p5.js +0 -1
  743. package/web-ui/build/static/markup-templating-Brr7NCtI.js +0 -1
  744. package/web-ui/build/static/mathematica-BHdsgRlV.js +0 -1
  745. package/web-ui/build/static/matlab-D_t3IZfZ.js +0 -1
  746. package/web-ui/build/static/matlab-cKsG1reI.js +0 -1
  747. package/web-ui/build/static/maxima-cBBBfxwc.js +0 -1
  748. package/web-ui/build/static/maxscript-C1ulETQI.js +0 -1
  749. package/web-ui/build/static/mel-Bi5R0sfT.js +0 -1
  750. package/web-ui/build/static/mel-CExeAiGY.js +0 -1
  751. package/web-ui/build/static/mercury-BQmKWkZv.js +0 -1
  752. package/web-ui/build/static/mermaid-n5nH0--1.js +0 -1
  753. package/web-ui/build/static/mipsasm-B5MOlnt9.js +0 -1
  754. package/web-ui/build/static/mizar-BOKt_6pu.js +0 -1
  755. package/web-ui/build/static/mizar-BQn40NA6.js +0 -1
  756. package/web-ui/build/static/mojolicious-B9lAb6C9.js +0 -1
  757. package/web-ui/build/static/mongodb-DBaQzUEE.js +0 -1
  758. package/web-ui/build/static/monkey-FadeXREo.js +0 -1
  759. package/web-ui/build/static/monkey-HfvbiXjN.js +0 -1
  760. package/web-ui/build/static/moonscript-CNC9qFDz.js +0 -1
  761. package/web-ui/build/static/moonscript-Cin88noO.js +0 -1
  762. package/web-ui/build/static/n1ql-Dr9Yo8b-.js +0 -1
  763. package/web-ui/build/static/n1ql-DzlVOUYJ.js +0 -1
  764. package/web-ui/build/static/n4js-DTmfxRT4.js +0 -1
  765. package/web-ui/build/static/nand2tetris-hdl-Bod-DCUu.js +0 -1
  766. package/web-ui/build/static/naniscript-CfiXCI4Z.js +0 -1
  767. package/web-ui/build/static/nasm-BXYRoY2W.js +0 -1
  768. package/web-ui/build/static/neon-D2krcpRE.js +0 -1
  769. package/web-ui/build/static/nevod-BQHDBMPo.js +0 -1
  770. package/web-ui/build/static/nginx-C_9KHeCP.js +0 -1
  771. package/web-ui/build/static/nginx-KL5tR7Jx.js +0 -1
  772. package/web-ui/build/static/nim-37p-xSET.js +0 -1
  773. package/web-ui/build/static/nim-D6PBji9h.js +0 -1
  774. package/web-ui/build/static/nix-CKra7X1P.js +0 -1
  775. package/web-ui/build/static/nix-CvbOGPFE.js +0 -1
  776. package/web-ui/build/static/node-repl-Cgo-gZ2g.js +0 -1
  777. package/web-ui/build/static/nsis-CtJDG2rE.js +0 -1
  778. package/web-ui/build/static/nsis-Cyt_6huf.js +0 -1
  779. package/web-ui/build/static/objectivec-Dy3dfqtz.js +0 -1
  780. package/web-ui/build/static/objectivec-QkHVj_us.js +0 -1
  781. package/web-ui/build/static/ocaml-C6TUnerY.js +0 -1
  782. package/web-ui/build/static/ocaml-c_egR_d6.js +0 -1
  783. package/web-ui/build/static/opencl-B9yN9nWN.js +0 -1
  784. package/web-ui/build/static/openqasm-BklslFAf.js +0 -1
  785. package/web-ui/build/static/openscad-C0AzYzEM.js +0 -1
  786. package/web-ui/build/static/oxygene-D2P6nG-V.js +0 -1
  787. package/web-ui/build/static/oz-CITL0kRx.js +0 -1
  788. package/web-ui/build/static/parigp-B9QyF2Nn.js +0 -1
  789. package/web-ui/build/static/parser-bpYn2eF8.js +0 -1
  790. package/web-ui/build/static/parser3-COZ5BGpE.js +0 -1
  791. package/web-ui/build/static/pascal-CjnX24jl.js +0 -1
  792. package/web-ui/build/static/pascaligo-BACCpo1a.js +0 -1
  793. package/web-ui/build/static/pcaxis-BoQE7JGE.js +0 -1
  794. package/web-ui/build/static/peoplecode-CgLXg57_.js +0 -1
  795. package/web-ui/build/static/perl-CJpIvn7i.js +0 -1
  796. package/web-ui/build/static/perl-DfM-sqCy.js +0 -1
  797. package/web-ui/build/static/pf-BF6Acu_U.js +0 -1
  798. package/web-ui/build/static/pgsql-08w-3mdC.js +0 -1
  799. package/web-ui/build/static/php-CSic_Yu4.js +0 -1
  800. package/web-ui/build/static/php-DFxYbY5N.js +0 -1
  801. package/web-ui/build/static/php-extras-DnRPSllm.js +0 -1
  802. package/web-ui/build/static/php-template-1kNXCBCk.js +0 -1
  803. package/web-ui/build/static/phpdoc-CLUTjtz4.js +0 -1
  804. package/web-ui/build/static/plaintext-dz7_1xmX.js +0 -1
  805. package/web-ui/build/static/plsql-BGMyKYzB.js +0 -1
  806. package/web-ui/build/static/pony-B1lWEmkm.js +0 -1
  807. package/web-ui/build/static/powerquery-iafim1FR.js +0 -1
  808. package/web-ui/build/static/powershell-Bum4b4hl.js +0 -1
  809. package/web-ui/build/static/powershell-CuB2b8w1.js +0 -1
  810. package/web-ui/build/static/processing-BpLaX01w.js +0 -1
  811. package/web-ui/build/static/processing-dUSz33TD.js +0 -1
  812. package/web-ui/build/static/profile-C7sg9dHs.js +0 -1
  813. package/web-ui/build/static/prolog-BBCiPfqc.js +0 -1
  814. package/web-ui/build/static/prolog-nGaUTvbS.js +0 -1
  815. package/web-ui/build/static/promql-BBDfFLGg.js +0 -1
  816. package/web-ui/build/static/properties-BlRMM1Ox.js +0 -1
  817. package/web-ui/build/static/properties-BxuonvJH.js +0 -1
  818. package/web-ui/build/static/protobuf-COJo2eGP.js +0 -1
  819. package/web-ui/build/static/protobuf-Jz8_e3Gc.js +0 -1
  820. package/web-ui/build/static/psl-aKlFbB2o.js +0 -1
  821. package/web-ui/build/static/pug-B3kgkOaV.js +0 -1
  822. package/web-ui/build/static/puppet-Bn-ilWOt.js +0 -1
  823. package/web-ui/build/static/puppet-CAYrNHnV.js +0 -1
  824. package/web-ui/build/static/pure-Dae3dENv.js +0 -1
  825. package/web-ui/build/static/purebasic-BUc1d9bO.js +0 -1
  826. package/web-ui/build/static/purebasic-Ts3KCWkR.js +0 -1
  827. package/web-ui/build/static/purescript-DpsJiDL7.js +0 -1
  828. package/web-ui/build/static/python-C1ydkjn5.js +0 -1
  829. package/web-ui/build/static/python-CGJhIYP9.js +0 -1
  830. package/web-ui/build/static/python-repl-B_OutDuW.js +0 -1
  831. package/web-ui/build/static/q-DhLYm0oH.js +0 -1
  832. package/web-ui/build/static/q-Dj9Ezde0.js +0 -1
  833. package/web-ui/build/static/qml-BdSL3VMg.js +0 -1
  834. package/web-ui/build/static/qml-CjHJFscZ.js +0 -1
  835. package/web-ui/build/static/qore-CI3GTUtJ.js +0 -1
  836. package/web-ui/build/static/qsharp-CIibh84F.js +0 -1
  837. package/web-ui/build/static/r-BwwEbG-u.js +0 -1
  838. package/web-ui/build/static/r-C3s_ZZZQ.js +0 -1
  839. package/web-ui/build/static/racket-BcskASd8.js +0 -1
  840. package/web-ui/build/static/reason-DPziNH3U.js +0 -1
  841. package/web-ui/build/static/reasonml-D8R2Q19F.js +0 -1
  842. package/web-ui/build/static/regex-GzOZXBr2.js +0 -1
  843. package/web-ui/build/static/rego-l3gotT8l.js +0 -1
  844. package/web-ui/build/static/renpy-A19Zs8lh.js +0 -1
  845. package/web-ui/build/static/rest-wpzEKBJX.js +0 -1
  846. package/web-ui/build/static/rib-D_1KUGxh.js +0 -1
  847. package/web-ui/build/static/rip-8I3EGZnx.js +0 -1
  848. package/web-ui/build/static/roboconf-BSDIosSS.js +0 -1
  849. package/web-ui/build/static/roboconf-kHnsbEMa.js +0 -1
  850. package/web-ui/build/static/robotframework-De413her.js +0 -1
  851. package/web-ui/build/static/routeros-CF8DUMUu.js +0 -1
  852. package/web-ui/build/static/rsl-BSdv82fF.js +0 -1
  853. package/web-ui/build/static/ruby-7_GfbcxC.js +0 -1
  854. package/web-ui/build/static/ruby-BBYtzWvG.js +0 -1
  855. package/web-ui/build/static/ruleslanguage-CXhlU3tA.js +0 -1
  856. package/web-ui/build/static/rust-C2zLvQSk.js +0 -1
  857. package/web-ui/build/static/rust-CA-fq6LB.js +0 -1
  858. package/web-ui/build/static/sas-B-Yl0xMb.js +0 -1
  859. package/web-ui/build/static/sas-fjwRLuAQ.js +0 -1
  860. package/web-ui/build/static/sass-BUQ0WSOP.js +0 -1
  861. package/web-ui/build/static/scala-CJGiisP_.js +0 -1
  862. package/web-ui/build/static/scala-D15Fs72E.js +0 -1
  863. package/web-ui/build/static/scheme-CUk9mzNj.js +0 -1
  864. package/web-ui/build/static/scheme-CpvRWrML.js +0 -1
  865. package/web-ui/build/static/scilab-CdjikQAK.js +0 -1
  866. package/web-ui/build/static/scss-Bei63J7g.js +0 -1
  867. package/web-ui/build/static/scss-DbyTXjpl.js +0 -1
  868. package/web-ui/build/static/shell-CnHgXkIR.js +0 -1
  869. package/web-ui/build/static/shell-session-6lXCFDCO.js +0 -1
  870. package/web-ui/build/static/smali-BWdSwwzU.js +0 -1
  871. package/web-ui/build/static/smali-Bbc5YAcf.js +0 -1
  872. package/web-ui/build/static/smalltalk-BJDkU3rO.js +0 -1
  873. package/web-ui/build/static/smalltalk-Dm14AAUR.js +0 -1
  874. package/web-ui/build/static/smarty-CjCz5oQD.js +0 -1
  875. package/web-ui/build/static/sml-4QhxjTg1.js +0 -1
  876. package/web-ui/build/static/sml-BzhtSqHU.js +0 -1
  877. package/web-ui/build/static/solidity-BkXRM40v.js +0 -1
  878. package/web-ui/build/static/solution-file-BFJbqEWI.js +0 -1
  879. package/web-ui/build/static/soy-BWsRHx_l.js +0 -1
  880. package/web-ui/build/static/sparql-BmnAgU1w.js +0 -1
  881. package/web-ui/build/static/splunk-spl-BHQ0Zdjq.js +0 -1
  882. package/web-ui/build/static/sqf-BgRLbdp_.js +0 -1
  883. package/web-ui/build/static/sqf-DLLI0el0.js +0 -1
  884. package/web-ui/build/static/sql-2q54nPNH.js +0 -1
  885. package/web-ui/build/static/sql-DlC3YX66.js +0 -1
  886. package/web-ui/build/static/sql_more-BQKcXmJ0.js +0 -1
  887. package/web-ui/build/static/squirrel-DmebN_EL.js +0 -1
  888. package/web-ui/build/static/stan-BDGrHwEo.js +0 -1
  889. package/web-ui/build/static/stan-BasdJxfJ.js +0 -1
  890. package/web-ui/build/static/stata-DAcZR0XQ.js +0 -1
  891. package/web-ui/build/static/step21-RptXxSDX.js +0 -1
  892. package/web-ui/build/static/stylus-BtiAI269.js +0 -1
  893. package/web-ui/build/static/stylus-CbjAOV1A.js +0 -1
  894. package/web-ui/build/static/subunit-CNB_tt3p.js +0 -1
  895. package/web-ui/build/static/swift-BV3DOlYX.js +0 -1
  896. package/web-ui/build/static/swift-Bi-kz7aa.js +0 -1
  897. package/web-ui/build/static/systemd-CG-NuWtk.js +0 -1
  898. package/web-ui/build/static/t4-cs-DUThZgjr.js +0 -1
  899. package/web-ui/build/static/t4-templating-C7ED6iGj.js +0 -1
  900. package/web-ui/build/static/t4-vb-CT2spCQD.js +0 -1
  901. package/web-ui/build/static/taggerscript-CIWvWwRH.js +0 -1
  902. package/web-ui/build/static/tap-B-OZQ_98.js +0 -1
  903. package/web-ui/build/static/tap-ULV7YBw-.js +0 -1
  904. package/web-ui/build/static/tcl-DarZx3V_.js +0 -1
  905. package/web-ui/build/static/tcl-FAfHZOuK.js +0 -1
  906. package/web-ui/build/static/textile-YIaZ55lg.js +0 -1
  907. package/web-ui/build/static/thrift-Cw-lC7xb.js +0 -1
  908. package/web-ui/build/static/toml-CrMkp-dJ.js +0 -1
  909. package/web-ui/build/static/tp-DCzAu7jW.js +0 -1
  910. package/web-ui/build/static/tremor-CFDwS8vd.js +0 -1
  911. package/web-ui/build/static/tsx-DEeAlDW6.js +0 -1
  912. package/web-ui/build/static/tt2-BzFfu8wk.js +0 -1
  913. package/web-ui/build/static/turtle-84Pa71hh.js +0 -1
  914. package/web-ui/build/static/twig-BayQvHS_.js +0 -1
  915. package/web-ui/build/static/twig-BsjBtlDh.js +0 -1
  916. package/web-ui/build/static/typescript-Cnjvfmxu.js +0 -1
  917. package/web-ui/build/static/typescript-DtikLyM7.js +0 -1
  918. package/web-ui/build/static/typoscript-zFoMPUtV.js +0 -1
  919. package/web-ui/build/static/unrealscript-BD0AGGE4.js +0 -1
  920. package/web-ui/build/static/uorazor-DEt_IzcG.js +0 -1
  921. package/web-ui/build/static/uri-CIvm0_Br.js +0 -1
  922. package/web-ui/build/static/v-BQoK7-a7.js +0 -1
  923. package/web-ui/build/static/vala-BDiY-0iU.js +0 -1
  924. package/web-ui/build/static/vala-CoUXbdfw.js +0 -1
  925. package/web-ui/build/static/vbnet-BahQpBvh.js +0 -1
  926. package/web-ui/build/static/vbnet-CTFmJ_tD.js +0 -1
  927. package/web-ui/build/static/vbscript-RIjZOgm7.js +0 -1
  928. package/web-ui/build/static/vbscript-html-etVtdRUU.js +0 -1
  929. package/web-ui/build/static/velocity-k8t18OIQ.js +0 -1
  930. package/web-ui/build/static/verilog-BkuqYQQS.js +0 -1
  931. package/web-ui/build/static/verilog-CO7q-Nx8.js +0 -1
  932. package/web-ui/build/static/vhdl-F9maVm1z.js +0 -1
  933. package/web-ui/build/static/vhdl-jHowTwXP.js +0 -1
  934. package/web-ui/build/static/vim-5tQiPYrt.js +0 -1
  935. package/web-ui/build/static/vim-B6g6AlZK.js +0 -1
  936. package/web-ui/build/static/visual-basic-BVe6araH.js +0 -1
  937. package/web-ui/build/static/warpscript-DpWoozOM.js +0 -1
  938. package/web-ui/build/static/wasm-BVySa5nz.js +0 -1
  939. package/web-ui/build/static/web-idl-Cx8PIp9r.js +0 -1
  940. package/web-ui/build/static/wiki-CnAy151p.js +0 -1
  941. package/web-ui/build/static/wolfram-CJHJcKVC.js +0 -1
  942. package/web-ui/build/static/wren-C2PAcX7s.js +0 -1
  943. package/web-ui/build/static/x86asm-C1SuPV6P.js +0 -1
  944. package/web-ui/build/static/xeora-l6fZzLIy.js +0 -1
  945. package/web-ui/build/static/xl-CkVwYUVn.js +0 -1
  946. package/web-ui/build/static/xml-DLjQp4KT.js +0 -1
  947. package/web-ui/build/static/xml-doc-Dawa4cLr.js +0 -1
  948. package/web-ui/build/static/xojo-Da05ByLG.js +0 -1
  949. package/web-ui/build/static/xquery-CS7xhikd.js +0 -1
  950. package/web-ui/build/static/xquery-DFbsJTQt.js +0 -1
  951. package/web-ui/build/static/yaml-BGwGJYFK.js +0 -1
  952. package/web-ui/build/static/yaml-OtITZEUe.js +0 -1
  953. package/web-ui/build/static/yang-o4P5TRpK.js +0 -1
  954. package/web-ui/build/static/zephir-B7zGXFYj.js +0 -1
  955. package/web-ui/build/static/zig-DtRlHrbt.js +0 -1
@@ -1,872 +1,887 @@
1
- /**
2
- * Constants - Centralized constants and enums for the Loxia AI Agents System
3
- *
4
- * Purpose:
5
- * - Eliminate magic values throughout the codebase
6
- * - Provide centralized configuration constants
7
- * - Define enums for system states and types
8
- * - Ensure consistency across modules
9
- */
10
-
11
- // System Configuration Constants
12
- const SYSTEM_DEFAULTS = {
13
- MAX_AGENTS_PER_PROJECT: 10,
14
- QUALITY_INSPECTOR_INTERVAL: 10,
15
- DEFAULT_MODEL: 'anthropic-sonnet',
16
- STATE_DIRECTORY: '.loxia-state',
17
- MAX_PAUSE_DURATION: 300, // seconds
18
- MAX_CONTEXT_SIZE: 50000, // characters
19
- MAX_CONTEXT_REFERENCES: 10,
20
- CACHE_EXPIRY: 3600, // seconds
21
- MAX_MESSAGE_SIZE: 100000, // characters
22
- MAX_FILE_SIZE: 10485760, // 10MB
23
- MAX_ASYNC_OPERATIONS: 5,
24
- MAX_TOOL_EXECUTION_TIME: 300000, // 5 minutes
25
- MAX_CONVERSATION_LENGTH: 50000 // tokens
26
- };
27
-
28
- // Model Router Configuration
29
- const MODEL_ROUTER_CONFIG = {
30
- ROUTER_MODEL: 'autopilot-model-router', // Autopilot model router deployment
31
- CONTEXT_MESSAGES_COUNT: 5, // Number of recent messages to include
32
- BENCHMARK_REFRESH_INTERVAL: 3600000, // 1 hour in milliseconds
33
- FALLBACK_ON_ERROR: true, // Continue with previous model on router error
34
- REQUEST_TIMEOUT: 10000, // 10 seconds timeout for router requests
35
- MAX_ROUTING_STRATEGY_LENGTH: 2000 // Max chars for per-agent routing strategy
36
- };
37
-
38
- // Interface Types
39
- const INTERFACE_TYPES = {
40
- CLI: 'cli',
41
- WEB: 'web',
42
- VSCODE: 'vscode',
43
- TELEGRAM: 'telegram',
44
- DISCORD: 'discord'
45
- };
46
-
47
- // Agent Types
48
- const AGENT_TYPES = {
49
- USER_CREATED: 'user-created',
50
- SYSTEM_AGENT: 'system-agent',
51
- AGENT_ENGINEER: 'agent-engineer'
52
- };
53
-
54
- // Agent Status
55
- const AGENT_STATUS = {
56
- ACTIVE: 'active',
57
- IDLE: 'idle',
58
- BUSY: 'busy',
59
- SUSPENDED: 'suspended',
60
- PAUSED: 'paused'
61
- };
62
-
63
- // Agent Modes
64
- const AGENT_MODES = {
65
- CHAT: 'chat', // Default: single message → single response
66
- AGENT: 'agent' // Autonomous: task → loop until complete (persistent mode)
67
- };
68
-
69
- // Agent Mode States
70
- const AGENT_MODE_STATES = {
71
- IDLE: 'idle', // Not executing anything
72
- EXECUTING: 'executing', // Currently processing autonomous task
73
- WAITING_APPROVAL: 'waiting_approval', // Paused for user approval
74
- STOPPED: 'stopped' // User stopped execution
75
- };
76
-
77
- // Message Modes
78
- const MESSAGE_MODES = {
79
- CHAT: 'chat',
80
- AGENT: 'agent'
81
- };
82
-
83
- // Message Roles
84
- const MESSAGE_ROLES = {
85
- USER: 'user',
86
- ASSISTANT: 'assistant',
87
- SYSTEM: 'system'
88
- };
89
-
90
- // Context Reference Types
91
- const CONTEXT_REFERENCE_TYPES = {
92
- FILE: 'file',
93
- COMPONENT: 'component',
94
- SELECTION: 'selection',
95
- DIRECTORY: 'directory'
96
- };
97
-
98
- // Tool Status
99
- const TOOL_STATUS = {
100
- PENDING: 'pending',
101
- EXECUTING: 'executing',
102
- COMPLETED: 'completed',
103
- FAILED: 'failed'
104
- };
105
-
106
- // Operation Status
107
- const OPERATION_STATUS = {
108
- EXECUTING: 'executing',
109
- COMPLETED: 'completed',
110
- FAILED: 'failed',
111
- NOT_FOUND: 'not_found'
112
- };
113
-
114
- // Conversation Status
115
- const CONVERSATION_STATUS = {
116
- ACTIVE: 'active',
117
- ARCHIVED: 'archived',
118
- SUSPENDED: 'suspended'
119
- };
120
-
121
- // Error Types
122
- const ERROR_TYPES = {
123
- FILE_NOT_FOUND: 'FILE_NOT_FOUND',
124
- PERMISSION_DENIED: 'PERMISSION_DENIED',
125
- OPERATION_TIMEOUT: 'OPERATION_TIMEOUT',
126
- RATE_LIMIT_EXCEEDED: 'RATE_LIMIT_EXCEEDED',
127
- AUTHENTICATION_FAILED: 'AUTHENTICATION_FAILED',
128
- UNKNOWN_ERROR: 'UNKNOWN_ERROR',
129
- VALIDATION_ERROR: 'VALIDATION_ERROR',
130
- CONFIGURATION_ERROR: 'CONFIGURATION_ERROR'
131
- };
132
-
133
- // HTTP Status Codes
134
- const HTTP_STATUS = {
135
- OK: 200,
136
- BAD_REQUEST: 400,
137
- UNAUTHORIZED: 401,
138
- FORBIDDEN: 403,
139
- NOT_FOUND: 404,
140
- TOO_MANY_REQUESTS: 429,
141
- INTERNAL_SERVER_ERROR: 500,
142
- BAD_GATEWAY: 502,
143
- SERVICE_UNAVAILABLE: 503,
144
- GATEWAY_TIMEOUT: 504
145
- };
146
-
147
- // Model Providers
148
- const MODEL_PROVIDERS = {
149
- ANTHROPIC: 'anthropic',
150
- OPENAI: 'openai',
151
- AZURE: 'azure',
152
- DEEPSEEK: 'deepseek',
153
- PHI: 'phi',
154
- OLLAMA: 'ollama'
155
- };
156
-
157
- // Model Names
158
- const MODELS = { //TODO:update with moedels from server
159
- ANTHROPIC_OPUS: 'anthropic-opus',
160
- ANTHROPIC_SONNET: 'anthropic-sonnet',
161
- ANTHROPIC_HAIKU: 'anthropic-haiku',
162
- GPT_4: 'gpt-4',
163
- GPT_4_MINI: 'gpt-4-mini',
164
- GPT_5_1_CODEX_MINI: 'gpt-5.1-codex-mini',
165
- DEEPSEEK_R1: 'deepseek-r1',
166
- PHI_4: 'phi-4',
167
- PHI_4_REASONING: 'phi-4-reasoning'
168
- };
169
-
170
- // Platform Model IDs (with prefixes)
171
- const PLATFORM_MODELS = {
172
- LOXIA_ANTHROPIC_OPUS: 'loxia-anthropic-opus',
173
- LOXIA_ANTHROPIC_SONNET: 'loxia-anthropic-sonnet',
174
- LOXIA_ANTHROPIC_HAIKU: 'loxia-anthropic-haiku',
175
- LOXIA_GPT_4: 'loxia-gpt-4',
176
- LOXIA_GPT_4_MINI: 'loxia-gpt-4-mini',
177
- LOXIA_GPT_5_1_CODEX_MINI: 'loxia-gpt-5.1-codex-mini',
178
- LOXIA_DEEPSEEK_R1: 'loxia-deepseek-r1',
179
- LOXIA_PHI_4: 'loxia-phi-4',
180
- LOXIA_PHI_4_REASONING: 'loxia-phi-4-reasoning'
181
- };
182
-
183
- // Direct Access Model IDs (with prefixes)
184
- const DIRECT_MODELS = {
185
- DIRECT_ANTHROPIC_OPUS: 'direct-anthropic-opus',
186
- DIRECT_ANTHROPIC_SONNET: 'direct-anthropic-sonnet',
187
- DIRECT_ANTHROPIC_HAIKU: 'direct-anthropic-haiku',
188
- DIRECT_GPT_4: 'direct-gpt-4',
189
- DIRECT_GPT_4_MINI: 'direct-gpt-4-mini',
190
- DIRECT_GPT_5_1_CODEX_MINI: 'direct-gpt-5.1-codex-mini',
191
- DIRECT_DEEPSEEK_R1: 'direct-deepseek-r1',
192
- DIRECT_PHI_4: 'direct-phi-4',
193
- DIRECT_PHI_4_REASONING: 'direct-phi-4-reasoning'
194
- };
195
-
196
- // Model Format Versions
197
- const MODEL_FORMAT_VERSIONS = {
198
- [MODELS.ANTHROPIC_OPUS]: 'anthropic-v1',
199
- [MODELS.ANTHROPIC_SONNET]: 'anthropic-v1',
200
- [MODELS.ANTHROPIC_HAIKU]: 'anthropic-v1',
201
- [MODELS.GPT_4]: 'openai-v1',
202
- [MODELS.GPT_4_MINI]: 'openai-v1',
203
- [MODELS.GPT_5_1_CODEX_MINI]: 'openai-v1',
204
- [MODELS.DEEPSEEK_R1]: 'deepseek-v1',
205
- [MODELS.PHI_4]: 'phi-v1',
206
- [MODELS.PHI_4_REASONING]: 'phi-v1',
207
- DEFAULT: 'generic-v1'
208
- };
209
-
210
- // Tool Names
211
- const TOOL_NAMES = {
212
- TERMINAL: 'terminal',
213
- FILESYSTEM: 'filesystem',
214
- BROWSER: 'browser',
215
- AGENT_DELAY: 'agentdelay',
216
- EDITOR: 'editor',
217
- GIT: 'git',
218
- DATABASE: 'database'
219
- };
220
-
221
- // File Extensions and Languages
222
- const FILE_EXTENSIONS = {
223
- JAVASCRIPT: '.js',
224
- JSX: '.jsx',
225
- TYPESCRIPT: '.ts',
226
- TSX: '.tsx',
227
- PYTHON: '.py',
228
- JAVA: '.java',
229
- CPP: '.cpp',
230
- C: '.c',
231
- CSHARP: '.cs',
232
- PHP: '.php',
233
- RUBY: '.rb',
234
- GO: '.go',
235
- RUST: '.rs',
236
- HTML: '.html',
237
- CSS: '.css',
238
- SCSS: '.scss',
239
- JSON: '.json',
240
- YAML: '.yml',
241
- YAML_ALT: '.yaml',
242
- MARKDOWN: '.md',
243
- XML: '.xml',
244
- SQL: '.sql'
245
- };
246
-
247
- const LANGUAGE_MAPPING = {
248
- [FILE_EXTENSIONS.JAVASCRIPT]: 'javascript',
249
- [FILE_EXTENSIONS.JSX]: 'jsx',
250
- [FILE_EXTENSIONS.TYPESCRIPT]: 'typescript',
251
- [FILE_EXTENSIONS.TSX]: 'tsx',
252
- [FILE_EXTENSIONS.PYTHON]: 'python',
253
- [FILE_EXTENSIONS.JAVA]: 'java',
254
- [FILE_EXTENSIONS.CPP]: 'cpp',
255
- [FILE_EXTENSIONS.C]: 'c',
256
- [FILE_EXTENSIONS.CSHARP]: 'csharp',
257
- [FILE_EXTENSIONS.PHP]: 'php',
258
- [FILE_EXTENSIONS.RUBY]: 'ruby',
259
- [FILE_EXTENSIONS.GO]: 'go',
260
- [FILE_EXTENSIONS.RUST]: 'rust',
261
- [FILE_EXTENSIONS.HTML]: 'html',
262
- [FILE_EXTENSIONS.CSS]: 'css',
263
- [FILE_EXTENSIONS.SCSS]: 'scss',
264
- [FILE_EXTENSIONS.JSON]: 'json',
265
- [FILE_EXTENSIONS.YAML]: 'yaml',
266
- [FILE_EXTENSIONS.YAML_ALT]: 'yaml',
267
- [FILE_EXTENSIONS.MARKDOWN]: 'markdown',
268
- [FILE_EXTENSIONS.XML]: 'xml',
269
- [FILE_EXTENSIONS.SQL]: 'sql'
270
- };
271
-
272
- // File Icons
273
- const FILE_ICONS = {
274
- [FILE_EXTENSIONS.JAVASCRIPT]: '📜',
275
- [FILE_EXTENSIONS.JSX]: '⚛️',
276
- [FILE_EXTENSIONS.TYPESCRIPT]: '📘',
277
- [FILE_EXTENSIONS.TSX]: '⚛️',
278
- [FILE_EXTENSIONS.PYTHON]: '🐍',
279
- [FILE_EXTENSIONS.JAVA]: '☕',
280
- [FILE_EXTENSIONS.HTML]: '🌐',
281
- [FILE_EXTENSIONS.CSS]: '🎨',
282
- [FILE_EXTENSIONS.JSON]: '📋',
283
- [FILE_EXTENSIONS.MARKDOWN]: '📝',
284
- [FILE_EXTENSIONS.YAML]: '⚙️',
285
- [FILE_EXTENSIONS.YAML_ALT]: '⚙️',
286
- DEFAULT: '📄'
287
- };
288
-
289
- // Context Icons
290
- const CONTEXT_ICONS = {
291
- [CONTEXT_REFERENCE_TYPES.FILE]: '📄',
292
- [CONTEXT_REFERENCE_TYPES.COMPONENT]: '🔧',
293
- [CONTEXT_REFERENCE_TYPES.SELECTION]: '✂️',
294
- [CONTEXT_REFERENCE_TYPES.DIRECTORY]: '📁',
295
- DEFAULT: '📎'
296
- };
297
-
298
- // State File Names
299
- const STATE_FILES = {
300
- PROJECT_STATE: 'project-state.json',
301
- AGENT_INDEX: 'agent-index.json',
302
- CONVERSATION_INDEX: 'conversation-index.json',
303
- LAST_SESSION: 'last-session.json',
304
- CONTEXT_REFERENCES: 'context-references.json',
305
- ASYNC_OPERATIONS: 'operations/async-operations.json',
306
- PAUSED_AGENTS: 'operations/paused-agents.json',
307
- TOOL_HISTORY: 'operations/tool-history.json',
308
- MODEL_ROUTER_CACHE: 'models/model-router-cache.json',
309
- ERROR_RECOVERY_LOG: 'models/error-recovery-log.json'
310
- };
311
-
312
- // State Directory Structure
313
- const STATE_DIRECTORIES = {
314
- ROOT: '.loxia-state',
315
- AGENTS: 'agents',
316
- OPERATIONS: 'operations',
317
- MODELS: 'models',
318
- FLOWS: 'flows',
319
- FLOW_RUNS: 'flow-runs'
320
- };
321
-
322
- // Quality Inspector Configuration
323
- const QUALITY_INSPECTOR_CONFIG = {
324
- CHECK_INTERVAL_MESSAGES: 10,
325
- STUCK_PATTERNS: [
326
- 'repetitive_commands',
327
- 'infinite_waiting',
328
- 'error_loops',
329
- 'resource_exhaustion'
330
- ],
331
- INTERVENTION_THRESHOLD: 3,
332
- COOLDOWN_PERIOD: 300000 // 5 minutes
333
- };
334
-
335
- // Orchestrator Actions
336
- const ORCHESTRATOR_ACTIONS = {
337
- CREATE_AGENT: 'create_agent',
338
- UPDATE_AGENT: 'update_agent',
339
- DELETE_AGENT: 'delete_agent',
340
- UNLOAD_AGENT: 'unload_agent',
341
- SEND_MESSAGE: 'send_message',
342
- LIST_AGENTS: 'list_agents',
343
- RESUME_SESSION: 'resume_session',
344
- GET_SESSION_STATE: 'get_session_state',
345
- PAUSE_AGENT: 'pause_agent',
346
- RESUME_AGENT: 'resume_agent',
347
- SWITCH_MODEL: 'switch_model',
348
- GET_AGENT_STATUS: 'get_agent_status',
349
- GET_AGENT_CONVERSATIONS: 'get_agent_conversations',
350
- // Team operations
351
- CREATE_TEAM: 'create_team',
352
- UPDATE_TEAM: 'update_team',
353
- DELETE_TEAM: 'delete_team',
354
- LOAD_TEAM: 'load_team',
355
- LIST_TEAMS: 'list_teams',
356
- ADD_AGENT_TO_TEAM: 'add_agent_to_team',
357
- REMOVE_AGENT_FROM_TEAM: 'remove_agent_from_team',
358
- // Flow operations
359
- CREATE_FLOW: 'create_flow',
360
- UPDATE_FLOW: 'update_flow',
361
- DELETE_FLOW: 'delete_flow',
362
- GET_FLOW: 'get_flow',
363
- LIST_FLOWS: 'list_flows',
364
- EXECUTE_FLOW: 'execute_flow',
365
- STOP_FLOW: 'stop_flow',
366
- GET_FLOW_RUN: 'get_flow_run',
367
- LIST_FLOW_RUNS: 'list_flow_runs'
368
- };
369
-
370
- // Message Types
371
- const MESSAGE_TYPES = {
372
- AGENT_NOTIFICATION: 'agent_notification',
373
- AGENT_REDIRECT: 'agent_redirect',
374
- TOOL_COMPLETION: 'tool_completion',
375
- SYSTEM_MESSAGE: 'system_message',
376
- AGENT_COMMUNICATION: 'agent_communication' // Inter-agent messages
377
- };
378
-
379
- // Inter-Agent Message Processing Configuration
380
- const INTER_AGENT_MESSAGE = {
381
- // Processing priorities
382
- PRIORITY: {
383
- LOW: 'low',
384
- NORMAL: 'normal',
385
- HIGH: 'high',
386
- URGENT: 'urgent'
387
- },
388
-
389
- // Processing delays (in milliseconds) - avoid magic numbers
390
- PROCESSING_DELAY: {
391
- IMMEDIATE: 0, // Process immediately
392
- SHORT: 500, // Half second delay
393
- NORMAL: 2000, // 2 seconds delay
394
- LONG: 5000 // 5 seconds delay
395
- },
396
-
397
- // Queue and processing limits
398
- MAX_QUEUE_SIZE: 100, // Maximum messages in queue per agent
399
- MAX_PROCESSING_RETRIES: 3, // Maximum retry attempts
400
- PROCESSING_TIMEOUT: 30000, // 30 seconds timeout for processing
401
-
402
- // Auto-response configuration
403
- AUTO_RESPONSE_ENABLED: true, // Enable automatic responses
404
- REQUIRE_AGENT_MODE: false, // If true, only respond in AGENT mode
405
- PRESERVE_CONTEXT: true // Maintain conversation context during response
406
- };
407
-
408
- // Agent Redirect Attributes
409
- const AGENT_REDIRECT_ATTRIBUTES = {
410
- URGENT: 'urgent',
411
- REQUIRES_RESPONSE: 'requiresResponse',
412
- CONTEXT: 'context'
413
- };
414
-
415
- // Budget and usage tracking constants
416
- const BUDGET_LIMITS = {
417
- DAILY: 10.00, // $10 per day default
418
- WEEKLY: 50.00, // $50 per week default
419
- MONTHLY: 200.00 // $200 per month default
420
- };
421
-
422
- const COST_PER_TOKEN = {
423
- [MODELS.ANTHROPIC_OPUS]: {
424
- input: 0.000015, // $15 per 1M input tokens
425
- output: 0.000075 // $75 per 1M output tokens
426
- },
427
- [MODELS.ANTHROPIC_SONNET]: {
428
- input: 0.000003, // $3 per 1M input tokens
429
- output: 0.000015 // $15 per 1M output tokens
430
- },
431
- [MODELS.ANTHROPIC_HAIKU]: {
432
- input: 0.00000025, // $0.25 per 1M input tokens
433
- output: 0.00000125 // $1.25 per 1M output tokens
434
- },
435
- [MODELS.GPT_4]: {
436
- input: 0.000030, // $30 per 1M input tokens
437
- output: 0.000060 // $60 per 1M output tokens
438
- },
439
- [MODELS.GPT_4_MINI]: {
440
- input: 0.000000150, // $0.15 per 1M input tokens
441
- output: 0.000000600 // $0.60 per 1M output tokens
442
- },
443
- [MODELS.GPT_5_1_CODEX_MINI]: {
444
- input: 0.000002, // $2 per 1M input tokens
445
- output: 0.000008 // $8 per 1M output tokens
446
- },
447
- [MODELS.DEEPSEEK_R1]: {
448
- input: 0.000014, // $14 per 1M input tokens
449
- output: 0.000028 // $28 per 1M output tokens
450
- },
451
- [MODELS.PHI_4]: {
452
- input: 0.0000015, // $1.5 per 1M input tokens
453
- output: 0.0000025 // $2.5 per 1M output tokens
454
- },
455
- [MODELS.PHI_4_REASONING]: {
456
- input: 0.0000015, // $1.5 per 1M input tokens
457
- output: 0.0000025 // $2.5 per 1M output tokens
458
- }
459
- };
460
-
461
- const USAGE_ALERTS = {
462
- THRESHOLDS: [50, 75, 90, 100], // Percentage thresholds for alerts
463
- COOLDOWN_PERIOD: 3600000 // 1 hour cooldown between alerts
464
- };
465
-
466
- // WebSocket Events
467
- const WS_EVENTS = {
468
- HANDSHAKE: 'handshake',
469
- HANDSHAKE_ACK: 'handshake_ack',
470
- MESSAGE_RECEIVED: 'message_received',
471
- AGENT_UPDATED: 'agent_updated',
472
- TYPING_START: 'typing_start',
473
- TYPING_STOP: 'typing_stop',
474
- NOTIFICATION: 'notification',
475
- ERROR: 'error'
476
- };
477
-
478
- // Connection Status
479
- const CONNECTION_STATUS = {
480
- CONNECTED: 'connected',
481
- CONNECTING: 'connecting',
482
- DISCONNECTED: 'disconnected',
483
- ERROR: 'error'
484
- };
485
-
486
- // Themes
487
- const THEMES = {
488
- LIGHT: 'light',
489
- DARK: 'dark',
490
- SYSTEM: 'system'
491
- };
492
-
493
- // Notification Types
494
- const NOTIFICATION_TYPES = {
495
- INFO: 'info',
496
- SUCCESS: 'success',
497
- WARNING: 'warning',
498
- ERROR: 'error'
499
- };
500
-
501
- // Orchestrator Status
502
- const ORCHESTRATOR_STATUS = {
503
- INITIALIZING: 'initializing',
504
- RUNNING: 'running',
505
- PAUSED: 'paused',
506
- ERROR: 'error',
507
- STOPPED: 'stopped'
508
- };
509
-
510
- // Static Code Analysis Constants
511
- const STATIC_ANALYSIS = {
512
- // Error severities
513
- SEVERITY: {
514
- CRITICAL: 'critical',
515
- ERROR: 'error',
516
- WARNING: 'warning',
517
- INFO: 'info',
518
- SUGGESTION: 'suggestion'
519
- },
520
-
521
- // Error categories
522
- CATEGORY: {
523
- SYNTAX: 'syntax',
524
- TYPE: 'type',
525
- IMPORT: 'import',
526
- STYLE: 'style',
527
- SECURITY: 'security',
528
- PERFORMANCE: 'performance',
529
- BEST_PRACTICE: 'best_practice'
530
- },
531
-
532
- // Supported languages
533
- LANGUAGE: {
534
- JAVASCRIPT: 'javascript',
535
- TYPESCRIPT: 'typescript',
536
- PYTHON: 'python',
537
- CSS: 'css',
538
- SCSS: 'scss',
539
- LESS: 'less',
540
- GO: 'go',
541
- JAVA: 'java',
542
- CSHARP: 'csharp',
543
- RUBY: 'ruby',
544
- PHP: 'php',
545
- RUST: 'rust',
546
- CPP: 'cpp',
547
- C: 'c'
548
- },
549
-
550
- // File extension to language mapping
551
- EXTENSION_TO_LANGUAGE: {
552
- '.js': 'javascript',
553
- '.jsx': 'javascript',
554
- '.mjs': 'javascript',
555
- '.cjs': 'javascript',
556
- '.ts': 'typescript',
557
- '.tsx': 'typescript',
558
- '.py': 'python',
559
- '.css': 'css',
560
- '.scss': 'scss',
561
- '.sass': 'scss',
562
- '.less': 'less',
563
- '.go': 'go',
564
- '.java': 'java',
565
- '.cs': 'csharp',
566
- '.rb': 'ruby',
567
- '.php': 'php',
568
- '.rs': 'rust',
569
- '.cpp': 'cpp',
570
- '.cc': 'cpp',
571
- '.cxx': 'cpp',
572
- '.c': 'c',
573
- '.h': 'c',
574
- '.hpp': 'cpp'
575
- },
576
-
577
- // Framework manifest files
578
- FRAMEWORK_MANIFESTS: {
579
- JAVASCRIPT: 'package.json',
580
- PYTHON: 'requirements.txt',
581
- PYTHON_POETRY: 'pyproject.toml',
582
- PYTHON_PIPENV: 'Pipfile',
583
- GO: 'go.mod',
584
- JAVA_MAVEN: 'pom.xml',
585
- JAVA_GRADLE: 'build.gradle',
586
- RUBY: 'Gemfile',
587
- PHP: 'composer.json',
588
- RUST: 'Cargo.toml',
589
- CSHARP: '*.csproj'
590
- },
591
-
592
- // JavaScript/TypeScript frameworks
593
- JS_FRAMEWORKS: {
594
- REACT: 'react',
595
- VUE: 'vue',
596
- ANGULAR: '@angular/core',
597
- SVELTE: 'svelte',
598
- NEXT: 'next',
599
- NUXT: 'nuxt',
600
- EXPRESS: 'express',
601
- NEST: '@nestjs/core',
602
- FASTIFY: 'fastify',
603
- KOA: 'koa'
604
- },
605
-
606
- // Python frameworks
607
- PYTHON_FRAMEWORKS: {
608
- DJANGO: 'django',
609
- FLASK: 'flask',
610
- FASTAPI: 'fastapi',
611
- TORNADO: 'tornado',
612
- PYRAMID: 'pyramid',
613
- BOTTLE: 'bottle'
614
- },
615
-
616
- // Analysis settings
617
- MAX_FILE_SIZE_FOR_ANALYSIS: 5242880, // 5MB
618
- MAX_FILES_PER_BATCH: 100,
619
- ANALYSIS_TIMEOUT: 60000, // 60 seconds per file
620
- ENABLE_CACHE: true,
621
- CACHE_DURATION: 300000 // 5 minutes
622
- };
623
-
624
- // Conversation Compactization Configuration
625
- const COMPACTION_CONFIG = {
626
- // Thresholds and triggers
627
- DEFAULT_THRESHOLD: 0.7, // 70% of context window
628
- MIN_THRESHOLD: 0.6, // Minimum allowed threshold (60%)
629
- MAX_THRESHOLD: 0.9, // Maximum allowed threshold (90%)
630
-
631
- // Tail-preserving compaction: summarize oldest messages, keep recent
632
- TAIL_PRESERVE_PERCENTAGE: 0.50, // Keep the most recent 50% of chars verbatim
633
-
634
- // Multi-pass compaction
635
- MAX_COMPACTION_PASSES: 3, // Maximum summarization passes per compaction
636
-
637
- // Segment constraints
638
- MIN_MIDDLE_SEGMENT_PERCENTAGE: 0.50, // Middle must be at least 50% of messages
639
- MAX_BOOKEND_PERCENTAGE: 0.50, // Beginning + end together capped at 50%
640
-
641
- // Recommended model pool for compaction (validated against live model catalog at runtime)
642
- // Names MUST match catalog keys exactly (no azure-openai- prefix)
643
- // Ordered by context window size (largest first) to handle very large conversations
644
- COMPACTION_MODELS: [
645
- 'gpt-5.1-codex-mini', // 400K context - best for large conversations
646
- 'gpt-5-mini', // 400K context
647
- 'gpt-5-nano', // 400K context - lightweight
648
- 'o4-mini' // 128K context - reasoning model
649
- ],
650
-
651
- // Context windows for recommended compaction models (fallback if modelsService unavailable)
652
- MODEL_CONTEXT_WINDOWS: {
653
- 'gpt-5.1-codex-mini': 400000,
654
- 'gpt-5-mini': 400000,
655
- 'gpt-5-nano': 400000,
656
- 'o4-mini': 128000
657
- },
658
-
659
- // Token limits
660
- MAX_OUTPUT_TOKENS: 10000, // Hard ceiling on AI response tokens (used by aiService + compaction check)
661
- MAX_SUMMARY_TOKENS: 8000, // Max tokens for summary generation
662
- MIN_MESSAGES_FOR_COMPACTION: 10, // Don't compact tiny conversations
663
-
664
- // Token estimation (used when no AI response data exists)
665
- CHARS_PER_TOKEN_ESTIMATE: 3, // Conservative: 1 token ~ 3 characters
666
-
667
- // Summary markers
668
- COMPACTION_SUMMARY_PREFIX: '[CONVERSATION SUMMARY',
669
- COMPACTION_SUMMARY_SUFFIX: '[END SUMMARY]',
670
-
671
- // Timeouts
672
- COMPACTION_TIMEOUT_MS: 30000, // 30 seconds max for compaction
673
-
674
- // Oversized message splitting
675
- OVERSIZED_MESSAGE_THRESHOLD: 50000, // 50K chars (~16K tokens) — messages larger than this get split
676
- MAX_CHUNK_SIZE: 30000, // 30K chars (~10K tokens) — target size for each chunk
677
-
678
- // Summarizer budget overhead — subtracted from summarizer's context window to get usable capacity
679
- SUMMARIZER_SYSTEM_PROMPT_OVERHEAD: 500, // tokens reserved for compaction system prompt
680
- SUMMARIZER_TEMPLATE_OVERHEAD: 800, // tokens for the summary prompt template text
681
- SUMMARIZER_SAFETY_MARGIN: 5000, // token buffer for estimation inaccuracy
682
-
683
- // Quality validation
684
- MIN_REDUCTION_PERCENTAGE: 10, // Compaction must reduce by at least 10%
685
- MAX_ACCEPTABLE_TOKEN_COUNT_AFTER: 0.85, // After compaction, should be below 85% of context
686
- };
687
-
688
- // Compaction strategies
689
- const COMPACTION_STRATEGIES = {
690
- SUMMARIZATION: 'summarization', // AI-based summarization (sandwich approach)
691
- };
692
-
693
- // Compaction status for UI feedback
694
- const COMPACTION_STATUS = {
695
- IDLE: 'idle',
696
- STARTING: 'starting',
697
- IN_PROGRESS: 'in-progress',
698
- COMPLETED: 'completed',
699
- FAILED: 'failed',
700
- };
701
-
702
- // Agent Scheduler Configuration
703
- const SCHEDULER_CONFIG = {
704
- // Timing configuration (milliseconds)
705
- ITERATION_DELAY_MS: 1000, // Delay between scheduler cycles
706
-
707
- // Parallel processing - worker pool pattern
708
- MAX_CONCURRENT_AGENTS: 3, // Max agents processed in parallel (worker pool size)
709
-
710
- // Repetition detection - sliding window approach
711
- // We track recent state hashes to detect when agent is stuck in a loop
712
- STATE_HASH_WINDOW_SIZE: 20, // Size of sliding window for repetition detection
713
- REPETITION_THRESHOLD: 5, // Same hash appearing this many times in window = loop detected
714
-
715
- // Recovery delays (milliseconds)
716
- API_KEY_ERROR_DELAY_MS: 5 * 60 * 1000, // 5 minutes for API key issues
717
- RATE_LIMIT_DELAY_MS: 2 * 60 * 1000, // 2 minutes for rate limiting
718
- NETWORK_ERROR_DELAY_MS: 30 * 1000, // 30 seconds for network issues
719
- UNKNOWN_ERROR_DELAY_MS: 60 * 1000, // 1 minute for unknown errors
720
-
721
- // Recent message threshold for inter-agent tracking
722
- RECENT_MESSAGE_THRESHOLD_MS: 10 * 60 * 1000, // 10 minutes
723
-
724
- // Consecutive messages without tool usage tracking (AGENT mode only)
725
- // Reminds agents to maintain their task list when not using tools
726
- CONSECUTIVE_NO_TOOL_THRESHOLD: 3, // After this many messages without tools, inject reminder
727
- CONSECUTIVE_NO_TOOL_ENABLED: true, // Feature toggle
728
- };
729
-
730
- // Agent Activity Status - reasons for activation/deactivation
731
- const AGENT_ACTIVITY_STATUS = {
732
- // Active reasons
733
- HAS_PENDING_TASKS: 'has-pending-tasks',
734
- HAS_QUEUED_MESSAGES: 'has-queued-messages',
735
- HAS_USER_MESSAGES: 'has-user-messages',
736
- HAS_INTER_AGENT_MESSAGES: 'has-inter-agent-messages',
737
- HAS_TOOL_RESULTS: 'has-tool-results',
738
- AUTONOMOUS_MODE_ACTIVE: 'autonomous-mode-active',
739
- HAS_TTL_REMAINING: 'has-ttl-remaining', // Agent has TTL cycles remaining
740
-
741
- // Inactive reasons
742
- AGENT_NOT_FOUND: 'agent-not-found',
743
- AGENT_INACTIVE_STATUS: 'agent-inactive-status',
744
- AGENT_DELAYED: 'agent-delayed',
745
- AGENT_PAUSED: 'agent-paused',
746
- AWAITING_USER_INPUT: 'awaiting-user-input',
747
- STOP_REQUESTED: 'stop-requested',
748
- NO_PENDING_WORK: 'no-pending-work',
749
- CHAT_MODE_NO_MESSAGES: 'chat-mode-no-messages',
750
- UNKNOWN_MODE: 'unknown-mode',
751
- JOB_DONE_EXECUTED: 'job-done-executed',
752
- };
753
-
754
- // Scheduler trigger sources - what caused an agent to be considered for scheduling
755
- const SCHEDULER_TRIGGERS = {
756
- SCHEDULER_STARTUP: 'scheduler-startup',
757
- MODE_CHANGE_TO_AGENT: 'mode-change-to-agent',
758
- MODE_CHANGE_TO_CHAT: 'mode-change-to-chat',
759
- USER_MESSAGE: 'user-message',
760
- INTER_AGENT_MESSAGE: 'inter-agent-message',
761
- TOOL_COMPLETION: 'tool-completion',
762
- STOPPED_BY_USER: 'stopped-by-user',
763
- PROCESSING_COMPLETED: 'processing-completed',
764
- PROCESSING_ERROR: 'processing-error',
765
- };
766
-
767
- // Task status values
768
- const TASK_STATUS = {
769
- PENDING: 'pending',
770
- IN_PROGRESS: 'in_progress',
771
- COMPLETED: 'completed',
772
- BLOCKED: 'blocked',
773
- FAILED: 'failed',
774
- };
775
-
776
- // Task priority levels
777
- const TASK_PRIORITY = {
778
- URGENT: 'urgent',
779
- HIGH: 'high',
780
- MEDIUM: 'medium',
781
- LOW: 'low',
782
- };
783
-
784
- // Task priority order (lower number = higher priority)
785
- const TASK_PRIORITY_ORDER = {
786
- [TASK_PRIORITY.URGENT]: 0,
787
- [TASK_PRIORITY.HIGH]: 1,
788
- [TASK_PRIORITY.MEDIUM]: 2,
789
- [TASK_PRIORITY.LOW]: 3,
790
- };
791
-
792
- // Terminal Tool Configuration
793
- const TERMINAL_CONFIG = {
794
- // Output retrieval defaults
795
- DEFAULT_TAIL_LINES: 100, // Default number of lines for getTaskOutput
796
- EXPANDED_VIEW_TAIL_LINES: 50, // Lines shown in expanded dropdown view
797
- MAX_OUTPUT_LENGTH: 50000, // Max characters for output retrieval
798
-
799
- // UI refresh/polling
800
- POLLING_INTERVAL_MS: 2000, // Polling interval for task updates
801
-
802
- // Recent tasks limits
803
- RECENT_TASKS_LIMIT: 20, // Max recent tasks to fetch from backend
804
- RECENT_TASKS_UI_LIMIT: 10, // Max recent tasks shown in UI dropdown
805
-
806
- // Task states
807
- STATES: {
808
- RUNNING: 'running',
809
- WAITING_FOR_INPUT: 'waiting_for_input',
810
- COMPLETED: 'completed',
811
- FAILED: 'failed'
812
- }
813
- };
814
-
815
- // Version
816
- const SYSTEM_VERSION = '3.1.0';
817
-
818
- // Export all constants using ES module syntax
819
- export {
820
- SYSTEM_DEFAULTS,
821
- MODEL_ROUTER_CONFIG,
822
- INTERFACE_TYPES,
823
- AGENT_TYPES,
824
- AGENT_STATUS,
825
- AGENT_MODES,
826
- AGENT_MODE_STATES,
827
- MESSAGE_MODES,
828
- MESSAGE_ROLES,
829
- CONTEXT_REFERENCE_TYPES,
830
- TOOL_STATUS,
831
- OPERATION_STATUS,
832
- CONVERSATION_STATUS,
833
- ERROR_TYPES,
834
- HTTP_STATUS,
835
- MODEL_PROVIDERS,
836
- MODELS,
837
- PLATFORM_MODELS,
838
- DIRECT_MODELS,
839
- MODEL_FORMAT_VERSIONS,
840
- TOOL_NAMES,
841
- FILE_EXTENSIONS,
842
- LANGUAGE_MAPPING,
843
- FILE_ICONS,
844
- CONTEXT_ICONS,
845
- STATE_FILES,
846
- STATE_DIRECTORIES,
847
- QUALITY_INSPECTOR_CONFIG,
848
- ORCHESTRATOR_ACTIONS,
849
- MESSAGE_TYPES,
850
- INTER_AGENT_MESSAGE,
851
- AGENT_REDIRECT_ATTRIBUTES,
852
- BUDGET_LIMITS,
853
- COST_PER_TOKEN,
854
- USAGE_ALERTS,
855
- WS_EVENTS,
856
- CONNECTION_STATUS,
857
- THEMES,
858
- NOTIFICATION_TYPES,
859
- ORCHESTRATOR_STATUS,
860
- STATIC_ANALYSIS,
861
- COMPACTION_CONFIG,
862
- COMPACTION_STRATEGIES,
863
- COMPACTION_STATUS,
864
- SCHEDULER_CONFIG,
865
- AGENT_ACTIVITY_STATUS,
866
- SCHEDULER_TRIGGERS,
867
- TASK_STATUS,
868
- TASK_PRIORITY,
869
- TASK_PRIORITY_ORDER,
870
- TERMINAL_CONFIG,
871
- SYSTEM_VERSION
1
+ /**
2
+ * Constants - Centralized constants and enums for the Loxia AI Agents System
3
+ *
4
+ * Purpose:
5
+ * - Eliminate magic values throughout the codebase
6
+ * - Provide centralized configuration constants
7
+ * - Define enums for system states and types
8
+ * - Ensure consistency across modules
9
+ */
10
+
11
+ // System Configuration Constants
12
+ const SYSTEM_DEFAULTS = {
13
+ MAX_AGENTS_PER_PROJECT: 10,
14
+ QUALITY_INSPECTOR_INTERVAL: 10,
15
+ DEFAULT_MODEL: 'anthropic-sonnet',
16
+ STATE_DIRECTORY: '.loxia-state',
17
+ MAX_PAUSE_DURATION: 300, // seconds
18
+ MAX_CONTEXT_SIZE: 50000, // characters
19
+ MAX_CONTEXT_REFERENCES: 10,
20
+ CACHE_EXPIRY: 3600, // seconds
21
+ MAX_MESSAGE_SIZE: 100000, // characters
22
+ MAX_FILE_SIZE: 10485760, // 10MB
23
+ MAX_ASYNC_OPERATIONS: 5,
24
+ MAX_TOOL_EXECUTION_TIME: 300000, // 5 minutes
25
+ MAX_CONVERSATION_LENGTH: 50000 // tokens
26
+ };
27
+
28
+ // Model Router Configuration
29
+ const MODEL_ROUTER_CONFIG = {
30
+ ROUTER_MODEL: 'autopilot-model-router', // Autopilot model router deployment
31
+ CONTEXT_MESSAGES_COUNT: 5, // Number of recent messages to include
32
+ BENCHMARK_REFRESH_INTERVAL: 3600000, // 1 hour in milliseconds
33
+ FALLBACK_ON_ERROR: true, // Continue with previous model on router error
34
+ REQUEST_TIMEOUT: 10000, // 10 seconds timeout for router requests
35
+ MAX_ROUTING_STRATEGY_LENGTH: 2000 // Max chars for per-agent routing strategy
36
+ };
37
+
38
+ // Interface Types
39
+ const INTERFACE_TYPES = {
40
+ CLI: 'cli',
41
+ WEB: 'web',
42
+ VSCODE: 'vscode',
43
+ TELEGRAM: 'telegram',
44
+ DISCORD: 'discord'
45
+ };
46
+
47
+ // Agent Types
48
+ const AGENT_TYPES = {
49
+ USER_CREATED: 'user-created',
50
+ SYSTEM_AGENT: 'system-agent',
51
+ AGENT_ENGINEER: 'agent-engineer'
52
+ };
53
+
54
+ // Agent Status
55
+ const AGENT_STATUS = {
56
+ ACTIVE: 'active',
57
+ IDLE: 'idle',
58
+ BUSY: 'busy',
59
+ SUSPENDED: 'suspended',
60
+ PAUSED: 'paused'
61
+ };
62
+
63
+ // Agent Modes
64
+ const AGENT_MODES = {
65
+ CHAT: 'chat', // Default: single message → single response
66
+ AGENT: 'agent' // Autonomous: task → loop until complete (persistent mode)
67
+ };
68
+
69
+ // Agent Mode States
70
+ const AGENT_MODE_STATES = {
71
+ IDLE: 'idle', // Not executing anything
72
+ EXECUTING: 'executing', // Currently processing autonomous task
73
+ WAITING_APPROVAL: 'waiting_approval', // Paused for user approval
74
+ STOPPED: 'stopped' // User stopped execution
75
+ };
76
+
77
+ // Message Modes
78
+ const MESSAGE_MODES = {
79
+ CHAT: 'chat',
80
+ AGENT: 'agent'
81
+ };
82
+
83
+ // Message Roles
84
+ const MESSAGE_ROLES = {
85
+ USER: 'user',
86
+ ASSISTANT: 'assistant',
87
+ SYSTEM: 'system'
88
+ };
89
+
90
+ // Context Reference Types
91
+ const CONTEXT_REFERENCE_TYPES = {
92
+ FILE: 'file',
93
+ COMPONENT: 'component',
94
+ SELECTION: 'selection',
95
+ DIRECTORY: 'directory'
96
+ };
97
+
98
+ // Tool Status
99
+ const TOOL_STATUS = {
100
+ PENDING: 'pending',
101
+ EXECUTING: 'executing',
102
+ COMPLETED: 'completed',
103
+ FAILED: 'failed'
104
+ };
105
+
106
+ // Operation Status
107
+ const OPERATION_STATUS = {
108
+ EXECUTING: 'executing',
109
+ COMPLETED: 'completed',
110
+ FAILED: 'failed',
111
+ NOT_FOUND: 'not_found'
112
+ };
113
+
114
+ // Conversation Status
115
+ const CONVERSATION_STATUS = {
116
+ ACTIVE: 'active',
117
+ ARCHIVED: 'archived',
118
+ SUSPENDED: 'suspended'
119
+ };
120
+
121
+ // Error Types
122
+ const ERROR_TYPES = {
123
+ FILE_NOT_FOUND: 'FILE_NOT_FOUND',
124
+ PERMISSION_DENIED: 'PERMISSION_DENIED',
125
+ OPERATION_TIMEOUT: 'OPERATION_TIMEOUT',
126
+ RATE_LIMIT_EXCEEDED: 'RATE_LIMIT_EXCEEDED',
127
+ AUTHENTICATION_FAILED: 'AUTHENTICATION_FAILED',
128
+ UNKNOWN_ERROR: 'UNKNOWN_ERROR',
129
+ VALIDATION_ERROR: 'VALIDATION_ERROR',
130
+ CONFIGURATION_ERROR: 'CONFIGURATION_ERROR'
131
+ };
132
+
133
+ // HTTP Status Codes
134
+ const HTTP_STATUS = {
135
+ OK: 200,
136
+ BAD_REQUEST: 400,
137
+ UNAUTHORIZED: 401,
138
+ FORBIDDEN: 403,
139
+ NOT_FOUND: 404,
140
+ TOO_MANY_REQUESTS: 429,
141
+ INTERNAL_SERVER_ERROR: 500,
142
+ BAD_GATEWAY: 502,
143
+ SERVICE_UNAVAILABLE: 503,
144
+ GATEWAY_TIMEOUT: 504
145
+ };
146
+
147
+ // Model Providers
148
+ const MODEL_PROVIDERS = {
149
+ ANTHROPIC: 'anthropic',
150
+ OPENAI: 'openai',
151
+ AZURE: 'azure',
152
+ DEEPSEEK: 'deepseek',
153
+ PHI: 'phi',
154
+ OLLAMA: 'ollama'
155
+ };
156
+
157
+ // Model Names
158
+ const MODELS = { //TODO:update with moedels from server
159
+ ANTHROPIC_OPUS: 'anthropic-opus',
160
+ ANTHROPIC_SONNET: 'anthropic-sonnet',
161
+ ANTHROPIC_HAIKU: 'anthropic-haiku',
162
+ GPT_4: 'gpt-4',
163
+ GPT_4_MINI: 'gpt-4-mini',
164
+ GPT_5_1_CODEX_MINI: 'gpt-5.1-codex-mini',
165
+ DEEPSEEK_R1: 'deepseek-r1',
166
+ PHI_4: 'phi-4',
167
+ PHI_4_REASONING: 'phi-4-reasoning'
168
+ };
169
+
170
+ // Platform Model IDs (with prefixes)
171
+ const PLATFORM_MODELS = {
172
+ LOXIA_ANTHROPIC_OPUS: 'loxia-anthropic-opus',
173
+ LOXIA_ANTHROPIC_SONNET: 'loxia-anthropic-sonnet',
174
+ LOXIA_ANTHROPIC_HAIKU: 'loxia-anthropic-haiku',
175
+ LOXIA_GPT_4: 'loxia-gpt-4',
176
+ LOXIA_GPT_4_MINI: 'loxia-gpt-4-mini',
177
+ LOXIA_GPT_5_1_CODEX_MINI: 'loxia-gpt-5.1-codex-mini',
178
+ LOXIA_DEEPSEEK_R1: 'loxia-deepseek-r1',
179
+ LOXIA_PHI_4: 'loxia-phi-4',
180
+ LOXIA_PHI_4_REASONING: 'loxia-phi-4-reasoning'
181
+ };
182
+
183
+ // Direct Access Model IDs (with prefixes)
184
+ const DIRECT_MODELS = {
185
+ DIRECT_ANTHROPIC_OPUS: 'direct-anthropic-opus',
186
+ DIRECT_ANTHROPIC_SONNET: 'direct-anthropic-sonnet',
187
+ DIRECT_ANTHROPIC_HAIKU: 'direct-anthropic-haiku',
188
+ DIRECT_GPT_4: 'direct-gpt-4',
189
+ DIRECT_GPT_4_MINI: 'direct-gpt-4-mini',
190
+ DIRECT_GPT_5_1_CODEX_MINI: 'direct-gpt-5.1-codex-mini',
191
+ DIRECT_DEEPSEEK_R1: 'direct-deepseek-r1',
192
+ DIRECT_PHI_4: 'direct-phi-4',
193
+ DIRECT_PHI_4_REASONING: 'direct-phi-4-reasoning'
194
+ };
195
+
196
+ // Model Format Versions
197
+ const MODEL_FORMAT_VERSIONS = {
198
+ [MODELS.ANTHROPIC_OPUS]: 'anthropic-v1',
199
+ [MODELS.ANTHROPIC_SONNET]: 'anthropic-v1',
200
+ [MODELS.ANTHROPIC_HAIKU]: 'anthropic-v1',
201
+ [MODELS.GPT_4]: 'openai-v1',
202
+ [MODELS.GPT_4_MINI]: 'openai-v1',
203
+ [MODELS.GPT_5_1_CODEX_MINI]: 'openai-v1',
204
+ [MODELS.DEEPSEEK_R1]: 'deepseek-v1',
205
+ [MODELS.PHI_4]: 'phi-v1',
206
+ [MODELS.PHI_4_REASONING]: 'phi-v1',
207
+ DEFAULT: 'generic-v1'
208
+ };
209
+
210
+ // Tool Names
211
+ const TOOL_NAMES = {
212
+ TERMINAL: 'terminal',
213
+ FILESYSTEM: 'filesystem',
214
+ BROWSER: 'browser',
215
+ AGENT_DELAY: 'agentdelay',
216
+ EDITOR: 'editor',
217
+ GIT: 'git',
218
+ DATABASE: 'database'
219
+ };
220
+
221
+ // File Extensions and Languages
222
+ const FILE_EXTENSIONS = {
223
+ JAVASCRIPT: '.js',
224
+ JSX: '.jsx',
225
+ TYPESCRIPT: '.ts',
226
+ TSX: '.tsx',
227
+ PYTHON: '.py',
228
+ JAVA: '.java',
229
+ CPP: '.cpp',
230
+ C: '.c',
231
+ CSHARP: '.cs',
232
+ PHP: '.php',
233
+ RUBY: '.rb',
234
+ GO: '.go',
235
+ RUST: '.rs',
236
+ HTML: '.html',
237
+ CSS: '.css',
238
+ SCSS: '.scss',
239
+ JSON: '.json',
240
+ YAML: '.yml',
241
+ YAML_ALT: '.yaml',
242
+ MARKDOWN: '.md',
243
+ XML: '.xml',
244
+ SQL: '.sql'
245
+ };
246
+
247
+ const LANGUAGE_MAPPING = {
248
+ [FILE_EXTENSIONS.JAVASCRIPT]: 'javascript',
249
+ [FILE_EXTENSIONS.JSX]: 'jsx',
250
+ [FILE_EXTENSIONS.TYPESCRIPT]: 'typescript',
251
+ [FILE_EXTENSIONS.TSX]: 'tsx',
252
+ [FILE_EXTENSIONS.PYTHON]: 'python',
253
+ [FILE_EXTENSIONS.JAVA]: 'java',
254
+ [FILE_EXTENSIONS.CPP]: 'cpp',
255
+ [FILE_EXTENSIONS.C]: 'c',
256
+ [FILE_EXTENSIONS.CSHARP]: 'csharp',
257
+ [FILE_EXTENSIONS.PHP]: 'php',
258
+ [FILE_EXTENSIONS.RUBY]: 'ruby',
259
+ [FILE_EXTENSIONS.GO]: 'go',
260
+ [FILE_EXTENSIONS.RUST]: 'rust',
261
+ [FILE_EXTENSIONS.HTML]: 'html',
262
+ [FILE_EXTENSIONS.CSS]: 'css',
263
+ [FILE_EXTENSIONS.SCSS]: 'scss',
264
+ [FILE_EXTENSIONS.JSON]: 'json',
265
+ [FILE_EXTENSIONS.YAML]: 'yaml',
266
+ [FILE_EXTENSIONS.YAML_ALT]: 'yaml',
267
+ [FILE_EXTENSIONS.MARKDOWN]: 'markdown',
268
+ [FILE_EXTENSIONS.XML]: 'xml',
269
+ [FILE_EXTENSIONS.SQL]: 'sql'
270
+ };
271
+
272
+ // File Icons
273
+ const FILE_ICONS = {
274
+ [FILE_EXTENSIONS.JAVASCRIPT]: '📜',
275
+ [FILE_EXTENSIONS.JSX]: '⚛️',
276
+ [FILE_EXTENSIONS.TYPESCRIPT]: '📘',
277
+ [FILE_EXTENSIONS.TSX]: '⚛️',
278
+ [FILE_EXTENSIONS.PYTHON]: '🐍',
279
+ [FILE_EXTENSIONS.JAVA]: '☕',
280
+ [FILE_EXTENSIONS.HTML]: '🌐',
281
+ [FILE_EXTENSIONS.CSS]: '🎨',
282
+ [FILE_EXTENSIONS.JSON]: '📋',
283
+ [FILE_EXTENSIONS.MARKDOWN]: '📝',
284
+ [FILE_EXTENSIONS.YAML]: '⚙️',
285
+ [FILE_EXTENSIONS.YAML_ALT]: '⚙️',
286
+ DEFAULT: '📄'
287
+ };
288
+
289
+ // Context Icons
290
+ const CONTEXT_ICONS = {
291
+ [CONTEXT_REFERENCE_TYPES.FILE]: '📄',
292
+ [CONTEXT_REFERENCE_TYPES.COMPONENT]: '🔧',
293
+ [CONTEXT_REFERENCE_TYPES.SELECTION]: '✂️',
294
+ [CONTEXT_REFERENCE_TYPES.DIRECTORY]: '📁',
295
+ DEFAULT: '📎'
296
+ };
297
+
298
+ // State File Names
299
+ const STATE_FILES = {
300
+ PROJECT_STATE: 'project-state.json',
301
+ AGENT_INDEX: 'agent-index.json',
302
+ CONVERSATION_INDEX: 'conversation-index.json',
303
+ LAST_SESSION: 'last-session.json',
304
+ CONTEXT_REFERENCES: 'context-references.json',
305
+ ASYNC_OPERATIONS: 'operations/async-operations.json',
306
+ PAUSED_AGENTS: 'operations/paused-agents.json',
307
+ TOOL_HISTORY: 'operations/tool-history.json',
308
+ MODEL_ROUTER_CACHE: 'models/model-router-cache.json',
309
+ ERROR_RECOVERY_LOG: 'models/error-recovery-log.json'
310
+ };
311
+
312
+ // State Directory Structure
313
+ const STATE_DIRECTORIES = {
314
+ ROOT: '.loxia-state',
315
+ AGENTS: 'agents',
316
+ OPERATIONS: 'operations',
317
+ MODELS: 'models',
318
+ FLOWS: 'flows',
319
+ FLOW_RUNS: 'flow-runs'
320
+ };
321
+
322
+ // Quality Inspector Configuration
323
+ const QUALITY_INSPECTOR_CONFIG = {
324
+ CHECK_INTERVAL_MESSAGES: 10,
325
+ STUCK_PATTERNS: [
326
+ 'repetitive_commands',
327
+ 'infinite_waiting',
328
+ 'error_loops',
329
+ 'resource_exhaustion'
330
+ ],
331
+ INTERVENTION_THRESHOLD: 3,
332
+ COOLDOWN_PERIOD: 300000 // 5 minutes
333
+ };
334
+
335
+ // Orchestrator Actions
336
+ const ORCHESTRATOR_ACTIONS = {
337
+ CREATE_AGENT: 'create_agent',
338
+ UPDATE_AGENT: 'update_agent',
339
+ DELETE_AGENT: 'delete_agent',
340
+ UNLOAD_AGENT: 'unload_agent',
341
+ SEND_MESSAGE: 'send_message',
342
+ LIST_AGENTS: 'list_agents',
343
+ RESUME_SESSION: 'resume_session',
344
+ GET_SESSION_STATE: 'get_session_state',
345
+ PAUSE_AGENT: 'pause_agent',
346
+ RESUME_AGENT: 'resume_agent',
347
+ SWITCH_MODEL: 'switch_model',
348
+ GET_AGENT_STATUS: 'get_agent_status',
349
+ GET_AGENT_CONVERSATIONS: 'get_agent_conversations',
350
+ // Team operations
351
+ CREATE_TEAM: 'create_team',
352
+ UPDATE_TEAM: 'update_team',
353
+ DELETE_TEAM: 'delete_team',
354
+ LOAD_TEAM: 'load_team',
355
+ LIST_TEAMS: 'list_teams',
356
+ ADD_AGENT_TO_TEAM: 'add_agent_to_team',
357
+ REMOVE_AGENT_FROM_TEAM: 'remove_agent_from_team',
358
+ // Flow operations
359
+ CREATE_FLOW: 'create_flow',
360
+ UPDATE_FLOW: 'update_flow',
361
+ DELETE_FLOW: 'delete_flow',
362
+ GET_FLOW: 'get_flow',
363
+ LIST_FLOWS: 'list_flows',
364
+ EXECUTE_FLOW: 'execute_flow',
365
+ STOP_FLOW: 'stop_flow',
366
+ GET_FLOW_RUN: 'get_flow_run',
367
+ LIST_FLOW_RUNS: 'list_flow_runs'
368
+ };
369
+
370
+ // Message Types
371
+ const MESSAGE_TYPES = {
372
+ AGENT_NOTIFICATION: 'agent_notification',
373
+ AGENT_REDIRECT: 'agent_redirect',
374
+ TOOL_COMPLETION: 'tool_completion',
375
+ SYSTEM_MESSAGE: 'system_message',
376
+ AGENT_COMMUNICATION: 'agent_communication' // Inter-agent messages
377
+ };
378
+
379
+ // Inter-Agent Message Processing Configuration
380
+ const INTER_AGENT_MESSAGE = {
381
+ // Processing priorities
382
+ PRIORITY: {
383
+ LOW: 'low',
384
+ NORMAL: 'normal',
385
+ HIGH: 'high',
386
+ URGENT: 'urgent'
387
+ },
388
+
389
+ // Processing delays (in milliseconds) - avoid magic numbers
390
+ PROCESSING_DELAY: {
391
+ IMMEDIATE: 0, // Process immediately
392
+ SHORT: 500, // Half second delay
393
+ NORMAL: 2000, // 2 seconds delay
394
+ LONG: 5000 // 5 seconds delay
395
+ },
396
+
397
+ // Queue and processing limits
398
+ MAX_QUEUE_SIZE: 100, // Maximum messages in queue per agent
399
+ MAX_PROCESSING_RETRIES: 3, // Maximum retry attempts
400
+ PROCESSING_TIMEOUT: 30000, // 30 seconds timeout for processing
401
+
402
+ // Auto-response configuration
403
+ AUTO_RESPONSE_ENABLED: true, // Enable automatic responses
404
+ REQUIRE_AGENT_MODE: false, // If true, only respond in AGENT mode
405
+ PRESERVE_CONTEXT: true // Maintain conversation context during response
406
+ };
407
+
408
+ // Agent Redirect Attributes
409
+ const AGENT_REDIRECT_ATTRIBUTES = {
410
+ URGENT: 'urgent',
411
+ REQUIRES_RESPONSE: 'requiresResponse',
412
+ CONTEXT: 'context'
413
+ };
414
+
415
+ // Budget and usage tracking constants
416
+ const BUDGET_LIMITS = {
417
+ DAILY: 10.00, // $10 per day default
418
+ WEEKLY: 50.00, // $50 per week default
419
+ MONTHLY: 200.00 // $200 per month default
420
+ };
421
+
422
+ const COST_PER_TOKEN = {
423
+ [MODELS.ANTHROPIC_OPUS]: {
424
+ input: 0.000015, // $15 per 1M input tokens
425
+ output: 0.000075 // $75 per 1M output tokens
426
+ },
427
+ [MODELS.ANTHROPIC_SONNET]: {
428
+ input: 0.000003, // $3 per 1M input tokens
429
+ output: 0.000015 // $15 per 1M output tokens
430
+ },
431
+ [MODELS.ANTHROPIC_HAIKU]: {
432
+ input: 0.00000025, // $0.25 per 1M input tokens
433
+ output: 0.00000125 // $1.25 per 1M output tokens
434
+ },
435
+ [MODELS.GPT_4]: {
436
+ input: 0.000030, // $30 per 1M input tokens
437
+ output: 0.000060 // $60 per 1M output tokens
438
+ },
439
+ [MODELS.GPT_4_MINI]: {
440
+ input: 0.000000150, // $0.15 per 1M input tokens
441
+ output: 0.000000600 // $0.60 per 1M output tokens
442
+ },
443
+ [MODELS.GPT_5_1_CODEX_MINI]: {
444
+ input: 0.000002, // $2 per 1M input tokens
445
+ output: 0.000008 // $8 per 1M output tokens
446
+ },
447
+ [MODELS.DEEPSEEK_R1]: {
448
+ input: 0.000014, // $14 per 1M input tokens
449
+ output: 0.000028 // $28 per 1M output tokens
450
+ },
451
+ [MODELS.PHI_4]: {
452
+ input: 0.0000015, // $1.5 per 1M input tokens
453
+ output: 0.0000025 // $2.5 per 1M output tokens
454
+ },
455
+ [MODELS.PHI_4_REASONING]: {
456
+ input: 0.0000015, // $1.5 per 1M input tokens
457
+ output: 0.0000025 // $2.5 per 1M output tokens
458
+ }
459
+ };
460
+
461
+ const USAGE_ALERTS = {
462
+ THRESHOLDS: [50, 75, 90, 100], // Percentage thresholds for alerts
463
+ COOLDOWN_PERIOD: 3600000 // 1 hour cooldown between alerts
464
+ };
465
+
466
+ // WebSocket Events
467
+ const WS_EVENTS = {
468
+ HANDSHAKE: 'handshake',
469
+ HANDSHAKE_ACK: 'handshake_ack',
470
+ MESSAGE_RECEIVED: 'message_received',
471
+ AGENT_UPDATED: 'agent_updated',
472
+ TYPING_START: 'typing_start',
473
+ TYPING_STOP: 'typing_stop',
474
+ NOTIFICATION: 'notification',
475
+ ERROR: 'error'
476
+ };
477
+
478
+ // Connection Status
479
+ const CONNECTION_STATUS = {
480
+ CONNECTED: 'connected',
481
+ CONNECTING: 'connecting',
482
+ DISCONNECTED: 'disconnected',
483
+ ERROR: 'error'
484
+ };
485
+
486
+ // Themes
487
+ const THEMES = {
488
+ LIGHT: 'light',
489
+ DARK: 'dark',
490
+ SYSTEM: 'system'
491
+ };
492
+
493
+ // Notification Types
494
+ const NOTIFICATION_TYPES = {
495
+ INFO: 'info',
496
+ SUCCESS: 'success',
497
+ WARNING: 'warning',
498
+ ERROR: 'error'
499
+ };
500
+
501
+ // Orchestrator Status
502
+ const ORCHESTRATOR_STATUS = {
503
+ INITIALIZING: 'initializing',
504
+ RUNNING: 'running',
505
+ PAUSED: 'paused',
506
+ ERROR: 'error',
507
+ STOPPED: 'stopped'
508
+ };
509
+
510
+ // Static Code Analysis Constants
511
+ const STATIC_ANALYSIS = {
512
+ // Error severities
513
+ SEVERITY: {
514
+ CRITICAL: 'critical',
515
+ ERROR: 'error',
516
+ WARNING: 'warning',
517
+ INFO: 'info',
518
+ SUGGESTION: 'suggestion'
519
+ },
520
+
521
+ // Error categories
522
+ CATEGORY: {
523
+ SYNTAX: 'syntax',
524
+ TYPE: 'type',
525
+ IMPORT: 'import',
526
+ STYLE: 'style',
527
+ SECURITY: 'security',
528
+ PERFORMANCE: 'performance',
529
+ BEST_PRACTICE: 'best_practice'
530
+ },
531
+
532
+ // Supported languages
533
+ LANGUAGE: {
534
+ JAVASCRIPT: 'javascript',
535
+ TYPESCRIPT: 'typescript',
536
+ PYTHON: 'python',
537
+ CSS: 'css',
538
+ SCSS: 'scss',
539
+ LESS: 'less',
540
+ GO: 'go',
541
+ JAVA: 'java',
542
+ CSHARP: 'csharp',
543
+ RUBY: 'ruby',
544
+ PHP: 'php',
545
+ RUST: 'rust',
546
+ CPP: 'cpp',
547
+ C: 'c'
548
+ },
549
+
550
+ // File extension to language mapping
551
+ EXTENSION_TO_LANGUAGE: {
552
+ '.js': 'javascript',
553
+ '.jsx': 'javascript',
554
+ '.mjs': 'javascript',
555
+ '.cjs': 'javascript',
556
+ '.ts': 'typescript',
557
+ '.tsx': 'typescript',
558
+ '.py': 'python',
559
+ '.css': 'css',
560
+ '.scss': 'scss',
561
+ '.sass': 'scss',
562
+ '.less': 'less',
563
+ '.go': 'go',
564
+ '.java': 'java',
565
+ '.cs': 'csharp',
566
+ '.rb': 'ruby',
567
+ '.php': 'php',
568
+ '.rs': 'rust',
569
+ '.cpp': 'cpp',
570
+ '.cc': 'cpp',
571
+ '.cxx': 'cpp',
572
+ '.c': 'c',
573
+ '.h': 'c',
574
+ '.hpp': 'cpp'
575
+ },
576
+
577
+ // Framework manifest files
578
+ FRAMEWORK_MANIFESTS: {
579
+ JAVASCRIPT: 'package.json',
580
+ PYTHON: 'requirements.txt',
581
+ PYTHON_POETRY: 'pyproject.toml',
582
+ PYTHON_PIPENV: 'Pipfile',
583
+ GO: 'go.mod',
584
+ JAVA_MAVEN: 'pom.xml',
585
+ JAVA_GRADLE: 'build.gradle',
586
+ RUBY: 'Gemfile',
587
+ PHP: 'composer.json',
588
+ RUST: 'Cargo.toml',
589
+ CSHARP: '*.csproj'
590
+ },
591
+
592
+ // JavaScript/TypeScript frameworks
593
+ JS_FRAMEWORKS: {
594
+ REACT: 'react',
595
+ VUE: 'vue',
596
+ ANGULAR: '@angular/core',
597
+ SVELTE: 'svelte',
598
+ NEXT: 'next',
599
+ NUXT: 'nuxt',
600
+ EXPRESS: 'express',
601
+ NEST: '@nestjs/core',
602
+ FASTIFY: 'fastify',
603
+ KOA: 'koa'
604
+ },
605
+
606
+ // Python frameworks
607
+ PYTHON_FRAMEWORKS: {
608
+ DJANGO: 'django',
609
+ FLASK: 'flask',
610
+ FASTAPI: 'fastapi',
611
+ TORNADO: 'tornado',
612
+ PYRAMID: 'pyramid',
613
+ BOTTLE: 'bottle'
614
+ },
615
+
616
+ // Analysis settings
617
+ MAX_FILE_SIZE_FOR_ANALYSIS: 5242880, // 5MB
618
+ MAX_FILES_PER_BATCH: 100,
619
+ ANALYSIS_TIMEOUT: 60000, // 60 seconds per file
620
+ ENABLE_CACHE: true,
621
+ CACHE_DURATION: 300000 // 5 minutes
622
+ };
623
+
624
+ // Conversation Compactization Configuration
625
+ const COMPACTION_CONFIG = {
626
+ // Thresholds and triggers
627
+ DEFAULT_THRESHOLD: 0.7, // 70% of context window
628
+ MIN_THRESHOLD: 0.6, // Minimum allowed threshold (60%)
629
+ MAX_THRESHOLD: 0.9, // Maximum allowed threshold (90%)
630
+
631
+ // Tail-preserving compaction: summarize oldest messages, keep recent
632
+ TAIL_PRESERVE_PERCENTAGE: 0.50, // Keep the most recent 50% of chars verbatim
633
+
634
+ // Multi-pass compaction
635
+ MAX_COMPACTION_PASSES: 3, // Maximum summarization passes per compaction
636
+
637
+ // Segment constraints
638
+ MIN_MIDDLE_SEGMENT_PERCENTAGE: 0.50, // Middle must be at least 50% of messages
639
+ MAX_BOOKEND_PERCENTAGE: 0.50, // Beginning + end together capped at 50%
640
+
641
+ // Recommended model pool for compaction (validated against live model catalog at runtime)
642
+ // Names MUST match catalog keys exactly (no azure-openai- prefix)
643
+ // Ordered by context window size (largest first) to handle very large conversations
644
+ COMPACTION_MODELS: [
645
+ 'gpt-5.1-codex-mini', // 400K context - best for large conversations
646
+ 'gpt-5-mini', // 400K context
647
+ 'gpt-5-nano', // 400K context - lightweight
648
+ 'o4-mini' // 128K context - reasoning model
649
+ ],
650
+
651
+ // Context windows for recommended compaction models (fallback if modelsService unavailable)
652
+ MODEL_CONTEXT_WINDOWS: {
653
+ 'gpt-5.1-codex-mini': 400000,
654
+ 'gpt-5-mini': 400000,
655
+ 'gpt-5-nano': 400000,
656
+ 'o4-mini': 128000
657
+ },
658
+
659
+ // Token limits
660
+ MAX_OUTPUT_TOKENS: 10000, // Hard ceiling on AI response tokens (used by aiService + compaction check)
661
+ MAX_SUMMARY_TOKENS: 8000, // Max tokens for summary generation
662
+ MIN_MESSAGES_FOR_COMPACTION: 10, // Don't compact tiny conversations
663
+
664
+ // Token estimation (used when no AI response data exists)
665
+ CHARS_PER_TOKEN_ESTIMATE: 3, // Conservative: 1 token ~ 3 characters
666
+
667
+ // Summary markers
668
+ COMPACTION_SUMMARY_PREFIX: '[CONVERSATION SUMMARY',
669
+ COMPACTION_SUMMARY_SUFFIX: '[END SUMMARY]',
670
+
671
+ // Timeouts
672
+ COMPACTION_TIMEOUT_MS: 30000, // 30 seconds max for compaction
673
+
674
+ // Oversized message splitting
675
+ OVERSIZED_MESSAGE_THRESHOLD: 50000, // 50K chars (~16K tokens) — messages larger than this get split
676
+ MAX_CHUNK_SIZE: 30000, // 30K chars (~10K tokens) — target size for each chunk
677
+
678
+ // Summarizer budget overhead — subtracted from summarizer's context window to get usable capacity
679
+ SUMMARIZER_SYSTEM_PROMPT_OVERHEAD: 500, // tokens reserved for compaction system prompt
680
+ SUMMARIZER_TEMPLATE_OVERHEAD: 800, // tokens for the summary prompt template text
681
+ SUMMARIZER_SAFETY_MARGIN: 5000, // token buffer for estimation inaccuracy
682
+
683
+ // Quality validation
684
+ MIN_REDUCTION_PERCENTAGE: 10, // Compaction must reduce by at least 10%
685
+ MAX_ACCEPTABLE_TOKEN_COUNT_AFTER: 0.85, // After compaction, should be below 85% of context
686
+ };
687
+
688
+ // Compaction strategies
689
+ const COMPACTION_STRATEGIES = {
690
+ SUMMARIZATION: 'summarization', // AI-based summarization (sandwich approach)
691
+ };
692
+
693
+ // Compaction status for UI feedback
694
+ const COMPACTION_STATUS = {
695
+ IDLE: 'idle',
696
+ STARTING: 'starting',
697
+ IN_PROGRESS: 'in-progress',
698
+ COMPLETED: 'completed',
699
+ FAILED: 'failed',
700
+ };
701
+
702
+ // Agent Scheduler Configuration
703
+ const SCHEDULER_CONFIG = {
704
+ // Timing configuration (milliseconds)
705
+ ITERATION_DELAY_MS: 1000, // Delay between scheduler cycles
706
+
707
+ // Parallel processing - worker pool pattern
708
+ MAX_CONCURRENT_AGENTS: 3, // Max agents processed in parallel (worker pool size)
709
+
710
+ // Repetition detection - sliding window approach
711
+ // We track recent state hashes to detect when agent is stuck in a loop
712
+ STATE_HASH_WINDOW_SIZE: 20, // Size of sliding window for repetition detection
713
+ REPETITION_THRESHOLD: 5, // Same hash appearing this many times in window = loop detected
714
+
715
+ // Recovery delays (milliseconds)
716
+ API_KEY_ERROR_DELAY_MS: 5 * 60 * 1000, // 5 minutes for API key issues
717
+ RATE_LIMIT_DELAY_MS: 2 * 60 * 1000, // 2 minutes for rate limiting
718
+ NETWORK_ERROR_DELAY_MS: 30 * 1000, // 30 seconds for network issues
719
+ UNKNOWN_ERROR_DELAY_MS: 60 * 1000, // 1 minute for unknown errors
720
+
721
+ // Recent message threshold for inter-agent tracking
722
+ RECENT_MESSAGE_THRESHOLD_MS: 10 * 60 * 1000, // 10 minutes
723
+
724
+ // Consecutive messages without tool usage tracking (AGENT mode only)
725
+ // Reminds agents to maintain their task list when not using tools
726
+ CONSECUTIVE_NO_TOOL_THRESHOLD: 3, // After this many messages without tools, inject reminder
727
+ CONSECUTIVE_NO_TOOL_ENABLED: true, // Feature toggle
728
+
729
+ // AI call watchdog — aborts the request if no bytes come back before this elapses.
730
+ // For streaming calls the timer is cleared on the first chunk; for non-streaming
731
+ // it applies to the whole call. Without this, a hung model call wedges the
732
+ // per-agent processing lock indefinitely.
733
+ AI_PRESTREAM_TIMEOUT_MS: 60 * 1000,
734
+
735
+ // Empty-response stall detection — when the model returns a response whose
736
+ // content is empty or whitespace-only AND carries no tool calls, the cycle
737
+ // made no progress. We keep retrying (the next cycle may get a real
738
+ // response), but we don't pollute stateHashHistory with phantom records and
739
+ // we surface a user-facing error + switch to CHAT once the stall has gone on
740
+ // long enough.
741
+ EMPTY_RESPONSE_STALL_THRESHOLD: 5, // number of empties to tolerate
742
+ EMPTY_RESPONSE_STALL_WINDOW_MS: 60 * 1000, // within this elapsed time
743
+ };
744
+
745
+ // Agent Activity Status - reasons for activation/deactivation
746
+ const AGENT_ACTIVITY_STATUS = {
747
+ // Active reasons
748
+ HAS_PENDING_TASKS: 'has-pending-tasks',
749
+ HAS_QUEUED_MESSAGES: 'has-queued-messages',
750
+ HAS_USER_MESSAGES: 'has-user-messages',
751
+ HAS_INTER_AGENT_MESSAGES: 'has-inter-agent-messages',
752
+ HAS_TOOL_RESULTS: 'has-tool-results',
753
+ AUTONOMOUS_MODE_ACTIVE: 'autonomous-mode-active',
754
+ HAS_TTL_REMAINING: 'has-ttl-remaining', // Agent has TTL cycles remaining
755
+
756
+ // Inactive reasons
757
+ AGENT_NOT_FOUND: 'agent-not-found',
758
+ AGENT_INACTIVE_STATUS: 'agent-inactive-status',
759
+ AGENT_DELAYED: 'agent-delayed',
760
+ AGENT_PAUSED: 'agent-paused',
761
+ AWAITING_USER_INPUT: 'awaiting-user-input',
762
+ STOP_REQUESTED: 'stop-requested',
763
+ NO_PENDING_WORK: 'no-pending-work',
764
+ CHAT_MODE_NO_MESSAGES: 'chat-mode-no-messages',
765
+ UNKNOWN_MODE: 'unknown-mode',
766
+ JOB_DONE_EXECUTED: 'job-done-executed',
767
+ };
768
+
769
+ // Scheduler trigger sources - what caused an agent to be considered for scheduling
770
+ const SCHEDULER_TRIGGERS = {
771
+ SCHEDULER_STARTUP: 'scheduler-startup',
772
+ MODE_CHANGE_TO_AGENT: 'mode-change-to-agent',
773
+ MODE_CHANGE_TO_CHAT: 'mode-change-to-chat',
774
+ USER_MESSAGE: 'user-message',
775
+ INTER_AGENT_MESSAGE: 'inter-agent-message',
776
+ TOOL_COMPLETION: 'tool-completion',
777
+ STOPPED_BY_USER: 'stopped-by-user',
778
+ PROCESSING_COMPLETED: 'processing-completed',
779
+ PROCESSING_ERROR: 'processing-error',
780
+ };
781
+
782
+ // Task status values
783
+ const TASK_STATUS = {
784
+ PENDING: 'pending',
785
+ IN_PROGRESS: 'in_progress',
786
+ COMPLETED: 'completed',
787
+ BLOCKED: 'blocked',
788
+ FAILED: 'failed',
789
+ };
790
+
791
+ // Task priority levels
792
+ const TASK_PRIORITY = {
793
+ URGENT: 'urgent',
794
+ HIGH: 'high',
795
+ MEDIUM: 'medium',
796
+ LOW: 'low',
797
+ };
798
+
799
+ // Task priority order (lower number = higher priority)
800
+ const TASK_PRIORITY_ORDER = {
801
+ [TASK_PRIORITY.URGENT]: 0,
802
+ [TASK_PRIORITY.HIGH]: 1,
803
+ [TASK_PRIORITY.MEDIUM]: 2,
804
+ [TASK_PRIORITY.LOW]: 3,
805
+ };
806
+
807
+ // Terminal Tool Configuration
808
+ const TERMINAL_CONFIG = {
809
+ // Output retrieval defaults
810
+ DEFAULT_TAIL_LINES: 100, // Default number of lines for getTaskOutput
811
+ EXPANDED_VIEW_TAIL_LINES: 50, // Lines shown in expanded dropdown view
812
+ MAX_OUTPUT_LENGTH: 50000, // Max characters for output retrieval
813
+
814
+ // UI refresh/polling
815
+ POLLING_INTERVAL_MS: 2000, // Polling interval for task updates
816
+
817
+ // Recent tasks limits
818
+ RECENT_TASKS_LIMIT: 20, // Max recent tasks to fetch from backend
819
+ RECENT_TASKS_UI_LIMIT: 10, // Max recent tasks shown in UI dropdown
820
+
821
+ // Task states
822
+ STATES: {
823
+ RUNNING: 'running',
824
+ WAITING_FOR_INPUT: 'waiting_for_input',
825
+ COMPLETED: 'completed',
826
+ FAILED: 'failed'
827
+ }
828
+ };
829
+
830
+ // Version
831
+ const SYSTEM_VERSION = '3.1.0';
832
+
833
+ // Export all constants using ES module syntax
834
+ export {
835
+ SYSTEM_DEFAULTS,
836
+ MODEL_ROUTER_CONFIG,
837
+ INTERFACE_TYPES,
838
+ AGENT_TYPES,
839
+ AGENT_STATUS,
840
+ AGENT_MODES,
841
+ AGENT_MODE_STATES,
842
+ MESSAGE_MODES,
843
+ MESSAGE_ROLES,
844
+ CONTEXT_REFERENCE_TYPES,
845
+ TOOL_STATUS,
846
+ OPERATION_STATUS,
847
+ CONVERSATION_STATUS,
848
+ ERROR_TYPES,
849
+ HTTP_STATUS,
850
+ MODEL_PROVIDERS,
851
+ MODELS,
852
+ PLATFORM_MODELS,
853
+ DIRECT_MODELS,
854
+ MODEL_FORMAT_VERSIONS,
855
+ TOOL_NAMES,
856
+ FILE_EXTENSIONS,
857
+ LANGUAGE_MAPPING,
858
+ FILE_ICONS,
859
+ CONTEXT_ICONS,
860
+ STATE_FILES,
861
+ STATE_DIRECTORIES,
862
+ QUALITY_INSPECTOR_CONFIG,
863
+ ORCHESTRATOR_ACTIONS,
864
+ MESSAGE_TYPES,
865
+ INTER_AGENT_MESSAGE,
866
+ AGENT_REDIRECT_ATTRIBUTES,
867
+ BUDGET_LIMITS,
868
+ COST_PER_TOKEN,
869
+ USAGE_ALERTS,
870
+ WS_EVENTS,
871
+ CONNECTION_STATUS,
872
+ THEMES,
873
+ NOTIFICATION_TYPES,
874
+ ORCHESTRATOR_STATUS,
875
+ STATIC_ANALYSIS,
876
+ COMPACTION_CONFIG,
877
+ COMPACTION_STRATEGIES,
878
+ COMPACTION_STATUS,
879
+ SCHEDULER_CONFIG,
880
+ AGENT_ACTIVITY_STATUS,
881
+ SCHEDULER_TRIGGERS,
882
+ TASK_STATUS,
883
+ TASK_PRIORITY,
884
+ TASK_PRIORITY_ORDER,
885
+ TERMINAL_CONFIG,
886
+ SYSTEM_VERSION
872
887
  };