onbuzz 4.3.0 → 4.5.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 (989) hide show
  1. package/package.json +1 -1
  2. package/src/core/__tests__/agentScheduler.visualizer.test.js +258 -0
  3. package/src/core/agentPool.js +4 -0
  4. package/src/core/agentScheduler.js +16 -1
  5. package/src/core/stateManager.js +5 -0
  6. package/src/index.js +34 -0
  7. package/src/interfaces/__tests__/agentContextRoutes.test.js +272 -0
  8. package/src/interfaces/__tests__/schedulerRoutes.test.js +176 -0
  9. package/src/interfaces/agentContextRoutes.js +257 -0
  10. package/src/interfaces/schedulerRoutes.js +50 -0
  11. package/src/interfaces/webServer.js +77 -20
  12. package/src/modules/widget/__tests__/acceptance.test.js +267 -0
  13. package/src/modules/widget/__tests__/codeAnalyzer.test.js +340 -0
  14. package/src/modules/widget/__tests__/eventBus.test.js +169 -0
  15. package/src/modules/widget/__tests__/galleryActions.test.js +290 -0
  16. package/src/modules/widget/__tests__/galleryStore.test.js +269 -0
  17. package/src/modules/widget/__tests__/isDisabled.test.js +41 -0
  18. package/src/modules/widget/__tests__/naming.test.js +204 -0
  19. package/src/modules/widget/__tests__/phishingScanner.test.js +75 -0
  20. package/src/modules/widget/__tests__/routes.test.js +678 -0
  21. package/src/modules/widget/__tests__/runtime.test.js +401 -0
  22. package/src/modules/widget/__tests__/schema.test.js +155 -0
  23. package/src/modules/widget/__tests__/upgrade.test.js +257 -0
  24. package/src/modules/widget/__tests__/versioning.test.js +309 -0
  25. package/src/modules/widget/__tests__/webComponentRuntime.test.js +565 -0
  26. package/src/modules/widget/__tests__/widgetTool.test.js +316 -0
  27. package/src/modules/widget/codeAnalyzer.js +351 -0
  28. package/src/modules/widget/galleryStore.js +324 -0
  29. package/src/modules/widget/index.js +38 -0
  30. package/src/modules/widget/phishingScanner.js +47 -0
  31. package/src/modules/widget/routes.js +435 -0
  32. package/src/modules/widget/runtime/bundle.js +640 -0
  33. package/src/modules/widget/runtime/webComponentBundle.js +470 -0
  34. package/src/modules/widget/schema.js +181 -0
  35. package/src/modules/widget/widgetTool.js +1389 -0
  36. package/src/services/__tests__/contextInjectionService.test.js +41 -0
  37. package/src/services/contextInjectionService.js +24 -0
  38. package/src/tools/__tests__/platformControlAgentTeam.test.js +623 -0
  39. package/src/tools/__tests__/platformControlAgentTeamPermissions.test.js +253 -0
  40. package/src/tools/__tests__/platformControlAncestry.test.js +131 -0
  41. package/src/tools/__tests__/platformControlCascade.test.js +177 -0
  42. package/src/tools/__tests__/platformControlPermissions.test.js +128 -0
  43. package/src/tools/__tests__/platformControlPersistence.test.js +134 -0
  44. package/src/tools/__tests__/platformControlTool.test.js +391 -0
  45. package/src/tools/__tests__/terminalDedup.test.js +324 -0
  46. package/src/tools/platformControl/ancestry.js +85 -0
  47. package/src/tools/platformControl/cascadeService.js +146 -0
  48. package/src/tools/platformControl/permissions.js +394 -0
  49. package/src/tools/platformControlTool.js +854 -0
  50. package/src/tools/terminalDedup.js +178 -0
  51. package/src/tools/terminalTool.js +28 -0
  52. package/src/utilities/constants.js +1 -1
  53. package/web-ui/build/index.html +2 -2
  54. package/web-ui/build/static/1c-Cxgysx0K.js +1 -0
  55. package/web-ui/build/static/abap-D9Pd8DUG.js +1 -0
  56. package/web-ui/build/static/abnf-CHs5P8yl.js +1 -0
  57. package/web-ui/build/static/abnf-D5OtFEZO.js +1 -0
  58. package/web-ui/build/static/accesslog-CTD5Frmr.js +1 -0
  59. package/web-ui/build/static/actionscript-BN0BKQI7.js +1 -0
  60. package/web-ui/build/static/actionscript-DQNwbYlU.js +1 -0
  61. package/web-ui/build/static/ada-8O7AmGii.js +1 -0
  62. package/web-ui/build/static/ada-p8y2qCLB.js +1 -0
  63. package/web-ui/build/static/agda-BzT4bKSx.js +1 -0
  64. package/web-ui/build/static/al-Caq7o9RG.js +1 -0
  65. package/web-ui/build/static/angelscript-DivMpSHf.js +1 -0
  66. package/web-ui/build/static/antlr4-B1D_tnKH.js +1 -0
  67. package/web-ui/build/static/apache-l88_LooT.js +1 -0
  68. package/web-ui/build/static/apacheconf-kaxXABFE.js +1 -0
  69. package/web-ui/build/static/apex-CSdSRWUv.js +1 -0
  70. package/web-ui/build/static/apl-CHwVg89T.js +1 -0
  71. package/web-ui/build/static/applescript-C64qdYZf.js +1 -0
  72. package/web-ui/build/static/applescript-CqTGrBVp.js +1 -0
  73. package/web-ui/build/static/aql-BwKKr7z7.js +1 -0
  74. package/web-ui/build/static/arcade-C6oqHEwh.js +1 -0
  75. package/web-ui/build/static/arduino-DB4E20Km.js +1 -0
  76. package/web-ui/build/static/arduino-DKpgmHjE.js +1 -0
  77. package/web-ui/build/static/arff-CBbf8E8O.js +1 -0
  78. package/web-ui/build/static/armasm-Bogg7lrz.js +1 -0
  79. package/web-ui/build/static/asciidoc-3ZlDsfKD.js +1 -0
  80. package/web-ui/build/static/asciidoc-Cc88g_au.js +1 -0
  81. package/web-ui/build/static/asm6502-B4rN-vZ1.js +1 -0
  82. package/web-ui/build/static/asmatmel-B8zZLWGk.js +1 -0
  83. package/web-ui/build/static/aspectj-XdNtCtbN.js +1 -0
  84. package/web-ui/build/static/aspnet-DZVKB5n1.js +1 -0
  85. package/web-ui/build/static/autohotkey-CxDWLQqM.js +1 -0
  86. package/web-ui/build/static/autohotkey-DJStPrtS.js +1 -0
  87. package/web-ui/build/static/autoit-BWirJOCg.js +1 -0
  88. package/web-ui/build/static/autoit-CJcfmsnl.js +1 -0
  89. package/web-ui/build/static/avisynth-C7JQe3L7.js +1 -0
  90. package/web-ui/build/static/avrasm-CMiuHQvu.js +1 -0
  91. package/web-ui/build/static/avro-idl-kaRVyxMP.js +1 -0
  92. package/web-ui/build/static/awk-CQ70Cyh1.js +1 -0
  93. package/web-ui/build/static/axapta-DRxAzlG8.js +1 -0
  94. package/web-ui/build/static/bash-B2XqEYpT.js +1 -0
  95. package/web-ui/build/static/bash-D-D1taMA.js +1 -0
  96. package/web-ui/build/static/basic-Da1x7OIZ.js +1 -0
  97. package/web-ui/build/static/basic-Dslk2ZwT.js +1 -0
  98. package/web-ui/build/static/batch-B0wJNPoF.js +1 -0
  99. package/web-ui/build/static/bbcode-BXDdc2HS.js +1 -0
  100. package/web-ui/build/static/bicep-iiH-nx9J.js +1 -0
  101. package/web-ui/build/static/birb-DuTqqibI.js +1 -0
  102. package/web-ui/build/static/bison-D1Hw6owA.js +1 -0
  103. package/web-ui/build/static/bnf-BRhzfr87.js +1 -0
  104. package/web-ui/build/static/bnf-u1Iy1Ku7.js +1 -0
  105. package/web-ui/build/static/brainfuck-C4R5VJ3_.js +1 -0
  106. package/web-ui/build/static/brainfuck-C8niWF0i.js +1 -0
  107. package/web-ui/build/static/brightscript-DavMfkHx.js +1 -0
  108. package/web-ui/build/static/bro-CEMPoYum.js +1 -0
  109. package/web-ui/build/static/bsl-COeqiMqc.js +1 -0
  110. package/web-ui/build/static/c-BaaVQwFt.js +1 -0
  111. package/web-ui/build/static/c-BvALLiMv.js +1 -0
  112. package/web-ui/build/static/c-like-C4yx6s7b.js +1 -0
  113. package/web-ui/build/static/cal-CSxgKgNR.js +1 -0
  114. package/web-ui/build/static/capnproto-C9cMEmIo.js +1 -0
  115. package/web-ui/build/static/ceylon-Dj67Lf2T.js +1 -0
  116. package/web-ui/build/static/cfscript-BhALECgj.js +1 -0
  117. package/web-ui/build/static/chaiscript-Cg5weNRB.js +1 -0
  118. package/web-ui/build/static/cil-BR-JCsPu.js +1 -0
  119. package/web-ui/build/static/clean-xJMmqZ4X.js +1 -0
  120. package/web-ui/build/static/clojure-9C3tRo_T.js +1 -0
  121. package/web-ui/build/static/clojure-C2KNwa0h.js +1 -0
  122. package/web-ui/build/static/clojure-repl-B-pke3nS.js +1 -0
  123. package/web-ui/build/static/cmake-C0BFHpjZ.js +1 -0
  124. package/web-ui/build/static/cmake-DYoa_Kz_.js +1 -0
  125. package/web-ui/build/static/cobol-Bj_qcMsY.js +1 -0
  126. package/web-ui/build/static/coffeescript-C2KEz8d0.js +1 -0
  127. package/web-ui/build/static/coffeescript-CQsP9N_M.js +1 -0
  128. package/web-ui/build/static/concurnas-Ceu24KQb.js +1 -0
  129. package/web-ui/build/static/coq-CP7VW0bo.js +1 -0
  130. package/web-ui/build/static/coq-DQry0I8v.js +1 -0
  131. package/web-ui/build/static/cos-DAjhu7pi.js +1 -0
  132. package/web-ui/build/static/cpp-BwHJ0JtK.js +1 -0
  133. package/web-ui/build/static/cpp-Dro3stzS.js +1 -0
  134. package/web-ui/build/static/crmsh-Bnwknpi9.js +1 -0
  135. package/web-ui/build/static/crystal-B7TVeIo6.js +1 -0
  136. package/web-ui/build/static/crystal-Cy5JlSrW.js +1 -0
  137. package/web-ui/build/static/csharp-CeouYZK3.js +1 -0
  138. package/web-ui/build/static/csharp-Dv2oxLAS.js +1 -0
  139. package/web-ui/build/static/cshtml-C9IRHsFH.js +1 -0
  140. package/web-ui/build/static/csp-C85pVqYT.js +1 -0
  141. package/web-ui/build/static/csp-MJntgwIj.js +1 -0
  142. package/web-ui/build/static/css-DWTfQjN4.js +1 -0
  143. package/web-ui/build/static/css-extras-BmVbsPjr.js +1 -0
  144. package/web-ui/build/static/csv-zUw-JkSo.js +1 -0
  145. package/web-ui/build/static/cypher-DQOOp0bG.js +1 -0
  146. package/web-ui/build/static/d-B7Cku9c8.js +1 -0
  147. package/web-ui/build/static/d-Lnzvs4Wd.js +1 -0
  148. package/web-ui/build/static/dart-CeK_W9Mg.js +1 -0
  149. package/web-ui/build/static/dart-Z5nwVCn_.js +1 -0
  150. package/web-ui/build/static/dataweave-Bv7GTsiJ.js +1 -0
  151. package/web-ui/build/static/dax-CxkNT7ml.js +1 -0
  152. package/web-ui/build/static/delphi-BnBBHmHI.js +1 -0
  153. package/web-ui/build/static/dhall-DzzkunJZ.js +1 -0
  154. package/web-ui/build/static/diff-BKZzYJzc.js +1 -0
  155. package/web-ui/build/static/diff-BfTiUZV3.js +1 -0
  156. package/web-ui/build/static/django-BY4l8873.js +1 -0
  157. package/web-ui/build/static/django-NRVGlUZ_.js +1 -0
  158. package/web-ui/build/static/dns-Dvc8YawT.js +1 -0
  159. package/web-ui/build/static/dns-zone-file-CkaiOrlK.js +1 -0
  160. package/web-ui/build/static/docker-BQXYNHPO.js +1 -0
  161. package/web-ui/build/static/dockerfile-CkHfYmB1.js +1 -0
  162. package/web-ui/build/static/dos-Cj0YcQAg.js +1 -0
  163. package/web-ui/build/static/dot-zgBkKTS-.js +1 -0
  164. package/web-ui/build/static/dsconfig-Yy07ZSap.js +1 -0
  165. package/web-ui/build/static/dts-DyTWnuFT.js +1 -0
  166. package/web-ui/build/static/dust-CKq7f4u7.js +1 -0
  167. package/web-ui/build/static/ebnf-DJRrwYUt.js +1 -0
  168. package/web-ui/build/static/ebnf-RHbRUELR.js +1 -0
  169. package/web-ui/build/static/editorconfig-BPnyfBW2.js +1 -0
  170. package/web-ui/build/static/eiffel-yj-2JB74.js +1 -0
  171. package/web-ui/build/static/ejs-DitQDEAj.js +1 -0
  172. package/web-ui/build/static/elixir-3QGdRPiZ.js +1 -0
  173. package/web-ui/build/static/elixir-DjVihWJd.js +1 -0
  174. package/web-ui/build/static/elm-BY6TIO5U.js +1 -0
  175. package/web-ui/build/static/elm-CRkIBVgc.js +1 -0
  176. package/web-ui/build/static/erb-Djhpl6Qv.js +1 -0
  177. package/web-ui/build/static/erb-T-e_0q4M.js +1 -0
  178. package/web-ui/build/static/erlang-BHne0Sow.js +1 -0
  179. package/web-ui/build/static/erlang-BwFMbXMn.js +1 -0
  180. package/web-ui/build/static/erlang-repl-BkeLNBB1.js +1 -0
  181. package/web-ui/build/static/etlua-C7wAJl9b.js +1 -0
  182. package/web-ui/build/static/excel-DxE1g8nj.js +1 -0
  183. package/web-ui/build/static/excel-formula-CJfyOSIQ.js +1 -0
  184. package/web-ui/build/static/factor-CoKZ2w9G.js +1 -0
  185. package/web-ui/build/static/false-R3UgYwdZ.js +1 -0
  186. package/web-ui/build/static/firestore-security-rules-Na-FK95T.js +1 -0
  187. package/web-ui/build/static/fix-CvUjGqrP.js +1 -0
  188. package/web-ui/build/static/flix-DZcdobtd.js +1 -0
  189. package/web-ui/build/static/flow-Bs4ybDfF.js +1 -0
  190. package/web-ui/build/static/fortran-Bo7HQHVz.js +1 -0
  191. package/web-ui/build/static/fortran-C01QKAjv.js +1 -0
  192. package/web-ui/build/static/fsharp-Bl0db-E4.js +1 -0
  193. package/web-ui/build/static/fsharp-CyZIu__H.js +1 -0
  194. package/web-ui/build/static/ftl-CWXbnuJ8.js +1 -0
  195. package/web-ui/build/static/gams-BqHeBOiK.js +1 -0
  196. package/web-ui/build/static/gap-Dotaw9CX.js +1 -0
  197. package/web-ui/build/static/gauss-BT78eAPL.js +1 -0
  198. package/web-ui/build/static/gcode-MKCsCHbV.js +1 -0
  199. package/web-ui/build/static/gcode-bZIzS7dq.js +1 -0
  200. package/web-ui/build/static/gdscript-BfFdzROd.js +1 -0
  201. package/web-ui/build/static/gedcom-C-0fkvQT.js +1 -0
  202. package/web-ui/build/static/gherkin-Bgefs1Ac.js +1 -0
  203. package/web-ui/build/static/gherkin-BwLhttSG.js +1 -0
  204. package/web-ui/build/static/git-Cf3XNFwK.js +1 -0
  205. package/web-ui/build/static/glsl-BRBvgtKX.js +1 -0
  206. package/web-ui/build/static/glsl-Ci0Ywihb.js +1 -0
  207. package/web-ui/build/static/gml-BGED3ZV5.js +1 -0
  208. package/web-ui/build/static/gml-Bo5ybH2Z.js +1 -0
  209. package/web-ui/build/static/gn-Dvq3uq8q.js +1 -0
  210. package/web-ui/build/static/go-DEXubI7V.js +1 -0
  211. package/web-ui/build/static/go-DQ-rOBtr.js +1 -0
  212. package/web-ui/build/static/go-module-CJ0C_rZQ.js +1 -0
  213. package/web-ui/build/static/golo-BMZyESOG.js +1 -0
  214. package/web-ui/build/static/gradle-DamtVT5m.js +1 -0
  215. package/web-ui/build/static/graphql-BERukF58.js +1 -0
  216. package/web-ui/build/static/groovy-B-WmRKEQ.js +1 -0
  217. package/web-ui/build/static/groovy-BzgGHCpW.js +1 -0
  218. package/web-ui/build/static/haml-B50hpu0J.js +1 -0
  219. package/web-ui/build/static/haml-vZAqNnLr.js +1 -0
  220. package/web-ui/build/static/handlebars-ChvSiZA5.js +1 -0
  221. package/web-ui/build/static/handlebars-z32GTNvC.js +1 -0
  222. package/web-ui/build/static/haskell-BWLVCHRl.js +1 -0
  223. package/web-ui/build/static/haskell-CZ4HT-QV.js +1 -0
  224. package/web-ui/build/static/haxe-Dff2UzKb.js +1 -0
  225. package/web-ui/build/static/haxe-DtUMfT4Y.js +1 -0
  226. package/web-ui/build/static/hcl-CPdCn21C.js +1 -0
  227. package/web-ui/build/static/hlsl-Ddnzpafa.js +1 -0
  228. package/web-ui/build/static/hoon-BmzYN5g6.js +1 -0
  229. package/web-ui/build/static/hpkp-Cf4BtYzp.js +1 -0
  230. package/web-ui/build/static/hsp-CtNdizh5.js +1 -0
  231. package/web-ui/build/static/hsts-ChmUnrWY.js +1 -0
  232. package/web-ui/build/static/htmlbars-FvxUz397.js +1 -0
  233. package/web-ui/build/static/http-C91BqIc4.js +1 -0
  234. package/web-ui/build/static/http-DUkMpz6R.js +1 -0
  235. package/web-ui/build/static/hy-BgEorqc6.js +1 -0
  236. package/web-ui/build/static/ichigojam-CyJ85XqZ.js +1 -0
  237. package/web-ui/build/static/icon-CWVwUSUB.js +1 -0
  238. package/web-ui/build/static/icu-message-format-DQ5Vf-57.js +1 -0
  239. package/web-ui/build/static/idris-25epvnkz.js +1 -0
  240. package/web-ui/build/static/iecst-D_Q4A3Ao.js +1 -0
  241. package/web-ui/build/static/ignore-Dn3TUem-.js +1 -0
  242. package/web-ui/build/static/index-1GAqwN2P.js +1029 -0
  243. package/web-ui/build/static/index-Bbt0N_qA.css +1 -0
  244. package/web-ui/build/static/index-COM0znG6.js +13 -0
  245. package/web-ui/build/static/index-Cq1FjdFd.js +1 -0
  246. package/web-ui/build/static/inform7-CFrNuUCE.js +1 -0
  247. package/web-ui/build/static/inform7-DKEqg7Td.js +1 -0
  248. package/web-ui/build/static/ini-C-WeV3rA.js +1 -0
  249. package/web-ui/build/static/ini-DNeLlQLb.js +1 -0
  250. package/web-ui/build/static/io-CHx2lS-R.js +1 -0
  251. package/web-ui/build/static/irpf90-D4fNrYKT.js +1 -0
  252. package/web-ui/build/static/isbl-BwxgZUmw.js +1 -0
  253. package/web-ui/build/static/j-EkuSi-Ss.js +1 -0
  254. package/web-ui/build/static/java-BtphFsNb.js +1 -0
  255. package/web-ui/build/static/java-D6Ksxtks.js +1 -0
  256. package/web-ui/build/static/javadoc-COfrpXIF.js +1 -0
  257. package/web-ui/build/static/javadoclike-C0DIBgSo.js +1 -0
  258. package/web-ui/build/static/javascript-D9_bdns_.js +1 -0
  259. package/web-ui/build/static/javastacktrace-BgesTIoE.js +1 -0
  260. package/web-ui/build/static/jboss-cli-BCBm8RaA.js +1 -0
  261. package/web-ui/build/static/jexl-Bur7gjJl.js +1 -0
  262. package/web-ui/build/static/jolie-CG2HtqVF.js +1 -0
  263. package/web-ui/build/static/jq-BjcZo4Ta.js +1 -0
  264. package/web-ui/build/static/js-extras-DPWP-xWb.js +1 -0
  265. package/web-ui/build/static/js-templates-BYQFylC_.js +1 -0
  266. package/web-ui/build/static/jsdoc-CiOxmgl5.js +1 -0
  267. package/web-ui/build/static/json-C2-b3Xpo.js +1 -0
  268. package/web-ui/build/static/json-D7ok2MJS.js +1 -0
  269. package/web-ui/build/static/json5-DRNOdkus.js +1 -0
  270. package/web-ui/build/static/jsonp-FFJzAxUk.js +1 -0
  271. package/web-ui/build/static/jsstacktrace-C4ki-LaP.js +1 -0
  272. package/web-ui/build/static/jsx-ZxGQpUNq.js +1 -0
  273. package/web-ui/build/static/julia-7ooB8a4b.js +1 -0
  274. package/web-ui/build/static/julia-DzjCRNEr.js +1 -0
  275. package/web-ui/build/static/julia-repl-pceaZSLt.js +1 -0
  276. package/web-ui/build/static/keepalived-BQgTZddo.js +1 -0
  277. package/web-ui/build/static/keyman-Cqlba6tn.js +1 -0
  278. package/web-ui/build/static/kotlin-BygmvqBG.js +1 -0
  279. package/web-ui/build/static/kotlin-DrN0ycN8.js +1 -0
  280. package/web-ui/build/static/kumir-YhasANvI.js +1 -0
  281. package/web-ui/build/static/kusto-LQa6MD2B.js +1 -0
  282. package/web-ui/build/static/lasso-Ca3RFbcE.js +1 -0
  283. package/web-ui/build/static/latex-BoQj21fG.js +1 -0
  284. package/web-ui/build/static/latex-ZxewREOs.js +1 -0
  285. package/web-ui/build/static/latte-40SpSG4q.js +1 -0
  286. package/web-ui/build/static/ldif-CzTJxBjJ.js +1 -0
  287. package/web-ui/build/static/leaf-DO9LaVNe.js +1 -0
  288. package/web-ui/build/static/less-BoClFdvD.js +1 -0
  289. package/web-ui/build/static/less-C1s1U6-n.js +1 -0
  290. package/web-ui/build/static/lilypond-D5wHKW8A.js +1 -0
  291. package/web-ui/build/static/liquid-BRQzL-S2.js +1 -0
  292. package/web-ui/build/static/lisp-8q-QRYKi.js +1 -0
  293. package/web-ui/build/static/lisp-J8TPaPPb.js +1 -0
  294. package/web-ui/build/static/livecodeserver-Dcr3yGmD.js +1 -0
  295. package/web-ui/build/static/livescript-BUEQmlAe.js +1 -0
  296. package/web-ui/build/static/livescript-DsId63Ot.js +1 -0
  297. package/web-ui/build/static/llvm-B3CCzYxo.js +1 -0
  298. package/web-ui/build/static/llvm-kQGfyqnj.js +1 -0
  299. package/web-ui/build/static/log-BlA5152b.js +1 -0
  300. package/web-ui/build/static/lolcode-8WRAMeb2.js +1 -0
  301. package/web-ui/build/static/lsl-BZUMQNE2.js +1 -0
  302. package/web-ui/build/static/lua-C4hJ-Gql.js +1 -0
  303. package/web-ui/build/static/lua-RxOeZV_z.js +1 -0
  304. package/web-ui/build/static/magma-U9kYv2QD.js +1 -0
  305. package/web-ui/build/static/makefile-1Cu2rVDg.js +1 -0
  306. package/web-ui/build/static/makefile-mmZ8lbad.js +1 -0
  307. package/web-ui/build/static/markdown-CCqDOXhR.js +1 -0
  308. package/web-ui/build/static/markdown-CVOmqzdD.js +1 -0
  309. package/web-ui/build/static/markup-templating-C7eiVR0j.js +1 -0
  310. package/web-ui/build/static/mathematica-BbKHQ6zH.js +1 -0
  311. package/web-ui/build/static/matlab-BbMwJ6T0.js +1 -0
  312. package/web-ui/build/static/matlab-gHn5UhMb.js +1 -0
  313. package/web-ui/build/static/maxima-CuB3n0ri.js +1 -0
  314. package/web-ui/build/static/maxscript-jhOix4gn.js +1 -0
  315. package/web-ui/build/static/mel-Bpjqa7Ec.js +1 -0
  316. package/web-ui/build/static/mel-QxMxBq03.js +1 -0
  317. package/web-ui/build/static/mercury-C8IdDyFB.js +1 -0
  318. package/web-ui/build/static/mermaid-v41WDixf.js +1 -0
  319. package/web-ui/build/static/mipsasm-kYH27KXy.js +1 -0
  320. package/web-ui/build/static/mizar-BCJI9Jxa.js +1 -0
  321. package/web-ui/build/static/mizar-BCxP_6pj.js +1 -0
  322. package/web-ui/build/static/mojolicious-C7DC_CUp.js +1 -0
  323. package/web-ui/build/static/mongodb-DvBX00WY.js +1 -0
  324. package/web-ui/build/static/monkey-B7KjOZtt.js +1 -0
  325. package/web-ui/build/static/monkey-CFKZd6lx.js +1 -0
  326. package/web-ui/build/static/moonscript-44jD_uAZ.js +1 -0
  327. package/web-ui/build/static/moonscript-B3KahKf5.js +1 -0
  328. package/web-ui/build/static/n1ql-CxJOkBbD.js +1 -0
  329. package/web-ui/build/static/n1ql-FJFE6P7E.js +1 -0
  330. package/web-ui/build/static/n4js-D5jJTGdO.js +1 -0
  331. package/web-ui/build/static/nand2tetris-hdl-DlsCaky2.js +1 -0
  332. package/web-ui/build/static/naniscript-C3YsvWgN.js +1 -0
  333. package/web-ui/build/static/nasm-DCGKvOZq.js +1 -0
  334. package/web-ui/build/static/neon-nyFNinx-.js +1 -0
  335. package/web-ui/build/static/nevod-C5PnMzAW.js +1 -0
  336. package/web-ui/build/static/nginx-BUgMakda.js +1 -0
  337. package/web-ui/build/static/nginx-C5JBKsuz.js +1 -0
  338. package/web-ui/build/static/nim-BFu6fQgc.js +1 -0
  339. package/web-ui/build/static/nim-D0uh-nR9.js +1 -0
  340. package/web-ui/build/static/nix-BiOn3l1e.js +1 -0
  341. package/web-ui/build/static/nix-tapJszPl.js +1 -0
  342. package/web-ui/build/static/node-repl-BTp9CFzE.js +1 -0
  343. package/web-ui/build/static/nsis-B7hV5A06.js +1 -0
  344. package/web-ui/build/static/nsis-DLshnCv-.js +1 -0
  345. package/web-ui/build/static/objectivec-BKjt_sKE.js +1 -0
  346. package/web-ui/build/static/objectivec-KUMYgk5w.js +1 -0
  347. package/web-ui/build/static/ocaml-CV2nKA_A.js +1 -0
  348. package/web-ui/build/static/ocaml-ZyZ-dXmE.js +1 -0
  349. package/web-ui/build/static/opencl-igIWfc0n.js +1 -0
  350. package/web-ui/build/static/openqasm-ByCPmCpS.js +1 -0
  351. package/web-ui/build/static/openscad-Db6ypam1.js +1 -0
  352. package/web-ui/build/static/oxygene-CBbaQWRB.js +1 -0
  353. package/web-ui/build/static/oz-lEl_mXVw.js +1 -0
  354. package/web-ui/build/static/parigp-c2FbheBr.js +1 -0
  355. package/web-ui/build/static/parser-Ba6uivHf.js +1 -0
  356. package/web-ui/build/static/parser3-Cm5cgVSQ.js +1 -0
  357. package/web-ui/build/static/pascal-JgY-dd52.js +1 -0
  358. package/web-ui/build/static/pascaligo-BjSdyegq.js +1 -0
  359. package/web-ui/build/static/pcaxis-CDdxDfqJ.js +1 -0
  360. package/web-ui/build/static/peoplecode-BCPhsbK6.js +1 -0
  361. package/web-ui/build/static/perl-ClVPikLH.js +1 -0
  362. package/web-ui/build/static/perl-pRjXJ4uc.js +1 -0
  363. package/web-ui/build/static/pf-D6VrFfuf.js +1 -0
  364. package/web-ui/build/static/pgsql-DAv4ezCU.js +1 -0
  365. package/web-ui/build/static/php-Bz3Bn1G_.js +1 -0
  366. package/web-ui/build/static/php-extras-B8k1hZ7O.js +1 -0
  367. package/web-ui/build/static/php-template-DJJiMC8Q.js +1 -0
  368. package/web-ui/build/static/php-zCXGNRnB.js +1 -0
  369. package/web-ui/build/static/phpdoc-CpnPjGDk.js +1 -0
  370. package/web-ui/build/static/plaintext-BRkRKfKN.js +1 -0
  371. package/web-ui/build/static/plsql-BARhkvBo.js +1 -0
  372. package/web-ui/build/static/pony-guYTDEtj.js +1 -0
  373. package/web-ui/build/static/powerquery-DcM2Yj3O.js +1 -0
  374. package/web-ui/build/static/powershell-DJ8ftCxt.js +1 -0
  375. package/web-ui/build/static/powershell-DSRUQzqt.js +1 -0
  376. package/web-ui/build/static/processing-BCmW5Adu.js +1 -0
  377. package/web-ui/build/static/processing-DDMjYIa-.js +1 -0
  378. package/web-ui/build/static/profile-C9J13WXr.js +1 -0
  379. package/web-ui/build/static/prolog-CUyUfIUU.js +1 -0
  380. package/web-ui/build/static/prolog-wjvrQEy3.js +1 -0
  381. package/web-ui/build/static/promql-BkN3_kL1.js +1 -0
  382. package/web-ui/build/static/properties-B7zGUFLC.js +1 -0
  383. package/web-ui/build/static/properties-DHKWbrVz.js +1 -0
  384. package/web-ui/build/static/protobuf-CVwMi4py.js +1 -0
  385. package/web-ui/build/static/protobuf-CWUzVSVD.js +1 -0
  386. package/web-ui/build/static/psl-DdX6HMd3.js +1 -0
  387. package/web-ui/build/static/pug-D-Sn469u.js +1 -0
  388. package/web-ui/build/static/puppet-B6ZR9-D4.js +1 -0
  389. package/web-ui/build/static/puppet-m66LRiIo.js +1 -0
  390. package/web-ui/build/static/pure-7deZH-sc.js +1 -0
  391. package/web-ui/build/static/purebasic-DQLUcurt.js +1 -0
  392. package/web-ui/build/static/purebasic-DYMw9jTh.js +1 -0
  393. package/web-ui/build/static/purescript-DpysoAya.js +1 -0
  394. package/web-ui/build/static/python-D66_vufV.js +1 -0
  395. package/web-ui/build/static/python-DYxaIENO.js +1 -0
  396. package/web-ui/build/static/python-repl-DPjvQNxf.js +1 -0
  397. package/web-ui/build/static/q-DDHNKITB.js +1 -0
  398. package/web-ui/build/static/q-xV1Q9ILw.js +1 -0
  399. package/web-ui/build/static/qml-DSENM1u-.js +1 -0
  400. package/web-ui/build/static/qml-DfhbPQ-t.js +1 -0
  401. package/web-ui/build/static/qore-LQCffrzv.js +1 -0
  402. package/web-ui/build/static/qsharp-BcSf2ZGH.js +1 -0
  403. package/web-ui/build/static/r-Dc6GR0yQ.js +1 -0
  404. package/web-ui/build/static/r-vludgk3t.js +1 -0
  405. package/web-ui/build/static/racket-DJYIkQwh.js +1 -0
  406. package/web-ui/build/static/reason-D75i_ede.js +1 -0
  407. package/web-ui/build/static/reasonml-DhRXKjo3.js +1 -0
  408. package/web-ui/build/static/regex-D67iENuu.js +1 -0
  409. package/web-ui/build/static/rego-CJ2Eeb4g.js +1 -0
  410. package/web-ui/build/static/renpy-DUDNyFqb.js +1 -0
  411. package/web-ui/build/static/rest-Dn7SYTNt.js +1 -0
  412. package/web-ui/build/static/rib-BVUY5dIb.js +1 -0
  413. package/web-ui/build/static/rip-Bu9K3Hu9.js +1 -0
  414. package/web-ui/build/static/roboconf-CUzY2sLf.js +1 -0
  415. package/web-ui/build/static/roboconf-DBEmoD-Z.js +1 -0
  416. package/web-ui/build/static/robotframework-70EV7ffL.js +1 -0
  417. package/web-ui/build/static/routeros-KgfwmDVO.js +1 -0
  418. package/web-ui/build/static/rsl-D3oCnFGa.js +1 -0
  419. package/web-ui/build/static/ruby-Dqa0HtB4.js +1 -0
  420. package/web-ui/build/static/ruby-PeJYeL87.js +1 -0
  421. package/web-ui/build/static/ruleslanguage-vo3eM_mz.js +1 -0
  422. package/web-ui/build/static/rust-CwU6t4_Y.js +1 -0
  423. package/web-ui/build/static/rust-WXADYh9r.js +1 -0
  424. package/web-ui/build/static/sas-Cg6ADdDH.js +1 -0
  425. package/web-ui/build/static/sas-DWoEaeXv.js +1 -0
  426. package/web-ui/build/static/sass-DbHJHeBV.js +1 -0
  427. package/web-ui/build/static/scala-B6oE2QKr.js +1 -0
  428. package/web-ui/build/static/scala-NFQGPaYa.js +1 -0
  429. package/web-ui/build/static/scheme-C8Jx4oX7.js +1 -0
  430. package/web-ui/build/static/scheme-CUMBJaUf.js +1 -0
  431. package/web-ui/build/static/scilab-D1VqsdSy.js +1 -0
  432. package/web-ui/build/static/scss-CSH87oUD.js +1 -0
  433. package/web-ui/build/static/scss-GLX6NNDB.js +1 -0
  434. package/web-ui/build/static/shell-CbOhN21M.js +1 -0
  435. package/web-ui/build/static/shell-session-BQPdJJZS.js +1 -0
  436. package/web-ui/build/static/smali-BYbEOQX5.js +1 -0
  437. package/web-ui/build/static/smali-DcoYSibw.js +1 -0
  438. package/web-ui/build/static/smalltalk-CQkedD8N.js +1 -0
  439. package/web-ui/build/static/smalltalk-DihI81Cd.js +1 -0
  440. package/web-ui/build/static/smarty-RRvllERL.js +1 -0
  441. package/web-ui/build/static/sml-BJkMhBLU.js +1 -0
  442. package/web-ui/build/static/sml-Bm2IN0wP.js +1 -0
  443. package/web-ui/build/static/solidity-CsCW8kyX.js +1 -0
  444. package/web-ui/build/static/solution-file-B5YSxWQt.js +1 -0
  445. package/web-ui/build/static/soy-Dek2_YCW.js +1 -0
  446. package/web-ui/build/static/sparql-BeTxhWa4.js +1 -0
  447. package/web-ui/build/static/splunk-spl-hq6BW85c.js +1 -0
  448. package/web-ui/build/static/sqf-C-u4en-i.js +1 -0
  449. package/web-ui/build/static/sqf-DP0IhDYt.js +1 -0
  450. package/web-ui/build/static/sql-BzL0uonb.js +1 -0
  451. package/web-ui/build/static/sql-Zy6tV_us.js +1 -0
  452. package/web-ui/build/static/sql_more-BP2G6Vh5.js +1 -0
  453. package/web-ui/build/static/squirrel-C3MnMYx5.js +1 -0
  454. package/web-ui/build/static/stan-7iKo211G.js +1 -0
  455. package/web-ui/build/static/stan-C1lcIZjJ.js +1 -0
  456. package/web-ui/build/static/stata-DJ6GKcaw.js +1 -0
  457. package/web-ui/build/static/step21-Pg-uClDB.js +1 -0
  458. package/web-ui/build/static/stylus-DFAxYuRi.js +1 -0
  459. package/web-ui/build/static/stylus-DT6xc_Nv.js +1 -0
  460. package/web-ui/build/static/subunit-aGvGJXZZ.js +1 -0
  461. package/web-ui/build/static/swift-Sqmdmb4O.js +1 -0
  462. package/web-ui/build/static/swift-cUX-MVl4.js +1 -0
  463. package/web-ui/build/static/systemd-qIaU0Trg.js +1 -0
  464. package/web-ui/build/static/t4-cs-DtO6Bgg1.js +1 -0
  465. package/web-ui/build/static/t4-templating-DSSM2N5M.js +1 -0
  466. package/web-ui/build/static/t4-vb-tKIiE5uC.js +1 -0
  467. package/web-ui/build/static/taggerscript-Dt2Kgr-W.js +1 -0
  468. package/web-ui/build/static/tap-BMEgEMIk.js +1 -0
  469. package/web-ui/build/static/tap-C4TdzsNz.js +1 -0
  470. package/web-ui/build/static/tcl-B6k4Af9f.js +1 -0
  471. package/web-ui/build/static/tcl-Dq4_i5q5.js +1 -0
  472. package/web-ui/build/static/textile-C0uqAPk0.js +1 -0
  473. package/web-ui/build/static/thrift-DybQEjaA.js +1 -0
  474. package/web-ui/build/static/toml-DG1a2FSS.js +1 -0
  475. package/web-ui/build/static/tp-BwdfEEST.js +1 -0
  476. package/web-ui/build/static/tremor-JSTukmt-.js +1 -0
  477. package/web-ui/build/static/tsx-YUfsqzPf.js +1 -0
  478. package/web-ui/build/static/tt2-D9A_ACnF.js +1 -0
  479. package/web-ui/build/static/turtle-BKxwLa_-.js +1 -0
  480. package/web-ui/build/static/twig-BeEDK9Ri.js +1 -0
  481. package/web-ui/build/static/twig-TnOWwD7-.js +1 -0
  482. package/web-ui/build/static/typescript-BjZl8C3q.js +1 -0
  483. package/web-ui/build/static/typescript-qtW5Xh-j.js +1 -0
  484. package/web-ui/build/static/typoscript-Dj4sO7Jx.js +1 -0
  485. package/web-ui/build/static/unrealscript-DInimzNQ.js +1 -0
  486. package/web-ui/build/static/uorazor-B_9tFVKw.js +1 -0
  487. package/web-ui/build/static/uri-CTuMA7_k.js +1 -0
  488. package/web-ui/build/static/v-CvE0Ujqx.js +1 -0
  489. package/web-ui/build/static/vala-CLGf3xEs.js +1 -0
  490. package/web-ui/build/static/vala-Dm8LmEpm.js +1 -0
  491. package/web-ui/build/static/vbnet-Cwm2TjGP.js +1 -0
  492. package/web-ui/build/static/vbnet-LCd9GiMJ.js +1 -0
  493. package/web-ui/build/static/vbscript-DVj94_-y.js +1 -0
  494. package/web-ui/build/static/vbscript-html-CDHtSX-o.js +1 -0
  495. package/web-ui/build/static/velocity-C-OrhdDf.js +1 -0
  496. package/web-ui/build/static/verilog-Bh18N7TM.js +1 -0
  497. package/web-ui/build/static/verilog-C-YNXb8j.js +1 -0
  498. package/web-ui/build/static/vhdl-BFNm41_R.js +1 -0
  499. package/web-ui/build/static/vhdl-CyLgBDKk.js +1 -0
  500. package/web-ui/build/static/vim-BTafUqR0.js +1 -0
  501. package/web-ui/build/static/vim-Xg1pEHJe.js +1 -0
  502. package/web-ui/build/static/visual-basic-CDgUOlvq.js +1 -0
  503. package/web-ui/build/static/warpscript-1ELDmkt5.js +1 -0
  504. package/web-ui/build/static/wasm-C25KdQk5.js +1 -0
  505. package/web-ui/build/static/web-idl-CsdVYgpL.js +1 -0
  506. package/web-ui/build/static/wiki-4RrZuyhV.js +1 -0
  507. package/web-ui/build/static/wolfram-DMiRIwvp.js +1 -0
  508. package/web-ui/build/static/wren-Vk5PBcVB.js +1 -0
  509. package/web-ui/build/static/x86asm-D9TFTgye.js +1 -0
  510. package/web-ui/build/static/xeora-SAn_K3Ts.js +1 -0
  511. package/web-ui/build/static/xl-Da2Fl8D9.js +1 -0
  512. package/web-ui/build/static/xml-CeLm6l4V.js +1 -0
  513. package/web-ui/build/static/xml-doc-DypYH408.js +1 -0
  514. package/web-ui/build/static/xojo-CrfMiv1-.js +1 -0
  515. package/web-ui/build/static/xquery-8tOqVkgP.js +1 -0
  516. package/web-ui/build/static/xquery-CLOnNPtx.js +1 -0
  517. package/web-ui/build/static/yaml-CXiycPmU.js +1 -0
  518. package/web-ui/build/static/yaml-cIKjKW-H.js +1 -0
  519. package/web-ui/build/static/yang-KVshO9Ce.js +1 -0
  520. package/web-ui/build/static/zephir-B88JNqlj.js +1 -0
  521. package/web-ui/build/static/zig-C6GYIeFs.js +1 -0
  522. package/web-ui/build/static/1c-BdLpzMAL.js +0 -1
  523. package/web-ui/build/static/abap-CDwRvs0G.js +0 -1
  524. package/web-ui/build/static/abnf-BI7p3j5a.js +0 -1
  525. package/web-ui/build/static/abnf-CNv3r7Uy.js +0 -1
  526. package/web-ui/build/static/accesslog-C06B6TeF.js +0 -1
  527. package/web-ui/build/static/actionscript-4rvU1xh_.js +0 -1
  528. package/web-ui/build/static/actionscript-hzeSNpz-.js +0 -1
  529. package/web-ui/build/static/ada-BKQHlNbk.js +0 -1
  530. package/web-ui/build/static/ada-C-cG6Cnx.js +0 -1
  531. package/web-ui/build/static/agda-BLGp6bzV.js +0 -1
  532. package/web-ui/build/static/al-D1v7f7zb.js +0 -1
  533. package/web-ui/build/static/angelscript-C6fH5Phl.js +0 -1
  534. package/web-ui/build/static/antlr4-CkeL19Pe.js +0 -1
  535. package/web-ui/build/static/apache-JdORoIBq.js +0 -1
  536. package/web-ui/build/static/apacheconf-CapiFi2H.js +0 -1
  537. package/web-ui/build/static/apex-B9woB7hA.js +0 -1
  538. package/web-ui/build/static/apl-lmFlegeo.js +0 -1
  539. package/web-ui/build/static/applescript-BHhW-aLP.js +0 -1
  540. package/web-ui/build/static/applescript-ss_o-t9Q.js +0 -1
  541. package/web-ui/build/static/aql-BLNeECob.js +0 -1
  542. package/web-ui/build/static/arcade-CFXIdOiD.js +0 -1
  543. package/web-ui/build/static/arduino-BnvFM4Uv.js +0 -1
  544. package/web-ui/build/static/arduino-COqLsxBH.js +0 -1
  545. package/web-ui/build/static/arff-D29LT0W3.js +0 -1
  546. package/web-ui/build/static/armasm-4vnDbtEO.js +0 -1
  547. package/web-ui/build/static/asciidoc-B5enjW-U.js +0 -1
  548. package/web-ui/build/static/asciidoc-DXDLuzat.js +0 -1
  549. package/web-ui/build/static/asm6502-BlmY96A-.js +0 -1
  550. package/web-ui/build/static/asmatmel-DsTJaam3.js +0 -1
  551. package/web-ui/build/static/aspectj-CWKdyALZ.js +0 -1
  552. package/web-ui/build/static/aspnet-BMb5ovzr.js +0 -1
  553. package/web-ui/build/static/autohotkey-Bnt4L8Sq.js +0 -1
  554. package/web-ui/build/static/autohotkey-FJP6t7LP.js +0 -1
  555. package/web-ui/build/static/autoit-D_uma-t5.js +0 -1
  556. package/web-ui/build/static/autoit-tV1DvCag.js +0 -1
  557. package/web-ui/build/static/avisynth-C3EGWRqZ.js +0 -1
  558. package/web-ui/build/static/avrasm-SPYupzKN.js +0 -1
  559. package/web-ui/build/static/avro-idl-BVy35bGz.js +0 -1
  560. package/web-ui/build/static/awk-bd20WYWO.js +0 -1
  561. package/web-ui/build/static/axapta-rMrFdrRa.js +0 -1
  562. package/web-ui/build/static/bash-B6JbRSpw.js +0 -1
  563. package/web-ui/build/static/bash-CjDn8CS1.js +0 -1
  564. package/web-ui/build/static/basic-1cr_KdjO.js +0 -1
  565. package/web-ui/build/static/basic-VjzNgL1A.js +0 -1
  566. package/web-ui/build/static/batch-xKrSAbnh.js +0 -1
  567. package/web-ui/build/static/bbcode-D_oXQoMX.js +0 -1
  568. package/web-ui/build/static/bicep-DHCLyehu.js +0 -1
  569. package/web-ui/build/static/birb-LnKeXfOt.js +0 -1
  570. package/web-ui/build/static/bison-D1Y9rGkL.js +0 -1
  571. package/web-ui/build/static/bnf-Dmfxl80x.js +0 -1
  572. package/web-ui/build/static/bnf-Dr4hlA3O.js +0 -1
  573. package/web-ui/build/static/brainfuck-BLTIahWA.js +0 -1
  574. package/web-ui/build/static/brainfuck-DfZP16Cx.js +0 -1
  575. package/web-ui/build/static/brightscript-YT7Nr8GN.js +0 -1
  576. package/web-ui/build/static/bro-Cn2KhPkj.js +0 -1
  577. package/web-ui/build/static/bsl-DFyeWkvL.js +0 -1
  578. package/web-ui/build/static/c-B8jd4ks-.js +0 -1
  579. package/web-ui/build/static/c-CTVZoi8i.js +0 -1
  580. package/web-ui/build/static/c-like-BYR8sR5E.js +0 -1
  581. package/web-ui/build/static/cal-D7KqKxTg.js +0 -1
  582. package/web-ui/build/static/capnproto-Bl9dDXU4.js +0 -1
  583. package/web-ui/build/static/ceylon-DrCHmREL.js +0 -1
  584. package/web-ui/build/static/cfscript-C0sNdmMo.js +0 -1
  585. package/web-ui/build/static/chaiscript-LgrVMZR5.js +0 -1
  586. package/web-ui/build/static/cil-CCNfQAo8.js +0 -1
  587. package/web-ui/build/static/clean-DDw0s_-o.js +0 -1
  588. package/web-ui/build/static/clojure-BFxsxcbQ.js +0 -1
  589. package/web-ui/build/static/clojure-BgMU8fA8.js +0 -1
  590. package/web-ui/build/static/clojure-repl-C174HUrZ.js +0 -1
  591. package/web-ui/build/static/cmake-C6hjTvGt.js +0 -1
  592. package/web-ui/build/static/cmake-CcnmaxXV.js +0 -1
  593. package/web-ui/build/static/cobol-DiLCdCf7.js +0 -1
  594. package/web-ui/build/static/coffeescript-CGB29Opz.js +0 -1
  595. package/web-ui/build/static/coffeescript-DV3V4J6g.js +0 -1
  596. package/web-ui/build/static/concurnas-Cgdt5ES1.js +0 -1
  597. package/web-ui/build/static/coq-BbiJDyLq.js +0 -1
  598. package/web-ui/build/static/coq-DvsBabEJ.js +0 -1
  599. package/web-ui/build/static/cos-B7_pvH_X.js +0 -1
  600. package/web-ui/build/static/cpp-416w6yHT.js +0 -1
  601. package/web-ui/build/static/cpp-pz382MTt.js +0 -1
  602. package/web-ui/build/static/crmsh-BeYTFuCW.js +0 -1
  603. package/web-ui/build/static/crystal-BRtDR8RG.js +0 -1
  604. package/web-ui/build/static/crystal-BZJgl_sw.js +0 -1
  605. package/web-ui/build/static/csharp-BQ-0v8VA.js +0 -1
  606. package/web-ui/build/static/csharp-MlHfKRW4.js +0 -1
  607. package/web-ui/build/static/cshtml-DtS0T24q.js +0 -1
  608. package/web-ui/build/static/csp-6DGTWGnA.js +0 -1
  609. package/web-ui/build/static/csp-CvvAXfUJ.js +0 -1
  610. package/web-ui/build/static/css-DJmvg-kI.js +0 -1
  611. package/web-ui/build/static/css-extras-qVKXZ1K5.js +0 -1
  612. package/web-ui/build/static/csv-HN89Dabm.js +0 -1
  613. package/web-ui/build/static/cypher-zqUo_NN4.js +0 -1
  614. package/web-ui/build/static/d-BDzMr17q.js +0 -1
  615. package/web-ui/build/static/d-DV4MmaJ0.js +0 -1
  616. package/web-ui/build/static/dart-BFkAPQxN.js +0 -1
  617. package/web-ui/build/static/dart-mlgsSLDz.js +0 -1
  618. package/web-ui/build/static/dataweave-BQWIxcgu.js +0 -1
  619. package/web-ui/build/static/dax-FY1jMN3E.js +0 -1
  620. package/web-ui/build/static/delphi-D85b-0Yr.js +0 -1
  621. package/web-ui/build/static/dhall-C8db-g46.js +0 -1
  622. package/web-ui/build/static/diff-BHBVMWZm.js +0 -1
  623. package/web-ui/build/static/diff-Bet-lyrd.js +0 -1
  624. package/web-ui/build/static/django-CFm4coNe.js +0 -1
  625. package/web-ui/build/static/django-DN9SMkSp.js +0 -1
  626. package/web-ui/build/static/dns-C4yo4DHG.js +0 -1
  627. package/web-ui/build/static/dns-zone-file-B3o4w8rf.js +0 -1
  628. package/web-ui/build/static/docker-BxxsATcw.js +0 -1
  629. package/web-ui/build/static/dockerfile-BKIud8Xh.js +0 -1
  630. package/web-ui/build/static/dos-G9yNAV_a.js +0 -1
  631. package/web-ui/build/static/dot-CdN-GBnW.js +0 -1
  632. package/web-ui/build/static/dsconfig-DZ5R9lQR.js +0 -1
  633. package/web-ui/build/static/dts-DwetpYRu.js +0 -1
  634. package/web-ui/build/static/dust-DzEHgUuI.js +0 -1
  635. package/web-ui/build/static/ebnf-COJZCCYQ.js +0 -1
  636. package/web-ui/build/static/ebnf-CkdHWCBJ.js +0 -1
  637. package/web-ui/build/static/editorconfig-Bd3ywZZQ.js +0 -1
  638. package/web-ui/build/static/eiffel-C1Qk3pq5.js +0 -1
  639. package/web-ui/build/static/ejs-DxCI_S1L.js +0 -1
  640. package/web-ui/build/static/elixir-BIIHBb4p.js +0 -1
  641. package/web-ui/build/static/elixir-Cs4wFfMY.js +0 -1
  642. package/web-ui/build/static/elm-CXqZthrB.js +0 -1
  643. package/web-ui/build/static/elm-DBguvIDg.js +0 -1
  644. package/web-ui/build/static/erb-BPbVhlMt.js +0 -1
  645. package/web-ui/build/static/erb-DvRAcKbN.js +0 -1
  646. package/web-ui/build/static/erlang-BUKDJMhm.js +0 -1
  647. package/web-ui/build/static/erlang-iWD1_psr.js +0 -1
  648. package/web-ui/build/static/erlang-repl-CjXC9U4C.js +0 -1
  649. package/web-ui/build/static/etlua-nQ8GCNAu.js +0 -1
  650. package/web-ui/build/static/excel-D8YfiDAv.js +0 -1
  651. package/web-ui/build/static/excel-formula-CdZZRE7Y.js +0 -1
  652. package/web-ui/build/static/factor-wiNoX051.js +0 -1
  653. package/web-ui/build/static/false-CsZdI-HD.js +0 -1
  654. package/web-ui/build/static/firestore-security-rules-9yXT_i-6.js +0 -1
  655. package/web-ui/build/static/fix-BsV5RZTa.js +0 -1
  656. package/web-ui/build/static/flix-rATD1-Qx.js +0 -1
  657. package/web-ui/build/static/flow-B4UMzoDr.js +0 -1
  658. package/web-ui/build/static/fortran-CavcrRz8.js +0 -1
  659. package/web-ui/build/static/fortran-DVZjWi__.js +0 -1
  660. package/web-ui/build/static/fsharp-BCVsmzkR.js +0 -1
  661. package/web-ui/build/static/fsharp-Cj6zPGzQ.js +0 -1
  662. package/web-ui/build/static/ftl-C5VdFKkz.js +0 -1
  663. package/web-ui/build/static/gams-CT90XmM8.js +0 -1
  664. package/web-ui/build/static/gap-Ch518Ngd.js +0 -1
  665. package/web-ui/build/static/gauss-DTmMb1xB.js +0 -1
  666. package/web-ui/build/static/gcode-BLc6YjFp.js +0 -1
  667. package/web-ui/build/static/gcode-DYtkCbZZ.js +0 -1
  668. package/web-ui/build/static/gdscript-xrcGCBEi.js +0 -1
  669. package/web-ui/build/static/gedcom-DMOuE70a.js +0 -1
  670. package/web-ui/build/static/gherkin-BoEzs1SS.js +0 -1
  671. package/web-ui/build/static/gherkin-DHanA7dz.js +0 -1
  672. package/web-ui/build/static/git-BwT7p7t_.js +0 -1
  673. package/web-ui/build/static/glsl-C3_TTBJ-.js +0 -1
  674. package/web-ui/build/static/glsl-Do3cCE-W.js +0 -1
  675. package/web-ui/build/static/gml-CWSUBiZ2.js +0 -1
  676. package/web-ui/build/static/gml-wrCAzzgE.js +0 -1
  677. package/web-ui/build/static/gn-DqmZ0Qq_.js +0 -1
  678. package/web-ui/build/static/go-DLiparlr.js +0 -1
  679. package/web-ui/build/static/go-i67Zsx3x.js +0 -1
  680. package/web-ui/build/static/go-module-S33FcrvV.js +0 -1
  681. package/web-ui/build/static/golo-DZ7qHIok.js +0 -1
  682. package/web-ui/build/static/gradle-BTVIAud8.js +0 -1
  683. package/web-ui/build/static/graphql-BRc7dV6d.js +0 -1
  684. package/web-ui/build/static/groovy-C0xCDIoi.js +0 -1
  685. package/web-ui/build/static/groovy-CqfENDj5.js +0 -1
  686. package/web-ui/build/static/haml-DGEmWQaf.js +0 -1
  687. package/web-ui/build/static/haml-Uc13XeLh.js +0 -1
  688. package/web-ui/build/static/handlebars-2pDOu-qZ.js +0 -1
  689. package/web-ui/build/static/handlebars-fvNs6C2z.js +0 -1
  690. package/web-ui/build/static/haskell-C_0PdpI7.js +0 -1
  691. package/web-ui/build/static/haskell-DPiywQAr.js +0 -1
  692. package/web-ui/build/static/haxe-B-Jmpi4X.js +0 -1
  693. package/web-ui/build/static/haxe-BnwqHNBF.js +0 -1
  694. package/web-ui/build/static/hcl-BkCp99Ns.js +0 -1
  695. package/web-ui/build/static/hlsl-Dhtz76rF.js +0 -1
  696. package/web-ui/build/static/hoon-DLvY-xJE.js +0 -1
  697. package/web-ui/build/static/hpkp-DqGdkrWa.js +0 -1
  698. package/web-ui/build/static/hsp-uyhbGChx.js +0 -1
  699. package/web-ui/build/static/hsts-B_hdMfTA.js +0 -1
  700. package/web-ui/build/static/htmlbars-DBm6s2XZ.js +0 -1
  701. package/web-ui/build/static/http-BJx-7pVa.js +0 -1
  702. package/web-ui/build/static/http-BNr6-Kd5.js +0 -1
  703. package/web-ui/build/static/hy-CCeD6Z5O.js +0 -1
  704. package/web-ui/build/static/ichigojam-HlQ9_0Cd.js +0 -1
  705. package/web-ui/build/static/icon-BVRGWnBS.js +0 -1
  706. package/web-ui/build/static/icu-message-format-DrOF-VCL.js +0 -1
  707. package/web-ui/build/static/idris-BTtsUKQZ.js +0 -1
  708. package/web-ui/build/static/iecst-C8fkotHg.js +0 -1
  709. package/web-ui/build/static/ignore-9L0_iQf0.js +0 -1
  710. package/web-ui/build/static/index-5biw7ctT.js +0 -1
  711. package/web-ui/build/static/index-C6XLF9dS.js +0 -734
  712. package/web-ui/build/static/index-CTO5ggyx.css +0 -1
  713. package/web-ui/build/static/index-CU7QxI6e.js +0 -13
  714. package/web-ui/build/static/inform7-DrLS7QKe.js +0 -1
  715. package/web-ui/build/static/inform7-GeduJ02-.js +0 -1
  716. package/web-ui/build/static/ini-ClRWklj4.js +0 -1
  717. package/web-ui/build/static/ini-CnWkQt74.js +0 -1
  718. package/web-ui/build/static/io-DLrwKpJi.js +0 -1
  719. package/web-ui/build/static/irpf90-D2n0wokI.js +0 -1
  720. package/web-ui/build/static/isbl-DF3cf2zG.js +0 -1
  721. package/web-ui/build/static/j-DFQ008Ab.js +0 -1
  722. package/web-ui/build/static/java-BXn0NYGW.js +0 -1
  723. package/web-ui/build/static/java-DwyOtG2R.js +0 -1
  724. package/web-ui/build/static/javadoc-7lKDS9yO.js +0 -1
  725. package/web-ui/build/static/javadoclike-UZC5a-I2.js +0 -1
  726. package/web-ui/build/static/javascript-BVwVipxy.js +0 -1
  727. package/web-ui/build/static/javastacktrace-Dysb6pma.js +0 -1
  728. package/web-ui/build/static/jboss-cli-DnBJbhvD.js +0 -1
  729. package/web-ui/build/static/jexl-Xt80RITf.js +0 -1
  730. package/web-ui/build/static/jolie-K583lEAy.js +0 -1
  731. package/web-ui/build/static/jq-DzZu56Cz.js +0 -1
  732. package/web-ui/build/static/js-extras-Cnbo_FPE.js +0 -1
  733. package/web-ui/build/static/js-templates-ChGVoxvZ.js +0 -1
  734. package/web-ui/build/static/jsdoc-7PKg08vo.js +0 -1
  735. package/web-ui/build/static/json-CS8btz_1.js +0 -1
  736. package/web-ui/build/static/json-NWyA8Y-S.js +0 -1
  737. package/web-ui/build/static/json5-BTuuCOka.js +0 -1
  738. package/web-ui/build/static/jsonp-CddCenzG.js +0 -1
  739. package/web-ui/build/static/jsstacktrace-Iz7J77qQ.js +0 -1
  740. package/web-ui/build/static/jsx-KHA4XV99.js +0 -1
  741. package/web-ui/build/static/julia-DBE7YTR3.js +0 -1
  742. package/web-ui/build/static/julia-DhbxCJBI.js +0 -1
  743. package/web-ui/build/static/julia-repl-DMdm1IG1.js +0 -1
  744. package/web-ui/build/static/keepalived-B7vqYV9X.js +0 -1
  745. package/web-ui/build/static/keyman-BgxIO8fq.js +0 -1
  746. package/web-ui/build/static/kotlin-DkKt1c_W.js +0 -1
  747. package/web-ui/build/static/kotlin-DkVwHXV3.js +0 -1
  748. package/web-ui/build/static/kumir-ByisfWMX.js +0 -1
  749. package/web-ui/build/static/kusto-D0PVadiC.js +0 -1
  750. package/web-ui/build/static/lasso-DUqlKJ-V.js +0 -1
  751. package/web-ui/build/static/latex-B_KNiR3P.js +0 -1
  752. package/web-ui/build/static/latex-CAna5qNt.js +0 -1
  753. package/web-ui/build/static/latte-IGkHLrSc.js +0 -1
  754. package/web-ui/build/static/ldif-COEZfOAo.js +0 -1
  755. package/web-ui/build/static/leaf-zSqkBknP.js +0 -1
  756. package/web-ui/build/static/less-BZ7CLYuK.js +0 -1
  757. package/web-ui/build/static/less-DTOaHWfJ.js +0 -1
  758. package/web-ui/build/static/lilypond-CXVSkLeK.js +0 -1
  759. package/web-ui/build/static/liquid-C-anTr0A.js +0 -1
  760. package/web-ui/build/static/lisp-CadxWoyo.js +0 -1
  761. package/web-ui/build/static/lisp-hkvi2iDB.js +0 -1
  762. package/web-ui/build/static/livecodeserver-CHrsuOkQ.js +0 -1
  763. package/web-ui/build/static/livescript-B3gz-3aB.js +0 -1
  764. package/web-ui/build/static/livescript-DnHL9ghu.js +0 -1
  765. package/web-ui/build/static/llvm-BahggCBp.js +0 -1
  766. package/web-ui/build/static/llvm-CmHdko4Y.js +0 -1
  767. package/web-ui/build/static/log-Czikd_pI.js +0 -1
  768. package/web-ui/build/static/lolcode-Ch49C9Zh.js +0 -1
  769. package/web-ui/build/static/lsl-C-VWBCeP.js +0 -1
  770. package/web-ui/build/static/lua-CUvtI6AS.js +0 -1
  771. package/web-ui/build/static/lua-z6ZTYh0E.js +0 -1
  772. package/web-ui/build/static/magma-n2Gm1_JJ.js +0 -1
  773. package/web-ui/build/static/makefile-CV719aL9.js +0 -1
  774. package/web-ui/build/static/makefile-D3XU9qyi.js +0 -1
  775. package/web-ui/build/static/markdown-B7ecawDo.js +0 -1
  776. package/web-ui/build/static/markdown-BAZuKAWm.js +0 -1
  777. package/web-ui/build/static/markup-templating-CkJ0kvIz.js +0 -1
  778. package/web-ui/build/static/mathematica-DeYzfKBj.js +0 -1
  779. package/web-ui/build/static/matlab-CkL4qFcf.js +0 -1
  780. package/web-ui/build/static/matlab-DyeBcYxN.js +0 -1
  781. package/web-ui/build/static/maxima-BYkoTgQQ.js +0 -1
  782. package/web-ui/build/static/maxscript-DF4yyx_y.js +0 -1
  783. package/web-ui/build/static/mel-Cvinm-ul.js +0 -1
  784. package/web-ui/build/static/mel-DuhIFj6N.js +0 -1
  785. package/web-ui/build/static/mercury-BgIQH4Io.js +0 -1
  786. package/web-ui/build/static/mermaid-Cu_HXPUU.js +0 -1
  787. package/web-ui/build/static/mipsasm-Bgjx3kJk.js +0 -1
  788. package/web-ui/build/static/mizar-D6qzNoqS.js +0 -1
  789. package/web-ui/build/static/mizar-_PkxIqXq.js +0 -1
  790. package/web-ui/build/static/mojolicious-DUGLQPxV.js +0 -1
  791. package/web-ui/build/static/mongodb-BLMBcuTL.js +0 -1
  792. package/web-ui/build/static/monkey-C5k7PFu0.js +0 -1
  793. package/web-ui/build/static/monkey-DXGsKsbX.js +0 -1
  794. package/web-ui/build/static/moonscript-1TthCNMT.js +0 -1
  795. package/web-ui/build/static/moonscript-DqJs0-Md.js +0 -1
  796. package/web-ui/build/static/n1ql-Bwd4nK-7.js +0 -1
  797. package/web-ui/build/static/n1ql-hfjCkL2y.js +0 -1
  798. package/web-ui/build/static/n4js-gwCvxndi.js +0 -1
  799. package/web-ui/build/static/nand2tetris-hdl-CRRkn3L9.js +0 -1
  800. package/web-ui/build/static/naniscript-C_wnlSUo.js +0 -1
  801. package/web-ui/build/static/nasm-DX-Dob1L.js +0 -1
  802. package/web-ui/build/static/neon-vJIHxlBH.js +0 -1
  803. package/web-ui/build/static/nevod-Bax1uE4z.js +0 -1
  804. package/web-ui/build/static/nginx-BQS7w2F8.js +0 -1
  805. package/web-ui/build/static/nginx-Bt8431vM.js +0 -1
  806. package/web-ui/build/static/nim-0PFojGir.js +0 -1
  807. package/web-ui/build/static/nim-BQVxzPdc.js +0 -1
  808. package/web-ui/build/static/nix-C1td4KJd.js +0 -1
  809. package/web-ui/build/static/nix-CGOaQ4S_.js +0 -1
  810. package/web-ui/build/static/node-repl-BsAGA-kF.js +0 -1
  811. package/web-ui/build/static/nsis-B8d23hVv.js +0 -1
  812. package/web-ui/build/static/nsis-CRfGDpKw.js +0 -1
  813. package/web-ui/build/static/objectivec-CVrobj9V.js +0 -1
  814. package/web-ui/build/static/objectivec-DcVwp8g9.js +0 -1
  815. package/web-ui/build/static/ocaml-b8Cm2pBQ.js +0 -1
  816. package/web-ui/build/static/ocaml-mP-4C0uB.js +0 -1
  817. package/web-ui/build/static/opencl--Qo9pjSM.js +0 -1
  818. package/web-ui/build/static/openqasm-Dt7vKzox.js +0 -1
  819. package/web-ui/build/static/openscad-By-SEqIm.js +0 -1
  820. package/web-ui/build/static/oxygene-BifGHmAP.js +0 -1
  821. package/web-ui/build/static/oz-DHXFoY_V.js +0 -1
  822. package/web-ui/build/static/parigp-CQEx84-o.js +0 -1
  823. package/web-ui/build/static/parser-DevuQ_YA.js +0 -1
  824. package/web-ui/build/static/parser3-IBmULMjM.js +0 -1
  825. package/web-ui/build/static/pascal-hHG_VNBq.js +0 -1
  826. package/web-ui/build/static/pascaligo-DcXZnXMD.js +0 -1
  827. package/web-ui/build/static/pcaxis-paqvl2ov.js +0 -1
  828. package/web-ui/build/static/peoplecode-T-lVjo6Q.js +0 -1
  829. package/web-ui/build/static/perl-BrrOfxJA.js +0 -1
  830. package/web-ui/build/static/perl-DwF9DDkX.js +0 -1
  831. package/web-ui/build/static/pf-CCvQZiY2.js +0 -1
  832. package/web-ui/build/static/pgsql-DYZXTARb.js +0 -1
  833. package/web-ui/build/static/php-C8P7LrqU.js +0 -1
  834. package/web-ui/build/static/php-Jh4xpwhM.js +0 -1
  835. package/web-ui/build/static/php-extras-Ddj6zZ2a.js +0 -1
  836. package/web-ui/build/static/php-template-D0846ZMl.js +0 -1
  837. package/web-ui/build/static/phpdoc-DU8hHiT4.js +0 -1
  838. package/web-ui/build/static/plaintext-BpAdoq1j.js +0 -1
  839. package/web-ui/build/static/plsql-DjRpUwV7.js +0 -1
  840. package/web-ui/build/static/pony-C91UDOZB.js +0 -1
  841. package/web-ui/build/static/powerquery-CbFt66kY.js +0 -1
  842. package/web-ui/build/static/powershell-Bpd_CmgV.js +0 -1
  843. package/web-ui/build/static/powershell-C0-63tFn.js +0 -1
  844. package/web-ui/build/static/processing-COoELNkd.js +0 -1
  845. package/web-ui/build/static/processing-DovufXGj.js +0 -1
  846. package/web-ui/build/static/profile-DSijKis_.js +0 -1
  847. package/web-ui/build/static/prolog-BPJoWbIS.js +0 -1
  848. package/web-ui/build/static/prolog-Cs4I3Exr.js +0 -1
  849. package/web-ui/build/static/promql-aIfsISjo.js +0 -1
  850. package/web-ui/build/static/properties-DWHgjzpz.js +0 -1
  851. package/web-ui/build/static/properties-k4Dmn8BE.js +0 -1
  852. package/web-ui/build/static/protobuf-HvnZbIjE.js +0 -1
  853. package/web-ui/build/static/protobuf-bqbMMmGn.js +0 -1
  854. package/web-ui/build/static/psl-KbjBRrbA.js +0 -1
  855. package/web-ui/build/static/pug-DJVp_q_q.js +0 -1
  856. package/web-ui/build/static/puppet-DloEWvDZ.js +0 -1
  857. package/web-ui/build/static/puppet-WFgyaopG.js +0 -1
  858. package/web-ui/build/static/pure-483zjlGE.js +0 -1
  859. package/web-ui/build/static/purebasic-CZ8DdKkF.js +0 -1
  860. package/web-ui/build/static/purebasic-dlQReKmz.js +0 -1
  861. package/web-ui/build/static/purescript-BQnFvaU3.js +0 -1
  862. package/web-ui/build/static/python-CZ8lWs1l.js +0 -1
  863. package/web-ui/build/static/python-SU3ESoh4.js +0 -1
  864. package/web-ui/build/static/python-repl-BBkzrvQe.js +0 -1
  865. package/web-ui/build/static/q-DTmVFt9r.js +0 -1
  866. package/web-ui/build/static/q-DtzT8sxS.js +0 -1
  867. package/web-ui/build/static/qml-B5F36arQ.js +0 -1
  868. package/web-ui/build/static/qml-BGRIPpl3.js +0 -1
  869. package/web-ui/build/static/qore-CRS2zeE4.js +0 -1
  870. package/web-ui/build/static/qsharp-C4Tv2HNI.js +0 -1
  871. package/web-ui/build/static/r-BrIQscI_.js +0 -1
  872. package/web-ui/build/static/r-C1dTwrK3.js +0 -1
  873. package/web-ui/build/static/racket-CY5XtMxt.js +0 -1
  874. package/web-ui/build/static/reason-BOspKOui.js +0 -1
  875. package/web-ui/build/static/reasonml-CI0bWekr.js +0 -1
  876. package/web-ui/build/static/regex-Bu9fRM2h.js +0 -1
  877. package/web-ui/build/static/rego-DPs1L6rM.js +0 -1
  878. package/web-ui/build/static/renpy-CqxG8TUa.js +0 -1
  879. package/web-ui/build/static/rest-DVBf_JOU.js +0 -1
  880. package/web-ui/build/static/rib-C7f1MpLJ.js +0 -1
  881. package/web-ui/build/static/rip-CnDVKjn3.js +0 -1
  882. package/web-ui/build/static/roboconf-B3CDWS-p.js +0 -1
  883. package/web-ui/build/static/roboconf-Cl96yvBS.js +0 -1
  884. package/web-ui/build/static/robotframework-BitHYBrT.js +0 -1
  885. package/web-ui/build/static/routeros-CfrP9irD.js +0 -1
  886. package/web-ui/build/static/rsl-CGblvP8t.js +0 -1
  887. package/web-ui/build/static/ruby-CJyKAxoz.js +0 -1
  888. package/web-ui/build/static/ruby-KT7L0c-N.js +0 -1
  889. package/web-ui/build/static/ruleslanguage-_MWgFm9V.js +0 -1
  890. package/web-ui/build/static/rust-DAiMZG-s.js +0 -1
  891. package/web-ui/build/static/rust-Dmpa9JNg.js +0 -1
  892. package/web-ui/build/static/sas-CQltIY6v.js +0 -1
  893. package/web-ui/build/static/sas-aM67MfcZ.js +0 -1
  894. package/web-ui/build/static/sass-DEBoFRRa.js +0 -1
  895. package/web-ui/build/static/scala-Cd5U29aY.js +0 -1
  896. package/web-ui/build/static/scala-DzaGwcFi.js +0 -1
  897. package/web-ui/build/static/scheme-Cqqy_i9p.js +0 -1
  898. package/web-ui/build/static/scheme-cIT7gYIT.js +0 -1
  899. package/web-ui/build/static/scilab-DkyaqVYN.js +0 -1
  900. package/web-ui/build/static/scss-Cyi-dRZB.js +0 -1
  901. package/web-ui/build/static/scss-D_mUdkix.js +0 -1
  902. package/web-ui/build/static/shell-BF_xfQdX.js +0 -1
  903. package/web-ui/build/static/shell-session-C4TwlI5u.js +0 -1
  904. package/web-ui/build/static/smali-CvYqcvZD.js +0 -1
  905. package/web-ui/build/static/smali-DdJm0lGk.js +0 -1
  906. package/web-ui/build/static/smalltalk-B4v_uFAj.js +0 -1
  907. package/web-ui/build/static/smalltalk-BHk9orPf.js +0 -1
  908. package/web-ui/build/static/smarty-DCURdYbE.js +0 -1
  909. package/web-ui/build/static/sml-BFUDbMt7.js +0 -1
  910. package/web-ui/build/static/sml-BIbfLMH_.js +0 -1
  911. package/web-ui/build/static/solidity-fyryqi43.js +0 -1
  912. package/web-ui/build/static/solution-file-DoPZY9rL.js +0 -1
  913. package/web-ui/build/static/soy-AjVmvggx.js +0 -1
  914. package/web-ui/build/static/sparql-C4-CLrDw.js +0 -1
  915. package/web-ui/build/static/splunk-spl-DclxQT5j.js +0 -1
  916. package/web-ui/build/static/sqf-CuCGayd3.js +0 -1
  917. package/web-ui/build/static/sqf-uK9OZDXX.js +0 -1
  918. package/web-ui/build/static/sql-B0Pqn1rt.js +0 -1
  919. package/web-ui/build/static/sql-DlNrMSaF.js +0 -1
  920. package/web-ui/build/static/sql_more-BmwYd1jA.js +0 -1
  921. package/web-ui/build/static/squirrel-PzIoP6WH.js +0 -1
  922. package/web-ui/build/static/stan-BZe07EwD.js +0 -1
  923. package/web-ui/build/static/stan-De1mVh5w.js +0 -1
  924. package/web-ui/build/static/stata-Dt6KIbHG.js +0 -1
  925. package/web-ui/build/static/step21-5If4hNHF.js +0 -1
  926. package/web-ui/build/static/stylus-Cfsl-liy.js +0 -1
  927. package/web-ui/build/static/stylus-V2q0pGFi.js +0 -1
  928. package/web-ui/build/static/subunit-Dw4nCzI8.js +0 -1
  929. package/web-ui/build/static/swift-CNMLwgfO.js +0 -1
  930. package/web-ui/build/static/swift-HUQ5YZQh.js +0 -1
  931. package/web-ui/build/static/systemd-C8DE2Z5C.js +0 -1
  932. package/web-ui/build/static/t4-cs-C_Ey5AJK.js +0 -1
  933. package/web-ui/build/static/t4-templating-DwnTc5zw.js +0 -1
  934. package/web-ui/build/static/t4-vb-C-0KWoPY.js +0 -1
  935. package/web-ui/build/static/taggerscript-Bv6_taGx.js +0 -1
  936. package/web-ui/build/static/tap-CFDvzug8.js +0 -1
  937. package/web-ui/build/static/tap-CdJ_Enrg.js +0 -1
  938. package/web-ui/build/static/tcl-BAEseFnT.js +0 -1
  939. package/web-ui/build/static/tcl-BS59XADk.js +0 -1
  940. package/web-ui/build/static/textile-a8y5rAtB.js +0 -1
  941. package/web-ui/build/static/thrift-D7V-eNGh.js +0 -1
  942. package/web-ui/build/static/toml-D8cwTEse.js +0 -1
  943. package/web-ui/build/static/tp-hIAhc2bK.js +0 -1
  944. package/web-ui/build/static/tremor-Czk4wryK.js +0 -1
  945. package/web-ui/build/static/tsx-BOeSrzC2.js +0 -1
  946. package/web-ui/build/static/tt2-BHVJTkSt.js +0 -1
  947. package/web-ui/build/static/turtle-BOWLWZq7.js +0 -1
  948. package/web-ui/build/static/twig-CiL22hfc.js +0 -1
  949. package/web-ui/build/static/twig-fnjh9nSd.js +0 -1
  950. package/web-ui/build/static/typescript-BXgo8AbH.js +0 -1
  951. package/web-ui/build/static/typescript-Bd_EcNlS.js +0 -1
  952. package/web-ui/build/static/typoscript-OvQoCcN-.js +0 -1
  953. package/web-ui/build/static/unrealscript-Dw9u3aN1.js +0 -1
  954. package/web-ui/build/static/uorazor-BYmWZy9R.js +0 -1
  955. package/web-ui/build/static/uri-cZEKPhfB.js +0 -1
  956. package/web-ui/build/static/v-DCUw5P5w.js +0 -1
  957. package/web-ui/build/static/vala-BeMIXdl5.js +0 -1
  958. package/web-ui/build/static/vala-Dchv0k-k.js +0 -1
  959. package/web-ui/build/static/vbnet-CYNUkFEn.js +0 -1
  960. package/web-ui/build/static/vbnet-DJpHrZ4P.js +0 -1
  961. package/web-ui/build/static/vbscript-html-eSFLndJq.js +0 -1
  962. package/web-ui/build/static/vbscript-uo6pZmjr.js +0 -1
  963. package/web-ui/build/static/velocity-BZ4IThJR.js +0 -1
  964. package/web-ui/build/static/verilog-CaEouCrk.js +0 -1
  965. package/web-ui/build/static/verilog-D_yjfQsL.js +0 -1
  966. package/web-ui/build/static/vhdl-3zobHypY.js +0 -1
  967. package/web-ui/build/static/vhdl-DfMoYPtq.js +0 -1
  968. package/web-ui/build/static/vim-DBVHHc5J.js +0 -1
  969. package/web-ui/build/static/vim-DillbvCO.js +0 -1
  970. package/web-ui/build/static/visual-basic-C7H7McST.js +0 -1
  971. package/web-ui/build/static/warpscript-BKjx-dEN.js +0 -1
  972. package/web-ui/build/static/wasm-AVgQyIgy.js +0 -1
  973. package/web-ui/build/static/web-idl-BNNIYzG6.js +0 -1
  974. package/web-ui/build/static/wiki-CLfpaX63.js +0 -1
  975. package/web-ui/build/static/wolfram-DUecju0s.js +0 -1
  976. package/web-ui/build/static/wren-DOzRaRuS.js +0 -1
  977. package/web-ui/build/static/x86asm-FxnmOy9a.js +0 -1
  978. package/web-ui/build/static/xeora-u3RdEzzL.js +0 -1
  979. package/web-ui/build/static/xl-DRkSDCgX.js +0 -1
  980. package/web-ui/build/static/xml-d39yV6YW.js +0 -1
  981. package/web-ui/build/static/xml-doc-CAsyFkZk.js +0 -1
  982. package/web-ui/build/static/xojo-C82wULba.js +0 -1
  983. package/web-ui/build/static/xquery-CdvxjAIl.js +0 -1
  984. package/web-ui/build/static/xquery-ClPcUh76.js +0 -1
  985. package/web-ui/build/static/yaml-C5_f2N79.js +0 -1
  986. package/web-ui/build/static/yaml-ZJm6Uydk.js +0 -1
  987. package/web-ui/build/static/yang-BR7aZNbT.js +0 -1
  988. package/web-ui/build/static/zephir-CnL3vXXJ.js +0 -1
  989. package/web-ui/build/static/zig-e5ovIuAu.js +0 -1
