onbuzz 4.8.3 → 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 (1032) 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__/composioService.test.js +332 -0
  57. package/src/services/__tests__/memoryService.appendAndCatalog.test.js +139 -0
  58. package/src/services/apiKeyManager.js +33 -0
  59. package/src/services/codeMapStubRenderer.js +142 -0
  60. package/src/services/codebaseKnowledgeService.js +430 -0
  61. package/src/services/composioService.js +378 -0
  62. package/src/services/memoryService.js +98 -0
  63. package/src/tools/__tests__/baseTool.test.js +62 -0
  64. package/src/tools/__tests__/codeMapTool.pluralCanonical.test.js +83 -0
  65. package/src/tools/__tests__/composioTool.test.js +268 -0
  66. package/src/tools/__tests__/memoryTool.pluralCanonical.test.js +189 -0
  67. package/src/tools/__tests__/memoryTool.test.js +1 -1
  68. package/src/tools/__tests__/officeTool.test.js +403 -0
  69. package/src/tools/__tests__/openaiFunctionSchemas.memoryReminisce.test.js +24 -25
  70. package/src/tools/__tests__/singularToolReverseForgive.test.js +97 -0
  71. package/src/tools/__tests__/taskManagerTool.discipline.test.js +137 -0
  72. package/src/tools/__tests__/taskManagerTool.transition.test.js +236 -0
  73. package/src/tools/__tests__/toolShapeForgiveness.test.js +260 -0
  74. package/src/tools/baseTool.js +28 -1
  75. package/src/tools/codeMapTool.js +1673 -1521
  76. package/src/tools/composioTool.js +307 -0
  77. package/src/tools/fileContentReplaceTool.js +893 -840
  78. package/src/tools/fileSystemTool.js +1372 -1314
  79. package/src/tools/fileTreeTool.js +7 -0
  80. package/src/tools/memoryTool.js +217 -81
  81. package/src/tools/office/officeDoc.js +425 -0
  82. package/src/tools/office/officePres.js +360 -0
  83. package/src/tools/office/officeSheet.js +350 -0
  84. package/src/tools/officeTool.js +313 -0
  85. package/src/tools/openaiFunctionSchemas.js +40 -50
  86. package/src/tools/platformControlTool.js +5 -0
  87. package/src/tools/seekTool.js +36 -1
  88. package/src/tools/skillsTool.js +10 -0
  89. package/src/tools/taskManagerTool.js +149 -14
  90. package/src/tools/terminalTool.js +23 -1
  91. package/src/tools/visionTool.js +7 -0
  92. package/src/tools/visualEditorTool.js +7 -0
  93. package/src/tools/whatsappTool.js +7 -0
  94. package/src/utilities/authCache.js +47 -6
  95. package/src/utilities/authCache.js.backup-1779570472481 +121 -0
  96. package/web-ui/build/index.html +2 -2
  97. package/web-ui/build/static/1c-BoCdC5pC.js +1 -0
  98. package/web-ui/build/static/abap-D7A92M1K.js +1 -0
  99. package/web-ui/build/static/abnf-DIcpJ99N.js +1 -0
  100. package/web-ui/build/static/abnf-d4I9yABN.js +1 -0
  101. package/web-ui/build/static/accesslog-D_Ksv5Fi.js +1 -0
  102. package/web-ui/build/static/actionscript-CMJI1an7.js +1 -0
  103. package/web-ui/build/static/actionscript-CNcWu4a1.js +1 -0
  104. package/web-ui/build/static/ada-BIqOBKro.js +1 -0
  105. package/web-ui/build/static/ada-BaTkJMdz.js +1 -0
  106. package/web-ui/build/static/agda-DmRdGgvt.js +1 -0
  107. package/web-ui/build/static/al-g8BvIfOt.js +1 -0
  108. package/web-ui/build/static/angelscript-BGxc0B7l.js +1 -0
  109. package/web-ui/build/static/antlr4-Da7ff6-m.js +1 -0
  110. package/web-ui/build/static/apache-Bibp-dVJ.js +1 -0
  111. package/web-ui/build/static/apacheconf-VzeL8tYb.js +1 -0
  112. package/web-ui/build/static/apex-DUaOCea3.js +1 -0
  113. package/web-ui/build/static/apl-BpwvFE2V.js +1 -0
  114. package/web-ui/build/static/applescript-5YKSWwV1.js +1 -0
  115. package/web-ui/build/static/applescript-BHqj5bpe.js +1 -0
  116. package/web-ui/build/static/aql-B0Wx_3hH.js +1 -0
  117. package/web-ui/build/static/arcade-CR8KkII1.js +1 -0
  118. package/web-ui/build/static/arduino-CYx5u85C.js +1 -0
  119. package/web-ui/build/static/arduino-ClVU2zro.js +1 -0
  120. package/web-ui/build/static/arff-kutIH4CC.js +1 -0
  121. package/web-ui/build/static/armasm-DBm1lGrc.js +1 -0
  122. package/web-ui/build/static/asciidoc-Cl02VMGf.js +1 -0
  123. package/web-ui/build/static/asciidoc-MMFYRqre.js +1 -0
  124. package/web-ui/build/static/asm6502-DPVMGaHn.js +1 -0
  125. package/web-ui/build/static/asmatmel-Dz4vtZ11.js +1 -0
  126. package/web-ui/build/static/aspectj-BZidGBlr.js +1 -0
  127. package/web-ui/build/static/aspnet-C2mo9iee.js +1 -0
  128. package/web-ui/build/static/autohotkey-Bx83oFMW.js +1 -0
  129. package/web-ui/build/static/autohotkey-DciFl6K5.js +1 -0
  130. package/web-ui/build/static/autoit-TVKWI5bu.js +1 -0
  131. package/web-ui/build/static/autoit-oORW7mrd.js +1 -0
  132. package/web-ui/build/static/avisynth-D_5uOtxP.js +1 -0
  133. package/web-ui/build/static/avrasm-D22JmbLm.js +1 -0
  134. package/web-ui/build/static/avro-idl-CtTuANGZ.js +1 -0
  135. package/web-ui/build/static/awk-Bnez22eR.js +1 -0
  136. package/web-ui/build/static/axapta-eqcr7C2-.js +1 -0
  137. package/web-ui/build/static/bash-D3XWHCZZ.js +1 -0
  138. package/web-ui/build/static/bash-px0MqVxE.js +1 -0
  139. package/web-ui/build/static/basic-BWOdgKLg.js +1 -0
  140. package/web-ui/build/static/basic-C7PK4wVg.js +1 -0
  141. package/web-ui/build/static/batch-CFeuSY9D.js +1 -0
  142. package/web-ui/build/static/bbcode-CRC0UNOS.js +1 -0
  143. package/web-ui/build/static/bicep-C18w8d6Z.js +1 -0
  144. package/web-ui/build/static/birb-DPiF4fwX.js +1 -0
  145. package/web-ui/build/static/bison-C1RWPaLl.js +1 -0
  146. package/web-ui/build/static/bnf-BelSXhsr.js +1 -0
  147. package/web-ui/build/static/bnf-D_m4SZuc.js +1 -0
  148. package/web-ui/build/static/brainfuck-Ci7P0POq.js +1 -0
  149. package/web-ui/build/static/brainfuck-DIrW6_96.js +1 -0
  150. package/web-ui/build/static/brightscript-4XgpA0OQ.js +1 -0
  151. package/web-ui/build/static/bro-4kAMStb2.js +1 -0
  152. package/web-ui/build/static/bsl-CleVjH1I.js +1 -0
  153. package/web-ui/build/static/c-Ct3AAwH6.js +1 -0
  154. package/web-ui/build/static/c-EiJrAzIQ.js +1 -0
  155. package/web-ui/build/static/c-like-B361rHmz.js +1 -0
  156. package/web-ui/build/static/cal-BZ3Pr4JI.js +1 -0
  157. package/web-ui/build/static/capnproto-LmwOdJJp.js +1 -0
  158. package/web-ui/build/static/ceylon-CKAfIFzx.js +1 -0
  159. package/web-ui/build/static/cfscript-Cms4z16U.js +1 -0
  160. package/web-ui/build/static/chaiscript-DKxRiUyN.js +1 -0
  161. package/web-ui/build/static/cil-C6rGhwce.js +1 -0
  162. package/web-ui/build/static/clean-DmpXs6RN.js +1 -0
  163. package/web-ui/build/static/clojure-DRYxiF9s.js +1 -0
  164. package/web-ui/build/static/clojure-DTjXEJCq.js +1 -0
  165. package/web-ui/build/static/clojure-repl-C1qlAUnK.js +1 -0
  166. package/web-ui/build/static/cmake-DtUokafC.js +1 -0
  167. package/web-ui/build/static/cmake-_WqF1fG8.js +1 -0
  168. package/web-ui/build/static/cobol-D2Q0IMuT.js +1 -0
  169. package/web-ui/build/static/coffeescript-MRThzdTU.js +1 -0
  170. package/web-ui/build/static/coffeescript-OHOpkJvb.js +1 -0
  171. package/web-ui/build/static/concurnas-CVGat9IA.js +1 -0
  172. package/web-ui/build/static/coq-CB_bM4lt.js +1 -0
  173. package/web-ui/build/static/coq-WNK38Cqz.js +1 -0
  174. package/web-ui/build/static/cos-CNa5GVxa.js +1 -0
  175. package/web-ui/build/static/cpp-D-9lHx0_.js +1 -0
  176. package/web-ui/build/static/cpp-DRvL1yaA.js +1 -0
  177. package/web-ui/build/static/crmsh-evnPMxnd.js +1 -0
  178. package/web-ui/build/static/crystal-RGhNrgnC.js +1 -0
  179. package/web-ui/build/static/crystal-yrBjXjEh.js +1 -0
  180. package/web-ui/build/static/csharp-Dr7sLtl1.js +1 -0
  181. package/web-ui/build/static/csharp-zNVQxjuC.js +1 -0
  182. package/web-ui/build/static/cshtml-CoiK-7Bu.js +1 -0
  183. package/web-ui/build/static/csp-Bhgq86EB.js +1 -0
  184. package/web-ui/build/static/csp-C20UcGAL.js +1 -0
  185. package/web-ui/build/static/css-D1vlrRV2.js +1 -0
  186. package/web-ui/build/static/css-extras-DVSAYMbv.js +1 -0
  187. package/web-ui/build/static/csv-BgR9D8jG.js +1 -0
  188. package/web-ui/build/static/cypher-Dxehyj6Y.js +1 -0
  189. package/web-ui/build/static/d-B-Se39n2.js +1 -0
  190. package/web-ui/build/static/d-Cr4d56op.js +1 -0
  191. package/web-ui/build/static/dart-BBqlOFkR.js +1 -0
  192. package/web-ui/build/static/dart-GRD7MWem.js +1 -0
  193. package/web-ui/build/static/dataweave-BK-Tahkw.js +1 -0
  194. package/web-ui/build/static/dax-pTr9GVoe.js +1 -0
  195. package/web-ui/build/static/delphi-CbwSNmp4.js +1 -0
  196. package/web-ui/build/static/dhall-CuFqRXr6.js +1 -0
  197. package/web-ui/build/static/diff-CK8Fq88e.js +1 -0
  198. package/web-ui/build/static/diff-CWbUTU-C.js +1 -0
  199. package/web-ui/build/static/django-DWaEPdP6.js +1 -0
  200. package/web-ui/build/static/django-TkEFpAOO.js +1 -0
  201. package/web-ui/build/static/dns-DKpFJlA0.js +1 -0
  202. package/web-ui/build/static/dns-zone-file-BIsmZEMf.js +1 -0
  203. package/web-ui/build/static/docker-DUavAYf7.js +1 -0
  204. package/web-ui/build/static/dockerfile-YnavjTIo.js +1 -0
  205. package/web-ui/build/static/dos-Dv3Qr-Oo.js +1 -0
  206. package/web-ui/build/static/dot-BtIPbx7t.js +1 -0
  207. package/web-ui/build/static/dsconfig-CEgd9-kI.js +1 -0
  208. package/web-ui/build/static/dts-BztZn8T6.js +1 -0
  209. package/web-ui/build/static/dust-B-527Hc0.js +1 -0
  210. package/web-ui/build/static/ebnf-CH_nnNi5.js +1 -0
  211. package/web-ui/build/static/ebnf-CuBjcj0j.js +1 -0
  212. package/web-ui/build/static/editorconfig-CA9KaQ0w.js +1 -0
  213. package/web-ui/build/static/eiffel-DVYJwwQw.js +1 -0
  214. package/web-ui/build/static/ejs-C2LKgDYE.js +1 -0
  215. package/web-ui/build/static/elixir-DVXGkbnw.js +1 -0
  216. package/web-ui/build/static/elixir-meJ_qqx4.js +1 -0
  217. package/web-ui/build/static/elm-C5sYS5Cb.js +1 -0
  218. package/web-ui/build/static/elm-Dj443pWY.js +1 -0
  219. package/web-ui/build/static/erb-CAj5yksQ.js +1 -0
  220. package/web-ui/build/static/erb-CcUB2tMd.js +1 -0
  221. package/web-ui/build/static/erlang-JusKooAX.js +1 -0
  222. package/web-ui/build/static/erlang-repl-wYgxDX5h.js +1 -0
  223. package/web-ui/build/static/erlang-sn-PsrSf.js +1 -0
  224. package/web-ui/build/static/etlua-ChDwUxz6.js +1 -0
  225. package/web-ui/build/static/excel-BJux1m2h.js +1 -0
  226. package/web-ui/build/static/excel-formula-i5ByFxAu.js +1 -0
  227. package/web-ui/build/static/factor-CTutAp6r.js +1 -0
  228. package/web-ui/build/static/false-DQz_zYVV.js +1 -0
  229. package/web-ui/build/static/firestore-security-rules-DRGBNXh2.js +1 -0
  230. package/web-ui/build/static/fix-DeSUhixI.js +1 -0
  231. package/web-ui/build/static/flix-BKTJVua_.js +1 -0
  232. package/web-ui/build/static/flow-BpcZsNuo.js +1 -0
  233. package/web-ui/build/static/fortran-BZIKfBPW.js +1 -0
  234. package/web-ui/build/static/fortran-BdezWEh5.js +1 -0
  235. package/web-ui/build/static/fsharp-1Gpt8wZo.js +1 -0
  236. package/web-ui/build/static/fsharp-CMyiqXUW.js +1 -0
  237. package/web-ui/build/static/ftl-D9bBJMhV.js +1 -0
  238. package/web-ui/build/static/gams-DL57wTHN.js +1 -0
  239. package/web-ui/build/static/gap-DN4Uo9cF.js +1 -0
  240. package/web-ui/build/static/gauss-DTa1H0QR.js +1 -0
  241. package/web-ui/build/static/gcode-U5GhqE37.js +1 -0
  242. package/web-ui/build/static/gcode-s-E37fb4.js +1 -0
  243. package/web-ui/build/static/gdscript-DkjgGcDv.js +1 -0
  244. package/web-ui/build/static/gedcom-BbjSSId3.js +1 -0
  245. package/web-ui/build/static/gherkin-BwIzGx7J.js +1 -0
  246. package/web-ui/build/static/gherkin-C97W_9I9.js +1 -0
  247. package/web-ui/build/static/git-DO8dnOip.js +1 -0
  248. package/web-ui/build/static/glsl-B_4UD4-O.js +1 -0
  249. package/web-ui/build/static/glsl-CGSjLy2x.js +1 -0
  250. package/web-ui/build/static/gml-BiITg8HI.js +1 -0
  251. package/web-ui/build/static/gml-DInGU66p.js +1 -0
  252. package/web-ui/build/static/gn--m2IH4i3.js +1 -0
  253. package/web-ui/build/static/go-DOK7GAd-.js +1 -0
  254. package/web-ui/build/static/go-bof0B9jK.js +1 -0
  255. package/web-ui/build/static/go-module-CPIVqmnL.js +1 -0
  256. package/web-ui/build/static/golo-jgy07E43.js +1 -0
  257. package/web-ui/build/static/gradle-BISOF0nH.js +1 -0
  258. package/web-ui/build/static/graphql-FqlbDLTL.js +1 -0
  259. package/web-ui/build/static/groovy-BM0ZyW4a.js +1 -0
  260. package/web-ui/build/static/groovy-oUdbfbZY.js +1 -0
  261. package/web-ui/build/static/haml-C8Qg-VO5.js +1 -0
  262. package/web-ui/build/static/haml-Dse28pB_.js +1 -0
  263. package/web-ui/build/static/handlebars-CWT7WazY.js +1 -0
  264. package/web-ui/build/static/handlebars-Ow3joqOm.js +1 -0
  265. package/web-ui/build/static/haskell-BfraeRhd.js +1 -0
  266. package/web-ui/build/static/haskell-EhcU7sbn.js +1 -0
  267. package/web-ui/build/static/haxe-B8tUoExu.js +1 -0
  268. package/web-ui/build/static/haxe-D9WQHhTh.js +1 -0
  269. package/web-ui/build/static/hcl-CG3GCouf.js +1 -0
  270. package/web-ui/build/static/hlsl-CSWRMQ3m.js +1 -0
  271. package/web-ui/build/static/hoon-Cj0JdbFY.js +1 -0
  272. package/web-ui/build/static/hpkp-CmjdXbgl.js +1 -0
  273. package/web-ui/build/static/hsp-VaFZ7Rlv.js +1 -0
  274. package/web-ui/build/static/hsts-CkJ6UPzY.js +1 -0
  275. package/web-ui/build/static/htmlbars-pfHjYqd2.js +1 -0
  276. package/web-ui/build/static/http-2LA-qivJ.js +1 -0
  277. package/web-ui/build/static/http-CQ_5JSsj.js +1 -0
  278. package/web-ui/build/static/hy-C-Dll2MQ.js +1 -0
  279. package/web-ui/build/static/ichigojam-DecRewwq.js +1 -0
  280. package/web-ui/build/static/icon-CdnU9zPA.js +1 -0
  281. package/web-ui/build/static/icu-message-format-CUQtjk6Q.js +1 -0
  282. package/web-ui/build/static/idris-CRMftLq6.js +1 -0
  283. package/web-ui/build/static/iecst-CXhHqz1P.js +1 -0
  284. package/web-ui/build/static/ignore-_emqIx7v.js +1 -0
  285. package/web-ui/build/static/index-BBHrMvg7.js +1216 -0
  286. package/web-ui/build/static/index-ChkZR_aE.js +13 -0
  287. package/web-ui/build/static/index-DU4GNSOf.js +1 -0
  288. package/web-ui/build/static/index-_z8JjNrI.css +1 -0
  289. package/web-ui/build/static/inform7-CbqlFoFE.js +1 -0
  290. package/web-ui/build/static/inform7-TxZViMJ9.js +1 -0
  291. package/web-ui/build/static/ini-D1sHtm5e.js +1 -0
  292. package/web-ui/build/static/ini-DnqB7pfX.js +1 -0
  293. package/web-ui/build/static/io-MnQK1mM-.js +1 -0
  294. package/web-ui/build/static/irpf90-BRaAenqx.js +1 -0
  295. package/web-ui/build/static/isbl-kubGT4rM.js +1 -0
  296. package/web-ui/build/static/j-BIz9wT9q.js +1 -0
  297. package/web-ui/build/static/java-CbQmsHSK.js +1 -0
  298. package/web-ui/build/static/java-v1B9fNL2.js +1 -0
  299. package/web-ui/build/static/javadoc-TB1OtWS7.js +1 -0
  300. package/web-ui/build/static/javadoclike-BBQPwDAU.js +1 -0
  301. package/web-ui/build/static/javascript-DzNVL5l_.js +1 -0
  302. package/web-ui/build/static/javastacktrace-BduOgG1e.js +1 -0
  303. package/web-ui/build/static/jboss-cli-BcqzI366.js +1 -0
  304. package/web-ui/build/static/jexl-Boyapidr.js +1 -0
  305. package/web-ui/build/static/jolie-hEbkNpsb.js +1 -0
  306. package/web-ui/build/static/jq-ZyEE6oGU.js +1 -0
  307. package/web-ui/build/static/js-extras-CXOzvlL7.js +1 -0
  308. package/web-ui/build/static/js-templates-CkHsm5px.js +1 -0
  309. package/web-ui/build/static/jsdoc-Uk3hj8z2.js +1 -0
  310. package/web-ui/build/static/json-BFi9igjd.js +1 -0
  311. package/web-ui/build/static/json-LI9wtNaG.js +1 -0
  312. package/web-ui/build/static/json5-PwjNByuN.js +1 -0
  313. package/web-ui/build/static/jsonp-DpfGuNSW.js +1 -0
  314. package/web-ui/build/static/jsstacktrace-DhOP2AhS.js +1 -0
  315. package/web-ui/build/static/jsx-DmWoDk8F.js +1 -0
  316. package/web-ui/build/static/julia-DBC5h81N.js +1 -0
  317. package/web-ui/build/static/julia-Dh9sV3LX.js +1 -0
  318. package/web-ui/build/static/julia-repl-BYyDp1f4.js +1 -0
  319. package/web-ui/build/static/keepalived-BTxjrZMV.js +1 -0
  320. package/web-ui/build/static/keyman-IYiyCDCU.js +1 -0
  321. package/web-ui/build/static/kotlin-C0PBuzvy.js +1 -0
  322. package/web-ui/build/static/kotlin-LWYZUK_T.js +1 -0
  323. package/web-ui/build/static/kumir-CQIbnv9I.js +1 -0
  324. package/web-ui/build/static/kusto-DA7pQ-Rb.js +1 -0
  325. package/web-ui/build/static/lasso-CrHySbnC.js +1 -0
  326. package/web-ui/build/static/latex-CLSOFXG4.js +1 -0
  327. package/web-ui/build/static/latex-DYknD4Dx.js +1 -0
  328. package/web-ui/build/static/latte-4QvZcKVw.js +1 -0
  329. package/web-ui/build/static/ldif-Dr96BfRx.js +1 -0
  330. package/web-ui/build/static/leaf-C9qL2Qde.js +1 -0
  331. package/web-ui/build/static/less-DpoID9ZJ.js +1 -0
  332. package/web-ui/build/static/less-wO8QO0XW.js +1 -0
  333. package/web-ui/build/static/lilypond-CNp4Kb1P.js +1 -0
  334. package/web-ui/build/static/liquid-DLULQdgV.js +1 -0
  335. package/web-ui/build/static/lisp-CrVo-Llt.js +1 -0
  336. package/web-ui/build/static/lisp-QIAoXzmW.js +1 -0
  337. package/web-ui/build/static/livecodeserver-DrehOgbf.js +1 -0
  338. package/web-ui/build/static/livescript-Cm2Yp34x.js +1 -0
  339. package/web-ui/build/static/livescript-mVYzlrko.js +1 -0
  340. package/web-ui/build/static/llvm-D6KsQJjh.js +1 -0
  341. package/web-ui/build/static/llvm-DhIp1o-1.js +1 -0
  342. package/web-ui/build/static/log-Sj3ocpgB.js +1 -0
  343. package/web-ui/build/static/lolcode-BSeGnWYG.js +1 -0
  344. package/web-ui/build/static/lsl-DwgUIp0U.js +1 -0
  345. package/web-ui/build/static/lua-B7Ot0Oou.js +1 -0
  346. package/web-ui/build/static/lua-zydwn5-S.js +1 -0
  347. package/web-ui/build/static/magma-Dgfy2Qny.js +1 -0
  348. package/web-ui/build/static/makefile-CSjtzdcw.js +1 -0
  349. package/web-ui/build/static/makefile-DrnEneus.js +1 -0
  350. package/web-ui/build/static/markdown-D9Ke3tYA.js +1 -0
  351. package/web-ui/build/static/markdown-DmwKuI2Y.js +1 -0
  352. package/web-ui/build/static/markup-templating-CikqfHT9.js +1 -0
  353. package/web-ui/build/static/mathematica-OC0imzI5.js +1 -0
  354. package/web-ui/build/static/matlab-BlPcqzRw.js +1 -0
  355. package/web-ui/build/static/matlab-C1iteCkE.js +1 -0
  356. package/web-ui/build/static/maxima-DecbOh0Y.js +1 -0
  357. package/web-ui/build/static/maxscript-80cPuIOA.js +1 -0
  358. package/web-ui/build/static/mel-NI7ysGX2.js +1 -0
  359. package/web-ui/build/static/mel-r03p1eJo.js +1 -0
  360. package/web-ui/build/static/mercury-BdNZw6ZU.js +1 -0
  361. package/web-ui/build/static/mermaid-C1LB7zMJ.js +1 -0
  362. package/web-ui/build/static/mipsasm-BnZ0cdht.js +1 -0
  363. package/web-ui/build/static/mizar-BGPNX3WQ.js +1 -0
  364. package/web-ui/build/static/mizar-CswPcmcG.js +1 -0
  365. package/web-ui/build/static/mojolicious-rRtgy8Or.js +1 -0
  366. package/web-ui/build/static/mongodb-CJU0oeix.js +1 -0
  367. package/web-ui/build/static/monkey-Bj0HaV5-.js +1 -0
  368. package/web-ui/build/static/monkey-JRYuMIYc.js +1 -0
  369. package/web-ui/build/static/moonscript-i7e8bkxZ.js +1 -0
  370. package/web-ui/build/static/moonscript-ldoM156V.js +1 -0
  371. package/web-ui/build/static/n1ql-C0xs8qWA.js +1 -0
  372. package/web-ui/build/static/n1ql-DlC-GlVq.js +1 -0
  373. package/web-ui/build/static/n4js-mIwtIanO.js +1 -0
  374. package/web-ui/build/static/nand2tetris-hdl-mfHIYPZD.js +1 -0
  375. package/web-ui/build/static/naniscript-DiDayxx1.js +1 -0
  376. package/web-ui/build/static/nasm-7uf2nfNC.js +1 -0
  377. package/web-ui/build/static/neon-BKgOgIAL.js +1 -0
  378. package/web-ui/build/static/nevod-BlujoQ5k.js +1 -0
  379. package/web-ui/build/static/nginx-Bb57ubp_.js +1 -0
  380. package/web-ui/build/static/nginx-DmLU0URp.js +1 -0
  381. package/web-ui/build/static/nim-CmnPRTHF.js +1 -0
  382. package/web-ui/build/static/nim-DOReB32c.js +1 -0
  383. package/web-ui/build/static/nix-BDMn1sgi.js +1 -0
  384. package/web-ui/build/static/nix-LTHuFEfQ.js +1 -0
  385. package/web-ui/build/static/node-repl-dxwu8SWp.js +1 -0
  386. package/web-ui/build/static/nsis-CKD0KqBT.js +1 -0
  387. package/web-ui/build/static/nsis-IlSwBUak.js +1 -0
  388. package/web-ui/build/static/objectivec-D4Lo30HV.js +1 -0
  389. package/web-ui/build/static/objectivec-zmGGqvoM.js +1 -0
  390. package/web-ui/build/static/ocaml-2uzfqAr8.js +1 -0
  391. package/web-ui/build/static/ocaml-wF6lV9H4.js +1 -0
  392. package/web-ui/build/static/opencl-B82Xjnw5.js +1 -0
  393. package/web-ui/build/static/openqasm-VzVaHpAP.js +1 -0
  394. package/web-ui/build/static/openscad-B-qK1VfW.js +1 -0
  395. package/web-ui/build/static/oxygene-BNTVgbsA.js +1 -0
  396. package/web-ui/build/static/oz-5ZfXBXQY.js +1 -0
  397. package/web-ui/build/static/parigp-S8JhoJoz.js +1 -0
  398. package/web-ui/build/static/parser-BZPtbLcv.js +1 -0
  399. package/web-ui/build/static/parser3-BZRLDHuv.js +1 -0
  400. package/web-ui/build/static/pascal-GKzqT2Ku.js +1 -0
  401. package/web-ui/build/static/pascaligo-DnbFz_mr.js +1 -0
  402. package/web-ui/build/static/pcaxis-DiRsos26.js +1 -0
  403. package/web-ui/build/static/peoplecode-CMDLbqGB.js +1 -0
  404. package/web-ui/build/static/perl-BOnBAciC.js +1 -0
  405. package/web-ui/build/static/perl-fMVLgVTb.js +1 -0
  406. package/web-ui/build/static/pf-z6xsHHPS.js +1 -0
  407. package/web-ui/build/static/pgsql-5jHAyGJf.js +1 -0
  408. package/web-ui/build/static/php-CbG6Jq36.js +1 -0
  409. package/web-ui/build/static/php-D9yyh70o.js +1 -0
  410. package/web-ui/build/static/php-extras-CQKSwnMo.js +1 -0
  411. package/web-ui/build/static/php-template-Ch4UQhUx.js +1 -0
  412. package/web-ui/build/static/phpdoc-Be7TYcGQ.js +1 -0
  413. package/web-ui/build/static/plaintext-BsYjBqDy.js +1 -0
  414. package/web-ui/build/static/plsql-Dc4ePipN.js +1 -0
  415. package/web-ui/build/static/pony-Cen7DtWb.js +1 -0
  416. package/web-ui/build/static/powerquery-BIOJ1eUE.js +1 -0
  417. package/web-ui/build/static/powershell-CbEjJpj7.js +1 -0
  418. package/web-ui/build/static/powershell-DlceT0ds.js +1 -0
  419. package/web-ui/build/static/processing-C9GaKPU-.js +1 -0
  420. package/web-ui/build/static/processing-CTPA3QIV.js +1 -0
  421. package/web-ui/build/static/profile-CHjz016L.js +1 -0
  422. package/web-ui/build/static/prolog-BK0g5F4c.js +1 -0
  423. package/web-ui/build/static/prolog-DrrwUODp.js +1 -0
  424. package/web-ui/build/static/promql-DftRCUlR.js +1 -0
  425. package/web-ui/build/static/properties-B122hwLT.js +1 -0
  426. package/web-ui/build/static/properties-C0m3XIaN.js +1 -0
  427. package/web-ui/build/static/protobuf-CanIoKel.js +1 -0
  428. package/web-ui/build/static/protobuf-WvDgzNtD.js +1 -0
  429. package/web-ui/build/static/psl-JsKwhg_r.js +1 -0
  430. package/web-ui/build/static/pug-DoQaiAyU.js +1 -0
  431. package/web-ui/build/static/puppet-CoRftQQB.js +1 -0
  432. package/web-ui/build/static/puppet-DHgjsvQ8.js +1 -0
  433. package/web-ui/build/static/pure-BgZIQeOr.js +1 -0
  434. package/web-ui/build/static/purebasic-BRYfIFBb.js +1 -0
  435. package/web-ui/build/static/purebasic-DxXSa8gN.js +1 -0
  436. package/web-ui/build/static/purescript-ChvJvUnk.js +1 -0
  437. package/web-ui/build/static/python-DqhW0V3z.js +1 -0
  438. package/web-ui/build/static/python-Dz2FyIQx.js +1 -0
  439. package/web-ui/build/static/python-repl-Cl3mEb2H.js +1 -0
  440. package/web-ui/build/static/q-Bg4mQWXp.js +1 -0
  441. package/web-ui/build/static/q-DwaQK_1p.js +1 -0
  442. package/web-ui/build/static/qml-D1-fdJvp.js +1 -0
  443. package/web-ui/build/static/qml-DFsoiY0T.js +1 -0
  444. package/web-ui/build/static/qore-DdEtFSV5.js +1 -0
  445. package/web-ui/build/static/qsharp-B_A0OUBX.js +1 -0
  446. package/web-ui/build/static/r-C3M2HrKx.js +1 -0
  447. package/web-ui/build/static/r-_EUAt74Q.js +1 -0
  448. package/web-ui/build/static/racket-B3uAs3VE.js +1 -0
  449. package/web-ui/build/static/reason-CyAzPvNW.js +1 -0
  450. package/web-ui/build/static/reasonml-iEzx6ejF.js +1 -0
  451. package/web-ui/build/static/regex-suWqSnRa.js +1 -0
  452. package/web-ui/build/static/rego-QeDW60Lx.js +1 -0
  453. package/web-ui/build/static/renpy-03fEqIYK.js +1 -0
  454. package/web-ui/build/static/rest-BRJIE-UZ.js +1 -0
  455. package/web-ui/build/static/rib-DOI_C8C9.js +1 -0
  456. package/web-ui/build/static/rip-BaEBdknp.js +1 -0
  457. package/web-ui/build/static/roboconf-DC8IQe4Z.js +1 -0
  458. package/web-ui/build/static/roboconf-jTu2wKoD.js +1 -0
  459. package/web-ui/build/static/robotframework-BFp2sQG2.js +1 -0
  460. package/web-ui/build/static/routeros-Br-GCWs7.js +1 -0
  461. package/web-ui/build/static/rsl-BpWeUJqw.js +1 -0
  462. package/web-ui/build/static/ruby-C3nnVoGq.js +1 -0
  463. package/web-ui/build/static/ruby-DD90V5PL.js +1 -0
  464. package/web-ui/build/static/ruleslanguage-BflyDdqj.js +1 -0
  465. package/web-ui/build/static/rust-DtiFFJtC.js +1 -0
  466. package/web-ui/build/static/rust-uJHZCfXQ.js +1 -0
  467. package/web-ui/build/static/sas-DUr8rIBf.js +1 -0
  468. package/web-ui/build/static/sas-POH3vAEy.js +1 -0
  469. package/web-ui/build/static/sass-D1oLbZQ0.js +1 -0
  470. package/web-ui/build/static/scala-CDtrRn0l.js +1 -0
  471. package/web-ui/build/static/scala-VCIKIldH.js +1 -0
  472. package/web-ui/build/static/scheme-CAWHx2Oj.js +1 -0
  473. package/web-ui/build/static/scheme-DzKv24tn.js +1 -0
  474. package/web-ui/build/static/scilab-DuxpEvzV.js +1 -0
  475. package/web-ui/build/static/scss-BKd4Y-UF.js +1 -0
  476. package/web-ui/build/static/scss-BpqUKxry.js +1 -0
  477. package/web-ui/build/static/shell-session-CglnRr2l.js +1 -0
  478. package/web-ui/build/static/shell-u-Y3PKLQ.js +1 -0
  479. package/web-ui/build/static/smali-D308KWif.js +1 -0
  480. package/web-ui/build/static/smali-DYT-jHPu.js +1 -0
  481. package/web-ui/build/static/smalltalk-BLYA-Ag1.js +1 -0
  482. package/web-ui/build/static/smalltalk-BdMVmgN0.js +1 -0
  483. package/web-ui/build/static/smarty-DUYgBrje.js +1 -0
  484. package/web-ui/build/static/sml-EEhIaAvM.js +1 -0
  485. package/web-ui/build/static/sml-bQ27koeV.js +1 -0
  486. package/web-ui/build/static/solidity-U7x7-dFr.js +1 -0
  487. package/web-ui/build/static/solution-file-Cr03jaqW.js +1 -0
  488. package/web-ui/build/static/soy-lnGOhaRM.js +1 -0
  489. package/web-ui/build/static/sparql-BRm44B1P.js +1 -0
  490. package/web-ui/build/static/splunk-spl-DdrdBOQJ.js +1 -0
  491. package/web-ui/build/static/sqf-CDtvZjid.js +1 -0
  492. package/web-ui/build/static/sqf-wr3PtKhW.js +1 -0
  493. package/web-ui/build/static/sql-B1-8AkNe.js +1 -0
  494. package/web-ui/build/static/sql-zWEK1lPB.js +1 -0
  495. package/web-ui/build/static/sql_more-Ck0DuSs3.js +1 -0
  496. package/web-ui/build/static/squirrel-CfQEIe5h.js +1 -0
  497. package/web-ui/build/static/stan-BM1Wilpj.js +1 -0
  498. package/web-ui/build/static/stan-DFPCSU1l.js +1 -0
  499. package/web-ui/build/static/stata-BJ-qKfEg.js +1 -0
  500. package/web-ui/build/static/step21-fPKcuR3s.js +1 -0
  501. package/web-ui/build/static/stylus-BhqK2C03.js +1 -0
  502. package/web-ui/build/static/stylus-BxloRYSO.js +1 -0
  503. package/web-ui/build/static/subunit-CueM7bOY.js +1 -0
  504. package/web-ui/build/static/swift-CPgZZ0ja.js +1 -0
  505. package/web-ui/build/static/swift-CsEMsJ7g.js +1 -0
  506. package/web-ui/build/static/systemd-B1Wwkby4.js +1 -0
  507. package/web-ui/build/static/t4-cs-CL3Ca0dW.js +1 -0
  508. package/web-ui/build/static/t4-templating-BoV5iKxA.js +1 -0
  509. package/web-ui/build/static/t4-vb-BKXXzk5n.js +1 -0
  510. package/web-ui/build/static/taggerscript-aJQMdfVb.js +1 -0
  511. package/web-ui/build/static/tap-BBfQFbbW.js +1 -0
  512. package/web-ui/build/static/tap-CmCrAtSH.js +1 -0
  513. package/web-ui/build/static/tcl-B8xfoxf8.js +1 -0
  514. package/web-ui/build/static/tcl-CPzoU-PX.js +1 -0
  515. package/web-ui/build/static/textile-B99mXtsV.js +1 -0
  516. package/web-ui/build/static/thrift-Cd40Ii7J.js +1 -0
  517. package/web-ui/build/static/toml-DV5wxyQS.js +1 -0
  518. package/web-ui/build/static/tp-o2VorAT6.js +1 -0
  519. package/web-ui/build/static/tremor-Cs0K_i4_.js +1 -0
  520. package/web-ui/build/static/tsx-KG-mQur8.js +1 -0
  521. package/web-ui/build/static/tt2-M3GHOvjN.js +1 -0
  522. package/web-ui/build/static/turtle-D6o0UODZ.js +1 -0
  523. package/web-ui/build/static/twig-D7LOxPkH.js +1 -0
  524. package/web-ui/build/static/twig-SHSTj-jA.js +1 -0
  525. package/web-ui/build/static/typescript-BeIk_BLV.js +1 -0
  526. package/web-ui/build/static/typescript-Btz-ypJW.js +1 -0
  527. package/web-ui/build/static/typoscript-7jDBTKMM.js +1 -0
  528. package/web-ui/build/static/unrealscript-f2f2MAJa.js +1 -0
  529. package/web-ui/build/static/uorazor-c5VZAS6K.js +1 -0
  530. package/web-ui/build/static/uri-DY2cDkq-.js +1 -0
  531. package/web-ui/build/static/v-6ffK7TKq.js +1 -0
  532. package/web-ui/build/static/vala-BgOkjEeg.js +1 -0
  533. package/web-ui/build/static/vala-BvuDZGU_.js +1 -0
  534. package/web-ui/build/static/vbnet-Bdh9clH3.js +1 -0
  535. package/web-ui/build/static/vbnet-CDpcSndL.js +1 -0
  536. package/web-ui/build/static/vbscript-dH3gn1bx.js +1 -0
  537. package/web-ui/build/static/vbscript-html-a_tIfb0-.js +1 -0
  538. package/web-ui/build/static/velocity-DGDKyukB.js +1 -0
  539. package/web-ui/build/static/verilog-CtJaE20M.js +1 -0
  540. package/web-ui/build/static/verilog-CvdiugJe.js +1 -0
  541. package/web-ui/build/static/vhdl-CN1nxPYJ.js +1 -0
  542. package/web-ui/build/static/vhdl-JtjHb_oM.js +1 -0
  543. package/web-ui/build/static/vim-DBRKYGcU.js +1 -0
  544. package/web-ui/build/static/vim-DQiU261H.js +1 -0
  545. package/web-ui/build/static/visual-basic-D_daebxW.js +1 -0
  546. package/web-ui/build/static/warpscript-B4PIoyZp.js +1 -0
  547. package/web-ui/build/static/wasm-D6_O5K2p.js +1 -0
  548. package/web-ui/build/static/web-idl-D7BDrII0.js +1 -0
  549. package/web-ui/build/static/wiki-D-bqO098.js +1 -0
  550. package/web-ui/build/static/wolfram-NnogXigM.js +1 -0
  551. package/web-ui/build/static/wren-DwgJaCDU.js +1 -0
  552. package/web-ui/build/static/x86asm-B9-C3MH5.js +1 -0
  553. package/web-ui/build/static/xeora-wudvnBkY.js +1 -0
  554. package/web-ui/build/static/xl-BeBZDETk.js +1 -0
  555. package/web-ui/build/static/xml-DgNmhWin.js +1 -0
  556. package/web-ui/build/static/xml-doc-B2RShOT5.js +1 -0
  557. package/web-ui/build/static/xojo-C0HF7CVl.js +1 -0
  558. package/web-ui/build/static/xquery-CMss7jIw.js +1 -0
  559. package/web-ui/build/static/xquery-Dy1YImWg.js +1 -0
  560. package/web-ui/build/static/yaml--7oDAAKr.js +1 -0
  561. package/web-ui/build/static/yaml-1-HThDJz.js +1 -0
  562. package/web-ui/build/static/yang-CxleyLxS.js +1 -0
  563. package/web-ui/build/static/zephir-B7LMkND2.js +1 -0
  564. package/web-ui/build/static/zig-DST87v3k.js +1 -0
  565. package/web-ui/build/static/1c-DGpIT7i5.js +0 -1
  566. package/web-ui/build/static/abap-5wFDdWLh.js +0 -1
  567. package/web-ui/build/static/abnf-BP1dpNSE.js +0 -1
  568. package/web-ui/build/static/abnf-DBEIAl8g.js +0 -1
  569. package/web-ui/build/static/accesslog-CWSM_T5E.js +0 -1
  570. package/web-ui/build/static/actionscript-DONkco1J.js +0 -1
  571. package/web-ui/build/static/actionscript-FqBYk5er.js +0 -1
  572. package/web-ui/build/static/ada-C2JLRIaM.js +0 -1
  573. package/web-ui/build/static/ada-gKiygTRK.js +0 -1
  574. package/web-ui/build/static/agda-CkSODqK2.js +0 -1
  575. package/web-ui/build/static/al-BJ_YR6p7.js +0 -1
  576. package/web-ui/build/static/angelscript-Dg2byMGg.js +0 -1
  577. package/web-ui/build/static/antlr4-BnpyaFNr.js +0 -1
  578. package/web-ui/build/static/apache-Dffxsd7O.js +0 -1
  579. package/web-ui/build/static/apacheconf-DLitjtWj.js +0 -1
  580. package/web-ui/build/static/apex-Drr_IvU2.js +0 -1
  581. package/web-ui/build/static/apl-CF6qxmXG.js +0 -1
  582. package/web-ui/build/static/applescript-CjOlw3b_.js +0 -1
  583. package/web-ui/build/static/applescript-DjkSl1Ry.js +0 -1
  584. package/web-ui/build/static/aql-KwVmK1gP.js +0 -1
  585. package/web-ui/build/static/arcade-CENSXx0R.js +0 -1
  586. package/web-ui/build/static/arduino-B3Ta9Fll.js +0 -1
  587. package/web-ui/build/static/arduino-CzcsaB9_.js +0 -1
  588. package/web-ui/build/static/arff-CMJSVt_O.js +0 -1
  589. package/web-ui/build/static/armasm-0zSgSPB4.js +0 -1
  590. package/web-ui/build/static/asciidoc-B8K5ctWq.js +0 -1
  591. package/web-ui/build/static/asciidoc-bk2Sg6b6.js +0 -1
  592. package/web-ui/build/static/asm6502-ji6zm4FQ.js +0 -1
  593. package/web-ui/build/static/asmatmel-DJqObM4Y.js +0 -1
  594. package/web-ui/build/static/aspectj-DqQKI7J5.js +0 -1
  595. package/web-ui/build/static/aspnet-9cenTxW7.js +0 -1
  596. package/web-ui/build/static/autohotkey-C6EhiZvl.js +0 -1
  597. package/web-ui/build/static/autohotkey-sTGJOvMM.js +0 -1
  598. package/web-ui/build/static/autoit-B0Im8iQ1.js +0 -1
  599. package/web-ui/build/static/autoit-CO6pUD0H.js +0 -1
  600. package/web-ui/build/static/avisynth-OvOHTfj5.js +0 -1
  601. package/web-ui/build/static/avrasm-BLWZ5Mye.js +0 -1
  602. package/web-ui/build/static/avro-idl-BB2ODvnw.js +0 -1
  603. package/web-ui/build/static/awk-_jhMabQ0.js +0 -1
  604. package/web-ui/build/static/axapta-DdBRgoYy.js +0 -1
  605. package/web-ui/build/static/bash-CsaRGXBQ.js +0 -1
  606. package/web-ui/build/static/bash-CxLFkwAC.js +0 -1
  607. package/web-ui/build/static/basic-BJyy7JJE.js +0 -1
  608. package/web-ui/build/static/basic-CrMb-gv0.js +0 -1
  609. package/web-ui/build/static/batch-BvcykMe5.js +0 -1
  610. package/web-ui/build/static/bbcode-EOBuY5Y6.js +0 -1
  611. package/web-ui/build/static/bicep-QkDJBA34.js +0 -1
  612. package/web-ui/build/static/birb-TAOxKurn.js +0 -1
  613. package/web-ui/build/static/bison-BEK6cnad.js +0 -1
  614. package/web-ui/build/static/bnf-DfEODxsr.js +0 -1
  615. package/web-ui/build/static/bnf-DhbMjsuA.js +0 -1
  616. package/web-ui/build/static/brainfuck-BoVocOa7.js +0 -1
  617. package/web-ui/build/static/brainfuck-DDC5QXPK.js +0 -1
  618. package/web-ui/build/static/brightscript-DNN598w2.js +0 -1
  619. package/web-ui/build/static/bro-Cn_jjZ8P.js +0 -1
  620. package/web-ui/build/static/bsl-CMCN75Gu.js +0 -1
  621. package/web-ui/build/static/c-DbOGQnEJ.js +0 -1
  622. package/web-ui/build/static/c-kggwYFsy.js +0 -1
  623. package/web-ui/build/static/c-like-BIsuUvof.js +0 -1
  624. package/web-ui/build/static/cal-DpgMsBZE.js +0 -1
  625. package/web-ui/build/static/capnproto-C1AHYI-M.js +0 -1
  626. package/web-ui/build/static/ceylon-pvJffDe1.js +0 -1
  627. package/web-ui/build/static/cfscript-C1qylu52.js +0 -1
  628. package/web-ui/build/static/chaiscript-D417WKRI.js +0 -1
  629. package/web-ui/build/static/cil-CjbZHbcY.js +0 -1
  630. package/web-ui/build/static/clean-Dvc6R-F2.js +0 -1
  631. package/web-ui/build/static/clojure-CSVRQPMQ.js +0 -1
  632. package/web-ui/build/static/clojure-ig1Vkg7X.js +0 -1
  633. package/web-ui/build/static/clojure-repl-C1uyEabk.js +0 -1
  634. package/web-ui/build/static/cmake-DSbVcAB3.js +0 -1
  635. package/web-ui/build/static/cmake-Zp8kPwnH.js +0 -1
  636. package/web-ui/build/static/cobol-OsZSiK_P.js +0 -1
  637. package/web-ui/build/static/coffeescript-D8r0416S.js +0 -1
  638. package/web-ui/build/static/coffeescript-DCpgClxh.js +0 -1
  639. package/web-ui/build/static/concurnas-DKnsxUOc.js +0 -1
  640. package/web-ui/build/static/coq-BQFlywVI.js +0 -1
  641. package/web-ui/build/static/coq-BvS9mQB2.js +0 -1
  642. package/web-ui/build/static/cos-D3ze2791.js +0 -1
  643. package/web-ui/build/static/cpp-Bw-cV3P1.js +0 -1
  644. package/web-ui/build/static/cpp-vi1p7XpB.js +0 -1
  645. package/web-ui/build/static/crmsh-BClnJTeQ.js +0 -1
  646. package/web-ui/build/static/crystal-DGzOUYZq.js +0 -1
  647. package/web-ui/build/static/crystal-DMzk6EvA.js +0 -1
  648. package/web-ui/build/static/csharp-BTom8s2X.js +0 -1
  649. package/web-ui/build/static/csharp-Cp2V3jfR.js +0 -1
  650. package/web-ui/build/static/cshtml-Dmtt9Kto.js +0 -1
  651. package/web-ui/build/static/csp-WPVsLe9_.js +0 -1
  652. package/web-ui/build/static/csp-qddj5fu_.js +0 -1
  653. package/web-ui/build/static/css-B0FAm7kj.js +0 -1
  654. package/web-ui/build/static/css-extras-Bx3pvjiG.js +0 -1
  655. package/web-ui/build/static/csv-CH-edgS5.js +0 -1
  656. package/web-ui/build/static/cypher-c3G8Leew.js +0 -1
  657. package/web-ui/build/static/d-BMDSy22_.js +0 -1
  658. package/web-ui/build/static/d-BdH4oW8-.js +0 -1
  659. package/web-ui/build/static/dart-C-r72q-O.js +0 -1
  660. package/web-ui/build/static/dart-CwpBMrKa.js +0 -1
  661. package/web-ui/build/static/dataweave-BPvqdt4k.js +0 -1
  662. package/web-ui/build/static/dax-Eyy6ixcN.js +0 -1
  663. package/web-ui/build/static/delphi-DhEbPj_5.js +0 -1
  664. package/web-ui/build/static/dhall-Ct1L8sN1.js +0 -1
  665. package/web-ui/build/static/diff-CSTqCgwn.js +0 -1
  666. package/web-ui/build/static/diff-Da97B5vW.js +0 -1
  667. package/web-ui/build/static/django-DGit_lCg.js +0 -1
  668. package/web-ui/build/static/django-DPgqFB8k.js +0 -1
  669. package/web-ui/build/static/dns-DUyXuZ-a.js +0 -1
  670. package/web-ui/build/static/dns-zone-file-D79MDxVG.js +0 -1
  671. package/web-ui/build/static/docker-DTiy4o38.js +0 -1
  672. package/web-ui/build/static/dockerfile-CvwPP8wE.js +0 -1
  673. package/web-ui/build/static/dos-CaIUWxvb.js +0 -1
  674. package/web-ui/build/static/dot-D3504w6Y.js +0 -1
  675. package/web-ui/build/static/dsconfig-Smy1eeX_.js +0 -1
  676. package/web-ui/build/static/dts-DyTYSXZj.js +0 -1
  677. package/web-ui/build/static/dust-CrJyi6qA.js +0 -1
  678. package/web-ui/build/static/ebnf-C8nqfkBH.js +0 -1
  679. package/web-ui/build/static/ebnf-Cuh5Vh2-.js +0 -1
  680. package/web-ui/build/static/editorconfig-C7pTGl6n.js +0 -1
  681. package/web-ui/build/static/eiffel-C75MSJCA.js +0 -1
  682. package/web-ui/build/static/ejs-Dyo7DF5w.js +0 -1
  683. package/web-ui/build/static/elixir-D4yJefOc.js +0 -1
  684. package/web-ui/build/static/elixir-DKRow2SJ.js +0 -1
  685. package/web-ui/build/static/elm-CgbdDlkT.js +0 -1
  686. package/web-ui/build/static/elm-D3N-UgU0.js +0 -1
  687. package/web-ui/build/static/erb-BsITh8qW.js +0 -1
  688. package/web-ui/build/static/erb-lY_LyKyS.js +0 -1
  689. package/web-ui/build/static/erlang-BCnPiYmB.js +0 -1
  690. package/web-ui/build/static/erlang-JEghiPXc.js +0 -1
  691. package/web-ui/build/static/erlang-repl-DzU97ugC.js +0 -1
  692. package/web-ui/build/static/etlua-CsBo8cJa.js +0 -1
  693. package/web-ui/build/static/excel-formula-C2piiCYa.js +0 -1
  694. package/web-ui/build/static/excel-kqNypwQD.js +0 -1
  695. package/web-ui/build/static/factor-DZTOhkyU.js +0 -1
  696. package/web-ui/build/static/false-yLjhfaSw.js +0 -1
  697. package/web-ui/build/static/firestore-security-rules-oaQNoH8l.js +0 -1
  698. package/web-ui/build/static/fix-C9IfnTuS.js +0 -1
  699. package/web-ui/build/static/flix-EmJ_JhPo.js +0 -1
  700. package/web-ui/build/static/flow-DCUl7IAQ.js +0 -1
  701. package/web-ui/build/static/fortran-DvyxJmFN.js +0 -1
  702. package/web-ui/build/static/fortran-EEP9R3S5.js +0 -1
  703. package/web-ui/build/static/fsharp-D_98s3RX.js +0 -1
  704. package/web-ui/build/static/fsharp-Dt9jOO5G.js +0 -1
  705. package/web-ui/build/static/ftl-C8gMHWLo.js +0 -1
  706. package/web-ui/build/static/gams-BHxVPb4z.js +0 -1
  707. package/web-ui/build/static/gap-DFtyHk-q.js +0 -1
  708. package/web-ui/build/static/gauss-BwhJWUcg.js +0 -1
  709. package/web-ui/build/static/gcode-BvmXwp09.js +0 -1
  710. package/web-ui/build/static/gcode-gWcD6Vc7.js +0 -1
  711. package/web-ui/build/static/gdscript-btHoX8RE.js +0 -1
  712. package/web-ui/build/static/gedcom-MgPs9iqh.js +0 -1
  713. package/web-ui/build/static/gherkin-B9c_Q16A.js +0 -1
  714. package/web-ui/build/static/gherkin-BvOgkK6h.js +0 -1
  715. package/web-ui/build/static/git-D9XWOVcQ.js +0 -1
  716. package/web-ui/build/static/glsl-CshBHxHY.js +0 -1
  717. package/web-ui/build/static/glsl-fNRUMTDr.js +0 -1
  718. package/web-ui/build/static/gml-B78deHK8.js +0 -1
  719. package/web-ui/build/static/gml-Cj7d2u8O.js +0 -1
  720. package/web-ui/build/static/gn-CJLD-mF1.js +0 -1
  721. package/web-ui/build/static/go-CT93BEkL.js +0 -1
  722. package/web-ui/build/static/go-CTTlNuQO.js +0 -1
  723. package/web-ui/build/static/go-module-BgnXboUE.js +0 -1
  724. package/web-ui/build/static/golo-2S5tXS-l.js +0 -1
  725. package/web-ui/build/static/gradle-8W8DCcWJ.js +0 -1
  726. package/web-ui/build/static/graphql-DZfp6FNU.js +0 -1
  727. package/web-ui/build/static/groovy-BfsyMb3X.js +0 -1
  728. package/web-ui/build/static/groovy-Dxov7ENz.js +0 -1
  729. package/web-ui/build/static/haml-BlUFsdVV.js +0 -1
  730. package/web-ui/build/static/haml-CjVj6vvW.js +0 -1
  731. package/web-ui/build/static/handlebars-DxrQFkyA.js +0 -1
  732. package/web-ui/build/static/handlebars-FE6fotYl.js +0 -1
  733. package/web-ui/build/static/haskell-B6z0RCD_.js +0 -1
  734. package/web-ui/build/static/haskell-JBFmJTRy.js +0 -1
  735. package/web-ui/build/static/haxe-BtMZMi-_.js +0 -1
  736. package/web-ui/build/static/haxe-C1J8n-fH.js +0 -1
  737. package/web-ui/build/static/hcl-DJP-bFWE.js +0 -1
  738. package/web-ui/build/static/hlsl-DrGjhs1b.js +0 -1
  739. package/web-ui/build/static/hoon-Cg-ZhqIT.js +0 -1
  740. package/web-ui/build/static/hpkp-D07vgmoZ.js +0 -1
  741. package/web-ui/build/static/hsp-CsypPWoA.js +0 -1
  742. package/web-ui/build/static/hsts-B6DMRxvP.js +0 -1
  743. package/web-ui/build/static/htmlbars-BI7_Hw4e.js +0 -1
  744. package/web-ui/build/static/http-90ihEi4s.js +0 -1
  745. package/web-ui/build/static/http-Dp4QXj9E.js +0 -1
  746. package/web-ui/build/static/hy-BMgKvP4K.js +0 -1
  747. package/web-ui/build/static/ichigojam-D6wKvJDb.js +0 -1
  748. package/web-ui/build/static/icon-CrgkmCwl.js +0 -1
  749. package/web-ui/build/static/icu-message-format-Bi2JxCXs.js +0 -1
  750. package/web-ui/build/static/idris-DbUsyZt5.js +0 -1
  751. package/web-ui/build/static/iecst-CQZ9t8fW.js +0 -1
  752. package/web-ui/build/static/ignore-BaFgtNMs.js +0 -1
  753. package/web-ui/build/static/index-DEWSWosh.css +0 -1
  754. package/web-ui/build/static/index-Di1bjCFA.js +0 -13
  755. package/web-ui/build/static/index-otR_WSsL.js +0 -1
  756. package/web-ui/build/static/index-whZPU4as.js +0 -1183
  757. package/web-ui/build/static/inform7-ClyX1Gro.js +0 -1
  758. package/web-ui/build/static/inform7-tZHBS5XP.js +0 -1
  759. package/web-ui/build/static/ini-BrP5JNYL.js +0 -1
  760. package/web-ui/build/static/ini-CVkrAhwV.js +0 -1
  761. package/web-ui/build/static/io-BJ1Y6Bdc.js +0 -1
  762. package/web-ui/build/static/irpf90-fjjcKS_8.js +0 -1
  763. package/web-ui/build/static/isbl-ClpvfUIz.js +0 -1
  764. package/web-ui/build/static/j-CICW77xS.js +0 -1
  765. package/web-ui/build/static/java-B9DFK-0E.js +0 -1
  766. package/web-ui/build/static/java-BL_6rYko.js +0 -1
  767. package/web-ui/build/static/javadoc-Cc4HKpKK.js +0 -1
  768. package/web-ui/build/static/javadoclike-CgNkUDOm.js +0 -1
  769. package/web-ui/build/static/javascript-CM40ZECq.js +0 -1
  770. package/web-ui/build/static/javastacktrace-BHSqXfG5.js +0 -1
  771. package/web-ui/build/static/jboss-cli-Bv5NhVSZ.js +0 -1
  772. package/web-ui/build/static/jexl--Ohk_keA.js +0 -1
  773. package/web-ui/build/static/jolie-DMTN5Vdf.js +0 -1
  774. package/web-ui/build/static/jq-nXRLldXX.js +0 -1
  775. package/web-ui/build/static/js-extras-eLwv3frs.js +0 -1
  776. package/web-ui/build/static/js-templates-Ca0owlrg.js +0 -1
  777. package/web-ui/build/static/jsdoc-KERXp0da.js +0 -1
  778. package/web-ui/build/static/json-BTjLaRsy.js +0 -1
  779. package/web-ui/build/static/json-p7pU0qdW.js +0 -1
  780. package/web-ui/build/static/json5-Cxjy1udc.js +0 -1
  781. package/web-ui/build/static/jsonp-CO52H7Gy.js +0 -1
  782. package/web-ui/build/static/jsstacktrace-8YKfoyJP.js +0 -1
  783. package/web-ui/build/static/jsx-Ct_05KbM.js +0 -1
  784. package/web-ui/build/static/julia-23I1ubCE.js +0 -1
  785. package/web-ui/build/static/julia-d8rVGed_.js +0 -1
  786. package/web-ui/build/static/julia-repl-mwnHedW_.js +0 -1
  787. package/web-ui/build/static/keepalived-E85Rx_fF.js +0 -1
  788. package/web-ui/build/static/keyman-aWd3QUDq.js +0 -1
  789. package/web-ui/build/static/kotlin-Cu370hQq.js +0 -1
  790. package/web-ui/build/static/kotlin-DoJ2WnmZ.js +0 -1
  791. package/web-ui/build/static/kumir-oiOgqcQO.js +0 -1
  792. package/web-ui/build/static/kusto-Bp-B02K5.js +0 -1
  793. package/web-ui/build/static/lasso-BxoQVwOO.js +0 -1
  794. package/web-ui/build/static/latex-CANm5vsX.js +0 -1
  795. package/web-ui/build/static/latex-PMroeNch.js +0 -1
  796. package/web-ui/build/static/latte-2ErU_2XF.js +0 -1
  797. package/web-ui/build/static/ldif-ChPn_F7o.js +0 -1
  798. package/web-ui/build/static/leaf-UkCugDgG.js +0 -1
  799. package/web-ui/build/static/less-CCH5RA89.js +0 -1
  800. package/web-ui/build/static/less-CGZbVU1g.js +0 -1
  801. package/web-ui/build/static/lilypond-BoyM37sv.js +0 -1
  802. package/web-ui/build/static/liquid-DGJVpRBi.js +0 -1
  803. package/web-ui/build/static/lisp-93nne61u.js +0 -1
  804. package/web-ui/build/static/lisp-DYjIRsXz.js +0 -1
  805. package/web-ui/build/static/livecodeserver-CfNaxIE4.js +0 -1
  806. package/web-ui/build/static/livescript-C8kDlQkz.js +0 -1
  807. package/web-ui/build/static/livescript-CoarnRHq.js +0 -1
  808. package/web-ui/build/static/llvm-CBVyNmAh.js +0 -1
  809. package/web-ui/build/static/llvm-DGxq8a7u.js +0 -1
  810. package/web-ui/build/static/log-BivgwFql.js +0 -1
  811. package/web-ui/build/static/lolcode-l5sK2cZz.js +0 -1
  812. package/web-ui/build/static/lsl-Xm44xLRQ.js +0 -1
  813. package/web-ui/build/static/lua-CGvrzfKp.js +0 -1
  814. package/web-ui/build/static/lua-nHwXeY4c.js +0 -1
  815. package/web-ui/build/static/magma-DmNItmna.js +0 -1
  816. package/web-ui/build/static/makefile-CKJNNHGb.js +0 -1
  817. package/web-ui/build/static/makefile-DI6y5Qml.js +0 -1
  818. package/web-ui/build/static/markdown-BgpbxKd-.js +0 -1
  819. package/web-ui/build/static/markdown-CvcxA4yk.js +0 -1
  820. package/web-ui/build/static/markup-templating-DijqesiA.js +0 -1
  821. package/web-ui/build/static/mathematica-Cxll1Q10.js +0 -1
  822. package/web-ui/build/static/matlab-BJo2T1A-.js +0 -1
  823. package/web-ui/build/static/matlab-C6DlZX4l.js +0 -1
  824. package/web-ui/build/static/maxima-DJXO4sbL.js +0 -1
  825. package/web-ui/build/static/maxscript-DdLpUYBs.js +0 -1
  826. package/web-ui/build/static/mel-BIpfnSyZ.js +0 -1
  827. package/web-ui/build/static/mel-BYcTUZJW.js +0 -1
  828. package/web-ui/build/static/mercury-C_LSpbD8.js +0 -1
  829. package/web-ui/build/static/mermaid-D9yBWnrT.js +0 -1
  830. package/web-ui/build/static/mipsasm-nR_K2Ue-.js +0 -1
  831. package/web-ui/build/static/mizar-BeLUPncD.js +0 -1
  832. package/web-ui/build/static/mizar-BesIbZd9.js +0 -1
  833. package/web-ui/build/static/mojolicious-cBx3OWa-.js +0 -1
  834. package/web-ui/build/static/mongodb-DTWKy9ac.js +0 -1
  835. package/web-ui/build/static/monkey-B72bZC3c.js +0 -1
  836. package/web-ui/build/static/monkey-G9XELYPQ.js +0 -1
  837. package/web-ui/build/static/moonscript-BXYVQiqj.js +0 -1
  838. package/web-ui/build/static/moonscript-sDd-5knz.js +0 -1
  839. package/web-ui/build/static/n1ql-0vKSfFAO.js +0 -1
  840. package/web-ui/build/static/n1ql-C9_BSZfz.js +0 -1
  841. package/web-ui/build/static/n4js-B7Ct8dds.js +0 -1
  842. package/web-ui/build/static/nand2tetris-hdl-p9gpphTM.js +0 -1
  843. package/web-ui/build/static/naniscript-6ZVr8Aug.js +0 -1
  844. package/web-ui/build/static/nasm-Ca73yTUt.js +0 -1
  845. package/web-ui/build/static/neon-DNP49oyX.js +0 -1
  846. package/web-ui/build/static/nevod-Qhgt7Bce.js +0 -1
  847. package/web-ui/build/static/nginx-D5e7lu62.js +0 -1
  848. package/web-ui/build/static/nginx-DobnyESB.js +0 -1
  849. package/web-ui/build/static/nim-BPBivUOV.js +0 -1
  850. package/web-ui/build/static/nim-Baoug1Wa.js +0 -1
  851. package/web-ui/build/static/nix-CSPTQs5y.js +0 -1
  852. package/web-ui/build/static/nix-Dk4eNw49.js +0 -1
  853. package/web-ui/build/static/node-repl-NJNL8VFR.js +0 -1
  854. package/web-ui/build/static/nsis-BZ0oMzEw.js +0 -1
  855. package/web-ui/build/static/nsis-CKPCjtCU.js +0 -1
  856. package/web-ui/build/static/objectivec-BkfIRhhV.js +0 -1
  857. package/web-ui/build/static/objectivec-CnQgqhbJ.js +0 -1
  858. package/web-ui/build/static/ocaml-9rGNzRrK.js +0 -1
  859. package/web-ui/build/static/ocaml-CTolCqxL.js +0 -1
  860. package/web-ui/build/static/opencl-9Q3vRDxv.js +0 -1
  861. package/web-ui/build/static/openqasm-D2QiuFBp.js +0 -1
  862. package/web-ui/build/static/openscad-C3HyuzpB.js +0 -1
  863. package/web-ui/build/static/oxygene-4gi-VYy_.js +0 -1
  864. package/web-ui/build/static/oz-BGDEB-1A.js +0 -1
  865. package/web-ui/build/static/parigp-CfZzp1uE.js +0 -1
  866. package/web-ui/build/static/parser-UbGteTcy.js +0 -1
  867. package/web-ui/build/static/parser3-C-Jx-fy7.js +0 -1
  868. package/web-ui/build/static/pascal-D1_R0gW-.js +0 -1
  869. package/web-ui/build/static/pascaligo-B8C-98Np.js +0 -1
  870. package/web-ui/build/static/pcaxis-TGnlUKNs.js +0 -1
  871. package/web-ui/build/static/peoplecode-C5Vf1AH0.js +0 -1
  872. package/web-ui/build/static/perl-CBp1N62T.js +0 -1
  873. package/web-ui/build/static/perl-Z59j904t.js +0 -1
  874. package/web-ui/build/static/pf-Cq8B_xwQ.js +0 -1
  875. package/web-ui/build/static/pgsql-ofJbUHkL.js +0 -1
  876. package/web-ui/build/static/php-OlH7HLQJ.js +0 -1
  877. package/web-ui/build/static/php-extras-GqtrxLuk.js +0 -1
  878. package/web-ui/build/static/php-r09kMDOB.js +0 -1
  879. package/web-ui/build/static/php-template-18uT97Qo.js +0 -1
  880. package/web-ui/build/static/phpdoc-9tRFvup9.js +0 -1
  881. package/web-ui/build/static/plaintext-DsYT6Mu-.js +0 -1
  882. package/web-ui/build/static/plsql-RhWQNJVb.js +0 -1
  883. package/web-ui/build/static/pony-DD6JMLYI.js +0 -1
  884. package/web-ui/build/static/powerquery-CALow-bt.js +0 -1
  885. package/web-ui/build/static/powershell-C2QvIuKF.js +0 -1
  886. package/web-ui/build/static/powershell-yrbJEhCh.js +0 -1
  887. package/web-ui/build/static/processing-1T5w_Q03.js +0 -1
  888. package/web-ui/build/static/processing-DBim_dO-.js +0 -1
  889. package/web-ui/build/static/profile-Cdloh8mZ.js +0 -1
  890. package/web-ui/build/static/prolog-DRSsNnns.js +0 -1
  891. package/web-ui/build/static/prolog-D_ajweDr.js +0 -1
  892. package/web-ui/build/static/promql-BRuwn6Bn.js +0 -1
  893. package/web-ui/build/static/properties-D5Wyl4X4.js +0 -1
  894. package/web-ui/build/static/properties-kn4fl1bl.js +0 -1
  895. package/web-ui/build/static/protobuf-BMO76zWi.js +0 -1
  896. package/web-ui/build/static/protobuf-CTUCF-U-.js +0 -1
  897. package/web-ui/build/static/psl-CiqYdQbY.js +0 -1
  898. package/web-ui/build/static/pug-BLE2Qayj.js +0 -1
  899. package/web-ui/build/static/puppet-CFKLWXft.js +0 -1
  900. package/web-ui/build/static/puppet-DQci0Dl5.js +0 -1
  901. package/web-ui/build/static/pure-D2h_GynV.js +0 -1
  902. package/web-ui/build/static/purebasic-BF8MVw8V.js +0 -1
  903. package/web-ui/build/static/purebasic-BTtHiCkh.js +0 -1
  904. package/web-ui/build/static/purescript-D1ZSh-sH.js +0 -1
  905. package/web-ui/build/static/python-Cp9_Vdhb.js +0 -1
  906. package/web-ui/build/static/python-DdgNw8IW.js +0 -1
  907. package/web-ui/build/static/python-repl-DvK89VMC.js +0 -1
  908. package/web-ui/build/static/q-COaIgwhT.js +0 -1
  909. package/web-ui/build/static/q-Cm0dQkW8.js +0 -1
  910. package/web-ui/build/static/qml-BpsOqqJM.js +0 -1
  911. package/web-ui/build/static/qml-BziQXlU4.js +0 -1
  912. package/web-ui/build/static/qore-Cutz6g-2.js +0 -1
  913. package/web-ui/build/static/qsharp-B16619X1.js +0 -1
  914. package/web-ui/build/static/r-CFUIj5Hd.js +0 -1
  915. package/web-ui/build/static/r-CPrwCi5w.js +0 -1
  916. package/web-ui/build/static/racket-Bh08DFXF.js +0 -1
  917. package/web-ui/build/static/reason-BxjDq4e-.js +0 -1
  918. package/web-ui/build/static/reasonml-Ds5SsGP8.js +0 -1
  919. package/web-ui/build/static/regex-DhBIDIMI.js +0 -1
  920. package/web-ui/build/static/rego-DCwxZXcB.js +0 -1
  921. package/web-ui/build/static/renpy-C2fuQfqb.js +0 -1
  922. package/web-ui/build/static/rest-C52ZpxWQ.js +0 -1
  923. package/web-ui/build/static/rib-Cbl2Mzyj.js +0 -1
  924. package/web-ui/build/static/rip-BTOu5ZIE.js +0 -1
  925. package/web-ui/build/static/roboconf-3Oi2wuVk.js +0 -1
  926. package/web-ui/build/static/roboconf-ndLZLE39.js +0 -1
  927. package/web-ui/build/static/robotframework-BzHXiIj1.js +0 -1
  928. package/web-ui/build/static/routeros-CkpPoqx-.js +0 -1
  929. package/web-ui/build/static/rsl-C0bwOQ38.js +0 -1
  930. package/web-ui/build/static/ruby-C_hIhtuQ.js +0 -1
  931. package/web-ui/build/static/ruby-DvKfZPzj.js +0 -1
  932. package/web-ui/build/static/ruleslanguage-CbZJlddz.js +0 -1
  933. package/web-ui/build/static/rust-BFPIhB-X.js +0 -1
  934. package/web-ui/build/static/rust-sBpUq-qE.js +0 -1
  935. package/web-ui/build/static/sas-BCXvYN9x.js +0 -1
  936. package/web-ui/build/static/sas-D7GAsTY3.js +0 -1
  937. package/web-ui/build/static/sass-BdaErGMN.js +0 -1
  938. package/web-ui/build/static/scala-Cj81oCl9.js +0 -1
  939. package/web-ui/build/static/scala-CvbksfY6.js +0 -1
  940. package/web-ui/build/static/scheme-BM5ZqKnl.js +0 -1
  941. package/web-ui/build/static/scheme-BPvlu9Tk.js +0 -1
  942. package/web-ui/build/static/scilab-CJanLKQN.js +0 -1
  943. package/web-ui/build/static/scss-C53YF_7f.js +0 -1
  944. package/web-ui/build/static/scss-DPp8UZbr.js +0 -1
  945. package/web-ui/build/static/shell-CC9bQXMe.js +0 -1
  946. package/web-ui/build/static/shell-session-CuR3fbf-.js +0 -1
  947. package/web-ui/build/static/smali-CUgLls3D.js +0 -1
  948. package/web-ui/build/static/smali-YODSX8qt.js +0 -1
  949. package/web-ui/build/static/smalltalk-BMJQ4bbs.js +0 -1
  950. package/web-ui/build/static/smalltalk-BVGY3CTl.js +0 -1
  951. package/web-ui/build/static/smarty-C9aNt4-p.js +0 -1
  952. package/web-ui/build/static/sml-C3BIHhfq.js +0 -1
  953. package/web-ui/build/static/sml-DTipyRmY.js +0 -1
  954. package/web-ui/build/static/solidity-1yuPUqoC.js +0 -1
  955. package/web-ui/build/static/solution-file-BgzK4GOU.js +0 -1
  956. package/web-ui/build/static/soy-CFJXRvqc.js +0 -1
  957. package/web-ui/build/static/sparql-CAosYMpl.js +0 -1
  958. package/web-ui/build/static/splunk-spl-DkINtWr8.js +0 -1
  959. package/web-ui/build/static/sqf-DbrWIS2M.js +0 -1
  960. package/web-ui/build/static/sqf-nq8Q9J2W.js +0 -1
  961. package/web-ui/build/static/sql-9bwClhZQ.js +0 -1
  962. package/web-ui/build/static/sql-CqPkY-lX.js +0 -1
  963. package/web-ui/build/static/sql_more-CsY5ts77.js +0 -1
  964. package/web-ui/build/static/squirrel-BuqtzRBD.js +0 -1
  965. package/web-ui/build/static/stan-BNxBSglc.js +0 -1
  966. package/web-ui/build/static/stan-CZVMc34l.js +0 -1
  967. package/web-ui/build/static/stata-DKnVdHCd.js +0 -1
  968. package/web-ui/build/static/step21-Cu_TaBGF.js +0 -1
  969. package/web-ui/build/static/stylus-BS7-OJew.js +0 -1
  970. package/web-ui/build/static/stylus-DtFrp1Nk.js +0 -1
  971. package/web-ui/build/static/subunit-DDCoWkkc.js +0 -1
  972. package/web-ui/build/static/swift-BaguUZbl.js +0 -1
  973. package/web-ui/build/static/swift-mwBsb8Bx.js +0 -1
  974. package/web-ui/build/static/systemd-D6PpyDKk.js +0 -1
  975. package/web-ui/build/static/t4-cs-Cem8g4Ck.js +0 -1
  976. package/web-ui/build/static/t4-templating-BZo-HjmD.js +0 -1
  977. package/web-ui/build/static/t4-vb-B4oVnKa4.js +0 -1
  978. package/web-ui/build/static/taggerscript-DweAZ5pw.js +0 -1
  979. package/web-ui/build/static/tap-DpuvKHHF.js +0 -1
  980. package/web-ui/build/static/tap-hUKmJObZ.js +0 -1
  981. package/web-ui/build/static/tcl-BUvhAi7u.js +0 -1
  982. package/web-ui/build/static/tcl-Dsck63d8.js +0 -1
  983. package/web-ui/build/static/textile-CgKbqJ-j.js +0 -1
  984. package/web-ui/build/static/thrift-B5H6rApp.js +0 -1
  985. package/web-ui/build/static/toml-DggTpfOo.js +0 -1
  986. package/web-ui/build/static/tp-CazB2P2X.js +0 -1
  987. package/web-ui/build/static/tremor-B1jy7S5p.js +0 -1
  988. package/web-ui/build/static/tsx-BqF2lVDi.js +0 -1
  989. package/web-ui/build/static/tt2-BNoNXpEe.js +0 -1
  990. package/web-ui/build/static/turtle-B0evd5mn.js +0 -1
  991. package/web-ui/build/static/twig-B5A7nMdv.js +0 -1
  992. package/web-ui/build/static/twig-DZnLWvh8.js +0 -1
  993. package/web-ui/build/static/typescript-Bbe_P093.js +0 -1
  994. package/web-ui/build/static/typescript-BfhvmSSG.js +0 -1
  995. package/web-ui/build/static/typoscript-BjuZEIgw.js +0 -1
  996. package/web-ui/build/static/unrealscript-C3iUCFRi.js +0 -1
  997. package/web-ui/build/static/uorazor-CbZXwzIj.js +0 -1
  998. package/web-ui/build/static/uri-xMPSnp6m.js +0 -1
  999. package/web-ui/build/static/v-BKcGo5I6.js +0 -1
  1000. package/web-ui/build/static/vala-BRoBE4am.js +0 -1
  1001. package/web-ui/build/static/vala-B__Iyrma.js +0 -1
  1002. package/web-ui/build/static/vbnet-DBxlMRvN.js +0 -1
  1003. package/web-ui/build/static/vbnet-DjAXt5BE.js +0 -1
  1004. package/web-ui/build/static/vbscript-BNA4oANi.js +0 -1
  1005. package/web-ui/build/static/vbscript-html-o8ckLPKG.js +0 -1
  1006. package/web-ui/build/static/velocity-D7sc5ggA.js +0 -1
  1007. package/web-ui/build/static/verilog-BWJfMIng.js +0 -1
  1008. package/web-ui/build/static/verilog-jW2GPC--.js +0 -1
  1009. package/web-ui/build/static/vhdl-BIVlXRPa.js +0 -1
  1010. package/web-ui/build/static/vhdl-BeqdhhxD.js +0 -1
  1011. package/web-ui/build/static/vim-712lI4-g.js +0 -1
  1012. package/web-ui/build/static/vim-DMROTzr0.js +0 -1
  1013. package/web-ui/build/static/visual-basic-CQfbM-ta.js +0 -1
  1014. package/web-ui/build/static/warpscript-DFAvCXFQ.js +0 -1
  1015. package/web-ui/build/static/wasm-CiYoxBl0.js +0 -1
  1016. package/web-ui/build/static/web-idl-DoCkPK8y.js +0 -1
  1017. package/web-ui/build/static/wiki-bvz0AGzB.js +0 -1
  1018. package/web-ui/build/static/wolfram-fBuyFEgU.js +0 -1
  1019. package/web-ui/build/static/wren-DvATFxjF.js +0 -1
  1020. package/web-ui/build/static/x86asm-r4bPbUR_.js +0 -1
  1021. package/web-ui/build/static/xeora-B6iOnDJY.js +0 -1
  1022. package/web-ui/build/static/xl-Ce6B5slc.js +0 -1
  1023. package/web-ui/build/static/xml-DNjyPmhQ.js +0 -1
  1024. package/web-ui/build/static/xml-doc-DydogmZD.js +0 -1
  1025. package/web-ui/build/static/xojo-DCQLltvr.js +0 -1
  1026. package/web-ui/build/static/xquery-C-fAnA0H.js +0 -1
  1027. package/web-ui/build/static/xquery-CNeqzhLO.js +0 -1
  1028. package/web-ui/build/static/yaml-BsVaGsk5.js +0 -1
  1029. package/web-ui/build/static/yaml-kVZvwv_C.js +0 -1
  1030. package/web-ui/build/static/yang-B_gq9JEq.js +0 -1
  1031. package/web-ui/build/static/zephir-ECIXgXhX.js +0 -1
  1032. package/web-ui/build/static/zig-DY325EKG.js +0 -1
