onbuzz 4.8.3 → 4.9.1
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.
- package/bin/cli.js +27 -1
- package/bin/composio-cli.js +431 -0
- package/package.json +1 -1
- package/scripts/build-onboarding-doc.cjs +805 -0
- package/scripts/composio-bench/README.md +151 -0
- package/scripts/memory-bench/bench.mjs +576 -0
- package/scripts/memory-bench/live-after-2026-05-21T16-20-52-767Z.json +150 -0
- package/scripts/memory-bench/live-after-2026-05-21T16-37-17-147Z.json +795 -0
- package/scripts/memory-bench/live-after-final-2026-05-21T17-16-02-947Z.json +766 -0
- package/scripts/memory-bench/live-after-v2-2026-05-21T16-52-26-833Z.json +890 -0
- package/scripts/memory-bench/live-after-v3-2026-05-21T17-05-40-622Z.json +955 -0
- package/scripts/memory-bench/live-probe-v2.mjs +412 -0
- package/scripts/memory-bench/live-probe.mjs +387 -0
- package/scripts/memory-bench/live-smoke-2026-05-21T16-22-35-945Z.json +36 -0
- package/scripts/memory-bench/live-smoke2-2026-05-21T16-24-14-095Z.json +36 -0
- package/scripts/memory-bench/live-smoke3-2026-05-21T16-26-54-093Z.json +123 -0
- package/scripts/memory-bench/live-v2-baseline-2026-05-23T22-43-20-757Z.json +628 -0
- package/scripts/memory-bench/live-v2-directive-2026-05-23T21-32-41-369Z.json +628 -0
- package/scripts/memory-bench/live-v2-smoke-2026-05-23T20-06-37-325Z.json +34 -0
- package/scripts/memory-bench/live-v2-smoke-2026-05-23T20-12-48-199Z.json +38 -0
- package/scripts/memory-bench/results-baseline-2026-05-19T11-23-12-245Z.json +39 -0
- package/scripts/memory-bench/results-baseline-2026-05-19T11-30-28-763Z.json +1024 -0
- package/scripts/memory-bench/results-baseline-2026-05-19T11-34-19-299Z.json +1007 -0
- package/scripts/memory-bench/results-baseline-2026-05-19T11-44-18-054Z.json +1432 -0
- package/scripts/memory-bench/results-nudge-combined-2026-05-19T12-00-37-465Z.json +1413 -0
- package/scripts/memory-bench/results-nudge-directive-2026-05-19T11-36-52-963Z.json +210 -0
- package/scripts/memory-bench/results-nudge-directive-2026-05-19T11-49-55-790Z.json +1464 -0
- package/scripts/memory-bench/results-nudge-echo-catalog-2026-05-19T11-39-01-829Z.json +232 -0
- package/scripts/memory-bench/results-nudge-echo-catalog-2026-05-19T11-55-12-705Z.json +1397 -0
- package/scripts/memory-bench/scenarios-v2.mjs +123 -0
- package/scripts/memory-bench/scenarios.mjs +178 -0
- package/scripts/office-bench/generate-samples.mjs +180 -0
- package/scripts/op-posture-bench/bench.mjs +397 -0
- package/scripts/op-posture-bench/probe.mjs +87 -0
- package/scripts/op-posture-bench/results-2026-05-18T20-29-13-941Z.json +57 -0
- package/scripts/op-posture-bench/results-2026-05-18T20-38-36-400Z.json +3071 -0
- package/scripts/op-posture-bench/scenarios.mjs +60 -0
- package/scripts/op-posture-bench/variants.mjs +68 -0
- package/scripts/stub-bench/bench.mjs +439 -0
- package/scripts/stub-bench/fixture/auth.js +41 -0
- package/scripts/stub-bench/results-2026-05-19T10-33-27-045Z.json +99 -0
- package/scripts/stub-bench/results-2026-05-19T10-35-08-240Z.json +920 -0
- package/scripts/stub-bench/results-2026-05-19T10-40-12-166Z.json +463 -0
- package/scripts/verify/azure-custom-embeddings.mjs +152 -0
- package/scripts/verify/azure-embeddings.mjs +146 -0
- package/scripts/verify/composio-toolkits.mjs +453 -0
- package/scripts/verify/local-embeddings.mjs +171 -0
- package/scripts/verify/openai-embeddings.mjs +140 -0
- package/src/__tests__/composioCliFlags.test.js +239 -0
- package/src/core/__tests__/agentScheduler.autoRecall.test.js +215 -0
- package/src/core/__tests__/agentScheduler.codebaseKnowledge.test.js +65 -0
- package/src/core/__tests__/agentScheduler.errorCategorisation.test.js +169 -0
- package/src/core/__tests__/agentScheduler.memoryInjection.test.js +78 -0
- package/src/core/agentPool.js +10 -0
- package/src/core/agentScheduler.js +273 -36
- package/src/index.js +82 -4
- package/src/interfaces/__tests__/bulkAgentRoute.test.js +290 -0
- package/src/interfaces/__tests__/composioRoutes.test.js +318 -0
- package/src/interfaces/webServer.js +436 -2
- package/src/interfaces/webServer.js.bak +7047 -0
- package/src/services/__tests__/aiService.core.test.js +420 -0
- package/src/services/__tests__/aiService.embed.test.js +172 -0
- package/src/services/__tests__/apiKeyManager.getEmbeddingApiKey.test.js +86 -0
- package/src/services/__tests__/codeMapStubRenderer.test.js +207 -0
- package/src/services/__tests__/codebaseKnowledgeService.test.js +427 -0
- package/src/services/__tests__/composioService.test.js +714 -0
- package/src/services/__tests__/memoryService.appendAndCatalog.test.js +139 -0
- package/src/services/__tests__/telegramService.test.js +91 -0
- package/src/services/aiService.js +137 -0
- package/src/services/apiKeyManager.js +61 -0
- package/src/services/codeMapStubRenderer.js +142 -0
- package/src/services/codebaseKnowledgeService.js +430 -0
- package/src/services/composioService.js +729 -0
- package/src/services/embeddings/__tests__/autoRecall.test.js +237 -0
- package/src/services/embeddings/__tests__/azureCustomProvider.test.js +232 -0
- package/src/services/embeddings/__tests__/cloudProviders.test.js +339 -0
- package/src/services/embeddings/__tests__/embeddingService.test.js +417 -0
- package/src/services/embeddings/__tests__/embeddingsConfig.test.js +182 -0
- package/src/services/embeddings/__tests__/inMemoryJsonStore.test.js +207 -0
- package/src/services/embeddings/__tests__/localProvider.test.js +263 -0
- package/src/services/embeddings/__tests__/providerInterface.test.js +209 -0
- package/src/services/embeddings/autoRecall.js +219 -0
- package/src/services/embeddings/embeddingService.js +452 -0
- package/src/services/embeddings/embeddingsConfig.js +203 -0
- package/src/services/embeddings/indexers/__tests__/agentIndexer.test.js +232 -0
- package/src/services/embeddings/indexers/__tests__/composioIndexer.test.js +265 -0
- package/src/services/embeddings/indexers/__tests__/memoryIndexer.test.js +418 -0
- package/src/services/embeddings/indexers/__tests__/reminisceIndexer.test.js +357 -0
- package/src/services/embeddings/indexers/__tests__/skillsIndexer.test.js +145 -0
- package/src/services/embeddings/indexers/__tests__/taskIndexer.test.js +146 -0
- package/src/services/embeddings/indexers/agentIndexer.js +249 -0
- package/src/services/embeddings/indexers/composioIndexer.js +279 -0
- package/src/services/embeddings/indexers/memoryIndexer.js +358 -0
- package/src/services/embeddings/indexers/reminisceIndexer.js +370 -0
- package/src/services/embeddings/indexers/skillsIndexer.js +154 -0
- package/src/services/embeddings/indexers/taskIndexer.js +155 -0
- package/src/services/embeddings/providerInterface.js +206 -0
- package/src/services/embeddings/providers/azureCustomProvider.js +154 -0
- package/src/services/embeddings/providers/azureProvider.js +122 -0
- package/src/services/embeddings/providers/cloudHttpTransport.js +205 -0
- package/src/services/embeddings/providers/localProvider.js +287 -0
- package/src/services/embeddings/providers/openaiProvider.js +101 -0
- package/src/services/embeddings/utilities/__tests__/textChunker.test.js +217 -0
- package/src/services/embeddings/utilities/textChunker.js +290 -0
- package/src/services/embeddings/vectorStore/__tests__/scoring.test.js +189 -0
- package/src/services/embeddings/vectorStore/inMemoryJsonStore.js +356 -0
- package/src/services/embeddings/vectorStore/scoring.js +128 -0
- package/src/services/embeddings/vectorStore/storeContractTests.js +179 -0
- package/src/services/embeddings/vectorStore/storeInterface.js +91 -0
- package/src/services/memoryService.js +98 -0
- package/src/services/telegramService.js +140 -1
- package/src/tools/__tests__/agentCommunicationTool.findAgent.test.js +226 -0
- package/src/tools/__tests__/agentCommunicationTool.test.js +17 -2
- package/src/tools/__tests__/baseTool.test.js +76 -10
- package/src/tools/__tests__/cloneDetectionTool.test.js +430 -0
- package/src/tools/__tests__/codeMapTool.pluralCanonical.test.js +83 -0
- package/src/tools/__tests__/composioTool.findAction.test.js +448 -0
- package/src/tools/__tests__/composioTool.test.js +499 -0
- package/src/tools/__tests__/dependencyResolverTool.test.js +567 -0
- package/src/tools/__tests__/docxTool.test.js +449 -0
- package/src/tools/__tests__/excelTool.test.js +486 -0
- package/src/tools/__tests__/importAnalyzerTool.test.js +368 -0
- package/src/tools/__tests__/memoryTool.forgetStale.test.js +272 -0
- package/src/tools/__tests__/memoryTool.pluralCanonical.test.js +189 -0
- package/src/tools/__tests__/memoryTool.reminisceSemanticSearch.test.js +301 -0
- package/src/tools/__tests__/memoryTool.semanticSearch.test.js +405 -0
- package/src/tools/__tests__/memoryTool.teamPool.test.js +293 -0
- package/src/tools/__tests__/memoryTool.test.js +1 -1
- package/src/tools/__tests__/officeTool.test.js +403 -0
- package/src/tools/__tests__/openaiFunctionSchemas.memoryReminisce.test.js +24 -25
- package/src/tools/__tests__/openaiFunctionSchemas.validity.test.js +268 -0
- package/src/tools/__tests__/pdfTool.test.js +457 -0
- package/src/tools/__tests__/singularToolReverseForgive.test.js +97 -0
- package/src/tools/__tests__/skillsTool.search.test.js +164 -0
- package/src/tools/__tests__/taskManagerTool.discipline.test.js +137 -0
- package/src/tools/__tests__/taskManagerTool.search.test.js +143 -0
- package/src/tools/__tests__/taskManagerTool.transition.test.js +236 -0
- package/src/tools/__tests__/toolShapeForgiveness.test.js +260 -0
- package/src/tools/agentCommunicationTool.js +120 -5
- package/src/tools/baseTool.js +28 -1
- package/src/tools/codeMapTool.js +1673 -1521
- package/src/tools/composioTool.js +617 -0
- package/src/tools/fileContentReplaceTool.js +893 -840
- package/src/tools/fileSystemTool.js +1372 -1314
- package/src/tools/fileTreeTool.js +7 -0
- package/src/tools/memoryTool.js +847 -82
- package/src/tools/office/officeDoc.js +425 -0
- package/src/tools/office/officePres.js +360 -0
- package/src/tools/office/officeSheet.js +350 -0
- package/src/tools/officeTool.js +313 -0
- package/src/tools/openaiFunctionSchemas.js +824 -44
- package/src/tools/platformControlTool.js +5 -0
- package/src/tools/seekTool.js +36 -1
- package/src/tools/skillsTool.js +133 -0
- package/src/tools/taskManagerTool.js +264 -16
- package/src/tools/terminalTool.js +23 -1
- package/src/tools/visionTool.js +7 -0
- package/src/tools/visualEditorTool.js +7 -0
- package/src/tools/webTool.js +28 -1
- package/src/tools/whatsappTool.js +7 -0
- package/src/utilities/authCache.js +47 -6
- package/src/utilities/authCache.js.backup-1779570472481 +121 -0
- package/src/utilities/toolConstants.js +3 -1
- package/web-ui/build/index.html +2 -2
- package/web-ui/build/static/1c-CTztA3Xo.js +1 -0
- package/web-ui/build/static/abap-BsUhLmBp.js +1 -0
- package/web-ui/build/static/abnf-CGKV2y5s.js +1 -0
- package/web-ui/build/static/abnf-vQPGuzu_.js +1 -0
- package/web-ui/build/static/accesslog-mUZocN9d.js +1 -0
- package/web-ui/build/static/actionscript-BmCHyr7v.js +1 -0
- package/web-ui/build/static/actionscript-Cc5vZvFE.js +1 -0
- package/web-ui/build/static/ada-BHR9NMNv.js +1 -0
- package/web-ui/build/static/ada-DnxQs2b9.js +1 -0
- package/web-ui/build/static/agda-CHEWVCEZ.js +1 -0
- package/web-ui/build/static/al-C0otNZjc.js +1 -0
- package/web-ui/build/static/angelscript-Co5e7ZdR.js +1 -0
- package/web-ui/build/static/antlr4-Dkky4AXR.js +1 -0
- package/web-ui/build/static/apache-BJkYIuV-.js +1 -0
- package/web-ui/build/static/apacheconf-XLif_lM5.js +1 -0
- package/web-ui/build/static/apex-DiKnugSK.js +1 -0
- package/web-ui/build/static/apl-R5OItFx8.js +1 -0
- package/web-ui/build/static/applescript-D8uiCoXI.js +1 -0
- package/web-ui/build/static/applescript-e5KOVzz4.js +1 -0
- package/web-ui/build/static/aql-Cvy5hwR1.js +1 -0
- package/web-ui/build/static/arcade-0iAjFk8w.js +1 -0
- package/web-ui/build/static/arduino-BJeuGqAT.js +1 -0
- package/web-ui/build/static/arduino-QJJjnM1j.js +1 -0
- package/web-ui/build/static/arff-C-i_E_-B.js +1 -0
- package/web-ui/build/static/armasm-ukFQKHGn.js +1 -0
- package/web-ui/build/static/asciidoc-B49qqHJJ.js +1 -0
- package/web-ui/build/static/asciidoc-Nkm1Ylrd.js +1 -0
- package/web-ui/build/static/asm6502-CMiM3nZs.js +1 -0
- package/web-ui/build/static/asmatmel-DG9XzIBf.js +1 -0
- package/web-ui/build/static/aspectj-DjRutrRk.js +1 -0
- package/web-ui/build/static/aspnet-DCNVRVi9.js +1 -0
- package/web-ui/build/static/autohotkey-C7eyvps0.js +1 -0
- package/web-ui/build/static/autohotkey-CiaZi-WO.js +1 -0
- package/web-ui/build/static/autoit-CaKUQkux.js +1 -0
- package/web-ui/build/static/autoit-D-CUHQgt.js +1 -0
- package/web-ui/build/static/avisynth-DFP3h4zu.js +1 -0
- package/web-ui/build/static/avrasm-BqvUj3fg.js +1 -0
- package/web-ui/build/static/avro-idl-D3l0ptuQ.js +1 -0
- package/web-ui/build/static/awk-BmDxAZFj.js +1 -0
- package/web-ui/build/static/axapta-B424jrgT.js +1 -0
- package/web-ui/build/static/bash-CgAffr8Z.js +1 -0
- package/web-ui/build/static/bash-D41aILLG.js +1 -0
- package/web-ui/build/static/basic-5DFTo35K.js +1 -0
- package/web-ui/build/static/basic-BONYG7D2.js +1 -0
- package/web-ui/build/static/batch-BnaDGMwS.js +1 -0
- package/web-ui/build/static/bbcode-Daujj4hU.js +1 -0
- package/web-ui/build/static/bicep-CXidcIK5.js +1 -0
- package/web-ui/build/static/birb-CcOzsnqB.js +1 -0
- package/web-ui/build/static/bison-rq0w5JFF.js +1 -0
- package/web-ui/build/static/bnf-C4uK1dK8.js +1 -0
- package/web-ui/build/static/bnf-CvXZ9crt.js +1 -0
- package/web-ui/build/static/brainfuck-B5Ezdg2y.js +1 -0
- package/web-ui/build/static/brainfuck-BZaTfZ97.js +1 -0
- package/web-ui/build/static/brightscript-D_2WBVxt.js +1 -0
- package/web-ui/build/static/bro-BD7GT6j_.js +1 -0
- package/web-ui/build/static/bsl-Bh-qcQ3w.js +1 -0
- package/web-ui/build/static/c-DNmZz1iT.js +1 -0
- package/web-ui/build/static/c-dUrSOcB2.js +1 -0
- package/web-ui/build/static/c-like-DfzKY8Uu.js +1 -0
- package/web-ui/build/static/cal-DgrFs4te.js +1 -0
- package/web-ui/build/static/capnproto-BxFR2k8w.js +1 -0
- package/web-ui/build/static/ceylon-B2Q7BIPM.js +1 -0
- package/web-ui/build/static/cfscript-DeaR8rww.js +1 -0
- package/web-ui/build/static/chaiscript-BeBIoz6b.js +1 -0
- package/web-ui/build/static/cil-YHiHOb4c.js +1 -0
- package/web-ui/build/static/clean-BgOl_0cN.js +1 -0
- package/web-ui/build/static/clojure-BlgOza7C.js +1 -0
- package/web-ui/build/static/clojure-PlKRYx3q.js +1 -0
- package/web-ui/build/static/clojure-repl-Dv2_THNB.js +1 -0
- package/web-ui/build/static/cmake-Ccf43gsy.js +1 -0
- package/web-ui/build/static/cmake-Dah_b5tK.js +1 -0
- package/web-ui/build/static/cobol-o9YRDzXA.js +1 -0
- package/web-ui/build/static/coffeescript-DTYLvxG9.js +1 -0
- package/web-ui/build/static/coffeescript-Dm4UcexP.js +1 -0
- package/web-ui/build/static/concurnas-1OxY7nFV.js +1 -0
- package/web-ui/build/static/coq-CvJBSoWT.js +1 -0
- package/web-ui/build/static/coq-DPZunybQ.js +1 -0
- package/web-ui/build/static/cos-BBstQgB4.js +1 -0
- package/web-ui/build/static/cpp-BR1pa5Wr.js +1 -0
- package/web-ui/build/static/cpp-C-_tTuKh.js +1 -0
- package/web-ui/build/static/crmsh-BIme7ihG.js +1 -0
- package/web-ui/build/static/crystal-C2hlJxaB.js +1 -0
- package/web-ui/build/static/crystal-Ca6D0fV7.js +1 -0
- package/web-ui/build/static/csharp-DGvdwvDH.js +1 -0
- package/web-ui/build/static/csharp-DbAjVltn.js +1 -0
- package/web-ui/build/static/cshtml-DVC84JPa.js +1 -0
- package/web-ui/build/static/csp-BawtG83z.js +1 -0
- package/web-ui/build/static/csp-BlaoxdTK.js +1 -0
- package/web-ui/build/static/css-52oqss7r.js +1 -0
- package/web-ui/build/static/css-extras-BoTVw2IW.js +1 -0
- package/web-ui/build/static/csv-nXBSv5kK.js +1 -0
- package/web-ui/build/static/cypher-WuesoPm2.js +1 -0
- package/web-ui/build/static/d-BmmTjwiV.js +1 -0
- package/web-ui/build/static/d-BwHf5A8R.js +1 -0
- package/web-ui/build/static/dart-BVZTRb8b.js +1 -0
- package/web-ui/build/static/dart-CbWzIBpX.js +1 -0
- package/web-ui/build/static/dataweave-qi_fpjJR.js +1 -0
- package/web-ui/build/static/dax-BpP02TD3.js +1 -0
- package/web-ui/build/static/delphi-TK0E0gLN.js +1 -0
- package/web-ui/build/static/dhall-jyNJwUbo.js +1 -0
- package/web-ui/build/static/diff-Dbu90HZq.js +1 -0
- package/web-ui/build/static/diff-Df6ezhAq.js +1 -0
- package/web-ui/build/static/django-BDy-xiWR.js +1 -0
- package/web-ui/build/static/django-CbmnWIX9.js +1 -0
- package/web-ui/build/static/dns-D_wmKRHl.js +1 -0
- package/web-ui/build/static/dns-zone-file-_1osc1Qk.js +1 -0
- package/web-ui/build/static/docker-D62hlkjX.js +1 -0
- package/web-ui/build/static/dockerfile-DQ080zHh.js +1 -0
- package/web-ui/build/static/dos-B5mA8Wna.js +1 -0
- package/web-ui/build/static/dot-D497WUfu.js +1 -0
- package/web-ui/build/static/dsconfig-dERMCQVk.js +1 -0
- package/web-ui/build/static/dts-DC3ujcbX.js +1 -0
- package/web-ui/build/static/dust-Bhm1VBQg.js +1 -0
- package/web-ui/build/static/ebnf-1lmwK0bv.js +1 -0
- package/web-ui/build/static/ebnf-qzzqKVXL.js +1 -0
- package/web-ui/build/static/editorconfig-CCe25wQr.js +1 -0
- package/web-ui/build/static/eiffel-BFOXbwEN.js +1 -0
- package/web-ui/build/static/ejs-D94vVkGZ.js +1 -0
- package/web-ui/build/static/elixir-B2W81YV0.js +1 -0
- package/web-ui/build/static/elixir-CD1szlP_.js +1 -0
- package/web-ui/build/static/elm-BUJhR-kM.js +1 -0
- package/web-ui/build/static/elm-DwLnLHSK.js +1 -0
- package/web-ui/build/static/erb-CcokD9Fu.js +1 -0
- package/web-ui/build/static/erb-lzhmSBEV.js +1 -0
- package/web-ui/build/static/erlang-C0jnu48-.js +1 -0
- package/web-ui/build/static/erlang-CrevXBnJ.js +1 -0
- package/web-ui/build/static/erlang-repl-CNY6yNoO.js +1 -0
- package/web-ui/build/static/etlua-BMO_ICdR.js +1 -0
- package/web-ui/build/static/excel-C5PbLrVC.js +1 -0
- package/web-ui/build/static/excel-formula-CX4pOnnV.js +1 -0
- package/web-ui/build/static/factor-bW3WUpa0.js +1 -0
- package/web-ui/build/static/false-CQx6Crbr.js +1 -0
- package/web-ui/build/static/firestore-security-rules-DT5oRNdf.js +1 -0
- package/web-ui/build/static/fix-C4IWe2LI.js +1 -0
- package/web-ui/build/static/flix-hi9-cLwA.js +1 -0
- package/web-ui/build/static/flow-CkX6DAhF.js +1 -0
- package/web-ui/build/static/fortran-C4rIX-2n.js +1 -0
- package/web-ui/build/static/fortran-Dvu3q_x_.js +1 -0
- package/web-ui/build/static/fsharp-Bwa1UrRI.js +1 -0
- package/web-ui/build/static/fsharp-CvadhLcA.js +1 -0
- package/web-ui/build/static/ftl-eFEI11YV.js +1 -0
- package/web-ui/build/static/gams-BxGx7deQ.js +1 -0
- package/web-ui/build/static/gap-Dcv7bqDd.js +1 -0
- package/web-ui/build/static/gauss-CcVoF4l8.js +1 -0
- package/web-ui/build/static/gcode-B1dc5sh5.js +1 -0
- package/web-ui/build/static/gcode-D5OxRG5t.js +1 -0
- package/web-ui/build/static/gdscript-CL-EA1wk.js +1 -0
- package/web-ui/build/static/gedcom-BbXrNsr0.js +1 -0
- package/web-ui/build/static/gherkin-B2wQMbT2.js +1 -0
- package/web-ui/build/static/gherkin-CnL4Y3j1.js +1 -0
- package/web-ui/build/static/git-DpdutSM5.js +1 -0
- package/web-ui/build/static/glsl-C7sgdZCA.js +1 -0
- package/web-ui/build/static/glsl-DVaNsn1Z.js +1 -0
- package/web-ui/build/static/gml-B_NppoA4.js +1 -0
- package/web-ui/build/static/gml-DFrn75UD.js +1 -0
- package/web-ui/build/static/gn-BhTU_aTW.js +1 -0
- package/web-ui/build/static/go-DKrUPrfb.js +1 -0
- package/web-ui/build/static/go-DLAYIsJl.js +1 -0
- package/web-ui/build/static/go-module-BXY6q1Ug.js +1 -0
- package/web-ui/build/static/golo-CKxjLRpC.js +1 -0
- package/web-ui/build/static/gradle-DN8lsmJj.js +1 -0
- package/web-ui/build/static/graphql-CMb_4vdm.js +1 -0
- package/web-ui/build/static/groovy-Bhi1VPv7.js +1 -0
- package/web-ui/build/static/groovy-D3X3r3EX.js +1 -0
- package/web-ui/build/static/haml-CvOCw9lL.js +1 -0
- package/web-ui/build/static/haml-DYs0wBJO.js +1 -0
- package/web-ui/build/static/handlebars-CLnuKGPm.js +1 -0
- package/web-ui/build/static/handlebars-CYGG_M1h.js +1 -0
- package/web-ui/build/static/haskell-0Ju0XclD.js +1 -0
- package/web-ui/build/static/haskell-CL5jUHSd.js +1 -0
- package/web-ui/build/static/haxe-BghRbBtK.js +1 -0
- package/web-ui/build/static/haxe-dfL7GzPv.js +1 -0
- package/web-ui/build/static/hcl-BZP2QME-.js +1 -0
- package/web-ui/build/static/hlsl-Djp0TiCX.js +1 -0
- package/web-ui/build/static/hoon-Df5gJVqA.js +1 -0
- package/web-ui/build/static/hpkp-Cy-hjB4V.js +1 -0
- package/web-ui/build/static/hsp-CntMIMs4.js +1 -0
- package/web-ui/build/static/hsts-BNBhETNx.js +1 -0
- package/web-ui/build/static/htmlbars-VCCYaDHA.js +1 -0
- package/web-ui/build/static/http-7DbskohZ.js +1 -0
- package/web-ui/build/static/http-BT5FYFAK.js +1 -0
- package/web-ui/build/static/hy-DuGSaK_b.js +1 -0
- package/web-ui/build/static/ichigojam-CjvnJmlr.js +1 -0
- package/web-ui/build/static/icon-BsBz6XP6.js +1 -0
- package/web-ui/build/static/icu-message-format-BEpv_nip.js +1 -0
- package/web-ui/build/static/idris-DiXQdMPU.js +1 -0
- package/web-ui/build/static/iecst-C9tYEzwP.js +1 -0
- package/web-ui/build/static/ignore-DNMpCRPN.js +1 -0
- package/web-ui/build/static/index-B-r71gxO.js +1 -0
- package/web-ui/build/static/index-CTtNXVAZ.js +1217 -0
- package/web-ui/build/static/index-DkBBEGYj.css +1 -0
- package/web-ui/build/static/index-PvzceRzr.js +13 -0
- package/web-ui/build/static/inform7-D38mj1Ty.js +1 -0
- package/web-ui/build/static/inform7-SwIRbrNQ.js +1 -0
- package/web-ui/build/static/ini-B9xO6J_m.js +1 -0
- package/web-ui/build/static/ini-zcp_esam.js +1 -0
- package/web-ui/build/static/io-C-Ay4jvg.js +1 -0
- package/web-ui/build/static/irpf90-BYnkitLq.js +1 -0
- package/web-ui/build/static/isbl-BYtdwd6v.js +1 -0
- package/web-ui/build/static/j-ByZQN5E4.js +1 -0
- package/web-ui/build/static/java-BNtb6JWL.js +1 -0
- package/web-ui/build/static/java-CQZL3scW.js +1 -0
- package/web-ui/build/static/javadoc-BciMZ8jg.js +1 -0
- package/web-ui/build/static/javadoclike-07BOTXmy.js +1 -0
- package/web-ui/build/static/javascript-CViZlg1q.js +1 -0
- package/web-ui/build/static/javastacktrace-bWyAK0up.js +1 -0
- package/web-ui/build/static/jboss-cli-hz5boSGB.js +1 -0
- package/web-ui/build/static/jexl-DdIINSXT.js +1 -0
- package/web-ui/build/static/jolie-CQnDX-f0.js +1 -0
- package/web-ui/build/static/jq-BzhF0CHG.js +1 -0
- package/web-ui/build/static/js-extras-jizEtT14.js +1 -0
- package/web-ui/build/static/js-templates-Dr1BqLAt.js +1 -0
- package/web-ui/build/static/jsdoc-CI-GPi6r.js +1 -0
- package/web-ui/build/static/json-2eDPxnHO.js +1 -0
- package/web-ui/build/static/json-BBqUMOAQ.js +1 -0
- package/web-ui/build/static/json5-CeIoln-Y.js +1 -0
- package/web-ui/build/static/jsonp-DWe9tbr2.js +1 -0
- package/web-ui/build/static/jsstacktrace-aE-go9tq.js +1 -0
- package/web-ui/build/static/jsx-BTXEPQYI.js +1 -0
- package/web-ui/build/static/julia-4VeOirXa.js +1 -0
- package/web-ui/build/static/julia-Da6yHEfz.js +1 -0
- package/web-ui/build/static/julia-repl-CFrizGkE.js +1 -0
- package/web-ui/build/static/keepalived-39SDM4j5.js +1 -0
- package/web-ui/build/static/keyman-DU5yOLYr.js +1 -0
- package/web-ui/build/static/kotlin-DJoqh3HG.js +1 -0
- package/web-ui/build/static/kotlin-DsKd3r_L.js +1 -0
- package/web-ui/build/static/kumir-CO96hby4.js +1 -0
- package/web-ui/build/static/kusto-DyuMf8l-.js +1 -0
- package/web-ui/build/static/lasso-BiPmQTXQ.js +1 -0
- package/web-ui/build/static/latex-Bd1ef5fi.js +1 -0
- package/web-ui/build/static/latex-DUrYkmWb.js +1 -0
- package/web-ui/build/static/latte-BSD-hpi5.js +1 -0
- package/web-ui/build/static/ldif-1ZMSg0qI.js +1 -0
- package/web-ui/build/static/leaf-Cg0eq01F.js +1 -0
- package/web-ui/build/static/less-BKcd1_xh.js +1 -0
- package/web-ui/build/static/less-SB5bcusC.js +1 -0
- package/web-ui/build/static/lilypond-BX_kuAqT.js +1 -0
- package/web-ui/build/static/liquid-C337T5bt.js +1 -0
- package/web-ui/build/static/lisp-B_bJRelF.js +1 -0
- package/web-ui/build/static/lisp-Du04Vdmx.js +1 -0
- package/web-ui/build/static/livecodeserver-BOkA9fV6.js +1 -0
- package/web-ui/build/static/livescript-DkMTCCBM.js +1 -0
- package/web-ui/build/static/livescript-rTaLq5oP.js +1 -0
- package/web-ui/build/static/llvm-BrBlvl5p.js +1 -0
- package/web-ui/build/static/llvm-DQbygw7z.js +1 -0
- package/web-ui/build/static/log-DoAzOt8c.js +1 -0
- package/web-ui/build/static/lolcode-DnB7KhRR.js +1 -0
- package/web-ui/build/static/lsl-DpzE7F5A.js +1 -0
- package/web-ui/build/static/lua-CIceROsO.js +1 -0
- package/web-ui/build/static/lua-DhnvJuMn.js +1 -0
- package/web-ui/build/static/magma-BwjzpKxi.js +1 -0
- package/web-ui/build/static/makefile-D10Y62dl.js +1 -0
- package/web-ui/build/static/makefile-esgkquGi.js +1 -0
- package/web-ui/build/static/markdown-B-Y7Y0Nn.js +1 -0
- package/web-ui/build/static/markdown-Cv3Onm-Q.js +1 -0
- package/web-ui/build/static/markup-templating-B1-9WWYa.js +1 -0
- package/web-ui/build/static/mathematica-gSyKdw2h.js +1 -0
- package/web-ui/build/static/matlab-6i1uXuBx.js +1 -0
- package/web-ui/build/static/matlab-CqcSZ1d9.js +1 -0
- package/web-ui/build/static/maxima-Bc-OnIOQ.js +1 -0
- package/web-ui/build/static/maxscript-Bce44o6c.js +1 -0
- package/web-ui/build/static/mel-0Jk3y-vw.js +1 -0
- package/web-ui/build/static/mel-DmA_8WPg.js +1 -0
- package/web-ui/build/static/mercury-DNdP1u-O.js +1 -0
- package/web-ui/build/static/mermaid-DrLkSIIb.js +1 -0
- package/web-ui/build/static/mipsasm-BIQVs3Ff.js +1 -0
- package/web-ui/build/static/mizar-BD5ZD_Rk.js +1 -0
- package/web-ui/build/static/mizar-DThX8Mdy.js +1 -0
- package/web-ui/build/static/mojolicious-Bra-ClwJ.js +1 -0
- package/web-ui/build/static/mongodb-DirByEEg.js +1 -0
- package/web-ui/build/static/monkey-C-Pvu43G.js +1 -0
- package/web-ui/build/static/monkey-n4IFmaA7.js +1 -0
- package/web-ui/build/static/moonscript-B1DM34lp.js +1 -0
- package/web-ui/build/static/moonscript-B82JBytX.js +1 -0
- package/web-ui/build/static/n1ql-C46iq3Hh.js +1 -0
- package/web-ui/build/static/n1ql-DOs3gJQo.js +1 -0
- package/web-ui/build/static/n4js-CPYgal3G.js +1 -0
- package/web-ui/build/static/nand2tetris-hdl-BhlUIq7M.js +1 -0
- package/web-ui/build/static/naniscript-D1YZXYcf.js +1 -0
- package/web-ui/build/static/nasm-2-TtCBo4.js +1 -0
- package/web-ui/build/static/neon-BzoXMDea.js +1 -0
- package/web-ui/build/static/nevod-DW_87wHj.js +1 -0
- package/web-ui/build/static/nginx-BgieYUhk.js +1 -0
- package/web-ui/build/static/nginx-DW0RVJbs.js +1 -0
- package/web-ui/build/static/nim-BbTa7YZN.js +1 -0
- package/web-ui/build/static/nim-VdXk3QT9.js +1 -0
- package/web-ui/build/static/nix-3tNNprEI.js +1 -0
- package/web-ui/build/static/nix-BDghlfzh.js +1 -0
- package/web-ui/build/static/node-repl-BBLv3tyt.js +1 -0
- package/web-ui/build/static/nsis-DxjfnSO8.js +1 -0
- package/web-ui/build/static/nsis-FY5xiiar.js +1 -0
- package/web-ui/build/static/objectivec-CXhf_sp_.js +1 -0
- package/web-ui/build/static/objectivec-DcRKjWcd.js +1 -0
- package/web-ui/build/static/ocaml-BLRL6Zro.js +1 -0
- package/web-ui/build/static/ocaml-C4S4QQtS.js +1 -0
- package/web-ui/build/static/opencl-ruEAYetM.js +1 -0
- package/web-ui/build/static/openqasm-D6r_FwIh.js +1 -0
- package/web-ui/build/static/openscad-BEPjoj_N.js +1 -0
- package/web-ui/build/static/oxygene-A61yc5Or.js +1 -0
- package/web-ui/build/static/oz-DICidCTs.js +1 -0
- package/web-ui/build/static/parigp-MjTNwy2s.js +1 -0
- package/web-ui/build/static/parser-DmI7lg_r.js +1 -0
- package/web-ui/build/static/parser3-Bv9kXAib.js +1 -0
- package/web-ui/build/static/pascal-B23PBLTj.js +1 -0
- package/web-ui/build/static/pascaligo-CPIJtX2C.js +1 -0
- package/web-ui/build/static/pcaxis-Bsj_6x8j.js +1 -0
- package/web-ui/build/static/peoplecode-VvQbMjsD.js +1 -0
- package/web-ui/build/static/perl-Cr6Y9-hl.js +1 -0
- package/web-ui/build/static/perl-D37oTJip.js +1 -0
- package/web-ui/build/static/pf-BKHaWcGm.js +1 -0
- package/web-ui/build/static/pgsql-ChusgWw2.js +1 -0
- package/web-ui/build/static/php-3Qr4hNV1.js +1 -0
- package/web-ui/build/static/php-CgxeEh4Y.js +1 -0
- package/web-ui/build/static/php-extras-DeLqwT6H.js +1 -0
- package/web-ui/build/static/php-template-DcOJxuIf.js +1 -0
- package/web-ui/build/static/phpdoc-amFph5Ax.js +1 -0
- package/web-ui/build/static/plaintext-mqBcO1hG.js +1 -0
- package/web-ui/build/static/plsql-ioyqfxP7.js +1 -0
- package/web-ui/build/static/pony-nxjy8Qot.js +1 -0
- package/web-ui/build/static/powerquery-Ci_Fxyg8.js +1 -0
- package/web-ui/build/static/powershell-CB_GgRqr.js +1 -0
- package/web-ui/build/static/powershell-au4fYIm7.js +1 -0
- package/web-ui/build/static/processing-Bkd3f-Wz.js +1 -0
- package/web-ui/build/static/processing-PgCPZm30.js +1 -0
- package/web-ui/build/static/profile-C2GBY6C9.js +1 -0
- package/web-ui/build/static/prolog-BRjYwjIO.js +1 -0
- package/web-ui/build/static/prolog-BheGlH8Q.js +1 -0
- package/web-ui/build/static/promql-CtCmTKys.js +1 -0
- package/web-ui/build/static/properties-BpLqVZha.js +1 -0
- package/web-ui/build/static/properties-UQxavHUY.js +1 -0
- package/web-ui/build/static/protobuf-BSuul6Uw.js +1 -0
- package/web-ui/build/static/protobuf-CLRi8VTE.js +1 -0
- package/web-ui/build/static/psl-CJsJilqO.js +1 -0
- package/web-ui/build/static/pug-5BY6sdv1.js +1 -0
- package/web-ui/build/static/puppet-DBg45gHV.js +1 -0
- package/web-ui/build/static/puppet-DPANCbOj.js +1 -0
- package/web-ui/build/static/pure-Cn4p-7Bj.js +1 -0
- package/web-ui/build/static/purebasic-CoXbIzZJ.js +1 -0
- package/web-ui/build/static/purebasic-DZ_eLoUV.js +1 -0
- package/web-ui/build/static/purescript-B98GoUb_.js +1 -0
- package/web-ui/build/static/python-B-Lm1OME.js +1 -0
- package/web-ui/build/static/python-C_ApFGS1.js +1 -0
- package/web-ui/build/static/python-repl-CJW5_RON.js +1 -0
- package/web-ui/build/static/q-BB2BYhxG.js +1 -0
- package/web-ui/build/static/q-DVqo_ScG.js +1 -0
- package/web-ui/build/static/qml-Co-8g096.js +1 -0
- package/web-ui/build/static/qml-Du0WFcoy.js +1 -0
- package/web-ui/build/static/qore-C6XBzy3U.js +1 -0
- package/web-ui/build/static/qsharp-BCMklAuq.js +1 -0
- package/web-ui/build/static/r-B5CGUQwN.js +1 -0
- package/web-ui/build/static/r-Dxhot-za.js +1 -0
- package/web-ui/build/static/racket-C0dCdrKh.js +1 -0
- package/web-ui/build/static/reason-DGJ1fFJs.js +1 -0
- package/web-ui/build/static/reasonml-gt_AvBg7.js +1 -0
- package/web-ui/build/static/regex-B5iNH8MZ.js +1 -0
- package/web-ui/build/static/rego-hfPajYet.js +1 -0
- package/web-ui/build/static/renpy-BkG5aM4I.js +1 -0
- package/web-ui/build/static/rest-C4uwtrF8.js +1 -0
- package/web-ui/build/static/rib-D32ew8Y7.js +1 -0
- package/web-ui/build/static/rip-BIEbWzxe.js +1 -0
- package/web-ui/build/static/roboconf-CMN8BoHf.js +1 -0
- package/web-ui/build/static/roboconf-GVMh3ioj.js +1 -0
- package/web-ui/build/static/robotframework-CUQybJQ9.js +1 -0
- package/web-ui/build/static/routeros-DUEdLmuc.js +1 -0
- package/web-ui/build/static/rsl-BsAePIwQ.js +1 -0
- package/web-ui/build/static/ruby-CZMMjJFw.js +1 -0
- package/web-ui/build/static/ruby-WOVZyoXO.js +1 -0
- package/web-ui/build/static/ruleslanguage-xV-HszUl.js +1 -0
- package/web-ui/build/static/rust-Da9GRxLz.js +1 -0
- package/web-ui/build/static/rust-uCND428m.js +1 -0
- package/web-ui/build/static/sas-BW15NPzf.js +1 -0
- package/web-ui/build/static/sas-DCx9gext.js +1 -0
- package/web-ui/build/static/sass-BMD7eETo.js +1 -0
- package/web-ui/build/static/scala-0wnxLTlF.js +1 -0
- package/web-ui/build/static/scala-D3Hk-q5-.js +1 -0
- package/web-ui/build/static/scheme-Ci9QOUcD.js +1 -0
- package/web-ui/build/static/scheme-CtqjB_HN.js +1 -0
- package/web-ui/build/static/scilab-CnITQd23.js +1 -0
- package/web-ui/build/static/scss-DCceV6xw.js +1 -0
- package/web-ui/build/static/scss-N5EuPQOS.js +1 -0
- package/web-ui/build/static/shell-BegJTton.js +1 -0
- package/web-ui/build/static/shell-session-BHBoosfJ.js +1 -0
- package/web-ui/build/static/smali-CoHePNQf.js +1 -0
- package/web-ui/build/static/smali-D64W1f0Y.js +1 -0
- package/web-ui/build/static/smalltalk-CagI-Ky8.js +1 -0
- package/web-ui/build/static/smalltalk-DHLuWDjp.js +1 -0
- package/web-ui/build/static/smarty-CSS2XBuu.js +1 -0
- package/web-ui/build/static/sml-D8Oyp9xr.js +1 -0
- package/web-ui/build/static/sml-DvC_VDmX.js +1 -0
- package/web-ui/build/static/solidity-DVkeulrL.js +1 -0
- package/web-ui/build/static/solution-file-Bd7qWzoo.js +1 -0
- package/web-ui/build/static/soy-BRSlVWf7.js +1 -0
- package/web-ui/build/static/sparql-DNnCQmqM.js +1 -0
- package/web-ui/build/static/splunk-spl-DXCDUv2Y.js +1 -0
- package/web-ui/build/static/sqf-C_IKzP5b.js +1 -0
- package/web-ui/build/static/sqf-DBqlUGoG.js +1 -0
- package/web-ui/build/static/sql-Dt3ZutCc.js +1 -0
- package/web-ui/build/static/sql-q0UMLqb7.js +1 -0
- package/web-ui/build/static/sql_more-DAuY5p3F.js +1 -0
- package/web-ui/build/static/squirrel-CgQZeaNT.js +1 -0
- package/web-ui/build/static/stan-D5kYsid7.js +1 -0
- package/web-ui/build/static/stan-JSHToKMA.js +1 -0
- package/web-ui/build/static/stata-DRVhVjVb.js +1 -0
- package/web-ui/build/static/step21-C7h5ssgs.js +1 -0
- package/web-ui/build/static/stylus-BXIDNFUe.js +1 -0
- package/web-ui/build/static/stylus-CyMBrStz.js +1 -0
- package/web-ui/build/static/subunit-Lbpuvy4t.js +1 -0
- package/web-ui/build/static/swift-BCxWOc8n.js +1 -0
- package/web-ui/build/static/swift-B_YEL6eF.js +1 -0
- package/web-ui/build/static/systemd-_zWfs8U5.js +1 -0
- package/web-ui/build/static/t4-cs-BCiVX6dp.js +1 -0
- package/web-ui/build/static/t4-templating-CDm61rWh.js +1 -0
- package/web-ui/build/static/t4-vb-OO2oZZrL.js +1 -0
- package/web-ui/build/static/taggerscript-CkXxiITO.js +1 -0
- package/web-ui/build/static/tap-C612JPhJ.js +1 -0
- package/web-ui/build/static/tap-J-zR66jL.js +1 -0
- package/web-ui/build/static/tcl-DIGan5K8.js +1 -0
- package/web-ui/build/static/tcl-SFVWFwbb.js +1 -0
- package/web-ui/build/static/textile-D0WxA5g8.js +1 -0
- package/web-ui/build/static/thrift-jboo4tJl.js +1 -0
- package/web-ui/build/static/toml-DIK32ROb.js +1 -0
- package/web-ui/build/static/tp-Bhs1iGD3.js +1 -0
- package/web-ui/build/static/tremor-4d_juLiN.js +1 -0
- package/web-ui/build/static/tsx-hEN3qQzd.js +1 -0
- package/web-ui/build/static/tt2-WU6EuPNO.js +1 -0
- package/web-ui/build/static/turtle-CUM3xwNI.js +1 -0
- package/web-ui/build/static/twig-B9JwTKv9.js +1 -0
- package/web-ui/build/static/twig-Crv6BtK7.js +1 -0
- package/web-ui/build/static/typescript-BmabW_ur.js +1 -0
- package/web-ui/build/static/typescript-oMKx2dph.js +1 -0
- package/web-ui/build/static/typoscript-X48MNTeK.js +1 -0
- package/web-ui/build/static/unrealscript-qnu9Ogmz.js +1 -0
- package/web-ui/build/static/uorazor-BicTvjGt.js +1 -0
- package/web-ui/build/static/uri-CyRoMB-u.js +1 -0
- package/web-ui/build/static/v-BDM6ZJR7.js +1 -0
- package/web-ui/build/static/vala-BWCf7DTx.js +1 -0
- package/web-ui/build/static/vala-COL5roWV.js +1 -0
- package/web-ui/build/static/vbnet-BHPgkiip.js +1 -0
- package/web-ui/build/static/vbnet-BadWmTKs.js +1 -0
- package/web-ui/build/static/vbscript-BfUpIAaV.js +1 -0
- package/web-ui/build/static/vbscript-html-BBR6zcvV.js +1 -0
- package/web-ui/build/static/velocity-k4gGPuiP.js +1 -0
- package/web-ui/build/static/verilog-BoNroxW8.js +1 -0
- package/web-ui/build/static/verilog-C7cplLIi.js +1 -0
- package/web-ui/build/static/vhdl-BrKkx69g.js +1 -0
- package/web-ui/build/static/vhdl-CWacsAXR.js +1 -0
- package/web-ui/build/static/vim-BcdueaEC.js +1 -0
- package/web-ui/build/static/vim-BwsUolG_.js +1 -0
- package/web-ui/build/static/visual-basic-DTXlX5HN.js +1 -0
- package/web-ui/build/static/warpscript-2w0_2KsB.js +1 -0
- package/web-ui/build/static/wasm-BPaXQO-A.js +1 -0
- package/web-ui/build/static/web-idl-BoCTFQod.js +1 -0
- package/web-ui/build/static/wiki-BkkCi9wm.js +1 -0
- package/web-ui/build/static/wolfram-CvRNTaAX.js +1 -0
- package/web-ui/build/static/wren-Bz8Smtz-.js +1 -0
- package/web-ui/build/static/x86asm-BM83B0N_.js +1 -0
- package/web-ui/build/static/xeora-BjuDukl7.js +1 -0
- package/web-ui/build/static/xl-ByiuKWwm.js +1 -0
- package/web-ui/build/static/xml-Dut2p53G.js +1 -0
- package/web-ui/build/static/xml-doc-CxgwiuaA.js +1 -0
- package/web-ui/build/static/xojo-CBqUB8JI.js +1 -0
- package/web-ui/build/static/xquery-D-agM4jx.js +1 -0
- package/web-ui/build/static/xquery-DL_eetrQ.js +1 -0
- package/web-ui/build/static/yaml-DZ7HVZSe.js +1 -0
- package/web-ui/build/static/yaml-DatJAv7_.js +1 -0
- package/web-ui/build/static/yang-D0nrKE-r.js +1 -0
- package/web-ui/build/static/zephir--M2g15-k.js +1 -0
- package/web-ui/build/static/zig-CK6rUH8E.js +1 -0
- package/web-ui/build/static/1c-DGpIT7i5.js +0 -1
- package/web-ui/build/static/abap-5wFDdWLh.js +0 -1
- package/web-ui/build/static/abnf-BP1dpNSE.js +0 -1
- package/web-ui/build/static/abnf-DBEIAl8g.js +0 -1
- package/web-ui/build/static/accesslog-CWSM_T5E.js +0 -1
- package/web-ui/build/static/actionscript-DONkco1J.js +0 -1
- package/web-ui/build/static/actionscript-FqBYk5er.js +0 -1
- package/web-ui/build/static/ada-C2JLRIaM.js +0 -1
- package/web-ui/build/static/ada-gKiygTRK.js +0 -1
- package/web-ui/build/static/agda-CkSODqK2.js +0 -1
- package/web-ui/build/static/al-BJ_YR6p7.js +0 -1
- package/web-ui/build/static/angelscript-Dg2byMGg.js +0 -1
- package/web-ui/build/static/antlr4-BnpyaFNr.js +0 -1
- package/web-ui/build/static/apache-Dffxsd7O.js +0 -1
- package/web-ui/build/static/apacheconf-DLitjtWj.js +0 -1
- package/web-ui/build/static/apex-Drr_IvU2.js +0 -1
- package/web-ui/build/static/apl-CF6qxmXG.js +0 -1
- package/web-ui/build/static/applescript-CjOlw3b_.js +0 -1
- package/web-ui/build/static/applescript-DjkSl1Ry.js +0 -1
- package/web-ui/build/static/aql-KwVmK1gP.js +0 -1
- package/web-ui/build/static/arcade-CENSXx0R.js +0 -1
- package/web-ui/build/static/arduino-B3Ta9Fll.js +0 -1
- package/web-ui/build/static/arduino-CzcsaB9_.js +0 -1
- package/web-ui/build/static/arff-CMJSVt_O.js +0 -1
- package/web-ui/build/static/armasm-0zSgSPB4.js +0 -1
- package/web-ui/build/static/asciidoc-B8K5ctWq.js +0 -1
- package/web-ui/build/static/asciidoc-bk2Sg6b6.js +0 -1
- package/web-ui/build/static/asm6502-ji6zm4FQ.js +0 -1
- package/web-ui/build/static/asmatmel-DJqObM4Y.js +0 -1
- package/web-ui/build/static/aspectj-DqQKI7J5.js +0 -1
- package/web-ui/build/static/aspnet-9cenTxW7.js +0 -1
- package/web-ui/build/static/autohotkey-C6EhiZvl.js +0 -1
- package/web-ui/build/static/autohotkey-sTGJOvMM.js +0 -1
- package/web-ui/build/static/autoit-B0Im8iQ1.js +0 -1
- package/web-ui/build/static/autoit-CO6pUD0H.js +0 -1
- package/web-ui/build/static/avisynth-OvOHTfj5.js +0 -1
- package/web-ui/build/static/avrasm-BLWZ5Mye.js +0 -1
- package/web-ui/build/static/avro-idl-BB2ODvnw.js +0 -1
- package/web-ui/build/static/awk-_jhMabQ0.js +0 -1
- package/web-ui/build/static/axapta-DdBRgoYy.js +0 -1
- package/web-ui/build/static/bash-CsaRGXBQ.js +0 -1
- package/web-ui/build/static/bash-CxLFkwAC.js +0 -1
- package/web-ui/build/static/basic-BJyy7JJE.js +0 -1
- package/web-ui/build/static/basic-CrMb-gv0.js +0 -1
- package/web-ui/build/static/batch-BvcykMe5.js +0 -1
- package/web-ui/build/static/bbcode-EOBuY5Y6.js +0 -1
- package/web-ui/build/static/bicep-QkDJBA34.js +0 -1
- package/web-ui/build/static/birb-TAOxKurn.js +0 -1
- package/web-ui/build/static/bison-BEK6cnad.js +0 -1
- package/web-ui/build/static/bnf-DfEODxsr.js +0 -1
- package/web-ui/build/static/bnf-DhbMjsuA.js +0 -1
- package/web-ui/build/static/brainfuck-BoVocOa7.js +0 -1
- package/web-ui/build/static/brainfuck-DDC5QXPK.js +0 -1
- package/web-ui/build/static/brightscript-DNN598w2.js +0 -1
- package/web-ui/build/static/bro-Cn_jjZ8P.js +0 -1
- package/web-ui/build/static/bsl-CMCN75Gu.js +0 -1
- package/web-ui/build/static/c-DbOGQnEJ.js +0 -1
- package/web-ui/build/static/c-kggwYFsy.js +0 -1
- package/web-ui/build/static/c-like-BIsuUvof.js +0 -1
- package/web-ui/build/static/cal-DpgMsBZE.js +0 -1
- package/web-ui/build/static/capnproto-C1AHYI-M.js +0 -1
- package/web-ui/build/static/ceylon-pvJffDe1.js +0 -1
- package/web-ui/build/static/cfscript-C1qylu52.js +0 -1
- package/web-ui/build/static/chaiscript-D417WKRI.js +0 -1
- package/web-ui/build/static/cil-CjbZHbcY.js +0 -1
- package/web-ui/build/static/clean-Dvc6R-F2.js +0 -1
- package/web-ui/build/static/clojure-CSVRQPMQ.js +0 -1
- package/web-ui/build/static/clojure-ig1Vkg7X.js +0 -1
- package/web-ui/build/static/clojure-repl-C1uyEabk.js +0 -1
- package/web-ui/build/static/cmake-DSbVcAB3.js +0 -1
- package/web-ui/build/static/cmake-Zp8kPwnH.js +0 -1
- package/web-ui/build/static/cobol-OsZSiK_P.js +0 -1
- package/web-ui/build/static/coffeescript-D8r0416S.js +0 -1
- package/web-ui/build/static/coffeescript-DCpgClxh.js +0 -1
- package/web-ui/build/static/concurnas-DKnsxUOc.js +0 -1
- package/web-ui/build/static/coq-BQFlywVI.js +0 -1
- package/web-ui/build/static/coq-BvS9mQB2.js +0 -1
- package/web-ui/build/static/cos-D3ze2791.js +0 -1
- package/web-ui/build/static/cpp-Bw-cV3P1.js +0 -1
- package/web-ui/build/static/cpp-vi1p7XpB.js +0 -1
- package/web-ui/build/static/crmsh-BClnJTeQ.js +0 -1
- package/web-ui/build/static/crystal-DGzOUYZq.js +0 -1
- package/web-ui/build/static/crystal-DMzk6EvA.js +0 -1
- package/web-ui/build/static/csharp-BTom8s2X.js +0 -1
- package/web-ui/build/static/csharp-Cp2V3jfR.js +0 -1
- package/web-ui/build/static/cshtml-Dmtt9Kto.js +0 -1
- package/web-ui/build/static/csp-WPVsLe9_.js +0 -1
- package/web-ui/build/static/csp-qddj5fu_.js +0 -1
- package/web-ui/build/static/css-B0FAm7kj.js +0 -1
- package/web-ui/build/static/css-extras-Bx3pvjiG.js +0 -1
- package/web-ui/build/static/csv-CH-edgS5.js +0 -1
- package/web-ui/build/static/cypher-c3G8Leew.js +0 -1
- package/web-ui/build/static/d-BMDSy22_.js +0 -1
- package/web-ui/build/static/d-BdH4oW8-.js +0 -1
- package/web-ui/build/static/dart-C-r72q-O.js +0 -1
- package/web-ui/build/static/dart-CwpBMrKa.js +0 -1
- package/web-ui/build/static/dataweave-BPvqdt4k.js +0 -1
- package/web-ui/build/static/dax-Eyy6ixcN.js +0 -1
- package/web-ui/build/static/delphi-DhEbPj_5.js +0 -1
- package/web-ui/build/static/dhall-Ct1L8sN1.js +0 -1
- package/web-ui/build/static/diff-CSTqCgwn.js +0 -1
- package/web-ui/build/static/diff-Da97B5vW.js +0 -1
- package/web-ui/build/static/django-DGit_lCg.js +0 -1
- package/web-ui/build/static/django-DPgqFB8k.js +0 -1
- package/web-ui/build/static/dns-DUyXuZ-a.js +0 -1
- package/web-ui/build/static/dns-zone-file-D79MDxVG.js +0 -1
- package/web-ui/build/static/docker-DTiy4o38.js +0 -1
- package/web-ui/build/static/dockerfile-CvwPP8wE.js +0 -1
- package/web-ui/build/static/dos-CaIUWxvb.js +0 -1
- package/web-ui/build/static/dot-D3504w6Y.js +0 -1
- package/web-ui/build/static/dsconfig-Smy1eeX_.js +0 -1
- package/web-ui/build/static/dts-DyTYSXZj.js +0 -1
- package/web-ui/build/static/dust-CrJyi6qA.js +0 -1
- package/web-ui/build/static/ebnf-C8nqfkBH.js +0 -1
- package/web-ui/build/static/ebnf-Cuh5Vh2-.js +0 -1
- package/web-ui/build/static/editorconfig-C7pTGl6n.js +0 -1
- package/web-ui/build/static/eiffel-C75MSJCA.js +0 -1
- package/web-ui/build/static/ejs-Dyo7DF5w.js +0 -1
- package/web-ui/build/static/elixir-D4yJefOc.js +0 -1
- package/web-ui/build/static/elixir-DKRow2SJ.js +0 -1
- package/web-ui/build/static/elm-CgbdDlkT.js +0 -1
- package/web-ui/build/static/elm-D3N-UgU0.js +0 -1
- package/web-ui/build/static/erb-BsITh8qW.js +0 -1
- package/web-ui/build/static/erb-lY_LyKyS.js +0 -1
- package/web-ui/build/static/erlang-BCnPiYmB.js +0 -1
- package/web-ui/build/static/erlang-JEghiPXc.js +0 -1
- package/web-ui/build/static/erlang-repl-DzU97ugC.js +0 -1
- package/web-ui/build/static/etlua-CsBo8cJa.js +0 -1
- package/web-ui/build/static/excel-formula-C2piiCYa.js +0 -1
- package/web-ui/build/static/excel-kqNypwQD.js +0 -1
- package/web-ui/build/static/factor-DZTOhkyU.js +0 -1
- package/web-ui/build/static/false-yLjhfaSw.js +0 -1
- package/web-ui/build/static/firestore-security-rules-oaQNoH8l.js +0 -1
- package/web-ui/build/static/fix-C9IfnTuS.js +0 -1
- package/web-ui/build/static/flix-EmJ_JhPo.js +0 -1
- package/web-ui/build/static/flow-DCUl7IAQ.js +0 -1
- package/web-ui/build/static/fortran-DvyxJmFN.js +0 -1
- package/web-ui/build/static/fortran-EEP9R3S5.js +0 -1
- package/web-ui/build/static/fsharp-D_98s3RX.js +0 -1
- package/web-ui/build/static/fsharp-Dt9jOO5G.js +0 -1
- package/web-ui/build/static/ftl-C8gMHWLo.js +0 -1
- package/web-ui/build/static/gams-BHxVPb4z.js +0 -1
- package/web-ui/build/static/gap-DFtyHk-q.js +0 -1
- package/web-ui/build/static/gauss-BwhJWUcg.js +0 -1
- package/web-ui/build/static/gcode-BvmXwp09.js +0 -1
- package/web-ui/build/static/gcode-gWcD6Vc7.js +0 -1
- package/web-ui/build/static/gdscript-btHoX8RE.js +0 -1
- package/web-ui/build/static/gedcom-MgPs9iqh.js +0 -1
- package/web-ui/build/static/gherkin-B9c_Q16A.js +0 -1
- package/web-ui/build/static/gherkin-BvOgkK6h.js +0 -1
- package/web-ui/build/static/git-D9XWOVcQ.js +0 -1
- package/web-ui/build/static/glsl-CshBHxHY.js +0 -1
- package/web-ui/build/static/glsl-fNRUMTDr.js +0 -1
- package/web-ui/build/static/gml-B78deHK8.js +0 -1
- package/web-ui/build/static/gml-Cj7d2u8O.js +0 -1
- package/web-ui/build/static/gn-CJLD-mF1.js +0 -1
- package/web-ui/build/static/go-CT93BEkL.js +0 -1
- package/web-ui/build/static/go-CTTlNuQO.js +0 -1
- package/web-ui/build/static/go-module-BgnXboUE.js +0 -1
- package/web-ui/build/static/golo-2S5tXS-l.js +0 -1
- package/web-ui/build/static/gradle-8W8DCcWJ.js +0 -1
- package/web-ui/build/static/graphql-DZfp6FNU.js +0 -1
- package/web-ui/build/static/groovy-BfsyMb3X.js +0 -1
- package/web-ui/build/static/groovy-Dxov7ENz.js +0 -1
- package/web-ui/build/static/haml-BlUFsdVV.js +0 -1
- package/web-ui/build/static/haml-CjVj6vvW.js +0 -1
- package/web-ui/build/static/handlebars-DxrQFkyA.js +0 -1
- package/web-ui/build/static/handlebars-FE6fotYl.js +0 -1
- package/web-ui/build/static/haskell-B6z0RCD_.js +0 -1
- package/web-ui/build/static/haskell-JBFmJTRy.js +0 -1
- package/web-ui/build/static/haxe-BtMZMi-_.js +0 -1
- package/web-ui/build/static/haxe-C1J8n-fH.js +0 -1
- package/web-ui/build/static/hcl-DJP-bFWE.js +0 -1
- package/web-ui/build/static/hlsl-DrGjhs1b.js +0 -1
- package/web-ui/build/static/hoon-Cg-ZhqIT.js +0 -1
- package/web-ui/build/static/hpkp-D07vgmoZ.js +0 -1
- package/web-ui/build/static/hsp-CsypPWoA.js +0 -1
- package/web-ui/build/static/hsts-B6DMRxvP.js +0 -1
- package/web-ui/build/static/htmlbars-BI7_Hw4e.js +0 -1
- package/web-ui/build/static/http-90ihEi4s.js +0 -1
- package/web-ui/build/static/http-Dp4QXj9E.js +0 -1
- package/web-ui/build/static/hy-BMgKvP4K.js +0 -1
- package/web-ui/build/static/ichigojam-D6wKvJDb.js +0 -1
- package/web-ui/build/static/icon-CrgkmCwl.js +0 -1
- package/web-ui/build/static/icu-message-format-Bi2JxCXs.js +0 -1
- package/web-ui/build/static/idris-DbUsyZt5.js +0 -1
- package/web-ui/build/static/iecst-CQZ9t8fW.js +0 -1
- package/web-ui/build/static/ignore-BaFgtNMs.js +0 -1
- package/web-ui/build/static/index-DEWSWosh.css +0 -1
- package/web-ui/build/static/index-Di1bjCFA.js +0 -13
- package/web-ui/build/static/index-otR_WSsL.js +0 -1
- package/web-ui/build/static/index-whZPU4as.js +0 -1183
- package/web-ui/build/static/inform7-ClyX1Gro.js +0 -1
- package/web-ui/build/static/inform7-tZHBS5XP.js +0 -1
- package/web-ui/build/static/ini-BrP5JNYL.js +0 -1
- package/web-ui/build/static/ini-CVkrAhwV.js +0 -1
- package/web-ui/build/static/io-BJ1Y6Bdc.js +0 -1
- package/web-ui/build/static/irpf90-fjjcKS_8.js +0 -1
- package/web-ui/build/static/isbl-ClpvfUIz.js +0 -1
- package/web-ui/build/static/j-CICW77xS.js +0 -1
- package/web-ui/build/static/java-B9DFK-0E.js +0 -1
- package/web-ui/build/static/java-BL_6rYko.js +0 -1
- package/web-ui/build/static/javadoc-Cc4HKpKK.js +0 -1
- package/web-ui/build/static/javadoclike-CgNkUDOm.js +0 -1
- package/web-ui/build/static/javascript-CM40ZECq.js +0 -1
- package/web-ui/build/static/javastacktrace-BHSqXfG5.js +0 -1
- package/web-ui/build/static/jboss-cli-Bv5NhVSZ.js +0 -1
- package/web-ui/build/static/jexl--Ohk_keA.js +0 -1
- package/web-ui/build/static/jolie-DMTN5Vdf.js +0 -1
- package/web-ui/build/static/jq-nXRLldXX.js +0 -1
- package/web-ui/build/static/js-extras-eLwv3frs.js +0 -1
- package/web-ui/build/static/js-templates-Ca0owlrg.js +0 -1
- package/web-ui/build/static/jsdoc-KERXp0da.js +0 -1
- package/web-ui/build/static/json-BTjLaRsy.js +0 -1
- package/web-ui/build/static/json-p7pU0qdW.js +0 -1
- package/web-ui/build/static/json5-Cxjy1udc.js +0 -1
- package/web-ui/build/static/jsonp-CO52H7Gy.js +0 -1
- package/web-ui/build/static/jsstacktrace-8YKfoyJP.js +0 -1
- package/web-ui/build/static/jsx-Ct_05KbM.js +0 -1
- package/web-ui/build/static/julia-23I1ubCE.js +0 -1
- package/web-ui/build/static/julia-d8rVGed_.js +0 -1
- package/web-ui/build/static/julia-repl-mwnHedW_.js +0 -1
- package/web-ui/build/static/keepalived-E85Rx_fF.js +0 -1
- package/web-ui/build/static/keyman-aWd3QUDq.js +0 -1
- package/web-ui/build/static/kotlin-Cu370hQq.js +0 -1
- package/web-ui/build/static/kotlin-DoJ2WnmZ.js +0 -1
- package/web-ui/build/static/kumir-oiOgqcQO.js +0 -1
- package/web-ui/build/static/kusto-Bp-B02K5.js +0 -1
- package/web-ui/build/static/lasso-BxoQVwOO.js +0 -1
- package/web-ui/build/static/latex-CANm5vsX.js +0 -1
- package/web-ui/build/static/latex-PMroeNch.js +0 -1
- package/web-ui/build/static/latte-2ErU_2XF.js +0 -1
- package/web-ui/build/static/ldif-ChPn_F7o.js +0 -1
- package/web-ui/build/static/leaf-UkCugDgG.js +0 -1
- package/web-ui/build/static/less-CCH5RA89.js +0 -1
- package/web-ui/build/static/less-CGZbVU1g.js +0 -1
- package/web-ui/build/static/lilypond-BoyM37sv.js +0 -1
- package/web-ui/build/static/liquid-DGJVpRBi.js +0 -1
- package/web-ui/build/static/lisp-93nne61u.js +0 -1
- package/web-ui/build/static/lisp-DYjIRsXz.js +0 -1
- package/web-ui/build/static/livecodeserver-CfNaxIE4.js +0 -1
- package/web-ui/build/static/livescript-C8kDlQkz.js +0 -1
- package/web-ui/build/static/livescript-CoarnRHq.js +0 -1
- package/web-ui/build/static/llvm-CBVyNmAh.js +0 -1
- package/web-ui/build/static/llvm-DGxq8a7u.js +0 -1
- package/web-ui/build/static/log-BivgwFql.js +0 -1
- package/web-ui/build/static/lolcode-l5sK2cZz.js +0 -1
- package/web-ui/build/static/lsl-Xm44xLRQ.js +0 -1
- package/web-ui/build/static/lua-CGvrzfKp.js +0 -1
- package/web-ui/build/static/lua-nHwXeY4c.js +0 -1
- package/web-ui/build/static/magma-DmNItmna.js +0 -1
- package/web-ui/build/static/makefile-CKJNNHGb.js +0 -1
- package/web-ui/build/static/makefile-DI6y5Qml.js +0 -1
- package/web-ui/build/static/markdown-BgpbxKd-.js +0 -1
- package/web-ui/build/static/markdown-CvcxA4yk.js +0 -1
- package/web-ui/build/static/markup-templating-DijqesiA.js +0 -1
- package/web-ui/build/static/mathematica-Cxll1Q10.js +0 -1
- package/web-ui/build/static/matlab-BJo2T1A-.js +0 -1
- package/web-ui/build/static/matlab-C6DlZX4l.js +0 -1
- package/web-ui/build/static/maxima-DJXO4sbL.js +0 -1
- package/web-ui/build/static/maxscript-DdLpUYBs.js +0 -1
- package/web-ui/build/static/mel-BIpfnSyZ.js +0 -1
- package/web-ui/build/static/mel-BYcTUZJW.js +0 -1
- package/web-ui/build/static/mercury-C_LSpbD8.js +0 -1
- package/web-ui/build/static/mermaid-D9yBWnrT.js +0 -1
- package/web-ui/build/static/mipsasm-nR_K2Ue-.js +0 -1
- package/web-ui/build/static/mizar-BeLUPncD.js +0 -1
- package/web-ui/build/static/mizar-BesIbZd9.js +0 -1
- package/web-ui/build/static/mojolicious-cBx3OWa-.js +0 -1
- package/web-ui/build/static/mongodb-DTWKy9ac.js +0 -1
- package/web-ui/build/static/monkey-B72bZC3c.js +0 -1
- package/web-ui/build/static/monkey-G9XELYPQ.js +0 -1
- package/web-ui/build/static/moonscript-BXYVQiqj.js +0 -1
- package/web-ui/build/static/moonscript-sDd-5knz.js +0 -1
- package/web-ui/build/static/n1ql-0vKSfFAO.js +0 -1
- package/web-ui/build/static/n1ql-C9_BSZfz.js +0 -1
- package/web-ui/build/static/n4js-B7Ct8dds.js +0 -1
- package/web-ui/build/static/nand2tetris-hdl-p9gpphTM.js +0 -1
- package/web-ui/build/static/naniscript-6ZVr8Aug.js +0 -1
- package/web-ui/build/static/nasm-Ca73yTUt.js +0 -1
- package/web-ui/build/static/neon-DNP49oyX.js +0 -1
- package/web-ui/build/static/nevod-Qhgt7Bce.js +0 -1
- package/web-ui/build/static/nginx-D5e7lu62.js +0 -1
- package/web-ui/build/static/nginx-DobnyESB.js +0 -1
- package/web-ui/build/static/nim-BPBivUOV.js +0 -1
- package/web-ui/build/static/nim-Baoug1Wa.js +0 -1
- package/web-ui/build/static/nix-CSPTQs5y.js +0 -1
- package/web-ui/build/static/nix-Dk4eNw49.js +0 -1
- package/web-ui/build/static/node-repl-NJNL8VFR.js +0 -1
- package/web-ui/build/static/nsis-BZ0oMzEw.js +0 -1
- package/web-ui/build/static/nsis-CKPCjtCU.js +0 -1
- package/web-ui/build/static/objectivec-BkfIRhhV.js +0 -1
- package/web-ui/build/static/objectivec-CnQgqhbJ.js +0 -1
- package/web-ui/build/static/ocaml-9rGNzRrK.js +0 -1
- package/web-ui/build/static/ocaml-CTolCqxL.js +0 -1
- package/web-ui/build/static/opencl-9Q3vRDxv.js +0 -1
- package/web-ui/build/static/openqasm-D2QiuFBp.js +0 -1
- package/web-ui/build/static/openscad-C3HyuzpB.js +0 -1
- package/web-ui/build/static/oxygene-4gi-VYy_.js +0 -1
- package/web-ui/build/static/oz-BGDEB-1A.js +0 -1
- package/web-ui/build/static/parigp-CfZzp1uE.js +0 -1
- package/web-ui/build/static/parser-UbGteTcy.js +0 -1
- package/web-ui/build/static/parser3-C-Jx-fy7.js +0 -1
- package/web-ui/build/static/pascal-D1_R0gW-.js +0 -1
- package/web-ui/build/static/pascaligo-B8C-98Np.js +0 -1
- package/web-ui/build/static/pcaxis-TGnlUKNs.js +0 -1
- package/web-ui/build/static/peoplecode-C5Vf1AH0.js +0 -1
- package/web-ui/build/static/perl-CBp1N62T.js +0 -1
- package/web-ui/build/static/perl-Z59j904t.js +0 -1
- package/web-ui/build/static/pf-Cq8B_xwQ.js +0 -1
- package/web-ui/build/static/pgsql-ofJbUHkL.js +0 -1
- package/web-ui/build/static/php-OlH7HLQJ.js +0 -1
- package/web-ui/build/static/php-extras-GqtrxLuk.js +0 -1
- package/web-ui/build/static/php-r09kMDOB.js +0 -1
- package/web-ui/build/static/php-template-18uT97Qo.js +0 -1
- package/web-ui/build/static/phpdoc-9tRFvup9.js +0 -1
- package/web-ui/build/static/plaintext-DsYT6Mu-.js +0 -1
- package/web-ui/build/static/plsql-RhWQNJVb.js +0 -1
- package/web-ui/build/static/pony-DD6JMLYI.js +0 -1
- package/web-ui/build/static/powerquery-CALow-bt.js +0 -1
- package/web-ui/build/static/powershell-C2QvIuKF.js +0 -1
- package/web-ui/build/static/powershell-yrbJEhCh.js +0 -1
- package/web-ui/build/static/processing-1T5w_Q03.js +0 -1
- package/web-ui/build/static/processing-DBim_dO-.js +0 -1
- package/web-ui/build/static/profile-Cdloh8mZ.js +0 -1
- package/web-ui/build/static/prolog-DRSsNnns.js +0 -1
- package/web-ui/build/static/prolog-D_ajweDr.js +0 -1
- package/web-ui/build/static/promql-BRuwn6Bn.js +0 -1
- package/web-ui/build/static/properties-D5Wyl4X4.js +0 -1
- package/web-ui/build/static/properties-kn4fl1bl.js +0 -1
- package/web-ui/build/static/protobuf-BMO76zWi.js +0 -1
- package/web-ui/build/static/protobuf-CTUCF-U-.js +0 -1
- package/web-ui/build/static/psl-CiqYdQbY.js +0 -1
- package/web-ui/build/static/pug-BLE2Qayj.js +0 -1
- package/web-ui/build/static/puppet-CFKLWXft.js +0 -1
- package/web-ui/build/static/puppet-DQci0Dl5.js +0 -1
- package/web-ui/build/static/pure-D2h_GynV.js +0 -1
- package/web-ui/build/static/purebasic-BF8MVw8V.js +0 -1
- package/web-ui/build/static/purebasic-BTtHiCkh.js +0 -1
- package/web-ui/build/static/purescript-D1ZSh-sH.js +0 -1
- package/web-ui/build/static/python-Cp9_Vdhb.js +0 -1
- package/web-ui/build/static/python-DdgNw8IW.js +0 -1
- package/web-ui/build/static/python-repl-DvK89VMC.js +0 -1
- package/web-ui/build/static/q-COaIgwhT.js +0 -1
- package/web-ui/build/static/q-Cm0dQkW8.js +0 -1
- package/web-ui/build/static/qml-BpsOqqJM.js +0 -1
- package/web-ui/build/static/qml-BziQXlU4.js +0 -1
- package/web-ui/build/static/qore-Cutz6g-2.js +0 -1
- package/web-ui/build/static/qsharp-B16619X1.js +0 -1
- package/web-ui/build/static/r-CFUIj5Hd.js +0 -1
- package/web-ui/build/static/r-CPrwCi5w.js +0 -1
- package/web-ui/build/static/racket-Bh08DFXF.js +0 -1
- package/web-ui/build/static/reason-BxjDq4e-.js +0 -1
- package/web-ui/build/static/reasonml-Ds5SsGP8.js +0 -1
- package/web-ui/build/static/regex-DhBIDIMI.js +0 -1
- package/web-ui/build/static/rego-DCwxZXcB.js +0 -1
- package/web-ui/build/static/renpy-C2fuQfqb.js +0 -1
- package/web-ui/build/static/rest-C52ZpxWQ.js +0 -1
- package/web-ui/build/static/rib-Cbl2Mzyj.js +0 -1
- package/web-ui/build/static/rip-BTOu5ZIE.js +0 -1
- package/web-ui/build/static/roboconf-3Oi2wuVk.js +0 -1
- package/web-ui/build/static/roboconf-ndLZLE39.js +0 -1
- package/web-ui/build/static/robotframework-BzHXiIj1.js +0 -1
- package/web-ui/build/static/routeros-CkpPoqx-.js +0 -1
- package/web-ui/build/static/rsl-C0bwOQ38.js +0 -1
- package/web-ui/build/static/ruby-C_hIhtuQ.js +0 -1
- package/web-ui/build/static/ruby-DvKfZPzj.js +0 -1
- package/web-ui/build/static/ruleslanguage-CbZJlddz.js +0 -1
- package/web-ui/build/static/rust-BFPIhB-X.js +0 -1
- package/web-ui/build/static/rust-sBpUq-qE.js +0 -1
- package/web-ui/build/static/sas-BCXvYN9x.js +0 -1
- package/web-ui/build/static/sas-D7GAsTY3.js +0 -1
- package/web-ui/build/static/sass-BdaErGMN.js +0 -1
- package/web-ui/build/static/scala-Cj81oCl9.js +0 -1
- package/web-ui/build/static/scala-CvbksfY6.js +0 -1
- package/web-ui/build/static/scheme-BM5ZqKnl.js +0 -1
- package/web-ui/build/static/scheme-BPvlu9Tk.js +0 -1
- package/web-ui/build/static/scilab-CJanLKQN.js +0 -1
- package/web-ui/build/static/scss-C53YF_7f.js +0 -1
- package/web-ui/build/static/scss-DPp8UZbr.js +0 -1
- package/web-ui/build/static/shell-CC9bQXMe.js +0 -1
- package/web-ui/build/static/shell-session-CuR3fbf-.js +0 -1
- package/web-ui/build/static/smali-CUgLls3D.js +0 -1
- package/web-ui/build/static/smali-YODSX8qt.js +0 -1
- package/web-ui/build/static/smalltalk-BMJQ4bbs.js +0 -1
- package/web-ui/build/static/smalltalk-BVGY3CTl.js +0 -1
- package/web-ui/build/static/smarty-C9aNt4-p.js +0 -1
- package/web-ui/build/static/sml-C3BIHhfq.js +0 -1
- package/web-ui/build/static/sml-DTipyRmY.js +0 -1
- package/web-ui/build/static/solidity-1yuPUqoC.js +0 -1
- package/web-ui/build/static/solution-file-BgzK4GOU.js +0 -1
- package/web-ui/build/static/soy-CFJXRvqc.js +0 -1
- package/web-ui/build/static/sparql-CAosYMpl.js +0 -1
- package/web-ui/build/static/splunk-spl-DkINtWr8.js +0 -1
- package/web-ui/build/static/sqf-DbrWIS2M.js +0 -1
- package/web-ui/build/static/sqf-nq8Q9J2W.js +0 -1
- package/web-ui/build/static/sql-9bwClhZQ.js +0 -1
- package/web-ui/build/static/sql-CqPkY-lX.js +0 -1
- package/web-ui/build/static/sql_more-CsY5ts77.js +0 -1
- package/web-ui/build/static/squirrel-BuqtzRBD.js +0 -1
- package/web-ui/build/static/stan-BNxBSglc.js +0 -1
- package/web-ui/build/static/stan-CZVMc34l.js +0 -1
- package/web-ui/build/static/stata-DKnVdHCd.js +0 -1
- package/web-ui/build/static/step21-Cu_TaBGF.js +0 -1
- package/web-ui/build/static/stylus-BS7-OJew.js +0 -1
- package/web-ui/build/static/stylus-DtFrp1Nk.js +0 -1
- package/web-ui/build/static/subunit-DDCoWkkc.js +0 -1
- package/web-ui/build/static/swift-BaguUZbl.js +0 -1
- package/web-ui/build/static/swift-mwBsb8Bx.js +0 -1
- package/web-ui/build/static/systemd-D6PpyDKk.js +0 -1
- package/web-ui/build/static/t4-cs-Cem8g4Ck.js +0 -1
- package/web-ui/build/static/t4-templating-BZo-HjmD.js +0 -1
- package/web-ui/build/static/t4-vb-B4oVnKa4.js +0 -1
- package/web-ui/build/static/taggerscript-DweAZ5pw.js +0 -1
- package/web-ui/build/static/tap-DpuvKHHF.js +0 -1
- package/web-ui/build/static/tap-hUKmJObZ.js +0 -1
- package/web-ui/build/static/tcl-BUvhAi7u.js +0 -1
- package/web-ui/build/static/tcl-Dsck63d8.js +0 -1
- package/web-ui/build/static/textile-CgKbqJ-j.js +0 -1
- package/web-ui/build/static/thrift-B5H6rApp.js +0 -1
- package/web-ui/build/static/toml-DggTpfOo.js +0 -1
- package/web-ui/build/static/tp-CazB2P2X.js +0 -1
- package/web-ui/build/static/tremor-B1jy7S5p.js +0 -1
- package/web-ui/build/static/tsx-BqF2lVDi.js +0 -1
- package/web-ui/build/static/tt2-BNoNXpEe.js +0 -1
- package/web-ui/build/static/turtle-B0evd5mn.js +0 -1
- package/web-ui/build/static/twig-B5A7nMdv.js +0 -1
- package/web-ui/build/static/twig-DZnLWvh8.js +0 -1
- package/web-ui/build/static/typescript-Bbe_P093.js +0 -1
- package/web-ui/build/static/typescript-BfhvmSSG.js +0 -1
- package/web-ui/build/static/typoscript-BjuZEIgw.js +0 -1
- package/web-ui/build/static/unrealscript-C3iUCFRi.js +0 -1
- package/web-ui/build/static/uorazor-CbZXwzIj.js +0 -1
- package/web-ui/build/static/uri-xMPSnp6m.js +0 -1
- package/web-ui/build/static/v-BKcGo5I6.js +0 -1
- package/web-ui/build/static/vala-BRoBE4am.js +0 -1
- package/web-ui/build/static/vala-B__Iyrma.js +0 -1
- package/web-ui/build/static/vbnet-DBxlMRvN.js +0 -1
- package/web-ui/build/static/vbnet-DjAXt5BE.js +0 -1
- package/web-ui/build/static/vbscript-BNA4oANi.js +0 -1
- package/web-ui/build/static/vbscript-html-o8ckLPKG.js +0 -1
- package/web-ui/build/static/velocity-D7sc5ggA.js +0 -1
- package/web-ui/build/static/verilog-BWJfMIng.js +0 -1
- package/web-ui/build/static/verilog-jW2GPC--.js +0 -1
- package/web-ui/build/static/vhdl-BIVlXRPa.js +0 -1
- package/web-ui/build/static/vhdl-BeqdhhxD.js +0 -1
- package/web-ui/build/static/vim-712lI4-g.js +0 -1
- package/web-ui/build/static/vim-DMROTzr0.js +0 -1
- package/web-ui/build/static/visual-basic-CQfbM-ta.js +0 -1
- package/web-ui/build/static/warpscript-DFAvCXFQ.js +0 -1
- package/web-ui/build/static/wasm-CiYoxBl0.js +0 -1
- package/web-ui/build/static/web-idl-DoCkPK8y.js +0 -1
- package/web-ui/build/static/wiki-bvz0AGzB.js +0 -1
- package/web-ui/build/static/wolfram-fBuyFEgU.js +0 -1
- package/web-ui/build/static/wren-DvATFxjF.js +0 -1
- package/web-ui/build/static/x86asm-r4bPbUR_.js +0 -1
- package/web-ui/build/static/xeora-B6iOnDJY.js +0 -1
- package/web-ui/build/static/xl-Ce6B5slc.js +0 -1
- package/web-ui/build/static/xml-DNjyPmhQ.js +0 -1
- package/web-ui/build/static/xml-doc-DydogmZD.js +0 -1
- package/web-ui/build/static/xojo-DCQLltvr.js +0 -1
- package/web-ui/build/static/xquery-C-fAnA0H.js +0 -1
- package/web-ui/build/static/xquery-CNeqzhLO.js +0 -1
- package/web-ui/build/static/yaml-BsVaGsk5.js +0 -1
- package/web-ui/build/static/yaml-kVZvwv_C.js +0 -1
- package/web-ui/build/static/yang-B_gq9JEq.js +0 -1
- package/web-ui/build/static/zephir-ECIXgXhX.js +0 -1
- package/web-ui/build/static/zig-DY325EKG.js +0 -1
|
@@ -37,6 +37,34 @@ import {
|
|
|
37
37
|
shouldSkipIteration
|
|
38
38
|
} from '../services/agentActivityService.js';
|
|
39
39
|
|
|
40
|
+
/**
|
|
41
|
+
* True iff `text` contains the digit sequence `code` not flanked by other
|
|
42
|
+
* digits. Used for HTTP status-code detection inside free-text error
|
|
43
|
+
* messages (e.g. "HTTP 401 Unauthorized" or "got 503 from upstream")
|
|
44
|
+
* without matching "1401" or "5039".
|
|
45
|
+
*
|
|
46
|
+
* Chosen over the regex `/\b401\b/` because (a) `\b` doesn't actually
|
|
47
|
+
* mean "non-digit boundary" — it means "transition between \w and \W",
|
|
48
|
+
* which still treats "_401" as a match — and (b) plain string ops are
|
|
49
|
+
* easier to read and harder to break under future maintenance.
|
|
50
|
+
*
|
|
51
|
+
* @param {string} text The error message, already lowercased.
|
|
52
|
+
* @param {string} code The status code as a digit string, e.g. "401".
|
|
53
|
+
* @returns {boolean}
|
|
54
|
+
*/
|
|
55
|
+
function containsStatusCode(text, code) {
|
|
56
|
+
let i = 0;
|
|
57
|
+
while ((i = text.indexOf(code, i)) !== -1) {
|
|
58
|
+
const before = i === 0 ? '' : text[i - 1];
|
|
59
|
+
const after = (i + code.length >= text.length) ? '' : text[i + code.length];
|
|
60
|
+
const beforeIsDigit = before >= '0' && before <= '9';
|
|
61
|
+
const afterIsDigit = after >= '0' && after <= '9';
|
|
62
|
+
if (!beforeIsDigit && !afterIsDigit) return true;
|
|
63
|
+
i += code.length;
|
|
64
|
+
}
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
|
|
40
68
|
class AgentScheduler {
|
|
41
69
|
/**
|
|
42
70
|
* Register the Discord service so the scheduler can ask whether a given
|
|
@@ -1638,6 +1666,16 @@ class AgentScheduler {
|
|
|
1638
1666
|
// Update AgentPool with compacted messages — pass pre-compaction watermark
|
|
1639
1667
|
await this.agentPool.updateCompactedMessages(agentId, targetModel, compactionResult, preCompactionMessageCount);
|
|
1640
1668
|
|
|
1669
|
+
// Mark a one-shot post-compaction nudge for the next turn. The
|
|
1670
|
+
// agentScheduler reads this on the next prompt-build to emit a
|
|
1671
|
+
// "consult AGENT MEMORY for context that may have been summarized
|
|
1672
|
+
// away" reminder, then clears the flag. Best-effort — never
|
|
1673
|
+
// block the rest of the compaction completion.
|
|
1674
|
+
try {
|
|
1675
|
+
const agent = await this.agentPool.getAgent(agentId);
|
|
1676
|
+
if (agent) agent._postCompactionNudgePending = true;
|
|
1677
|
+
} catch (_) { /* swallow — non-essential */ }
|
|
1678
|
+
|
|
1641
1679
|
if (ENABLE_COMPACT_DEBUG) {
|
|
1642
1680
|
console.log('[COMPACT-COMPLETED]', {
|
|
1643
1681
|
agentId,
|
|
@@ -2147,6 +2185,87 @@ class AgentScheduler {
|
|
|
2147
2185
|
});
|
|
2148
2186
|
}
|
|
2149
2187
|
|
|
2188
|
+
// ── Auto-inject CODEBASE KNOWLEDGE index every turn ─────────────
|
|
2189
|
+
// Production observation (Monopoly mission, May 2026): 22 code-map
|
|
2190
|
+
// skeleton calls on the SAME file, 80% of those re-calls happened
|
|
2191
|
+
// while the original tool result was still in the agent's active
|
|
2192
|
+
// context — the agent simply didn't notice. A salient index at a
|
|
2193
|
+
// stable system-prompt location addresses this attention failure.
|
|
2194
|
+
// The index also survives compaction, addressing the 20% of
|
|
2195
|
+
// re-calls that occur after compaction. See
|
|
2196
|
+
// services/codebaseKnowledgeService.js for the full design.
|
|
2197
|
+
//
|
|
2198
|
+
// Capability gate: only runs for agents that have code-map in
|
|
2199
|
+
// their capabilities. The cache is only populated by code-map
|
|
2200
|
+
// calls today, so non-coder agents would never have anything to
|
|
2201
|
+
// surface — no point paying the per-turn lookup overhead.
|
|
2202
|
+
if (Array.isArray(agent.capabilities) && agent.capabilities.includes('code-map')) {
|
|
2203
|
+
try {
|
|
2204
|
+
const { getCodebaseKnowledgeService } = await import('../services/codebaseKnowledgeService.js');
|
|
2205
|
+
const ks = getCodebaseKnowledgeService(this.logger);
|
|
2206
|
+
const block = ks.buildIndexBlock(agentId);
|
|
2207
|
+
if (block) enhancedSystemPrompt = (enhancedSystemPrompt || '') + block;
|
|
2208
|
+
} catch (ksErr) {
|
|
2209
|
+
this.logger.warn(`Codebase-knowledge injection failed for agent ${agentId} (continuing without)`, {
|
|
2210
|
+
error: ksErr?.message,
|
|
2211
|
+
});
|
|
2212
|
+
}
|
|
2213
|
+
}
|
|
2214
|
+
|
|
2215
|
+
// ── Auto-inject AGENT MEMORY catalog every turn ─────────────────
|
|
2216
|
+
// Compact list of memory IDs + titles (no contents) so the agent
|
|
2217
|
+
// KNOWS what's in its memory store without paying the prompt-token
|
|
2218
|
+
// cost of injecting full contents. Production observation
|
|
2219
|
+
// (Monopoly mission, 1556 messages): 0 memory operations all
|
|
2220
|
+
// session — the agent never consulted memories that existed.
|
|
2221
|
+
// Visibility-only injection: agent can call `memory read` if a
|
|
2222
|
+
// catalog entry looks relevant. Empirical wording verified safe
|
|
2223
|
+
// (no in-context-learning bait) by the same harness that caught
|
|
2224
|
+
// the codebase-knowledge regression earlier.
|
|
2225
|
+
//
|
|
2226
|
+
// Capability gate: only inject when the agent has memory in its
|
|
2227
|
+
// capability set — agents that can't read/write memory would just
|
|
2228
|
+
// be confused by the section.
|
|
2229
|
+
if (Array.isArray(agent.capabilities) && agent.capabilities.includes('memory')) {
|
|
2230
|
+
try {
|
|
2231
|
+
const { getMemoryService } = await import('../services/memoryService.js');
|
|
2232
|
+
const mem = getMemoryService(this.logger);
|
|
2233
|
+
await mem.initialize();
|
|
2234
|
+
const catalog = await mem.getCatalog(agentId, 20);
|
|
2235
|
+
if (catalog && catalog.entries && catalog.entries.length > 0) {
|
|
2236
|
+
const lines = ['', '## AGENT MEMORY (catalog — ids and titles only; use `memory read` for content)', ''];
|
|
2237
|
+
for (const e of catalog.entries) {
|
|
2238
|
+
const desc = e.description ? ` "${e.description}"` : '';
|
|
2239
|
+
lines.push(`- ${e.id} ${e.title}${desc}`);
|
|
2240
|
+
}
|
|
2241
|
+
if (catalog.total > catalog.entries.length) {
|
|
2242
|
+
lines.push(`- … ${catalog.total - catalog.entries.length} more (use \`memory list\` to see all)`);
|
|
2243
|
+
}
|
|
2244
|
+
enhancedSystemPrompt = (enhancedSystemPrompt || '') + lines.join('\n');
|
|
2245
|
+
}
|
|
2246
|
+
} catch (memErr) {
|
|
2247
|
+
this.logger.warn(`Memory catalog injection failed for agent ${agentId} (continuing without)`, {
|
|
2248
|
+
error: memErr?.message,
|
|
2249
|
+
});
|
|
2250
|
+
}
|
|
2251
|
+
}
|
|
2252
|
+
|
|
2253
|
+
// ── Post-compaction nudge (one-shot) ────────────────────────────
|
|
2254
|
+
// When compaction has just run, the agent has lost a chunk of
|
|
2255
|
+
// recent history. This is the highest-value moment to consult
|
|
2256
|
+
// memory — older context may have been summarized away but
|
|
2257
|
+
// memories remain. Emit a single nudge then clear the flag.
|
|
2258
|
+
if (agent._postCompactionNudgePending) {
|
|
2259
|
+
const nudge = '\n\n## POST-COMPACTION NUDGE (one-time)\n\n' +
|
|
2260
|
+
'Compaction just summarized older messages. If your current work continues from before the compaction boundary, ' +
|
|
2261
|
+
'scan the `## AGENT MEMORY` catalog above — older context that was summarized may still be available as a memory ' +
|
|
2262
|
+
'you can `memory read` by id.';
|
|
2263
|
+
enhancedSystemPrompt = (enhancedSystemPrompt || '') + nudge;
|
|
2264
|
+
try {
|
|
2265
|
+
agent._postCompactionNudgePending = false;
|
|
2266
|
+
} catch (_) { /* read-only proxy edge case */ }
|
|
2267
|
+
}
|
|
2268
|
+
|
|
2150
2269
|
// Check if streaming is enabled - consider both agent config and user message preference
|
|
2151
2270
|
// Get the last user message to check for streaming preference
|
|
2152
2271
|
const lastUserMsg = [...conversationHistory].reverse().find(m => m.role === 'user');
|
|
@@ -2156,6 +2275,39 @@ class AgentScheduler {
|
|
|
2156
2275
|
? userStreamingPref !== false
|
|
2157
2276
|
: agent.streamingEnabled !== false; // Default to true
|
|
2158
2277
|
|
|
2278
|
+
// ── Auto-recall: silent retrieval injected per turn (Phase 6d.2) ─
|
|
2279
|
+
// When embeddings + autoRecall.enabled, look up high-similarity
|
|
2280
|
+
// memory + reminisce items against the user's most recent message
|
|
2281
|
+
// and append them under "## RELEVANT CONTEXT (auto-recalled)".
|
|
2282
|
+
// Hybrid call path: voluntary `memory.semantic-search` remains the
|
|
2283
|
+
// explicit primitive; this is the silent supplement. Lit-aligned
|
|
2284
|
+
// with the ChatGPT / Anthropic Memory shape — see Phase 6 design.
|
|
2285
|
+
//
|
|
2286
|
+
// Best-effort: failures NEVER block the turn. Gated by:
|
|
2287
|
+
// - agent has 'memory' capability (no point recalling for an
|
|
2288
|
+
// agent that can't read/write memories)
|
|
2289
|
+
// - aiService.augmentSystemPrompt is present (older builds
|
|
2290
|
+
// without Phase 6d skip cleanly)
|
|
2291
|
+
// - the helper itself short-circuits on disabled/empty config
|
|
2292
|
+
if (
|
|
2293
|
+
Array.isArray(agent.capabilities) &&
|
|
2294
|
+
agent.capabilities.includes('memory') &&
|
|
2295
|
+
typeof this.aiService?.augmentSystemPrompt === 'function'
|
|
2296
|
+
) {
|
|
2297
|
+
try {
|
|
2298
|
+
const recentText = typeof lastUserMsg?.content === 'string' ? lastUserMsg.content : '';
|
|
2299
|
+
if (recentText) {
|
|
2300
|
+
enhancedSystemPrompt = await this.aiService.augmentSystemPrompt(
|
|
2301
|
+
enhancedSystemPrompt, agentId, recentText,
|
|
2302
|
+
);
|
|
2303
|
+
}
|
|
2304
|
+
} catch (err) {
|
|
2305
|
+
this.logger.warn?.(`Auto-recall injection failed for agent ${agentId} (continuing without)`, {
|
|
2306
|
+
error: err?.message,
|
|
2307
|
+
});
|
|
2308
|
+
}
|
|
2309
|
+
}
|
|
2310
|
+
|
|
2159
2311
|
// Native function-call tools for the agent's enabled capabilities.
|
|
2160
2312
|
// Passed as `options.tools` to the backend. For Responses-API models
|
|
2161
2313
|
// (codex/o-series/gpt-5-pro) the backend forwards these to Azure so
|
|
@@ -2684,18 +2836,69 @@ class AgentScheduler {
|
|
|
2684
2836
|
return; // Don't proceed with other error handling
|
|
2685
2837
|
}
|
|
2686
2838
|
|
|
2687
|
-
//
|
|
2839
|
+
// Classification. Two reasons we do this here and not at AI-service call
|
|
2840
|
+
// sites: (1) we already have the canonical error object, (2) the
|
|
2841
|
+
// scheduler is the only place that decides "retry vs pause vs alert".
|
|
2842
|
+
//
|
|
2843
|
+
// Persistent vs transient is the key axis: persistent failures need a
|
|
2844
|
+
// human in the loop (broadcast `agent_error` so it reaches the UI and
|
|
2845
|
+
// Telegram); transient failures self-heal (skip the broadcast — they
|
|
2846
|
+
// were the source of the per-minute Telegram floods historically).
|
|
2688
2847
|
const errorMessage = error.message?.toLowerCase() || '';
|
|
2689
2848
|
|
|
2690
|
-
|
|
2691
|
-
|
|
2849
|
+
// Plain string operations only — no regex. Each classifier reads
|
|
2850
|
+
// top-down as a flat list of substring or status-code probes,
|
|
2851
|
+
// making it obvious what's matched and trivial to extend.
|
|
2852
|
+
const isAuthError =
|
|
2853
|
+
errorMessage.includes('api key')
|
|
2854
|
+
|| errorMessage.includes('api-key')
|
|
2855
|
+
|| errorMessage.includes('api_key')
|
|
2856
|
+
|| errorMessage.includes('apikey')
|
|
2857
|
+
|| errorMessage.includes('authentication')
|
|
2858
|
+
|| errorMessage.includes('unauthorized')
|
|
2859
|
+
|| errorMessage.includes('forbidden')
|
|
2860
|
+
|| containsStatusCode(errorMessage, '401')
|
|
2861
|
+
|| containsStatusCode(errorMessage, '403');
|
|
2862
|
+
|
|
2863
|
+
const isRateLimit =
|
|
2864
|
+
errorMessage.includes('rate limit')
|
|
2865
|
+
|| errorMessage.includes('rate-limit')
|
|
2866
|
+
|| errorMessage.includes('ratelimit')
|
|
2867
|
+
|| errorMessage.includes('too many requests')
|
|
2868
|
+
|| containsStatusCode(errorMessage, '429');
|
|
2869
|
+
|
|
2870
|
+
// The bare "busy" branch is acceptable because the cost of a false
|
|
2871
|
+
// positive is just a 2-min quiet retry (no broadcast, no escalation).
|
|
2872
|
+
const isProviderOverload =
|
|
2873
|
+
errorMessage.includes('overload')
|
|
2874
|
+
|| errorMessage.includes('capacity')
|
|
2875
|
+
|| errorMessage.includes('busy')
|
|
2876
|
+
|| containsStatusCode(errorMessage, '529');
|
|
2877
|
+
|
|
2878
|
+
const isGatewayError =
|
|
2879
|
+
errorMessage.includes('service unavailable')
|
|
2880
|
+
|| errorMessage.includes('gateway')
|
|
2881
|
+
|| errorMessage.includes('upstream')
|
|
2882
|
+
|| containsStatusCode(errorMessage, '503')
|
|
2883
|
+
|| containsStatusCode(errorMessage, '504');
|
|
2884
|
+
|
|
2885
|
+
const isNetworkError =
|
|
2886
|
+
errorMessage.includes('network')
|
|
2887
|
+
|| errorMessage.includes('connection')
|
|
2888
|
+
|| errorMessage.includes('econnrefused')
|
|
2889
|
+
|| errorMessage.includes('etimedout')
|
|
2890
|
+
|| errorMessage.includes('enotfound')
|
|
2891
|
+
|| errorMessage.includes('fetch failed');
|
|
2892
|
+
|
|
2893
|
+
if (isAuthError) {
|
|
2894
|
+
// PERSISTENT — only the user can resolve. Long pause + broadcast so
|
|
2895
|
+
// the Telegram fanout (and UI banner) tell them what's wrong.
|
|
2692
2896
|
this.logger.warn(`Agent ${agentId} paused due to API key issue`);
|
|
2693
2897
|
|
|
2694
2898
|
agent.delayEndTime = new Date(Date.now() + SCHEDULER_CONFIG.API_KEY_ERROR_DELAY_MS).toISOString();
|
|
2695
2899
|
await this.agentPool.persistAgentState(agentId);
|
|
2696
2900
|
await this.broadcastAgentStateUpdate(agentId, 'api-key-error');
|
|
2697
2901
|
|
|
2698
|
-
// Add error message to agent's queue
|
|
2699
2902
|
await this.agentPool.addToolResult(agentId, {
|
|
2700
2903
|
toolId: 'system-error',
|
|
2701
2904
|
status: 'failed',
|
|
@@ -2703,16 +2906,39 @@ class AgentScheduler {
|
|
|
2703
2906
|
timestamp: new Date().toISOString()
|
|
2704
2907
|
});
|
|
2705
2908
|
|
|
2706
|
-
|
|
2707
|
-
|
|
2909
|
+
this._broadcastAgentError(agent, 'API key issue — check Settings → API Keys.', error);
|
|
2910
|
+
|
|
2911
|
+
} else if (isRateLimit) {
|
|
2912
|
+
// TRANSIENT — provider asked us to back off. No broadcast.
|
|
2708
2913
|
this.logger.warn(`Agent ${agentId} delayed due to rate limiting`);
|
|
2709
2914
|
|
|
2710
2915
|
agent.delayEndTime = new Date(Date.now() + SCHEDULER_CONFIG.RATE_LIMIT_DELAY_MS).toISOString();
|
|
2711
2916
|
await this.agentPool.persistAgentState(agentId);
|
|
2712
2917
|
await this.broadcastAgentStateUpdate(agentId, 'rate-limit');
|
|
2713
2918
|
|
|
2714
|
-
} else if (
|
|
2715
|
-
//
|
|
2919
|
+
} else if (isProviderOverload) {
|
|
2920
|
+
// TRANSIENT — provider is over capacity (e.g. Anthropic 529). No
|
|
2921
|
+
// broadcast: there's nothing actionable on the user's side. Reuse
|
|
2922
|
+
// rate-limit's 2-min delay since the upstream advice is identical:
|
|
2923
|
+
// "back off and try again."
|
|
2924
|
+
this.logger.warn(`Agent ${agentId} delayed due to provider overload`);
|
|
2925
|
+
|
|
2926
|
+
agent.delayEndTime = new Date(Date.now() + SCHEDULER_CONFIG.RATE_LIMIT_DELAY_MS).toISOString();
|
|
2927
|
+
await this.agentPool.persistAgentState(agentId);
|
|
2928
|
+
await this.broadcastAgentStateUpdate(agentId, 'provider-overload');
|
|
2929
|
+
|
|
2930
|
+
} else if (isGatewayError) {
|
|
2931
|
+
// TRANSIENT — 5xx / gateway / upstream timeout. Reuse the network
|
|
2932
|
+
// 30-second delay; if it's still failing after a few retries it
|
|
2933
|
+
// will eventually fall through to the unknown branch and broadcast.
|
|
2934
|
+
this.logger.warn(`Agent ${agentId} delayed due to gateway/5xx error`);
|
|
2935
|
+
|
|
2936
|
+
agent.delayEndTime = new Date(Date.now() + SCHEDULER_CONFIG.NETWORK_ERROR_DELAY_MS).toISOString();
|
|
2937
|
+
await this.agentPool.persistAgentState(agentId);
|
|
2938
|
+
await this.broadcastAgentStateUpdate(agentId, 'gateway-error');
|
|
2939
|
+
|
|
2940
|
+
} else if (isNetworkError) {
|
|
2941
|
+
// TRANSIENT — connectivity. No broadcast.
|
|
2716
2942
|
this.logger.warn(`Agent ${agentId} delayed due to network issues`);
|
|
2717
2943
|
|
|
2718
2944
|
agent.delayEndTime = new Date(Date.now() + SCHEDULER_CONFIG.NETWORK_ERROR_DELAY_MS).toISOString();
|
|
@@ -2720,44 +2946,55 @@ class AgentScheduler {
|
|
|
2720
2946
|
await this.broadcastAgentStateUpdate(agentId, 'network-error');
|
|
2721
2947
|
|
|
2722
2948
|
} else if (this.isTokenLimitError(errorMessage)) {
|
|
2723
|
-
// Token/context limit error
|
|
2949
|
+
// Token/context limit error — trigger emergency compaction and retry.
|
|
2724
2950
|
await this.handleTokenLimitError(agentId, agent, error);
|
|
2725
|
-
return; // Don't add error message or broadcast
|
|
2951
|
+
return; // Don't add error message or broadcast — will retry after compaction.
|
|
2726
2952
|
|
|
2727
2953
|
} else {
|
|
2728
|
-
//
|
|
2954
|
+
// PERSISTENT (unknown shape) — we don't know what to do, so alert.
|
|
2955
|
+
// The Telegram service's _registerErrorBroadcast dedup keeps this
|
|
2956
|
+
// from flooding if the loop persists.
|
|
2729
2957
|
this.logger.error(`Agent ${agentId} paused due to unknown AI service error: ${error.message}`);
|
|
2730
2958
|
|
|
2731
2959
|
agent.delayEndTime = new Date(Date.now() + SCHEDULER_CONFIG.UNKNOWN_ERROR_DELAY_MS).toISOString();
|
|
2732
2960
|
await this.agentPool.persistAgentState(agentId);
|
|
2733
2961
|
await this.broadcastAgentStateUpdate(agentId, 'server-error');
|
|
2734
2962
|
|
|
2735
|
-
// Add error message to agent's queue
|
|
2736
2963
|
await this.agentPool.addToolResult(agentId, {
|
|
2737
2964
|
toolId: 'system-error',
|
|
2738
2965
|
status: 'failed',
|
|
2739
2966
|
error: `AI service error: ${error.message}. Agent temporarily paused.`,
|
|
2740
2967
|
timestamp: new Date().toISOString()
|
|
2741
2968
|
});
|
|
2742
|
-
}
|
|
2743
2969
|
|
|
2744
|
-
|
|
2745
|
-
if (this.webSocketManager && this.webSocketManager.broadcastToSession) {
|
|
2746
|
-
const sessionId = this.getAgentSession(agentId) || agent.sessionId || 'scheduler-session';
|
|
2747
|
-
|
|
2748
|
-
// FIX: Wrap payload in 'data' field to match UI expectations
|
|
2749
|
-
this.webSocketManager.broadcastToSession(sessionId, {
|
|
2750
|
-
type: 'agent_error',
|
|
2751
|
-
data: {
|
|
2752
|
-
agentId: agentId,
|
|
2753
|
-
error: error.message,
|
|
2754
|
-
recovery: 'Agent temporarily paused for recovery',
|
|
2755
|
-
timestamp: new Date().toISOString()
|
|
2756
|
-
}
|
|
2757
|
-
});
|
|
2970
|
+
this._broadcastAgentError(agent, 'Agent temporarily paused for recovery', error);
|
|
2758
2971
|
}
|
|
2759
2972
|
}
|
|
2760
2973
|
|
|
2974
|
+
/**
|
|
2975
|
+
* Emit a `type: 'agent_error'` broadcast. Only called from the persistent
|
|
2976
|
+
* failure branches (auth + unknown). Transient branches (rate-limit,
|
|
2977
|
+
* provider-overload, gateway, network) deliberately do NOT broadcast —
|
|
2978
|
+
* those used to flood Telegram every cycle and added no signal because
|
|
2979
|
+
* the user couldn't act on them anyway.
|
|
2980
|
+
*
|
|
2981
|
+
* @private
|
|
2982
|
+
*/
|
|
2983
|
+
_broadcastAgentError(agent, recovery, error) {
|
|
2984
|
+
if (!this.webSocketManager || !this.webSocketManager.broadcastToSession) return;
|
|
2985
|
+
const sessionId = this.getAgentSession(agent.id) || agent.sessionId || 'scheduler-session';
|
|
2986
|
+
this.webSocketManager.broadcastToSession(sessionId, {
|
|
2987
|
+
type: 'agent_error',
|
|
2988
|
+
data: {
|
|
2989
|
+
agentId: agent.id,
|
|
2990
|
+
agentName: agent.name,
|
|
2991
|
+
error: error.message,
|
|
2992
|
+
recovery,
|
|
2993
|
+
timestamp: new Date().toISOString(),
|
|
2994
|
+
},
|
|
2995
|
+
});
|
|
2996
|
+
}
|
|
2997
|
+
|
|
2761
2998
|
/**
|
|
2762
2999
|
* Check if error message indicates a token/context limit error
|
|
2763
3000
|
* @param {string} errorMessage - Lowercased error message
|
|
@@ -2765,7 +3002,7 @@ class AgentScheduler {
|
|
|
2765
3002
|
* @private
|
|
2766
3003
|
*/
|
|
2767
3004
|
isTokenLimitError(errorMessage) {
|
|
2768
|
-
const
|
|
3005
|
+
const substrings = [
|
|
2769
3006
|
'prompt is too long',
|
|
2770
3007
|
'tokens',
|
|
2771
3008
|
'context length',
|
|
@@ -2774,15 +3011,15 @@ class AgentScheduler {
|
|
|
2774
3011
|
'token limit',
|
|
2775
3012
|
'max_tokens',
|
|
2776
3013
|
'context_length_exceeded',
|
|
2777
|
-
'maximum.*exceeded'
|
|
2778
3014
|
];
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
|
|
3015
|
+
for (const p of substrings) {
|
|
3016
|
+
if (errorMessage.includes(p)) return true;
|
|
3017
|
+
}
|
|
3018
|
+
// Match the old 'maximum.*exceeded' regex case without the regex:
|
|
3019
|
+
// "maximum" followed somewhere later by "exceeded" in the same string.
|
|
3020
|
+
const maxIdx = errorMessage.indexOf('maximum');
|
|
3021
|
+
if (maxIdx !== -1 && errorMessage.indexOf('exceeded', maxIdx) !== -1) return true;
|
|
3022
|
+
return false;
|
|
2786
3023
|
}
|
|
2787
3024
|
|
|
2788
3025
|
/**
|
package/src/index.js
CHANGED
|
@@ -20,12 +20,14 @@ import AgentScheduler from './core/agentScheduler.js';
|
|
|
20
20
|
import ContextManager from './core/contextManager.js';
|
|
21
21
|
import StateManager from './core/stateManager.js';
|
|
22
22
|
import AIService from './services/aiService.js';
|
|
23
|
+
import { EmbeddingService } from './services/embeddings/embeddingService.js';
|
|
24
|
+
import { getUserDataPaths } from './utilities/userDataDir.js';
|
|
23
25
|
import BudgetService from './services/budgetService.js';
|
|
24
26
|
import ErrorHandler from './services/errorHandler.js';
|
|
25
27
|
import BenchmarkService from './services/benchmarkService.js';
|
|
26
28
|
import ModelRouterService from './services/modelRouterService.js';
|
|
27
29
|
import ModelsService from './services/modelsService.js';
|
|
28
|
-
import ApiKeyManager from './services/apiKeyManager.js';
|
|
30
|
+
import ApiKeyManager, { registerApiKeyManager } from './services/apiKeyManager.js';
|
|
29
31
|
import { getCredentialVault } from './services/credentialVault.js';
|
|
30
32
|
import FileAttachmentService from './services/fileAttachmentService.js';
|
|
31
33
|
import { ToolsRegistry } from './tools/baseTool.js';
|
|
@@ -51,7 +53,9 @@ import PdfTool from './tools/pdfTool.js';
|
|
|
51
53
|
import HelpTool from './tools/helpTool.js';
|
|
52
54
|
import DocxTool from './tools/docxTool.js';
|
|
53
55
|
import ExcelTool from './tools/excelTool.js';
|
|
56
|
+
import OfficeTool from './tools/officeTool.js';
|
|
54
57
|
import MemoryTool from './tools/memoryTool.js';
|
|
58
|
+
import ComposioTool from './tools/composioTool.js';
|
|
55
59
|
import SkillsTool from './tools/skillsTool.js';
|
|
56
60
|
import VisionTool from './tools/visionTool.js';
|
|
57
61
|
import UserPromptTool from './tools/userPromptTool.js';
|
|
@@ -275,6 +279,9 @@ class LoxiaApplication {
|
|
|
275
279
|
// API Key Manager
|
|
276
280
|
this.apiKeyManager = new ApiKeyManager(this.logger);
|
|
277
281
|
await this.apiKeyManager.initialize(); // Load persisted keys
|
|
282
|
+
// Register the singleton so cross-cutting services (composioService,
|
|
283
|
+
// etc.) can resolve vendor keys without explicit injection.
|
|
284
|
+
registerApiKeyManager(this.apiKeyManager);
|
|
278
285
|
|
|
279
286
|
// Credential Vault for secure website credential management
|
|
280
287
|
this.credentialVault = getCredentialVault(this.logger);
|
|
@@ -324,9 +331,29 @@ class LoxiaApplication {
|
|
|
324
331
|
|
|
325
332
|
// Set API Key Manager reference in AI Service
|
|
326
333
|
this.aiService.setApiKeyManager(this.apiKeyManager);
|
|
327
|
-
|
|
334
|
+
|
|
328
335
|
// Set Agent Pool reference in AI Service
|
|
329
336
|
this.aiService.setAgentPool(this.agentPool);
|
|
337
|
+
|
|
338
|
+
// Embedding Service — opt-in semantic retrieval layer. Boots in the
|
|
339
|
+
// disabled state by default; loadPersistedConfig() picks up whatever
|
|
340
|
+
// the user previously chose in Settings.
|
|
341
|
+
const stateDir = getUserDataPaths().state;
|
|
342
|
+
this.embeddingService = new EmbeddingService({
|
|
343
|
+
// Start with the in-memory default (disabled). The settings file
|
|
344
|
+
// (if present) will override this on the next line.
|
|
345
|
+
config: this.config?.embeddings || {},
|
|
346
|
+
apiKeyManager: this.apiKeyManager,
|
|
347
|
+
baseUrl: this.config?.backend?.baseUrl || this.aiService.baseUrl,
|
|
348
|
+
stateDir,
|
|
349
|
+
logger: this.logger,
|
|
350
|
+
});
|
|
351
|
+
await this.embeddingService.loadPersistedConfig();
|
|
352
|
+
this.aiService.setEmbeddingService(this.embeddingService);
|
|
353
|
+
this.logger.info('[Loxia] Embedding service ready', {
|
|
354
|
+
provider: this.embeddingService.config.provider,
|
|
355
|
+
enabled: this.embeddingService.isEnabled,
|
|
356
|
+
});
|
|
330
357
|
|
|
331
358
|
// Initialize Model Routing Services
|
|
332
359
|
this.benchmarkService = new BenchmarkService(this.config, this.logger);
|
|
@@ -486,17 +513,28 @@ class LoxiaApplication {
|
|
|
486
513
|
// Register Help Tool (two-layer tool description system)
|
|
487
514
|
await this.toolsRegistry.registerTool(HelpTool);
|
|
488
515
|
|
|
489
|
-
// Register Document (DOCX) Tool
|
|
516
|
+
// Register Document (DOCX) Tool — legacy; superseded by OfficeTool.
|
|
517
|
+
// Kept for one release cycle so existing agent configs that reference
|
|
518
|
+
// toolId "doc" continue to work.
|
|
490
519
|
await this.toolsRegistry.registerTool(DocxTool);
|
|
491
520
|
|
|
492
|
-
// Register Spreadsheet (Excel) Tool
|
|
521
|
+
// Register Spreadsheet (Excel) Tool — legacy; superseded by OfficeTool.
|
|
493
522
|
await this.toolsRegistry.registerTool(ExcelTool);
|
|
494
523
|
|
|
524
|
+
// Register Office Tool — consolidated doc/sheet/pres surface
|
|
525
|
+
// (Word + Excel + PowerPoint create/read).
|
|
526
|
+
await this.toolsRegistry.registerTool(OfficeTool);
|
|
527
|
+
|
|
495
528
|
// Register Memory Tool
|
|
496
529
|
await this.toolsRegistry.registerTool(MemoryTool);
|
|
497
530
|
await this.toolsRegistry.registerTool(SkillsTool);
|
|
498
531
|
await this.toolsRegistry.registerTool(VisionTool);
|
|
499
532
|
|
|
533
|
+
// Register Composio integration tool (off by default — agents
|
|
534
|
+
// must have the `composio` capability AND the operator must set
|
|
535
|
+
// COMPOSIO_API_KEY for it to do anything).
|
|
536
|
+
await this.toolsRegistry.registerTool(ComposioTool);
|
|
537
|
+
|
|
500
538
|
// Register User Prompt Tool
|
|
501
539
|
await this.toolsRegistry.registerTool(UserPromptTool);
|
|
502
540
|
|
|
@@ -553,6 +591,14 @@ class LoxiaApplication {
|
|
|
553
591
|
if (typeof platformControlTool.setStateManager === 'function') {
|
|
554
592
|
platformControlTool.setStateManager(this.stateManager);
|
|
555
593
|
}
|
|
594
|
+
// Memory tool's team-pool actions (publish/search/unpublish) need
|
|
595
|
+
// StateManager for the team-membership ACL check. The wiring is
|
|
596
|
+
// optional: when StateManager isn't attached, team-scoped actions
|
|
597
|
+
// refuse cleanly rather than defaulting open.
|
|
598
|
+
const memoryTool = this.toolsRegistry?.getTool?.('memory');
|
|
599
|
+
if (memoryTool && typeof memoryTool.setStateManager === 'function') {
|
|
600
|
+
memoryTool.setStateManager(this.stateManager);
|
|
601
|
+
}
|
|
556
602
|
if (typeof platformControlTool.setMemoryService === 'function') {
|
|
557
603
|
const { getMemoryService } = await import('./services/memoryService.js');
|
|
558
604
|
platformControlTool.setMemoryService(getMemoryService(this.logger));
|
|
@@ -647,6 +693,34 @@ class LoxiaApplication {
|
|
|
647
693
|
this.logger.info('WhatsAppService set for WhatsApp Tool');
|
|
648
694
|
}
|
|
649
695
|
|
|
696
|
+
// ─── Catch-all aiService wiring ────────────────────────────────
|
|
697
|
+
//
|
|
698
|
+
// Several tools read `this.aiService.getEmbeddingService()` for their
|
|
699
|
+
// semantic-search / find-action paths (memory, agentcommunication,
|
|
700
|
+
// taskmanager, skills, composio) but have no `setAIService` method
|
|
701
|
+
// and were never wired by the explicit calls above. Production silently
|
|
702
|
+
// returned `this.aiService === undefined` → `_getIndexer()` returned
|
|
703
|
+
// null → every embedding-backed action surfaced "Embeddings are not
|
|
704
|
+
// enabled" even when embeddings WERE enabled (the user just hit this
|
|
705
|
+
// on composio.find-action; auto-recall in agentScheduler uses a
|
|
706
|
+
// different code path so it kept working, masking the wider gap).
|
|
707
|
+
//
|
|
708
|
+
// We sweep every registered tool here, AFTER the explicit per-tool
|
|
709
|
+
// wiring above. Tools that already have aiService set (image, vision,
|
|
710
|
+
// video, foundry-web-search, desktop) are skipped; everyone else
|
|
711
|
+
// gets it now. The assignment is harmless for tools that ignore the
|
|
712
|
+
// property.
|
|
713
|
+
{
|
|
714
|
+
let wired = 0;
|
|
715
|
+
for (const tool of this.toolsRegistry.tools.values()) {
|
|
716
|
+
if (!tool.aiService) {
|
|
717
|
+
tool.aiService = this.aiService;
|
|
718
|
+
wired++;
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
this.logger.info('AIService wired onto remaining tools', { count: wired });
|
|
722
|
+
}
|
|
723
|
+
|
|
650
724
|
const toolCapabilities = this.toolsRegistry.getToolCapabilities();
|
|
651
725
|
this.logger.info('Tools initialized', {
|
|
652
726
|
toolCount: Object.keys(toolCapabilities).length,
|
|
@@ -721,6 +795,10 @@ class LoxiaApplication {
|
|
|
721
795
|
// Set API Key Manager reference in Web Server
|
|
722
796
|
webServer.setApiKeyManager(this.apiKeyManager);
|
|
723
797
|
|
|
798
|
+
// Embedding service handle so the /api/embeddings/* routes can
|
|
799
|
+
// read config + telemetry, hot-swap providers, etc.
|
|
800
|
+
webServer.embeddingService = this.embeddingService;
|
|
801
|
+
|
|
724
802
|
// Set Credential Vault reference in Web Server
|
|
725
803
|
webServer.setCredentialVault(this.credentialVault);
|
|
726
804
|
|