@@ -0,0 +1,176 @@
1
+ /**
2
+ * HTTP route tests for the scheduler visualizer.
3
+ *
4
+ * Mounts a real Express app + the production registerSchedulerRoutes helper
5
+ * — same shape webServer.js uses — so this catches the class of bug we hit
6
+ * with the widget routes (handler reading from the wrong owner).
7
+ *
8
+ * Coverage:
9
+ * GET /api/scheduler/state — 200 happy path, 503 when scheduler missing,
10
+ * 503 when scheduler has no getState method,
11
+ * 500 on getState throw, late-attach via thunk.
12
+ * GET /scheduler — 200 + html content-type + body equals supplied html.
13
+ */
14
+
15
+ import { jest, describe, it, expect, beforeAll, afterAll } from '@jest/globals';
16
+ import express from 'express';
17
+ import { createServer } from 'http';
18
+ import { registerSchedulerRoutes } from '../schedulerRoutes.js';
19
+
20
+ async function http(url, options = {}) {
21
+ const resp = await globalThis.fetch(url, options);
22
+ const ct = resp.headers.get('content-type') || '';
23
+ const body = ct.includes('json') ? await resp.json() : await resp.text();
24
+ return { status: resp.status, body, headers: resp.headers };
25
+ }
26
+
27
+ function startApp(deps) {
28
+ const app = express();
29
+ registerSchedulerRoutes(app, deps);
30
+ const server = createServer(app);
31
+ return new Promise(resolve => {
32
+ server.listen(0, () => {
33
+ const port = server.address().port;
34
+ resolve({ server, baseUrl: `http://localhost:${port}` });
35
+ });
36
+ });
37
+ }
38
+
39
+ describe('GET /api/scheduler/state — happy path', () => {
40
+ let server, baseUrl;
41
+ const SNAPSHOT = {
42
+ serverTime: '2026-04-25T10:00:00.000Z',
43
+ scheduler: { running: true, iterationDelayMs: 1000, maxConcurrent: 3, currentlyInFlight: 0, cycleCount: 7, cycleHistoryMax: 200 },
44
+ locks: [],
45
+ cycles: [{ n: 7, outcome: 'idle', at: '2026-04-25T10:00:00.000Z' }],
46
+ agents: [{ id: 'a1', name: 'A', activity: { active: true, reason: 'has-pending-tasks' } }],
47
+ };
48
+ beforeAll(async () => {
49
+ const fakeScheduler = { getState: jest.fn().mockResolvedValue(SNAPSHOT) };
50
+ ({ server, baseUrl } = await startApp({
51
+ getScheduler: () => fakeScheduler,
52
+ logger: { error: jest.fn() },
53
+ html: '<html>viz</html>',
54
+ }));
55
+ });
56
+ afterAll(() => server?.close());
57
+
58
+ it('returns 200 with the full snapshot shape', async () => {
59
+ const r = await http(`${baseUrl}/api/scheduler/state`);
60
+ expect(r.status).toBe(200);
61
+ expect(r.body).toEqual(SNAPSHOT);
62
+ });
63
+ });
64
+
65
+ describe('GET /api/scheduler/state — 503 paths (scheduler not attached / wrong shape)', () => {
66
+ it('503 when getScheduler() returns null (boot ordering)', async () => {
67
+ const { server, baseUrl } = await startApp({
68
+ getScheduler: () => null,
69
+ logger: { error: jest.fn() },
70
+ html: '<x/>',
71
+ });
72
+ try {
73
+ const r = await http(`${baseUrl}/api/scheduler/state`);
74
+ expect(r.status).toBe(503);
75
+ expect(r.body).toMatchObject({ error: expect.stringMatching(/not attached/) });
76
+ } finally { server.close(); }
77
+ });
78
+
79
+ it('503 when getScheduler() returns an object missing getState (defensive)', async () => {
80
+ const { server, baseUrl } = await startApp({
81
+ getScheduler: () => ({ /* no getState */ }),
82
+ logger: { error: jest.fn() },
83
+ html: '<x/>',
84
+ });
85
+ try {
86
+ const r = await http(`${baseUrl}/api/scheduler/state`);
87
+ expect(r.status).toBe(503);
88
+ } finally { server.close(); }
89
+ });
90
+
91
+ it('503 when no getScheduler dep is supplied at all', async () => {
92
+ const { server, baseUrl } = await startApp({ logger: { error: jest.fn() }, html: '<x/>' });
93
+ try {
94
+ const r = await http(`${baseUrl}/api/scheduler/state`);
95
+ expect(r.status).toBe(503);
96
+ } finally { server.close(); }
97
+ });
98
+ });
99
+
100
+ describe('GET /api/scheduler/state — 500 path', () => {
101
+ it('returns 500 with the error message when getState throws', async () => {
102
+ const errorLog = jest.fn();
103
+ const fakeScheduler = { getState: jest.fn().mockRejectedValue(new Error('boom')) };
104
+ const { server, baseUrl } = await startApp({
105
+ getScheduler: () => fakeScheduler,
106
+ logger: { error: errorLog },
107
+ html: '<x/>',
108
+ });
109
+ try {
110
+ const r = await http(`${baseUrl}/api/scheduler/state`);
111
+ expect(r.status).toBe(500);
112
+ expect(r.body).toMatchObject({ error: 'boom' });
113
+ expect(errorLog).toHaveBeenCalledWith(
114
+ expect.stringMatching(/scheduler state/i),
115
+ expect.objectContaining({ error: 'boom' }),
116
+ );
117
+ } finally { server.close(); }
118
+ });
119
+ });
120
+
121
+ describe('thunk semantics: scheduler attached AFTER route registration', () => {
122
+ it('first call 503s, then 200 once getScheduler() starts returning the scheduler', async () => {
123
+ let scheduler = null;
124
+ const { server, baseUrl } = await startApp({
125
+ getScheduler: () => scheduler,
126
+ logger: { error: jest.fn() },
127
+ html: '<x/>',
128
+ });
129
+ try {
130
+ const r1 = await http(`${baseUrl}/api/scheduler/state`);
131
+ expect(r1.status).toBe(503);
132
+ // Late-attach: this is the production-relevant scenario — webServer
133
+ // mounts routes before orchestrator has wired the scheduler in.
134
+ scheduler = { getState: jest.fn().mockResolvedValue({ ok: true, agents: [], cycles: [], locks: [], scheduler: {}, serverTime: 'x' }) };
135
+ const r2 = await http(`${baseUrl}/api/scheduler/state`);
136
+ expect(r2.status).toBe(200);
137
+ expect(r2.body).toMatchObject({ ok: true });
138
+ } finally { server.close(); }
139
+ });
140
+ });
141
+
142
+ describe('GET /scheduler — HTML viewer page', () => {
143
+ it('200 + text/html + supplied html body', async () => {
144
+ const html = '<!doctype html><title>UNIQUE-MARKER</title>';
145
+ const { server, baseUrl } = await startApp({
146
+ getScheduler: () => ({ getState: async () => ({}) }),
147
+ logger: { error: jest.fn() },
148
+ html,
149
+ });
150
+ try {
151
+ const r = await http(`${baseUrl}/scheduler`);
152
+ expect(r.status).toBe(200);
153
+ expect(r.headers.get('content-type')).toMatch(/html/);
154
+ expect(r.body).toBe(html);
155
+ expect(r.body).toContain('UNIQUE-MARKER');
156
+ } finally { server.close(); }
157
+ });
158
+
159
+ it('falls back to a built-in stub html when none is supplied (defensive)', async () => {
160
+ const { server, baseUrl } = await startApp({ getScheduler: () => null });
161
+ try {
162
+ const r = await http(`${baseUrl}/scheduler`);
163
+ expect(r.status).toBe(200);
164
+ expect(r.headers.get('content-type')).toMatch(/html/);
165
+ expect(typeof r.body).toBe('string');
166
+ expect(r.body.length).toBeGreaterThan(0);
167
+ } finally { server.close(); }
168
+ });
169
+ });
170
+
171
+ describe('registerSchedulerRoutes — defensive guards', () => {
172
+ it('no-ops when app is null/undefined (does not throw)', () => {
173
+ expect(() => registerSchedulerRoutes(null, {})).not.toThrow();
174
+ expect(() => registerSchedulerRoutes(undefined, {})).not.toThrow();
175
+ });
176
+ });
@@ -0,0 +1,257 @@
1
+ /**
2
+ * Agent context + memory routes.
3
+ *
4
+ * Powers the "Memory" tab in the AgentEditModal. Three concerns:
5
+ *
6
+ * 1. Memory catalog CRUD — backed by MemoryService.
7
+ * GET /api/agents/:agentId/memories
8
+ * POST /api/agents/:agentId/memories
9
+ * PUT /api/agents/:agentId/memories/:memoryId
10
+ * DELETE /api/agents/:agentId/memories/:memoryId
11
+ *
12
+ * 2. Live "what would be sent to the model on the next turn" snapshot —
13
+ * the full system prompt (with all tool/capability injections), the
14
+ * message array assembled by agentPool.getMessagesForAI, and the
15
+ * pending message queues that haven't been folded in yet.
16
+ * GET /api/agents/:agentId/context-snapshot
17
+ *
18
+ * 3. Future: any other "lives inside the context window" data
19
+ * (compaction state, working dir, persisted skills, …) gets added
20
+ * here as a single read-only window into agent state.
21
+ *
22
+ * Extracted as a module (not inline in webServer.js) so the routes are
23
+ * testable in isolation against a fake express + injected dependencies,
24
+ * mirroring the schedulerRoutes / widget routes pattern.
25
+ */
26
+
27
+ /**
28
+ * @param {object} app express app
29
+ * @param {object} deps
30
+ * @param {() => object|null} deps.getAgentPool resolve agentPool at request time
31
+ * @param {(logger?) => object} deps.getMemoryService memory service factory
32
+ * @param {object} [deps.logger]
33
+ */
34
+ export function registerAgentContextRoutes(app, deps = {}) {
35
+ if (!app) return;
36
+ const getAgentPool = typeof deps.getAgentPool === 'function' ? deps.getAgentPool : () => null;
37
+ const getMemoryService = typeof deps.getMemoryService === 'function' ? deps.getMemoryService : null;
38
+ const logger = deps.logger || { error: () => {}, warn: () => {} };
39
+
40
+ if (!getMemoryService) {
41
+ // Module is wired up but no memory service available — bail gracefully.
42
+ // Routes will return 503 below; we don't even register them.
43
+ return;
44
+ }
45
+
46
+ // ── Memory CRUD ─────────────────────────────────────────────────────
47
+
48
+ // GET /api/agents/:agentId/memories — full memory objects (content + metadata).
49
+ app.get('/api/agents/:agentId/memories', async (req, res) => {
50
+ try {
51
+ const { agentId } = req.params;
52
+ if (!agentId) return res.status(400).json({ success: false, error: 'agentId is required' });
53
+ const svc = getMemoryService(logger);
54
+ const memories = await svc.loadMemories(agentId);
55
+ res.json({ success: true, count: memories.length, memories });
56
+ } catch (err) {
57
+ logger.error('[agentContext] list memories failed', { error: err?.message });
58
+ res.status(500).json({ success: false, error: err?.message || 'unknown' });
59
+ }
60
+ });
61
+
62
+ // POST /api/agents/:agentId/memories — add memory.
63
+ // Body: { title (required), description?, content (required), expiration? }
64
+ app.post('/api/agents/:agentId/memories', async (req, res) => {
65
+ try {
66
+ const { agentId } = req.params;
67
+ const { title, description, content, expiration } = req.body || {};
68
+ if (!agentId) return res.status(400).json({ success: false, error: 'agentId is required' });
69
+ if (typeof title !== 'string' || !title.trim()) {
70
+ return res.status(400).json({ success: false, error: 'title (non-empty string) is required' });
71
+ }
72
+ if (typeof content !== 'string' || !content.trim()) {
73
+ return res.status(400).json({ success: false, error: 'content (non-empty string) is required' });
74
+ }
75
+ const svc = getMemoryService(logger);
76
+ const memory = await svc.addMemory(agentId, {
77
+ title: title.trim(),
78
+ description: typeof description === 'string' ? description.trim() : '',
79
+ content,
80
+ expiration,
81
+ });
82
+ res.json({ success: true, memory });
83
+ } catch (err) {
84
+ logger.error('[agentContext] add memory failed', { error: err?.message });
85
+ res.status(500).json({ success: false, error: err?.message || 'unknown' });
86
+ }
87
+ });
88
+
89
+ // PUT /api/agents/:agentId/memories/:memoryId — update memory.
90
+ // Body: any subset of { title, description, content, expiration }.
91
+ app.put('/api/agents/:agentId/memories/:memoryId', async (req, res) => {
92
+ try {
93
+ const { agentId, memoryId } = req.params;
94
+ if (!agentId || !memoryId) {
95
+ return res.status(400).json({ success: false, error: 'agentId and memoryId are required' });
96
+ }
97
+ const updates = req.body || {};
98
+ const svc = getMemoryService(logger);
99
+ const memory = await svc.updateMemory(agentId, memoryId, updates);
100
+ if (!memory) return res.status(404).json({ success: false, error: `Memory not found: ${memoryId}` });
101
+ res.json({ success: true, memory });
102
+ } catch (err) {
103
+ logger.error('[agentContext] update memory failed', { error: err?.message });
104
+ res.status(500).json({ success: false, error: err?.message || 'unknown' });
105
+ }
106
+ });
107
+
108
+ // DELETE /api/agents/:agentId/memories/:memoryId — delete memory.
109
+ app.delete('/api/agents/:agentId/memories/:memoryId', async (req, res) => {
110
+ try {
111
+ const { agentId, memoryId } = req.params;
112
+ if (!agentId || !memoryId) {
113
+ return res.status(400).json({ success: false, error: 'agentId and memoryId are required' });
114
+ }
115
+ const svc = getMemoryService(logger);
116
+ const ok = await svc.deleteMemory(agentId, memoryId);
117
+ if (!ok) return res.status(404).json({ success: false, error: `Memory not found: ${memoryId}` });
118
+ res.json({ success: true });
119
+ } catch (err) {
120
+ logger.error('[agentContext] delete memory failed', { error: err?.message });
121
+ res.status(500).json({ success: false, error: err?.message || 'unknown' });
122
+ }
123
+ });
124
+
125
+ // ── Context snapshot ────────────────────────────────────────────────
126
+
127
+ // GET /api/agents/:agentId/context-snapshot — atomic read-only view of
128
+ // everything "live in the context window" for this agent right now:
129
+ // - systemPrompt.original = user-authored prompt
130
+ // - systemPrompt.full = enhanced prompt with all tool injections
131
+ // - messages = exactly what getMessagesForAI returns
132
+ // (i.e. what would be sent on the next turn)
133
+ // - pendingQueues = msg queues not yet folded into the
134
+ // conversation history
135
+ // - stats = sizes, counts, model id
136
+ app.get('/api/agents/:agentId/context-snapshot', async (req, res) => {
137
+ try {
138
+ const { agentId } = req.params;
139
+ if (!agentId) return res.status(400).json({ success: false, error: 'agentId is required' });
140
+
141
+ const agentPool = getAgentPool();
142
+ if (!agentPool || typeof agentPool.getAgent !== 'function') {
143
+ return res.status(503).json({ success: false, error: 'agent pool not available' });
144
+ }
145
+
146
+ const agent = await agentPool.getAgent(agentId);
147
+ if (!agent) return res.status(404).json({ success: false, error: `Agent not found: ${agentId}` });
148
+
149
+ // System prompt — both forms. `systemPrompt` is the enhanced one
150
+ // (with tool descriptions injected); `originalSystemPrompt` is the
151
+ // user-authored version. Showing both lets the user understand
152
+ // exactly what the model sees vs what they typed.
153
+ const original = agent.originalSystemPrompt || agent.systemPrompt || '';
154
+ const full = agent.systemPrompt || original;
155
+
156
+ // Messages prepared for the next turn. getMessagesForAI is the
157
+ // exact function the scheduler calls right before sending; this
158
+ // is the source of truth for "what would the model see now?".
159
+ const modelId = agent.currentModel || agent.preferredModel;
160
+ let messages = [];
161
+ let messagesError = null;
162
+ if (modelId && typeof agentPool.getMessagesForAI === 'function') {
163
+ try {
164
+ messages = await agentPool.getMessagesForAI(agentId, modelId);
165
+ } catch (e) {
166
+ // Don't fail the whole snapshot — surface the error inline so
167
+ // the user can see "messages couldn't be assembled" without
168
+ // losing the system-prompt + queue views.
169
+ messagesError = e?.message || String(e);
170
+ }
171
+ }
172
+
173
+ // Per-message lightweight projection — strip enormous tool output
174
+ // bodies so the snapshot is bounded. Caller can re-query with a
175
+ // "give me message X in full" path if/when we add it.
176
+ const MAX_PREVIEW = 4000;
177
+ const projection = (Array.isArray(messages) ? messages : []).map((m, i) => {
178
+ const content = typeof m.content === 'string' ? m.content : safeStringify(m.content);
179
+ const truncated = content.length > MAX_PREVIEW;
180
+ return {
181
+ index: i,
182
+ role: m.role,
183
+ name: m.name || null,
184
+ contentPreview: truncated ? content.slice(0, MAX_PREVIEW) : content,
185
+ contentLength: content.length,
186
+ truncated,
187
+ timestamp: m.timestamp || null,
188
+ hasToolCalls: !!(m.toolCalls || m.tool_calls),
189
+ toolCallId: m.toolCallId || m.tool_call_id || null,
190
+ };
191
+ });
192
+
193
+ // Pending queues — what's waiting to be folded in but isn't yet.
194
+ const queues = agent.messageQueues || {};
195
+ const queueProjection = (arr, kind) => (Array.isArray(arr) ? arr : []).map((m, i) => ({
196
+ index: i,
197
+ kind,
198
+ contentPreview: safePreview(m?.content ?? m?.message ?? m?.text ?? '', 200),
199
+ timestamp: m?.timestamp || null,
200
+ }));
201
+
202
+ const totalSystemPromptLen = full.length;
203
+ const totalMessageLen = projection.reduce((acc, m) => acc + (m.contentLength || 0), 0);
204
+ // Rough token estimate (≈ 4 chars / token). Cheap and good enough
205
+ // for the UI bar; the model-side accounting still uses real tokenizers.
206
+ const estimatedTokens = Math.ceil((totalSystemPromptLen + totalMessageLen) / 4);
207
+
208
+ res.json({
209
+ success: true,
210
+ agent: {
211
+ id: agent.id,
212
+ name: agent.name,
213
+ mode: agent.mode,
214
+ status: agent.status,
215
+ currentModel: agent.currentModel || null,
216
+ preferredModel: agent.preferredModel || null,
217
+ },
218
+ systemPrompt: {
219
+ original,
220
+ full,
221
+ enhancementBytes: Math.max(0, full.length - original.length),
222
+ originalLength: original.length,
223
+ fullLength: full.length,
224
+ },
225
+ messages: projection,
226
+ messagesError,
227
+ pendingQueues: {
228
+ userMessages: queueProjection(queues.userMessages, 'user'),
229
+ interAgentMessages: queueProjection(queues.interAgentMessages, 'inter-agent'),
230
+ toolResults: queueProjection(queues.toolResults, 'tool-result'),
231
+ },
232
+ stats: {
233
+ messageCount: projection.length,
234
+ totalMessageBytes: totalMessageLen,
235
+ estimatedTokens,
236
+ generatedAt: new Date().toISOString(),
237
+ },
238
+ });
239
+ } catch (err) {
240
+ logger.error('[agentContext] snapshot failed', { error: err?.message });
241
+ res.status(500).json({ success: false, error: err?.message || 'unknown' });
242
+ }
243
+ });
244
+ }
245
+
246
+ function safeStringify(v) {
247
+ if (v == null) return '';
248
+ try { return typeof v === 'string' ? v : JSON.stringify(v); }
249
+ catch { return String(v); }
250
+ }
251
+
252
+ function safePreview(v, max) {
253
+ const s = safeStringify(v);
254
+ return s.length > max ? s.slice(0, max) : s;
255
+ }
256
+
257
+ export default { registerAgentContextRoutes };
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Scheduler visualizer routes — extracted from webServer.js so they're
3
+ * testable against the real production wiring (the lesson from the widget
4
+ * routes 503 incident: tests that don't match production shape don't catch
5
+ * production bugs).
6
+ *
7
+ * Two routes:
8
+ * GET /api/scheduler/state — JSON snapshot from scheduler.getState()
9
+ * GET /scheduler — self-contained HTML viewer page
10
+ *
11
+ * Registration:
12
+ * registerSchedulerRoutes(app, {
13
+ * getScheduler: () => orchestrator?.agentPool?.scheduler,
14
+ * logger,
15
+ * html: SCHEDULER_VIEWER_HTML,
16
+ * });
17
+ *
18
+ * `getScheduler` is a thunk (not the scheduler itself) so the routes resolve
19
+ * the scheduler at request-time — handles the case where the scheduler is
20
+ * attached after the routes are registered (orchestrator startup ordering).
21
+ */
22
+
23
+ export function registerSchedulerRoutes(app, deps = {}) {
24
+ if (!app) return;
25
+ const getScheduler = typeof deps.getScheduler === 'function' ? deps.getScheduler : () => null;
26
+ const logger = deps.logger || { error: () => {} };
27
+ const html = typeof deps.html === 'string' ? deps.html : '<!doctype html><title>scheduler</title>';
28
+
29
+ // JSON snapshot of scheduler + all agents — polled by /scheduler at 1 Hz.
30
+ app.get('/api/scheduler/state', async (req, res) => {
31
+ try {
32
+ const sched = getScheduler();
33
+ if (!sched || typeof sched.getState !== 'function') {
34
+ return res.status(503).json({ error: 'scheduler is not attached' });
35
+ }
36
+ const state = await sched.getState();
37
+ res.json(state);
38
+ } catch (err) {
39
+ try { logger.error('Failed to build scheduler state', { error: err?.message }); } catch (_) {}
40
+ res.status(500).json({ error: err?.message || 'unknown' });
41
+ }
42
+ });
43
+
44
+ // Self-contained HTML viewer page (no external assets).
45
+ app.get('/scheduler', (req, res) => {
46
+ res.type('html').send(html);
47
+ });
48
+ }
49
+
50
+ export default { registerSchedulerRoutes };
@@ -44,6 +44,12 @@ import { initFileExplorerModule } from '../modules/fileExplorer/index.js';
44
44
  // Import FlowExecutor for flow pipeline execution