@@ -0,0 +1,239 @@
1
+ /**
2
+ * `loxia composio` CLI — flag parsing + subcommand wiring.
3
+ *
4
+ * The CLI uses HTTP against the running server, so a full end-to-end
5
+ * test would need to boot a real server. Instead we unit-test the
6
+ * pieces that don't need a live server:
7
+ * - parseFlags: --json, --user, --args, --open, --help, positional
8
+ * - subcommand handlers: with a stubbed http.request, verify they
9
+ * hit the right URL with the right body and exit codes
10
+ *
11
+ * This catches the regressions that actually matter (broken arg parser,
12
+ * wrong path, missing JSON body) without paying the bootstrap cost.
13
+ */
14
+ import { describe, test, expect, beforeEach, afterEach, jest } from '@jest/globals';
15
+ import { _internal } from '../../bin/composio-cli.js';
16
+
17
+ const { parseFlags, statusDot } = _internal;
18
+
19
+ describe('parseFlags', () => {
20
+ test('captures positional args in order', () => {
21
+ const f = parseFlags(['connect', 'github']);
22
+ expect(f.positional).toEqual(['connect', 'github']);
23
+ });
24
+
25
+ test('--json sets the flag', () => {
26
+ expect(parseFlags(['toolkits', '--json']).json).toBe(true);
27
+ expect(parseFlags(['toolkits']).json).toBe(false);
28
+ });
29
+
30
+ test('--user accepts both --user X and --user=X', () => {
31
+ expect(parseFlags(['status', '--user', 'agent-42']).user).toBe('agent-42');
32
+ expect(parseFlags(['status', '--user=agent-42']).user).toBe('agent-42');
33
+ });
34
+
35
+ test('--args captures the JSON string for exec', () => {
36
+ const f = parseFlags(['exec', 'github', 'X', '--args', '{"per_page":3}']);
37
+ expect(f.args).toBe('{"per_page":3}');
38
+ });
39
+
40
+ test('--open is captured as boolean', () => {
41
+ expect(parseFlags(['connect', 'github', '--open']).open).toBe(true);
42
+ });
43
+
44
+ test('--help and -h both set help', () => {
45
+ expect(parseFlags(['--help']).help).toBe(true);
46
+ expect(parseFlags(['-h']).help).toBe(true);
47
+ });
48
+
49
+ test('unrecognised flags fall through to positional', () => {
50
+ // We don't whitelist; unknown flags survive in positional so the
51
+ // caller can decide what to do. (Defensive — protects against typos
52
+ // becoming silent no-ops.)
53
+ const f = parseFlags(['exec', 'gh', 'X', '--unknown']);
54
+ expect(f.positional).toContain('--unknown');
55
+ });
56
+ });
57
+
58
+ describe('statusDot', () => {
59
+ test('returns a coloured/raw character per status', () => {
60
+ // We don't assert on the exact ANSI codes (depends on TTY), but
61
+ // every variant produces a non-empty string.
62
+ for (const s of ['ACTIVE', 'INITIATED', 'FAILED', 'NOT_CONNECTED', null]) {
63
+ const dot = statusDot(s);
64
+ expect(typeof dot).toBe('string');
65
+ expect(dot.length).toBeGreaterThan(0);
66
+ }
67
+ });
68
+ });
69
+
70
+ /* ---------------- Subcommand handlers (stubbed http) ---------------- */
71
+
72
+ function makeDeps(routes) {
73
+ // Each route entry: { match: regex|string, method, response }
74
+ const http = {
75
+ request: jest.fn((url, opts, cb) => {
76
+ const u = new URL(url);
77
+ const route = routes.find(r => {
78
+ const m = r.match instanceof RegExp ? r.match.test(u.pathname) : u.pathname === r.match;
79
+ return m && (!r.method || r.method === opts.method);
80
+ });
81
+ const body = route ? route.response : { success: false, error: `unmatched ${opts.method} ${u.pathname}` };
82
+ const res = {
83
+ statusCode: route ? (route.status || 200) : 404,
84
+ on(evt, fn) {
85
+ if (evt === 'data') fn(JSON.stringify(body));
86
+ if (evt === 'end') fn();
87
+ },
88
+ };
89
+ setImmediate(() => cb(res));
90
+ return { on: () => {}, write: () => {}, end: () => {}, setTimeout: () => {}, destroy: () => {} };
91
+ }),
92
+ };
93
+ return {
94
+ http,
95
+ backend: { host: '127.0.0.1', port: 12345 },
96
+ args: [],
97
+ };
98
+ }
99
+
100
+ describe('cmdToolkits', () => {
101
+ test('hits GET /api/composio/toolkits and prints rows', async () => {
102
+ const deps = makeDeps([{ match: '/api/composio/toolkits', method: 'GET', response: { success: true, toolkits: [{ slug: 'github', name: 'GitHub' }] } }]);
103
+ const logSpy = jest.spyOn(console, 'log').mockImplementation(() => {});
104
+ try {
105
+ await _internal.cmdToolkits(deps, { json: false, positional: ['toolkits'] });
106
+ expect(deps.http.request).toHaveBeenCalled();
107
+ const calls = logSpy.mock.calls.flat().join('\n');
108
+ expect(calls).toMatch(/github/);
109
+ expect(calls).toMatch(/GitHub/);
110
+ } finally {
111
+ logSpy.mockRestore();
112
+ }
113
+ });
114
+
115
+ test('--json emits the raw response', async () => {
116
+ const deps = makeDeps([{ match: '/api/composio/toolkits', method: 'GET', response: { success: true, toolkits: [] } }]);
117
+ const logSpy = jest.spyOn(console, 'log').mockImplementation(() => {});
118
+ try {
119
+ await _internal.cmdToolkits(deps, { json: true, positional: ['toolkits'] });
120
+ const out = logSpy.mock.calls.flat().join('\n');
121
+ expect(out).toMatch(/"success": true/);
122
+ } finally {
123
+ logSpy.mockRestore();
124
+ }
125
+ });
126
+ });
127
+
128
+ describe('cmdConnections', () => {
129
+ test('forwards userId in the query string', async () => {
130
+ const deps = makeDeps([{
131
+ match: /^\/api\/composio\/connections/,
132
+ method: 'GET',
133
+ response: { success: true, connections: [{ id: 'conn-1', toolkitSlug: 'github', status: 'ACTIVE' }] },
134
+ }]);
135
+ const logSpy = jest.spyOn(console, 'log').mockImplementation(() => {});
136
+ try {
137
+ await _internal.cmdConnections(deps, { json: false, user: 'agent-99', positional: ['connections'] });
138
+ const url = deps.http.request.mock.calls[0][0];
139
+ expect(url).toMatch(/userId=agent-99/);
140
+ } finally {
141
+ logSpy.mockRestore();
142
+ }
143
+ });
144
+ });
145
+
146
+ describe('cmdConnect', () => {
147
+ test('POSTs to /api/composio/connect with body { toolkitSlug, userId }', async () => {
148
+ const deps = makeDeps([{
149
+ match: '/api/composio/connect',
150
+ method: 'POST',
151
+ response: { success: true, connectLink: 'https://connect.composio.dev/link/x', connectionId: 'conn-1' },
152
+ }]);
153
+ const logSpy = jest.spyOn(console, 'log').mockImplementation(() => {});
154
+ try {
155
+ await _internal.cmdConnect(deps, { json: false, positional: ['connect', 'github'], user: 'operator' });
156
+ // Verify the body was JSON.stringified into write() — we get the
157
+ // call args via deps.http.request itself (we wrote {} body above
158
+ // but the real write happens on the returned req object).
159
+ const out = logSpy.mock.calls.flat().join('\n');
160
+ expect(out).toMatch(/Connect github/);
161
+ expect(out).toMatch(/connect\.composio\.dev/);
162
+ } finally {
163
+ logSpy.mockRestore();
164
+ }
165
+ });
166
+ });
167
+
168
+ describe('cmdDisconnect', () => {
169
+ test('routes UUID-style id to DELETE by-id', async () => {
170
+ const deps = makeDeps([{
171
+ match: /^\/api\/composio\/connections\/conn-abc-def-123-456/,
172
+ method: 'DELETE',
173
+ response: { success: true },
174
+ }]);
175
+ const logSpy = jest.spyOn(console, 'log').mockImplementation(() => {});
176
+ try {
177
+ await _internal.cmdDisconnect(deps, { json: false, positional: ['disconnect', 'conn-abc-def-123-456'] });
178
+ const url = deps.http.request.mock.calls[0][0];
179
+ expect(url).toMatch(/conn-abc-def-123-456/);
180
+ } finally {
181
+ logSpy.mockRestore();
182
+ }
183
+ });
184
+
185
+ test('routes short slug to DELETE by-toolkit', async () => {
186
+ const deps = makeDeps([{
187
+ match: /^\/api\/composio\/connections\/by-toolkit/,
188
+ method: 'DELETE',
189
+ response: { success: true },
190
+ }]);
191
+ const logSpy = jest.spyOn(console, 'log').mockImplementation(() => {});
192
+ try {
193
+ await _internal.cmdDisconnect(deps, { json: false, positional: ['disconnect', 'github'], user: 'operator' });
194
+ const url = deps.http.request.mock.calls[0][0];
195
+ expect(url).toMatch(/by-toolkit/);
196
+ } finally {
197
+ logSpy.mockRestore();
198
+ }
199
+ });
200
+ });
201
+
202
+ describe('cmdExec', () => {
203
+ test('parses --args as JSON and forwards', async () => {
204
+ const deps = makeDeps([{
205
+ match: '/api/composio/execute',
206
+ method: 'POST',
207
+ response: { success: true, output: { ok: 1 } },
208
+ }]);
209
+ const logSpy = jest.spyOn(console, 'log').mockImplementation(() => {});
210
+ try {
211
+ await _internal.cmdExec(deps, {
212
+ json: false,
213
+ positional: ['exec', 'github', 'X'],
214
+ args: '{"per_page":3}',
215
+ user: 'operator',
216
+ });
217
+ const out = logSpy.mock.calls.flat().join('\n');
218
+ expect(out).toMatch(/X/);
219
+ expect(out).toMatch(/ok/);
220
+ } finally {
221
+ logSpy.mockRestore();
222
+ }
223
+ });
224
+
225
+ test('invalid --args JSON exits with helpful error', async () => {
226
+ const deps = makeDeps([]);
227
+ const errSpy = jest.spyOn(console, 'error').mockImplementation(() => {});
228
+ const exitSpy = jest.spyOn(process, 'exit').mockImplementation(() => { throw new Error('__exit__'); });
229
+ try {
230
+ await expect(_internal.cmdExec(deps, {
231
+ json: false, positional: ['exec', 'gh', 'X'], args: '{not-json',
232
+ })).rejects.toThrow('__exit__');
233
+ expect(errSpy.mock.calls.flat().join('\n')).toMatch(/Invalid --args/);
234
+ } finally {
235
+ errSpy.mockRestore();
236
+ exitSpy.mockRestore();
237
+ }
238
+ });
239
+ });
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Contract tests for the `## CODEBASE KNOWLEDGE` injection in
3
+ * agentScheduler. Like the sibling tests for task-list and operating-
4
+ * posture, we source-grep rather than instantiating the heavy
5
+ * scheduler graph — the contract is: the injection block exists, sits
6
+ * in the right place, sources from the singleton service, and is
7
+ * wrapped in a graceful-degrade try/catch.
8
+ */
9
+ import { describe, test, expect } from '@jest/globals';
10
+ import { readFileSync } from 'fs';
11
+ import { fileURLToPath } from 'url';
12
+ import { dirname, join } from 'path';
13
+
14
+ const __dirname = dirname(fileURLToPath(import.meta.url));
15
+ const SRC = readFileSync(join(__dirname, '../agentScheduler.js'), 'utf-8');
16
+
17
+ describe('agentScheduler — CODEBASE KNOWLEDGE injection', () => {
18
+ test('source contains the injection block', () => {
19
+ expect(SRC).toMatch(/Auto-inject CODEBASE KNOWLEDGE/);
20
+ });
21
+
22
+ test('injection sources from codebaseKnowledgeService singleton', () => {
23
+ expect(SRC).toMatch(/codebaseKnowledgeService/);
24
+ expect(SRC).toMatch(/getCodebaseKnowledgeService/);
25
+ expect(SRC).toMatch(/buildIndexBlock\(agentId\)/);
26
+ });
27
+
28
+ test('injection follows the CURRENT TASK LIST block (stable ordering for prompt cache)', () => {
29
+ const taskIdx = SRC.indexOf('CURRENT TASK LIST');
30
+ const cbIdx = SRC.indexOf('CODEBASE KNOWLEDGE');
31
+ expect(taskIdx).toBeGreaterThan(-1);
32
+ expect(cbIdx).toBeGreaterThan(-1);
33
+ expect(cbIdx).toBeGreaterThan(taskIdx);
34
+ });
35
+
36
+ test('graceful degrade: wrapped in try/catch with a `continuing without` warning', () => {
37
+ const block = SRC.slice(
38
+ SRC.indexOf('Auto-inject CODEBASE KNOWLEDGE'),
39
+ SRC.indexOf('Check if streaming is enabled'),
40
+ );
41
+ expect(block).toMatch(/try\s*\{/);
42
+ expect(block).toMatch(/catch\s*\(/);
43
+ expect(block).toMatch(/continuing without/);
44
+ });
45
+
46
+ test('REGRESSION: injection is GATED on the agent having code-map in capabilities', () => {
47
+ // Non-coder agents (chat-only, marketing agents, etc.) must not
48
+ // pay the per-turn service-lookup cost. The cache is only
49
+ // populated by code-map results — agents without code-map have
50
+ // nothing to surface.
51
+ const block = SRC.slice(
52
+ SRC.indexOf('Auto-inject CODEBASE KNOWLEDGE'),
53
+ SRC.indexOf('Check if streaming is enabled'),
54
+ );
55
+ // Must check capabilities for 'code-map' before doing anything.
56
+ expect(block).toMatch(/agent\.capabilities/);
57
+ expect(block).toMatch(/includes\(['"]code-map['"]\)/);
58
+ // The whole try-block should sit INSIDE that conditional, not
59
+ // outside it (otherwise the gate doesn't actually skip the work).
60
+ const guardIdx = block.indexOf('includes(\'code-map\')');
61
+ const tryIdx = block.indexOf('try {');
62
+ expect(guardIdx).toBeGreaterThan(-1);
63
+ expect(tryIdx).toBeGreaterThan(guardIdx);
64
+ });
65
+ });
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Contract tests for the `## AGENT MEMORY` catalog injection and
3
+ * post-compaction nudge inside agentScheduler. We source-grep — the
4
+ * contracts are:
5
+ * - The catalog injection block exists, is gated on the `memory`
6
+ * capability, calls memoryService.getCatalog, lists `id title`
7
+ * compactly, and is wrapped in try/catch.
8
+ * - The post-compaction nudge is a one-shot flag-driven block
9
+ * keyed off `_postCompactionNudgePending`, and the flag is set
10
+ * after the compaction step succeeds.
11
+ */
12
+ import { describe, test, expect } from '@jest/globals';
13
+ import { readFileSync } from 'fs';
14
+ import { fileURLToPath } from 'url';
15
+ import { dirname, join } from 'path';
16
+
17
+ const __dirname = dirname(fileURLToPath(import.meta.url));
18
+ const SRC = readFileSync(join(__dirname, '../agentScheduler.js'), 'utf-8');
19
+
20
+ describe('agentScheduler — AGENT MEMORY catalog injection', () => {
21
+ test('source contains the AGENT MEMORY catalog injection header', () => {
22
+ expect(SRC).toMatch(/AGENT MEMORY \(catalog/);
23
+ });
24
+
25
+ test('injection sources from memoryService.getCatalog', () => {
26
+ expect(SRC).toMatch(/getMemoryService/);
27
+ expect(SRC).toMatch(/getCatalog\(agentId/);
28
+ });
29
+
30
+ test('injection is gated on the `memory` capability', () => {
31
+ const start = SRC.indexOf('Auto-inject AGENT MEMORY');
32
+ const block = SRC.slice(start, start + 1500);
33
+ expect(block).toMatch(/capabilities\.includes\(['"]memory['"]\)/);
34
+ });
35
+
36
+ test('injection follows the CODEBASE KNOWLEDGE block (stable ordering for prompt cache)', () => {
37
+ const cbIdx = SRC.indexOf('Auto-inject CODEBASE KNOWLEDGE');
38
+ const memIdx = SRC.indexOf('Auto-inject AGENT MEMORY');
39
+ expect(cbIdx).toBeGreaterThan(-1);
40
+ expect(memIdx).toBeGreaterThan(-1);
41
+ expect(memIdx).toBeGreaterThan(cbIdx);
42
+ });
43
+
44
+ test('graceful degrade: wrapped in try/catch', () => {
45
+ const start = SRC.indexOf('AGENT MEMORY');
46
+ const block = SRC.slice(Math.max(0, start - 600), start + 800);
47
+ expect(block).toMatch(/try\s*\{/);
48
+ expect(block).toMatch(/catch\s*\(/);
49
+ });
50
+ });
51
+
52
+ describe('agentScheduler — POST-COMPACTION NUDGE', () => {
53
+ test('source contains the POST-COMPACTION NUDGE block', () => {
54
+ expect(SRC).toMatch(/POST-COMPACTION NUDGE/);
55
+ });
56
+
57
+ test('nudge is driven by the _postCompactionNudgePending flag (one-shot)', () => {
58
+ expect(SRC).toMatch(/_postCompactionNudgePending/);
59
+ const block = SRC.slice(
60
+ SRC.indexOf('POST-COMPACTION NUDGE') - 200,
61
+ SRC.indexOf('POST-COMPACTION NUDGE') + 600,
62
+ );
63
+ // The flag is consumed (set false) after emission.
64
+ expect(block).toMatch(/_postCompactionNudgePending\s*=\s*false/);
65
+ });
66
+
67
+ test('the flag is set after the compaction step', () => {
68
+ // Look for a place that flips the flag to true (not false).
69
+ expect(SRC).toMatch(/_postCompactionNudgePending\s*=\s*true/);
70
+ });
71
+
72
+ test('nudge references AGENT MEMORY so the agent knows where to look', () => {
73
+ const start = SRC.indexOf('POST-COMPACTION NUDGE');
74
+ const block = SRC.slice(start, start + 1200);
75
+ expect(block).toMatch(/AGENT MEMORY/);
76
+ expect(block).toMatch(/memory read/);
77
+ });
78
+ });
@@ -889,6 +889,16 @@ class AgentPool {
889
889
  }
890
890
  }
891
891
 
892
+ // Clear codebase-knowledge cache for this agent — bytes live in
893
+ // the service's in-memory map; without this the per-agent entry
894
+ // would persist until the next process restart.
895
+ try {
896
+ const { getCodebaseKnowledgeService } = await import('../services/codebaseKnowledgeService.js');
897
+ getCodebaseKnowledgeService(this.logger).clear(agentId);
898
+ } catch (e) {
899
+ this.logger.debug?.('codebase-knowledge clear failed on agent delete', { agentId, error: e.message });
900
+ }
901
+
892
902
  // Clean up visual editor instance
893
903
  try {
894
904
  const visualEditorBridge = getVisualEditorBridge();
@@ -1638,6 +1638,16 @@ class AgentScheduler {
1638
1638
  // Update AgentPool with compacted messages — pass pre-compaction watermark
1639
1639
  await this.agentPool.updateCompactedMessages(agentId, targetModel, compactionResult, preCompactionMessageCount);
1640
1640
 
1641
+ // Mark a one-shot post-compaction nudge for the next turn. The
1642
+ // agentScheduler reads this on the next prompt-build to emit a
1643
+ // "consult AGENT MEMORY for context that may have been summarized
1644
+ // away" reminder, then clears the flag. Best-effort — never
1645
+ // block the rest of the compaction completion.
1646
+ try {
1647
+ const agent = await this.agentPool.getAgent(agentId);
1648
+ if (agent) agent._postCompactionNudgePending = true;
1649
+ } catch (_) { /* swallow — non-essential */ }
1650
+
1641
1651
  if (ENABLE_COMPACT_DEBUG) {
1642
1652
  console.log('[COMPACT-COMPLETED]', {
1643
1653
  agentId,
@@ -2147,6 +2157,87 @@ class AgentScheduler {
2147
2157
  });
2148
2158
  }
2149
2159
 
2160
+ // ── Auto-inject CODEBASE KNOWLEDGE index every turn ─────────────
2161
+ // Production observation (Monopoly mission, May 2026): 22 code-map
2162
+ // skeleton calls on the SAME file, 80% of those re-calls happened
2163
+ // while the original tool result was still in the agent's active
2164
+ // context — the agent simply didn't notice. A salient index at a
2165
+ // stable system-prompt location addresses this attention failure.
2166
+ // The index also survives compaction, addressing the 20% of
2167
+ // re-calls that occur after compaction. See
2168
+ // services/codebaseKnowledgeService.js for the full design.
2169
+ //
2170
+ // Capability gate: only runs for agents that have code-map in
2171
+ // their capabilities. The cache is only populated by code-map
2172
+ // calls today, so non-coder agents would never have anything to
2173
+ // surface — no point paying the per-turn lookup overhead.
2174
+ if (Array.isArray(agent.capabilities) && agent.capabilities.includes('code-map')) {
2175
+ try {
2176
+ const { getCodebaseKnowledgeService } = await import('../services/codebaseKnowledgeService.js');
2177
+ const ks = getCodebaseKnowledgeService(this.logger);
2178
+ const block = ks.buildIndexBlock(agentId);
2179
+ if (block) enhancedSystemPrompt = (enhancedSystemPrompt || '') + block;
2180
+ } catch (ksErr) {
2181
+ this.logger.warn(`Codebase-knowledge injection failed for agent ${agentId} (continuing without)`, {
2182
+ error: ksErr?.message,
2183
+ });
2184
+ }
2185
+ }
2186
+
2187
+ // ── Auto-inject AGENT MEMORY catalog every turn ─────────────────
2188
+ // Compact list of memory IDs + titles (no contents) so the agent
2189
+ // KNOWS what's in its memory store without paying the prompt-token
2190
+ // cost of injecting full contents. Production observation
2191
+ // (Monopoly mission, 1556 messages): 0 memory operations all
2192
+ // session — the agent never consulted memories that existed.
2193
+ // Visibility-only injection: agent can call `memory read` if a
2194
+ // catalog entry looks relevant. Empirical wording verified safe
2195
+ // (no in-context-learning bait) by the same harness that caught
2196
+ // the codebase-knowledge regression earlier.
2197
+ //
2198
+ // Capability gate: only inject when the agent has memory in its
2199
+ // capability set — agents that can't read/write memory would just
2200
+ // be confused by the section.
2201
+ if (Array.isArray(agent.capabilities) && agent.capabilities.includes('memory')) {
2202
+ try {
2203
+ const { getMemoryService } = await import('../services/memoryService.js');
2204
+ const mem = getMemoryService(this.logger);
2205
+ await mem.initialize();
2206
+ const catalog = await mem.getCatalog(agentId, 20);
2207
+ if (catalog && catalog.entries && catalog.entries.length > 0) {
2208
+ const lines = ['', '## AGENT MEMORY (catalog — ids and titles only; use `memory read` for content)', ''];
2209
+ for (const e of catalog.entries) {
2210
+ const desc = e.description ? ` "${e.description}"` : '';
2211
+ lines.push(`- ${e.id} ${e.title}${desc}`);
2212
+ }
2213
+ if (catalog.total > catalog.entries.length) {
2214
+ lines.push(`- … ${catalog.total - catalog.entries.length} more (use \`memory list\` to see all)`);
2215
+ }
2216
+ enhancedSystemPrompt = (enhancedSystemPrompt || '') + lines.join('\n');
2217
+ }
2218
+ } catch (memErr) {
2219
+ this.logger.warn(`Memory catalog injection failed for agent ${agentId} (continuing without)`, {
2220
+ error: memErr?.message,
2221
+ });
2222
+ }
2223
+ }
2224
+
2225
+ // ── Post-compaction nudge (one-shot) ────────────────────────────
2226
+ // When compaction has just run, the agent has lost a chunk of
2227
+ // recent history. This is the highest-value moment to consult
2228
+ // memory — older context may have been summarized away but
2229
+ // memories remain. Emit a single nudge then clear the flag.
2230
+ if (agent._postCompactionNudgePending) {
2231
+ const nudge = '\n\n## POST-COMPACTION NUDGE (one-time)\n\n' +
2232
+ 'Compaction just summarized older messages. If your current work continues from before the compaction boundary, ' +
2233
+ 'scan the `## AGENT MEMORY` catalog above — older context that was summarized may still be available as a memory ' +
2234
+ 'you can `memory read` by id.';
2235
+ enhancedSystemPrompt = (enhancedSystemPrompt || '') + nudge;
2236
+ try {
2237
+ agent._postCompactionNudgePending = false;
2238
+ } catch (_) { /* read-only proxy edge case */ }
2239
+ }
2240
+
2150
2241
  // Check if streaming is enabled - consider both agent config and user message preference
2151
2242
  // Get the last user message to check for streaming preference
2152
2243
  const lastUserMsg = [...conversationHistory].reverse().find(m => m.role === 'user');
package/src/index.js CHANGED
@@ -25,7 +25,7 @@ import ErrorHandler from './services/errorHandler.js';
25
25
  import BenchmarkService from './services/benchmarkService.js';
26
26
  import ModelRouterService from './services/modelRouterService.js';
27
27
  import ModelsService from './services/modelsService.js';
28
- import ApiKeyManager from './services/apiKeyManager.js';
28
+ import ApiKeyManager, { registerApiKeyManager } from './services/apiKeyManager.js';
29
29
  import { getCredentialVault } from './services/credentialVault.js';
30
30
  import FileAttachmentService from './services/fileAttachmentService.js';
31
31
  import { ToolsRegistry } from './tools/baseTool.js';
@@ -51,7 +51,9 @@ import PdfTool from './tools/pdfTool.js';
51
51
  import HelpTool from './tools/helpTool.js';
52
52
  import DocxTool from './tools/docxTool.js';
53
53
  import ExcelTool from './tools/excelTool.js';
54
+ import OfficeTool from './tools/officeTool.js';
54
55
  import MemoryTool from './tools/memoryTool.js';
56
+ import ComposioTool from './tools/composioTool.js';
55
57
  import SkillsTool from './tools/skillsTool.js';
56
58
  import VisionTool from './tools/visionTool.js';
57
59
  import UserPromptTool from './tools/userPromptTool.js';
@@ -275,6 +277,9 @@ class LoxiaApplication {
275
277
  // API Key Manager
276
278
  this.apiKeyManager = new ApiKeyManager(this.logger);
277
279
  await this.apiKeyManager.initialize(); // Load persisted keys
280
+ // Register the singleton so cross-cutting services (composioService,
281
+ // etc.) can resolve vendor keys without explicit injection.
282
+ registerApiKeyManager(this.apiKeyManager);
278
283
 
279
284
  // Credential Vault for secure website credential management
280
285
  this.credentialVault = getCredentialVault(this.logger);
@@ -486,17 +491,28 @@ class LoxiaApplication {
486
491
  // Register Help Tool (two-layer tool description system)
487
492
  await this.toolsRegistry.registerTool(HelpTool);
488
493
 
489
- // Register Document (DOCX) Tool
494
+ // Register Document (DOCX) Tool — legacy; superseded by OfficeTool.
495
+ // Kept for one release cycle so existing agent configs that reference
496
+ // toolId "doc" continue to work.
490
497
  await this.toolsRegistry.registerTool(DocxTool);
491
498
 
492
- // Register Spreadsheet (Excel) Tool
499
+ // Register Spreadsheet (Excel) Tool — legacy; superseded by OfficeTool.
493
500
  await this.toolsRegistry.registerTool(ExcelTool);
494
501
 
502
+ // Register Office Tool — consolidated doc/sheet/pres surface
503
+ // (Word + Excel + PowerPoint create/read).
504
+ await this.toolsRegistry.registerTool(OfficeTool);
505
+
495
506
  // Register Memory Tool
496
507
  await this.toolsRegistry.registerTool(MemoryTool);
497
508
  await this.toolsRegistry.registerTool(SkillsTool);
498
509
  await this.toolsRegistry.registerTool(VisionTool);
499
510
 
511
+ // Register Composio integration tool (off by default — agents
512
+ // must have the `composio` capability AND the operator must set
513
+ // COMPOSIO_API_KEY for it to do anything).
514
+ await this.toolsRegistry.registerTool(ComposioTool);
515
+
500
516
  // Register User Prompt Tool
501
517
  await this.toolsRegistry.registerTool(UserPromptTool);
502
518