onbuzz 4.8.2 → 4.9.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 (1034) hide show
  1. package/bin/cli.js +27 -1
  2. package/bin/composio-cli.js +431 -0
  3. package/package.json +1 -1
  4. package/scripts/build-onboarding-doc.cjs +805 -0
  5. package/scripts/composio-bench/README.md +151 -0
  6. package/scripts/memory-bench/bench.mjs +576 -0
  7. package/scripts/memory-bench/live-after-2026-05-21T16-20-52-767Z.json +150 -0
  8. package/scripts/memory-bench/live-after-2026-05-21T16-37-17-147Z.json +795 -0
  9. package/scripts/memory-bench/live-after-final-2026-05-21T17-16-02-947Z.json +766 -0
  10. package/scripts/memory-bench/live-after-v2-2026-05-21T16-52-26-833Z.json +890 -0
  11. package/scripts/memory-bench/live-after-v3-2026-05-21T17-05-40-622Z.json +955 -0
  12. package/scripts/memory-bench/live-probe-v2.mjs +412 -0
  13. package/scripts/memory-bench/live-probe.mjs +387 -0
  14. package/scripts/memory-bench/live-smoke-2026-05-21T16-22-35-945Z.json +36 -0
  15. package/scripts/memory-bench/live-smoke2-2026-05-21T16-24-14-095Z.json +36 -0
  16. package/scripts/memory-bench/live-smoke3-2026-05-21T16-26-54-093Z.json +123 -0
  17. package/scripts/memory-bench/live-v2-baseline-2026-05-23T22-43-20-757Z.json +628 -0
  18. package/scripts/memory-bench/live-v2-directive-2026-05-23T21-32-41-369Z.json +628 -0
  19. package/scripts/memory-bench/live-v2-smoke-2026-05-23T20-06-37-325Z.json +34 -0
  20. package/scripts/memory-bench/live-v2-smoke-2026-05-23T20-12-48-199Z.json +38 -0
  21. package/scripts/memory-bench/results-baseline-2026-05-19T11-23-12-245Z.json +39 -0
  22. package/scripts/memory-bench/results-baseline-2026-05-19T11-30-28-763Z.json +1024 -0
  23. package/scripts/memory-bench/results-baseline-2026-05-19T11-34-19-299Z.json +1007 -0
  24. package/scripts/memory-bench/results-baseline-2026-05-19T11-44-18-054Z.json +1432 -0
  25. package/scripts/memory-bench/results-nudge-combined-2026-05-19T12-00-37-465Z.json +1413 -0
  26. package/scripts/memory-bench/results-nudge-directive-2026-05-19T11-36-52-963Z.json +210 -0
  27. package/scripts/memory-bench/results-nudge-directive-2026-05-19T11-49-55-790Z.json +1464 -0
  28. package/scripts/memory-bench/results-nudge-echo-catalog-2026-05-19T11-39-01-829Z.json +232 -0
  29. package/scripts/memory-bench/results-nudge-echo-catalog-2026-05-19T11-55-12-705Z.json +1397 -0
  30. package/scripts/memory-bench/scenarios-v2.mjs +123 -0
  31. package/scripts/memory-bench/scenarios.mjs +178 -0
  32. package/scripts/office-bench/generate-samples.mjs +180 -0
  33. package/scripts/op-posture-bench/bench.mjs +397 -0
  34. package/scripts/op-posture-bench/probe.mjs +87 -0
  35. package/scripts/op-posture-bench/results-2026-05-18T20-29-13-941Z.json +57 -0
  36. package/scripts/op-posture-bench/results-2026-05-18T20-38-36-400Z.json +3071 -0
  37. package/scripts/op-posture-bench/scenarios.mjs +60 -0
  38. package/scripts/op-posture-bench/variants.mjs +68 -0
  39. package/scripts/stub-bench/bench.mjs +439 -0
  40. package/scripts/stub-bench/fixture/auth.js +41 -0
  41. package/scripts/stub-bench/results-2026-05-19T10-33-27-045Z.json +99 -0
  42. package/scripts/stub-bench/results-2026-05-19T10-35-08-240Z.json +920 -0
  43. package/scripts/stub-bench/results-2026-05-19T10-40-12-166Z.json +463 -0
  44. package/src/__tests__/composioCliFlags.test.js +239 -0
  45. package/src/core/__tests__/agentScheduler.codebaseKnowledge.test.js +65 -0
  46. package/src/core/__tests__/agentScheduler.memoryInjection.test.js +78 -0
  47. package/src/core/agentPool.js +10 -0
  48. package/src/core/agentScheduler.js +91 -0
  49. package/src/index.js +19 -3
  50. package/src/interfaces/__tests__/bulkAgentRoute.test.js +290 -0
  51. package/src/interfaces/__tests__/composioRoutes.test.js +318 -0
  52. package/src/interfaces/webServer.js +346 -2
  53. package/src/interfaces/webServer.js.bak +7047 -0
  54. package/src/services/__tests__/codeMapStubRenderer.test.js +207 -0
  55. package/src/services/__tests__/codebaseKnowledgeService.test.js +427 -0
  56. package/src/services/__tests__/compactionRetry.test.js +42 -42
  57. package/src/services/__tests__/composioService.test.js +332 -0
  58. package/src/services/__tests__/memoryService.appendAndCatalog.test.js +139 -0
  59. package/src/services/apiKeyManager.js +33 -0
  60. package/src/services/codeMapStubRenderer.js +142 -0
  61. package/src/services/codebaseKnowledgeService.js +430 -0
  62. package/src/services/composioService.js +378 -0
  63. package/src/services/memoryService.js +98 -0
  64. package/src/tools/__tests__/baseTool.test.js +62 -0
  65. package/src/tools/__tests__/codeMapTool.pluralCanonical.test.js +83 -0
  66. package/src/tools/__tests__/composioTool.test.js +268 -0
  67. package/src/tools/__tests__/memoryTool.pluralCanonical.test.js +189 -0
  68. package/src/tools/__tests__/memoryTool.test.js +1 -1
  69. package/src/tools/__tests__/officeTool.test.js +403 -0
  70. package/src/tools/__tests__/openaiFunctionSchemas.memoryReminisce.test.js +24 -25
  71. package/src/tools/__tests__/singularToolReverseForgive.test.js +97 -0
  72. package/src/tools/__tests__/taskManagerTool.discipline.test.js +137 -0
  73. package/src/tools/__tests__/taskManagerTool.transition.test.js +236 -0
  74. package/src/tools/__tests__/toolShapeForgiveness.test.js +260 -0
  75. package/src/tools/baseTool.js +28 -1
  76. package/src/tools/codeMapTool.js +1673 -1521
  77. package/src/tools/composioTool.js +307 -0
  78. package/src/tools/fileContentReplaceTool.js +893 -840
  79. package/src/tools/fileSystemTool.js +1372 -1314
  80. package/src/tools/fileTreeTool.js +7 -0
  81. package/src/tools/memoryTool.js +217 -81
  82. package/src/tools/office/officeDoc.js +425 -0
  83. package/src/tools/office/officePres.js +360 -0
  84. package/src/tools/office/officeSheet.js +350 -0
  85. package/src/tools/officeTool.js +313 -0
  86. package/src/tools/openaiFunctionSchemas.js +40 -50
  87. package/src/tools/platformControlTool.js +5 -0
  88. package/src/tools/seekTool.js +36 -1
  89. package/src/tools/skillsTool.js +10 -0
  90. package/src/tools/taskManagerTool.js +149 -14
  91. package/src/tools/terminalTool.js +23 -1
  92. package/src/tools/visionTool.js +7 -0
  93. package/src/tools/visualEditorTool.js +7 -0
  94. package/src/tools/whatsappTool.js +7 -0
  95. package/src/utilities/authCache.js +47 -6
  96. package/src/utilities/authCache.js.backup-1779570472481 +121 -0
  97. package/src/utilities/constants.js +19 -11
  98. package/web-ui/build/index.html +2 -2
  99. package/web-ui/build/static/1c-BoCdC5pC.js +1 -0
  100. package/web-ui/build/static/abap-D7A92M1K.js +1 -0
  101. package/web-ui/build/static/abnf-DIcpJ99N.js +1 -0
  102. package/web-ui/build/static/abnf-d4I9yABN.js +1 -0
  103. package/web-ui/build/static/accesslog-D_Ksv5Fi.js +1 -0
  104. package/web-ui/build/static/actionscript-CMJI1an7.js +1 -0
  105. package/web-ui/build/static/actionscript-CNcWu4a1.js +1 -0
  106. package/web-ui/build/static/ada-BIqOBKro.js +1 -0
  107. package/web-ui/build/static/ada-BaTkJMdz.js +1 -0
  108. package/web-ui/build/static/agda-DmRdGgvt.js +1 -0
  109. package/web-ui/build/static/al-g8BvIfOt.js +1 -0
  110. package/web-ui/build/static/angelscript-BGxc0B7l.js +1 -0
  111. package/web-ui/build/static/antlr4-Da7ff6-m.js +1 -0
  112. package/web-ui/build/static/apache-Bibp-dVJ.js +1 -0
  113. package/web-ui/build/static/apacheconf-VzeL8tYb.js +1 -0
  114. package/web-ui/build/static/apex-DUaOCea3.js +1 -0
  115. package/web-ui/build/static/apl-BpwvFE2V.js +1 -0
  116. package/web-ui/build/static/applescript-5YKSWwV1.js +1 -0
  117. package/web-ui/build/static/applescript-BHqj5bpe.js +1 -0
  118. package/web-ui/build/static/aql-B0Wx_3hH.js +1 -0
  119. package/web-ui/build/static/arcade-CR8KkII1.js +1 -0
  120. package/web-ui/build/static/arduino-CYx5u85C.js +1 -0
  121. package/web-ui/build/static/arduino-ClVU2zro.js +1 -0
  122. package/web-ui/build/static/arff-kutIH4CC.js +1 -0
  123. package/web-ui/build/static/armasm-DBm1lGrc.js +1 -0
  124. package/web-ui/build/static/asciidoc-Cl02VMGf.js +1 -0
  125. package/web-ui/build/static/asciidoc-MMFYRqre.js +1 -0
  126. package/web-ui/build/static/asm6502-DPVMGaHn.js +1 -0
  127. package/web-ui/build/static/asmatmel-Dz4vtZ11.js +1 -0
  128. package/web-ui/build/static/aspectj-BZidGBlr.js +1 -0
  129. package/web-ui/build/static/aspnet-C2mo9iee.js +1 -0
  130. package/web-ui/build/static/autohotkey-Bx83oFMW.js +1 -0
  131. package/web-ui/build/static/autohotkey-DciFl6K5.js +1 -0
  132. package/web-ui/build/static/autoit-TVKWI5bu.js +1 -0
  133. package/web-ui/build/static/autoit-oORW7mrd.js +1 -0
  134. package/web-ui/build/static/avisynth-D_5uOtxP.js +1 -0
  135. package/web-ui/build/static/avrasm-D22JmbLm.js +1 -0
  136. package/web-ui/build/static/avro-idl-CtTuANGZ.js +1 -0
  137. package/web-ui/build/static/awk-Bnez22eR.js +1 -0
  138. package/web-ui/build/static/axapta-eqcr7C2-.js +1 -0
  139. package/web-ui/build/static/bash-D3XWHCZZ.js +1 -0
  140. package/web-ui/build/static/bash-px0MqVxE.js +1 -0
  141. package/web-ui/build/static/basic-BWOdgKLg.js +1 -0
  142. package/web-ui/build/static/basic-C7PK4wVg.js +1 -0
  143. package/web-ui/build/static/batch-CFeuSY9D.js +1 -0
  144. package/web-ui/build/static/bbcode-CRC0UNOS.js +1 -0
  145. package/web-ui/build/static/bicep-C18w8d6Z.js +1 -0
  146. package/web-ui/build/static/birb-DPiF4fwX.js +1 -0
  147. package/web-ui/build/static/bison-C1RWPaLl.js +1 -0
  148. package/web-ui/build/static/bnf-BelSXhsr.js +1 -0
  149. package/web-ui/build/static/bnf-D_m4SZuc.js +1 -0
  150. package/web-ui/build/static/brainfuck-Ci7P0POq.js +1 -0
  151. package/web-ui/build/static/brainfuck-DIrW6_96.js +1 -0
  152. package/web-ui/build/static/brightscript-4XgpA0OQ.js +1 -0
  153. package/web-ui/build/static/bro-4kAMStb2.js +1 -0
  154. package/web-ui/build/static/bsl-CleVjH1I.js +1 -0
  155. package/web-ui/build/static/c-Ct3AAwH6.js +1 -0
  156. package/web-ui/build/static/c-EiJrAzIQ.js +1 -0
  157. package/web-ui/build/static/c-like-B361rHmz.js +1 -0
  158. package/web-ui/build/static/cal-BZ3Pr4JI.js +1 -0
  159. package/web-ui/build/static/capnproto-LmwOdJJp.js +1 -0
  160. package/web-ui/build/static/ceylon-CKAfIFzx.js +1 -0
  161. package/web-ui/build/static/cfscript-Cms4z16U.js +1 -0
  162. package/web-ui/build/static/chaiscript-DKxRiUyN.js +1 -0
  163. package/web-ui/build/static/cil-C6rGhwce.js +1 -0
  164. package/web-ui/build/static/clean-DmpXs6RN.js +1 -0
  165. package/web-ui/build/static/clojure-DRYxiF9s.js +1 -0
  166. package/web-ui/build/static/clojure-DTjXEJCq.js +1 -0
  167. package/web-ui/build/static/clojure-repl-C1qlAUnK.js +1 -0
  168. package/web-ui/build/static/cmake-DtUokafC.js +1 -0
  169. package/web-ui/build/static/cmake-_WqF1fG8.js +1 -0
  170. package/web-ui/build/static/cobol-D2Q0IMuT.js +1 -0
  171. package/web-ui/build/static/coffeescript-MRThzdTU.js +1 -0
  172. package/web-ui/build/static/coffeescript-OHOpkJvb.js +1 -0
  173. package/web-ui/build/static/concurnas-CVGat9IA.js +1 -0
  174. package/web-ui/build/static/coq-CB_bM4lt.js +1 -0
  175. package/web-ui/build/static/coq-WNK38Cqz.js +1 -0
  176. package/web-ui/build/static/cos-CNa5GVxa.js +1 -0
  177. package/web-ui/build/static/cpp-D-9lHx0_.js +1 -0
  178. package/web-ui/build/static/cpp-DRvL1yaA.js +1 -0
  179. package/web-ui/build/static/crmsh-evnPMxnd.js +1 -0
  180. package/web-ui/build/static/crystal-RGhNrgnC.js +1 -0
  181. package/web-ui/build/static/crystal-yrBjXjEh.js +1 -0
  182. package/web-ui/build/static/csharp-Dr7sLtl1.js +1 -0
  183. package/web-ui/build/static/csharp-zNVQxjuC.js +1 -0
  184. package/web-ui/build/static/cshtml-CoiK-7Bu.js +1 -0
  185. package/web-ui/build/static/csp-Bhgq86EB.js +1 -0
  186. package/web-ui/build/static/csp-C20UcGAL.js +1 -0
  187. package/web-ui/build/static/css-D1vlrRV2.js +1 -0
  188. package/web-ui/build/static/css-extras-DVSAYMbv.js +1 -0
  189. package/web-ui/build/static/csv-BgR9D8jG.js +1 -0
  190. package/web-ui/build/static/cypher-Dxehyj6Y.js +1 -0
  191. package/web-ui/build/static/d-B-Se39n2.js +1 -0
  192. package/web-ui/build/static/d-Cr4d56op.js +1 -0
  193. package/web-ui/build/static/dart-BBqlOFkR.js +1 -0
  194. package/web-ui/build/static/dart-GRD7MWem.js +1 -0
  195. package/web-ui/build/static/dataweave-BK-Tahkw.js +1 -0
  196. package/web-ui/build/static/dax-pTr9GVoe.js +1 -0
  197. package/web-ui/build/static/delphi-CbwSNmp4.js +1 -0
  198. package/web-ui/build/static/dhall-CuFqRXr6.js +1 -0
  199. package/web-ui/build/static/diff-CK8Fq88e.js +1 -0
  200. package/web-ui/build/static/diff-CWbUTU-C.js +1 -0
  201. package/web-ui/build/static/django-DWaEPdP6.js +1 -0
  202. package/web-ui/build/static/django-TkEFpAOO.js +1 -0
  203. package/web-ui/build/static/dns-DKpFJlA0.js +1 -0
  204. package/web-ui/build/static/dns-zone-file-BIsmZEMf.js +1 -0
  205. package/web-ui/build/static/docker-DUavAYf7.js +1 -0
  206. package/web-ui/build/static/dockerfile-YnavjTIo.js +1 -0
  207. package/web-ui/build/static/dos-Dv3Qr-Oo.js +1 -0
  208. package/web-ui/build/static/dot-BtIPbx7t.js +1 -0
  209. package/web-ui/build/static/dsconfig-CEgd9-kI.js +1 -0
  210. package/web-ui/build/static/dts-BztZn8T6.js +1 -0
  211. package/web-ui/build/static/dust-B-527Hc0.js +1 -0
  212. package/web-ui/build/static/ebnf-CH_nnNi5.js +1 -0
  213. package/web-ui/build/static/ebnf-CuBjcj0j.js +1 -0
  214. package/web-ui/build/static/editorconfig-CA9KaQ0w.js +1 -0
  215. package/web-ui/build/static/eiffel-DVYJwwQw.js +1 -0
  216. package/web-ui/build/static/ejs-C2LKgDYE.js +1 -0
  217. package/web-ui/build/static/elixir-DVXGkbnw.js +1 -0
  218. package/web-ui/build/static/elixir-meJ_qqx4.js +1 -0
  219. package/web-ui/build/static/elm-C5sYS5Cb.js +1 -0
  220. package/web-ui/build/static/elm-Dj443pWY.js +1 -0
  221. package/web-ui/build/static/erb-CAj5yksQ.js +1 -0
  222. package/web-ui/build/static/erb-CcUB2tMd.js +1 -0
  223. package/web-ui/build/static/erlang-JusKooAX.js +1 -0
  224. package/web-ui/build/static/erlang-repl-wYgxDX5h.js +1 -0
  225. package/web-ui/build/static/erlang-sn-PsrSf.js +1 -0
  226. package/web-ui/build/static/etlua-ChDwUxz6.js +1 -0
  227. package/web-ui/build/static/excel-BJux1m2h.js +1 -0
  228. package/web-ui/build/static/excel-formula-i5ByFxAu.js +1 -0
  229. package/web-ui/build/static/factor-CTutAp6r.js +1 -0
  230. package/web-ui/build/static/false-DQz_zYVV.js +1 -0
  231. package/web-ui/build/static/firestore-security-rules-DRGBNXh2.js +1 -0
  232. package/web-ui/build/static/fix-DeSUhixI.js +1 -0
  233. package/web-ui/build/static/flix-BKTJVua_.js +1 -0
  234. package/web-ui/build/static/flow-BpcZsNuo.js +1 -0
  235. package/web-ui/build/static/fortran-BZIKfBPW.js +1 -0
  236. package/web-ui/build/static/fortran-BdezWEh5.js +1 -0
  237. package/web-ui/build/static/fsharp-1Gpt8wZo.js +1 -0
  238. package/web-ui/build/static/fsharp-CMyiqXUW.js +1 -0
  239. package/web-ui/build/static/ftl-D9bBJMhV.js +1 -0
  240. package/web-ui/build/static/gams-DL57wTHN.js +1 -0
  241. package/web-ui/build/static/gap-DN4Uo9cF.js +1 -0
  242. package/web-ui/build/static/gauss-DTa1H0QR.js +1 -0
  243. package/web-ui/build/static/gcode-U5GhqE37.js +1 -0
  244. package/web-ui/build/static/gcode-s-E37fb4.js +1 -0
  245. package/web-ui/build/static/gdscript-DkjgGcDv.js +1 -0
  246. package/web-ui/build/static/gedcom-BbjSSId3.js +1 -0
  247. package/web-ui/build/static/gherkin-BwIzGx7J.js +1 -0
  248. package/web-ui/build/static/gherkin-C97W_9I9.js +1 -0
  249. package/web-ui/build/static/git-DO8dnOip.js +1 -0
  250. package/web-ui/build/static/glsl-B_4UD4-O.js +1 -0
  251. package/web-ui/build/static/glsl-CGSjLy2x.js +1 -0
  252. package/web-ui/build/static/gml-BiITg8HI.js +1 -0
  253. package/web-ui/build/static/gml-DInGU66p.js +1 -0
  254. package/web-ui/build/static/gn--m2IH4i3.js +1 -0
  255. package/web-ui/build/static/go-DOK7GAd-.js +1 -0
  256. package/web-ui/build/static/go-bof0B9jK.js +1 -0
  257. package/web-ui/build/static/go-module-CPIVqmnL.js +1 -0
  258. package/web-ui/build/static/golo-jgy07E43.js +1 -0
  259. package/web-ui/build/static/gradle-BISOF0nH.js +1 -0
  260. package/web-ui/build/static/graphql-FqlbDLTL.js +1 -0
  261. package/web-ui/build/static/groovy-BM0ZyW4a.js +1 -0
  262. package/web-ui/build/static/groovy-oUdbfbZY.js +1 -0
  263. package/web-ui/build/static/haml-C8Qg-VO5.js +1 -0
  264. package/web-ui/build/static/haml-Dse28pB_.js +1 -0
  265. package/web-ui/build/static/handlebars-CWT7WazY.js +1 -0
  266. package/web-ui/build/static/handlebars-Ow3joqOm.js +1 -0
  267. package/web-ui/build/static/haskell-BfraeRhd.js +1 -0
  268. package/web-ui/build/static/haskell-EhcU7sbn.js +1 -0
  269. package/web-ui/build/static/haxe-B8tUoExu.js +1 -0
  270. package/web-ui/build/static/haxe-D9WQHhTh.js +1 -0
  271. package/web-ui/build/static/hcl-CG3GCouf.js +1 -0
  272. package/web-ui/build/static/hlsl-CSWRMQ3m.js +1 -0
  273. package/web-ui/build/static/hoon-Cj0JdbFY.js +1 -0
  274. package/web-ui/build/static/hpkp-CmjdXbgl.js +1 -0
  275. package/web-ui/build/static/hsp-VaFZ7Rlv.js +1 -0
  276. package/web-ui/build/static/hsts-CkJ6UPzY.js +1 -0
  277. package/web-ui/build/static/htmlbars-pfHjYqd2.js +1 -0
  278. package/web-ui/build/static/http-2LA-qivJ.js +1 -0
  279. package/web-ui/build/static/http-CQ_5JSsj.js +1 -0
  280. package/web-ui/build/static/hy-C-Dll2MQ.js +1 -0
  281. package/web-ui/build/static/ichigojam-DecRewwq.js +1 -0
  282. package/web-ui/build/static/icon-CdnU9zPA.js +1 -0
  283. package/web-ui/build/static/icu-message-format-CUQtjk6Q.js +1 -0
  284. package/web-ui/build/static/idris-CRMftLq6.js +1 -0
  285. package/web-ui/build/static/iecst-CXhHqz1P.js +1 -0
  286. package/web-ui/build/static/ignore-_emqIx7v.js +1 -0
  287. package/web-ui/build/static/index-BBHrMvg7.js +1216 -0
  288. package/web-ui/build/static/index-ChkZR_aE.js +13 -0
  289. package/web-ui/build/static/index-DU4GNSOf.js +1 -0
  290. package/web-ui/build/static/index-_z8JjNrI.css +1 -0
  291. package/web-ui/build/static/inform7-CbqlFoFE.js +1 -0
  292. package/web-ui/build/static/inform7-TxZViMJ9.js +1 -0
  293. package/web-ui/build/static/ini-D1sHtm5e.js +1 -0
  294. package/web-ui/build/static/ini-DnqB7pfX.js +1 -0
  295. package/web-ui/build/static/io-MnQK1mM-.js +1 -0
  296. package/web-ui/build/static/irpf90-BRaAenqx.js +1 -0
  297. package/web-ui/build/static/isbl-kubGT4rM.js +1 -0
  298. package/web-ui/build/static/j-BIz9wT9q.js +1 -0
  299. package/web-ui/build/static/java-CbQmsHSK.js +1 -0
  300. package/web-ui/build/static/java-v1B9fNL2.js +1 -0
  301. package/web-ui/build/static/javadoc-TB1OtWS7.js +1 -0
  302. package/web-ui/build/static/javadoclike-BBQPwDAU.js +1 -0
  303. package/web-ui/build/static/javascript-DzNVL5l_.js +1 -0
  304. package/web-ui/build/static/javastacktrace-BduOgG1e.js +1 -0
  305. package/web-ui/build/static/jboss-cli-BcqzI366.js +1 -0
  306. package/web-ui/build/static/jexl-Boyapidr.js +1 -0
  307. package/web-ui/build/static/jolie-hEbkNpsb.js +1 -0
  308. package/web-ui/build/static/jq-ZyEE6oGU.js +1 -0
  309. package/web-ui/build/static/js-extras-CXOzvlL7.js +1 -0
  310. package/web-ui/build/static/js-templates-CkHsm5px.js +1 -0
  311. package/web-ui/build/static/jsdoc-Uk3hj8z2.js +1 -0
  312. package/web-ui/build/static/json-BFi9igjd.js +1 -0
  313. package/web-ui/build/static/json-LI9wtNaG.js +1 -0
  314. package/web-ui/build/static/json5-PwjNByuN.js +1 -0
  315. package/web-ui/build/static/jsonp-DpfGuNSW.js +1 -0
  316. package/web-ui/build/static/jsstacktrace-DhOP2AhS.js +1 -0
  317. package/web-ui/build/static/jsx-DmWoDk8F.js +1 -0
  318. package/web-ui/build/static/julia-DBC5h81N.js +1 -0
  319. package/web-ui/build/static/julia-Dh9sV3LX.js +1 -0
  320. package/web-ui/build/static/julia-repl-BYyDp1f4.js +1 -0
  321. package/web-ui/build/static/keepalived-BTxjrZMV.js +1 -0
  322. package/web-ui/build/static/keyman-IYiyCDCU.js +1 -0
  323. package/web-ui/build/static/kotlin-C0PBuzvy.js +1 -0
  324. package/web-ui/build/static/kotlin-LWYZUK_T.js +1 -0
  325. package/web-ui/build/static/kumir-CQIbnv9I.js +1 -0
  326. package/web-ui/build/static/kusto-DA7pQ-Rb.js +1 -0
  327. package/web-ui/build/static/lasso-CrHySbnC.js +1 -0
  328. package/web-ui/build/static/latex-CLSOFXG4.js +1 -0
  329. package/web-ui/build/static/latex-DYknD4Dx.js +1 -0
  330. package/web-ui/build/static/latte-4QvZcKVw.js +1 -0
  331. package/web-ui/build/static/ldif-Dr96BfRx.js +1 -0
  332. package/web-ui/build/static/leaf-C9qL2Qde.js +1 -0
  333. package/web-ui/build/static/less-DpoID9ZJ.js +1 -0
  334. package/web-ui/build/static/less-wO8QO0XW.js +1 -0
  335. package/web-ui/build/static/lilypond-CNp4Kb1P.js +1 -0
  336. package/web-ui/build/static/liquid-DLULQdgV.js +1 -0
  337. package/web-ui/build/static/lisp-CrVo-Llt.js +1 -0
  338. package/web-ui/build/static/lisp-QIAoXzmW.js +1 -0
  339. package/web-ui/build/static/livecodeserver-DrehOgbf.js +1 -0
  340. package/web-ui/build/static/livescript-Cm2Yp34x.js +1 -0
  341. package/web-ui/build/static/livescript-mVYzlrko.js +1 -0
  342. package/web-ui/build/static/llvm-D6KsQJjh.js +1 -0
  343. package/web-ui/build/static/llvm-DhIp1o-1.js +1 -0
  344. package/web-ui/build/static/log-Sj3ocpgB.js +1 -0
  345. package/web-ui/build/static/lolcode-BSeGnWYG.js +1 -0
  346. package/web-ui/build/static/lsl-DwgUIp0U.js +1 -0
  347. package/web-ui/build/static/lua-B7Ot0Oou.js +1 -0
  348. package/web-ui/build/static/lua-zydwn5-S.js +1 -0
  349. package/web-ui/build/static/magma-Dgfy2Qny.js +1 -0
  350. package/web-ui/build/static/makefile-CSjtzdcw.js +1 -0
  351. package/web-ui/build/static/makefile-DrnEneus.js +1 -0
  352. package/web-ui/build/static/markdown-D9Ke3tYA.js +1 -0
  353. package/web-ui/build/static/markdown-DmwKuI2Y.js +1 -0
  354. package/web-ui/build/static/markup-templating-CikqfHT9.js +1 -0
  355. package/web-ui/build/static/mathematica-OC0imzI5.js +1 -0
  356. package/web-ui/build/static/matlab-BlPcqzRw.js +1 -0
  357. package/web-ui/build/static/matlab-C1iteCkE.js +1 -0
  358. package/web-ui/build/static/maxima-DecbOh0Y.js +1 -0
  359. package/web-ui/build/static/maxscript-80cPuIOA.js +1 -0
  360. package/web-ui/build/static/mel-NI7ysGX2.js +1 -0
  361. package/web-ui/build/static/mel-r03p1eJo.js +1 -0
  362. package/web-ui/build/static/mercury-BdNZw6ZU.js +1 -0
  363. package/web-ui/build/static/mermaid-C1LB7zMJ.js +1 -0
  364. package/web-ui/build/static/mipsasm-BnZ0cdht.js +1 -0
  365. package/web-ui/build/static/mizar-BGPNX3WQ.js +1 -0
  366. package/web-ui/build/static/mizar-CswPcmcG.js +1 -0
  367. package/web-ui/build/static/mojolicious-rRtgy8Or.js +1 -0
  368. package/web-ui/build/static/mongodb-CJU0oeix.js +1 -0
  369. package/web-ui/build/static/monkey-Bj0HaV5-.js +1 -0
  370. package/web-ui/build/static/monkey-JRYuMIYc.js +1 -0
  371. package/web-ui/build/static/moonscript-i7e8bkxZ.js +1 -0
  372. package/web-ui/build/static/moonscript-ldoM156V.js +1 -0
  373. package/web-ui/build/static/n1ql-C0xs8qWA.js +1 -0
  374. package/web-ui/build/static/n1ql-DlC-GlVq.js +1 -0
  375. package/web-ui/build/static/n4js-mIwtIanO.js +1 -0
  376. package/web-ui/build/static/nand2tetris-hdl-mfHIYPZD.js +1 -0
  377. package/web-ui/build/static/naniscript-DiDayxx1.js +1 -0
  378. package/web-ui/build/static/nasm-7uf2nfNC.js +1 -0
  379. package/web-ui/build/static/neon-BKgOgIAL.js +1 -0
  380. package/web-ui/build/static/nevod-BlujoQ5k.js +1 -0
  381. package/web-ui/build/static/nginx-Bb57ubp_.js +1 -0
  382. package/web-ui/build/static/nginx-DmLU0URp.js +1 -0
  383. package/web-ui/build/static/nim-CmnPRTHF.js +1 -0
  384. package/web-ui/build/static/nim-DOReB32c.js +1 -0
  385. package/web-ui/build/static/nix-BDMn1sgi.js +1 -0
  386. package/web-ui/build/static/nix-LTHuFEfQ.js +1 -0
  387. package/web-ui/build/static/node-repl-dxwu8SWp.js +1 -0
  388. package/web-ui/build/static/nsis-CKD0KqBT.js +1 -0
  389. package/web-ui/build/static/nsis-IlSwBUak.js +1 -0
  390. package/web-ui/build/static/objectivec-D4Lo30HV.js +1 -0
  391. package/web-ui/build/static/objectivec-zmGGqvoM.js +1 -0
  392. package/web-ui/build/static/ocaml-2uzfqAr8.js +1 -0
  393. package/web-ui/build/static/ocaml-wF6lV9H4.js +1 -0
  394. package/web-ui/build/static/opencl-B82Xjnw5.js +1 -0
  395. package/web-ui/build/static/openqasm-VzVaHpAP.js +1 -0
  396. package/web-ui/build/static/openscad-B-qK1VfW.js +1 -0
  397. package/web-ui/build/static/oxygene-BNTVgbsA.js +1 -0
  398. package/web-ui/build/static/oz-5ZfXBXQY.js +1 -0
  399. package/web-ui/build/static/parigp-S8JhoJoz.js +1 -0
  400. package/web-ui/build/static/parser-BZPtbLcv.js +1 -0
  401. package/web-ui/build/static/parser3-BZRLDHuv.js +1 -0
  402. package/web-ui/build/static/pascal-GKzqT2Ku.js +1 -0
  403. package/web-ui/build/static/pascaligo-DnbFz_mr.js +1 -0
  404. package/web-ui/build/static/pcaxis-DiRsos26.js +1 -0
  405. package/web-ui/build/static/peoplecode-CMDLbqGB.js +1 -0
  406. package/web-ui/build/static/perl-BOnBAciC.js +1 -0
  407. package/web-ui/build/static/perl-fMVLgVTb.js +1 -0
  408. package/web-ui/build/static/pf-z6xsHHPS.js +1 -0
  409. package/web-ui/build/static/pgsql-5jHAyGJf.js +1 -0
  410. package/web-ui/build/static/php-CbG6Jq36.js +1 -0
  411. package/web-ui/build/static/php-D9yyh70o.js +1 -0
  412. package/web-ui/build/static/php-extras-CQKSwnMo.js +1 -0
  413. package/web-ui/build/static/php-template-Ch4UQhUx.js +1 -0
  414. package/web-ui/build/static/phpdoc-Be7TYcGQ.js +1 -0
  415. package/web-ui/build/static/plaintext-BsYjBqDy.js +1 -0
  416. package/web-ui/build/static/plsql-Dc4ePipN.js +1 -0
  417. package/web-ui/build/static/pony-Cen7DtWb.js +1 -0
  418. package/web-ui/build/static/powerquery-BIOJ1eUE.js +1 -0
  419. package/web-ui/build/static/powershell-CbEjJpj7.js +1 -0
  420. package/web-ui/build/static/powershell-DlceT0ds.js +1 -0
  421. package/web-ui/build/static/processing-C9GaKPU-.js +1 -0
  422. package/web-ui/build/static/processing-CTPA3QIV.js +1 -0
  423. package/web-ui/build/static/profile-CHjz016L.js +1 -0
  424. package/web-ui/build/static/prolog-BK0g5F4c.js +1 -0
  425. package/web-ui/build/static/prolog-DrrwUODp.js +1 -0
  426. package/web-ui/build/static/promql-DftRCUlR.js +1 -0
  427. package/web-ui/build/static/properties-B122hwLT.js +1 -0
  428. package/web-ui/build/static/properties-C0m3XIaN.js +1 -0
  429. package/web-ui/build/static/protobuf-CanIoKel.js +1 -0
  430. package/web-ui/build/static/protobuf-WvDgzNtD.js +1 -0
  431. package/web-ui/build/static/psl-JsKwhg_r.js +1 -0
  432. package/web-ui/build/static/pug-DoQaiAyU.js +1 -0
  433. package/web-ui/build/static/puppet-CoRftQQB.js +1 -0
  434. package/web-ui/build/static/puppet-DHgjsvQ8.js +1 -0
  435. package/web-ui/build/static/pure-BgZIQeOr.js +1 -0
  436. package/web-ui/build/static/purebasic-BRYfIFBb.js +1 -0
  437. package/web-ui/build/static/purebasic-DxXSa8gN.js +1 -0
  438. package/web-ui/build/static/purescript-ChvJvUnk.js +1 -0
  439. package/web-ui/build/static/python-DqhW0V3z.js +1 -0
  440. package/web-ui/build/static/python-Dz2FyIQx.js +1 -0
  441. package/web-ui/build/static/python-repl-Cl3mEb2H.js +1 -0
  442. package/web-ui/build/static/q-Bg4mQWXp.js +1 -0
  443. package/web-ui/build/static/q-DwaQK_1p.js +1 -0
  444. package/web-ui/build/static/qml-D1-fdJvp.js +1 -0
  445. package/web-ui/build/static/qml-DFsoiY0T.js +1 -0
  446. package/web-ui/build/static/qore-DdEtFSV5.js +1 -0
  447. package/web-ui/build/static/qsharp-B_A0OUBX.js +1 -0
  448. package/web-ui/build/static/r-C3M2HrKx.js +1 -0
  449. package/web-ui/build/static/r-_EUAt74Q.js +1 -0
  450. package/web-ui/build/static/racket-B3uAs3VE.js +1 -0
  451. package/web-ui/build/static/reason-CyAzPvNW.js +1 -0
  452. package/web-ui/build/static/reasonml-iEzx6ejF.js +1 -0
  453. package/web-ui/build/static/regex-suWqSnRa.js +1 -0
  454. package/web-ui/build/static/rego-QeDW60Lx.js +1 -0
  455. package/web-ui/build/static/renpy-03fEqIYK.js +1 -0
  456. package/web-ui/build/static/rest-BRJIE-UZ.js +1 -0
  457. package/web-ui/build/static/rib-DOI_C8C9.js +1 -0
  458. package/web-ui/build/static/rip-BaEBdknp.js +1 -0
  459. package/web-ui/build/static/roboconf-DC8IQe4Z.js +1 -0
  460. package/web-ui/build/static/roboconf-jTu2wKoD.js +1 -0
  461. package/web-ui/build/static/robotframework-BFp2sQG2.js +1 -0
  462. package/web-ui/build/static/routeros-Br-GCWs7.js +1 -0
  463. package/web-ui/build/static/rsl-BpWeUJqw.js +1 -0
  464. package/web-ui/build/static/ruby-C3nnVoGq.js +1 -0
  465. package/web-ui/build/static/ruby-DD90V5PL.js +1 -0
  466. package/web-ui/build/static/ruleslanguage-BflyDdqj.js +1 -0
  467. package/web-ui/build/static/rust-DtiFFJtC.js +1 -0
  468. package/web-ui/build/static/rust-uJHZCfXQ.js +1 -0
  469. package/web-ui/build/static/sas-DUr8rIBf.js +1 -0
  470. package/web-ui/build/static/sas-POH3vAEy.js +1 -0
  471. package/web-ui/build/static/sass-D1oLbZQ0.js +1 -0
  472. package/web-ui/build/static/scala-CDtrRn0l.js +1 -0
  473. package/web-ui/build/static/scala-VCIKIldH.js +1 -0
  474. package/web-ui/build/static/scheme-CAWHx2Oj.js +1 -0
  475. package/web-ui/build/static/scheme-DzKv24tn.js +1 -0
  476. package/web-ui/build/static/scilab-DuxpEvzV.js +1 -0
  477. package/web-ui/build/static/scss-BKd4Y-UF.js +1 -0
  478. package/web-ui/build/static/scss-BpqUKxry.js +1 -0
  479. package/web-ui/build/static/shell-session-CglnRr2l.js +1 -0
  480. package/web-ui/build/static/shell-u-Y3PKLQ.js +1 -0
  481. package/web-ui/build/static/smali-D308KWif.js +1 -0
  482. package/web-ui/build/static/smali-DYT-jHPu.js +1 -0
  483. package/web-ui/build/static/smalltalk-BLYA-Ag1.js +1 -0
  484. package/web-ui/build/static/smalltalk-BdMVmgN0.js +1 -0
  485. package/web-ui/build/static/smarty-DUYgBrje.js +1 -0
  486. package/web-ui/build/static/sml-EEhIaAvM.js +1 -0
  487. package/web-ui/build/static/sml-bQ27koeV.js +1 -0
  488. package/web-ui/build/static/solidity-U7x7-dFr.js +1 -0
  489. package/web-ui/build/static/solution-file-Cr03jaqW.js +1 -0
  490. package/web-ui/build/static/soy-lnGOhaRM.js +1 -0
  491. package/web-ui/build/static/sparql-BRm44B1P.js +1 -0
  492. package/web-ui/build/static/splunk-spl-DdrdBOQJ.js +1 -0
  493. package/web-ui/build/static/sqf-CDtvZjid.js +1 -0
  494. package/web-ui/build/static/sqf-wr3PtKhW.js +1 -0
  495. package/web-ui/build/static/sql-B1-8AkNe.js +1 -0
  496. package/web-ui/build/static/sql-zWEK1lPB.js +1 -0
  497. package/web-ui/build/static/sql_more-Ck0DuSs3.js +1 -0
  498. package/web-ui/build/static/squirrel-CfQEIe5h.js +1 -0
  499. package/web-ui/build/static/stan-BM1Wilpj.js +1 -0
  500. package/web-ui/build/static/stan-DFPCSU1l.js +1 -0
  501. package/web-ui/build/static/stata-BJ-qKfEg.js +1 -0
  502. package/web-ui/build/static/step21-fPKcuR3s.js +1 -0
  503. package/web-ui/build/static/stylus-BhqK2C03.js +1 -0
  504. package/web-ui/build/static/stylus-BxloRYSO.js +1 -0
  505. package/web-ui/build/static/subunit-CueM7bOY.js +1 -0
  506. package/web-ui/build/static/swift-CPgZZ0ja.js +1 -0
  507. package/web-ui/build/static/swift-CsEMsJ7g.js +1 -0
  508. package/web-ui/build/static/systemd-B1Wwkby4.js +1 -0
  509. package/web-ui/build/static/t4-cs-CL3Ca0dW.js +1 -0
  510. package/web-ui/build/static/t4-templating-BoV5iKxA.js +1 -0
  511. package/web-ui/build/static/t4-vb-BKXXzk5n.js +1 -0
  512. package/web-ui/build/static/taggerscript-aJQMdfVb.js +1 -0
  513. package/web-ui/build/static/tap-BBfQFbbW.js +1 -0
  514. package/web-ui/build/static/tap-CmCrAtSH.js +1 -0
  515. package/web-ui/build/static/tcl-B8xfoxf8.js +1 -0
  516. package/web-ui/build/static/tcl-CPzoU-PX.js +1 -0
  517. package/web-ui/build/static/textile-B99mXtsV.js +1 -0
  518. package/web-ui/build/static/thrift-Cd40Ii7J.js +1 -0
  519. package/web-ui/build/static/toml-DV5wxyQS.js +1 -0
  520. package/web-ui/build/static/tp-o2VorAT6.js +1 -0
  521. package/web-ui/build/static/tremor-Cs0K_i4_.js +1 -0
  522. package/web-ui/build/static/tsx-KG-mQur8.js +1 -0
  523. package/web-ui/build/static/tt2-M3GHOvjN.js +1 -0
  524. package/web-ui/build/static/turtle-D6o0UODZ.js +1 -0
  525. package/web-ui/build/static/twig-D7LOxPkH.js +1 -0
  526. package/web-ui/build/static/twig-SHSTj-jA.js +1 -0
  527. package/web-ui/build/static/typescript-BeIk_BLV.js +1 -0
  528. package/web-ui/build/static/typescript-Btz-ypJW.js +1 -0
  529. package/web-ui/build/static/typoscript-7jDBTKMM.js +1 -0
  530. package/web-ui/build/static/unrealscript-f2f2MAJa.js +1 -0
  531. package/web-ui/build/static/uorazor-c5VZAS6K.js +1 -0
  532. package/web-ui/build/static/uri-DY2cDkq-.js +1 -0
  533. package/web-ui/build/static/v-6ffK7TKq.js +1 -0
  534. package/web-ui/build/static/vala-BgOkjEeg.js +1 -0
  535. package/web-ui/build/static/vala-BvuDZGU_.js +1 -0
  536. package/web-ui/build/static/vbnet-Bdh9clH3.js +1 -0
  537. package/web-ui/build/static/vbnet-CDpcSndL.js +1 -0
  538. package/web-ui/build/static/vbscript-dH3gn1bx.js +1 -0
  539. package/web-ui/build/static/vbscript-html-a_tIfb0-.js +1 -0
  540. package/web-ui/build/static/velocity-DGDKyukB.js +1 -0
  541. package/web-ui/build/static/verilog-CtJaE20M.js +1 -0
  542. package/web-ui/build/static/verilog-CvdiugJe.js +1 -0
  543. package/web-ui/build/static/vhdl-CN1nxPYJ.js +1 -0
  544. package/web-ui/build/static/vhdl-JtjHb_oM.js +1 -0
  545. package/web-ui/build/static/vim-DBRKYGcU.js +1 -0
  546. package/web-ui/build/static/vim-DQiU261H.js +1 -0
  547. package/web-ui/build/static/visual-basic-D_daebxW.js +1 -0
  548. package/web-ui/build/static/warpscript-B4PIoyZp.js +1 -0
  549. package/web-ui/build/static/wasm-D6_O5K2p.js +1 -0
  550. package/web-ui/build/static/web-idl-D7BDrII0.js +1 -0
  551. package/web-ui/build/static/wiki-D-bqO098.js +1 -0
  552. package/web-ui/build/static/wolfram-NnogXigM.js +1 -0
  553. package/web-ui/build/static/wren-DwgJaCDU.js +1 -0
  554. package/web-ui/build/static/x86asm-B9-C3MH5.js +1 -0
  555. package/web-ui/build/static/xeora-wudvnBkY.js +1 -0
  556. package/web-ui/build/static/xl-BeBZDETk.js +1 -0
  557. package/web-ui/build/static/xml-DgNmhWin.js +1 -0
  558. package/web-ui/build/static/xml-doc-B2RShOT5.js +1 -0
  559. package/web-ui/build/static/xojo-C0HF7CVl.js +1 -0
  560. package/web-ui/build/static/xquery-CMss7jIw.js +1 -0
  561. package/web-ui/build/static/xquery-Dy1YImWg.js +1 -0
  562. package/web-ui/build/static/yaml--7oDAAKr.js +1 -0
  563. package/web-ui/build/static/yaml-1-HThDJz.js +1 -0
  564. package/web-ui/build/static/yang-CxleyLxS.js +1 -0
  565. package/web-ui/build/static/zephir-B7LMkND2.js +1 -0
  566. package/web-ui/build/static/zig-DST87v3k.js +1 -0
  567. package/web-ui/build/static/1c-DGpIT7i5.js +0 -1
  568. package/web-ui/build/static/abap-5wFDdWLh.js +0 -1
  569. package/web-ui/build/static/abnf-BP1dpNSE.js +0 -1
  570. package/web-ui/build/static/abnf-DBEIAl8g.js +0 -1
  571. package/web-ui/build/static/accesslog-CWSM_T5E.js +0 -1
  572. package/web-ui/build/static/actionscript-DONkco1J.js +0 -1
  573. package/web-ui/build/static/actionscript-FqBYk5er.js +0 -1
  574. package/web-ui/build/static/ada-C2JLRIaM.js +0 -1
  575. package/web-ui/build/static/ada-gKiygTRK.js +0 -1
  576. package/web-ui/build/static/agda-CkSODqK2.js +0 -1
  577. package/web-ui/build/static/al-BJ_YR6p7.js +0 -1
  578. package/web-ui/build/static/angelscript-Dg2byMGg.js +0 -1
  579. package/web-ui/build/static/antlr4-BnpyaFNr.js +0 -1
  580. package/web-ui/build/static/apache-Dffxsd7O.js +0 -1
  581. package/web-ui/build/static/apacheconf-DLitjtWj.js +0 -1
  582. package/web-ui/build/static/apex-Drr_IvU2.js +0 -1
  583. package/web-ui/build/static/apl-CF6qxmXG.js +0 -1
  584. package/web-ui/build/static/applescript-CjOlw3b_.js +0 -1
  585. package/web-ui/build/static/applescript-DjkSl1Ry.js +0 -1
  586. package/web-ui/build/static/aql-KwVmK1gP.js +0 -1
  587. package/web-ui/build/static/arcade-CENSXx0R.js +0 -1
  588. package/web-ui/build/static/arduino-B3Ta9Fll.js +0 -1
  589. package/web-ui/build/static/arduino-CzcsaB9_.js +0 -1
  590. package/web-ui/build/static/arff-CMJSVt_O.js +0 -1
  591. package/web-ui/build/static/armasm-0zSgSPB4.js +0 -1
  592. package/web-ui/build/static/asciidoc-B8K5ctWq.js +0 -1
  593. package/web-ui/build/static/asciidoc-bk2Sg6b6.js +0 -1
  594. package/web-ui/build/static/asm6502-ji6zm4FQ.js +0 -1
  595. package/web-ui/build/static/asmatmel-DJqObM4Y.js +0 -1
  596. package/web-ui/build/static/aspectj-DqQKI7J5.js +0 -1
  597. package/web-ui/build/static/aspnet-9cenTxW7.js +0 -1
  598. package/web-ui/build/static/autohotkey-C6EhiZvl.js +0 -1
  599. package/web-ui/build/static/autohotkey-sTGJOvMM.js +0 -1
  600. package/web-ui/build/static/autoit-B0Im8iQ1.js +0 -1
  601. package/web-ui/build/static/autoit-CO6pUD0H.js +0 -1
  602. package/web-ui/build/static/avisynth-OvOHTfj5.js +0 -1
  603. package/web-ui/build/static/avrasm-BLWZ5Mye.js +0 -1
  604. package/web-ui/build/static/avro-idl-BB2ODvnw.js +0 -1
  605. package/web-ui/build/static/awk-_jhMabQ0.js +0 -1
  606. package/web-ui/build/static/axapta-DdBRgoYy.js +0 -1
  607. package/web-ui/build/static/bash-CsaRGXBQ.js +0 -1
  608. package/web-ui/build/static/bash-CxLFkwAC.js +0 -1
  609. package/web-ui/build/static/basic-BJyy7JJE.js +0 -1
  610. package/web-ui/build/static/basic-CrMb-gv0.js +0 -1
  611. package/web-ui/build/static/batch-BvcykMe5.js +0 -1
  612. package/web-ui/build/static/bbcode-EOBuY5Y6.js +0 -1
  613. package/web-ui/build/static/bicep-QkDJBA34.js +0 -1
  614. package/web-ui/build/static/birb-TAOxKurn.js +0 -1
  615. package/web-ui/build/static/bison-BEK6cnad.js +0 -1
  616. package/web-ui/build/static/bnf-DfEODxsr.js +0 -1
  617. package/web-ui/build/static/bnf-DhbMjsuA.js +0 -1
  618. package/web-ui/build/static/brainfuck-BoVocOa7.js +0 -1
  619. package/web-ui/build/static/brainfuck-DDC5QXPK.js +0 -1
  620. package/web-ui/build/static/brightscript-DNN598w2.js +0 -1
  621. package/web-ui/build/static/bro-Cn_jjZ8P.js +0 -1
  622. package/web-ui/build/static/bsl-CMCN75Gu.js +0 -1
  623. package/web-ui/build/static/c-DbOGQnEJ.js +0 -1
  624. package/web-ui/build/static/c-kggwYFsy.js +0 -1
  625. package/web-ui/build/static/c-like-BIsuUvof.js +0 -1
  626. package/web-ui/build/static/cal-DpgMsBZE.js +0 -1
  627. package/web-ui/build/static/capnproto-C1AHYI-M.js +0 -1
  628. package/web-ui/build/static/ceylon-pvJffDe1.js +0 -1
  629. package/web-ui/build/static/cfscript-C1qylu52.js +0 -1
  630. package/web-ui/build/static/chaiscript-D417WKRI.js +0 -1
  631. package/web-ui/build/static/cil-CjbZHbcY.js +0 -1
  632. package/web-ui/build/static/clean-Dvc6R-F2.js +0 -1
  633. package/web-ui/build/static/clojure-CSVRQPMQ.js +0 -1
  634. package/web-ui/build/static/clojure-ig1Vkg7X.js +0 -1
  635. package/web-ui/build/static/clojure-repl-C1uyEabk.js +0 -1
  636. package/web-ui/build/static/cmake-DSbVcAB3.js +0 -1
  637. package/web-ui/build/static/cmake-Zp8kPwnH.js +0 -1
  638. package/web-ui/build/static/cobol-OsZSiK_P.js +0 -1
  639. package/web-ui/build/static/coffeescript-D8r0416S.js +0 -1
  640. package/web-ui/build/static/coffeescript-DCpgClxh.js +0 -1
  641. package/web-ui/build/static/concurnas-DKnsxUOc.js +0 -1
  642. package/web-ui/build/static/coq-BQFlywVI.js +0 -1
  643. package/web-ui/build/static/coq-BvS9mQB2.js +0 -1
  644. package/web-ui/build/static/cos-D3ze2791.js +0 -1
  645. package/web-ui/build/static/cpp-Bw-cV3P1.js +0 -1
  646. package/web-ui/build/static/cpp-vi1p7XpB.js +0 -1
  647. package/web-ui/build/static/crmsh-BClnJTeQ.js +0 -1
  648. package/web-ui/build/static/crystal-DGzOUYZq.js +0 -1
  649. package/web-ui/build/static/crystal-DMzk6EvA.js +0 -1
  650. package/web-ui/build/static/csharp-BTom8s2X.js +0 -1
  651. package/web-ui/build/static/csharp-Cp2V3jfR.js +0 -1
  652. package/web-ui/build/static/cshtml-Dmtt9Kto.js +0 -1
  653. package/web-ui/build/static/csp-WPVsLe9_.js +0 -1
  654. package/web-ui/build/static/csp-qddj5fu_.js +0 -1
  655. package/web-ui/build/static/css-B0FAm7kj.js +0 -1
  656. package/web-ui/build/static/css-extras-Bx3pvjiG.js +0 -1
  657. package/web-ui/build/static/csv-CH-edgS5.js +0 -1
  658. package/web-ui/build/static/cypher-c3G8Leew.js +0 -1
  659. package/web-ui/build/static/d-BMDSy22_.js +0 -1
  660. package/web-ui/build/static/d-BdH4oW8-.js +0 -1
  661. package/web-ui/build/static/dart-C-r72q-O.js +0 -1
  662. package/web-ui/build/static/dart-CwpBMrKa.js +0 -1
  663. package/web-ui/build/static/dataweave-BPvqdt4k.js +0 -1
  664. package/web-ui/build/static/dax-Eyy6ixcN.js +0 -1
  665. package/web-ui/build/static/delphi-DhEbPj_5.js +0 -1
  666. package/web-ui/build/static/dhall-Ct1L8sN1.js +0 -1
  667. package/web-ui/build/static/diff-CSTqCgwn.js +0 -1
  668. package/web-ui/build/static/diff-Da97B5vW.js +0 -1
  669. package/web-ui/build/static/django-DGit_lCg.js +0 -1
  670. package/web-ui/build/static/django-DPgqFB8k.js +0 -1
  671. package/web-ui/build/static/dns-DUyXuZ-a.js +0 -1
  672. package/web-ui/build/static/dns-zone-file-D79MDxVG.js +0 -1
  673. package/web-ui/build/static/docker-DTiy4o38.js +0 -1
  674. package/web-ui/build/static/dockerfile-CvwPP8wE.js +0 -1
  675. package/web-ui/build/static/dos-CaIUWxvb.js +0 -1
  676. package/web-ui/build/static/dot-D3504w6Y.js +0 -1
  677. package/web-ui/build/static/dsconfig-Smy1eeX_.js +0 -1
  678. package/web-ui/build/static/dts-DyTYSXZj.js +0 -1
  679. package/web-ui/build/static/dust-CrJyi6qA.js +0 -1
  680. package/web-ui/build/static/ebnf-C8nqfkBH.js +0 -1
  681. package/web-ui/build/static/ebnf-Cuh5Vh2-.js +0 -1
  682. package/web-ui/build/static/editorconfig-C7pTGl6n.js +0 -1
  683. package/web-ui/build/static/eiffel-C75MSJCA.js +0 -1
  684. package/web-ui/build/static/ejs-Dyo7DF5w.js +0 -1
  685. package/web-ui/build/static/elixir-D4yJefOc.js +0 -1
  686. package/web-ui/build/static/elixir-DKRow2SJ.js +0 -1
  687. package/web-ui/build/static/elm-CgbdDlkT.js +0 -1
  688. package/web-ui/build/static/elm-D3N-UgU0.js +0 -1
  689. package/web-ui/build/static/erb-BsITh8qW.js +0 -1
  690. package/web-ui/build/static/erb-lY_LyKyS.js +0 -1
  691. package/web-ui/build/static/erlang-BCnPiYmB.js +0 -1
  692. package/web-ui/build/static/erlang-JEghiPXc.js +0 -1
  693. package/web-ui/build/static/erlang-repl-DzU97ugC.js +0 -1
  694. package/web-ui/build/static/etlua-CsBo8cJa.js +0 -1
  695. package/web-ui/build/static/excel-formula-C2piiCYa.js +0 -1
  696. package/web-ui/build/static/excel-kqNypwQD.js +0 -1
  697. package/web-ui/build/static/factor-DZTOhkyU.js +0 -1
  698. package/web-ui/build/static/false-yLjhfaSw.js +0 -1
  699. package/web-ui/build/static/firestore-security-rules-oaQNoH8l.js +0 -1
  700. package/web-ui/build/static/fix-C9IfnTuS.js +0 -1
  701. package/web-ui/build/static/flix-EmJ_JhPo.js +0 -1
  702. package/web-ui/build/static/flow-DCUl7IAQ.js +0 -1
  703. package/web-ui/build/static/fortran-DvyxJmFN.js +0 -1
  704. package/web-ui/build/static/fortran-EEP9R3S5.js +0 -1
  705. package/web-ui/build/static/fsharp-D_98s3RX.js +0 -1
  706. package/web-ui/build/static/fsharp-Dt9jOO5G.js +0 -1
  707. package/web-ui/build/static/ftl-C8gMHWLo.js +0 -1
  708. package/web-ui/build/static/gams-BHxVPb4z.js +0 -1
  709. package/web-ui/build/static/gap-DFtyHk-q.js +0 -1
  710. package/web-ui/build/static/gauss-BwhJWUcg.js +0 -1
  711. package/web-ui/build/static/gcode-BvmXwp09.js +0 -1
  712. package/web-ui/build/static/gcode-gWcD6Vc7.js +0 -1
  713. package/web-ui/build/static/gdscript-btHoX8RE.js +0 -1
  714. package/web-ui/build/static/gedcom-MgPs9iqh.js +0 -1
  715. package/web-ui/build/static/gherkin-B9c_Q16A.js +0 -1
  716. package/web-ui/build/static/gherkin-BvOgkK6h.js +0 -1
  717. package/web-ui/build/static/git-D9XWOVcQ.js +0 -1
  718. package/web-ui/build/static/glsl-CshBHxHY.js +0 -1
  719. package/web-ui/build/static/glsl-fNRUMTDr.js +0 -1
  720. package/web-ui/build/static/gml-B78deHK8.js +0 -1
  721. package/web-ui/build/static/gml-Cj7d2u8O.js +0 -1
  722. package/web-ui/build/static/gn-CJLD-mF1.js +0 -1
  723. package/web-ui/build/static/go-CT93BEkL.js +0 -1
  724. package/web-ui/build/static/go-CTTlNuQO.js +0 -1
  725. package/web-ui/build/static/go-module-BgnXboUE.js +0 -1
  726. package/web-ui/build/static/golo-2S5tXS-l.js +0 -1
  727. package/web-ui/build/static/gradle-8W8DCcWJ.js +0 -1
  728. package/web-ui/build/static/graphql-DZfp6FNU.js +0 -1
  729. package/web-ui/build/static/groovy-BfsyMb3X.js +0 -1
  730. package/web-ui/build/static/groovy-Dxov7ENz.js +0 -1
  731. package/web-ui/build/static/haml-BlUFsdVV.js +0 -1
  732. package/web-ui/build/static/haml-CjVj6vvW.js +0 -1
  733. package/web-ui/build/static/handlebars-DxrQFkyA.js +0 -1
  734. package/web-ui/build/static/handlebars-FE6fotYl.js +0 -1
  735. package/web-ui/build/static/haskell-B6z0RCD_.js +0 -1
  736. package/web-ui/build/static/haskell-JBFmJTRy.js +0 -1
  737. package/web-ui/build/static/haxe-BtMZMi-_.js +0 -1
  738. package/web-ui/build/static/haxe-C1J8n-fH.js +0 -1
  739. package/web-ui/build/static/hcl-DJP-bFWE.js +0 -1
  740. package/web-ui/build/static/hlsl-DrGjhs1b.js +0 -1
  741. package/web-ui/build/static/hoon-Cg-ZhqIT.js +0 -1
  742. package/web-ui/build/static/hpkp-D07vgmoZ.js +0 -1
  743. package/web-ui/build/static/hsp-CsypPWoA.js +0 -1
  744. package/web-ui/build/static/hsts-B6DMRxvP.js +0 -1
  745. package/web-ui/build/static/htmlbars-BI7_Hw4e.js +0 -1
  746. package/web-ui/build/static/http-90ihEi4s.js +0 -1
  747. package/web-ui/build/static/http-Dp4QXj9E.js +0 -1
  748. package/web-ui/build/static/hy-BMgKvP4K.js +0 -1
  749. package/web-ui/build/static/ichigojam-D6wKvJDb.js +0 -1
  750. package/web-ui/build/static/icon-CrgkmCwl.js +0 -1
  751. package/web-ui/build/static/icu-message-format-Bi2JxCXs.js +0 -1
  752. package/web-ui/build/static/idris-DbUsyZt5.js +0 -1
  753. package/web-ui/build/static/iecst-CQZ9t8fW.js +0 -1
  754. package/web-ui/build/static/ignore-BaFgtNMs.js +0 -1
  755. package/web-ui/build/static/index-DEWSWosh.css +0 -1
  756. package/web-ui/build/static/index-Di1bjCFA.js +0 -13
  757. package/web-ui/build/static/index-otR_WSsL.js +0 -1
  758. package/web-ui/build/static/index-whZPU4as.js +0 -1183
  759. package/web-ui/build/static/inform7-ClyX1Gro.js +0 -1
  760. package/web-ui/build/static/inform7-tZHBS5XP.js +0 -1
  761. package/web-ui/build/static/ini-BrP5JNYL.js +0 -1
  762. package/web-ui/build/static/ini-CVkrAhwV.js +0 -1
  763. package/web-ui/build/static/io-BJ1Y6Bdc.js +0 -1
  764. package/web-ui/build/static/irpf90-fjjcKS_8.js +0 -1
  765. package/web-ui/build/static/isbl-ClpvfUIz.js +0 -1
  766. package/web-ui/build/static/j-CICW77xS.js +0 -1
  767. package/web-ui/build/static/java-B9DFK-0E.js +0 -1
  768. package/web-ui/build/static/java-BL_6rYko.js +0 -1
  769. package/web-ui/build/static/javadoc-Cc4HKpKK.js +0 -1
  770. package/web-ui/build/static/javadoclike-CgNkUDOm.js +0 -1
  771. package/web-ui/build/static/javascript-CM40ZECq.js +0 -1
  772. package/web-ui/build/static/javastacktrace-BHSqXfG5.js +0 -1
  773. package/web-ui/build/static/jboss-cli-Bv5NhVSZ.js +0 -1
  774. package/web-ui/build/static/jexl--Ohk_keA.js +0 -1
  775. package/web-ui/build/static/jolie-DMTN5Vdf.js +0 -1
  776. package/web-ui/build/static/jq-nXRLldXX.js +0 -1
  777. package/web-ui/build/static/js-extras-eLwv3frs.js +0 -1
  778. package/web-ui/build/static/js-templates-Ca0owlrg.js +0 -1
  779. package/web-ui/build/static/jsdoc-KERXp0da.js +0 -1
  780. package/web-ui/build/static/json-BTjLaRsy.js +0 -1
  781. package/web-ui/build/static/json-p7pU0qdW.js +0 -1
  782. package/web-ui/build/static/json5-Cxjy1udc.js +0 -1
  783. package/web-ui/build/static/jsonp-CO52H7Gy.js +0 -1
  784. package/web-ui/build/static/jsstacktrace-8YKfoyJP.js +0 -1
  785. package/web-ui/build/static/jsx-Ct_05KbM.js +0 -1
  786. package/web-ui/build/static/julia-23I1ubCE.js +0 -1
  787. package/web-ui/build/static/julia-d8rVGed_.js +0 -1
  788. package/web-ui/build/static/julia-repl-mwnHedW_.js +0 -1
  789. package/web-ui/build/static/keepalived-E85Rx_fF.js +0 -1
  790. package/web-ui/build/static/keyman-aWd3QUDq.js +0 -1
  791. package/web-ui/build/static/kotlin-Cu370hQq.js +0 -1
  792. package/web-ui/build/static/kotlin-DoJ2WnmZ.js +0 -1
  793. package/web-ui/build/static/kumir-oiOgqcQO.js +0 -1
  794. package/web-ui/build/static/kusto-Bp-B02K5.js +0 -1
  795. package/web-ui/build/static/lasso-BxoQVwOO.js +0 -1
  796. package/web-ui/build/static/latex-CANm5vsX.js +0 -1
  797. package/web-ui/build/static/latex-PMroeNch.js +0 -1
  798. package/web-ui/build/static/latte-2ErU_2XF.js +0 -1
  799. package/web-ui/build/static/ldif-ChPn_F7o.js +0 -1
  800. package/web-ui/build/static/leaf-UkCugDgG.js +0 -1
  801. package/web-ui/build/static/less-CCH5RA89.js +0 -1
  802. package/web-ui/build/static/less-CGZbVU1g.js +0 -1
  803. package/web-ui/build/static/lilypond-BoyM37sv.js +0 -1
  804. package/web-ui/build/static/liquid-DGJVpRBi.js +0 -1
  805. package/web-ui/build/static/lisp-93nne61u.js +0 -1
  806. package/web-ui/build/static/lisp-DYjIRsXz.js +0 -1
  807. package/web-ui/build/static/livecodeserver-CfNaxIE4.js +0 -1
  808. package/web-ui/build/static/livescript-C8kDlQkz.js +0 -1
  809. package/web-ui/build/static/livescript-CoarnRHq.js +0 -1
  810. package/web-ui/build/static/llvm-CBVyNmAh.js +0 -1
  811. package/web-ui/build/static/llvm-DGxq8a7u.js +0 -1
  812. package/web-ui/build/static/log-BivgwFql.js +0 -1
  813. package/web-ui/build/static/lolcode-l5sK2cZz.js +0 -1
  814. package/web-ui/build/static/lsl-Xm44xLRQ.js +0 -1
  815. package/web-ui/build/static/lua-CGvrzfKp.js +0 -1
  816. package/web-ui/build/static/lua-nHwXeY4c.js +0 -1
  817. package/web-ui/build/static/magma-DmNItmna.js +0 -1
  818. package/web-ui/build/static/makefile-CKJNNHGb.js +0 -1
  819. package/web-ui/build/static/makefile-DI6y5Qml.js +0 -1
  820. package/web-ui/build/static/markdown-BgpbxKd-.js +0 -1
  821. package/web-ui/build/static/markdown-CvcxA4yk.js +0 -1
  822. package/web-ui/build/static/markup-templating-DijqesiA.js +0 -1
  823. package/web-ui/build/static/mathematica-Cxll1Q10.js +0 -1
  824. package/web-ui/build/static/matlab-BJo2T1A-.js +0 -1
  825. package/web-ui/build/static/matlab-C6DlZX4l.js +0 -1
  826. package/web-ui/build/static/maxima-DJXO4sbL.js +0 -1
  827. package/web-ui/build/static/maxscript-DdLpUYBs.js +0 -1
  828. package/web-ui/build/static/mel-BIpfnSyZ.js +0 -1
  829. package/web-ui/build/static/mel-BYcTUZJW.js +0 -1
  830. package/web-ui/build/static/mercury-C_LSpbD8.js +0 -1
  831. package/web-ui/build/static/mermaid-D9yBWnrT.js +0 -1
  832. package/web-ui/build/static/mipsasm-nR_K2Ue-.js +0 -1
  833. package/web-ui/build/static/mizar-BeLUPncD.js +0 -1
  834. package/web-ui/build/static/mizar-BesIbZd9.js +0 -1
  835. package/web-ui/build/static/mojolicious-cBx3OWa-.js +0 -1
  836. package/web-ui/build/static/mongodb-DTWKy9ac.js +0 -1
  837. package/web-ui/build/static/monkey-B72bZC3c.js +0 -1
  838. package/web-ui/build/static/monkey-G9XELYPQ.js +0 -1
  839. package/web-ui/build/static/moonscript-BXYVQiqj.js +0 -1
  840. package/web-ui/build/static/moonscript-sDd-5knz.js +0 -1
  841. package/web-ui/build/static/n1ql-0vKSfFAO.js +0 -1
  842. package/web-ui/build/static/n1ql-C9_BSZfz.js +0 -1
  843. package/web-ui/build/static/n4js-B7Ct8dds.js +0 -1
  844. package/web-ui/build/static/nand2tetris-hdl-p9gpphTM.js +0 -1
  845. package/web-ui/build/static/naniscript-6ZVr8Aug.js +0 -1
  846. package/web-ui/build/static/nasm-Ca73yTUt.js +0 -1
  847. package/web-ui/build/static/neon-DNP49oyX.js +0 -1
  848. package/web-ui/build/static/nevod-Qhgt7Bce.js +0 -1
  849. package/web-ui/build/static/nginx-D5e7lu62.js +0 -1
  850. package/web-ui/build/static/nginx-DobnyESB.js +0 -1
  851. package/web-ui/build/static/nim-BPBivUOV.js +0 -1
  852. package/web-ui/build/static/nim-Baoug1Wa.js +0 -1
  853. package/web-ui/build/static/nix-CSPTQs5y.js +0 -1
  854. package/web-ui/build/static/nix-Dk4eNw49.js +0 -1
  855. package/web-ui/build/static/node-repl-NJNL8VFR.js +0 -1
  856. package/web-ui/build/static/nsis-BZ0oMzEw.js +0 -1
  857. package/web-ui/build/static/nsis-CKPCjtCU.js +0 -1
  858. package/web-ui/build/static/objectivec-BkfIRhhV.js +0 -1
  859. package/web-ui/build/static/objectivec-CnQgqhbJ.js +0 -1
  860. package/web-ui/build/static/ocaml-9rGNzRrK.js +0 -1
  861. package/web-ui/build/static/ocaml-CTolCqxL.js +0 -1
  862. package/web-ui/build/static/opencl-9Q3vRDxv.js +0 -1
  863. package/web-ui/build/static/openqasm-D2QiuFBp.js +0 -1
  864. package/web-ui/build/static/openscad-C3HyuzpB.js +0 -1
  865. package/web-ui/build/static/oxygene-4gi-VYy_.js +0 -1
  866. package/web-ui/build/static/oz-BGDEB-1A.js +0 -1
  867. package/web-ui/build/static/parigp-CfZzp1uE.js +0 -1
  868. package/web-ui/build/static/parser-UbGteTcy.js +0 -1
  869. package/web-ui/build/static/parser3-C-Jx-fy7.js +0 -1
  870. package/web-ui/build/static/pascal-D1_R0gW-.js +0 -1
  871. package/web-ui/build/static/pascaligo-B8C-98Np.js +0 -1
  872. package/web-ui/build/static/pcaxis-TGnlUKNs.js +0 -1
  873. package/web-ui/build/static/peoplecode-C5Vf1AH0.js +0 -1
  874. package/web-ui/build/static/perl-CBp1N62T.js +0 -1
  875. package/web-ui/build/static/perl-Z59j904t.js +0 -1
  876. package/web-ui/build/static/pf-Cq8B_xwQ.js +0 -1
  877. package/web-ui/build/static/pgsql-ofJbUHkL.js +0 -1
  878. package/web-ui/build/static/php-OlH7HLQJ.js +0 -1
  879. package/web-ui/build/static/php-extras-GqtrxLuk.js +0 -1
  880. package/web-ui/build/static/php-r09kMDOB.js +0 -1
  881. package/web-ui/build/static/php-template-18uT97Qo.js +0 -1
  882. package/web-ui/build/static/phpdoc-9tRFvup9.js +0 -1
  883. package/web-ui/build/static/plaintext-DsYT6Mu-.js +0 -1
  884. package/web-ui/build/static/plsql-RhWQNJVb.js +0 -1
  885. package/web-ui/build/static/pony-DD6JMLYI.js +0 -1
  886. package/web-ui/build/static/powerquery-CALow-bt.js +0 -1
  887. package/web-ui/build/static/powershell-C2QvIuKF.js +0 -1
  888. package/web-ui/build/static/powershell-yrbJEhCh.js +0 -1
  889. package/web-ui/build/static/processing-1T5w_Q03.js +0 -1
  890. package/web-ui/build/static/processing-DBim_dO-.js +0 -1
  891. package/web-ui/build/static/profile-Cdloh8mZ.js +0 -1
  892. package/web-ui/build/static/prolog-DRSsNnns.js +0 -1
  893. package/web-ui/build/static/prolog-D_ajweDr.js +0 -1
  894. package/web-ui/build/static/promql-BRuwn6Bn.js +0 -1
  895. package/web-ui/build/static/properties-D5Wyl4X4.js +0 -1
  896. package/web-ui/build/static/properties-kn4fl1bl.js +0 -1
  897. package/web-ui/build/static/protobuf-BMO76zWi.js +0 -1
  898. package/web-ui/build/static/protobuf-CTUCF-U-.js +0 -1
  899. package/web-ui/build/static/psl-CiqYdQbY.js +0 -1
  900. package/web-ui/build/static/pug-BLE2Qayj.js +0 -1
  901. package/web-ui/build/static/puppet-CFKLWXft.js +0 -1
  902. package/web-ui/build/static/puppet-DQci0Dl5.js +0 -1
  903. package/web-ui/build/static/pure-D2h_GynV.js +0 -1
  904. package/web-ui/build/static/purebasic-BF8MVw8V.js +0 -1
  905. package/web-ui/build/static/purebasic-BTtHiCkh.js +0 -1
  906. package/web-ui/build/static/purescript-D1ZSh-sH.js +0 -1
  907. package/web-ui/build/static/python-Cp9_Vdhb.js +0 -1
  908. package/web-ui/build/static/python-DdgNw8IW.js +0 -1
  909. package/web-ui/build/static/python-repl-DvK89VMC.js +0 -1
  910. package/web-ui/build/static/q-COaIgwhT.js +0 -1
  911. package/web-ui/build/static/q-Cm0dQkW8.js +0 -1
  912. package/web-ui/build/static/qml-BpsOqqJM.js +0 -1
  913. package/web-ui/build/static/qml-BziQXlU4.js +0 -1
  914. package/web-ui/build/static/qore-Cutz6g-2.js +0 -1
  915. package/web-ui/build/static/qsharp-B16619X1.js +0 -1
  916. package/web-ui/build/static/r-CFUIj5Hd.js +0 -1
  917. package/web-ui/build/static/r-CPrwCi5w.js +0 -1
  918. package/web-ui/build/static/racket-Bh08DFXF.js +0 -1
  919. package/web-ui/build/static/reason-BxjDq4e-.js +0 -1
  920. package/web-ui/build/static/reasonml-Ds5SsGP8.js +0 -1
  921. package/web-ui/build/static/regex-DhBIDIMI.js +0 -1
  922. package/web-ui/build/static/rego-DCwxZXcB.js +0 -1
  923. package/web-ui/build/static/renpy-C2fuQfqb.js +0 -1
  924. package/web-ui/build/static/rest-C52ZpxWQ.js +0 -1
  925. package/web-ui/build/static/rib-Cbl2Mzyj.js +0 -1
  926. package/web-ui/build/static/rip-BTOu5ZIE.js +0 -1
  927. package/web-ui/build/static/roboconf-3Oi2wuVk.js +0 -1
  928. package/web-ui/build/static/roboconf-ndLZLE39.js +0 -1
  929. package/web-ui/build/static/robotframework-BzHXiIj1.js +0 -1
  930. package/web-ui/build/static/routeros-CkpPoqx-.js +0 -1
  931. package/web-ui/build/static/rsl-C0bwOQ38.js +0 -1
  932. package/web-ui/build/static/ruby-C_hIhtuQ.js +0 -1
  933. package/web-ui/build/static/ruby-DvKfZPzj.js +0 -1
  934. package/web-ui/build/static/ruleslanguage-CbZJlddz.js +0 -1
  935. package/web-ui/build/static/rust-BFPIhB-X.js +0 -1
  936. package/web-ui/build/static/rust-sBpUq-qE.js +0 -1
  937. package/web-ui/build/static/sas-BCXvYN9x.js +0 -1
  938. package/web-ui/build/static/sas-D7GAsTY3.js +0 -1
  939. package/web-ui/build/static/sass-BdaErGMN.js +0 -1
  940. package/web-ui/build/static/scala-Cj81oCl9.js +0 -1
  941. package/web-ui/build/static/scala-CvbksfY6.js +0 -1
  942. package/web-ui/build/static/scheme-BM5ZqKnl.js +0 -1
  943. package/web-ui/build/static/scheme-BPvlu9Tk.js +0 -1
  944. package/web-ui/build/static/scilab-CJanLKQN.js +0 -1
  945. package/web-ui/build/static/scss-C53YF_7f.js +0 -1
  946. package/web-ui/build/static/scss-DPp8UZbr.js +0 -1
  947. package/web-ui/build/static/shell-CC9bQXMe.js +0 -1
  948. package/web-ui/build/static/shell-session-CuR3fbf-.js +0 -1
  949. package/web-ui/build/static/smali-CUgLls3D.js +0 -1
  950. package/web-ui/build/static/smali-YODSX8qt.js +0 -1
  951. package/web-ui/build/static/smalltalk-BMJQ4bbs.js +0 -1
  952. package/web-ui/build/static/smalltalk-BVGY3CTl.js +0 -1
  953. package/web-ui/build/static/smarty-C9aNt4-p.js +0 -1
  954. package/web-ui/build/static/sml-C3BIHhfq.js +0 -1
  955. package/web-ui/build/static/sml-DTipyRmY.js +0 -1
  956. package/web-ui/build/static/solidity-1yuPUqoC.js +0 -1
  957. package/web-ui/build/static/solution-file-BgzK4GOU.js +0 -1
  958. package/web-ui/build/static/soy-CFJXRvqc.js +0 -1
  959. package/web-ui/build/static/sparql-CAosYMpl.js +0 -1
  960. package/web-ui/build/static/splunk-spl-DkINtWr8.js +0 -1
  961. package/web-ui/build/static/sqf-DbrWIS2M.js +0 -1
  962. package/web-ui/build/static/sqf-nq8Q9J2W.js +0 -1
  963. package/web-ui/build/static/sql-9bwClhZQ.js +0 -1
  964. package/web-ui/build/static/sql-CqPkY-lX.js +0 -1
  965. package/web-ui/build/static/sql_more-CsY5ts77.js +0 -1
  966. package/web-ui/build/static/squirrel-BuqtzRBD.js +0 -1
  967. package/web-ui/build/static/stan-BNxBSglc.js +0 -1
  968. package/web-ui/build/static/stan-CZVMc34l.js +0 -1
  969. package/web-ui/build/static/stata-DKnVdHCd.js +0 -1
  970. package/web-ui/build/static/step21-Cu_TaBGF.js +0 -1
  971. package/web-ui/build/static/stylus-BS7-OJew.js +0 -1
  972. package/web-ui/build/static/stylus-DtFrp1Nk.js +0 -1
  973. package/web-ui/build/static/subunit-DDCoWkkc.js +0 -1
  974. package/web-ui/build/static/swift-BaguUZbl.js +0 -1
  975. package/web-ui/build/static/swift-mwBsb8Bx.js +0 -1
  976. package/web-ui/build/static/systemd-D6PpyDKk.js +0 -1
  977. package/web-ui/build/static/t4-cs-Cem8g4Ck.js +0 -1
  978. package/web-ui/build/static/t4-templating-BZo-HjmD.js +0 -1
  979. package/web-ui/build/static/t4-vb-B4oVnKa4.js +0 -1
  980. package/web-ui/build/static/taggerscript-DweAZ5pw.js +0 -1
  981. package/web-ui/build/static/tap-DpuvKHHF.js +0 -1
  982. package/web-ui/build/static/tap-hUKmJObZ.js +0 -1
  983. package/web-ui/build/static/tcl-BUvhAi7u.js +0 -1
  984. package/web-ui/build/static/tcl-Dsck63d8.js +0 -1
  985. package/web-ui/build/static/textile-CgKbqJ-j.js +0 -1
  986. package/web-ui/build/static/thrift-B5H6rApp.js +0 -1
  987. package/web-ui/build/static/toml-DggTpfOo.js +0 -1
  988. package/web-ui/build/static/tp-CazB2P2X.js +0 -1
  989. package/web-ui/build/static/tremor-B1jy7S5p.js +0 -1
  990. package/web-ui/build/static/tsx-BqF2lVDi.js +0 -1
  991. package/web-ui/build/static/tt2-BNoNXpEe.js +0 -1
  992. package/web-ui/build/static/turtle-B0evd5mn.js +0 -1
  993. package/web-ui/build/static/twig-B5A7nMdv.js +0 -1
  994. package/web-ui/build/static/twig-DZnLWvh8.js +0 -1
  995. package/web-ui/build/static/typescript-Bbe_P093.js +0 -1
  996. package/web-ui/build/static/typescript-BfhvmSSG.js +0 -1
  997. package/web-ui/build/static/typoscript-BjuZEIgw.js +0 -1
  998. package/web-ui/build/static/unrealscript-C3iUCFRi.js +0 -1
  999. package/web-ui/build/static/uorazor-CbZXwzIj.js +0 -1
  1000. package/web-ui/build/static/uri-xMPSnp6m.js +0 -1
  1001. package/web-ui/build/static/v-BKcGo5I6.js +0 -1
  1002. package/web-ui/build/static/vala-BRoBE4am.js +0 -1
  1003. package/web-ui/build/static/vala-B__Iyrma.js +0 -1
  1004. package/web-ui/build/static/vbnet-DBxlMRvN.js +0 -1
  1005. package/web-ui/build/static/vbnet-DjAXt5BE.js +0 -1
  1006. package/web-ui/build/static/vbscript-BNA4oANi.js +0 -1
  1007. package/web-ui/build/static/vbscript-html-o8ckLPKG.js +0 -1
  1008. package/web-ui/build/static/velocity-D7sc5ggA.js +0 -1
  1009. package/web-ui/build/static/verilog-BWJfMIng.js +0 -1
  1010. package/web-ui/build/static/verilog-jW2GPC--.js +0 -1
  1011. package/web-ui/build/static/vhdl-BIVlXRPa.js +0 -1
  1012. package/web-ui/build/static/vhdl-BeqdhhxD.js +0 -1
  1013. package/web-ui/build/static/vim-712lI4-g.js +0 -1
  1014. package/web-ui/build/static/vim-DMROTzr0.js +0 -1
  1015. package/web-ui/build/static/visual-basic-CQfbM-ta.js +0 -1
  1016. package/web-ui/build/static/warpscript-DFAvCXFQ.js +0 -1
  1017. package/web-ui/build/static/wasm-CiYoxBl0.js +0 -1
  1018. package/web-ui/build/static/web-idl-DoCkPK8y.js +0 -1
  1019. package/web-ui/build/static/wiki-bvz0AGzB.js +0 -1
  1020. package/web-ui/build/static/wolfram-fBuyFEgU.js +0 -1
  1021. package/web-ui/build/static/wren-DvATFxjF.js +0 -1
  1022. package/web-ui/build/static/x86asm-r4bPbUR_.js +0 -1
  1023. package/web-ui/build/static/xeora-B6iOnDJY.js +0 -1
  1024. package/web-ui/build/static/xl-Ce6B5slc.js +0 -1
  1025. package/web-ui/build/static/xml-DNjyPmhQ.js +0 -1
  1026. package/web-ui/build/static/xml-doc-DydogmZD.js +0 -1
  1027. package/web-ui/build/static/xojo-DCQLltvr.js +0 -1
  1028. package/web-ui/build/static/xquery-C-fAnA0H.js +0 -1
  1029. package/web-ui/build/static/xquery-CNeqzhLO.js +0 -1
  1030. package/web-ui/build/static/yaml-BsVaGsk5.js +0 -1
  1031. package/web-ui/build/static/yaml-kVZvwv_C.js +0 -1
  1032. package/web-ui/build/static/yang-B_gq9JEq.js +0 -1
  1033. package/web-ui/build/static/zephir-ECIXgXhX.js +0 -1
  1034. package/web-ui/build/static/zig-DY325EKG.js +0 -1
