onbuzz 5.0.2 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/scripts/gen-brand-icons.mjs +21 -0
- package/scripts/recall-value-check.mjs +92 -0
- package/scripts/web-automation-experiment.mjs +112 -0
- package/src/core/__tests__/agentPool.deprecatedCapabilities.test.js +105 -0
- package/src/core/__tests__/agentScheduler.autoRecall.test.js +8 -10
- package/src/core/__tests__/agentScheduler.toolOutputOffload.test.js +96 -0
- package/src/core/__tests__/stateManager.test.js +25 -0
- package/src/core/__tests__/structuralPreview.test.js +87 -0
- package/src/core/__tests__/toolResultOffload.test.js +168 -0
- package/src/core/agentPool.js +63 -1
- package/src/core/agentScheduler.js +155 -10
- package/src/core/stateManager.js +3 -1
- package/src/core/structuralPreview.js +79 -0
- package/src/core/toolResultOffload.js +152 -0
- package/src/index.js +37 -11
- package/src/interfaces/__tests__/attachmentRoutes.test.js +118 -0
- package/src/interfaces/__tests__/memoryStatusRoutes.test.js +161 -0
- package/src/interfaces/__tests__/monitorRoutes.test.js +227 -0
- package/src/interfaces/__tests__/scheduleRoutes.test.js +223 -0
- package/src/interfaces/__tests__/transcribeProxy.test.js +85 -0
- package/src/interfaces/__tests__/transcribeRoute.test.js +127 -0
- package/src/interfaces/attachmentRoutes.js +56 -0
- package/src/interfaces/memoryStatusRoutes.js +78 -0
- package/src/interfaces/monitorRoutes.js +93 -0
- package/src/interfaces/scheduleRoutes.js +128 -0
- package/src/interfaces/transcribeProxy.js +72 -0
- package/src/interfaces/transcribeRoute.js +45 -0
- package/src/interfaces/webServer.js +68 -122
- package/src/services/__tests__/aiService.editImage.test.js +69 -0
- package/src/services/__tests__/aiService.embed.test.js +155 -0
- package/src/services/__tests__/fileAttachmentService.test.js +33 -0
- package/src/services/__tests__/memoryService.test.js +114 -1
- package/src/services/__tests__/recall.whatsMyName.e2e.test.js +151 -0
- package/src/services/__tests__/scheduleService.flow.test.js +574 -0
- package/src/services/__tests__/scheduleService.missedRuns.test.js +186 -0
- package/src/services/aiService.js +98 -3
- package/src/services/attachments/__tests__/attachmentContextBuilder.test.js +288 -0
- package/src/services/attachments/__tests__/attachmentIngestionService.test.js +184 -0
- package/src/services/attachments/__tests__/attachmentScope.test.js +26 -0
- package/src/services/attachments/__tests__/attachmentStrategy.test.js +85 -0
- package/src/services/attachments/attachmentContextBuilder.js +185 -0
- package/src/services/attachments/attachmentIngestionService.js +131 -0
- package/src/services/attachments/attachmentScope.js +22 -0
- package/src/services/attachments/attachmentStrategy.js +87 -0
- package/src/services/documents/__tests__/documentMemory.test.js +238 -0
- package/src/services/documents/__tests__/documentStore.test.js +507 -0
- package/src/services/documents/documentMemory.js +156 -0
- package/src/services/documents/documentStore.js +451 -0
- package/src/services/embeddings/__tests__/autoRecall.test.js +145 -0
- package/src/services/embeddings/__tests__/embeddingService.test.js +170 -25
- package/src/services/embeddings/__tests__/embeddingsConfig.test.js +34 -4
- package/src/services/embeddings/__tests__/inMemoryJsonStore.test.js +45 -0
- package/src/services/embeddings/autoRecall.js +46 -7
- package/src/services/embeddings/embeddingService.js +100 -0
- package/src/services/embeddings/embeddingsConfig.js +14 -4
- package/src/services/embeddings/indexers/__tests__/agentIndexer.test.js +1 -1
- package/src/services/embeddings/indexers/__tests__/composioIndexer.test.js +1 -1
- package/src/services/embeddings/indexers/__tests__/documentIndexer.test.js +211 -0
- package/src/services/embeddings/indexers/__tests__/memoryIndexer.test.js +1 -0
- package/src/services/embeddings/indexers/__tests__/reminisceIndexer.test.js +1 -0
- package/src/services/embeddings/indexers/__tests__/skillsIndexer.test.js +1 -1
- package/src/services/embeddings/indexers/__tests__/taskIndexer.test.js +1 -1
- package/src/services/embeddings/indexers/documentIndexer.js +206 -0
- package/src/services/embeddings/indexers/reminisceIndexer.js +1 -0
- package/src/services/embeddings/utilities/__tests__/decayingCounter.test.js +107 -0
- package/src/services/embeddings/utilities/__tests__/textChunker.test.js +40 -0
- package/src/services/embeddings/utilities/decayingCounter.js +70 -0
- package/src/services/embeddings/utilities/textChunker.js +13 -3
- package/src/services/embeddings/vectorStore/__tests__/scoring.retention.test.js +105 -0
- package/src/services/embeddings/vectorStore/__tests__/scoring.test.js +31 -0
- package/src/services/embeddings/vectorStore/inMemoryJsonStore.js +11 -3
- package/src/services/embeddings/vectorStore/scoring.js +86 -3
- package/src/services/fileAttachmentService.js +8 -3
- package/src/services/memoryService.js +95 -3
- package/src/services/scheduleService.js +172 -23
- package/src/services/vision/__tests__/visionAnalysisService.test.js +160 -0
- package/src/services/vision/visionAnalysisService.js +124 -0
- package/src/tools/__tests__/baseTool.test.js +3 -3
- package/src/tools/__tests__/imageTool.coverage.test.js +512 -0
- package/src/tools/__tests__/imageTool.edit.test.js +113 -0
- package/src/tools/__tests__/imageTool.validator.test.js +37 -0
- package/src/tools/__tests__/importAnalyzerTool.test.js +160 -0
- package/src/tools/__tests__/memoryTool.forgetStale.test.js +108 -1
- package/src/tools/__tests__/memoryTool.pluralCanonical.test.js +1 -0
- package/src/tools/__tests__/memoryTool.reminisce.test.js +1 -0
- package/src/tools/__tests__/memoryTool.reminisceSemanticSearch.test.js +1 -0
- package/src/tools/__tests__/memoryTool.semanticSearch.test.js +17 -0
- package/src/tools/__tests__/memoryTool.teamPool.test.js +1 -0
- package/src/tools/__tests__/memoryTool.test.js +1 -0
- package/src/tools/__tests__/openaiFunctionSchemas.validity.test.js +0 -17
- package/src/tools/__tests__/webTool.offload.test.js +233 -0
- package/src/tools/__tests__/webTool.recall.test.js +167 -0
- package/src/tools/__tests__/webTool.tabReuse.test.js +349 -0
- package/src/tools/baseTool.js +2 -4
- package/src/tools/imageTool.js +78 -27
- package/src/tools/importAnalysis/__tests__/callableChecker.edge.test.js +141 -0
- package/src/tools/importAnalysis/__tests__/callableChecker.test.js +356 -0
- package/src/tools/importAnalysis/callableChecker.js +599 -0
- package/src/tools/importAnalyzerTool.js +103 -3
- package/src/tools/memoryTool.js +72 -19
- package/src/tools/openaiFunctionSchemas.js +1039 -1103
- package/src/tools/webTool.js +425 -19
- package/src/utilities/__tests__/logger.test.js +96 -0
- package/src/utilities/__tests__/userProfileInjection.test.js +69 -0
- package/src/utilities/logger.js +72 -2
- package/src/utilities/toolConstants.js +385 -416
- package/src/utilities/userProfileInjection.js +79 -0
- package/web-ui/build/index.html +2 -2
- package/web-ui/build/static/1c-CcAT9yC0.js +2 -0
- package/web-ui/build/static/1c-CcAT9yC0.js.map +1 -0
- package/web-ui/build/static/abap-CklqIE_D.js +2 -0
- package/web-ui/build/static/abap-CklqIE_D.js.map +1 -0
- package/web-ui/build/static/abnf-DH9Xql6K.js +2 -0
- package/web-ui/build/static/abnf-DH9Xql6K.js.map +1 -0
- package/web-ui/build/static/abnf-DmVuiFmf.js +2 -0
- package/web-ui/build/static/abnf-DmVuiFmf.js.map +1 -0
- package/web-ui/build/static/accesslog-wsMIJvhq.js +2 -0
- package/web-ui/build/static/accesslog-wsMIJvhq.js.map +1 -0
- package/web-ui/build/static/actionscript-6Z1qVnZE.js +2 -0
- package/web-ui/build/static/actionscript-6Z1qVnZE.js.map +1 -0
- package/web-ui/build/static/actionscript-CDV_esqc.js +2 -0
- package/web-ui/build/static/actionscript-CDV_esqc.js.map +1 -0
- package/web-ui/build/static/ada-CPGf7bFw.js +2 -0
- package/web-ui/build/static/ada-CPGf7bFw.js.map +1 -0
- package/web-ui/build/static/ada-zAwy93bY.js +2 -0
- package/web-ui/build/static/ada-zAwy93bY.js.map +1 -0
- package/web-ui/build/static/agda-D4K6fA7S.js +2 -0
- package/web-ui/build/static/agda-D4K6fA7S.js.map +1 -0
- package/web-ui/build/static/al-DDL_R1Ni.js +2 -0
- package/web-ui/build/static/al-DDL_R1Ni.js.map +1 -0
- package/web-ui/build/static/angelscript-5y0tEMvz.js +2 -0
- package/web-ui/build/static/angelscript-5y0tEMvz.js.map +1 -0
- package/web-ui/build/static/antlr4-UHG9uh9z.js +2 -0
- package/web-ui/build/static/antlr4-UHG9uh9z.js.map +1 -0
- package/web-ui/build/static/apache-D8XA3V-d.js +2 -0
- package/web-ui/build/static/apache-D8XA3V-d.js.map +1 -0
- package/web-ui/build/static/apacheconf-CVYLtKLf.js +2 -0
- package/web-ui/build/static/apacheconf-CVYLtKLf.js.map +1 -0
- package/web-ui/build/static/apex-NZtrMMna.js +2 -0
- package/web-ui/build/static/apex-NZtrMMna.js.map +1 -0
- package/web-ui/build/static/apl-WEBKjqr-.js +2 -0
- package/web-ui/build/static/apl-WEBKjqr-.js.map +1 -0
- package/web-ui/build/static/applescript-CXeL_7_t.js +2 -0
- package/web-ui/build/static/applescript-CXeL_7_t.js.map +1 -0
- package/web-ui/build/static/applescript-M_TnR32f.js +2 -0
- package/web-ui/build/static/applescript-M_TnR32f.js.map +1 -0
- package/web-ui/build/static/aql-BD6P88kK.js +2 -0
- package/web-ui/build/static/aql-BD6P88kK.js.map +1 -0
- package/web-ui/build/static/arcade-MdaNu4j7.js +2 -0
- package/web-ui/build/static/arcade-MdaNu4j7.js.map +1 -0
- package/web-ui/build/static/arduino-DKv6GzJx.js +2 -0
- package/web-ui/build/static/arduino-DKv6GzJx.js.map +1 -0
- package/web-ui/build/static/arduino-uBxC-GO7.js +2 -0
- package/web-ui/build/static/arduino-uBxC-GO7.js.map +1 -0
- package/web-ui/build/static/arff-BDDUyAjp.js +2 -0
- package/web-ui/build/static/arff-BDDUyAjp.js.map +1 -0
- package/web-ui/build/static/armasm-BxZnxQ5T.js +2 -0
- package/web-ui/build/static/armasm-BxZnxQ5T.js.map +1 -0
- package/web-ui/build/static/asciidoc-DiBjy1M0.js +2 -0
- package/web-ui/build/static/asciidoc-DiBjy1M0.js.map +1 -0
- package/web-ui/build/static/asciidoc-DkxN40q5.js +2 -0
- package/web-ui/build/static/asciidoc-DkxN40q5.js.map +1 -0
- package/web-ui/build/static/asm6502-Cohh0bBr.js +2 -0
- package/web-ui/build/static/asm6502-Cohh0bBr.js.map +1 -0
- package/web-ui/build/static/asmatmel-nnA7cqnF.js +2 -0
- package/web-ui/build/static/asmatmel-nnA7cqnF.js.map +1 -0
- package/web-ui/build/static/aspectj-DiDmXltX.js +2 -0
- package/web-ui/build/static/aspectj-DiDmXltX.js.map +1 -0
- package/web-ui/build/static/aspnet-DnQFAE7o.js +2 -0
- package/web-ui/build/static/aspnet-DnQFAE7o.js.map +1 -0
- package/web-ui/build/static/autohotkey-B4rLe6FN.js +2 -0
- package/web-ui/build/static/autohotkey-B4rLe6FN.js.map +1 -0
- package/web-ui/build/static/autohotkey-UbpiO1Bq.js +2 -0
- package/web-ui/build/static/autohotkey-UbpiO1Bq.js.map +1 -0
- package/web-ui/build/static/autoit-B9NXV7xy.js +2 -0
- package/web-ui/build/static/autoit-B9NXV7xy.js.map +1 -0
- package/web-ui/build/static/autoit-ChZ5kNJU.js +2 -0
- package/web-ui/build/static/autoit-ChZ5kNJU.js.map +1 -0
- package/web-ui/build/static/avisynth-CMXGNT8_.js +2 -0
- package/web-ui/build/static/avisynth-CMXGNT8_.js.map +1 -0
- package/web-ui/build/static/avrasm-djuJXcT5.js +2 -0
- package/web-ui/build/static/avrasm-djuJXcT5.js.map +1 -0
- package/web-ui/build/static/avro-idl-CZIWkO1i.js +2 -0
- package/web-ui/build/static/avro-idl-CZIWkO1i.js.map +1 -0
- package/web-ui/build/static/awk-p0VrKozB.js +2 -0
- package/web-ui/build/static/awk-p0VrKozB.js.map +1 -0
- package/web-ui/build/static/axapta-MXRoL9dS.js +2 -0
- package/web-ui/build/static/axapta-MXRoL9dS.js.map +1 -0
- package/web-ui/build/static/bash-BMv_6c7q.js +2 -0
- package/web-ui/build/static/bash-BMv_6c7q.js.map +1 -0
- package/web-ui/build/static/bash-BhnovurP.js +2 -0
- package/web-ui/build/static/bash-BhnovurP.js.map +1 -0
- package/web-ui/build/static/basic-B1X6_7t0.js +2 -0
- package/web-ui/build/static/basic-B1X6_7t0.js.map +1 -0
- package/web-ui/build/static/basic-DhGnmAaB.js +2 -0
- package/web-ui/build/static/basic-DhGnmAaB.js.map +1 -0
- package/web-ui/build/static/batch-nd0lgrXA.js +2 -0
- package/web-ui/build/static/batch-nd0lgrXA.js.map +1 -0
- package/web-ui/build/static/bbcode-C68LTiV7.js +2 -0
- package/web-ui/build/static/bbcode-C68LTiV7.js.map +1 -0
- package/web-ui/build/static/bicep-CNWRkF3p.js +2 -0
- package/web-ui/build/static/bicep-CNWRkF3p.js.map +1 -0
- package/web-ui/build/static/birb-CUBCWppi.js +2 -0
- package/web-ui/build/static/birb-CUBCWppi.js.map +1 -0
- package/web-ui/build/static/bison-BSF7ULKN.js +2 -0
- package/web-ui/build/static/bison-BSF7ULKN.js.map +1 -0
- package/web-ui/build/static/bnf-CCyfNBj_.js +2 -0
- package/web-ui/build/static/bnf-CCyfNBj_.js.map +1 -0
- package/web-ui/build/static/bnf-wIrbjdP4.js +2 -0
- package/web-ui/build/static/bnf-wIrbjdP4.js.map +1 -0
- package/web-ui/build/static/brainfuck-CRgRtFtY.js +2 -0
- package/web-ui/build/static/brainfuck-CRgRtFtY.js.map +1 -0
- package/web-ui/build/static/brainfuck-ZnUO6SXb.js +2 -0
- package/web-ui/build/static/brainfuck-ZnUO6SXb.js.map +1 -0
- package/web-ui/build/static/brightscript-CVIWjdA6.js +2 -0
- package/web-ui/build/static/brightscript-CVIWjdA6.js.map +1 -0
- package/web-ui/build/static/bro-NIPnk3vU.js +2 -0
- package/web-ui/build/static/bro-NIPnk3vU.js.map +1 -0
- package/web-ui/build/static/bsl-BxBeGUoR.js +2 -0
- package/web-ui/build/static/bsl-BxBeGUoR.js.map +1 -0
- package/web-ui/build/static/c-DQ141WjM.js +2 -0
- package/web-ui/build/static/c-DQ141WjM.js.map +1 -0
- package/web-ui/build/static/c-FxP9AhwE.js +2 -0
- package/web-ui/build/static/c-FxP9AhwE.js.map +1 -0
- package/web-ui/build/static/c-like-CgQS9SIK.js +2 -0
- package/web-ui/build/static/c-like-CgQS9SIK.js.map +1 -0
- package/web-ui/build/static/cal-DXqETXwK.js +2 -0
- package/web-ui/build/static/cal-DXqETXwK.js.map +1 -0
- package/web-ui/build/static/capnproto-BByBRaqG.js +2 -0
- package/web-ui/build/static/capnproto-BByBRaqG.js.map +1 -0
- package/web-ui/build/static/ceylon-tS8nzBSY.js +2 -0
- package/web-ui/build/static/ceylon-tS8nzBSY.js.map +1 -0
- package/web-ui/build/static/cfscript-B19wNWQR.js +2 -0
- package/web-ui/build/static/cfscript-B19wNWQR.js.map +1 -0
- package/web-ui/build/static/chaiscript-B1kQVuGh.js +2 -0
- package/web-ui/build/static/chaiscript-B1kQVuGh.js.map +1 -0
- package/web-ui/build/static/cil-_20sf20K.js +2 -0
- package/web-ui/build/static/cil-_20sf20K.js.map +1 -0
- package/web-ui/build/static/clean-Cv7EPrV-.js +2 -0
- package/web-ui/build/static/clean-Cv7EPrV-.js.map +1 -0
- package/web-ui/build/static/clike-B4YZogPY.js +2 -0
- package/web-ui/build/static/clike-B4YZogPY.js.map +1 -0
- package/web-ui/build/static/clojure-CZM8gl5n.js +2 -0
- package/web-ui/build/static/clojure-CZM8gl5n.js.map +1 -0
- package/web-ui/build/static/clojure-Ctw_lkp-.js +2 -0
- package/web-ui/build/static/clojure-Ctw_lkp-.js.map +1 -0
- package/web-ui/build/static/clojure-repl-BLSvy4Pz.js +2 -0
- package/web-ui/build/static/clojure-repl-BLSvy4Pz.js.map +1 -0
- package/web-ui/build/static/cmake-CoCMNHta.js +2 -0
- package/web-ui/build/static/cmake-CoCMNHta.js.map +1 -0
- package/web-ui/build/static/cmake-D9GE-AbJ.js +2 -0
- package/web-ui/build/static/cmake-D9GE-AbJ.js.map +1 -0
- package/web-ui/build/static/cobol-Bv3XB9fm.js +2 -0
- package/web-ui/build/static/cobol-Bv3XB9fm.js.map +1 -0
- package/web-ui/build/static/coffeescript-BIlTtHO4.js +2 -0
- package/web-ui/build/static/coffeescript-BIlTtHO4.js.map +1 -0
- package/web-ui/build/static/coffeescript-BLPzoLFM.js +2 -0
- package/web-ui/build/static/coffeescript-BLPzoLFM.js.map +1 -0
- package/web-ui/build/static/concurnas-Chm8WQEN.js +2 -0
- package/web-ui/build/static/concurnas-Chm8WQEN.js.map +1 -0
- package/web-ui/build/static/coq-BkCmFrWF.js +2 -0
- package/web-ui/build/static/coq-BkCmFrWF.js.map +1 -0
- package/web-ui/build/static/coq-LcSKVZoE.js +2 -0
- package/web-ui/build/static/coq-LcSKVZoE.js.map +1 -0
- package/web-ui/build/static/cos-4EE8U4En.js +2 -0
- package/web-ui/build/static/cos-4EE8U4En.js.map +1 -0
- package/web-ui/build/static/cpp-BePsDIUb.js +2 -0
- package/web-ui/build/static/cpp-BePsDIUb.js.map +1 -0
- package/web-ui/build/static/cpp-HS_5scYl.js +2 -0
- package/web-ui/build/static/cpp-HS_5scYl.js.map +1 -0
- package/web-ui/build/static/crmsh-z4dvM3BK.js +2 -0
- package/web-ui/build/static/crmsh-z4dvM3BK.js.map +1 -0
- package/web-ui/build/static/crystal-BgdJ5OOx.js +2 -0
- package/web-ui/build/static/crystal-BgdJ5OOx.js.map +1 -0
- package/web-ui/build/static/crystal-BxoJqI3n.js +2 -0
- package/web-ui/build/static/crystal-BxoJqI3n.js.map +1 -0
- package/web-ui/build/static/csharp-BCxeyatn.js +2 -0
- package/web-ui/build/static/csharp-BCxeyatn.js.map +1 -0
- package/web-ui/build/static/csharp-BpQ_Gcoi.js +2 -0
- package/web-ui/build/static/csharp-BpQ_Gcoi.js.map +1 -0
- package/web-ui/build/static/cshtml-BUcUpqTD.js +2 -0
- package/web-ui/build/static/cshtml-BUcUpqTD.js.map +1 -0
- package/web-ui/build/static/csp-CseeYAsa.js +2 -0
- package/web-ui/build/static/csp-CseeYAsa.js.map +1 -0
- package/web-ui/build/static/csp-DAlQk-vS.js +2 -0
- package/web-ui/build/static/csp-DAlQk-vS.js.map +1 -0
- package/web-ui/build/static/css-BzQF5U2v.js +2 -0
- package/web-ui/build/static/css-BzQF5U2v.js.map +1 -0
- package/web-ui/build/static/css-CKGHM9ka.js +2 -0
- package/web-ui/build/static/css-CKGHM9ka.js.map +1 -0
- package/web-ui/build/static/css-extras-CO6ZXLNE.js +2 -0
- package/web-ui/build/static/css-extras-CO6ZXLNE.js.map +1 -0
- package/web-ui/build/static/csv-CapUVEXg.js +2 -0
- package/web-ui/build/static/csv-CapUVEXg.js.map +1 -0
- package/web-ui/build/static/cypher-BEZBQ1Pu.js +2 -0
- package/web-ui/build/static/cypher-BEZBQ1Pu.js.map +1 -0
- package/web-ui/build/static/d-CXGt7pEt.js +2 -0
- package/web-ui/build/static/d-CXGt7pEt.js.map +1 -0
- package/web-ui/build/static/d-DAjqUyav.js +2 -0
- package/web-ui/build/static/d-DAjqUyav.js.map +1 -0
- package/web-ui/build/static/dart-DtzbjjCV.js +2 -0
- package/web-ui/build/static/dart-DtzbjjCV.js.map +1 -0
- package/web-ui/build/static/dart-NUYlMbuB.js +2 -0
- package/web-ui/build/static/dart-NUYlMbuB.js.map +1 -0
- package/web-ui/build/static/dataweave-C9xc1tou.js +2 -0
- package/web-ui/build/static/dataweave-C9xc1tou.js.map +1 -0
- package/web-ui/build/static/dax-D6ojqcc2.js +2 -0
- package/web-ui/build/static/dax-D6ojqcc2.js.map +1 -0
- package/web-ui/build/static/delphi-CvERF9eG.js +2 -0
- package/web-ui/build/static/delphi-CvERF9eG.js.map +1 -0
- package/web-ui/build/static/dhall-CuxHTkyF.js +2 -0
- package/web-ui/build/static/dhall-CuxHTkyF.js.map +1 -0
- package/web-ui/build/static/diff-Bah5RGy9.js +2 -0
- package/web-ui/build/static/diff-Bah5RGy9.js.map +1 -0
- package/web-ui/build/static/diff-Dfph6LiO.js +2 -0
- package/web-ui/build/static/diff-Dfph6LiO.js.map +1 -0
- package/web-ui/build/static/django-CD9hC7kH.js +2 -0
- package/web-ui/build/static/django-CD9hC7kH.js.map +1 -0
- package/web-ui/build/static/django-DVUs1Gfo.js +2 -0
- package/web-ui/build/static/django-DVUs1Gfo.js.map +1 -0
- package/web-ui/build/static/dns-jD8I_Je2.js +2 -0
- package/web-ui/build/static/dns-jD8I_Je2.js.map +1 -0
- package/web-ui/build/static/dns-zone-file-DQ3TMymr.js +2 -0
- package/web-ui/build/static/dns-zone-file-DQ3TMymr.js.map +1 -0
- package/web-ui/build/static/docker-DLBxtmI6.js +2 -0
- package/web-ui/build/static/docker-DLBxtmI6.js.map +1 -0
- package/web-ui/build/static/dockerfile-DldQd9VH.js +2 -0
- package/web-ui/build/static/dockerfile-DldQd9VH.js.map +1 -0
- package/web-ui/build/static/dos-CsU8zvUY.js +2 -0
- package/web-ui/build/static/dos-CsU8zvUY.js.map +1 -0
- package/web-ui/build/static/dot-CPBEVp48.js +2 -0
- package/web-ui/build/static/dot-CPBEVp48.js.map +1 -0
- package/web-ui/build/static/dsconfig-Cj5XK8O9.js +2 -0
- package/web-ui/build/static/dsconfig-Cj5XK8O9.js.map +1 -0
- package/web-ui/build/static/dts-CNOkwsW3.js +2 -0
- package/web-ui/build/static/dts-CNOkwsW3.js.map +1 -0
- package/web-ui/build/static/dust-BX6GgpWl.js +2 -0
- package/web-ui/build/static/dust-BX6GgpWl.js.map +1 -0
- package/web-ui/build/static/ebnf-Bn1_8PXf.js +2 -0
- package/web-ui/build/static/ebnf-Bn1_8PXf.js.map +1 -0
- package/web-ui/build/static/ebnf-CtqpgvFN.js +2 -0
- package/web-ui/build/static/ebnf-CtqpgvFN.js.map +1 -0
- package/web-ui/build/static/editorconfig-DJfFvV_f.js +2 -0
- package/web-ui/build/static/editorconfig-DJfFvV_f.js.map +1 -0
- package/web-ui/build/static/eiffel-ChctrZWI.js +2 -0
- package/web-ui/build/static/eiffel-ChctrZWI.js.map +1 -0
- package/web-ui/build/static/ejs-AUmZem0H.js +2 -0
- package/web-ui/build/static/ejs-AUmZem0H.js.map +1 -0
- package/web-ui/build/static/elixir-C8cfh8ZS.js +2 -0
- package/web-ui/build/static/elixir-C8cfh8ZS.js.map +1 -0
- package/web-ui/build/static/elixir-nQeVF_wS.js +2 -0
- package/web-ui/build/static/elixir-nQeVF_wS.js.map +1 -0
- package/web-ui/build/static/elm-CGhZt2iw.js +2 -0
- package/web-ui/build/static/elm-CGhZt2iw.js.map +1 -0
- package/web-ui/build/static/elm-CdaVOv5P.js +2 -0
- package/web-ui/build/static/elm-CdaVOv5P.js.map +1 -0
- package/web-ui/build/static/erb-DBRouEhU.js +2 -0
- package/web-ui/build/static/erb-DBRouEhU.js.map +1 -0
- package/web-ui/build/static/erb-lyqnYHXu.js +2 -0
- package/web-ui/build/static/erb-lyqnYHXu.js.map +1 -0
- package/web-ui/build/static/erlang-C9XyxauP.js +2 -0
- package/web-ui/build/static/erlang-C9XyxauP.js.map +1 -0
- package/web-ui/build/static/erlang-CDhRCN6w.js +2 -0
- package/web-ui/build/static/erlang-CDhRCN6w.js.map +1 -0
- package/web-ui/build/static/erlang-repl-DcDrQeko.js +2 -0
- package/web-ui/build/static/erlang-repl-DcDrQeko.js.map +1 -0
- package/web-ui/build/static/etlua-BzqnSjsr.js +2 -0
- package/web-ui/build/static/etlua-BzqnSjsr.js.map +1 -0
- package/web-ui/build/static/excel-DTD9a4dj.js +2 -0
- package/web-ui/build/static/excel-DTD9a4dj.js.map +1 -0
- package/web-ui/build/static/excel-formula-B5TiNFlj.js +2 -0
- package/web-ui/build/static/excel-formula-B5TiNFlj.js.map +1 -0
- package/web-ui/build/static/factor-DG7VmfDQ.js +2 -0
- package/web-ui/build/static/factor-DG7VmfDQ.js.map +1 -0
- package/web-ui/build/static/false-BqBJQh8L.js +2 -0
- package/web-ui/build/static/false-BqBJQh8L.js.map +1 -0
- package/web-ui/build/static/firestore-security-rules-D3xkxV6V.js +2 -0
- package/web-ui/build/static/firestore-security-rules-D3xkxV6V.js.map +1 -0
- package/web-ui/build/static/fix-C2YwkKFG.js +2 -0
- package/web-ui/build/static/fix-C2YwkKFG.js.map +1 -0
- package/web-ui/build/static/flix-MLWj4St3.js +2 -0
- package/web-ui/build/static/flix-MLWj4St3.js.map +1 -0
- package/web-ui/build/static/flow-DzfAy6OH.js +2 -0
- package/web-ui/build/static/flow-DzfAy6OH.js.map +1 -0
- package/web-ui/build/static/fortran-BFdaw-Tm.js +2 -0
- package/web-ui/build/static/fortran-BFdaw-Tm.js.map +1 -0
- package/web-ui/build/static/fortran-D_t-ovV9.js +2 -0
- package/web-ui/build/static/fortran-D_t-ovV9.js.map +1 -0
- package/web-ui/build/static/fsharp-Dsn4EDaJ.js +2 -0
- package/web-ui/build/static/fsharp-Dsn4EDaJ.js.map +1 -0
- package/web-ui/build/static/fsharp-h1xStOLJ.js +2 -0
- package/web-ui/build/static/fsharp-h1xStOLJ.js.map +1 -0
- package/web-ui/build/static/ftl-BpRELCza.js +2 -0
- package/web-ui/build/static/ftl-BpRELCza.js.map +1 -0
- package/web-ui/build/static/gams-DBYPqnZ9.js +2 -0
- package/web-ui/build/static/gams-DBYPqnZ9.js.map +1 -0
- package/web-ui/build/static/gap-rQytr7ZG.js +2 -0
- package/web-ui/build/static/gap-rQytr7ZG.js.map +1 -0
- package/web-ui/build/static/gauss-ohbvVr_J.js +2 -0
- package/web-ui/build/static/gauss-ohbvVr_J.js.map +1 -0
- package/web-ui/build/static/gcode-D3hT8Ggl.js +2 -0
- package/web-ui/build/static/gcode-D3hT8Ggl.js.map +1 -0
- package/web-ui/build/static/gcode-YaTLfBKy.js +2 -0
- package/web-ui/build/static/gcode-YaTLfBKy.js.map +1 -0
- package/web-ui/build/static/gdscript-e0czbhRX.js +2 -0
- package/web-ui/build/static/gdscript-e0czbhRX.js.map +1 -0
- package/web-ui/build/static/gedcom-ihUBBkFE.js +2 -0
- package/web-ui/build/static/gedcom-ihUBBkFE.js.map +1 -0
- package/web-ui/build/static/gherkin-B067TNO6.js +2 -0
- package/web-ui/build/static/gherkin-B067TNO6.js.map +1 -0
- package/web-ui/build/static/gherkin-DmF-L6Ar.js +2 -0
- package/web-ui/build/static/gherkin-DmF-L6Ar.js.map +1 -0
- package/web-ui/build/static/git-biDx-iBi.js +2 -0
- package/web-ui/build/static/git-biDx-iBi.js.map +1 -0
- package/web-ui/build/static/glsl-CEmTQMki.js +2 -0
- package/web-ui/build/static/glsl-CEmTQMki.js.map +1 -0
- package/web-ui/build/static/glsl-x36bxI31.js +2 -0
- package/web-ui/build/static/glsl-x36bxI31.js.map +1 -0
- package/web-ui/build/static/gml-Csajwld_.js +2 -0
- package/web-ui/build/static/gml-Csajwld_.js.map +1 -0
- package/web-ui/build/static/gml-Pw07xrLY.js +2 -0
- package/web-ui/build/static/gml-Pw07xrLY.js.map +1 -0
- package/web-ui/build/static/gn-DO6q4giO.js +2 -0
- package/web-ui/build/static/gn-DO6q4giO.js.map +1 -0
- package/web-ui/build/static/go-Dsip94r-.js +2 -0
- package/web-ui/build/static/go-Dsip94r-.js.map +1 -0
- package/web-ui/build/static/go-IHDLa0ME.js +2 -0
- package/web-ui/build/static/go-IHDLa0ME.js.map +1 -0
- package/web-ui/build/static/go-module-6qtUjKJ3.js +2 -0
- package/web-ui/build/static/go-module-6qtUjKJ3.js.map +1 -0
- package/web-ui/build/static/golo-DgTkjclF.js +2 -0
- package/web-ui/build/static/golo-DgTkjclF.js.map +1 -0
- package/web-ui/build/static/gradle-CGKe39ZL.js +2 -0
- package/web-ui/build/static/gradle-CGKe39ZL.js.map +1 -0
- package/web-ui/build/static/graphql-Bm5SeUgH.js +2 -0
- package/web-ui/build/static/graphql-Bm5SeUgH.js.map +1 -0
- package/web-ui/build/static/groovy-DFIiOVir.js +2 -0
- package/web-ui/build/static/groovy-DFIiOVir.js.map +1 -0
- package/web-ui/build/static/groovy-DrjmrqGV.js +2 -0
- package/web-ui/build/static/groovy-DrjmrqGV.js.map +1 -0
- package/web-ui/build/static/haml-BGkgi1OU.js +2 -0
- package/web-ui/build/static/haml-BGkgi1OU.js.map +1 -0
- package/web-ui/build/static/haml-BYdVMbfT.js +2 -0
- package/web-ui/build/static/haml-BYdVMbfT.js.map +1 -0
- package/web-ui/build/static/handlebars-DsvPDbuP.js +2 -0
- package/web-ui/build/static/handlebars-DsvPDbuP.js.map +1 -0
- package/web-ui/build/static/handlebars-aODu9Htc.js +2 -0
- package/web-ui/build/static/handlebars-aODu9Htc.js.map +1 -0
- package/web-ui/build/static/haskell-DSRUE43z.js +2 -0
- package/web-ui/build/static/haskell-DSRUE43z.js.map +1 -0
- package/web-ui/build/static/haskell-DpLg1Yls.js +2 -0
- package/web-ui/build/static/haskell-DpLg1Yls.js.map +1 -0
- package/web-ui/build/static/haxe-BaIrYMIY.js +2 -0
- package/web-ui/build/static/haxe-BaIrYMIY.js.map +1 -0
- package/web-ui/build/static/haxe-D_aKTVDi.js +2 -0
- package/web-ui/build/static/haxe-D_aKTVDi.js.map +1 -0
- package/web-ui/build/static/hcl-BiFQOL4p.js +2 -0
- package/web-ui/build/static/hcl-BiFQOL4p.js.map +1 -0
- package/web-ui/build/static/hlsl-txpgJJGO.js +2 -0
- package/web-ui/build/static/hlsl-txpgJJGO.js.map +1 -0
- package/web-ui/build/static/hoon-QY01V-uY.js +2 -0
- package/web-ui/build/static/hoon-QY01V-uY.js.map +1 -0
- package/web-ui/build/static/hpkp-a_Uxrmvm.js +2 -0
- package/web-ui/build/static/hpkp-a_Uxrmvm.js.map +1 -0
- package/web-ui/build/static/hsp-C6loa4R-.js +2 -0
- package/web-ui/build/static/hsp-C6loa4R-.js.map +1 -0
- package/web-ui/build/static/hsts-Dr5ujI-L.js +2 -0
- package/web-ui/build/static/hsts-Dr5ujI-L.js.map +1 -0
- package/web-ui/build/static/htmlbars-DQMEq-Tg.js +2 -0
- package/web-ui/build/static/htmlbars-DQMEq-Tg.js.map +1 -0
- package/web-ui/build/static/http-C652NOKi.js +2 -0
- package/web-ui/build/static/http-C652NOKi.js.map +1 -0
- package/web-ui/build/static/http-D_L6CN_L.js +2 -0
- package/web-ui/build/static/http-D_L6CN_L.js.map +1 -0
- package/web-ui/build/static/hy-D0cSYrtO.js +2 -0
- package/web-ui/build/static/hy-D0cSYrtO.js.map +1 -0
- package/web-ui/build/static/ichigojam-WFQJUvan.js +2 -0
- package/web-ui/build/static/ichigojam-WFQJUvan.js.map +1 -0
- package/web-ui/build/static/icon-D9euGi_U.js +2 -0
- package/web-ui/build/static/icon-D9euGi_U.js.map +1 -0
- package/web-ui/build/static/icu-message-format-By-83igA.js +2 -0
- package/web-ui/build/static/icu-message-format-By-83igA.js.map +1 -0
- package/web-ui/build/static/idris-BF0roFyh.js +2 -0
- package/web-ui/build/static/idris-BF0roFyh.js.map +1 -0
- package/web-ui/build/static/iecst-CM8g9Fi8.js +2 -0
- package/web-ui/build/static/iecst-CM8g9Fi8.js.map +1 -0
- package/web-ui/build/static/ignore-CcICfcJp.js +2 -0
- package/web-ui/build/static/ignore-CcICfcJp.js.map +1 -0
- package/web-ui/build/static/index-BGy_02Lz.js +14 -0
- package/web-ui/build/static/index-BGy_02Lz.js.map +1 -0
- package/web-ui/build/static/index-BZ96dWlb.js +1247 -0
- package/web-ui/build/static/index-BZ96dWlb.js.map +1 -0
- package/web-ui/build/static/index-CRb74OSB.css +1 -0
- package/web-ui/build/static/index-DAxkIY2S.js +2 -0
- package/web-ui/build/static/index-DAxkIY2S.js.map +1 -0
- package/web-ui/build/static/inform7-DCYG94vf.js +2 -0
- package/web-ui/build/static/inform7-DCYG94vf.js.map +1 -0
- package/web-ui/build/static/inform7-DjqQoELc.js +2 -0
- package/web-ui/build/static/inform7-DjqQoELc.js.map +1 -0
- package/web-ui/build/static/ini-DCLzJbTA.js +2 -0
- package/web-ui/build/static/ini-DCLzJbTA.js.map +1 -0
- package/web-ui/build/static/ini-q52EK0O2.js +2 -0
- package/web-ui/build/static/ini-q52EK0O2.js.map +1 -0
- package/web-ui/build/static/io-CzVjw4Ov.js +2 -0
- package/web-ui/build/static/io-CzVjw4Ov.js.map +1 -0
- package/web-ui/build/static/irpf90-CAwGwFym.js +2 -0
- package/web-ui/build/static/irpf90-CAwGwFym.js.map +1 -0
- package/web-ui/build/static/isbl-XJ3oHO7r.js +2 -0
- package/web-ui/build/static/isbl-XJ3oHO7r.js.map +1 -0
- package/web-ui/build/static/j-6667Vv4c.js +2 -0
- package/web-ui/build/static/j-6667Vv4c.js.map +1 -0
- package/web-ui/build/static/java-DnukE5vL.js +2 -0
- package/web-ui/build/static/java-DnukE5vL.js.map +1 -0
- package/web-ui/build/static/java-a15mXk55.js +2 -0
- package/web-ui/build/static/java-a15mXk55.js.map +1 -0
- package/web-ui/build/static/javadoc-BCcsr-O1.js +2 -0
- package/web-ui/build/static/javadoc-BCcsr-O1.js.map +1 -0
- package/web-ui/build/static/javadoclike-B-PgU8Ap.js +2 -0
- package/web-ui/build/static/javadoclike-B-PgU8Ap.js.map +1 -0
- package/web-ui/build/static/javascript-Bbx7H35e.js +2 -0
- package/web-ui/build/static/javascript-Bbx7H35e.js.map +1 -0
- package/web-ui/build/static/javascript-DjnOZyfu.js +2 -0
- package/web-ui/build/static/javascript-DjnOZyfu.js.map +1 -0
- package/web-ui/build/static/javastacktrace-Ck7-d01v.js +2 -0
- package/web-ui/build/static/javastacktrace-Ck7-d01v.js.map +1 -0
- package/web-ui/build/static/jboss-cli-D94EboGJ.js +2 -0
- package/web-ui/build/static/jboss-cli-D94EboGJ.js.map +1 -0
- package/web-ui/build/static/jexl-B3SKVRZk.js +2 -0
- package/web-ui/build/static/jexl-B3SKVRZk.js.map +1 -0
- package/web-ui/build/static/jolie-CdLxaGa2.js +2 -0
- package/web-ui/build/static/jolie-CdLxaGa2.js.map +1 -0
- package/web-ui/build/static/jq-CasN9rDD.js +2 -0
- package/web-ui/build/static/jq-CasN9rDD.js.map +1 -0
- package/web-ui/build/static/js-extras-CEa82Vd5.js +2 -0
- package/web-ui/build/static/js-extras-CEa82Vd5.js.map +1 -0
- package/web-ui/build/static/js-templates-Bb6onSVY.js +2 -0
- package/web-ui/build/static/js-templates-Bb6onSVY.js.map +1 -0
- package/web-ui/build/static/jsdoc-DEoqMCcV.js +2 -0
- package/web-ui/build/static/jsdoc-DEoqMCcV.js.map +1 -0
- package/web-ui/build/static/json-BWO6h-33.js +2 -0
- package/web-ui/build/static/json-BWO6h-33.js.map +1 -0
- package/web-ui/build/static/json-BYpTfIVw.js +2 -0
- package/web-ui/build/static/json-BYpTfIVw.js.map +1 -0
- package/web-ui/build/static/json5-M0RqNiBf.js +2 -0
- package/web-ui/build/static/json5-M0RqNiBf.js.map +1 -0
- package/web-ui/build/static/jsonp-Bxvs0kvO.js +2 -0
- package/web-ui/build/static/jsonp-Bxvs0kvO.js.map +1 -0
- package/web-ui/build/static/jsstacktrace-F_GrGmfx.js +2 -0
- package/web-ui/build/static/jsstacktrace-F_GrGmfx.js.map +1 -0
- package/web-ui/build/static/jsx-CZEYHJ9r.js +2 -0
- package/web-ui/build/static/jsx-CZEYHJ9r.js.map +1 -0
- package/web-ui/build/static/julia-ClRIQjb7.js +2 -0
- package/web-ui/build/static/julia-ClRIQjb7.js.map +1 -0
- package/web-ui/build/static/julia-gbyEzxuw.js +2 -0
- package/web-ui/build/static/julia-gbyEzxuw.js.map +1 -0
- package/web-ui/build/static/julia-repl-CPyK5y7Z.js +2 -0
- package/web-ui/build/static/julia-repl-CPyK5y7Z.js.map +1 -0
- package/web-ui/build/static/keepalived-CN5o-TXp.js +2 -0
- package/web-ui/build/static/keepalived-CN5o-TXp.js.map +1 -0
- package/web-ui/build/static/keyman-DKRXs14F.js +2 -0
- package/web-ui/build/static/keyman-DKRXs14F.js.map +1 -0
- package/web-ui/build/static/kotlin-Cils76JN.js +2 -0
- package/web-ui/build/static/kotlin-Cils76JN.js.map +1 -0
- package/web-ui/build/static/kotlin-DZ_eAQjE.js +2 -0
- package/web-ui/build/static/kotlin-DZ_eAQjE.js.map +1 -0
- package/web-ui/build/static/kumir-DPmgpbTI.js +2 -0
- package/web-ui/build/static/kumir-DPmgpbTI.js.map +1 -0
- package/web-ui/build/static/kusto-SnZaHLS6.js +2 -0
- package/web-ui/build/static/kusto-SnZaHLS6.js.map +1 -0
- package/web-ui/build/static/lasso-CZphtpLe.js +2 -0
- package/web-ui/build/static/lasso-CZphtpLe.js.map +1 -0
- package/web-ui/build/static/latex-Bm3IPs5G.js +2 -0
- package/web-ui/build/static/latex-Bm3IPs5G.js.map +1 -0
- package/web-ui/build/static/latex-DvsDYwG1.js +2 -0
- package/web-ui/build/static/latex-DvsDYwG1.js.map +1 -0
- package/web-ui/build/static/latte-CHpxU1k7.js +2 -0
- package/web-ui/build/static/latte-CHpxU1k7.js.map +1 -0
- package/web-ui/build/static/ldif-C1-d9uq-.js +2 -0
- package/web-ui/build/static/ldif-C1-d9uq-.js.map +1 -0
- package/web-ui/build/static/leaf-L074LVRa.js +2 -0
- package/web-ui/build/static/leaf-L074LVRa.js.map +1 -0
- package/web-ui/build/static/less-CcsqycpY.js +2 -0
- package/web-ui/build/static/less-CcsqycpY.js.map +1 -0
- package/web-ui/build/static/less-DZSR7fcs.js +2 -0
- package/web-ui/build/static/less-DZSR7fcs.js.map +1 -0
- package/web-ui/build/static/lilypond-JWtSMmDx.js +2 -0
- package/web-ui/build/static/lilypond-JWtSMmDx.js.map +1 -0
- package/web-ui/build/static/liquid-VyDFGeP6.js +2 -0
- package/web-ui/build/static/liquid-VyDFGeP6.js.map +1 -0
- package/web-ui/build/static/lisp-BBi3PKi_.js +2 -0
- package/web-ui/build/static/lisp-BBi3PKi_.js.map +1 -0
- package/web-ui/build/static/lisp-hKuKldps.js +2 -0
- package/web-ui/build/static/lisp-hKuKldps.js.map +1 -0
- package/web-ui/build/static/livecodeserver-pOPvWsLP.js +2 -0
- package/web-ui/build/static/livecodeserver-pOPvWsLP.js.map +1 -0
- package/web-ui/build/static/livescript-B6c30hNS.js +2 -0
- package/web-ui/build/static/livescript-B6c30hNS.js.map +1 -0
- package/web-ui/build/static/livescript-bZTGJf38.js +2 -0
- package/web-ui/build/static/livescript-bZTGJf38.js.map +1 -0
- package/web-ui/build/static/llvm-C4YuB-0e.js +2 -0
- package/web-ui/build/static/llvm-C4YuB-0e.js.map +1 -0
- package/web-ui/build/static/llvm-DoTOagkk.js +2 -0
- package/web-ui/build/static/llvm-DoTOagkk.js.map +1 -0
- package/web-ui/build/static/log-DBcLNYMI.js +2 -0
- package/web-ui/build/static/log-DBcLNYMI.js.map +1 -0
- package/web-ui/build/static/lolcode-g9qn-LHy.js +2 -0
- package/web-ui/build/static/lolcode-g9qn-LHy.js.map +1 -0
- package/web-ui/build/static/lsl-CmMxkXAE.js +2 -0
- package/web-ui/build/static/lsl-CmMxkXAE.js.map +1 -0
- package/web-ui/build/static/lua-BOY92Qe1.js +2 -0
- package/web-ui/build/static/lua-BOY92Qe1.js.map +1 -0
- package/web-ui/build/static/lua-Df8P_1o4.js +2 -0
- package/web-ui/build/static/lua-Df8P_1o4.js.map +1 -0
- package/web-ui/build/static/magma-3qtheSsP.js +2 -0
- package/web-ui/build/static/magma-3qtheSsP.js.map +1 -0
- package/web-ui/build/static/makefile-ZU6Uwf_j.js +2 -0
- package/web-ui/build/static/makefile-ZU6Uwf_j.js.map +1 -0
- package/web-ui/build/static/makefile-nCnXvepn.js +2 -0
- package/web-ui/build/static/makefile-nCnXvepn.js.map +1 -0
- package/web-ui/build/static/markdown-BUAiOvBz.js +2 -0
- package/web-ui/build/static/markdown-BUAiOvBz.js.map +1 -0
- package/web-ui/build/static/markdown-Dp8kNn4t.js +2 -0
- package/web-ui/build/static/markdown-Dp8kNn4t.js.map +1 -0
- package/web-ui/build/static/markup-Cw-Q-osr.js +2 -0
- package/web-ui/build/static/markup-Cw-Q-osr.js.map +1 -0
- package/web-ui/build/static/markup-templating-IjTVkT30.js +2 -0
- package/web-ui/build/static/markup-templating-IjTVkT30.js.map +1 -0
- package/web-ui/build/static/mathematica-Jh6KImk5.js +2 -0
- package/web-ui/build/static/mathematica-Jh6KImk5.js.map +1 -0
- package/web-ui/build/static/matlab-B-slzE2C.js +2 -0
- package/web-ui/build/static/matlab-B-slzE2C.js.map +1 -0
- package/web-ui/build/static/matlab-CQUgyJTC.js +2 -0
- package/web-ui/build/static/matlab-CQUgyJTC.js.map +1 -0
- package/web-ui/build/static/maxima-51AazIp0.js +2 -0
- package/web-ui/build/static/maxima-51AazIp0.js.map +1 -0
- package/web-ui/build/static/maxscript-J-pBysdn.js +2 -0
- package/web-ui/build/static/maxscript-J-pBysdn.js.map +1 -0
- package/web-ui/build/static/mel-CSM_x_hw.js +2 -0
- package/web-ui/build/static/mel-CSM_x_hw.js.map +1 -0
- package/web-ui/build/static/mel-D5y7g_io.js +2 -0
- package/web-ui/build/static/mel-D5y7g_io.js.map +1 -0
- package/web-ui/build/static/mercury-BBEgNC6K.js +2 -0
- package/web-ui/build/static/mercury-BBEgNC6K.js.map +1 -0
- package/web-ui/build/static/mermaid-CxYdakMG.js +2 -0
- package/web-ui/build/static/mermaid-CxYdakMG.js.map +1 -0
- package/web-ui/build/static/mipsasm-CJR80JRT.js +2 -0
- package/web-ui/build/static/mipsasm-CJR80JRT.js.map +1 -0
- package/web-ui/build/static/mizar-BtS8C95O.js +2 -0
- package/web-ui/build/static/mizar-BtS8C95O.js.map +1 -0
- package/web-ui/build/static/mizar-CM9ca5KL.js +2 -0
- package/web-ui/build/static/mizar-CM9ca5KL.js.map +1 -0
- package/web-ui/build/static/mojolicious-bX9JUZx8.js +2 -0
- package/web-ui/build/static/mojolicious-bX9JUZx8.js.map +1 -0
- package/web-ui/build/static/mongodb-DR-bnyTw.js +2 -0
- package/web-ui/build/static/mongodb-DR-bnyTw.js.map +1 -0
- package/web-ui/build/static/monkey-Bq8netSZ.js +2 -0
- package/web-ui/build/static/monkey-Bq8netSZ.js.map +1 -0
- package/web-ui/build/static/monkey-CPpmuL9I.js +2 -0
- package/web-ui/build/static/monkey-CPpmuL9I.js.map +1 -0
- package/web-ui/build/static/moonscript-B9a73jsf.js +2 -0
- package/web-ui/build/static/moonscript-B9a73jsf.js.map +1 -0
- package/web-ui/build/static/moonscript-DmA2CttA.js +2 -0
- package/web-ui/build/static/moonscript-DmA2CttA.js.map +1 -0
- package/web-ui/build/static/n1ql-Bz2fg_jW.js +2 -0
- package/web-ui/build/static/n1ql-Bz2fg_jW.js.map +1 -0
- package/web-ui/build/static/n1ql-FUlIcRmf.js +2 -0
- package/web-ui/build/static/n1ql-FUlIcRmf.js.map +1 -0
- package/web-ui/build/static/n4js-Bp5wMqM0.js +2 -0
- package/web-ui/build/static/n4js-Bp5wMqM0.js.map +1 -0
- package/web-ui/build/static/nand2tetris-hdl-CJyH0LLR.js +2 -0
- package/web-ui/build/static/nand2tetris-hdl-CJyH0LLR.js.map +1 -0
- package/web-ui/build/static/naniscript-CLrgjhin.js +2 -0
- package/web-ui/build/static/naniscript-CLrgjhin.js.map +1 -0
- package/web-ui/build/static/nasm-Co7yC4q7.js +2 -0
- package/web-ui/build/static/nasm-Co7yC4q7.js.map +1 -0
- package/web-ui/build/static/neon-0JwCtEuE.js +2 -0
- package/web-ui/build/static/neon-0JwCtEuE.js.map +1 -0
- package/web-ui/build/static/nevod-h39mJZY1.js +2 -0
- package/web-ui/build/static/nevod-h39mJZY1.js.map +1 -0
- package/web-ui/build/static/nginx-7b1himo2.js +2 -0
- package/web-ui/build/static/nginx-7b1himo2.js.map +1 -0
- package/web-ui/build/static/nginx-9ndv5Khr.js +2 -0
- package/web-ui/build/static/nginx-9ndv5Khr.js.map +1 -0
- package/web-ui/build/static/nim-DJjX5wjI.js +2 -0
- package/web-ui/build/static/nim-DJjX5wjI.js.map +1 -0
- package/web-ui/build/static/nim-IAZUyPZK.js +2 -0
- package/web-ui/build/static/nim-IAZUyPZK.js.map +1 -0
- package/web-ui/build/static/nix--Ab_kIxO.js +2 -0
- package/web-ui/build/static/nix--Ab_kIxO.js.map +1 -0
- package/web-ui/build/static/nix-BN8GjRB6.js +2 -0
- package/web-ui/build/static/nix-BN8GjRB6.js.map +1 -0
- package/web-ui/build/static/node-repl-KD4UJWIP.js +2 -0
- package/web-ui/build/static/node-repl-KD4UJWIP.js.map +1 -0
- package/web-ui/build/static/nsis-BBcB8_jt.js +2 -0
- package/web-ui/build/static/nsis-BBcB8_jt.js.map +1 -0
- package/web-ui/build/static/nsis-CmKeAsGi.js +2 -0
- package/web-ui/build/static/nsis-CmKeAsGi.js.map +1 -0
- package/web-ui/build/static/objectivec-4uUb8xtC.js +2 -0
- package/web-ui/build/static/objectivec-4uUb8xtC.js.map +1 -0
- package/web-ui/build/static/objectivec-C5tfJ0Lo.js +2 -0
- package/web-ui/build/static/objectivec-C5tfJ0Lo.js.map +1 -0
- package/web-ui/build/static/ocaml-BBqBgC8n.js +2 -0
- package/web-ui/build/static/ocaml-BBqBgC8n.js.map +1 -0
- package/web-ui/build/static/ocaml-ByvmTd6_.js +2 -0
- package/web-ui/build/static/ocaml-ByvmTd6_.js.map +1 -0
- package/web-ui/build/static/opencl-BnSqAfLW.js +2 -0
- package/web-ui/build/static/opencl-BnSqAfLW.js.map +1 -0
- package/web-ui/build/static/openqasm-BweCwJ93.js +2 -0
- package/web-ui/build/static/openqasm-BweCwJ93.js.map +1 -0
- package/web-ui/build/static/openscad-D0pqHlcA.js +2 -0
- package/web-ui/build/static/openscad-D0pqHlcA.js.map +1 -0
- package/web-ui/build/static/oxygene-DuU6JTy8.js +2 -0
- package/web-ui/build/static/oxygene-DuU6JTy8.js.map +1 -0
- package/web-ui/build/static/oz-uqCxxbkq.js +2 -0
- package/web-ui/build/static/oz-uqCxxbkq.js.map +1 -0
- package/web-ui/build/static/parigp-nyeTu47g.js +2 -0
- package/web-ui/build/static/parigp-nyeTu47g.js.map +1 -0
- package/web-ui/build/static/parser-D9sNqruY.js +2 -0
- package/web-ui/build/static/parser-D9sNqruY.js.map +1 -0
- package/web-ui/build/static/parser3-BYPqq2AB.js +2 -0
- package/web-ui/build/static/parser3-BYPqq2AB.js.map +1 -0
- package/web-ui/build/static/pascal-D8D189xn.js +2 -0
- package/web-ui/build/static/pascal-D8D189xn.js.map +1 -0
- package/web-ui/build/static/pascaligo-6FdglaRL.js +2 -0
- package/web-ui/build/static/pascaligo-6FdglaRL.js.map +1 -0
- package/web-ui/build/static/pcaxis-DWbTM8Yd.js +2 -0
- package/web-ui/build/static/pcaxis-DWbTM8Yd.js.map +1 -0
- package/web-ui/build/static/peoplecode-D4dSYsFb.js +2 -0
- package/web-ui/build/static/peoplecode-D4dSYsFb.js.map +1 -0
- package/web-ui/build/static/perl-9jSnfdy_.js +2 -0
- package/web-ui/build/static/perl-9jSnfdy_.js.map +1 -0
- package/web-ui/build/static/perl-_HxUcdwU.js +2 -0
- package/web-ui/build/static/perl-_HxUcdwU.js.map +1 -0
- package/web-ui/build/static/pf-BHPCTJ6-.js +2 -0
- package/web-ui/build/static/pf-BHPCTJ6-.js.map +1 -0
- package/web-ui/build/static/pgsql-BgcBUjcR.js +2 -0
- package/web-ui/build/static/pgsql-BgcBUjcR.js.map +1 -0
- package/web-ui/build/static/php-CIcDdi6I.js +2 -0
- package/web-ui/build/static/php-CIcDdi6I.js.map +1 -0
- package/web-ui/build/static/php-CkM6rpyy.js +2 -0
- package/web-ui/build/static/php-CkM6rpyy.js.map +1 -0
- package/web-ui/build/static/php-extras-UjW-Vk61.js +2 -0
- package/web-ui/build/static/php-extras-UjW-Vk61.js.map +1 -0
- package/web-ui/build/static/php-template-B2dN2hwT.js +2 -0
- package/web-ui/build/static/php-template-B2dN2hwT.js.map +1 -0
- package/web-ui/build/static/phpdoc-DNdTX53A.js +2 -0
- package/web-ui/build/static/phpdoc-DNdTX53A.js.map +1 -0
- package/web-ui/build/static/plaintext-DUIFyiDe.js +2 -0
- package/web-ui/build/static/plaintext-DUIFyiDe.js.map +1 -0
- package/web-ui/build/static/plsql-DsQJ4072.js +2 -0
- package/web-ui/build/static/plsql-DsQJ4072.js.map +1 -0
- package/web-ui/build/static/pony-BU1fLYpU.js +2 -0
- package/web-ui/build/static/pony-BU1fLYpU.js.map +1 -0
- package/web-ui/build/static/powerquery-DJk6-TK4.js +2 -0
- package/web-ui/build/static/powerquery-DJk6-TK4.js.map +1 -0
- package/web-ui/build/static/powershell-BDNruhoF.js +2 -0
- package/web-ui/build/static/powershell-BDNruhoF.js.map +1 -0
- package/web-ui/build/static/powershell-BXU4DCs3.js +2 -0
- package/web-ui/build/static/powershell-BXU4DCs3.js.map +1 -0
- package/web-ui/build/static/processing-ChVpkQhX.js +2 -0
- package/web-ui/build/static/processing-ChVpkQhX.js.map +1 -0
- package/web-ui/build/static/processing-Cv7_hnPM.js +2 -0
- package/web-ui/build/static/processing-Cv7_hnPM.js.map +1 -0
- package/web-ui/build/static/profile-BVj1qJE_.js +2 -0
- package/web-ui/build/static/profile-BVj1qJE_.js.map +1 -0
- package/web-ui/build/static/prolog-CAVgwprX.js +2 -0
- package/web-ui/build/static/prolog-CAVgwprX.js.map +1 -0
- package/web-ui/build/static/prolog-Et2wujHo.js +2 -0
- package/web-ui/build/static/prolog-Et2wujHo.js.map +1 -0
- package/web-ui/build/static/promql-Cz4F77Ew.js +2 -0
- package/web-ui/build/static/promql-Cz4F77Ew.js.map +1 -0
- package/web-ui/build/static/properties-BShHENAN.js +2 -0
- package/web-ui/build/static/properties-BShHENAN.js.map +1 -0
- package/web-ui/build/static/properties-Dkqm0rKu.js +2 -0
- package/web-ui/build/static/properties-Dkqm0rKu.js.map +1 -0
- package/web-ui/build/static/protobuf-CVNe3e-W.js +2 -0
- package/web-ui/build/static/protobuf-CVNe3e-W.js.map +1 -0
- package/web-ui/build/static/protobuf-CqLETJaM.js +2 -0
- package/web-ui/build/static/protobuf-CqLETJaM.js.map +1 -0
- package/web-ui/build/static/psl-B_niOor2.js +2 -0
- package/web-ui/build/static/psl-B_niOor2.js.map +1 -0
- package/web-ui/build/static/pug-Dogq0W1q.js +2 -0
- package/web-ui/build/static/pug-Dogq0W1q.js.map +1 -0
- package/web-ui/build/static/puppet-CqIsZPpg.js +2 -0
- package/web-ui/build/static/puppet-CqIsZPpg.js.map +1 -0
- package/web-ui/build/static/puppet-DtUTgwBl.js +2 -0
- package/web-ui/build/static/puppet-DtUTgwBl.js.map +1 -0
- package/web-ui/build/static/pure-DLb-CZAQ.js +2 -0
- package/web-ui/build/static/pure-DLb-CZAQ.js.map +1 -0
- package/web-ui/build/static/purebasic-Ak-XvaaG.js +2 -0
- package/web-ui/build/static/purebasic-Ak-XvaaG.js.map +1 -0
- package/web-ui/build/static/purebasic-CwWD8ppC.js +2 -0
- package/web-ui/build/static/purebasic-CwWD8ppC.js.map +1 -0
- package/web-ui/build/static/purescript-pxRFtg50.js +2 -0
- package/web-ui/build/static/purescript-pxRFtg50.js.map +1 -0
- package/web-ui/build/static/python-BGpnbhdm.js +2 -0
- package/web-ui/build/static/python-BGpnbhdm.js.map +1 -0
- package/web-ui/build/static/python-apQya6Kp.js +2 -0
- package/web-ui/build/static/python-apQya6Kp.js.map +1 -0
- package/web-ui/build/static/python-repl-CAL1b1cv.js +2 -0
- package/web-ui/build/static/python-repl-CAL1b1cv.js.map +1 -0
- package/web-ui/build/static/q-CFgS2m0y.js +2 -0
- package/web-ui/build/static/q-CFgS2m0y.js.map +1 -0
- package/web-ui/build/static/q-CY5yFdRL.js +2 -0
- package/web-ui/build/static/q-CY5yFdRL.js.map +1 -0
- package/web-ui/build/static/qml-CjVZ6qeU.js +2 -0
- package/web-ui/build/static/qml-CjVZ6qeU.js.map +1 -0
- package/web-ui/build/static/qml-DF6taTRL.js +2 -0
- package/web-ui/build/static/qml-DF6taTRL.js.map +1 -0
- package/web-ui/build/static/qore-Cnvwnm4W.js +2 -0
- package/web-ui/build/static/qore-Cnvwnm4W.js.map +1 -0
- package/web-ui/build/static/qsharp-BLyqFiSH.js +2 -0
- package/web-ui/build/static/qsharp-BLyqFiSH.js.map +1 -0
- package/web-ui/build/static/r-CxJpNolP.js +2 -0
- package/web-ui/build/static/r-CxJpNolP.js.map +1 -0
- package/web-ui/build/static/r-_E6ue124.js +2 -0
- package/web-ui/build/static/r-_E6ue124.js.map +1 -0
- package/web-ui/build/static/racket-Bmyg-av4.js +2 -0
- package/web-ui/build/static/racket-Bmyg-av4.js.map +1 -0
- package/web-ui/build/static/reason-OKvRjmn_.js +2 -0
- package/web-ui/build/static/reason-OKvRjmn_.js.map +1 -0
- package/web-ui/build/static/reasonml-D0BNoEZO.js +2 -0
- package/web-ui/build/static/reasonml-D0BNoEZO.js.map +1 -0
- package/web-ui/build/static/regex-BeCVDeGQ.js +2 -0
- package/web-ui/build/static/regex-BeCVDeGQ.js.map +1 -0
- package/web-ui/build/static/rego-CY58V9z1.js +2 -0
- package/web-ui/build/static/rego-CY58V9z1.js.map +1 -0
- package/web-ui/build/static/renpy-Df5i3624.js +2 -0
- package/web-ui/build/static/renpy-Df5i3624.js.map +1 -0
- package/web-ui/build/static/rest-YD_Wjw2e.js +2 -0
- package/web-ui/build/static/rest-YD_Wjw2e.js.map +1 -0
- package/web-ui/build/static/rib-DuaunRKi.js +2 -0
- package/web-ui/build/static/rib-DuaunRKi.js.map +1 -0
- package/web-ui/build/static/rip-iDXJRLt0.js +2 -0
- package/web-ui/build/static/rip-iDXJRLt0.js.map +1 -0
- package/web-ui/build/static/roboconf-DqxR743C.js +2 -0
- package/web-ui/build/static/roboconf-DqxR743C.js.map +1 -0
- package/web-ui/build/static/roboconf-mZ8y2Wzl.js +2 -0
- package/web-ui/build/static/roboconf-mZ8y2Wzl.js.map +1 -0
- package/web-ui/build/static/robotframework-C-iaHN63.js +2 -0
- package/web-ui/build/static/robotframework-C-iaHN63.js.map +1 -0
- package/web-ui/build/static/routeros-DDsrh3MO.js +2 -0
- package/web-ui/build/static/routeros-DDsrh3MO.js.map +1 -0
- package/web-ui/build/static/rsl-BmjcGZip.js +2 -0
- package/web-ui/build/static/rsl-BmjcGZip.js.map +1 -0
- package/web-ui/build/static/ruby-D3NIGoto.js +2 -0
- package/web-ui/build/static/ruby-D3NIGoto.js.map +1 -0
- package/web-ui/build/static/ruby-XEKmj6hE.js +2 -0
- package/web-ui/build/static/ruby-XEKmj6hE.js.map +1 -0
- package/web-ui/build/static/ruleslanguage-CgdyQvDN.js +2 -0
- package/web-ui/build/static/ruleslanguage-CgdyQvDN.js.map +1 -0
- package/web-ui/build/static/rust-C768ZOk9.js +2 -0
- package/web-ui/build/static/rust-C768ZOk9.js.map +1 -0
- package/web-ui/build/static/rust-DNaBGts-.js +2 -0
- package/web-ui/build/static/rust-DNaBGts-.js.map +1 -0
- package/web-ui/build/static/sas-B72-BWtx.js +2 -0
- package/web-ui/build/static/sas-B72-BWtx.js.map +1 -0
- package/web-ui/build/static/sas-DzRXNPHa.js +2 -0
- package/web-ui/build/static/sas-DzRXNPHa.js.map +1 -0
- package/web-ui/build/static/sass-CNAvWcck.js +2 -0
- package/web-ui/build/static/sass-CNAvWcck.js.map +1 -0
- package/web-ui/build/static/scala-CXLhK1nY.js +2 -0
- package/web-ui/build/static/scala-CXLhK1nY.js.map +1 -0
- package/web-ui/build/static/scala-Vfzz66fM.js +2 -0
- package/web-ui/build/static/scala-Vfzz66fM.js.map +1 -0
- package/web-ui/build/static/scheme-BCW3xpmp.js +2 -0
- package/web-ui/build/static/scheme-BCW3xpmp.js.map +1 -0
- package/web-ui/build/static/scheme-BM0CYtaA.js +2 -0
- package/web-ui/build/static/scheme-BM0CYtaA.js.map +1 -0
- package/web-ui/build/static/scilab-DFkJbzYs.js +2 -0
- package/web-ui/build/static/scilab-DFkJbzYs.js.map +1 -0
- package/web-ui/build/static/scss-C7oXKXjN.js +2 -0
- package/web-ui/build/static/scss-C7oXKXjN.js.map +1 -0
- package/web-ui/build/static/scss-Z7bEZWZp.js +2 -0
- package/web-ui/build/static/scss-Z7bEZWZp.js.map +1 -0
- package/web-ui/build/static/shell-RewC1NA5.js +2 -0
- package/web-ui/build/static/shell-RewC1NA5.js.map +1 -0
- package/web-ui/build/static/shell-session-BVlqwXKH.js +2 -0
- package/web-ui/build/static/shell-session-BVlqwXKH.js.map +1 -0
- package/web-ui/build/static/smali-CKfLwCA4.js +2 -0
- package/web-ui/build/static/smali-CKfLwCA4.js.map +1 -0
- package/web-ui/build/static/smali-CQq-JKqJ.js +2 -0
- package/web-ui/build/static/smali-CQq-JKqJ.js.map +1 -0
- package/web-ui/build/static/smalltalk-BWZ7_SK7.js +2 -0
- package/web-ui/build/static/smalltalk-BWZ7_SK7.js.map +1 -0
- package/web-ui/build/static/smalltalk-COa9DYQI.js +2 -0
- package/web-ui/build/static/smalltalk-COa9DYQI.js.map +1 -0
- package/web-ui/build/static/smarty-DNZf8so0.js +2 -0
- package/web-ui/build/static/smarty-DNZf8so0.js.map +1 -0
- package/web-ui/build/static/sml-B45Z4gfL.js +2 -0
- package/web-ui/build/static/sml-B45Z4gfL.js.map +1 -0
- package/web-ui/build/static/sml-DWihHWqq.js +2 -0
- package/web-ui/build/static/sml-DWihHWqq.js.map +1 -0
- package/web-ui/build/static/solidity-CcykBrCn.js +2 -0
- package/web-ui/build/static/solidity-CcykBrCn.js.map +1 -0
- package/web-ui/build/static/solution-file-g19cduw8.js +2 -0
- package/web-ui/build/static/solution-file-g19cduw8.js.map +1 -0
- package/web-ui/build/static/soy-_Cs3psBg.js +2 -0
- package/web-ui/build/static/soy-_Cs3psBg.js.map +1 -0
- package/web-ui/build/static/sparql-9LIn88JO.js +2 -0
- package/web-ui/build/static/sparql-9LIn88JO.js.map +1 -0
- package/web-ui/build/static/splunk-spl-DxqEUZyC.js +2 -0
- package/web-ui/build/static/splunk-spl-DxqEUZyC.js.map +1 -0
- package/web-ui/build/static/sqf-BtpoGO2Z.js +2 -0
- package/web-ui/build/static/sqf-BtpoGO2Z.js.map +1 -0
- package/web-ui/build/static/sqf-D085K8Tg.js +2 -0
- package/web-ui/build/static/sqf-D085K8Tg.js.map +1 -0
- package/web-ui/build/static/sql-1s0SNG6w.js +2 -0
- package/web-ui/build/static/sql-1s0SNG6w.js.map +1 -0
- package/web-ui/build/static/sql-BI4-kN-2.js +2 -0
- package/web-ui/build/static/sql-BI4-kN-2.js.map +1 -0
- package/web-ui/build/static/sql_more-D5J4r8gb.js +2 -0
- package/web-ui/build/static/sql_more-D5J4r8gb.js.map +1 -0
- package/web-ui/build/static/squirrel-3h5imuMR.js +2 -0
- package/web-ui/build/static/squirrel-3h5imuMR.js.map +1 -0
- package/web-ui/build/static/stan-CEQLnqRD.js +2 -0
- package/web-ui/build/static/stan-CEQLnqRD.js.map +1 -0
- package/web-ui/build/static/stan-D0bEbTTz.js +2 -0
- package/web-ui/build/static/stan-D0bEbTTz.js.map +1 -0
- package/web-ui/build/static/stata-Dx_Kcib1.js +2 -0
- package/web-ui/build/static/stata-Dx_Kcib1.js.map +1 -0
- package/web-ui/build/static/step21-Nkgu91An.js +2 -0
- package/web-ui/build/static/step21-Nkgu91An.js.map +1 -0
- package/web-ui/build/static/stylus-8t2oO6n8.js +2 -0
- package/web-ui/build/static/stylus-8t2oO6n8.js.map +1 -0
- package/web-ui/build/static/stylus-Cg7VLHO-.js +2 -0
- package/web-ui/build/static/stylus-Cg7VLHO-.js.map +1 -0
- package/web-ui/build/static/subunit-DkYb3IUq.js +2 -0
- package/web-ui/build/static/subunit-DkYb3IUq.js.map +1 -0
- package/web-ui/build/static/swift-6FmWAmlf.js +2 -0
- package/web-ui/build/static/swift-6FmWAmlf.js.map +1 -0
- package/web-ui/build/static/swift-VBuNxUor.js +2 -0
- package/web-ui/build/static/swift-VBuNxUor.js.map +1 -0
- package/web-ui/build/static/systemd-DQHhfTLQ.js +2 -0
- package/web-ui/build/static/systemd-DQHhfTLQ.js.map +1 -0
- package/web-ui/build/static/t4-cs-Dxh-bkYi.js +2 -0
- package/web-ui/build/static/t4-cs-Dxh-bkYi.js.map +1 -0
- package/web-ui/build/static/t4-templating-n27asaAY.js +2 -0
- package/web-ui/build/static/t4-templating-n27asaAY.js.map +1 -0
- package/web-ui/build/static/t4-vb-CqhmZNfO.js +2 -0
- package/web-ui/build/static/t4-vb-CqhmZNfO.js.map +1 -0
- package/web-ui/build/static/taggerscript-EC2KHJ9j.js +2 -0
- package/web-ui/build/static/taggerscript-EC2KHJ9j.js.map +1 -0
- package/web-ui/build/static/tap-C2wu9oTu.js +2 -0
- package/web-ui/build/static/tap-C2wu9oTu.js.map +1 -0
- package/web-ui/build/static/tap-CcZFPTQF.js +2 -0
- package/web-ui/build/static/tap-CcZFPTQF.js.map +1 -0
- package/web-ui/build/static/tcl-7BG3WC98.js +2 -0
- package/web-ui/build/static/tcl-7BG3WC98.js.map +1 -0
- package/web-ui/build/static/tcl-TKRwJ5SH.js +2 -0
- package/web-ui/build/static/tcl-TKRwJ5SH.js.map +1 -0
- package/web-ui/build/static/textile-Cm1m6RvH.js +2 -0
- package/web-ui/build/static/textile-Cm1m6RvH.js.map +1 -0
- package/web-ui/build/static/thrift-B7lMTKse.js +2 -0
- package/web-ui/build/static/thrift-B7lMTKse.js.map +1 -0
- package/web-ui/build/static/toml-1GruOU_5.js +2 -0
- package/web-ui/build/static/toml-1GruOU_5.js.map +1 -0
- package/web-ui/build/static/tp-DlteH-g5.js +2 -0
- package/web-ui/build/static/tp-DlteH-g5.js.map +1 -0
- package/web-ui/build/static/tremor-CUIp-X9R.js +2 -0
- package/web-ui/build/static/tremor-CUIp-X9R.js.map +1 -0
- package/web-ui/build/static/tsx-D-F2iOR_.js +2 -0
- package/web-ui/build/static/tsx-D-F2iOR_.js.map +1 -0
- package/web-ui/build/static/tt2-DAZpNpB8.js +2 -0
- package/web-ui/build/static/tt2-DAZpNpB8.js.map +1 -0
- package/web-ui/build/static/turtle-BeZ6Z7O0.js +2 -0
- package/web-ui/build/static/turtle-BeZ6Z7O0.js.map +1 -0
- package/web-ui/build/static/twig-BuGd-xIP.js +2 -0
- package/web-ui/build/static/twig-BuGd-xIP.js.map +1 -0
- package/web-ui/build/static/twig-DCsh3Q98.js +2 -0
- package/web-ui/build/static/twig-DCsh3Q98.js.map +1 -0
- package/web-ui/build/static/typescript-ChHDq9oA.js +2 -0
- package/web-ui/build/static/typescript-ChHDq9oA.js.map +1 -0
- package/web-ui/build/static/typescript-D2dgarn7.js +2 -0
- package/web-ui/build/static/typescript-D2dgarn7.js.map +1 -0
- package/web-ui/build/static/typoscript-DCg7bjmJ.js +2 -0
- package/web-ui/build/static/typoscript-DCg7bjmJ.js.map +1 -0
- package/web-ui/build/static/unrealscript-Cuh9dt3o.js +2 -0
- package/web-ui/build/static/unrealscript-Cuh9dt3o.js.map +1 -0
- package/web-ui/build/static/uorazor-Cn5No7eY.js +2 -0
- package/web-ui/build/static/uorazor-Cn5No7eY.js.map +1 -0
- package/web-ui/build/static/uri-BTPo55nj.js +2 -0
- package/web-ui/build/static/uri-BTPo55nj.js.map +1 -0
- package/web-ui/build/static/v-Cges3NoP.js +2 -0
- package/web-ui/build/static/v-Cges3NoP.js.map +1 -0
- package/web-ui/build/static/vala-BWUZhSWM.js +2 -0
- package/web-ui/build/static/vala-BWUZhSWM.js.map +1 -0
- package/web-ui/build/static/vala-Df09KIHt.js +2 -0
- package/web-ui/build/static/vala-Df09KIHt.js.map +1 -0
- package/web-ui/build/static/vbnet-DHIPf9Pp.js +2 -0
- package/web-ui/build/static/vbnet-DHIPf9Pp.js.map +1 -0
- package/web-ui/build/static/vbnet-Dqv3C75f.js +2 -0
- package/web-ui/build/static/vbnet-Dqv3C75f.js.map +1 -0
- package/web-ui/build/static/vbscript-DD0J3LKb.js +2 -0
- package/web-ui/build/static/vbscript-DD0J3LKb.js.map +1 -0
- package/web-ui/build/static/vbscript-html-BlDWohsy.js +2 -0
- package/web-ui/build/static/vbscript-html-BlDWohsy.js.map +1 -0
- package/web-ui/build/static/velocity-DWpCEaFh.js +2 -0
- package/web-ui/build/static/velocity-DWpCEaFh.js.map +1 -0
- package/web-ui/build/static/verilog-1bpiSgtb.js +2 -0
- package/web-ui/build/static/verilog-1bpiSgtb.js.map +1 -0
- package/web-ui/build/static/verilog-B6OykTPP.js +2 -0
- package/web-ui/build/static/verilog-B6OykTPP.js.map +1 -0
- package/web-ui/build/static/vhdl-CcQETFha.js +2 -0
- package/web-ui/build/static/vhdl-CcQETFha.js.map +1 -0
- package/web-ui/build/static/vhdl-QBH9YLhl.js +2 -0
- package/web-ui/build/static/vhdl-QBH9YLhl.js.map +1 -0
- package/web-ui/build/static/vim-BLLhZRB6.js +2 -0
- package/web-ui/build/static/vim-BLLhZRB6.js.map +1 -0
- package/web-ui/build/static/vim-DE3ZHfWz.js +2 -0
- package/web-ui/build/static/vim-DE3ZHfWz.js.map +1 -0
- package/web-ui/build/static/visual-basic-D8LH0qGh.js +2 -0
- package/web-ui/build/static/visual-basic-D8LH0qGh.js.map +1 -0
- package/web-ui/build/static/warpscript-DtDs9hba.js +2 -0
- package/web-ui/build/static/warpscript-DtDs9hba.js.map +1 -0
- package/web-ui/build/static/wasm-DqmNochN.js +2 -0
- package/web-ui/build/static/wasm-DqmNochN.js.map +1 -0
- package/web-ui/build/static/web-idl-9SbEueuT.js +2 -0
- package/web-ui/build/static/web-idl-9SbEueuT.js.map +1 -0
- package/web-ui/build/static/wiki-4euoUpK0.js +2 -0
- package/web-ui/build/static/wiki-4euoUpK0.js.map +1 -0
- package/web-ui/build/static/wolfram-BjXIRgaM.js +2 -0
- package/web-ui/build/static/wolfram-BjXIRgaM.js.map +1 -0
- package/web-ui/build/static/wren-8kP0Rt9M.js +2 -0
- package/web-ui/build/static/wren-8kP0Rt9M.js.map +1 -0
- package/web-ui/build/static/x86asm-CK7XnCQK.js +2 -0
- package/web-ui/build/static/x86asm-CK7XnCQK.js.map +1 -0
- package/web-ui/build/static/xeora-BfEJLiJW.js +2 -0
- package/web-ui/build/static/xeora-BfEJLiJW.js.map +1 -0
- package/web-ui/build/static/xl-zRRwP26N.js +2 -0
- package/web-ui/build/static/xl-zRRwP26N.js.map +1 -0
- package/web-ui/build/static/xml-CMsYjbuQ.js +2 -0
- package/web-ui/build/static/xml-CMsYjbuQ.js.map +1 -0
- package/web-ui/build/static/xml-doc-DA6AZKgH.js +2 -0
- package/web-ui/build/static/xml-doc-DA6AZKgH.js.map +1 -0
- package/web-ui/build/static/xojo-CX7sQLtw.js +2 -0
- package/web-ui/build/static/xojo-CX7sQLtw.js.map +1 -0
- package/web-ui/build/static/xquery-CV6lbeNb.js +2 -0
- package/web-ui/build/static/xquery-CV6lbeNb.js.map +1 -0
- package/web-ui/build/static/xquery-D7MdKvtL.js +2 -0
- package/web-ui/build/static/xquery-D7MdKvtL.js.map +1 -0
- package/web-ui/build/static/yaml-DIeLTN2a.js +2 -0
- package/web-ui/build/static/yaml-DIeLTN2a.js.map +1 -0
- package/web-ui/build/static/yaml-SaN2fvzH.js +2 -0
- package/web-ui/build/static/yaml-SaN2fvzH.js.map +1 -0
- package/web-ui/build/static/yang-Bof6bWVy.js +2 -0
- package/web-ui/build/static/yang-Bof6bWVy.js.map +1 -0
- package/web-ui/build/static/zephir-BzB-8snk.js +2 -0
- package/web-ui/build/static/zephir-BzB-8snk.js.map +1 -0
- package/web-ui/build/static/zig-CVW20ae1.js +2 -0
- package/web-ui/build/static/zig-CVW20ae1.js.map +1 -0
- package/src/tools/__tests__/docxTool.test.js +0 -449
- package/src/tools/__tests__/excelTool.test.js +0 -486
- package/src/tools/docxTool.js +0 -623
- package/src/tools/excelTool.js +0 -636
- package/web-ui/build/static/1c-sgd6XOMh.js +0 -2
- package/web-ui/build/static/1c-sgd6XOMh.js.map +0 -1
- package/web-ui/build/static/abap-9Z7coMu4.js +0 -2
- package/web-ui/build/static/abap-9Z7coMu4.js.map +0 -1
- package/web-ui/build/static/abnf-DVIjmao7.js +0 -2
- package/web-ui/build/static/abnf-DVIjmao7.js.map +0 -1
- package/web-ui/build/static/abnf-DzYNS64y.js +0 -2
- package/web-ui/build/static/abnf-DzYNS64y.js.map +0 -1
- package/web-ui/build/static/accesslog-1FR0TGhT.js +0 -2
- package/web-ui/build/static/accesslog-1FR0TGhT.js.map +0 -1
- package/web-ui/build/static/actionscript-BoUPggbJ.js +0 -2
- package/web-ui/build/static/actionscript-BoUPggbJ.js.map +0 -1
- package/web-ui/build/static/actionscript-D-rNGIAg.js +0 -2
- package/web-ui/build/static/actionscript-D-rNGIAg.js.map +0 -1
- package/web-ui/build/static/ada-CmZtJGXV.js +0 -2
- package/web-ui/build/static/ada-CmZtJGXV.js.map +0 -1
- package/web-ui/build/static/ada-DCCye3Vh.js +0 -2
- package/web-ui/build/static/ada-DCCye3Vh.js.map +0 -1
- package/web-ui/build/static/agda-Wip9VH0a.js +0 -2
- package/web-ui/build/static/agda-Wip9VH0a.js.map +0 -1
- package/web-ui/build/static/al-1UNAGbtu.js +0 -2
- package/web-ui/build/static/al-1UNAGbtu.js.map +0 -1
- package/web-ui/build/static/angelscript-COVHqwAg.js +0 -2
- package/web-ui/build/static/angelscript-COVHqwAg.js.map +0 -1
- package/web-ui/build/static/antlr4-LDPj0qg6.js +0 -2
- package/web-ui/build/static/antlr4-LDPj0qg6.js.map +0 -1
- package/web-ui/build/static/apache-QR7cZivT.js +0 -2
- package/web-ui/build/static/apache-QR7cZivT.js.map +0 -1
- package/web-ui/build/static/apacheconf-DAxke2Px.js +0 -2
- package/web-ui/build/static/apacheconf-DAxke2Px.js.map +0 -1
- package/web-ui/build/static/apex-Bmj-xU5a.js +0 -2
- package/web-ui/build/static/apex-Bmj-xU5a.js.map +0 -1
- package/web-ui/build/static/apl-CS51YA48.js +0 -2
- package/web-ui/build/static/apl-CS51YA48.js.map +0 -1
- package/web-ui/build/static/applescript-BKZVsyVO.js +0 -2
- package/web-ui/build/static/applescript-BKZVsyVO.js.map +0 -1
- package/web-ui/build/static/applescript-CmqMovVQ.js +0 -2
- package/web-ui/build/static/applescript-CmqMovVQ.js.map +0 -1
- package/web-ui/build/static/aql-B1irht8n.js +0 -2
- package/web-ui/build/static/aql-B1irht8n.js.map +0 -1
- package/web-ui/build/static/arcade-DS5_Frh7.js +0 -2
- package/web-ui/build/static/arcade-DS5_Frh7.js.map +0 -1
- package/web-ui/build/static/arduino-B3HidO-K.js +0 -2
- package/web-ui/build/static/arduino-B3HidO-K.js.map +0 -1
- package/web-ui/build/static/arduino-DK3uUC-P.js +0 -2
- package/web-ui/build/static/arduino-DK3uUC-P.js.map +0 -1
- package/web-ui/build/static/arff-CZdb8xAz.js +0 -2
- package/web-ui/build/static/arff-CZdb8xAz.js.map +0 -1
- package/web-ui/build/static/armasm-Ck-TIZe8.js +0 -2
- package/web-ui/build/static/armasm-Ck-TIZe8.js.map +0 -1
- package/web-ui/build/static/asciidoc-DZmHlWDS.js +0 -2
- package/web-ui/build/static/asciidoc-DZmHlWDS.js.map +0 -1
- package/web-ui/build/static/asciidoc-VNJDdKPJ.js +0 -2
- package/web-ui/build/static/asciidoc-VNJDdKPJ.js.map +0 -1
- package/web-ui/build/static/asm6502-ChATpPX0.js +0 -2
- package/web-ui/build/static/asm6502-ChATpPX0.js.map +0 -1
- package/web-ui/build/static/asmatmel-BqXvVRBg.js +0 -2
- package/web-ui/build/static/asmatmel-BqXvVRBg.js.map +0 -1
- package/web-ui/build/static/aspectj-C35IW-28.js +0 -2
- package/web-ui/build/static/aspectj-C35IW-28.js.map +0 -1
- package/web-ui/build/static/aspnet-C9FIwZ0V.js +0 -2
- package/web-ui/build/static/aspnet-C9FIwZ0V.js.map +0 -1
- package/web-ui/build/static/autohotkey-BP5MK31C.js +0 -2
- package/web-ui/build/static/autohotkey-BP5MK31C.js.map +0 -1
- package/web-ui/build/static/autohotkey-CK8vf7ct.js +0 -2
- package/web-ui/build/static/autohotkey-CK8vf7ct.js.map +0 -1
- package/web-ui/build/static/autoit-B9_ujb0y.js +0 -2
- package/web-ui/build/static/autoit-B9_ujb0y.js.map +0 -1
- package/web-ui/build/static/autoit-wVzlUg_U.js +0 -2
- package/web-ui/build/static/autoit-wVzlUg_U.js.map +0 -1
- package/web-ui/build/static/avisynth-Bv8QU7rR.js +0 -2
- package/web-ui/build/static/avisynth-Bv8QU7rR.js.map +0 -1
- package/web-ui/build/static/avrasm-BxhSeDEE.js +0 -2
- package/web-ui/build/static/avrasm-BxhSeDEE.js.map +0 -1
- package/web-ui/build/static/avro-idl-Cv2Uy_DG.js +0 -2
- package/web-ui/build/static/avro-idl-Cv2Uy_DG.js.map +0 -1
- package/web-ui/build/static/awk-CGmu6-pb.js +0 -2
- package/web-ui/build/static/awk-CGmu6-pb.js.map +0 -1
- package/web-ui/build/static/axapta-B0mwj-xx.js +0 -2
- package/web-ui/build/static/axapta-B0mwj-xx.js.map +0 -1
- package/web-ui/build/static/bash-BMgYXRMt.js +0 -2
- package/web-ui/build/static/bash-BMgYXRMt.js.map +0 -1
- package/web-ui/build/static/bash-TyjG7yXe.js +0 -2
- package/web-ui/build/static/bash-TyjG7yXe.js.map +0 -1
- package/web-ui/build/static/basic-D74t_tpi.js +0 -2
- package/web-ui/build/static/basic-D74t_tpi.js.map +0 -1
- package/web-ui/build/static/basic-Db35QwlI.js +0 -2
- package/web-ui/build/static/basic-Db35QwlI.js.map +0 -1
- package/web-ui/build/static/batch-BlD49Azt.js +0 -2
- package/web-ui/build/static/batch-BlD49Azt.js.map +0 -1
- package/web-ui/build/static/bbcode-BSBticuk.js +0 -2
- package/web-ui/build/static/bbcode-BSBticuk.js.map +0 -1
- package/web-ui/build/static/bicep-BgnydEtF.js +0 -2
- package/web-ui/build/static/bicep-BgnydEtF.js.map +0 -1
- package/web-ui/build/static/birb-B-IYr3fx.js +0 -2
- package/web-ui/build/static/birb-B-IYr3fx.js.map +0 -1
- package/web-ui/build/static/bison-BSvmlGCE.js +0 -2
- package/web-ui/build/static/bison-BSvmlGCE.js.map +0 -1
- package/web-ui/build/static/bnf-Ci7ILIGJ.js +0 -2
- package/web-ui/build/static/bnf-Ci7ILIGJ.js.map +0 -1
- package/web-ui/build/static/bnf-xfhlWqWW.js +0 -2
- package/web-ui/build/static/bnf-xfhlWqWW.js.map +0 -1
- package/web-ui/build/static/brainfuck-CEbdhEXJ.js +0 -2
- package/web-ui/build/static/brainfuck-CEbdhEXJ.js.map +0 -1
- package/web-ui/build/static/brainfuck-DX_F0bB1.js +0 -2
- package/web-ui/build/static/brainfuck-DX_F0bB1.js.map +0 -1
- package/web-ui/build/static/brightscript-C7C9GXz7.js +0 -2
- package/web-ui/build/static/brightscript-C7C9GXz7.js.map +0 -1
- package/web-ui/build/static/bro-8vGfjIMT.js +0 -2
- package/web-ui/build/static/bro-8vGfjIMT.js.map +0 -1
- package/web-ui/build/static/bsl-D3kEcNqD.js +0 -2
- package/web-ui/build/static/bsl-D3kEcNqD.js.map +0 -1
- package/web-ui/build/static/c-B7xrRJnk.js +0 -2
- package/web-ui/build/static/c-B7xrRJnk.js.map +0 -1
- package/web-ui/build/static/c-hIIsxoX7.js +0 -2
- package/web-ui/build/static/c-hIIsxoX7.js.map +0 -1
- package/web-ui/build/static/c-like-DvRf25Ez.js +0 -2
- package/web-ui/build/static/c-like-DvRf25Ez.js.map +0 -1
- package/web-ui/build/static/cal-D2SPTth2.js +0 -2
- package/web-ui/build/static/cal-D2SPTth2.js.map +0 -1
- package/web-ui/build/static/capnproto-Bllu_47E.js +0 -2
- package/web-ui/build/static/capnproto-Bllu_47E.js.map +0 -1
- package/web-ui/build/static/ceylon-CVnQxPW_.js +0 -2
- package/web-ui/build/static/ceylon-CVnQxPW_.js.map +0 -1
- package/web-ui/build/static/cfscript-136BAkiA.js +0 -2
- package/web-ui/build/static/cfscript-136BAkiA.js.map +0 -1
- package/web-ui/build/static/chaiscript-Deb0uV6e.js +0 -2
- package/web-ui/build/static/chaiscript-Deb0uV6e.js.map +0 -1
- package/web-ui/build/static/cil-CGWxtaTa.js +0 -2
- package/web-ui/build/static/cil-CGWxtaTa.js.map +0 -1
- package/web-ui/build/static/clean-DPG2hRnY.js +0 -2
- package/web-ui/build/static/clean-DPG2hRnY.js.map +0 -1
- package/web-ui/build/static/clike-Db_GKbAn.js +0 -2
- package/web-ui/build/static/clike-Db_GKbAn.js.map +0 -1
- package/web-ui/build/static/clojure-CMGDq0u_.js +0 -2
- package/web-ui/build/static/clojure-CMGDq0u_.js.map +0 -1
- package/web-ui/build/static/clojure-fNJswsQZ.js +0 -2
- package/web-ui/build/static/clojure-fNJswsQZ.js.map +0 -1
- package/web-ui/build/static/clojure-repl-BK99VqBa.js +0 -2
- package/web-ui/build/static/clojure-repl-BK99VqBa.js.map +0 -1
- package/web-ui/build/static/cmake-CqGVUSx1.js +0 -2
- package/web-ui/build/static/cmake-CqGVUSx1.js.map +0 -1
- package/web-ui/build/static/cmake-w7-vuXq4.js +0 -2
- package/web-ui/build/static/cmake-w7-vuXq4.js.map +0 -1
- package/web-ui/build/static/cobol-Dw4CJrpP.js +0 -2
- package/web-ui/build/static/cobol-Dw4CJrpP.js.map +0 -1
- package/web-ui/build/static/coffeescript-B547a6Tt.js +0 -2
- package/web-ui/build/static/coffeescript-B547a6Tt.js.map +0 -1
- package/web-ui/build/static/coffeescript-CcGnr2Oc.js +0 -2
- package/web-ui/build/static/coffeescript-CcGnr2Oc.js.map +0 -1
- package/web-ui/build/static/concurnas-BguMX0TC.js +0 -2
- package/web-ui/build/static/concurnas-BguMX0TC.js.map +0 -1
- package/web-ui/build/static/coq-BetG3O0n.js +0 -2
- package/web-ui/build/static/coq-BetG3O0n.js.map +0 -1
- package/web-ui/build/static/coq-xYMsLxhd.js +0 -2
- package/web-ui/build/static/coq-xYMsLxhd.js.map +0 -1
- package/web-ui/build/static/cos-9pVoxybu.js +0 -2
- package/web-ui/build/static/cos-9pVoxybu.js.map +0 -1
- package/web-ui/build/static/cpp-Cmep8tlg.js +0 -2
- package/web-ui/build/static/cpp-Cmep8tlg.js.map +0 -1
- package/web-ui/build/static/cpp-WFS8ACjS.js +0 -2
- package/web-ui/build/static/cpp-WFS8ACjS.js.map +0 -1
- package/web-ui/build/static/crmsh-DnttSmzd.js +0 -2
- package/web-ui/build/static/crmsh-DnttSmzd.js.map +0 -1
- package/web-ui/build/static/crystal-CHoPii2P.js +0 -2
- package/web-ui/build/static/crystal-CHoPii2P.js.map +0 -1
- package/web-ui/build/static/crystal-DArZuwHK.js +0 -2
- package/web-ui/build/static/crystal-DArZuwHK.js.map +0 -1
- package/web-ui/build/static/csharp-CV3UCG6Z.js +0 -2
- package/web-ui/build/static/csharp-CV3UCG6Z.js.map +0 -1
- package/web-ui/build/static/csharp-DWaRlXQd.js +0 -2
- package/web-ui/build/static/csharp-DWaRlXQd.js.map +0 -1
- package/web-ui/build/static/cshtml-DRumO116.js +0 -2
- package/web-ui/build/static/cshtml-DRumO116.js.map +0 -1
- package/web-ui/build/static/csp-C1l8Zrl7.js +0 -2
- package/web-ui/build/static/csp-C1l8Zrl7.js.map +0 -1
- package/web-ui/build/static/csp-DpRjc_Q2.js +0 -2
- package/web-ui/build/static/csp-DpRjc_Q2.js.map +0 -1
- package/web-ui/build/static/css-BDkPSGsh.js +0 -2
- package/web-ui/build/static/css-BDkPSGsh.js.map +0 -1
- package/web-ui/build/static/css-D9CS02yW.js +0 -2
- package/web-ui/build/static/css-D9CS02yW.js.map +0 -1
- package/web-ui/build/static/css-extras-CElRePvX.js +0 -2
- package/web-ui/build/static/css-extras-CElRePvX.js.map +0 -1
- package/web-ui/build/static/csv-D15ikSEX.js +0 -2
- package/web-ui/build/static/csv-D15ikSEX.js.map +0 -1
- package/web-ui/build/static/cypher-GXqM1vQr.js +0 -2
- package/web-ui/build/static/cypher-GXqM1vQr.js.map +0 -1
- package/web-ui/build/static/d-By9Cm8NV.js +0 -2
- package/web-ui/build/static/d-By9Cm8NV.js.map +0 -1
- package/web-ui/build/static/d-D0ftVTgm.js +0 -2
- package/web-ui/build/static/d-D0ftVTgm.js.map +0 -1
- package/web-ui/build/static/dart-BarNifkO.js +0 -2
- package/web-ui/build/static/dart-BarNifkO.js.map +0 -1
- package/web-ui/build/static/dart-EzZy7uuT.js +0 -2
- package/web-ui/build/static/dart-EzZy7uuT.js.map +0 -1
- package/web-ui/build/static/dataweave-qYUjXb_M.js +0 -2
- package/web-ui/build/static/dataweave-qYUjXb_M.js.map +0 -1
- package/web-ui/build/static/dax-CWDjQA66.js +0 -2
- package/web-ui/build/static/dax-CWDjQA66.js.map +0 -1
- package/web-ui/build/static/delphi-ri1z5xXG.js +0 -2
- package/web-ui/build/static/delphi-ri1z5xXG.js.map +0 -1
- package/web-ui/build/static/dhall-BUy9f6HV.js +0 -2
- package/web-ui/build/static/dhall-BUy9f6HV.js.map +0 -1
- package/web-ui/build/static/diff-Cdcm47-D.js +0 -2
- package/web-ui/build/static/diff-Cdcm47-D.js.map +0 -1
- package/web-ui/build/static/diff-f_hRKxPF.js +0 -2
- package/web-ui/build/static/diff-f_hRKxPF.js.map +0 -1
- package/web-ui/build/static/django-Kv4Kw20M.js +0 -2
- package/web-ui/build/static/django-Kv4Kw20M.js.map +0 -1
- package/web-ui/build/static/django-qWPS9lui.js +0 -2
- package/web-ui/build/static/django-qWPS9lui.js.map +0 -1
- package/web-ui/build/static/dns-D2SihnoL.js +0 -2
- package/web-ui/build/static/dns-D2SihnoL.js.map +0 -1
- package/web-ui/build/static/dns-zone-file-BseHYSvg.js +0 -2
- package/web-ui/build/static/dns-zone-file-BseHYSvg.js.map +0 -1
- package/web-ui/build/static/docker-RdGk7gL-.js +0 -2
- package/web-ui/build/static/docker-RdGk7gL-.js.map +0 -1
- package/web-ui/build/static/dockerfile-BNin6O03.js +0 -2
- package/web-ui/build/static/dockerfile-BNin6O03.js.map +0 -1
- package/web-ui/build/static/dos-BQOZVc39.js +0 -2
- package/web-ui/build/static/dos-BQOZVc39.js.map +0 -1
- package/web-ui/build/static/dot-4iQEKkwe.js +0 -2
- package/web-ui/build/static/dot-4iQEKkwe.js.map +0 -1
- package/web-ui/build/static/dsconfig-BdhxHeNz.js +0 -2
- package/web-ui/build/static/dsconfig-BdhxHeNz.js.map +0 -1
- package/web-ui/build/static/dts-DbjkA3J7.js +0 -2
- package/web-ui/build/static/dts-DbjkA3J7.js.map +0 -1
- package/web-ui/build/static/dust-DXZ_6e-T.js +0 -2
- package/web-ui/build/static/dust-DXZ_6e-T.js.map +0 -1
- package/web-ui/build/static/ebnf-DnRIpsya.js +0 -2
- package/web-ui/build/static/ebnf-DnRIpsya.js.map +0 -1
- package/web-ui/build/static/ebnf-brEG4VE6.js +0 -2
- package/web-ui/build/static/ebnf-brEG4VE6.js.map +0 -1
- package/web-ui/build/static/editorconfig-DLfT7H2M.js +0 -2
- package/web-ui/build/static/editorconfig-DLfT7H2M.js.map +0 -1
- package/web-ui/build/static/eiffel-jBdSs5kq.js +0 -2
- package/web-ui/build/static/eiffel-jBdSs5kq.js.map +0 -1
- package/web-ui/build/static/ejs-BAkcnkmB.js +0 -2
- package/web-ui/build/static/ejs-BAkcnkmB.js.map +0 -1
- package/web-ui/build/static/elixir-DwYW-rcK.js +0 -2
- package/web-ui/build/static/elixir-DwYW-rcK.js.map +0 -1
- package/web-ui/build/static/elixir-bPaZl8oG.js +0 -2
- package/web-ui/build/static/elixir-bPaZl8oG.js.map +0 -1
- package/web-ui/build/static/elm-2rYpaTXb.js +0 -2
- package/web-ui/build/static/elm-2rYpaTXb.js.map +0 -1
- package/web-ui/build/static/elm-BWxYvhSw.js +0 -2
- package/web-ui/build/static/elm-BWxYvhSw.js.map +0 -1
- package/web-ui/build/static/erb-CjY75JdH.js +0 -2
- package/web-ui/build/static/erb-CjY75JdH.js.map +0 -1
- package/web-ui/build/static/erb-N8TsiJ8E.js +0 -2
- package/web-ui/build/static/erb-N8TsiJ8E.js.map +0 -1
- package/web-ui/build/static/erlang-DDnqvfl6.js +0 -2
- package/web-ui/build/static/erlang-DDnqvfl6.js.map +0 -1
- package/web-ui/build/static/erlang-DXKDoUD9.js +0 -2
- package/web-ui/build/static/erlang-DXKDoUD9.js.map +0 -1
- package/web-ui/build/static/erlang-repl-BaErBknt.js +0 -2
- package/web-ui/build/static/erlang-repl-BaErBknt.js.map +0 -1
- package/web-ui/build/static/etlua-Bezoxjkq.js +0 -2
- package/web-ui/build/static/etlua-Bezoxjkq.js.map +0 -1
- package/web-ui/build/static/excel-BIFN2KdQ.js +0 -2
- package/web-ui/build/static/excel-BIFN2KdQ.js.map +0 -1
- package/web-ui/build/static/excel-formula-CREKIpGw.js +0 -2
- package/web-ui/build/static/excel-formula-CREKIpGw.js.map +0 -1
- package/web-ui/build/static/factor-DT1TvHjB.js +0 -2
- package/web-ui/build/static/factor-DT1TvHjB.js.map +0 -1
- package/web-ui/build/static/false-Bs5FRzuv.js +0 -2
- package/web-ui/build/static/false-Bs5FRzuv.js.map +0 -1
- package/web-ui/build/static/firestore-security-rules-CiFnlrS_.js +0 -2
- package/web-ui/build/static/firestore-security-rules-CiFnlrS_.js.map +0 -1
- package/web-ui/build/static/fix-COI4p2al.js +0 -2
- package/web-ui/build/static/fix-COI4p2al.js.map +0 -1
- package/web-ui/build/static/flix-CiPXME8h.js +0 -2
- package/web-ui/build/static/flix-CiPXME8h.js.map +0 -1
- package/web-ui/build/static/flow-BAus9QSD.js +0 -2
- package/web-ui/build/static/flow-BAus9QSD.js.map +0 -1
- package/web-ui/build/static/fortran-D6LxPxlC.js +0 -2
- package/web-ui/build/static/fortran-D6LxPxlC.js.map +0 -1
- package/web-ui/build/static/fortran-ZmUw6lD7.js +0 -2
- package/web-ui/build/static/fortran-ZmUw6lD7.js.map +0 -1
- package/web-ui/build/static/fsharp-BDuBrEYT.js +0 -2
- package/web-ui/build/static/fsharp-BDuBrEYT.js.map +0 -1
- package/web-ui/build/static/fsharp-CfIRmhvx.js +0 -2
- package/web-ui/build/static/fsharp-CfIRmhvx.js.map +0 -1
- package/web-ui/build/static/ftl-BUd_V7Zz.js +0 -2
- package/web-ui/build/static/ftl-BUd_V7Zz.js.map +0 -1
- package/web-ui/build/static/gams-DpdfQMVN.js +0 -2
- package/web-ui/build/static/gams-DpdfQMVN.js.map +0 -1
- package/web-ui/build/static/gap-BEGTrEDy.js +0 -2
- package/web-ui/build/static/gap-BEGTrEDy.js.map +0 -1
- package/web-ui/build/static/gauss-BDQKj-lX.js +0 -2
- package/web-ui/build/static/gauss-BDQKj-lX.js.map +0 -1
- package/web-ui/build/static/gcode-FpJ1uAne.js +0 -2
- package/web-ui/build/static/gcode-FpJ1uAne.js.map +0 -1
- package/web-ui/build/static/gcode-Y9NiVA1t.js +0 -2
- package/web-ui/build/static/gcode-Y9NiVA1t.js.map +0 -1
- package/web-ui/build/static/gdscript-Bxc9v-NB.js +0 -2
- package/web-ui/build/static/gdscript-Bxc9v-NB.js.map +0 -1
- package/web-ui/build/static/gedcom-Bb37b68j.js +0 -2
- package/web-ui/build/static/gedcom-Bb37b68j.js.map +0 -1
- package/web-ui/build/static/gherkin-BZNINNzn.js +0 -2
- package/web-ui/build/static/gherkin-BZNINNzn.js.map +0 -1
- package/web-ui/build/static/gherkin-aBLlRH51.js +0 -2
- package/web-ui/build/static/gherkin-aBLlRH51.js.map +0 -1
- package/web-ui/build/static/git-COFqSrqr.js +0 -2
- package/web-ui/build/static/git-COFqSrqr.js.map +0 -1
- package/web-ui/build/static/glsl-C_ZGeZp8.js +0 -2
- package/web-ui/build/static/glsl-C_ZGeZp8.js.map +0 -1
- package/web-ui/build/static/glsl-tyKdLeU8.js +0 -2
- package/web-ui/build/static/glsl-tyKdLeU8.js.map +0 -1
- package/web-ui/build/static/gml-DWWe7A2T.js +0 -2
- package/web-ui/build/static/gml-DWWe7A2T.js.map +0 -1
- package/web-ui/build/static/gml-Dk0Uzn5j.js +0 -2
- package/web-ui/build/static/gml-Dk0Uzn5j.js.map +0 -1
- package/web-ui/build/static/gn-DU-VqIk_.js +0 -2
- package/web-ui/build/static/gn-DU-VqIk_.js.map +0 -1
- package/web-ui/build/static/go-RoyxM5AP.js +0 -2
- package/web-ui/build/static/go-RoyxM5AP.js.map +0 -1
- package/web-ui/build/static/go-module-_RlR0aCg.js +0 -2
- package/web-ui/build/static/go-module-_RlR0aCg.js.map +0 -1
- package/web-ui/build/static/go-pbWP5znD.js +0 -2
- package/web-ui/build/static/go-pbWP5znD.js.map +0 -1
- package/web-ui/build/static/golo-Ddi0vJaV.js +0 -2
- package/web-ui/build/static/golo-Ddi0vJaV.js.map +0 -1
- package/web-ui/build/static/gradle-BZ3N7qyp.js +0 -2
- package/web-ui/build/static/gradle-BZ3N7qyp.js.map +0 -1
- package/web-ui/build/static/graphql-BGAoJarF.js +0 -2
- package/web-ui/build/static/graphql-BGAoJarF.js.map +0 -1
- package/web-ui/build/static/groovy-DOEwlFU8.js +0 -2
- package/web-ui/build/static/groovy-DOEwlFU8.js.map +0 -1
- package/web-ui/build/static/groovy-eYvfymBv.js +0 -2
- package/web-ui/build/static/groovy-eYvfymBv.js.map +0 -1
- package/web-ui/build/static/haml-B9m6LA6_.js +0 -2
- package/web-ui/build/static/haml-B9m6LA6_.js.map +0 -1
- package/web-ui/build/static/haml-Ct_eNn0Z.js +0 -2
- package/web-ui/build/static/haml-Ct_eNn0Z.js.map +0 -1
- package/web-ui/build/static/handlebars-DYUlgG-y.js +0 -2
- package/web-ui/build/static/handlebars-DYUlgG-y.js.map +0 -1
- package/web-ui/build/static/handlebars-DYZ2Ne9G.js +0 -2
- package/web-ui/build/static/handlebars-DYZ2Ne9G.js.map +0 -1
- package/web-ui/build/static/haskell--1QjVwRO.js +0 -2
- package/web-ui/build/static/haskell--1QjVwRO.js.map +0 -1
- package/web-ui/build/static/haskell-6ieNCwME.js +0 -2
- package/web-ui/build/static/haskell-6ieNCwME.js.map +0 -1
- package/web-ui/build/static/haxe-9vYVDa9r.js +0 -2
- package/web-ui/build/static/haxe-9vYVDa9r.js.map +0 -1
- package/web-ui/build/static/haxe-EB2cUVVa.js +0 -2
- package/web-ui/build/static/haxe-EB2cUVVa.js.map +0 -1
- package/web-ui/build/static/hcl-Bwnml4Pn.js +0 -2
- package/web-ui/build/static/hcl-Bwnml4Pn.js.map +0 -1
- package/web-ui/build/static/hlsl-BucQfrPP.js +0 -2
- package/web-ui/build/static/hlsl-BucQfrPP.js.map +0 -1
- package/web-ui/build/static/hoon-CrdqfnCr.js +0 -2
- package/web-ui/build/static/hoon-CrdqfnCr.js.map +0 -1
- package/web-ui/build/static/hpkp-BfAlsA7T.js +0 -2
- package/web-ui/build/static/hpkp-BfAlsA7T.js.map +0 -1
- package/web-ui/build/static/hsp-BELl1Y1h.js +0 -2
- package/web-ui/build/static/hsp-BELl1Y1h.js.map +0 -1
- package/web-ui/build/static/hsts-aIjBNAvG.js +0 -2
- package/web-ui/build/static/hsts-aIjBNAvG.js.map +0 -1
- package/web-ui/build/static/htmlbars-CF7viC7q.js +0 -2
- package/web-ui/build/static/htmlbars-CF7viC7q.js.map +0 -1
- package/web-ui/build/static/http-C1ssx1jb.js +0 -2
- package/web-ui/build/static/http-C1ssx1jb.js.map +0 -1
- package/web-ui/build/static/http-D2_hcEoP.js +0 -2
- package/web-ui/build/static/http-D2_hcEoP.js.map +0 -1
- package/web-ui/build/static/hy-D7cA2Uvw.js +0 -2
- package/web-ui/build/static/hy-D7cA2Uvw.js.map +0 -1
- package/web-ui/build/static/ichigojam-D13pIunc.js +0 -2
- package/web-ui/build/static/ichigojam-D13pIunc.js.map +0 -1
- package/web-ui/build/static/icon-CtZAWvsu.js +0 -2
- package/web-ui/build/static/icon-CtZAWvsu.js.map +0 -1
- package/web-ui/build/static/icu-message-format-BWUiadk1.js +0 -2
- package/web-ui/build/static/icu-message-format-BWUiadk1.js.map +0 -1
- package/web-ui/build/static/idris-DFKhmzv-.js +0 -2
- package/web-ui/build/static/idris-DFKhmzv-.js.map +0 -1
- package/web-ui/build/static/iecst-1kR-l8Sc.js +0 -2
- package/web-ui/build/static/iecst-1kR-l8Sc.js.map +0 -1
- package/web-ui/build/static/ignore-BvXt1lN_.js +0 -2
- package/web-ui/build/static/ignore-BvXt1lN_.js.map +0 -1
- package/web-ui/build/static/index-5P5KjiaQ.js +0 -1237
- package/web-ui/build/static/index-5P5KjiaQ.js.map +0 -1
- package/web-ui/build/static/index-MTB4_11l.js +0 -14
- package/web-ui/build/static/index-MTB4_11l.js.map +0 -1
- package/web-ui/build/static/index-P4J_K3fF.js +0 -2
- package/web-ui/build/static/index-P4J_K3fF.js.map +0 -1
- package/web-ui/build/static/index-YFpNG9Ek.css +0 -1
- package/web-ui/build/static/inform7-BTpfTDz1.js +0 -2
- package/web-ui/build/static/inform7-BTpfTDz1.js.map +0 -1
- package/web-ui/build/static/inform7-CJIjMv2r.js +0 -2
- package/web-ui/build/static/inform7-CJIjMv2r.js.map +0 -1
- package/web-ui/build/static/ini-CaYSVtHR.js +0 -2
- package/web-ui/build/static/ini-CaYSVtHR.js.map +0 -1
- package/web-ui/build/static/ini-Coi7K5vx.js +0 -2
- package/web-ui/build/static/ini-Coi7K5vx.js.map +0 -1
- package/web-ui/build/static/io-DY1SrCZR.js +0 -2
- package/web-ui/build/static/io-DY1SrCZR.js.map +0 -1
- package/web-ui/build/static/irpf90-AaLFC4Tw.js +0 -2
- package/web-ui/build/static/irpf90-AaLFC4Tw.js.map +0 -1
- package/web-ui/build/static/isbl-CY0nj7ms.js +0 -2
- package/web-ui/build/static/isbl-CY0nj7ms.js.map +0 -1
- package/web-ui/build/static/j-ibTCoC6t.js +0 -2
- package/web-ui/build/static/j-ibTCoC6t.js.map +0 -1
- package/web-ui/build/static/java-CsR3T4HE.js +0 -2
- package/web-ui/build/static/java-CsR3T4HE.js.map +0 -1
- package/web-ui/build/static/java-mRrrDRBt.js +0 -2
- package/web-ui/build/static/java-mRrrDRBt.js.map +0 -1
- package/web-ui/build/static/javadoc-DtDnLQwo.js +0 -2
- package/web-ui/build/static/javadoc-DtDnLQwo.js.map +0 -1
- package/web-ui/build/static/javadoclike-DINsV3CW.js +0 -2
- package/web-ui/build/static/javadoclike-DINsV3CW.js.map +0 -1
- package/web-ui/build/static/javascript-Bu7QXFYt.js +0 -2
- package/web-ui/build/static/javascript-Bu7QXFYt.js.map +0 -1
- package/web-ui/build/static/javascript-D1gLfRcd.js +0 -2
- package/web-ui/build/static/javascript-D1gLfRcd.js.map +0 -1
- package/web-ui/build/static/javastacktrace-B_EX1nVN.js +0 -2
- package/web-ui/build/static/javastacktrace-B_EX1nVN.js.map +0 -1
- package/web-ui/build/static/jboss-cli-CY9f83oy.js +0 -2
- package/web-ui/build/static/jboss-cli-CY9f83oy.js.map +0 -1
- package/web-ui/build/static/jexl-DTzLUEd4.js +0 -2
- package/web-ui/build/static/jexl-DTzLUEd4.js.map +0 -1
- package/web-ui/build/static/jolie-DuZWPx91.js +0 -2
- package/web-ui/build/static/jolie-DuZWPx91.js.map +0 -1
- package/web-ui/build/static/jq-BIz4V6UP.js +0 -2
- package/web-ui/build/static/jq-BIz4V6UP.js.map +0 -1
- package/web-ui/build/static/js-extras-BSf4fAIj.js +0 -2
- package/web-ui/build/static/js-extras-BSf4fAIj.js.map +0 -1
- package/web-ui/build/static/js-templates-Du4N2P_d.js +0 -2
- package/web-ui/build/static/js-templates-Du4N2P_d.js.map +0 -1
- package/web-ui/build/static/jsdoc-C-CxrAs1.js +0 -2
- package/web-ui/build/static/jsdoc-C-CxrAs1.js.map +0 -1
- package/web-ui/build/static/json-C_bufJjH.js +0 -2
- package/web-ui/build/static/json-C_bufJjH.js.map +0 -1
- package/web-ui/build/static/json-EEZIxuOc.js +0 -2
- package/web-ui/build/static/json-EEZIxuOc.js.map +0 -1
- package/web-ui/build/static/json5-CJk49FBO.js +0 -2
- package/web-ui/build/static/json5-CJk49FBO.js.map +0 -1
- package/web-ui/build/static/jsonp-ngd5nEal.js +0 -2
- package/web-ui/build/static/jsonp-ngd5nEal.js.map +0 -1
- package/web-ui/build/static/jsstacktrace-DIwhduEX.js +0 -2
- package/web-ui/build/static/jsstacktrace-DIwhduEX.js.map +0 -1
- package/web-ui/build/static/jsx-BJmozOXf.js +0 -2
- package/web-ui/build/static/jsx-BJmozOXf.js.map +0 -1
- package/web-ui/build/static/julia-DcqjgjOW.js +0 -2
- package/web-ui/build/static/julia-DcqjgjOW.js.map +0 -1
- package/web-ui/build/static/julia-Drv4zlGA.js +0 -2
- package/web-ui/build/static/julia-Drv4zlGA.js.map +0 -1
- package/web-ui/build/static/julia-repl-fxJwoEYA.js +0 -2
- package/web-ui/build/static/julia-repl-fxJwoEYA.js.map +0 -1
- package/web-ui/build/static/keepalived-CM94ZaLi.js +0 -2
- package/web-ui/build/static/keepalived-CM94ZaLi.js.map +0 -1
- package/web-ui/build/static/keyman-DnA4rZGN.js +0 -2
- package/web-ui/build/static/keyman-DnA4rZGN.js.map +0 -1
- package/web-ui/build/static/kotlin-C8qUl8H3.js +0 -2
- package/web-ui/build/static/kotlin-C8qUl8H3.js.map +0 -1
- package/web-ui/build/static/kotlin-DbMr0J5m.js +0 -2
- package/web-ui/build/static/kotlin-DbMr0J5m.js.map +0 -1
- package/web-ui/build/static/kumir-DLA2l5UR.js +0 -2
- package/web-ui/build/static/kumir-DLA2l5UR.js.map +0 -1
- package/web-ui/build/static/kusto-Dzz2pKEq.js +0 -2
- package/web-ui/build/static/kusto-Dzz2pKEq.js.map +0 -1
- package/web-ui/build/static/lasso-DX_kbbmV.js +0 -2
- package/web-ui/build/static/lasso-DX_kbbmV.js.map +0 -1
- package/web-ui/build/static/latex-BSRcUv32.js +0 -2
- package/web-ui/build/static/latex-BSRcUv32.js.map +0 -1
- package/web-ui/build/static/latex-BdexxgJQ.js +0 -2
- package/web-ui/build/static/latex-BdexxgJQ.js.map +0 -1
- package/web-ui/build/static/latte-D8Q8M42F.js +0 -2
- package/web-ui/build/static/latte-D8Q8M42F.js.map +0 -1
- package/web-ui/build/static/ldif-BohiSf03.js +0 -2
- package/web-ui/build/static/ldif-BohiSf03.js.map +0 -1
- package/web-ui/build/static/leaf-SjVuhqmn.js +0 -2
- package/web-ui/build/static/leaf-SjVuhqmn.js.map +0 -1
- package/web-ui/build/static/less-DjjBynm0.js +0 -2
- package/web-ui/build/static/less-DjjBynm0.js.map +0 -1
- package/web-ui/build/static/less-WqAi1XYV.js +0 -2
- package/web-ui/build/static/less-WqAi1XYV.js.map +0 -1
- package/web-ui/build/static/lilypond-BZJKKuJo.js +0 -2
- package/web-ui/build/static/lilypond-BZJKKuJo.js.map +0 -1
- package/web-ui/build/static/liquid-ufgamxXf.js +0 -2
- package/web-ui/build/static/liquid-ufgamxXf.js.map +0 -1
- package/web-ui/build/static/lisp-CKum_PNb.js +0 -2
- package/web-ui/build/static/lisp-CKum_PNb.js.map +0 -1
- package/web-ui/build/static/lisp-DLB0Suc4.js +0 -2
- package/web-ui/build/static/lisp-DLB0Suc4.js.map +0 -1
- package/web-ui/build/static/livecodeserver-BspRaC30.js +0 -2
- package/web-ui/build/static/livecodeserver-BspRaC30.js.map +0 -1
- package/web-ui/build/static/livescript-CUgUPqkp.js +0 -2
- package/web-ui/build/static/livescript-CUgUPqkp.js.map +0 -1
- package/web-ui/build/static/livescript-Cs4ExrAl.js +0 -2
- package/web-ui/build/static/livescript-Cs4ExrAl.js.map +0 -1
- package/web-ui/build/static/llvm-BsoeQjnZ.js +0 -2
- package/web-ui/build/static/llvm-BsoeQjnZ.js.map +0 -1
- package/web-ui/build/static/llvm-WhfLFXpF.js +0 -2
- package/web-ui/build/static/llvm-WhfLFXpF.js.map +0 -1
- package/web-ui/build/static/log-slo8Bm6p.js +0 -2
- package/web-ui/build/static/log-slo8Bm6p.js.map +0 -1
- package/web-ui/build/static/lolcode-CR7kgSeF.js +0 -2
- package/web-ui/build/static/lolcode-CR7kgSeF.js.map +0 -1
- package/web-ui/build/static/lsl-ZphCmsU1.js +0 -2
- package/web-ui/build/static/lsl-ZphCmsU1.js.map +0 -1
- package/web-ui/build/static/lua-CM-7eJhz.js +0 -2
- package/web-ui/build/static/lua-CM-7eJhz.js.map +0 -1
- package/web-ui/build/static/lua-D_Nkgk6Z.js +0 -2
- package/web-ui/build/static/lua-D_Nkgk6Z.js.map +0 -1
- package/web-ui/build/static/magma-CtYRqfGw.js +0 -2
- package/web-ui/build/static/magma-CtYRqfGw.js.map +0 -1
- package/web-ui/build/static/makefile-Ci8dr6vL.js +0 -2
- package/web-ui/build/static/makefile-Ci8dr6vL.js.map +0 -1
- package/web-ui/build/static/makefile-q4rDQWwx.js +0 -2
- package/web-ui/build/static/makefile-q4rDQWwx.js.map +0 -1
- package/web-ui/build/static/markdown-CqcKz4GX.js +0 -2
- package/web-ui/build/static/markdown-CqcKz4GX.js.map +0 -1
- package/web-ui/build/static/markdown-D0yC5FNQ.js +0 -2
- package/web-ui/build/static/markdown-D0yC5FNQ.js.map +0 -1
- package/web-ui/build/static/markup-Cjk8Mxgk.js +0 -2
- package/web-ui/build/static/markup-Cjk8Mxgk.js.map +0 -1
- package/web-ui/build/static/markup-templating-BKhipwQC.js +0 -2
- package/web-ui/build/static/markup-templating-BKhipwQC.js.map +0 -1
- package/web-ui/build/static/mathematica-B7E8Pl72.js +0 -2
- package/web-ui/build/static/mathematica-B7E8Pl72.js.map +0 -1
- package/web-ui/build/static/matlab-BmHsLKQ0.js +0 -2
- package/web-ui/build/static/matlab-BmHsLKQ0.js.map +0 -1
- package/web-ui/build/static/matlab-FrsYO1Wp.js +0 -2
- package/web-ui/build/static/matlab-FrsYO1Wp.js.map +0 -1
- package/web-ui/build/static/maxima-5qIW2_R4.js +0 -2
- package/web-ui/build/static/maxima-5qIW2_R4.js.map +0 -1
- package/web-ui/build/static/maxscript-BkZblLnI.js +0 -2
- package/web-ui/build/static/maxscript-BkZblLnI.js.map +0 -1
- package/web-ui/build/static/mel-CVbicMhZ.js +0 -2
- package/web-ui/build/static/mel-CVbicMhZ.js.map +0 -1
- package/web-ui/build/static/mel-DR5pKO-7.js +0 -2
- package/web-ui/build/static/mel-DR5pKO-7.js.map +0 -1
- package/web-ui/build/static/mercury-OZVRt1y8.js +0 -2
- package/web-ui/build/static/mercury-OZVRt1y8.js.map +0 -1
- package/web-ui/build/static/mermaid-Bub4Bhlm.js +0 -2
- package/web-ui/build/static/mermaid-Bub4Bhlm.js.map +0 -1
- package/web-ui/build/static/mipsasm-BN6sOU73.js +0 -2
- package/web-ui/build/static/mipsasm-BN6sOU73.js.map +0 -1
- package/web-ui/build/static/mizar-CKCmBdrL.js +0 -2
- package/web-ui/build/static/mizar-CKCmBdrL.js.map +0 -1
- package/web-ui/build/static/mizar-fhWBjVld.js +0 -2
- package/web-ui/build/static/mizar-fhWBjVld.js.map +0 -1
- package/web-ui/build/static/mojolicious-D-HOU9Sm.js +0 -2
- package/web-ui/build/static/mojolicious-D-HOU9Sm.js.map +0 -1
- package/web-ui/build/static/mongodb-DXpvySHn.js +0 -2
- package/web-ui/build/static/mongodb-DXpvySHn.js.map +0 -1
- package/web-ui/build/static/monkey-DAtSg6px.js +0 -2
- package/web-ui/build/static/monkey-DAtSg6px.js.map +0 -1
- package/web-ui/build/static/monkey-DeVmm_9U.js +0 -2
- package/web-ui/build/static/monkey-DeVmm_9U.js.map +0 -1
- package/web-ui/build/static/moonscript-BBSFMAaO.js +0 -2
- package/web-ui/build/static/moonscript-BBSFMAaO.js.map +0 -1
- package/web-ui/build/static/moonscript-Cm7JpGeh.js +0 -2
- package/web-ui/build/static/moonscript-Cm7JpGeh.js.map +0 -1
- package/web-ui/build/static/n1ql-NOcj8zG0.js +0 -2
- package/web-ui/build/static/n1ql-NOcj8zG0.js.map +0 -1
- package/web-ui/build/static/n1ql-tfSeu5pu.js +0 -2
- package/web-ui/build/static/n1ql-tfSeu5pu.js.map +0 -1
- package/web-ui/build/static/n4js-uHeJH1ik.js +0 -2
- package/web-ui/build/static/n4js-uHeJH1ik.js.map +0 -1
- package/web-ui/build/static/nand2tetris-hdl-Be_aGDZb.js +0 -2
- package/web-ui/build/static/nand2tetris-hdl-Be_aGDZb.js.map +0 -1
- package/web-ui/build/static/naniscript-Dse7kZdK.js +0 -2
- package/web-ui/build/static/naniscript-Dse7kZdK.js.map +0 -1
- package/web-ui/build/static/nasm-DVWOnrHj.js +0 -2
- package/web-ui/build/static/nasm-DVWOnrHj.js.map +0 -1
- package/web-ui/build/static/neon-_evVOn2Q.js +0 -2
- package/web-ui/build/static/neon-_evVOn2Q.js.map +0 -1
- package/web-ui/build/static/nevod-azZ7THZA.js +0 -2
- package/web-ui/build/static/nevod-azZ7THZA.js.map +0 -1
- package/web-ui/build/static/nginx-DehpPiY7.js +0 -2
- package/web-ui/build/static/nginx-DehpPiY7.js.map +0 -1
- package/web-ui/build/static/nginx-DiDoV3kC.js +0 -2
- package/web-ui/build/static/nginx-DiDoV3kC.js.map +0 -1
- package/web-ui/build/static/nim-BHgI5oyC.js +0 -2
- package/web-ui/build/static/nim-BHgI5oyC.js.map +0 -1
- package/web-ui/build/static/nim-CuIRKo8H.js +0 -2
- package/web-ui/build/static/nim-CuIRKo8H.js.map +0 -1
- package/web-ui/build/static/nix-DCqNI1Eb.js +0 -2
- package/web-ui/build/static/nix-DCqNI1Eb.js.map +0 -1
- package/web-ui/build/static/nix-DwCqcL2e.js +0 -2
- package/web-ui/build/static/nix-DwCqcL2e.js.map +0 -1
- package/web-ui/build/static/node-repl-B71NVdJP.js +0 -2
- package/web-ui/build/static/node-repl-B71NVdJP.js.map +0 -1
- package/web-ui/build/static/nsis-CLnIDicp.js +0 -2
- package/web-ui/build/static/nsis-CLnIDicp.js.map +0 -1
- package/web-ui/build/static/nsis-Dri3Jb5G.js +0 -2
- package/web-ui/build/static/nsis-Dri3Jb5G.js.map +0 -1
- package/web-ui/build/static/objectivec-COHUWpqu.js +0 -2
- package/web-ui/build/static/objectivec-COHUWpqu.js.map +0 -1
- package/web-ui/build/static/objectivec-V0foMLD3.js +0 -2
- package/web-ui/build/static/objectivec-V0foMLD3.js.map +0 -1
- package/web-ui/build/static/ocaml-AXXjofiL.js +0 -2
- package/web-ui/build/static/ocaml-AXXjofiL.js.map +0 -1
- package/web-ui/build/static/ocaml-Q2h72FzT.js +0 -2
- package/web-ui/build/static/ocaml-Q2h72FzT.js.map +0 -1
- package/web-ui/build/static/opencl-C6GSwZ6w.js +0 -2
- package/web-ui/build/static/opencl-C6GSwZ6w.js.map +0 -1
- package/web-ui/build/static/openqasm-9NJUbzOO.js +0 -2
- package/web-ui/build/static/openqasm-9NJUbzOO.js.map +0 -1
- package/web-ui/build/static/openscad-Beoa-Ggx.js +0 -2
- package/web-ui/build/static/openscad-Beoa-Ggx.js.map +0 -1
- package/web-ui/build/static/oxygene-Bgqy12_f.js +0 -2
- package/web-ui/build/static/oxygene-Bgqy12_f.js.map +0 -1
- package/web-ui/build/static/oz-CyHpE2rC.js +0 -2
- package/web-ui/build/static/oz-CyHpE2rC.js.map +0 -1
- package/web-ui/build/static/parigp-CvvhNDQU.js +0 -2
- package/web-ui/build/static/parigp-CvvhNDQU.js.map +0 -1
- package/web-ui/build/static/parser-B8eRxP9O.js +0 -2
- package/web-ui/build/static/parser-B8eRxP9O.js.map +0 -1
- package/web-ui/build/static/parser3-BvDrgz3M.js +0 -2
- package/web-ui/build/static/parser3-BvDrgz3M.js.map +0 -1
- package/web-ui/build/static/pascal-D44-wqgL.js +0 -2
- package/web-ui/build/static/pascal-D44-wqgL.js.map +0 -1
- package/web-ui/build/static/pascaligo-Bd5HoQQp.js +0 -2
- package/web-ui/build/static/pascaligo-Bd5HoQQp.js.map +0 -1
- package/web-ui/build/static/pcaxis-DVZK6_uc.js +0 -2
- package/web-ui/build/static/pcaxis-DVZK6_uc.js.map +0 -1
- package/web-ui/build/static/peoplecode-BNGTG5LJ.js +0 -2
- package/web-ui/build/static/peoplecode-BNGTG5LJ.js.map +0 -1
- package/web-ui/build/static/perl-BgVqbCRm.js +0 -2
- package/web-ui/build/static/perl-BgVqbCRm.js.map +0 -1
- package/web-ui/build/static/perl-C4t4IpBd.js +0 -2
- package/web-ui/build/static/perl-C4t4IpBd.js.map +0 -1
- package/web-ui/build/static/pf-D1-dpaZ7.js +0 -2
- package/web-ui/build/static/pf-D1-dpaZ7.js.map +0 -1
- package/web-ui/build/static/pgsql-DV5XQnZI.js +0 -2
- package/web-ui/build/static/pgsql-DV5XQnZI.js.map +0 -1
- package/web-ui/build/static/php-6pDHAxRq.js +0 -2
- package/web-ui/build/static/php-6pDHAxRq.js.map +0 -1
- package/web-ui/build/static/php-extras-CgquDWeD.js +0 -2
- package/web-ui/build/static/php-extras-CgquDWeD.js.map +0 -1
- package/web-ui/build/static/php-q2aWUems.js +0 -2
- package/web-ui/build/static/php-q2aWUems.js.map +0 -1
- package/web-ui/build/static/php-template-Bb2zvUmi.js +0 -2
- package/web-ui/build/static/php-template-Bb2zvUmi.js.map +0 -1
- package/web-ui/build/static/phpdoc-B6ZNz66B.js +0 -2
- package/web-ui/build/static/phpdoc-B6ZNz66B.js.map +0 -1
- package/web-ui/build/static/plaintext-DRgh7Z67.js +0 -2
- package/web-ui/build/static/plaintext-DRgh7Z67.js.map +0 -1
- package/web-ui/build/static/plsql-q7KdbtaF.js +0 -2
- package/web-ui/build/static/plsql-q7KdbtaF.js.map +0 -1
- package/web-ui/build/static/pony-Y-hJnxHq.js +0 -2
- package/web-ui/build/static/pony-Y-hJnxHq.js.map +0 -1
- package/web-ui/build/static/powerquery-CH9cLS9q.js +0 -2
- package/web-ui/build/static/powerquery-CH9cLS9q.js.map +0 -1
- package/web-ui/build/static/powershell-B4Hp3Yr7.js +0 -2
- package/web-ui/build/static/powershell-B4Hp3Yr7.js.map +0 -1
- package/web-ui/build/static/powershell-BMnn1JwU.js +0 -2
- package/web-ui/build/static/powershell-BMnn1JwU.js.map +0 -1
- package/web-ui/build/static/processing-DD5zXoex.js +0 -2
- package/web-ui/build/static/processing-DD5zXoex.js.map +0 -1
- package/web-ui/build/static/processing-la5dBEOa.js +0 -2
- package/web-ui/build/static/processing-la5dBEOa.js.map +0 -1
- package/web-ui/build/static/profile-02nv16ld.js +0 -2
- package/web-ui/build/static/profile-02nv16ld.js.map +0 -1
- package/web-ui/build/static/prolog-By7y4UGy.js +0 -2
- package/web-ui/build/static/prolog-By7y4UGy.js.map +0 -1
- package/web-ui/build/static/prolog-C2JW0ytV.js +0 -2
- package/web-ui/build/static/prolog-C2JW0ytV.js.map +0 -1
- package/web-ui/build/static/promql-Bmmh0gus.js +0 -2
- package/web-ui/build/static/promql-Bmmh0gus.js.map +0 -1
- package/web-ui/build/static/properties-8Zn0j6UJ.js +0 -2
- package/web-ui/build/static/properties-8Zn0j6UJ.js.map +0 -1
- package/web-ui/build/static/properties-Cq4nky7a.js +0 -2
- package/web-ui/build/static/properties-Cq4nky7a.js.map +0 -1
- package/web-ui/build/static/protobuf-CFEd9h6u.js +0 -2
- package/web-ui/build/static/protobuf-CFEd9h6u.js.map +0 -1
- package/web-ui/build/static/protobuf-I_wL5rTd.js +0 -2
- package/web-ui/build/static/protobuf-I_wL5rTd.js.map +0 -1
- package/web-ui/build/static/psl-I43vvj2i.js +0 -2
- package/web-ui/build/static/psl-I43vvj2i.js.map +0 -1
- package/web-ui/build/static/pug-BLFo_LLo.js +0 -2
- package/web-ui/build/static/pug-BLFo_LLo.js.map +0 -1
- package/web-ui/build/static/puppet-CK3-yZpi.js +0 -2
- package/web-ui/build/static/puppet-CK3-yZpi.js.map +0 -1
- package/web-ui/build/static/puppet-DsTIkeL3.js +0 -2
- package/web-ui/build/static/puppet-DsTIkeL3.js.map +0 -1
- package/web-ui/build/static/pure-J02rZ38J.js +0 -2
- package/web-ui/build/static/pure-J02rZ38J.js.map +0 -1
- package/web-ui/build/static/purebasic-ThZOqcYF.js +0 -2
- package/web-ui/build/static/purebasic-ThZOqcYF.js.map +0 -1
- package/web-ui/build/static/purebasic-m2x_kkOe.js +0 -2
- package/web-ui/build/static/purebasic-m2x_kkOe.js.map +0 -1
- package/web-ui/build/static/purescript-CLUyF_08.js +0 -2
- package/web-ui/build/static/purescript-CLUyF_08.js.map +0 -1
- package/web-ui/build/static/python-B1ecpaTS.js +0 -2
- package/web-ui/build/static/python-B1ecpaTS.js.map +0 -1
- package/web-ui/build/static/python-CPtO88m5.js +0 -2
- package/web-ui/build/static/python-CPtO88m5.js.map +0 -1
- package/web-ui/build/static/python-repl-C5oUsWjd.js +0 -2
- package/web-ui/build/static/python-repl-C5oUsWjd.js.map +0 -1
- package/web-ui/build/static/q-B1iyCnHJ.js +0 -2
- package/web-ui/build/static/q-B1iyCnHJ.js.map +0 -1
- package/web-ui/build/static/q-Dm5Q-C35.js +0 -2
- package/web-ui/build/static/q-Dm5Q-C35.js.map +0 -1
- package/web-ui/build/static/qml-DG8tMA9D.js +0 -2
- package/web-ui/build/static/qml-DG8tMA9D.js.map +0 -1
- package/web-ui/build/static/qml-Dh59GQxP.js +0 -2
- package/web-ui/build/static/qml-Dh59GQxP.js.map +0 -1
- package/web-ui/build/static/qore-CcE1Alno.js +0 -2
- package/web-ui/build/static/qore-CcE1Alno.js.map +0 -1
- package/web-ui/build/static/qsharp-DyzQ76vK.js +0 -2
- package/web-ui/build/static/qsharp-DyzQ76vK.js.map +0 -1
- package/web-ui/build/static/r-BGwmT6uN.js +0 -2
- package/web-ui/build/static/r-BGwmT6uN.js.map +0 -1
- package/web-ui/build/static/r-tNzpnXL4.js +0 -2
- package/web-ui/build/static/r-tNzpnXL4.js.map +0 -1
- package/web-ui/build/static/racket-D--TmZPj.js +0 -2
- package/web-ui/build/static/racket-D--TmZPj.js.map +0 -1
- package/web-ui/build/static/reason-B_Vyfb8r.js +0 -2
- package/web-ui/build/static/reason-B_Vyfb8r.js.map +0 -1
- package/web-ui/build/static/reasonml-DO12CIwC.js +0 -2
- package/web-ui/build/static/reasonml-DO12CIwC.js.map +0 -1
- package/web-ui/build/static/regex-BhiEkjf5.js +0 -2
- package/web-ui/build/static/regex-BhiEkjf5.js.map +0 -1
- package/web-ui/build/static/rego-VmOgwE0S.js +0 -2
- package/web-ui/build/static/rego-VmOgwE0S.js.map +0 -1
- package/web-ui/build/static/renpy-B6w2Ojbu.js +0 -2
- package/web-ui/build/static/renpy-B6w2Ojbu.js.map +0 -1
- package/web-ui/build/static/rest-DFJjqGcB.js +0 -2
- package/web-ui/build/static/rest-DFJjqGcB.js.map +0 -1
- package/web-ui/build/static/rib-Cv6ekzud.js +0 -2
- package/web-ui/build/static/rib-Cv6ekzud.js.map +0 -1
- package/web-ui/build/static/rip-C-tGZN_Q.js +0 -2
- package/web-ui/build/static/rip-C-tGZN_Q.js.map +0 -1
- package/web-ui/build/static/roboconf-BhxuMlwG.js +0 -2
- package/web-ui/build/static/roboconf-BhxuMlwG.js.map +0 -1
- package/web-ui/build/static/roboconf-CPKGBU0g.js +0 -2
- package/web-ui/build/static/roboconf-CPKGBU0g.js.map +0 -1
- package/web-ui/build/static/robotframework-DRE67005.js +0 -2
- package/web-ui/build/static/robotframework-DRE67005.js.map +0 -1
- package/web-ui/build/static/routeros-CogkVYov.js +0 -2
- package/web-ui/build/static/routeros-CogkVYov.js.map +0 -1
- package/web-ui/build/static/rsl-C17JG3VL.js +0 -2
- package/web-ui/build/static/rsl-C17JG3VL.js.map +0 -1
- package/web-ui/build/static/ruby-BUJo5HTw.js +0 -2
- package/web-ui/build/static/ruby-BUJo5HTw.js.map +0 -1
- package/web-ui/build/static/ruby-C2ZBTnLY.js +0 -2
- package/web-ui/build/static/ruby-C2ZBTnLY.js.map +0 -1
- package/web-ui/build/static/ruleslanguage-CVut-Je9.js +0 -2
- package/web-ui/build/static/ruleslanguage-CVut-Je9.js.map +0 -1
- package/web-ui/build/static/rust-CNFlvigk.js +0 -2
- package/web-ui/build/static/rust-CNFlvigk.js.map +0 -1
- package/web-ui/build/static/rust-DA4JXIo2.js +0 -2
- package/web-ui/build/static/rust-DA4JXIo2.js.map +0 -1
- package/web-ui/build/static/sas-B1JAVdW0.js +0 -2
- package/web-ui/build/static/sas-B1JAVdW0.js.map +0 -1
- package/web-ui/build/static/sas-DUHCqbYx.js +0 -2
- package/web-ui/build/static/sas-DUHCqbYx.js.map +0 -1
- package/web-ui/build/static/sass-Dd5cza71.js +0 -2
- package/web-ui/build/static/sass-Dd5cza71.js.map +0 -1
- package/web-ui/build/static/scala-B38slPjk.js +0 -2
- package/web-ui/build/static/scala-B38slPjk.js.map +0 -1
- package/web-ui/build/static/scala-BoLFRtSw.js +0 -2
- package/web-ui/build/static/scala-BoLFRtSw.js.map +0 -1
- package/web-ui/build/static/scheme-B8skJ46g.js +0 -2
- package/web-ui/build/static/scheme-B8skJ46g.js.map +0 -1
- package/web-ui/build/static/scheme-C3n_9Cn0.js +0 -2
- package/web-ui/build/static/scheme-C3n_9Cn0.js.map +0 -1
- package/web-ui/build/static/scilab-C0FIPfSE.js +0 -2
- package/web-ui/build/static/scilab-C0FIPfSE.js.map +0 -1
- package/web-ui/build/static/scss-0aOXD_hh.js +0 -2
- package/web-ui/build/static/scss-0aOXD_hh.js.map +0 -1
- package/web-ui/build/static/scss-x5IloZdD.js +0 -2
- package/web-ui/build/static/scss-x5IloZdD.js.map +0 -1
- package/web-ui/build/static/shell-CYQtzsAn.js +0 -2
- package/web-ui/build/static/shell-CYQtzsAn.js.map +0 -1
- package/web-ui/build/static/shell-session-DVv-jq4s.js +0 -2
- package/web-ui/build/static/shell-session-DVv-jq4s.js.map +0 -1
- package/web-ui/build/static/smali-Bhutj2AJ.js +0 -2
- package/web-ui/build/static/smali-Bhutj2AJ.js.map +0 -1
- package/web-ui/build/static/smali-fOH819Z3.js +0 -2
- package/web-ui/build/static/smali-fOH819Z3.js.map +0 -1
- package/web-ui/build/static/smalltalk-5xxt8mKS.js +0 -2
- package/web-ui/build/static/smalltalk-5xxt8mKS.js.map +0 -1
- package/web-ui/build/static/smalltalk-Bwz_TMcJ.js +0 -2
- package/web-ui/build/static/smalltalk-Bwz_TMcJ.js.map +0 -1
- package/web-ui/build/static/smarty-C-lXphVs.js +0 -2
- package/web-ui/build/static/smarty-C-lXphVs.js.map +0 -1
- package/web-ui/build/static/sml-CQGKUrij.js +0 -2
- package/web-ui/build/static/sml-CQGKUrij.js.map +0 -1
- package/web-ui/build/static/sml-DLkTkhB_.js +0 -2
- package/web-ui/build/static/sml-DLkTkhB_.js.map +0 -1
- package/web-ui/build/static/solidity-hDatnTAN.js +0 -2
- package/web-ui/build/static/solidity-hDatnTAN.js.map +0 -1
- package/web-ui/build/static/solution-file-Bwlx7Ex_.js +0 -2
- package/web-ui/build/static/solution-file-Bwlx7Ex_.js.map +0 -1
- package/web-ui/build/static/soy-MPkTNpvX.js +0 -2
- package/web-ui/build/static/soy-MPkTNpvX.js.map +0 -1
- package/web-ui/build/static/sparql-altEdysP.js +0 -2
- package/web-ui/build/static/sparql-altEdysP.js.map +0 -1
- package/web-ui/build/static/splunk-spl-ee08fNLX.js +0 -2
- package/web-ui/build/static/splunk-spl-ee08fNLX.js.map +0 -1
- package/web-ui/build/static/sqf-BUk4YuLW.js +0 -2
- package/web-ui/build/static/sqf-BUk4YuLW.js.map +0 -1
- package/web-ui/build/static/sqf-BbUvFtZL.js +0 -2
- package/web-ui/build/static/sqf-BbUvFtZL.js.map +0 -1
- package/web-ui/build/static/sql-dEBpSksJ.js +0 -2
- package/web-ui/build/static/sql-dEBpSksJ.js.map +0 -1
- package/web-ui/build/static/sql-nSDEYTLs.js +0 -2
- package/web-ui/build/static/sql-nSDEYTLs.js.map +0 -1
- package/web-ui/build/static/sql_more-CS7D4J_l.js +0 -2
- package/web-ui/build/static/sql_more-CS7D4J_l.js.map +0 -1
- package/web-ui/build/static/squirrel-DZObnhph.js +0 -2
- package/web-ui/build/static/squirrel-DZObnhph.js.map +0 -1
- package/web-ui/build/static/stan-C2y-tDyE.js +0 -2
- package/web-ui/build/static/stan-C2y-tDyE.js.map +0 -1
- package/web-ui/build/static/stan-DjSiOCiq.js +0 -2
- package/web-ui/build/static/stan-DjSiOCiq.js.map +0 -1
- package/web-ui/build/static/stata-C7NtNYQm.js +0 -2
- package/web-ui/build/static/stata-C7NtNYQm.js.map +0 -1
- package/web-ui/build/static/step21-DNztQldJ.js +0 -2
- package/web-ui/build/static/step21-DNztQldJ.js.map +0 -1
- package/web-ui/build/static/stylus-4vzfmIr5.js +0 -2
- package/web-ui/build/static/stylus-4vzfmIr5.js.map +0 -1
- package/web-ui/build/static/stylus-D4X0-6j9.js +0 -2
- package/web-ui/build/static/stylus-D4X0-6j9.js.map +0 -1
- package/web-ui/build/static/subunit-W_dhUAYA.js +0 -2
- package/web-ui/build/static/subunit-W_dhUAYA.js.map +0 -1
- package/web-ui/build/static/swift-DyJcJ7qV.js +0 -2
- package/web-ui/build/static/swift-DyJcJ7qV.js.map +0 -1
- package/web-ui/build/static/swift-RVh0ER2w.js +0 -2
- package/web-ui/build/static/swift-RVh0ER2w.js.map +0 -1
- package/web-ui/build/static/systemd-yEgP-qwx.js +0 -2
- package/web-ui/build/static/systemd-yEgP-qwx.js.map +0 -1
- package/web-ui/build/static/t4-cs-BXECZrBN.js +0 -2
- package/web-ui/build/static/t4-cs-BXECZrBN.js.map +0 -1
- package/web-ui/build/static/t4-templating-DXyljnoK.js +0 -2
- package/web-ui/build/static/t4-templating-DXyljnoK.js.map +0 -1
- package/web-ui/build/static/t4-vb-DHtWKTdd.js +0 -2
- package/web-ui/build/static/t4-vb-DHtWKTdd.js.map +0 -1
- package/web-ui/build/static/taggerscript-B6YISRfo.js +0 -2
- package/web-ui/build/static/taggerscript-B6YISRfo.js.map +0 -1
- package/web-ui/build/static/tap-ByVDrWOb.js +0 -2
- package/web-ui/build/static/tap-ByVDrWOb.js.map +0 -1
- package/web-ui/build/static/tap-qChttdFl.js +0 -2
- package/web-ui/build/static/tap-qChttdFl.js.map +0 -1
- package/web-ui/build/static/tcl-D399IDpD.js +0 -2
- package/web-ui/build/static/tcl-D399IDpD.js.map +0 -1
- package/web-ui/build/static/tcl-DnxBEyA3.js +0 -2
- package/web-ui/build/static/tcl-DnxBEyA3.js.map +0 -1
- package/web-ui/build/static/textile-B4X5fSnK.js +0 -2
- package/web-ui/build/static/textile-B4X5fSnK.js.map +0 -1
- package/web-ui/build/static/thrift-DRntHtLf.js +0 -2
- package/web-ui/build/static/thrift-DRntHtLf.js.map +0 -1
- package/web-ui/build/static/toml-Dth9VtDM.js +0 -2
- package/web-ui/build/static/toml-Dth9VtDM.js.map +0 -1
- package/web-ui/build/static/tp-BB4GCCP6.js +0 -2
- package/web-ui/build/static/tp-BB4GCCP6.js.map +0 -1
- package/web-ui/build/static/tremor-BtqPMZ5X.js +0 -2
- package/web-ui/build/static/tremor-BtqPMZ5X.js.map +0 -1
- package/web-ui/build/static/tsx-JEERbg6Z.js +0 -2
- package/web-ui/build/static/tsx-JEERbg6Z.js.map +0 -1
- package/web-ui/build/static/tt2-wI5Z-oz1.js +0 -2
- package/web-ui/build/static/tt2-wI5Z-oz1.js.map +0 -1
- package/web-ui/build/static/turtle-DemYHH-2.js +0 -2
- package/web-ui/build/static/turtle-DemYHH-2.js.map +0 -1
- package/web-ui/build/static/twig-BvQudhGI.js +0 -2
- package/web-ui/build/static/twig-BvQudhGI.js.map +0 -1
- package/web-ui/build/static/twig-C7pPB9AO.js +0 -2
- package/web-ui/build/static/twig-C7pPB9AO.js.map +0 -1
- package/web-ui/build/static/typescript-cvGfAXut.js +0 -2
- package/web-ui/build/static/typescript-cvGfAXut.js.map +0 -1
- package/web-ui/build/static/typescript-unt3moJ_.js +0 -2
- package/web-ui/build/static/typescript-unt3moJ_.js.map +0 -1
- package/web-ui/build/static/typoscript-CkEcgWXK.js +0 -2
- package/web-ui/build/static/typoscript-CkEcgWXK.js.map +0 -1
- package/web-ui/build/static/unrealscript-0p9kYUw3.js +0 -2
- package/web-ui/build/static/unrealscript-0p9kYUw3.js.map +0 -1
- package/web-ui/build/static/uorazor-3tBbpgY2.js +0 -2
- package/web-ui/build/static/uorazor-3tBbpgY2.js.map +0 -1
- package/web-ui/build/static/uri-D4-sV8gl.js +0 -2
- package/web-ui/build/static/uri-D4-sV8gl.js.map +0 -1
- package/web-ui/build/static/v-7ys92aXi.js +0 -2
- package/web-ui/build/static/v-7ys92aXi.js.map +0 -1
- package/web-ui/build/static/vala-C0wv8E8H.js +0 -2
- package/web-ui/build/static/vala-C0wv8E8H.js.map +0 -1
- package/web-ui/build/static/vala-CaNt83mH.js +0 -2
- package/web-ui/build/static/vala-CaNt83mH.js.map +0 -1
- package/web-ui/build/static/vbnet-DUvzqdmm.js +0 -2
- package/web-ui/build/static/vbnet-DUvzqdmm.js.map +0 -1
- package/web-ui/build/static/vbnet-bYxMIfUc.js +0 -2
- package/web-ui/build/static/vbnet-bYxMIfUc.js.map +0 -1
- package/web-ui/build/static/vbscript-D3CbaHAg.js +0 -2
- package/web-ui/build/static/vbscript-D3CbaHAg.js.map +0 -1
- package/web-ui/build/static/vbscript-html-Bsig11Nm.js +0 -2
- package/web-ui/build/static/vbscript-html-Bsig11Nm.js.map +0 -1
- package/web-ui/build/static/velocity-B6JfA_zT.js +0 -2
- package/web-ui/build/static/velocity-B6JfA_zT.js.map +0 -1
- package/web-ui/build/static/verilog-DnHMGm_H.js +0 -2
- package/web-ui/build/static/verilog-DnHMGm_H.js.map +0 -1
- package/web-ui/build/static/verilog-EvSsqpil.js +0 -2
- package/web-ui/build/static/verilog-EvSsqpil.js.map +0 -1
- package/web-ui/build/static/vhdl-DQj0W197.js +0 -2
- package/web-ui/build/static/vhdl-DQj0W197.js.map +0 -1
- package/web-ui/build/static/vhdl-DzsvGcVQ.js +0 -2
- package/web-ui/build/static/vhdl-DzsvGcVQ.js.map +0 -1
- package/web-ui/build/static/vim-B1W_vWhG.js +0 -2
- package/web-ui/build/static/vim-B1W_vWhG.js.map +0 -1
- package/web-ui/build/static/vim-VQjEHrk4.js +0 -2
- package/web-ui/build/static/vim-VQjEHrk4.js.map +0 -1
- package/web-ui/build/static/visual-basic-Dbzdgqz1.js +0 -2
- package/web-ui/build/static/visual-basic-Dbzdgqz1.js.map +0 -1
- package/web-ui/build/static/warpscript-BYBrFwtk.js +0 -2
- package/web-ui/build/static/warpscript-BYBrFwtk.js.map +0 -1
- package/web-ui/build/static/wasm-GuE2QK5i.js +0 -2
- package/web-ui/build/static/wasm-GuE2QK5i.js.map +0 -1
- package/web-ui/build/static/web-idl-DlZWxr-z.js +0 -2
- package/web-ui/build/static/web-idl-DlZWxr-z.js.map +0 -1
- package/web-ui/build/static/wiki-sNZMK0Qv.js +0 -2
- package/web-ui/build/static/wiki-sNZMK0Qv.js.map +0 -1
- package/web-ui/build/static/wolfram-b_CW-n3I.js +0 -2
- package/web-ui/build/static/wolfram-b_CW-n3I.js.map +0 -1
- package/web-ui/build/static/wren-ClAOb6le.js +0 -2
- package/web-ui/build/static/wren-ClAOb6le.js.map +0 -1
- package/web-ui/build/static/x86asm-BvEoX3Y5.js +0 -2
- package/web-ui/build/static/x86asm-BvEoX3Y5.js.map +0 -1
- package/web-ui/build/static/xeora-B_HhI4na.js +0 -2
- package/web-ui/build/static/xeora-B_HhI4na.js.map +0 -1
- package/web-ui/build/static/xl-BRr7F944.js +0 -2
- package/web-ui/build/static/xl-BRr7F944.js.map +0 -1
- package/web-ui/build/static/xml-CbC32uLi.js +0 -2
- package/web-ui/build/static/xml-CbC32uLi.js.map +0 -1
- package/web-ui/build/static/xml-doc-DK_vuY77.js +0 -2
- package/web-ui/build/static/xml-doc-DK_vuY77.js.map +0 -1
- package/web-ui/build/static/xojo-CaWu1dMI.js +0 -2
- package/web-ui/build/static/xojo-CaWu1dMI.js.map +0 -1
- package/web-ui/build/static/xquery-BC7riL9z.js +0 -2
- package/web-ui/build/static/xquery-BC7riL9z.js.map +0 -1
- package/web-ui/build/static/xquery-CriQc8DW.js +0 -2
- package/web-ui/build/static/xquery-CriQc8DW.js.map +0 -1
- package/web-ui/build/static/yaml-BbQxcGyV.js +0 -2
- package/web-ui/build/static/yaml-BbQxcGyV.js.map +0 -1
- package/web-ui/build/static/yaml-DXIx17dr.js +0 -2
- package/web-ui/build/static/yaml-DXIx17dr.js.map +0 -1
- package/web-ui/build/static/yang-BzfVPkov.js +0 -2
- package/web-ui/build/static/yang-BzfVPkov.js.map +0 -1
- package/web-ui/build/static/zephir-EItXoaG8.js +0 -2
- package/web-ui/build/static/zephir-EItXoaG8.js.map +0 -1
- package/web-ui/build/static/zig-BhEiHuPN.js +0 -2
- package/web-ui/build/static/zig-BhEiHuPN.js.map +0 -1
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { jest, describe, test, expect, beforeEach } from '@jest/globals';
|
|
2
|
+
import { createMockLogger } from '../../__test-utils__/mockFactories.js';
|
|
3
|
+
|
|
4
|
+
jest.unstable_mockModule('fs', () => ({
|
|
5
|
+
promises: {
|
|
6
|
+
readFile: jest.fn().mockRejectedValue(Object.assign(new Error('ENOENT'), { code: 'ENOENT' })),
|
|
7
|
+
writeFile: jest.fn().mockResolvedValue(undefined),
|
|
8
|
+
mkdir: jest.fn().mockResolvedValue(undefined),
|
|
9
|
+
},
|
|
10
|
+
}));
|
|
11
|
+
jest.unstable_mockModule('child_process', () => ({ execSync: jest.fn().mockReturnValue('') }));
|
|
12
|
+
jest.unstable_mockModule('../../utilities/userDataDir.js', () => ({
|
|
13
|
+
getUserDataDir: jest.fn().mockReturnValue('/tmp/test-loxia-data'),
|
|
14
|
+
}));
|
|
15
|
+
|
|
16
|
+
const { default: ScheduleService, evaluateScheduleRun, resolveTriggerCommand, buildSchtasksCreateCommand, parseTriggerScheduleArg } = await import('../scheduleService.js');
|
|
17
|
+
|
|
18
|
+
const MISS = 90 * 1000;
|
|
19
|
+
const GRACE = 24 * 60 * 60 * 1000;
|
|
20
|
+
const now = new Date('2026-06-01T12:00:00Z');
|
|
21
|
+
const ago = (ms) => new Date(now.getTime() - ms).toISOString();
|
|
22
|
+
const ahead = (ms) => new Date(now.getTime() + ms).toISOString();
|
|
23
|
+
|
|
24
|
+
describe('evaluateScheduleRun', () => {
|
|
25
|
+
const opts = { now, missThresholdMs: MISS, catchUpGraceMs: GRACE };
|
|
26
|
+
|
|
27
|
+
test('null nextRun → nothing due', () => {
|
|
28
|
+
expect(evaluateScheduleRun({ nextRun: null, ...opts })).toMatchObject({ due: false, shouldFire: false });
|
|
29
|
+
});
|
|
30
|
+
test('future nextRun → not due', () => {
|
|
31
|
+
expect(evaluateScheduleRun({ nextRun: ahead(60000), ...opts }).due).toBe(false);
|
|
32
|
+
});
|
|
33
|
+
test('just due (within miss threshold) → fire, not missed', () => {
|
|
34
|
+
const r = evaluateScheduleRun({ nextRun: ago(10 * 1000), ...opts });
|
|
35
|
+
expect(r).toMatchObject({ due: true, missed: false, shouldFire: true });
|
|
36
|
+
});
|
|
37
|
+
test('missed but within grace → recorded AND fired (catch-up)', () => {
|
|
38
|
+
const r = evaluateScheduleRun({ nextRun: ago(10 * 60 * 1000), ...opts });
|
|
39
|
+
expect(r).toMatchObject({ due: true, missed: true, withinGrace: true, shouldFire: true });
|
|
40
|
+
});
|
|
41
|
+
test('missed beyond grace → recorded but NOT fired (too stale)', () => {
|
|
42
|
+
const r = evaluateScheduleRun({ nextRun: ago(48 * 60 * 60 * 1000), ...opts });
|
|
43
|
+
expect(r).toMatchObject({ due: true, missed: true, withinGrace: false, shouldFire: false });
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
describe('resolveTriggerCommand', () => {
|
|
48
|
+
test('Electron → registers the app executable with --trigger-schedule', () => {
|
|
49
|
+
expect(resolveTriggerCommand({ scheduleId: 's1', isElectron: true, execPath: '/Apps/OnBuzz.exe', loxiaBin: 'loxia' }))
|
|
50
|
+
.toBe('"/Apps/OnBuzz.exe" --trigger-schedule=s1');
|
|
51
|
+
});
|
|
52
|
+
test('non-Electron → uses the CLI bin', () => {
|
|
53
|
+
expect(resolveTriggerCommand({ scheduleId: 's1', isElectron: false, execPath: '/x', loxiaBin: 'node bin/cli.js' }))
|
|
54
|
+
.toBe('node bin/cli.js trigger-schedule s1');
|
|
55
|
+
});
|
|
56
|
+
test('Electron without execPath → falls back to the CLI form', () => {
|
|
57
|
+
expect(resolveTriggerCommand({ scheduleId: 's1', isElectron: true, execPath: '', loxiaBin: 'loxia' }))
|
|
58
|
+
.toBe('loxia trigger-schedule s1');
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
// ── tick-level missed-run behavior (uses real time; _tick reads new Date()) ──
|
|
63
|
+
const rAgo = (ms) => new Date(Date.now() - ms).toISOString();
|
|
64
|
+
const rAhead = (ms) => new Date(Date.now() + ms).toISOString();
|
|
65
|
+
|
|
66
|
+
function svcWith(schedule) {
|
|
67
|
+
const svc = new ScheduleService(createMockLogger());
|
|
68
|
+
svc._executeSchedule = jest.fn().mockResolvedValue(undefined);
|
|
69
|
+
svc._saveSchedules = jest.fn().mockResolvedValue(undefined);
|
|
70
|
+
svc._broadcast = jest.fn();
|
|
71
|
+
svc.schedules.set(schedule.id, schedule);
|
|
72
|
+
return svc;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function baseSchedule(overrides = {}) {
|
|
76
|
+
return {
|
|
77
|
+
id: 'sch-1', name: 'Test', prompt: 'do', targetType: 'agent', targetId: 'a1',
|
|
78
|
+
cronExpression: '* * * * *', enabled: true, startDate: null, endDate: null,
|
|
79
|
+
maxRuns: null, runOnce: false, nextRun: null, lastRun: null, runCount: 0,
|
|
80
|
+
lastMissedRun: null, missedRunCount: 0, ...overrides,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
describe('_tick missed-run handling', () => {
|
|
85
|
+
beforeEach(() => jest.restoreAllMocks());
|
|
86
|
+
|
|
87
|
+
test('on-time run fires without recording a miss', async () => {
|
|
88
|
+
const sched = baseSchedule({ nextRun: rAgo(10 * 1000) });
|
|
89
|
+
const svc = svcWith(sched);
|
|
90
|
+
await svc._tick();
|
|
91
|
+
expect(svc._executeSchedule).toHaveBeenCalledTimes(1);
|
|
92
|
+
expect(sched.runCount).toBe(1);
|
|
93
|
+
expect(sched.missedRunCount).toBe(0);
|
|
94
|
+
expect(sched.lastMissedRun).toBeNull();
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
test('recent missed run is recorded AND caught up', async () => {
|
|
98
|
+
const missedAt = rAgo(10 * 60 * 1000);
|
|
99
|
+
const sched = baseSchedule({ nextRun: missedAt });
|
|
100
|
+
const svc = svcWith(sched);
|
|
101
|
+
await svc._tick();
|
|
102
|
+
expect(svc._executeSchedule).toHaveBeenCalledTimes(1); // caught up
|
|
103
|
+
expect(sched.runCount).toBe(1);
|
|
104
|
+
expect(sched.missedRunCount).toBe(1); // recorded
|
|
105
|
+
expect(sched.lastMissedRun).toBe(missedAt);
|
|
106
|
+
expect(svc._broadcast).toHaveBeenCalledWith('schedule_missed', expect.objectContaining({ caughtUp: true }));
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
test('stale missed run (beyond grace) is recorded but NOT executed, and advances', async () => {
|
|
110
|
+
const sched = baseSchedule({ nextRun: rAgo(48 * 60 * 60 * 1000) });
|
|
111
|
+
const svc = svcWith(sched);
|
|
112
|
+
await svc._tick();
|
|
113
|
+
expect(svc._executeSchedule).not.toHaveBeenCalled(); // too stale to run
|
|
114
|
+
expect(sched.runCount).toBe(0);
|
|
115
|
+
expect(sched.missedRunCount).toBe(1); // still recorded
|
|
116
|
+
expect(svc._broadcast).toHaveBeenCalledWith('schedule_missed', expect.objectContaining({ caughtUp: false }));
|
|
117
|
+
expect(new Date(sched.nextRun).getTime()).toBeGreaterThan(now.getTime()); // advanced to the future
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
describe('buildSchtasksCreateCommand (Windows quoting)', () => {
|
|
122
|
+
test('escapes inner quotes so the /TR action is not truncated', () => {
|
|
123
|
+
const cmd = resolveTriggerCommand({ scheduleId: 's1', isElectron: true, execPath: 'C:\\Apps\\OnBuzz.exe', loxiaBin: 'loxia' });
|
|
124
|
+
const full = buildSchtasksCreateCommand('LoxiaSchedule_s1', cmd, '/SC DAILY /ST 09:00');
|
|
125
|
+
// Inner quotes around the exe path must be backslash-escaped for schtasks.
|
|
126
|
+
expect(full).toContain('/TR "\\"C:\\Apps\\OnBuzz.exe\\" --trigger-schedule=s1"');
|
|
127
|
+
expect(full).toContain('/TN "LoxiaSchedule_s1"');
|
|
128
|
+
expect(full).toContain('/SC DAILY /ST 09:00');
|
|
129
|
+
// The action must NOT contain a bare unescaped inner quote.
|
|
130
|
+
const tr = full.slice(full.indexOf('/TR "') + 5, full.lastIndexOf('" /SC'));
|
|
131
|
+
expect(tr.includes('\\"')).toBe(true);
|
|
132
|
+
});
|
|
133
|
+
test('also escapes the node "bin/cli.js" CLI form', () => {
|
|
134
|
+
const cmd = resolveTriggerCommand({ scheduleId: 's2', isElectron: false, loxiaBin: 'node "C:\\app\\bin\\cli.js"' });
|
|
135
|
+
const full = buildSchtasksCreateCommand('T', cmd, '/SC DAILY');
|
|
136
|
+
expect(full).toContain('node \\"C:\\app\\bin\\cli.js\\" trigger-schedule s2');
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
describe('parseTriggerScheduleArg', () => {
|
|
141
|
+
test('extracts the id from an Electron launch argv', () => {
|
|
142
|
+
expect(parseTriggerScheduleArg(['app.exe', '--trigger-schedule=sch-123'])).toBe('sch-123');
|
|
143
|
+
expect(parseTriggerScheduleArg(['app.exe', '--other'])).toBeNull();
|
|
144
|
+
expect(parseTriggerScheduleArg(['app.exe', '--trigger-schedule='])).toBeNull(); // empty → null
|
|
145
|
+
expect(parseTriggerScheduleArg()).toBeNull();
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
describe('start() honours the boot-trigger env', () => {
|
|
150
|
+
const ORIG = process.env.LOXIA_TRIGGER_SCHEDULE;
|
|
151
|
+
test('fires the schedule named by LOXIA_TRIGGER_SCHEDULE on boot', async () => {
|
|
152
|
+
const svc = svcWith(baseSchedule({ id: 'boot-1' }));
|
|
153
|
+
svc.triggerSchedule = jest.fn().mockResolvedValue(undefined);
|
|
154
|
+
svc._tick = jest.fn().mockResolvedValue(undefined);
|
|
155
|
+
svc.syncAllToOS = jest.fn().mockResolvedValue(undefined);
|
|
156
|
+
process.env.LOXIA_TRIGGER_SCHEDULE = 'boot-1';
|
|
157
|
+
try {
|
|
158
|
+
svc.start();
|
|
159
|
+
// start() schedules the boot-trigger via a resolved promise; flush microtasks.
|
|
160
|
+
await Promise.resolve(); await Promise.resolve();
|
|
161
|
+
expect(svc.triggerSchedule).toHaveBeenCalledWith('boot-1');
|
|
162
|
+
} finally {
|
|
163
|
+
svc.stop();
|
|
164
|
+
if (ORIG === undefined) delete process.env.LOXIA_TRIGGER_SCHEDULE;
|
|
165
|
+
else process.env.LOXIA_TRIGGER_SCHEDULE = ORIG;
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
describe('triggerSchedule (force run / boot-trigger / run-now)', () => {
|
|
171
|
+
beforeEach(() => jest.restoreAllMocks());
|
|
172
|
+
|
|
173
|
+
test('runs the schedule immediately and counts it', async () => {
|
|
174
|
+
const sched = baseSchedule({ nextRun: rAhead(60000) });
|
|
175
|
+
const svc = svcWith(sched);
|
|
176
|
+
const result = await svc.triggerSchedule('sch-1');
|
|
177
|
+
expect(svc._executeSchedule).toHaveBeenCalledTimes(1);
|
|
178
|
+
expect(result.runCount).toBe(1);
|
|
179
|
+
expect(result.lastRun).toBeTruthy();
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
test('throws for an unknown id', async () => {
|
|
183
|
+
const svc = svcWith(baseSchedule());
|
|
184
|
+
await expect(svc.triggerSchedule('nope')).rejects.toThrow(/not found/i);
|
|
185
|
+
});
|
|
186
|
+
});
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
COMPACTION_CONFIG
|
|
18
18
|
} from '../utilities/constants.js';
|
|
19
19
|
import { getOllamaService, OLLAMA_MODEL_PREFIX } from './ollamaService.js';
|
|
20
|
+
import { SHARED_MEMORY_SCOPE } from './memoryService.js';
|
|
20
21
|
|
|
21
22
|
/**
|
|
22
23
|
* Pull the reasoning-token count out of a usage object, checking every
|
|
@@ -1206,19 +1207,53 @@ class AIService {
|
|
|
1206
1207
|
|
|
1207
1208
|
const memoryIndexer = await this._buildMemoryIndexer();
|
|
1208
1209
|
const reminisceIndexer = await this._buildReminisceIndexer();
|
|
1210
|
+
const documentIndexer = await this._buildDocumentIndexer();
|
|
1211
|
+
|
|
1212
|
+
const cfg = this.embeddingService.config;
|
|
1213
|
+
const indexers = { memory: memoryIndexer, reminisce: reminisceIndexer, documents: documentIndexer };
|
|
1214
|
+
let recallOpts = opts;
|
|
1215
|
+
|
|
1216
|
+
// Shared user-memory tier: when enabled, EVERY agent also recalls a single
|
|
1217
|
+
// shared memory store (facts about the user). Implemented as an extra
|
|
1218
|
+
// 'shared-memory' surface that searches the memory indexer at the shared
|
|
1219
|
+
// scope — no new store machinery needed. Off by default (agents isolated).
|
|
1220
|
+
if (memoryIndexer && cfg?.autoRecall?.sharedUserMemory) {
|
|
1221
|
+
indexers['shared-memory'] = {
|
|
1222
|
+
isEnabled: memoryIndexer.isEnabled,
|
|
1223
|
+
search: (_agentId, query, searchOpts) =>
|
|
1224
|
+
memoryIndexer.search(SHARED_MEMORY_SCOPE, query, searchOpts),
|
|
1225
|
+
};
|
|
1226
|
+
const base = Array.isArray(cfg.autoRecall.surfaces) && cfg.autoRecall.surfaces.length
|
|
1227
|
+
? cfg.autoRecall.surfaces : ['memory', 'reminisce', 'documents'];
|
|
1228
|
+
recallOpts = { ...opts, surfaces: [...new Set([...base, 'shared-memory'])] };
|
|
1229
|
+
}
|
|
1209
1230
|
|
|
1210
1231
|
const deps = {
|
|
1211
|
-
getIndexers: () =>
|
|
1212
|
-
getConfig: () =>
|
|
1232
|
+
getIndexers: () => indexers,
|
|
1233
|
+
getConfig: () => cfg,
|
|
1213
1234
|
};
|
|
1214
1235
|
|
|
1215
1236
|
let result;
|
|
1216
1237
|
try {
|
|
1217
|
-
result = await recallForPrompt(deps, agentId, recentText,
|
|
1238
|
+
result = await recallForPrompt(deps, agentId, recentText, recallOpts);
|
|
1218
1239
|
} catch (err) {
|
|
1219
1240
|
this.logger?.warn?.('[aiService] auto-recall failed', { error: err?.message });
|
|
1220
1241
|
return systemPrompt;
|
|
1221
1242
|
}
|
|
1243
|
+
|
|
1244
|
+
// Publish the recall funnel for the live memory-path view (best-effort,
|
|
1245
|
+
// fire-and-forget). Recorded even when nothing was injected — "ran, found
|
|
1246
|
+
// 0" is itself the signal that recall is alive. Never blocks the turn.
|
|
1247
|
+
try {
|
|
1248
|
+
if (result?.enabled && result.stats && this.embeddingService?.recordRecallActivity) {
|
|
1249
|
+
this.embeddingService.recordRecallActivity(
|
|
1250
|
+
agentId,
|
|
1251
|
+
result.stats,
|
|
1252
|
+
(result.items || []).map(i => ({ id: i.id, title: i.title, source: i.source, score: i.score })),
|
|
1253
|
+
);
|
|
1254
|
+
}
|
|
1255
|
+
} catch { /* telemetry must never break the turn */ }
|
|
1256
|
+
|
|
1222
1257
|
if (!result?.items?.length) return systemPrompt;
|
|
1223
1258
|
|
|
1224
1259
|
const section = formatRecallSection(result.items);
|
|
@@ -1238,6 +1273,49 @@ class AIService {
|
|
|
1238
1273
|
}
|
|
1239
1274
|
}
|
|
1240
1275
|
|
|
1276
|
+
/**
|
|
1277
|
+
* Auto-index the agent's conversation into the `reminisce` surface so the
|
|
1278
|
+
* agent can semantically recall its own past messages (auto-recall's
|
|
1279
|
+
* conversation tier). Without this the reminisce index stays empty and
|
|
1280
|
+
* recall can only see saved memories + offloaded documents.
|
|
1281
|
+
*
|
|
1282
|
+
* Incremental: only messages past the persisted high-water mark
|
|
1283
|
+
* (`agent.reminisceIndexedCount`) are embedded, so the steady-state cost is a
|
|
1284
|
+
* 1-message embed per turn; the first call after deploy/load catches the
|
|
1285
|
+
* backlog. Idempotent (indexMany dedups chunks by messageId) and best-effort
|
|
1286
|
+
* — never throws, never blocks the turn. Embeddings are local, so this is
|
|
1287
|
+
* CPU only (no API spend).
|
|
1288
|
+
*
|
|
1289
|
+
* @param {object} agent Live agent (mutated: `reminisceIndexedCount`).
|
|
1290
|
+
* @returns {Promise<void>}
|
|
1291
|
+
*/
|
|
1292
|
+
async autoIndexReminisce(agent) {
|
|
1293
|
+
try {
|
|
1294
|
+
if (!this.embeddingService || !this.embeddingService.isEnabled) return;
|
|
1295
|
+
const msgs = agent?.conversations?.full?.messages;
|
|
1296
|
+
if (!Array.isArray(msgs) || msgs.length === 0) return;
|
|
1297
|
+
|
|
1298
|
+
// High-water mark. Reset to 0 if it somehow exceeds the current length
|
|
1299
|
+
// (history was cleared/truncated) so we re-index from the start.
|
|
1300
|
+
let from = Number.isInteger(agent.reminisceIndexedCount) ? agent.reminisceIndexedCount : 0;
|
|
1301
|
+
if (from > msgs.length) from = 0;
|
|
1302
|
+
if (msgs.length <= from) return; // nothing new since last index
|
|
1303
|
+
|
|
1304
|
+
const indexer = await this._buildReminisceIndexer();
|
|
1305
|
+
if (!indexer || !indexer.isEnabled) return;
|
|
1306
|
+
|
|
1307
|
+
const result = await indexer.indexMany(agent.id, msgs.slice(from));
|
|
1308
|
+
// Advance the mark only when the batch didn't hard-fail — a transient
|
|
1309
|
+
// embed error leaves the mark so the next turn retries. (Per-message
|
|
1310
|
+
// skips, e.g. empty text, are fine to move past.)
|
|
1311
|
+
if (result && !result.error) {
|
|
1312
|
+
agent.reminisceIndexedCount = msgs.length;
|
|
1313
|
+
}
|
|
1314
|
+
} catch (err) {
|
|
1315
|
+
this.logger?.warn?.('[aiService] reminisce auto-index failed', { agentId: agent?.id, error: err?.message });
|
|
1316
|
+
}
|
|
1317
|
+
}
|
|
1318
|
+
|
|
1241
1319
|
/** @private — lazy ReminisceIndexer construction (async dynamic import). */
|
|
1242
1320
|
async _buildReminisceIndexer() {
|
|
1243
1321
|
if (this._reminisceIndexerForRecall) return this._reminisceIndexerForRecall;
|
|
@@ -1251,6 +1329,19 @@ class AIService {
|
|
|
1251
1329
|
}
|
|
1252
1330
|
}
|
|
1253
1331
|
|
|
1332
|
+
/** @private — lazy DocumentIndexer construction (offloaded web/file content surface). */
|
|
1333
|
+
async _buildDocumentIndexer() {
|
|
1334
|
+
if (this._documentIndexerForRecall) return this._documentIndexerForRecall;
|
|
1335
|
+
if (!this.embeddingService) return null;
|
|
1336
|
+
try {
|
|
1337
|
+
const { DocumentIndexer } = await import('./embeddings/indexers/documentIndexer.js');
|
|
1338
|
+
this._documentIndexerForRecall = new DocumentIndexer({ embeddingService: this.embeddingService, logger: this.logger });
|
|
1339
|
+
return this._documentIndexerForRecall;
|
|
1340
|
+
} catch {
|
|
1341
|
+
return null;
|
|
1342
|
+
}
|
|
1343
|
+
}
|
|
1344
|
+
|
|
1254
1345
|
/**
|
|
1255
1346
|
* Abort an active request for a specific agent
|
|
1256
1347
|
* Used when user clicks "Stop" to immediately cancel streaming
|
|
@@ -1440,6 +1531,10 @@ class AIService {
|
|
|
1440
1531
|
prompt,
|
|
1441
1532
|
model,
|
|
1442
1533
|
imageBase64,
|
|
1534
|
+
// Multi-reference edit: forward the full array when provided. Older
|
|
1535
|
+
// backends ignore this and use imageBase64 (the first image), so this
|
|
1536
|
+
// is backward compatible in both directions.
|
|
1537
|
+
...(Array.isArray(options.imagesBase64) && options.imagesBase64.length > 1 && { imagesBase64: options.imagesBase64 }),
|
|
1443
1538
|
...(options.maskBase64 && { maskBase64: options.maskBase64 }),
|
|
1444
1539
|
requestId
|
|
1445
1540
|
};
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
import { jest, describe, test, expect, beforeEach } from '@jest/globals';
|
|
2
|
+
import { AttachmentContextBuilder, latestUserQuery } from '../attachmentContextBuilder.js';
|
|
3
|
+
|
|
4
|
+
describe('latestUserQuery', () => {
|
|
5
|
+
test('returns the last user string message', () => {
|
|
6
|
+
expect(latestUserQuery([{ role: 'user', content: 'first' }, { role: 'assistant', content: 'a' }, { role: 'user', content: 'last' }])).toBe('last');
|
|
7
|
+
});
|
|
8
|
+
test('extracts text from a multimodal content array', () => {
|
|
9
|
+
expect(latestUserQuery([{ role: 'user', content: [{ type: 'image' }, { type: 'text', text: 'caption' }] }])).toBe('caption');
|
|
10
|
+
});
|
|
11
|
+
test('multimodal with no text block → empty', () => {
|
|
12
|
+
expect(latestUserQuery([{ role: 'user', content: [{ type: 'image' }] }])).toBe('');
|
|
13
|
+
});
|
|
14
|
+
test('non-string non-array content → empty', () => {
|
|
15
|
+
expect(latestUserQuery([{ role: 'user', content: { weird: true } }])).toBe('');
|
|
16
|
+
});
|
|
17
|
+
test('skips assistant/non-user messages', () => {
|
|
18
|
+
expect(latestUserQuery([{ role: 'user', content: 'q' }, { role: 'assistant', content: 'a' }, { role: 'tool', content: 't' }])).toBe('q');
|
|
19
|
+
});
|
|
20
|
+
test('no user message → empty', () => {
|
|
21
|
+
expect(latestUserQuery([{ role: 'assistant', content: 'a' }])).toBe('');
|
|
22
|
+
});
|
|
23
|
+
test('non-array / null input → empty', () => {
|
|
24
|
+
expect(latestUserQuery(null)).toBe('');
|
|
25
|
+
expect(latestUserQuery(undefined)).toBe('');
|
|
26
|
+
});
|
|
27
|
+
test('null entries are skipped', () => {
|
|
28
|
+
expect(latestUserQuery([null, { role: 'user', content: 'q' }])).toBe('q');
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
function makeBuilder({ active = [], content = {}, recallHits = [], analysis = null, documentMemory, visionAnalysisService } = {}) {
|
|
33
|
+
const attachmentService = {
|
|
34
|
+
getActiveAttachments: jest.fn().mockResolvedValue(active),
|
|
35
|
+
getAttachmentContent: jest.fn(async (id) => content[id] ?? null),
|
|
36
|
+
};
|
|
37
|
+
const dm = documentMemory ?? { recall: jest.fn().mockResolvedValue({ hits: recallHits }) };
|
|
38
|
+
const vas = visionAnalysisService ?? (analysis !== null
|
|
39
|
+
? { analyze: jest.fn().mockResolvedValue({ text: analysis }), hasVisionModel: () => true }
|
|
40
|
+
: null);
|
|
41
|
+
const builder = new AttachmentContextBuilder({ attachmentService, documentMemory: dm, visionAnalysisService: vas });
|
|
42
|
+
return { builder, attachmentService, dm, vas };
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
describe('constructor', () => {
|
|
46
|
+
test('accepts all explicit dependencies', () => {
|
|
47
|
+
const b = new AttachmentContextBuilder({
|
|
48
|
+
attachmentService: {}, documentMemory: {}, visionAnalysisService: {},
|
|
49
|
+
classify: () => ({ strategy: 'reference' }), logger: { warn() {} },
|
|
50
|
+
});
|
|
51
|
+
expect(b).toBeTruthy();
|
|
52
|
+
});
|
|
53
|
+
test('constructs with no arguments at all', () => {
|
|
54
|
+
expect(() => new AttachmentContextBuilder()).not.toThrow();
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
describe('build — guards', () => {
|
|
59
|
+
test('no attachmentService → empty', async () => {
|
|
60
|
+
const b = new AttachmentContextBuilder({});
|
|
61
|
+
expect(await b.build('a1')).toEqual({ systemAdditions: '', contentBlocks: [] });
|
|
62
|
+
});
|
|
63
|
+
test('no agentId → empty', async () => {
|
|
64
|
+
const { builder } = makeBuilder();
|
|
65
|
+
expect((await builder.build('')).systemAdditions).toBe('');
|
|
66
|
+
});
|
|
67
|
+
test('no active attachments → empty', async () => {
|
|
68
|
+
const { builder } = makeBuilder({ active: [] });
|
|
69
|
+
expect((await builder.build('a1')).systemAdditions).toBe('');
|
|
70
|
+
});
|
|
71
|
+
test('getActiveAttachments returning null → empty (|| [] guard)', async () => {
|
|
72
|
+
const attachmentService = { getActiveAttachments: jest.fn().mockResolvedValue(null) };
|
|
73
|
+
const b = new AttachmentContextBuilder({ attachmentService });
|
|
74
|
+
expect((await b.build('a1')).systemAdditions).toBe('');
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
test('getActiveAttachments throwing → empty (no throw)', async () => {
|
|
78
|
+
const attachmentService = { getActiveAttachments: jest.fn().mockRejectedValue(new Error('boom')) };
|
|
79
|
+
const b = new AttachmentContextBuilder({ attachmentService });
|
|
80
|
+
expect((await b.build('a1')).systemAdditions).toBe('');
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
describe('build — inline text', () => {
|
|
85
|
+
test('small text → full content inline, XML-escaped', async () => {
|
|
86
|
+
const { builder } = makeBuilder({
|
|
87
|
+
active: [{ fileId: 'f1', fileName: 'note.txt', contentType: 'text', size: 100, tokenEstimate: 20 }],
|
|
88
|
+
content: { f1: 'hello <b> & "you"' },
|
|
89
|
+
});
|
|
90
|
+
const { systemAdditions } = await builder.build('a1');
|
|
91
|
+
expect(systemAdditions).toContain('<attached-files>');
|
|
92
|
+
expect(systemAdditions).toContain('mode="content"');
|
|
93
|
+
expect(systemAdditions).toContain('hello <b> & "you"');
|
|
94
|
+
});
|
|
95
|
+
test('getAttachmentContent throwing → degrades to a reference', async () => {
|
|
96
|
+
const attachmentService = {
|
|
97
|
+
getActiveAttachments: jest.fn().mockResolvedValue([{ fileId: 'f1', fileName: 'n.txt', contentType: 'text', size: 50, tokenEstimate: 10 }]),
|
|
98
|
+
getAttachmentContent: jest.fn().mockRejectedValue(new Error('read fail')),
|
|
99
|
+
};
|
|
100
|
+
const b = new AttachmentContextBuilder({ attachmentService });
|
|
101
|
+
expect((await b.build('a1')).systemAdditions).toContain('content unavailable');
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
test('inline file with no size renders (size || 0 guard)', async () => {
|
|
105
|
+
const { builder } = makeBuilder({
|
|
106
|
+
active: [{ fileId: 'f1', fileName: 'n.txt', contentType: 'text', tokenEstimate: 5 }], // no size
|
|
107
|
+
content: { f1: 'hi' },
|
|
108
|
+
});
|
|
109
|
+
const { systemAdditions } = await builder.build('a1');
|
|
110
|
+
expect(systemAdditions).toContain('size="0.0KB"');
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
test('missing content → degrades to a reference', async () => {
|
|
114
|
+
const { builder } = makeBuilder({
|
|
115
|
+
active: [{ fileId: 'f1', fileName: 'note.txt', contentType: 'text', size: 100, tokenEstimate: 20 }],
|
|
116
|
+
content: {},
|
|
117
|
+
});
|
|
118
|
+
const { systemAdditions } = await builder.build('a1');
|
|
119
|
+
expect(systemAdditions).toContain('<file-references>');
|
|
120
|
+
expect(systemAdditions).toContain('content unavailable');
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
describe('build — document recall', () => {
|
|
125
|
+
const bigText = { fileId: 'f1', fileName: 'big.txt', contentType: 'text', size: 999999, tokenEstimate: 99999, docId: 'doc-1' };
|
|
126
|
+
|
|
127
|
+
test('recalls only relevant chunks for the query, scoped by docId', async () => {
|
|
128
|
+
const { builder, dm } = makeBuilder({ active: [bigText], recallHits: [{ text: 'chunk A' }, { text: 'chunk B' }] });
|
|
129
|
+
const { systemAdditions } = await builder.build('a1', { query: 'what is X?' });
|
|
130
|
+
expect(dm.recall).toHaveBeenCalledWith('a1', 'what is X?', expect.objectContaining({ docId: 'doc-1' }));
|
|
131
|
+
expect(systemAdditions).toContain('[relevant excerpts]');
|
|
132
|
+
expect(systemAdditions).toContain('chunk A');
|
|
133
|
+
expect(systemAdditions).toContain('chunk B');
|
|
134
|
+
expect(systemAdditions).toContain('mode="recall"');
|
|
135
|
+
});
|
|
136
|
+
test('no query → no recall, falls back to reference', async () => {
|
|
137
|
+
const { builder, dm } = makeBuilder({ active: [bigText], recallHits: [{ text: 'x' }] });
|
|
138
|
+
const { systemAdditions } = await builder.build('a1', { query: '' });
|
|
139
|
+
expect(dm.recall).not.toHaveBeenCalled();
|
|
140
|
+
expect(systemAdditions).toContain('mode="reference"');
|
|
141
|
+
});
|
|
142
|
+
test('no docId → reference (not yet indexed)', async () => {
|
|
143
|
+
const { builder } = makeBuilder({ active: [{ ...bigText, docId: undefined }], recallHits: [{ text: 'x' }] });
|
|
144
|
+
const { systemAdditions } = await builder.build('a1', { query: 'q' });
|
|
145
|
+
expect(systemAdditions).toContain('mode="reference"');
|
|
146
|
+
});
|
|
147
|
+
test('recall returns no hits → reference', async () => {
|
|
148
|
+
const { builder } = makeBuilder({ active: [bigText], recallHits: [] });
|
|
149
|
+
expect((await builder.build('a1', { query: 'q' })).systemAdditions).toContain('mode="reference"');
|
|
150
|
+
});
|
|
151
|
+
test('recall result without a hits array (|| [] guard) → reference', async () => {
|
|
152
|
+
const dm = { recall: jest.fn().mockResolvedValue({}) };
|
|
153
|
+
const { builder } = makeBuilder({ active: [bigText], documentMemory: dm });
|
|
154
|
+
expect((await builder.build('a1', { query: 'q' })).systemAdditions).toContain('mode="reference"');
|
|
155
|
+
});
|
|
156
|
+
test('null/empty hits are filtered before formatting', async () => {
|
|
157
|
+
const { builder } = makeBuilder({ active: [bigText], recallHits: [null, { text: '' }, { text: 'real chunk' }] });
|
|
158
|
+
const { systemAdditions } = await builder.build('a1', { query: 'q' });
|
|
159
|
+
expect(systemAdditions).toContain('real chunk');
|
|
160
|
+
expect(systemAdditions).toContain('mode="recall"');
|
|
161
|
+
});
|
|
162
|
+
test('recall throwing → reference (no throw)', async () => {
|
|
163
|
+
const dm = { recall: jest.fn().mockRejectedValue(new Error('vec down')) };
|
|
164
|
+
const { builder } = makeBuilder({ active: [bigText], documentMemory: dm });
|
|
165
|
+
expect((await builder.build('a1', { query: 'q' })).systemAdditions).toContain('mode="reference"');
|
|
166
|
+
});
|
|
167
|
+
test('recall unavailable but content present → inline full content (no regression)', async () => {
|
|
168
|
+
const { builder } = makeBuilder({ active: [bigText], recallHits: [], content: { f1: 'the whole big document' } });
|
|
169
|
+
const { systemAdditions } = await builder.build('a1', { query: 'q' });
|
|
170
|
+
expect(systemAdditions).toContain('mode="content"');
|
|
171
|
+
expect(systemAdditions).toContain('the whole big document');
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
describe('build — vision', () => {
|
|
176
|
+
const img = { fileId: 'f1', fileName: 'pic.png', contentType: 'image', fileType: 'image/png', size: 5000 };
|
|
177
|
+
|
|
178
|
+
test('image + vision service → injects the text analysis', async () => {
|
|
179
|
+
const { builder, vas } = makeBuilder({
|
|
180
|
+
active: [img], content: { f1: 'data:image/png;base64,QUJD' }, analysis: 'A red cube on white.',
|
|
181
|
+
});
|
|
182
|
+
const { systemAdditions } = await builder.build('a1', { query: 'what colour?' });
|
|
183
|
+
expect(vas.analyze).toHaveBeenCalledWith(expect.objectContaining({ imageBase64: 'QUJD', mimeType: 'image/png' }));
|
|
184
|
+
expect(vas.analyze.mock.calls[0][0].prompt).toContain('what colour?');
|
|
185
|
+
expect(systemAdditions).toContain('[vision analysis]');
|
|
186
|
+
expect(systemAdditions).toContain('A red cube on white.');
|
|
187
|
+
expect(systemAdditions).toContain('mode="vision"');
|
|
188
|
+
});
|
|
189
|
+
test('image content that is not a data URI still analyzes (raw base64 + fileType mime)', async () => {
|
|
190
|
+
const { builder, vas } = makeBuilder({ active: [img], content: { f1: 'RAWB64' }, analysis: 'ok' });
|
|
191
|
+
await builder.build('a1', { query: '' });
|
|
192
|
+
expect(vas.analyze).toHaveBeenCalledWith(expect.objectContaining({ imageBase64: 'RAWB64', mimeType: 'image/png' }));
|
|
193
|
+
});
|
|
194
|
+
test('no vision model at all → image becomes a plain reference (no analysis attempted)', async () => {
|
|
195
|
+
const { builder } = makeBuilder({ active: [img], content: { f1: 'data:image/png;base64,QQ==' }, visionAnalysisService: null });
|
|
196
|
+
const { systemAdditions } = await builder.build('a1', { query: 'q' });
|
|
197
|
+
expect(systemAdditions).toContain('mode="reference"');
|
|
198
|
+
});
|
|
199
|
+
test('a vision model exists but analysis yields nothing → reference with note', async () => {
|
|
200
|
+
const vas = { analyze: jest.fn().mockResolvedValue({ text: '' }), hasVisionModel: () => true };
|
|
201
|
+
const { builder } = makeBuilder({ active: [img], content: { f1: 'data:image/png;base64,QQ==' }, visionAnalysisService: vas });
|
|
202
|
+
expect((await builder.build('a1', { query: 'q' })).systemAdditions).toContain('vision analysis unavailable');
|
|
203
|
+
});
|
|
204
|
+
test('vision analysis returning empty → reference', async () => {
|
|
205
|
+
const vas = { analyze: jest.fn().mockResolvedValue({ text: '' }), hasVisionModel: () => true };
|
|
206
|
+
const { builder } = makeBuilder({ active: [img], content: { f1: 'data:image/png;base64,QQ==' }, visionAnalysisService: vas });
|
|
207
|
+
expect((await builder.build('a1', { query: 'q' })).systemAdditions).toContain('mode="reference"');
|
|
208
|
+
});
|
|
209
|
+
test('vision analysis throwing → reference (no throw)', async () => {
|
|
210
|
+
const vas = { analyze: jest.fn().mockRejectedValue(new Error('vision 500')), hasVisionModel: () => true };
|
|
211
|
+
const { builder } = makeBuilder({ active: [img], content: { f1: 'data:image/png;base64,QQ==' }, visionAnalysisService: vas });
|
|
212
|
+
expect((await builder.build('a1', { query: 'q' })).systemAdditions).toContain('mode="reference"');
|
|
213
|
+
});
|
|
214
|
+
test('image with no stored content → reference', async () => {
|
|
215
|
+
const vas = { analyze: jest.fn(), hasVisionModel: () => true };
|
|
216
|
+
const { builder } = makeBuilder({ active: [img], content: {}, visionAnalysisService: vas });
|
|
217
|
+
expect((await builder.build('a1', { query: 'q' })).systemAdditions).toContain('mode="reference"');
|
|
218
|
+
expect(vas.analyze).not.toHaveBeenCalled();
|
|
219
|
+
});
|
|
220
|
+
});
|
|
221
|
+
|
|
222
|
+
describe('build — scope filtering', () => {
|
|
223
|
+
const convFile = { fileId: 'f1', fileName: 'n.txt', contentType: 'text', size: 50, tokenEstimate: 10, scope: 'conversation', conversationId: 'c1' };
|
|
224
|
+
test('conversation-scoped attachment is excluded on a different conversation', async () => {
|
|
225
|
+
const { builder } = makeBuilder({ active: [convFile], content: { f1: 'hi' } });
|
|
226
|
+
expect((await builder.build('a1', { conversationId: 'c2' })).systemAdditions).toBe('');
|
|
227
|
+
});
|
|
228
|
+
test('conversation-scoped attachment is included on its own conversation', async () => {
|
|
229
|
+
const { builder } = makeBuilder({ active: [convFile], content: { f1: 'hi' } });
|
|
230
|
+
expect((await builder.build('a1', { conversationId: 'c1' })).systemAdditions).toContain('hi');
|
|
231
|
+
});
|
|
232
|
+
test('agent-scoped attachment is included regardless of conversation', async () => {
|
|
233
|
+
const { builder } = makeBuilder({ active: [{ fileId: 'f1', fileName: 'n.txt', contentType: 'text', size: 50, tokenEstimate: 10 }], content: { f1: 'hi' } });
|
|
234
|
+
expect((await builder.build('a1', { conversationId: 'cX' })).systemAdditions).toContain('hi');
|
|
235
|
+
});
|
|
236
|
+
});
|
|
237
|
+
|
|
238
|
+
describe('build — reference + mixed', () => {
|
|
239
|
+
test('binary → reference with path', async () => {
|
|
240
|
+
const { builder } = makeBuilder({ active: [{ fileId: 'f1', fileName: 'a.zip', contentType: 'binary', size: 10, originalPath: '/srv/a.zip' }] });
|
|
241
|
+
const { systemAdditions } = await builder.build('a1');
|
|
242
|
+
expect(systemAdditions).toContain('mode="reference"');
|
|
243
|
+
expect(systemAdditions).toContain('path="/srv/a.zip"');
|
|
244
|
+
expect(systemAdditions).toContain('referenced files can be read');
|
|
245
|
+
});
|
|
246
|
+
test('explicit model.hasVisionModel=true but no vision service → image reference', async () => {
|
|
247
|
+
const attachmentService = {
|
|
248
|
+
getActiveAttachments: jest.fn().mockResolvedValue([{ fileId: 'f1', fileName: 'p.png', contentType: 'image', size: 100 }]),
|
|
249
|
+
getAttachmentContent: jest.fn().mockResolvedValue('data:image/png;base64,QQ=='),
|
|
250
|
+
};
|
|
251
|
+
const b = new AttachmentContextBuilder({ attachmentService }); // no vision service
|
|
252
|
+
const { systemAdditions } = await b.build('a1', { model: { hasVisionModel: true }, query: 'q' });
|
|
253
|
+
expect(systemAdditions).toContain('mode="reference"');
|
|
254
|
+
});
|
|
255
|
+
|
|
256
|
+
test('attachment missing fileName/type/contentType is handled without throwing', async () => {
|
|
257
|
+
const attachmentService = {
|
|
258
|
+
getActiveAttachments: jest.fn().mockResolvedValue([{ fileId: 'f1', size: 5 }]),
|
|
259
|
+
getAttachmentContent: jest.fn(),
|
|
260
|
+
};
|
|
261
|
+
const b = new AttachmentContextBuilder({ attachmentService });
|
|
262
|
+
expect((await b.build('a1')).systemAdditions).toContain('mode="reference"');
|
|
263
|
+
});
|
|
264
|
+
|
|
265
|
+
test('non-data-URI image without fileType defaults the mime to image/png', async () => {
|
|
266
|
+
const vas = { analyze: jest.fn().mockResolvedValue({ text: 'x' }), hasVisionModel: () => true };
|
|
267
|
+
const attachmentService = {
|
|
268
|
+
getActiveAttachments: jest.fn().mockResolvedValue([{ fileId: 'f1', fileName: 'p', contentType: 'image', size: 100 }]),
|
|
269
|
+
getAttachmentContent: jest.fn().mockResolvedValue('RAWB64'),
|
|
270
|
+
};
|
|
271
|
+
const b = new AttachmentContextBuilder({ attachmentService, visionAnalysisService: vas });
|
|
272
|
+
await b.build('a1', { query: '' });
|
|
273
|
+
expect(vas.analyze).toHaveBeenCalledWith(expect.objectContaining({ mimeType: 'image/png' }));
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
test('mixed set produces both sections', async () => {
|
|
277
|
+
const { builder } = makeBuilder({
|
|
278
|
+
active: [
|
|
279
|
+
{ fileId: 'f1', fileName: 'n.txt', contentType: 'text', size: 50, tokenEstimate: 10 },
|
|
280
|
+
{ fileId: 'f2', fileName: 'a.zip', contentType: 'binary', size: 10 },
|
|
281
|
+
],
|
|
282
|
+
content: { f1: 'hi' },
|
|
283
|
+
});
|
|
284
|
+
const { systemAdditions } = await builder.build('a1');
|
|
285
|
+
expect(systemAdditions).toContain('<attached-files>');
|
|
286
|
+
expect(systemAdditions).toContain('<file-references>');
|
|
287
|
+
});
|
|
288
|
+
});
|