45
45
  import FlowExecutor from '../core/flowExecutor.js';
46
46
 
47
+ // Scheduler visualizer routes (extracted for testability)
48
+ import { registerSchedulerRoutes } from './schedulerRoutes.js';
49
+ // Agent memory + context-snapshot routes — power the Memory tab in AgentEditModal.
50
+ import { registerAgentContextRoutes } from './agentContextRoutes.js';
51
+ import { getMemoryService } from '../services/memoryService.js';
52
+
47
53
  const __filename = fileURLToPath(import.meta.url);
48
54
  const __dirname = path.dirname(__filename);
49
55
 
@@ -432,7 +438,7 @@ class WebServer {
432
438
  async initialize() {
433
439
  try {
434
440
  this.setupMiddleware();
435
- this.setupRoutes();
441
+ await this.setupRoutes();
436
442
  this.setupWebSocket();
437
443
 
438
444
  await this.startServer();
@@ -661,7 +667,61 @@ class WebServer {
661
667
  * Setup API routes
662
668
  * @private
663
669
  */
664
- setupRoutes() {
670
+ async setupRoutes() {
671
+ // widget-module: remove this block if the module is deleted.
672
+ // Mounts the widget runtime asset + audit routes under /api/widget/*.
673
+ // AWAITED BEFORE other routes: Express matches routes in registration
674
+ // order, and the SPA catch-all registered later in this file matches
675
+ // EVERY GET request — if widget routes aren't in place first, the
676
+ // fallback returns index.html for /api/widget/runtime.js and the
677
+ // iframe tries to parse HTML as JS ("Unexpected token '<'").
678
+ try {
679
+ const mod = await import('../modules/widget/index.js');
680
+ if (!mod.isDisabled()) {
681
+ // The orchestrator does NOT carry toolsRegistry in production —
682
+ // it lives on `this` (the WebServer). Other route handlers in
683
+ // this file work around it with a `this.toolsRegistry || ...
684
+ // orchestrator?.toolsRegistry` fallback. Pass both explicitly
685
+ // so the widget module's routes resolve the tool reliably.
686
+ mod.registerRoutes(this.app, this.orchestrator, {
687
+ toolsRegistry: this.toolsRegistry,
688
+ });
689
+ this.logger.info('Widget module routes registered');
690
+
691
+ // Bridge the WidgetTool's event bus to a `widget_changed` WebSocket
692
+ // push. The artifacts panel listens for these so its summary cache
693
+ // stays current — independent of whether the chat feed has the
694
+ // tool-result message mounted (the feed is lazily virtualized; old
695
+ // entries unload as the user scrolls and would otherwise be missed).
696
+ try {
697
+ const widgetTool =
698
+ this.toolsRegistry?.getTool?.('widget') ||
699
+ this.orchestrator?.toolsRegistry?.getTool?.('widget');
700
+ if (widgetTool?.events?.on) {
701
+ widgetTool.events.on('widget-changed', (evt) => {
702
+ try {
703
+ // sessionId=null → broadcastToSession falls back to all
704
+ // connections. The frontend filters on currentAgent.
705
+ this.broadcastToSession(null, {
706
+ type: 'widget_changed',
707
+ data: evt,
708
+ });
709
+ } catch (err) {
710
+ this.logger.warn('Failed to broadcast widget_changed', { error: err.message });
711
+ }
712
+ });
713
+ this.logger.info('Widget event bus bridged to WebSocket');
714
+ } else {
715
+ this.logger.warn('Widget tool has no events bus — push updates disabled');
716
+ }
717
+ } catch (err) {
718
+ this.logger.warn('Widget event bus subscribe failed', { error: err.message });
719
+ }
720
+ }
721
+ } catch (err) {
722
+ this.logger.warn('Widget module not available', { error: err.message });
723
+ }
724
+
665
725
  // Health check
666
726
  this.app.get('/api/health', async (req, res) => {
667
727
  try {
@@ -3428,24 +3488,21 @@ h2{color:#16a34a;margin-bottom:.5rem;} p{color:#666;}</style></head>
3428
3488
  // Scheduler Visualizer — JSON state endpoint + HTML viewer
3429
3489
  // ============================================
3430
3490
 
3431
- // JSON snapshot of scheduler + all agents polled by /scheduler at 1 Hz.
3432
- this.app.get('/api/scheduler/state', async (req, res) => {
3433
- try {
3434
- const sched = this.orchestrator?.agentPool?.scheduler;
3435
- if (!sched?.getState) {
3436
- return res.status(503).json({ error: 'scheduler is not attached' });
3437
- }
3438
- const state = await sched.getState();
3439
- res.json(state);
3440
- } catch (err) {
3441
- this.logger.error('Failed to build scheduler state', { error: err.message });
3442
- res.status(500).json({ error: err.message });
3443
- }
3444
- });
3445
-
3446
- // Self-contained HTML viewer. See SCHEDULER_VIEWER_HTML below.
3447
- this.app.get('/scheduler', (req, res) => {
3448
- res.type('html').send(SCHEDULER_VIEWER_HTML);
3491
+ // Mount scheduler visualizer routes via the extracted helper. The thunk
3492
+ // form for getScheduler ensures we resolve the scheduler at request time
3493
+ // (it may be attached after route registration during orchestrator boot).
3494
+ registerSchedulerRoutes(this.app, {
3495
+ getScheduler: () => this.orchestrator?.agentPool?.scheduler,
3496
+ logger: this.logger,
3497
+ html: SCHEDULER_VIEWER_HTML,
3498
+ });
3499
+
3500
+ // Agent context + memory routes (Memory tab in AgentEditModal).
3501
+ // Same thunk pattern: agentPool may be attached after route registration.
3502
+ registerAgentContextRoutes(this.app, {
3503
+ getAgentPool: () => this.orchestrator?.agentPool,
3504
+ getMemoryService,
3505
+ logger: this.logger,
3449
3506
  });
3450
3507
 
3451
3508
  // ============================================