@@ -345,6 +345,57 @@ Always use a detailed task description to provide context for the task, and leve
345
345
  return description;
346
346
  }
347
347
 
348
+ /**
349
+ * Build the `currentFocus` signal emitted on every taskmanager
350
+ * response. Tells the agent which task it is CURRENTLY working on
351
+ * and warns about discipline violations (zero or multiple
352
+ * in-progress tasks).
353
+ *
354
+ * Three shapes:
355
+ * { current: {taskId,title,description}, inProgressCount: 1, ok: true }
356
+ * { current: null, inProgressCount: 0, ok: false,
357
+ * warning: 'No task is in_progress…' }
358
+ * { current: [...], inProgressCount: N>1, ok: false,
359
+ * warning: 'Multiple tasks are in_progress…' }
360
+ *
361
+ * Production rationale: agents lose task focus after cascading tool
362
+ * errors and revert to earlier tasks. Surfacing the focus on every
363
+ * taskmanager turn keeps the anchor visible. See baseTool.js
364
+ * OPERATING POSTURE → TASK DISCIPLINE section.
365
+ *
366
+ * @private
367
+ */
368
+ _buildCurrentFocus(tasks) {
369
+ const inProgress = (tasks || []).filter(t => t.status === 'in_progress');
370
+ const shortDesc = (d) => {
371
+ if (typeof d !== 'string') return '';
372
+ const trimmed = d.trim();
373
+ return trimmed.length > 140 ? trimmed.slice(0, 140) + '…' : trimmed;
374
+ };
375
+ if (inProgress.length === 1) {
376
+ const t = inProgress[0];
377
+ return {
378
+ ok: true,
379
+ inProgressCount: 1,
380
+ current: { taskId: t.id, title: t.title, description: shortDesc(t.description) },
381
+ };
382
+ }
383
+ if (inProgress.length === 0) {
384
+ return {
385
+ ok: false,
386
+ inProgressCount: 0,
387
+ current: null,
388
+ warning: 'No task is in_progress. BEFORE doing any work, call `taskmanager` → `update` with status `in_progress` on the task you are about to work on. The transition IS the signal that you have started.',
389
+ };
390
+ }
391
+ return {
392
+ ok: false,
393
+ inProgressCount: inProgress.length,
394
+ current: inProgress.map(t => ({ taskId: t.id, title: t.title, description: shortDesc(t.description) })),
395
+ warning: `Multiple tasks are in_progress (${inProgress.length}). Pick ONE to remain in_progress; transition the others to \`blocked\` or \`completed\` so the task list reflects what you are actually doing right now.`,
396
+ };
397
+ }
398
+
348
399
  /**
349
400
  * Extract memory IDs from task descriptions
350
401
  * @private
@@ -436,12 +487,15 @@ Always use a detailed task description to provide context for the task, and leve
436
487
  firstAction = unwrappedAction;
437
488
  }
438
489
 
439
- // Extract action type from 'type' field in the actions array
440
- if (firstAction.type && !params.action) {
441
- params.action = firstAction.type;
490
+ // Extract action type accept both `type` (canonical) and
491
+ // `action` (used by jobdone/docx/excel/pdf). Cross-tool field-
492
+ // name unification.
493
+ const itemType = firstAction.type || firstAction.action;
494
+ if (itemType && !params.action) {
495
+ params.action = itemType;
442
496
  // Merge all other properties from the action object into params
443
497
  for (const [key, value] of Object.entries(firstAction)) {
444
- if (key !== 'type' && !(key in params)) {
498
+ if (key !== 'type' && key !== 'action' && !(key in params)) {
445
499
  params[key] = value;
446
500
  }
447
501
  }
@@ -506,7 +560,7 @@ Always use a detailed task description to provide context for the task, and leve
506
560
  result = await this.createTask(agent, params, context);
507
561
  break;
508
562
  case 'update':
509
- result = await this.updateTask(agent, params);
563
+ result = await this.updateTask(agent, params, context);
510
564
  break;
511
565
  case 'list':
512
566
  result = await this.listTasks(agent, params);
@@ -583,16 +637,22 @@ Always use a detailed task description to provide context for the task, and leve
583
637
  // so UI views (TaskPanel, TeamTaskBoard) can render the agent's current
584
638
  // state without fetching on every render. Previously only the `list`
585
639
  // action's inner result carried `tasks`, so every `create`/`update`/
586
- // `complete`/`cancel`/`clear` call left the panel looking stale: the
587
- // renderer's walk-back found the latest taskmanager call but found no
588
- // tasks in its result and showed an empty panel. Emitting the full
589
- // list on every action makes the most-recent-taskmanager-result
590
- // contract always authoritative.
640
+ // `complete`/`cancel`/`clear` call left the panel looking stale.
641
+ //
642
+ // `currentFocus` is the task-discipline signal see baseTool.js
643
+ // OPERATING POSTURE addition. It tells the agent which task it is
644
+ // CURRENTLY working on, warns when zero or multiple tasks are
645
+ // in_progress, and stays visible across every taskmanager turn so
646
+ // tool-error cascades don't shake the agent off its task. Production
647
+ // observation: Kimi-K2.6 + gpt-5.4 lost task focus mid-session after
648
+ // cascading tool failures and reverted to earlier tasks. Surfacing
649
+ // the focus on every response keeps the anchor visible.
591
650
  return {
592
651
  success: true,
593
652
  action,
594
653
  result,
595
654
  tasks: agent.taskList.tasks,
655
+ currentFocus: this._buildCurrentFocus(agent.taskList.tasks),
596
656
  summary: this.generateTaskSummary(agent.taskList) + noTasksHint
597
657
  };
598
658
 
@@ -858,7 +918,7 @@ Always use a detailed task description to provide context for the task, and leve
858
918
  * Update an existing task
859
919
  * @private
860
920
  */
861
- async updateTask(agent, params) {
921
+ async updateTask(agent, params, context = {}) {
862
922
  const { taskId, status, priority, title, description } = params;
863
923
 
864
924
  if (!taskId) {
@@ -870,6 +930,8 @@ Always use a detailed task description to provide context for the task, and leve
870
930
  throw new Error(`Task not found: ${taskId}`);
871
931
  }
872
932
 
933
+ const prevStatus = task.status;
934
+
873
935
  if (status) {
874
936
  if (!this.taskStatuses.includes(status.toLowerCase())) {
875
937
  throw new Error(`Invalid status: ${status}. Must be: ${this.taskStatuses.join(', ')}`);
@@ -892,13 +954,86 @@ Always use a detailed task description to provide context for the task, and leve
892
954
  // only mutate fields the model actually set to a meaningful value.
893
955
  if (typeof title === 'string' && title.trim().length > 0) task.title = title;
894
956
  if (typeof description === 'string' && description.trim().length > 0) task.description = description;
895
-
957
+
896
958
  task.updatedAt = new Date().toISOString();
897
959
 
898
- return {
960
+ const result = {
899
961
  message: 'Task updated successfully',
900
- task
962
+ task,
901
963
  };
964
+
965
+ // ── Task-transition memory handler ────────────────────────────────
966
+ // When a task transitions INTO `in_progress`, we either:
967
+ // (a) Auto-load its attached memory (if the description carries a
968
+ // `[memory:mem-...]` marker) and embed the content in the tool
969
+ // result so the agent reads it on the same turn — no extra
970
+ // `memory read` call required, no nudge needed.
971
+ // (b) If no memory is attached, emit a one-line nudge pointing the
972
+ // agent at the `## AGENT MEMORY` catalog in the system prompt
973
+ // so it can scan for adjacent context.
974
+ //
975
+ // Production observation (Monopoly trace): 0 memory ops across
976
+ // 1556 messages. Memories that DO get created are not consulted.
977
+ // Surfacing the attached memory at the transition moment makes it
978
+ // un-missable; the conditional nudge keeps the prompt clean when
979
+ // there's nothing to attach.
980
+ const becameInProgress = prevStatus !== 'in_progress' && task.status === 'in_progress';
981
+ if (becameInProgress && context.agentId) {
982
+ const memMatch = typeof task.description === 'string'
983
+ ? task.description.match(/\[memory:(mem-[A-Za-z0-9_-]+)\]/)
984
+ : null;
985
+ if (memMatch) {
986
+ try {
987
+ const memoryService = getMemoryService(this.logger);
988
+ await memoryService.initialize();
989
+ const all = await memoryService.loadMemories(context.agentId);
990
+ const mem = (all || []).find(m => m.id === memMatch[1]);
991
+ if (mem) {
992
+ result.attachedMemory = {
993
+ id: mem.id,
994
+ title: mem.title,
995
+ content: mem.content,
996
+ _hint: 'This memory was auto-loaded because the task references it. Use `memory append` (id: ' + mem.id + ') if your work yields new findings or methodology worth recording.',
997
+ };
998
+ } else {
999
+ // Reference exists but memory was deleted — surface that fact.
1000
+ result.attachedMemory = {
1001
+ id: memMatch[1],
1002
+ error: 'Memory referenced in task description was not found (may have been deleted). Consider attaching a fresh one.',
1003
+ };
1004
+ }
1005
+ } catch (e) {
1006
+ this.logger?.debug?.('Auto-load of attached memory failed', { error: e.message });
1007
+ }
1008
+ } else {
1009
+ // No memory attached — emit a nudge pointing at the catalog.
1010
+ //
1011
+ // Wording is gated by LOXIA_MEMORY_NUDGE_VARIANT (env) so the
1012
+ // memory-bench can A/B baseline ('descriptive') vs directive
1013
+ // ('directive') on production code WITHOUT requiring two
1014
+ // separate builds.
1015
+ //
1016
+ // Default is 'directive' (the ship in 9a6957f). Validation
1017
+ // pass scheduled to compare against 'descriptive' on
1018
+ // production-relevant models (Kimi-K2.6, gpt-5.4) before
1019
+ // confirming the ship or reverting.
1020
+ const variant = (process.env.LOXIA_MEMORY_NUDGE_VARIANT || 'directive').toLowerCase();
1021
+ if (variant === 'descriptive' || variant === 'baseline') {
1022
+ result.memoryNudge =
1023
+ 'No memory is attached to this task (description has no `[memory:mem-...]` marker). ' +
1024
+ 'Scan the `## AGENT MEMORY` catalog in your system prompt for adjacent context that may inform this work. ' +
1025
+ 'If you produce findings or methodology worth preserving, create a memory with `memory add` (title prefix `task-context/...` recommended) and reference it in this task.';
1026
+ } else {
1027
+ // 'directive' (default / current ship).
1028
+ result.memoryNudge =
1029
+ 'No memory is attached to this task (description has no `[memory:mem-...]` marker). ' +
1030
+ 'Your VERY NEXT tool call MUST be `memory list` to check for applicable rules, preferences, or prior findings before doing the work. ' +
1031
+ 'If you produce findings or methodology worth preserving, create a memory with `memory add` (title prefix `task-context/...` recommended) and reference it in this task.';
1032
+ }
1033
+ }
1034
+ }
1035
+
1036
+ return result;
902
1037
  }
903
1038
 
904
1039
  /**
@@ -380,11 +380,14 @@ After each invocation you will get a tool-result embedded in the following user
380
380
  } else {
381
381
  // Validate each action
382
382
  for (const [index, action] of params.actions.entries()) {
383
+ // Accept both `type` and `action` as item discriminator
384
+ // (cross-tool field-name unification).
385
+ if (!action.type && action.action) action.type = action.action;
383
386
  if (!action.type) {
384
387
  errors.push(`Action ${index + 1}: type is required`);
385
388
  continue;
386
389
  }
387
-
390
+
388
391
  switch (action.type) {
389
392
  case 'run-command':
390
393
  if (!action.command || !action.command.trim()) {
@@ -431,6 +434,25 @@ After each invocation you will get a tool-result embedded in the following user
431
434
  * @returns {Promise<Object>} Execution result
432
435
  */
433
436
  async execute(params, context) {
437
+ // Forgiving normalization — production agents commonly call with
438
+ // the natural singular shape `{command: "ls"}` instead of the
439
+ // documented plural `{actions: [{type: "run-command", command: "ls"}]}`.
440
+ // Live trace: gpt-5.4 + Kimi-K2.6 both hit "actions is not iterable"
441
+ // on this. Accept singular forms here and promote to canonical.
442
+ if ((!params.actions || !Array.isArray(params.actions)) && params.command) {
443
+ const { command, type, ...rest } = params;
444
+ params = { ...params, actions: [{ type: type || 'run-command', command, ...rest }] };
445
+ }
446
+
447
+ // Normalize discriminator on each action item (accept both `type`
448
+ // and `action`). Same rationale as fileSystemTool — execute() may
449
+ // be called bypassing validation in production.
450
+ if (Array.isArray(params.actions)) {
451
+ for (const a of params.actions) {
452
+ if (a && !a.type && a.action) a.type = a.action;
453
+ }
454
+ }
455
+
434
456
  const { actions, timeout: customTimeout, async: forceAsync } = params;
435
457
  const { agentId, projectDir, directoryAccess } = context;
436
458
 
@@ -123,6 +123,13 @@ ANSWERS: Structured, direct answers only — no filler text.`;
123
123
  }
124
124
 
125
125
  async execute(params, context = {}) {
126
+ // Reverse-forgiveness: accept plural envelope {actions:[{type/action}]}
127
+ // even though this tool's canonical shape is singular.
128
+ if (Array.isArray(params?.actions) && params.actions.length > 0) {
129
+ const a = params.actions[0] || {};
130
+ params = { ...params, ...a, action: a.type || a.action || params.action };
131
+ }
132
+
126
133
  this._ensureCleanup();
127
134
 
128
135
  try {
@@ -319,6 +319,13 @@ Code:
319
319
  * @returns {Promise<Object>} Execution result
320
320
  */
321
321
  async execute(params, context = {}) {
322
+ // Reverse-forgiveness: accept plural {actions:[{...}]} envelope
323
+ // (cross-tool unification).
324
+ if (Array.isArray(params?.actions) && params.actions.length > 0) {
325
+ const a = params.actions[0] || {};
326
+ params = { ...params, ...a, action: a.type || a.action || params.action };
327
+ }
328
+
322
329
  // FIRST THING: an unconditional console.log so we can always see that
323
330
  // the tool was invoked — before any early-return (parse failure,
324
331
  // bridge disabled, validation fail) or thrown error could swallow it.
@@ -242,6 +242,13 @@ Check connection status:
242
242
  }
243
243
 
244
244
  async execute(params, context) {
245
+ // Reverse-forgiveness: accept plural {actions:[{...}]} envelope
246
+ // (cross-tool unification).
247
+ if (Array.isArray(params?.actions) && params.actions.length > 0) {
248
+ const a = params.actions[0] || {};
249
+ params = { ...params, ...a, action: a.type || a.action || params.action };
250
+ }
251
+
245
252
  // Unwrap TagParser objects
246
253
  const unwrapped = {};
247
254
  for (const [key, value] of Object.entries(params)) {
@@ -8,7 +8,7 @@
8
8
  * testable without standing up Express.
9
9
  *
10
10
  * Cache shape:
11
- * { user, hasApiKey, jwt, timestamp }
11
+ * { user, hasApiKey, jwt, timestamp, expiresAt }
12
12
  *
13
13
  * - user — { id, email, ... } or null
14
14
  * - hasApiKey — bool
@@ -17,6 +17,10 @@
17
17
  * service verifies JWTs directly, not lx_* keys).
18
18
  * - timestamp — ISO of when this cache row was written; used for
19
19
  * staleness checks via `?since=` polling.
20
+ * - expiresAt — ISO after which the session is considered expired.
21
+ * Checked by `projectAuthStatus` and by the account-router
22
+ * JWT guard. Default TTL: 24 h (configurable via
23
+ * `auth.sessionTtlHours`).
20
24
  *
21
25
  * Bug history this guards against:
22
26
  * - 2026-05: marketplace publish 401 "Authentication required" because
@@ -27,6 +31,14 @@
27
31
  * marketplace calls → 401.
28
32
  */
29
33
 
34
+ const DEFAULT_SESSION_TTL_HOURS = 24;
35
+ const MS_PER_HOUR = 60 * 60 * 1000;
36
+
37
+ function computeExpiresAt(ttlHours = DEFAULT_SESSION_TTL_HOURS) {
38
+ const hours = typeof ttlHours === 'number' && ttlHours > 0 ? ttlHours : DEFAULT_SESSION_TTL_HOURS;
39
+ return new Date(Date.now() + hours * MS_PER_HOUR).toISOString();
40
+ }
41
+
30
42
  /**
31
43
  * Build a cache row for a successful OAuth callback. The JWT is the
32
44
  * critical field — without it, the polling fallback can't restore
@@ -37,14 +49,16 @@
37
49
  * @param {string|null} input.jwt - Raw JWT from the OAuth callback
38
50
  * @param {boolean} input.hasApiKey
39
51
  * @param {string} [input.timestamp] - Override (for tests); defaults to now
52
+ * @param {number} [input.ttlHours] - Session TTL in hours; defaults to 24
40
53
  * @returns {Object} cache row
41
54
  */
42
- export function recordOAuthResult({ user, jwt, hasApiKey, timestamp } = {}) {
55
+ export function recordOAuthResult({ user, jwt, hasApiKey, timestamp, ttlHours } = {}) {
43
56
  return {
44
57
  user: user || null,
45
58
  hasApiKey: !!hasApiKey,
46
59
  jwt: typeof jwt === 'string' && jwt.length > 0 ? jwt : null,
47
60
  timestamp: timestamp || new Date().toISOString(),
61
+ expiresAt: computeExpiresAt(ttlHours),
48
62
  };
49
63
  }
50
64
 
@@ -59,9 +73,10 @@ export function recordOAuthResult({ user, jwt, hasApiKey, timestamp } = {}) {
59
73
  * @param {Object} input.user
60
74
  * @param {Object|null} input.prevCache - previous lastAuthResult
61
75
  * @param {string} [input.timestamp]
76
+ * @param {number} [input.ttlHours] - Session TTL in hours; defaults to 24
62
77
  * @returns {Object} cache row
63
78
  */
64
- export function recordResolvedUser({ user, prevCache, timestamp } = {}) {
79
+ export function recordResolvedUser({ user, prevCache, timestamp, ttlHours } = {}) {
65
80
  const carriedJwt = prevCache && typeof prevCache.jwt === 'string' && prevCache.jwt.length > 0
66
81
  ? prevCache.jwt
67
82
  : null;
@@ -70,9 +85,24 @@ export function recordResolvedUser({ user, prevCache, timestamp } = {}) {
70
85
  hasApiKey: true, // resolve path requires an API key
71
86
  jwt: carriedJwt,
72
87
  timestamp: timestamp || new Date().toISOString(),
88
+ expiresAt: computeExpiresAt(ttlHours),
73
89
  };
74
90
  }
75
91
 
92
+ /**
93
+ * Returns true when the cache row carries an `expiresAt` that has
94
+ * already passed (or is exactly now). Rows without `expiresAt`
95
+ * (legacy cache from before this field was added) are treated as
96
+ * expired so the user is forced to re-auth once.
97
+ *
98
+ * @param {Object|null} cache
99
+ * @returns {boolean}
100
+ */
101
+ export function isAuthExpired(cache) {
102
+ if (!cache || typeof cache.expiresAt !== 'string') return true;
103
+ return new Date(cache.expiresAt).getTime() <= Date.now();
104
+ }
105
+
76
106
  /**
77
107
  * Project a cache row into the JSON the `/api/auth/status` endpoint
78
108
  * returns. Implements two pieces of business logic:
@@ -88,20 +118,30 @@ export function recordResolvedUser({ user, prevCache, timestamp } = {}) {
88
118
  * pair is always coherent so the FE never sees user=null with
89
119
  * jwt=<something>.
90
120
  *
121
+ * 3. Expiry gate: if `expiresAt` has passed, the user is reported
122
+ * as null, forcing the frontend to re-authenticate.
123
+ *
91
124
  * @param {Object|null} cache - lastAuthResult value
92
125
  * @param {Object} [options]
93
126
  * @param {string} [options.since] - ISO timestamp from the caller
94
127
  * @param {boolean} [options.hasApiKey] - hasApiKey value at request time
95
128
  * (cache.hasApiKey is the value AT CACHE TIME — the live answer comes
96
129
  * from the apiKeyManager). The route passes the live one in.
97
- * @returns {{ success: true, authenticated: boolean, user: Object|null, jwt: string|null, timestamp: string|null }}
130
+ * @returns {{ success: true, authenticated: boolean, user: Object|null, jwt: string|null, timestamp: string|null, expired: boolean }}
98
131
  */
99
132
  export function projectAuthStatus(cache, options = {}) {
100
133
  const since = options.since;
101
134
  const liveHasApiKey = options.hasApiKey === undefined ? !!cache?.hasApiKey : !!options.hasApiKey;
102
135
 
103
136
  let user = cache?.user || null;
104
- if (since && cache?.timestamp) {
137
+
138
+ // Expiry gate — treat expired sessions as unauthenticated.
139
+ const expired = isAuthExpired(cache);
140
+ if (expired) {
141
+ user = null;
142
+ }
143
+
144
+ if (!expired && since && cache?.timestamp) {
105
145
  if (new Date(cache.timestamp).getTime() <= new Date(since).getTime()) {
106
146
  // Cache predates the login attempt the caller is polling for.
107
147
  user = null;
@@ -113,9 +153,10 @@ export function projectAuthStatus(cache, options = {}) {
113
153
 
114
154
  return {
115
155
  success: true,
116
- authenticated: liveHasApiKey,
156
+ authenticated: liveHasApiKey && !expired,
117
157
  user,
118
158
  jwt,
119
159
  timestamp: cache?.timestamp || null,
160
+ expired,
120
161
  };
121
162
  }
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Auth-result cache shape + transitions.
3
+ *
4
+ * The webServer caches the most recent auth event in `lastAuthResult` so
5
+ * a frontend that missed the WS broadcast (page reload, dropped
6
+ * connection, race) can recover via polling `/api/auth/status`. The
7
+ * cache shape and three state transitions live here so they're
8
+ * testable without standing up Express.
9
+ *
10
+ * Cache shape:
11
+ * { user, hasApiKey, jwt, timestamp }
12
+ *
13
+ * - user — { id, email, ... } or null
14
+ * - hasApiKey — bool
15
+ * - jwt — raw bearer token from OAuth, or null. Mandatory for
16
+ * marketplace publish/install/rate calls (the marketplace
17
+ * service verifies JWTs directly, not lx_* keys).
18
+ * - timestamp — ISO of when this cache row was written; used for
19
+ * staleness checks via `?since=` polling.
20
+ *
21
+ * Bug history this guards against:
22
+ * - 2026-05: marketplace publish 401 "Authentication required" because
23
+ * OAuth callback cached only {user, hasApiKey, timestamp} without
24
+ * the JWT, then a page reload triggered the polling fallback which
25
+ * returned the user but no JWT. The FE thought "I'm signed in" but
26
+ * localStorage.loxia-auth-token stayed empty → no Bearer header on
27
+ * marketplace calls → 401.
28
+ */
29
+
30
+ /**
31
+ * Build a cache row for a successful OAuth callback. The JWT is the
32
+ * critical field — without it, the polling fallback can't restore
33
+ * marketplace auth on a refresh.
34
+ *
35
+ * @param {Object} input
36
+ * @param {Object} input.user - User account object
37
+ * @param {string|null} input.jwt - Raw JWT from the OAuth callback
38
+ * @param {boolean} input.hasApiKey
39
+ * @param {string} [input.timestamp] - Override (for tests); defaults to now
40
+ * @returns {Object} cache row
41
+ */
42
+ export function recordOAuthResult({ user, jwt, hasApiKey, timestamp } = {}) {
43
+ return {
44
+ user: user || null,
45
+ hasApiKey: !!hasApiKey,
46
+ jwt: typeof jwt === 'string' && jwt.length > 0 ? jwt : null,
47
+ timestamp: timestamp || new Date().toISOString(),
48
+ };
49
+ }
50
+
51
+ /**
52
+ * Build a cache row when a user is resolved from an API key alone (no
53
+ * OAuth event, so no JWT minted in this flow). PRESERVES any JWT from
54
+ * a previous OAuth login — overwriting `lastAuthResult` with no `jwt`
55
+ * field would silently wipe marketplace auth for users who hit
56
+ * /auth/resolve after /auth/callback.
57
+ *
58
+ * @param {Object} input
59
+ * @param {Object} input.user
60
+ * @param {Object|null} input.prevCache - previous lastAuthResult
61
+ * @param {string} [input.timestamp]
62
+ * @returns {Object} cache row
63
+ */
64
+ export function recordResolvedUser({ user, prevCache, timestamp } = {}) {
65
+ const carriedJwt = prevCache && typeof prevCache.jwt === 'string' && prevCache.jwt.length > 0
66
+ ? prevCache.jwt
67
+ : null;
68
+ return {
69
+ user: user || null,
70
+ hasApiKey: true, // resolve path requires an API key
71
+ jwt: carriedJwt,
72
+ timestamp: timestamp || new Date().toISOString(),
73
+ };
74
+ }
75
+
76
+ /**
77
+ * Project a cache row into the JSON the `/api/auth/status` endpoint
78
+ * returns. Implements two pieces of business logic:
79
+ *
80
+ * 1. Staleness gate via `?since=`: if the caller is polling for an
81
+ * auth event AFTER a known timestamp, but the cache row predates
82
+ * that timestamp, the row is considered "not the auth we're
83
+ * waiting for" and the user is reported as null. Prevents a
84
+ * previously-cached login from masquerading as the in-flight one.
85
+ *
86
+ * 2. JWT only flows out when a fresh user is reported. When `user`
87
+ * is null (no cached row, or stale), `jwt` is also null — the
88
+ * pair is always coherent so the FE never sees user=null with
89
+ * jwt=<something>.
90
+ *
91
+ * @param {Object|null} cache - lastAuthResult value
92
+ * @param {Object} [options]
93
+ * @param {string} [options.since] - ISO timestamp from the caller
94
+ * @param {boolean} [options.hasApiKey] - hasApiKey value at request time
95
+ * (cache.hasApiKey is the value AT CACHE TIME — the live answer comes
96
+ * from the apiKeyManager). The route passes the live one in.
97
+ * @returns {{ success: true, authenticated: boolean, user: Object|null, jwt: string|null, timestamp: string|null }}
98
+ */
99
+ export function projectAuthStatus(cache, options = {}) {
100
+ const since = options.since;
101
+ const liveHasApiKey = options.hasApiKey === undefined ? !!cache?.hasApiKey : !!options.hasApiKey;
102
+
103
+ let user = cache?.user || null;
104
+ if (since && cache?.timestamp) {
105
+ if (new Date(cache.timestamp).getTime() <= new Date(since).getTime()) {
106
+ // Cache predates the login attempt the caller is polling for.
107
+ user = null;
108
+ }
109
+ }
110
+
111
+ // Pair invariant: jwt is null whenever user is null.
112
+ const jwt = user ? (cache?.jwt || null) : null;
113
+
114
+ return {
115
+ success: true,
116
+ authenticated: liveHasApiKey,
117
+ user,
118
+ jwt,
119
+ timestamp: cache?.timestamp || null,
120
+ };
121
+ }
@@ -656,22 +656,30 @@ const COMPACTION_CONFIG = {
656
656
  MIN_MIDDLE_SEGMENT_PERCENTAGE: 0.50, // Middle must be at least 50% of messages
657
657
  MAX_BOOKEND_PERCENTAGE: 0.50, // Beginning + end together capped at 50%
658
658
 
659
- // Recommended model pool for compaction (validated against live model catalog at runtime)
660
- // Names MUST match catalog keys exactly (no azure-openai- prefix)
661
- // Ordered by context window size (largest first) to handle very large conversations
659
+ // Recommended model pool for compaction (validated against live model catalog at runtime).
660
+ // Names MUST match catalog keys exactly (no azure-openai- prefix).
661
+ //
662
+ // Compaction is a structured transcription job, not a reasoning task — the
663
+ // P7 prompt's three passes (USER VOICE / EVENT LOG / STATE NARRATIVE)
664
+ // produce ~1.5K output tokens of well-shaped text. Using reasoning models
665
+ // for this burns reasoning-token cost on a task that doesn't need it AND
666
+ // adds significant TTFT/total latency per pass. The previous defaults
667
+ // (gpt-5.1-codex-mini, gpt-5-mini, gpt-5-nano, o4-mini — all reasoning)
668
+ // were chosen for their 400K context windows, but the gpt-4.1 family
669
+ // offers 1M-token context AND is non-reasoning AND ~30× cheaper than the
670
+ // previous primary.
671
+ //
672
+ // Both entries below have 1M context, so the runtime model-filter never
673
+ // has to fall through to a smaller-context model for size reasons.
662
674
  COMPACTION_MODELS: [
663
- 'gpt-5.1-codex-mini', // 400K context - best for large conversations
664
- 'gpt-5-mini', // 400K context
665
- 'gpt-5-nano', // 400K context - lightweight
666
- 'o4-mini' // 128K context - reasoning model
675
+ 'gpt-4.1-nano', // 1M context, non-reasoning, cheapest primary
676
+ 'gpt-4.1-mini', // 1M context, non-reasoning — fallback
667
677
  ],
668
678
 
669
679
  // Context windows for recommended compaction models (fallback if modelsService unavailable)
670
680
  MODEL_CONTEXT_WINDOWS: {
671
- 'gpt-5.1-codex-mini': 400000,
672
- 'gpt-5-mini': 400000,
673
- 'gpt-5-nano': 400000,
674
- 'o4-mini': 128000
681
+ 'gpt-4.1-nano': 1048576,
682
+ 'gpt-4.1-mini': 1048576,
675
683
  },
676
684
 
677
685
  // Token limits
@@ -6,8 +6,8 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Loxia Autopilot One</title>
8
8
  <meta name="description" content="AI Agents System - No-code/vibe-code/companion-coder platform" />
9
- <script type="module" crossorigin src="/static/index-whZPU4as.js"></script>
10
- <link rel="stylesheet" crossorigin href="/static/index-DEWSWosh.css">
9
+ <script type="module" crossorigin src="/static/index-BBHrMvg7.js"></script>
10
+ <link rel="stylesheet" crossorigin href="/static/index-_z8JjNrI.css">
11
11
  </head>
12
12
  <body>
13
13
  <div id="root"></div>
@@ -0,0 +1 @@
1
+ import{g as f}from"./index-BBHrMvg7.js";import{r as s}from"./index-ChkZR_aE.js";function i(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const c=Object.getOwnPropertyDescriptor(e,r);c&&Object.defineProperty(t,r,c.get?c:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var a=s();const p=f(a),l=i({__proto__:null,default:p},[a]);export{l as _};
@@ -0,0 +1 @@
1
+ import{g as s,r as f}from"./index-BBHrMvg7.js";function c(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var p=f();const i=s(p),b=c({__proto__:null,default:i},[p]);export{b as a};
@@ -0,0 +1 @@
1
+ import{g as s,d as c}from"./index-BBHrMvg7.js";function i(t,a){for(var o=0;o<a.length;o++){const e=a[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const n=Object.getOwnPropertyDescriptor(e,r);n&&Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var f=c();const p=s(f),b=i({__proto__:null,default:p},[f]);export{b as a};
@@ -0,0 +1 @@
1
+ import{g as s}from"./index-BBHrMvg7.js";import{a as i}from"./index-ChkZR_aE.js";function c(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var f=i();const p=s(f),g=c({__proto__:null,default:p},[f]);export{g as a};
@@ -0,0 +1 @@
1
+ import{g as n}from"./index-BBHrMvg7.js";import{b as f}from"./index-ChkZR_aE.js";function g(t,c){for(var o=0;o<c.length;o++){const e=c[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const s=Object.getOwnPropertyDescriptor(e,r);s&&Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var a=f();const l=n(a),u=g({__proto__:null,default:l},[a]);export{u as a};
@@ -0,0 +1 @@
1
+ import{g as a}from"./index-BBHrMvg7.js";import{c as s}from"./index-ChkZR_aE.js";function p(r,i){for(var o=0;o<i.length;o++){const t=i[o];if(typeof t!="string"&&!Array.isArray(t)){for(const e in t)if(e!=="default"&&!(e in r)){const c=Object.getOwnPropertyDescriptor(t,e);c&&Object.defineProperty(r,e,c.get?c:{enumerable:!0,get:()=>t[e]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var n=s();const f=a(n),l=p({__proto__:null,default:f},[n]);export{l as a};
@@ -0,0 +1 @@
1
+ import{g as a,e as s}from"./index-BBHrMvg7.js";function p(r,i){for(var o=0;o<i.length;o++){const t=i[o];if(typeof t!="string"&&!Array.isArray(t)){for(const e in t)if(e!=="default"&&!(e in r)){const c=Object.getOwnPropertyDescriptor(t,e);c&&Object.defineProperty(r,e,c.get?c:{enumerable:!0,get:()=>t[e]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var n=s();const f=a(n),g=p({__proto__:null,default:f},[n]);export{g as a};
@@ -0,0 +1 @@
1
+ import{g as s,f as c}from"./index-BBHrMvg7.js";function i(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var f=c();const p=s(f),d=i({__proto__:null,default:p},[f]);export{d as a};
@@ -0,0 +1 @@
1
+ import{g as s}from"./index-BBHrMvg7.js";import{d as i}from"./index-ChkZR_aE.js";function c(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var f=i();const p=s(f),g=c({__proto__:null,default:p},[f]);export{g as a};
@@ -0,0 +1 @@
1
+ import{g as f,h as g}from"./index-BBHrMvg7.js";function c(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var s=g();const i=f(s),u=c({__proto__:null,default:i},[s]);export{u as a};