onbuzz 4.6.4 → 4.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.js +8 -0
- package/package.json +1 -1
- package/scripts/debug-balance-probe.mjs +35 -0
- package/src/__tests__/autoUpdateConfig.test.js +80 -0
- package/src/__tests__/releaseWorkflow.test.js +72 -0
- package/src/core/__tests__/messageProcessor.sourceHeader.test.js +7 -2
- package/src/index.js +16 -0
- package/src/interfaces/__tests__/accountRoutes.test.js +487 -0
- package/src/interfaces/__tests__/apiKeyManagerContract.test.js +39 -0
- package/src/interfaces/__tests__/authRoutes.test.js +8 -8
- package/src/interfaces/accountRoutes.js +398 -0
- package/src/interfaces/webServer.js +104 -15
- package/src/services/__tests__/apiKeyManager.test.js +4 -6
- package/src/services/__tests__/authCacheStore.test.js +118 -0
- package/src/services/__tests__/channelRelay.integration.test.js +49 -12
- package/src/services/__tests__/messageSource.test.js +6 -2
- package/src/services/__tests__/telegramBlockParser.test.js +183 -0
- package/src/services/__tests__/telegramService.test.js +838 -0
- package/src/services/apiKeyManager.js +12 -99
- package/src/services/authCacheStore.js +140 -0
- package/src/services/messageSource.js +11 -11
- package/src/services/telegramBlockParser.js +145 -0
- package/src/services/telegramService.js +1273 -431
- package/src/tools/__tests__/webTool.e2e.test.js +9 -1
- package/src/tools/webTool.js +20 -4
- package/src/utilities/__tests__/secretsCipher.test.js +97 -0
- package/src/utilities/__tests__/updateNotifier.test.js +139 -0
- package/src/utilities/secretsCipher.js +116 -0
- package/src/utilities/updateNotifier.js +140 -0
- package/web-ui/build/index.html +2 -2
- package/web-ui/build/static/1c-CuE_dLW8.js +1 -0
- package/web-ui/build/static/abap-LOu14tBm.js +1 -0
- package/web-ui/build/static/abnf-CJpfHQLV.js +1 -0
- package/web-ui/build/static/abnf-LdAi7OAY.js +1 -0
- package/web-ui/build/static/accesslog-BvrhdZIJ.js +1 -0
- package/web-ui/build/static/actionscript-B3NHp9II.js +1 -0
- package/web-ui/build/static/actionscript-DVfqv5DS.js +1 -0
- package/web-ui/build/static/ada-BVkvHgSu.js +1 -0
- package/web-ui/build/static/ada-d33rlRPC.js +1 -0
- package/web-ui/build/static/agda-t1mot-jT.js +1 -0
- package/web-ui/build/static/al-D2Aw8sYi.js +1 -0
- package/web-ui/build/static/angelscript-DGjq6ZLh.js +1 -0
- package/web-ui/build/static/antlr4-DQWExQhj.js +1 -0
- package/web-ui/build/static/apache-CRX2mGHA.js +1 -0
- package/web-ui/build/static/apacheconf-BBhhyVVR.js +1 -0
- package/web-ui/build/static/apex-DIJyAF3g.js +1 -0
- package/web-ui/build/static/apl-COGQUhmX.js +1 -0
- package/web-ui/build/static/applescript-DLPa_bvL.js +1 -0
- package/web-ui/build/static/applescript-iEepawXM.js +1 -0
- package/web-ui/build/static/aql-vDYotUbW.js +1 -0
- package/web-ui/build/static/arcade-5bpnh2Oi.js +1 -0
- package/web-ui/build/static/arduino-4OxI8HS8.js +1 -0
- package/web-ui/build/static/arduino-zJUNF7Xl.js +1 -0
- package/web-ui/build/static/arff-DHcdYO6-.js +1 -0
- package/web-ui/build/static/armasm-DVyTHmiD.js +1 -0
- package/web-ui/build/static/asciidoc-BRYIR6BF.js +1 -0
- package/web-ui/build/static/asciidoc-bd_scw1t.js +1 -0
- package/web-ui/build/static/asm6502-DfRcm1MU.js +1 -0
- package/web-ui/build/static/asmatmel--fvKJXxu.js +1 -0
- package/web-ui/build/static/aspectj-Cnm2Ccyg.js +1 -0
- package/web-ui/build/static/aspnet-BK2pQltF.js +1 -0
- package/web-ui/build/static/autohotkey-COkKlASn.js +1 -0
- package/web-ui/build/static/autohotkey-DNYipPv0.js +1 -0
- package/web-ui/build/static/autoit-DiwhqkEo.js +1 -0
- package/web-ui/build/static/autoit-DkQ_YDdk.js +1 -0
- package/web-ui/build/static/avisynth-DFrkQWrl.js +1 -0
- package/web-ui/build/static/avrasm-BbFtsKVm.js +1 -0
- package/web-ui/build/static/avro-idl-06_wFrxE.js +1 -0
- package/web-ui/build/static/awk-BNO1Hu3Y.js +1 -0
- package/web-ui/build/static/axapta-CW0rBEQf.js +1 -0
- package/web-ui/build/static/bash-DAP5H41u.js +1 -0
- package/web-ui/build/static/bash-DsCT4fHh.js +1 -0
- package/web-ui/build/static/basic-DqCcX17x.js +1 -0
- package/web-ui/build/static/basic-J3jqGQaz.js +1 -0
- package/web-ui/build/static/batch-BzKb0QuF.js +1 -0
- package/web-ui/build/static/bbcode-Cxys0qL9.js +1 -0
- package/web-ui/build/static/bicep-DPpVhf9I.js +1 -0
- package/web-ui/build/static/birb-BDF00uY2.js +1 -0
- package/web-ui/build/static/bison-DerSCeTc.js +1 -0
- package/web-ui/build/static/bnf--Nxb91Mj.js +1 -0
- package/web-ui/build/static/bnf-DKp1OqQh.js +1 -0
- package/web-ui/build/static/brainfuck-BgKburBi.js +1 -0
- package/web-ui/build/static/brainfuck-CLRabJhl.js +1 -0
- package/web-ui/build/static/brightscript-DJ0LrgUU.js +1 -0
- package/web-ui/build/static/bro-FVn3137a.js +1 -0
- package/web-ui/build/static/bsl-DGcfC5Qq.js +1 -0
- package/web-ui/build/static/c-CtBaJxj_.js +1 -0
- package/web-ui/build/static/c-DcJBPsOs.js +1 -0
- package/web-ui/build/static/c-like-BMAPMOT0.js +1 -0
- package/web-ui/build/static/cal-Dwvf5LQJ.js +1 -0
- package/web-ui/build/static/capnproto-Be5xeQu8.js +1 -0
- package/web-ui/build/static/ceylon-BV9kQegc.js +1 -0
- package/web-ui/build/static/cfscript-DqyqkqRV.js +1 -0
- package/web-ui/build/static/chaiscript-ab8S5sGz.js +1 -0
- package/web-ui/build/static/cil-DU5bEU16.js +1 -0
- package/web-ui/build/static/clean-CqKiC4l-.js +1 -0
- package/web-ui/build/static/clojure-CdaWManm.js +1 -0
- package/web-ui/build/static/clojure-cVIUydqy.js +1 -0
- package/web-ui/build/static/clojure-repl-mc7sqsOd.js +1 -0
- package/web-ui/build/static/cmake-D2ntzyPv.js +1 -0
- package/web-ui/build/static/cmake-Dt7gdCZl.js +1 -0
- package/web-ui/build/static/cobol-BYMIYxJY.js +1 -0
- package/web-ui/build/static/coffeescript-COUOYE5O.js +1 -0
- package/web-ui/build/static/coffeescript-FDyQzH4X.js +1 -0
- package/web-ui/build/static/concurnas-D8GglsJx.js +1 -0
- package/web-ui/build/static/coq-BvEL_B0N.js +1 -0
- package/web-ui/build/static/coq-C6NZeAuz.js +1 -0
- package/web-ui/build/static/cos-CjjeNVfD.js +1 -0
- package/web-ui/build/static/cpp-BdQQ9k01.js +1 -0
- package/web-ui/build/static/cpp-iYGopslr.js +1 -0
- package/web-ui/build/static/crmsh-COhOWlQB.js +1 -0
- package/web-ui/build/static/crystal-DqVfuZe7.js +1 -0
- package/web-ui/build/static/crystal-fkI7WHLA.js +1 -0
- package/web-ui/build/static/csharp-BKyMR69a.js +1 -0
- package/web-ui/build/static/csharp-KJwk5tFh.js +1 -0
- package/web-ui/build/static/cshtml-D-0Bd5yF.js +1 -0
- package/web-ui/build/static/csp-C6xrFQUZ.js +1 -0
- package/web-ui/build/static/csp-CKOZZjS5.js +1 -0
- package/web-ui/build/static/css-DhttYfIQ.js +1 -0
- package/web-ui/build/static/css-extras-Cwksdn14.js +1 -0
- package/web-ui/build/static/csv-3xOycrIm.js +1 -0
- package/web-ui/build/static/cypher-DIQ_IXvU.js +1 -0
- package/web-ui/build/static/d-CA3ONaPZ.js +1 -0
- package/web-ui/build/static/d-Cpj6yr1P.js +1 -0
- package/web-ui/build/static/dart-CStXueOh.js +1 -0
- package/web-ui/build/static/dart-DyyN2hCZ.js +1 -0
- package/web-ui/build/static/dataweave-C1Z1lf_p.js +1 -0
- package/web-ui/build/static/dax-Bra_xxin.js +1 -0
- package/web-ui/build/static/delphi-BSp32sTR.js +1 -0
- package/web-ui/build/static/dhall-DqULvWhD.js +1 -0
- package/web-ui/build/static/diff-DZWp0eai.js +1 -0
- package/web-ui/build/static/diff-Dl7Q9ZLJ.js +1 -0
- package/web-ui/build/static/django-BKb-9srn.js +1 -0
- package/web-ui/build/static/django-D4ZBsr7A.js +1 -0
- package/web-ui/build/static/dns-BIl1lqfE.js +1 -0
- package/web-ui/build/static/dns-zone-file-BHOpqtwv.js +1 -0
- package/web-ui/build/static/docker-DhYlo5KM.js +1 -0
- package/web-ui/build/static/dockerfile-DkKcxplU.js +1 -0
- package/web-ui/build/static/dos-BL8RAxlP.js +1 -0
- package/web-ui/build/static/dot-BLokvOTb.js +1 -0
- package/web-ui/build/static/dsconfig-C-HwSveF.js +1 -0
- package/web-ui/build/static/dts-D7N7kY9U.js +1 -0
- package/web-ui/build/static/dust-BDDbpTgO.js +1 -0
- package/web-ui/build/static/ebnf-BXq1reNT.js +1 -0
- package/web-ui/build/static/ebnf-DbPDw4Bq.js +1 -0
- package/web-ui/build/static/editorconfig-w2ZfPGuw.js +1 -0
- package/web-ui/build/static/eiffel-c2MQNBkW.js +1 -0
- package/web-ui/build/static/ejs-3QktTSvM.js +1 -0
- package/web-ui/build/static/elixir-BpckBbUo.js +1 -0
- package/web-ui/build/static/elixir-CdGx--Zx.js +1 -0
- package/web-ui/build/static/elm-BZQYORvs.js +1 -0
- package/web-ui/build/static/elm-CuB52FFf.js +1 -0
- package/web-ui/build/static/erb-BBShdpRp.js +1 -0
- package/web-ui/build/static/erb-C6oyD8uR.js +1 -0
- package/web-ui/build/static/erlang-CTR2NiVN.js +1 -0
- package/web-ui/build/static/erlang-Gyvyd8Bt.js +1 -0
- package/web-ui/build/static/erlang-repl-DQ9M2hTB.js +1 -0
- package/web-ui/build/static/etlua-WvCpEBL7.js +1 -0
- package/web-ui/build/static/excel-Cti8qyDh.js +1 -0
- package/web-ui/build/static/excel-formula-CbyjGhLT.js +1 -0
- package/web-ui/build/static/factor-DsS7xUlQ.js +1 -0
- package/web-ui/build/static/false-By7DT7NY.js +1 -0
- package/web-ui/build/static/firestore-security-rules-D818j5mX.js +1 -0
- package/web-ui/build/static/fix-Z9CNHO5B.js +1 -0
- package/web-ui/build/static/flix-CQ5tU7oG.js +1 -0
- package/web-ui/build/static/flow-TAcj5V8G.js +1 -0
- package/web-ui/build/static/fortran-CSo4-IB9.js +1 -0
- package/web-ui/build/static/fortran-D8ckpcuk.js +1 -0
- package/web-ui/build/static/fsharp-CX5IhzHG.js +1 -0
- package/web-ui/build/static/fsharp-CjgdWVzI.js +1 -0
- package/web-ui/build/static/ftl-BniZfpaP.js +1 -0
- package/web-ui/build/static/gams-Dx_Ej7b0.js +1 -0
- package/web-ui/build/static/gap-BW8rQPKU.js +1 -0
- package/web-ui/build/static/gauss-DP_j2AoM.js +1 -0
- package/web-ui/build/static/gcode-C_p0RHK2.js +1 -0
- package/web-ui/build/static/gcode-CvPzqlIr.js +1 -0
- package/web-ui/build/static/gdscript-BQxanI3X.js +1 -0
- package/web-ui/build/static/gedcom-DX22sB95.js +1 -0
- package/web-ui/build/static/gherkin-BuM2TN92.js +1 -0
- package/web-ui/build/static/gherkin-SyKtGAnl.js +1 -0
- package/web-ui/build/static/git-CZsBJbLj.js +1 -0
- package/web-ui/build/static/glsl-0gMMTGpT.js +1 -0
- package/web-ui/build/static/glsl-DdxyDP7O.js +1 -0
- package/web-ui/build/static/gml-Bmf5f_3a.js +1 -0
- package/web-ui/build/static/gml-DygwvUqd.js +1 -0
- package/web-ui/build/static/gn-CmJ9lVHR.js +1 -0
- package/web-ui/build/static/go-DcXIw3ql.js +1 -0
- package/web-ui/build/static/go-Dp-1fwju.js +1 -0
- package/web-ui/build/static/go-module-CVe5dTg-.js +1 -0
- package/web-ui/build/static/golo-Dqz3BdPW.js +1 -0
- package/web-ui/build/static/gradle-PY8Q_ptd.js +1 -0
- package/web-ui/build/static/graphql-7ynBfuuQ.js +1 -0
- package/web-ui/build/static/groovy-CKe3t1A3.js +1 -0
- package/web-ui/build/static/groovy-DK_6c_Dy.js +1 -0
- package/web-ui/build/static/haml-BjjIreuG.js +1 -0
- package/web-ui/build/static/haml-knbHtzU7.js +1 -0
- package/web-ui/build/static/handlebars-Bvicc2ZP.js +1 -0
- package/web-ui/build/static/handlebars-CWjisUes.js +1 -0
- package/web-ui/build/static/haskell-0vOFJmtj.js +1 -0
- package/web-ui/build/static/haskell-BjwWvVul.js +1 -0
- package/web-ui/build/static/haxe-CXIYhI9-.js +1 -0
- package/web-ui/build/static/haxe-Msa_nat5.js +1 -0
- package/web-ui/build/static/hcl-DADfqiqO.js +1 -0
- package/web-ui/build/static/hlsl-BoecwvZ1.js +1 -0
- package/web-ui/build/static/hoon-DoMcF4bN.js +1 -0
- package/web-ui/build/static/hpkp-DOkWWV9B.js +1 -0
- package/web-ui/build/static/hsp-KvanktXQ.js +1 -0
- package/web-ui/build/static/hsts-DP5sAe8p.js +1 -0
- package/web-ui/build/static/htmlbars-DpevdeqY.js +1 -0
- package/web-ui/build/static/http-CTyudxeK.js +1 -0
- package/web-ui/build/static/http-D0_pALtR.js +1 -0
- package/web-ui/build/static/hy-KpsNGTaA.js +1 -0
- package/web-ui/build/static/ichigojam-B9szb3eY.js +1 -0
- package/web-ui/build/static/icon-nqAgdt4t.js +1 -0
- package/web-ui/build/static/icu-message-format-DvgC-cKZ.js +1 -0
- package/web-ui/build/static/idris-D5VcDmFg.js +1 -0
- package/web-ui/build/static/iecst-LbbDhK7w.js +1 -0
- package/web-ui/build/static/ignore-rThoz4zA.js +1 -0
- package/web-ui/build/static/index-Cm1gK3R7.css +1 -0
- package/web-ui/build/static/index-D6blIL5t.js +13 -0
- package/web-ui/build/static/index-DqCutaVi.js +1164 -0
- package/web-ui/build/static/index-_UVy_UGY.js +1 -0
- package/web-ui/build/static/inform7-B2u0-vkK.js +1 -0
- package/web-ui/build/static/inform7-Cj2uMx5P.js +1 -0
- package/web-ui/build/static/ini-DDC_WfpB.js +1 -0
- package/web-ui/build/static/ini-Dafi1wkS.js +1 -0
- package/web-ui/build/static/io-Cs5RmCdQ.js +1 -0
- package/web-ui/build/static/irpf90-5KuyCx_k.js +1 -0
- package/web-ui/build/static/isbl-CZGAUFN3.js +1 -0
- package/web-ui/build/static/j-C2U5CNx3.js +1 -0
- package/web-ui/build/static/java-B-L3bHbG.js +1 -0
- package/web-ui/build/static/java-Dhfb499l.js +1 -0
- package/web-ui/build/static/javadoc-_ln2gn5I.js +1 -0
- package/web-ui/build/static/javadoclike-CnV_ddKg.js +1 -0
- package/web-ui/build/static/javascript-DBUUUlif.js +1 -0
- package/web-ui/build/static/javastacktrace-BS1l3Yf6.js +1 -0
- package/web-ui/build/static/jboss-cli-RdKEfNzL.js +1 -0
- package/web-ui/build/static/jexl-Bu5vdWnx.js +1 -0
- package/web-ui/build/static/jolie-LS18mxou.js +1 -0
- package/web-ui/build/static/jq-u9QEjWr_.js +1 -0
- package/web-ui/build/static/js-extras-C1cS_85G.js +1 -0
- package/web-ui/build/static/js-templates-DQxgBfhh.js +1 -0
- package/web-ui/build/static/jsdoc-DhLXAtzJ.js +1 -0
- package/web-ui/build/static/json-B8DgcmbV.js +1 -0
- package/web-ui/build/static/json-ByLJzbD8.js +1 -0
- package/web-ui/build/static/json5-DSnccLNQ.js +1 -0
- package/web-ui/build/static/jsonp-CcwF40Vu.js +1 -0
- package/web-ui/build/static/jsstacktrace-7YvddNWa.js +1 -0
- package/web-ui/build/static/jsx-DnHkAc3-.js +1 -0
- package/web-ui/build/static/julia-BmadVpf3.js +1 -0
- package/web-ui/build/static/julia-GSKCoIBJ.js +1 -0
- package/web-ui/build/static/julia-repl-ks3HTctE.js +1 -0
- package/web-ui/build/static/keepalived-CWDkM2-Z.js +1 -0
- package/web-ui/build/static/keyman-C9jA4-3Y.js +1 -0
- package/web-ui/build/static/kotlin-BqzUXT-K.js +1 -0
- package/web-ui/build/static/kotlin-BxhEUQAU.js +1 -0
- package/web-ui/build/static/kumir-BFYLWJq-.js +1 -0
- package/web-ui/build/static/kusto-CQRzYXm2.js +1 -0
- package/web-ui/build/static/lasso-D44z_uI8.js +1 -0
- package/web-ui/build/static/latex-BEJdTqYC.js +1 -0
- package/web-ui/build/static/latex-CStS4ql1.js +1 -0
- package/web-ui/build/static/latte-BPXasl8T.js +1 -0
- package/web-ui/build/static/ldif-Wxrk2-xQ.js +1 -0
- package/web-ui/build/static/leaf-DrTXK-pT.js +1 -0
- package/web-ui/build/static/less-BmoAe98U.js +1 -0
- package/web-ui/build/static/less-DzWEFsZj.js +1 -0
- package/web-ui/build/static/lilypond-C3ZnRm_L.js +1 -0
- package/web-ui/build/static/liquid-eXmypvP_.js +1 -0
- package/web-ui/build/static/lisp-DcidyoAl.js +1 -0
- package/web-ui/build/static/lisp-DhmUig93.js +1 -0
- package/web-ui/build/static/livecodeserver-D5lnfCkg.js +1 -0
- package/web-ui/build/static/livescript-Bpb_EpXS.js +1 -0
- package/web-ui/build/static/livescript-rF5whmjG.js +1 -0
- package/web-ui/build/static/llvm-BD9QG7T-.js +1 -0
- package/web-ui/build/static/llvm-CVP-jOx8.js +1 -0
- package/web-ui/build/static/log-DRzysjS2.js +1 -0
- package/web-ui/build/static/lolcode-BmKgPOwi.js +1 -0
- package/web-ui/build/static/lsl-DEO2mV0F.js +1 -0
- package/web-ui/build/static/lua-BNDDIa9F.js +1 -0
- package/web-ui/build/static/lua-C5n4hyV-.js +1 -0
- package/web-ui/build/static/magma-UZvvdXue.js +1 -0
- package/web-ui/build/static/makefile-BDQ4tARf.js +1 -0
- package/web-ui/build/static/makefile-Bjg-ueA2.js +1 -0
- package/web-ui/build/static/markdown-BTXvpQos.js +1 -0
- package/web-ui/build/static/markdown-BvMdFo1Y.js +1 -0
- package/web-ui/build/static/markup-templating-xSAHnnIS.js +1 -0
- package/web-ui/build/static/mathematica-CqNsUy6n.js +1 -0
- package/web-ui/build/static/matlab-D-A1WMHc.js +1 -0
- package/web-ui/build/static/matlab-Us_SxUWG.js +1 -0
- package/web-ui/build/static/maxima-BSyBp09v.js +1 -0
- package/web-ui/build/static/maxscript-wyb-3dgT.js +1 -0
- package/web-ui/build/static/mel-Bpo7JK_A.js +1 -0
- package/web-ui/build/static/mel-eZCDX4iS.js +1 -0
- package/web-ui/build/static/mercury-CEgBiaXI.js +1 -0
- package/web-ui/build/static/mermaid-BJIHmQsO.js +1 -0
- package/web-ui/build/static/mipsasm-c70dMcw9.js +1 -0
- package/web-ui/build/static/mizar-CeCpdHS-.js +1 -0
- package/web-ui/build/static/mizar-DDlOFZXr.js +1 -0
- package/web-ui/build/static/mojolicious-b4UGVld0.js +1 -0
- package/web-ui/build/static/mongodb-DwkU2uSm.js +1 -0
- package/web-ui/build/static/monkey-CNkGqOfo.js +1 -0
- package/web-ui/build/static/monkey-DwmdAwUx.js +1 -0
- package/web-ui/build/static/moonscript-C2vv4alq.js +1 -0
- package/web-ui/build/static/moonscript-GOmGojxm.js +1 -0
- package/web-ui/build/static/n1ql-B-uZXYG_.js +1 -0
- package/web-ui/build/static/n1ql-CqKgc7lF.js +1 -0
- package/web-ui/build/static/n4js-CLkxsn24.js +1 -0
- package/web-ui/build/static/nand2tetris-hdl-CAJAzliK.js +1 -0
- package/web-ui/build/static/naniscript-DxWjsrnl.js +1 -0
- package/web-ui/build/static/nasm-C-GI38un.js +1 -0
- package/web-ui/build/static/neon-DWKBFo--.js +1 -0
- package/web-ui/build/static/nevod-DGDg1w8a.js +1 -0
- package/web-ui/build/static/nginx-BQbAompS.js +1 -0
- package/web-ui/build/static/nginx-BQbgG8J2.js +1 -0
- package/web-ui/build/static/nim-Bf864jik.js +1 -0
- package/web-ui/build/static/nim-DG4Tf5sg.js +1 -0
- package/web-ui/build/static/nix-BBq54ypW.js +1 -0
- package/web-ui/build/static/nix-DiVQTSyM.js +1 -0
- package/web-ui/build/static/node-repl-Dg0rNxhv.js +1 -0
- package/web-ui/build/static/nsis-BG8Lm28v.js +1 -0
- package/web-ui/build/static/nsis-CwA_MNyF.js +1 -0
- package/web-ui/build/static/objectivec-83FM4mu0.js +1 -0
- package/web-ui/build/static/objectivec-CbDgPZGc.js +1 -0
- package/web-ui/build/static/ocaml-CXrksX9b.js +1 -0
- package/web-ui/build/static/ocaml-aktipfk_.js +1 -0
- package/web-ui/build/static/opencl-B1Wu4nP5.js +1 -0
- package/web-ui/build/static/openqasm-BnUjC0Rq.js +1 -0
- package/web-ui/build/static/openscad-CNEF75nQ.js +1 -0
- package/web-ui/build/static/oxygene-B5nQHVvu.js +1 -0
- package/web-ui/build/static/oz-Dw07HFRJ.js +1 -0
- package/web-ui/build/static/parigp-Dkh7PqN8.js +1 -0
- package/web-ui/build/static/parser-CAW1btwt.js +1 -0
- package/web-ui/build/static/parser3-DO4cmbnD.js +1 -0
- package/web-ui/build/static/pascal-B3XwEzrN.js +1 -0
- package/web-ui/build/static/pascaligo-CMKmAZ_B.js +1 -0
- package/web-ui/build/static/pcaxis-B5RrdB6p.js +1 -0
- package/web-ui/build/static/peoplecode-CGkgPJl9.js +1 -0
- package/web-ui/build/static/perl-BWBuZ5Vt.js +1 -0
- package/web-ui/build/static/perl-CW0_w5xG.js +1 -0
- package/web-ui/build/static/pf-B1aiG4iq.js +1 -0
- package/web-ui/build/static/pgsql-BgXadqYx.js +1 -0
- package/web-ui/build/static/php-BpB9heTH.js +1 -0
- package/web-ui/build/static/php-S3LJn70M.js +1 -0
- package/web-ui/build/static/php-extras-Dmblzt0I.js +1 -0
- package/web-ui/build/static/php-template-BS_uyUS1.js +1 -0
- package/web-ui/build/static/phpdoc-BqP_4LKt.js +1 -0
- package/web-ui/build/static/plaintext-BvDBRLjE.js +1 -0
- package/web-ui/build/static/plsql-DEj_qOIm.js +1 -0
- package/web-ui/build/static/pony-DpvrOLZf.js +1 -0
- package/web-ui/build/static/powerquery-C0Wobunx.js +1 -0
- package/web-ui/build/static/powershell-CY7ZBlTW.js +1 -0
- package/web-ui/build/static/powershell-DiEDDrOo.js +1 -0
- package/web-ui/build/static/processing-IXybgMWQ.js +1 -0
- package/web-ui/build/static/processing-i136WolF.js +1 -0
- package/web-ui/build/static/profile-guIih27Q.js +1 -0
- package/web-ui/build/static/prolog-CvmO0VDt.js +1 -0
- package/web-ui/build/static/prolog-Dmf4klwf.js +1 -0
- package/web-ui/build/static/promql-DObZhyF5.js +1 -0
- package/web-ui/build/static/properties-CK08qg7k.js +1 -0
- package/web-ui/build/static/properties-DmwePx7J.js +1 -0
- package/web-ui/build/static/protobuf-BDkUYcAx.js +1 -0
- package/web-ui/build/static/protobuf-CBMNyvhU.js +1 -0
- package/web-ui/build/static/psl-eW3BB0n6.js +1 -0
- package/web-ui/build/static/pug-D0LF-keh.js +1 -0
- package/web-ui/build/static/puppet-BUYZQfB-.js +1 -0
- package/web-ui/build/static/puppet-Dbo5UDT-.js +1 -0
- package/web-ui/build/static/pure-C5ukDHhg.js +1 -0
- package/web-ui/build/static/purebasic-B8eqrPTw.js +1 -0
- package/web-ui/build/static/purebasic-BA8g0-l-.js +1 -0
- package/web-ui/build/static/purescript-CKa_o5qx.js +1 -0
- package/web-ui/build/static/python-C-iEDsum.js +1 -0
- package/web-ui/build/static/python-CJcHyEGQ.js +1 -0
- package/web-ui/build/static/python-repl-WvDxhQ8t.js +1 -0
- package/web-ui/build/static/q-Ben5hioy.js +1 -0
- package/web-ui/build/static/q-CenUx0Za.js +1 -0
- package/web-ui/build/static/qml-CkUJB-7R.js +1 -0
- package/web-ui/build/static/qml-G6uEqbt_.js +1 -0
- package/web-ui/build/static/qore-CASrYvaT.js +1 -0
- package/web-ui/build/static/qsharp-CJMvScJV.js +1 -0
- package/web-ui/build/static/r-C3qOLTEa.js +1 -0
- package/web-ui/build/static/r-pFTIkWVX.js +1 -0
- package/web-ui/build/static/racket-Dj2Pnxz8.js +1 -0
- package/web-ui/build/static/reason-BLo81vJj.js +1 -0
- package/web-ui/build/static/reasonml-Uso3eiRd.js +1 -0
- package/web-ui/build/static/regex-CRRrWtDv.js +1 -0
- package/web-ui/build/static/rego-Pd9N41dQ.js +1 -0
- package/web-ui/build/static/renpy-B5nJRJ6W.js +1 -0
- package/web-ui/build/static/rest-C4KktBYV.js +1 -0
- package/web-ui/build/static/rib-WhwJFXjw.js +1 -0
- package/web-ui/build/static/rip-BRMu9y5Q.js +1 -0
- package/web-ui/build/static/roboconf-BC-HzyUK.js +1 -0
- package/web-ui/build/static/roboconf-Wo-TPzlW.js +1 -0
- package/web-ui/build/static/robotframework-Cvw8u8mL.js +1 -0
- package/web-ui/build/static/routeros-1EUCLy_j.js +1 -0
- package/web-ui/build/static/rsl-DcVNeKkF.js +1 -0
- package/web-ui/build/static/ruby-B1fqRC3j.js +1 -0
- package/web-ui/build/static/ruby-Bl1wXNzL.js +1 -0
- package/web-ui/build/static/ruleslanguage-C3rzl2Ma.js +1 -0
- package/web-ui/build/static/rust-4iyLrpFQ.js +1 -0
- package/web-ui/build/static/rust-V8MRv3os.js +1 -0
- package/web-ui/build/static/sas-ClkrCklD.js +1 -0
- package/web-ui/build/static/sas-CyFFy3mS.js +1 -0
- package/web-ui/build/static/sass-Cege3fu1.js +1 -0
- package/web-ui/build/static/scala-DNb7CDvN.js +1 -0
- package/web-ui/build/static/scala-c5k_CS9h.js +1 -0
- package/web-ui/build/static/scheme-BXrEBzXP.js +1 -0
- package/web-ui/build/static/scheme-COq0pstl.js +1 -0
- package/web-ui/build/static/scilab-CRMCfvft.js +1 -0
- package/web-ui/build/static/scss-C6MDSdKd.js +1 -0
- package/web-ui/build/static/scss-D1INSi-r.js +1 -0
- package/web-ui/build/static/shell-BHTFz9Xv.js +1 -0
- package/web-ui/build/static/shell-session-B6KXgRjz.js +1 -0
- package/web-ui/build/static/smali-CXGHC3zj.js +1 -0
- package/web-ui/build/static/smali-DFRkIqFc.js +1 -0
- package/web-ui/build/static/smalltalk-DWI2TbuJ.js +1 -0
- package/web-ui/build/static/smalltalk-jkgxBKRZ.js +1 -0
- package/web-ui/build/static/smarty-BPJMXwnj.js +1 -0
- package/web-ui/build/static/sml-BHT8CCeD.js +1 -0
- package/web-ui/build/static/sml-D5fkPJU1.js +1 -0
- package/web-ui/build/static/solidity-BfFvCWqp.js +1 -0
- package/web-ui/build/static/solution-file-DmSVfk_X.js +1 -0
- package/web-ui/build/static/soy-CXqMJVf8.js +1 -0
- package/web-ui/build/static/sparql-BxIpMyhJ.js +1 -0
- package/web-ui/build/static/splunk-spl-DMekyRuD.js +1 -0
- package/web-ui/build/static/sqf-DeQ-Lyaa.js +1 -0
- package/web-ui/build/static/sqf-hkl5BOBV.js +1 -0
- package/web-ui/build/static/sql-Di-rn3Od.js +1 -0
- package/web-ui/build/static/sql-DuF5aX9R.js +1 -0
- package/web-ui/build/static/sql_more-CCmzwYYA.js +1 -0
- package/web-ui/build/static/squirrel-fGLPlBkB.js +1 -0
- package/web-ui/build/static/stan-BveEpl1w.js +1 -0
- package/web-ui/build/static/stan-CM09XtOD.js +1 -0
- package/web-ui/build/static/stata-DeFUbv91.js +1 -0
- package/web-ui/build/static/step21-DnUE2ZTl.js +1 -0
- package/web-ui/build/static/stylus-Bz9XG6KK.js +1 -0
- package/web-ui/build/static/stylus-h33ZUR4b.js +1 -0
- package/web-ui/build/static/subunit-v4SRMSnP.js +1 -0
- package/web-ui/build/static/swift-BMCxsbHv.js +1 -0
- package/web-ui/build/static/swift-qFBaTSsZ.js +1 -0
- package/web-ui/build/static/systemd-9w7KWsst.js +1 -0
- package/web-ui/build/static/t4-cs-DdBrJkO9.js +1 -0
- package/web-ui/build/static/t4-templating-B-3iQJ4y.js +1 -0
- package/web-ui/build/static/t4-vb-BBuTbPK8.js +1 -0
- package/web-ui/build/static/taggerscript-BPvYYpaJ.js +1 -0
- package/web-ui/build/static/tap-DiFULuZV.js +1 -0
- package/web-ui/build/static/tap-Q9DMgrzh.js +1 -0
- package/web-ui/build/static/tcl-BZcwcRUU.js +1 -0
- package/web-ui/build/static/tcl-C4DHKxjE.js +1 -0
- package/web-ui/build/static/textile-ByLAjlo8.js +1 -0
- package/web-ui/build/static/thrift-C_isEMNl.js +1 -0
- package/web-ui/build/static/toml-C6ffwJpv.js +1 -0
- package/web-ui/build/static/tp-aV8nCrpp.js +1 -0
- package/web-ui/build/static/tremor-Bs1SSWo9.js +1 -0
- package/web-ui/build/static/tsx-DdryYBa4.js +1 -0
- package/web-ui/build/static/tt2-BeCMXvbZ.js +1 -0
- package/web-ui/build/static/turtle-B2FzT5Ov.js +1 -0
- package/web-ui/build/static/twig-fVEYqAxR.js +1 -0
- package/web-ui/build/static/twig-p9k58-hx.js +1 -0
- package/web-ui/build/static/typescript-8bhStN7p.js +1 -0
- package/web-ui/build/static/typescript-D2zmnuDR.js +1 -0
- package/web-ui/build/static/typoscript-DQePQcKL.js +1 -0
- package/web-ui/build/static/unrealscript-BZYSnJjB.js +1 -0
- package/web-ui/build/static/uorazor-CGaRtqR5.js +1 -0
- package/web-ui/build/static/uri-PJ3dz1qj.js +1 -0
- package/web-ui/build/static/v-CI9qDsYZ.js +1 -0
- package/web-ui/build/static/vala-B4ses542.js +1 -0
- package/web-ui/build/static/vala-BLxHpeKp.js +1 -0
- package/web-ui/build/static/vbnet-B7Dzk1rR.js +1 -0
- package/web-ui/build/static/vbnet-HOI9SMLZ.js +1 -0
- package/web-ui/build/static/vbscript-ERv5iDpi.js +1 -0
- package/web-ui/build/static/vbscript-html-D-mjpNAX.js +1 -0
- package/web-ui/build/static/velocity-B754qmeE.js +1 -0
- package/web-ui/build/static/verilog-3PA83Bxs.js +1 -0
- package/web-ui/build/static/verilog-D-lqP5ci.js +1 -0
- package/web-ui/build/static/vhdl-BjRYdIRF.js +1 -0
- package/web-ui/build/static/vhdl-DgrorvTt.js +1 -0
- package/web-ui/build/static/vim-3Oixnlee.js +1 -0
- package/web-ui/build/static/vim-BJTKcXdU.js +1 -0
- package/web-ui/build/static/visual-basic-BG8-3339.js +1 -0
- package/web-ui/build/static/warpscript-CEIgv5UG.js +1 -0
- package/web-ui/build/static/wasm-BJlpp9rs.js +1 -0
- package/web-ui/build/static/web-idl-Dlh9DutO.js +1 -0
- package/web-ui/build/static/wiki-CCcmRzkd.js +1 -0
- package/web-ui/build/static/wolfram--Xk-fAUi.js +1 -0
- package/web-ui/build/static/wren-B9Ajd9OC.js +1 -0
- package/web-ui/build/static/x86asm-DJJ72Zy-.js +1 -0
- package/web-ui/build/static/xeora-C0tNsSDj.js +1 -0
- package/web-ui/build/static/xl-CzEpyjRJ.js +1 -0
- package/web-ui/build/static/xml-CdtQTsBH.js +1 -0
- package/web-ui/build/static/xml-doc-TtPAAmc6.js +1 -0
- package/web-ui/build/static/xojo-B92fAnQE.js +1 -0
- package/web-ui/build/static/xquery-D0Z1FZVO.js +1 -0
- package/web-ui/build/static/xquery-DwlcRJ7Q.js +1 -0
- package/web-ui/build/static/yaml-DySZjPvD.js +1 -0
- package/web-ui/build/static/yaml-YgOVzvAS.js +1 -0
- package/web-ui/build/static/yang-BJokKPTo.js +1 -0
- package/web-ui/build/static/zephir-BWMUFIRD.js +1 -0
- package/web-ui/build/static/zig-Bpzj48cM.js +1 -0
- package/web-ui/build/static/1c-4BRB87En.js +0 -1
- package/web-ui/build/static/abap-BXIqiAfL.js +0 -1
- package/web-ui/build/static/abnf-0gk1i0eD.js +0 -1
- package/web-ui/build/static/abnf-jcv7vN9a.js +0 -1
- package/web-ui/build/static/accesslog-bXE2aOZl.js +0 -1
- package/web-ui/build/static/actionscript-CF-bqawj.js +0 -1
- package/web-ui/build/static/actionscript-CodwLKar.js +0 -1
- package/web-ui/build/static/ada-BBEDI84F.js +0 -1
- package/web-ui/build/static/ada-Kb6JvaxP.js +0 -1
- package/web-ui/build/static/agda-UvnMXUUo.js +0 -1
- package/web-ui/build/static/al-D5QZ0ijQ.js +0 -1
- package/web-ui/build/static/angelscript-RpvZxbeT.js +0 -1
- package/web-ui/build/static/antlr4-BPyUvfii.js +0 -1
- package/web-ui/build/static/apache-CtM2pGik.js +0 -1
- package/web-ui/build/static/apacheconf-D-i9eISH.js +0 -1
- package/web-ui/build/static/apex-Dhn_SJi4.js +0 -1
- package/web-ui/build/static/apl-HWtdSaYy.js +0 -1
- package/web-ui/build/static/applescript-Br9NrmTP.js +0 -1
- package/web-ui/build/static/applescript-DLL0TuGw.js +0 -1
- package/web-ui/build/static/aql-MjCgNRUX.js +0 -1
- package/web-ui/build/static/arcade--DFvEPVv.js +0 -1
- package/web-ui/build/static/arduino-Cqw5W_fL.js +0 -1
- package/web-ui/build/static/arduino-DIDBbB7R.js +0 -1
- package/web-ui/build/static/arff-GGvbnOhc.js +0 -1
- package/web-ui/build/static/armasm-DKLRDLs1.js +0 -1
- package/web-ui/build/static/asciidoc-CN5qfm0K.js +0 -1
- package/web-ui/build/static/asciidoc-CeQEWYOj.js +0 -1
- package/web-ui/build/static/asm6502-B1l2Hc9j.js +0 -1
- package/web-ui/build/static/asmatmel-BAojNNWJ.js +0 -1
- package/web-ui/build/static/aspectj-DqZFhwdh.js +0 -1
- package/web-ui/build/static/aspnet-C0kQPqSr.js +0 -1
- package/web-ui/build/static/autohotkey-DY25td-Z.js +0 -1
- package/web-ui/build/static/autohotkey-DlqXINgk.js +0 -1
- package/web-ui/build/static/autoit-By7J2Y34.js +0 -1
- package/web-ui/build/static/autoit-nsu9sBga.js +0 -1
- package/web-ui/build/static/avisynth-DmhvVsr-.js +0 -1
- package/web-ui/build/static/avrasm-CHfBwwoQ.js +0 -1
- package/web-ui/build/static/avro-idl-BKgIWEIF.js +0 -1
- package/web-ui/build/static/awk-CpAb4d4E.js +0 -1
- package/web-ui/build/static/axapta-CM4aTfCZ.js +0 -1
- package/web-ui/build/static/bash-D1KTDlk-.js +0 -1
- package/web-ui/build/static/bash-DShkskxb.js +0 -1
- package/web-ui/build/static/basic-C4CfKvhg.js +0 -1
- package/web-ui/build/static/basic-CkQS4VwL.js +0 -1
- package/web-ui/build/static/batch-DZtrClI1.js +0 -1
- package/web-ui/build/static/bbcode-CY2FsfaO.js +0 -1
- package/web-ui/build/static/bicep-BeSEpm_3.js +0 -1
- package/web-ui/build/static/birb-huu22Mwu.js +0 -1
- package/web-ui/build/static/bison-CmbxfR57.js +0 -1
- package/web-ui/build/static/bnf-c2l_4HXN.js +0 -1
- package/web-ui/build/static/bnf-wucEDTqY.js +0 -1
- package/web-ui/build/static/brainfuck-CzWBg5U7.js +0 -1
- package/web-ui/build/static/brainfuck-I_YQ4sma.js +0 -1
- package/web-ui/build/static/brightscript-LOkD4eYW.js +0 -1
- package/web-ui/build/static/bro-CLJ7Afqo.js +0 -1
- package/web-ui/build/static/bsl-DbUgC2FQ.js +0 -1
- package/web-ui/build/static/c-C0S2D2ge.js +0 -1
- package/web-ui/build/static/c-KH25O_pL.js +0 -1
- package/web-ui/build/static/c-like-DtAFxyl_.js +0 -1
- package/web-ui/build/static/cal-uGiVJBNC.js +0 -1
- package/web-ui/build/static/capnproto-DSLchjOW.js +0 -1
- package/web-ui/build/static/ceylon-Bbxk66YL.js +0 -1
- package/web-ui/build/static/cfscript-CjDdgKbl.js +0 -1
- package/web-ui/build/static/chaiscript-CnRXaMae.js +0 -1
- package/web-ui/build/static/cil-CM9ygF3R.js +0 -1
- package/web-ui/build/static/clean-ppAH0SYy.js +0 -1
- package/web-ui/build/static/clojure-C5LVccGq.js +0 -1
- package/web-ui/build/static/clojure-DtLXiuuC.js +0 -1
- package/web-ui/build/static/clojure-repl-fSdrYuup.js +0 -1
- package/web-ui/build/static/cmake-AD1fuzSY.js +0 -1
- package/web-ui/build/static/cmake-D-o08Yta.js +0 -1
- package/web-ui/build/static/cobol-bDh1KHf9.js +0 -1
- package/web-ui/build/static/coffeescript-D8InK8kf.js +0 -1
- package/web-ui/build/static/coffeescript-MKWUOXb5.js +0 -1
- package/web-ui/build/static/concurnas-CR56nj6R.js +0 -1
- package/web-ui/build/static/coq-DDLBsBJu.js +0 -1
- package/web-ui/build/static/coq-WbhtANeW.js +0 -1
- package/web-ui/build/static/cos-Bfmre3op.js +0 -1
- package/web-ui/build/static/cpp-Cdy6A7gI.js +0 -1
- package/web-ui/build/static/cpp-De2KZejr.js +0 -1
- package/web-ui/build/static/crmsh-uf3vbKnN.js +0 -1
- package/web-ui/build/static/crystal-BHMyEVPP.js +0 -1
- package/web-ui/build/static/crystal-DXAQwftg.js +0 -1
- package/web-ui/build/static/csharp-Ci2MRG6L.js +0 -1
- package/web-ui/build/static/csharp-D8MV2a7f.js +0 -1
- package/web-ui/build/static/cshtml-kVj3v3uY.js +0 -1
- package/web-ui/build/static/csp-B83CCdVc.js +0 -1
- package/web-ui/build/static/csp-DUO7zlPh.js +0 -1
- package/web-ui/build/static/css-BWsx7mtO.js +0 -1
- package/web-ui/build/static/css-extras-oHch2Y5C.js +0 -1
- package/web-ui/build/static/csv-DIf0iNlc.js +0 -1
- package/web-ui/build/static/cypher-B1rOF_f3.js +0 -1
- package/web-ui/build/static/d-BUgLS87u.js +0 -1
- package/web-ui/build/static/d-ClM8XTCr.js +0 -1
- package/web-ui/build/static/dart-D5rVGtrb.js +0 -1
- package/web-ui/build/static/dart-Oal__k4m.js +0 -1
- package/web-ui/build/static/dataweave-B0uxnNDC.js +0 -1
- package/web-ui/build/static/dax-B9z6d1P6.js +0 -1
- package/web-ui/build/static/delphi-KMlx8q8A.js +0 -1
- package/web-ui/build/static/dhall-DLWFgSR8.js +0 -1
- package/web-ui/build/static/diff-DDMGnyhE.js +0 -1
- package/web-ui/build/static/diff-yg1oXq3U.js +0 -1
- package/web-ui/build/static/django-BDtkIu_c.js +0 -1
- package/web-ui/build/static/django-Bkn9HlyQ.js +0 -1
- package/web-ui/build/static/dns-Bx1VHfo6.js +0 -1
- package/web-ui/build/static/dns-zone-file-Bgn5zn_J.js +0 -1
- package/web-ui/build/static/docker-CTdrZJHc.js +0 -1
- package/web-ui/build/static/dockerfile-B7ziWbf_.js +0 -1
- package/web-ui/build/static/dos-cbBC5Icj.js +0 -1
- package/web-ui/build/static/dot-JXSVTLEH.js +0 -1
- package/web-ui/build/static/dsconfig-sEua2C2o.js +0 -1
- package/web-ui/build/static/dts-Zem_gT_O.js +0 -1
- package/web-ui/build/static/dust-B-dZ6-uQ.js +0 -1
- package/web-ui/build/static/ebnf-CXfeZoXF.js +0 -1
- package/web-ui/build/static/ebnf-raQs4FpT.js +0 -1
- package/web-ui/build/static/editorconfig-hp8ARbHf.js +0 -1
- package/web-ui/build/static/eiffel-tO3jaG00.js +0 -1
- package/web-ui/build/static/ejs-BGmD5Rvl.js +0 -1
- package/web-ui/build/static/elixir-CF0JDN9L.js +0 -1
- package/web-ui/build/static/elixir-CFSil_Ou.js +0 -1
- package/web-ui/build/static/elm-As6XaD-g.js +0 -1
- package/web-ui/build/static/elm-pw5GpqTZ.js +0 -1
- package/web-ui/build/static/erb-BrpCJIyN.js +0 -1
- package/web-ui/build/static/erb-D2_eJU9C.js +0 -1
- package/web-ui/build/static/erlang-5rSv6NMZ.js +0 -1
- package/web-ui/build/static/erlang-RCAxVMBd.js +0 -1
- package/web-ui/build/static/erlang-repl-BN0h_6XR.js +0 -1
- package/web-ui/build/static/etlua-BMtMnKtv.js +0 -1
- package/web-ui/build/static/excel-CRNS57iM.js +0 -1
- package/web-ui/build/static/excel-formula-BNw56R2m.js +0 -1
- package/web-ui/build/static/factor-7lsloWTf.js +0 -1
- package/web-ui/build/static/false-CQUvGnfd.js +0 -1
- package/web-ui/build/static/firestore-security-rules-WC1PabFS.js +0 -1
- package/web-ui/build/static/fix-Cs6kLeYV.js +0 -1
- package/web-ui/build/static/flix-1fdMgw2I.js +0 -1
- package/web-ui/build/static/flow-CRPduKSH.js +0 -1
- package/web-ui/build/static/fortran-C-3TUt5R.js +0 -1
- package/web-ui/build/static/fortran-CA4bbZCj.js +0 -1
- package/web-ui/build/static/fsharp-BScjCFae.js +0 -1
- package/web-ui/build/static/fsharp-BtHWuW4o.js +0 -1
- package/web-ui/build/static/ftl-Re-S2zvF.js +0 -1
- package/web-ui/build/static/gams-Cr12l-cM.js +0 -1
- package/web-ui/build/static/gap-H0O9-Zju.js +0 -1
- package/web-ui/build/static/gauss-CW8jwURx.js +0 -1
- package/web-ui/build/static/gcode-CIxfYtg9.js +0 -1
- package/web-ui/build/static/gcode-CVqRWYeB.js +0 -1
- package/web-ui/build/static/gdscript-BltZCaKl.js +0 -1
- package/web-ui/build/static/gedcom-nMT5ety_.js +0 -1
- package/web-ui/build/static/gherkin-B4M7CGOo.js +0 -1
- package/web-ui/build/static/gherkin-DumuqAQF.js +0 -1
- package/web-ui/build/static/git-BBiBlZ5H.js +0 -1
- package/web-ui/build/static/glsl-D8ckiRVo.js +0 -1
- package/web-ui/build/static/glsl-Z4VdDyPa.js +0 -1
- package/web-ui/build/static/gml-BHuSndHE.js +0 -1
- package/web-ui/build/static/gml-DZpfN_A4.js +0 -1
- package/web-ui/build/static/gn-BjpAHNh_.js +0 -1
- package/web-ui/build/static/go-BeZ9IgZB.js +0 -1
- package/web-ui/build/static/go-HEXrcgIc.js +0 -1
- package/web-ui/build/static/go-module-BGdPb7sP.js +0 -1
- package/web-ui/build/static/golo-Cr70KUbI.js +0 -1
- package/web-ui/build/static/gradle-C7MXrDnB.js +0 -1
- package/web-ui/build/static/graphql-CJK0wQjf.js +0 -1
- package/web-ui/build/static/groovy-Bwe7hkFG.js +0 -1
- package/web-ui/build/static/groovy-Dc6WDoKa.js +0 -1
- package/web-ui/build/static/haml-BSsAjltt.js +0 -1
- package/web-ui/build/static/haml-CZih7X_4.js +0 -1
- package/web-ui/build/static/handlebars-CN8hCpsy.js +0 -1
- package/web-ui/build/static/handlebars-XBLc7i13.js +0 -1
- package/web-ui/build/static/haskell-BH9WhK10.js +0 -1
- package/web-ui/build/static/haskell-Djf2J1vd.js +0 -1
- package/web-ui/build/static/haxe-BllD-W9e.js +0 -1
- package/web-ui/build/static/haxe-DY8Hyn7u.js +0 -1
- package/web-ui/build/static/hcl-CfktAP2o.js +0 -1
- package/web-ui/build/static/hlsl-B2JSOD9d.js +0 -1
- package/web-ui/build/static/hoon-BILyDobB.js +0 -1
- package/web-ui/build/static/hpkp-Bb8rXx4p.js +0 -1
- package/web-ui/build/static/hsp-BmjeJC21.js +0 -1
- package/web-ui/build/static/hsts-DJhW57Fu.js +0 -1
- package/web-ui/build/static/htmlbars-CJe_ZLjw.js +0 -1
- package/web-ui/build/static/http-D7SlABvQ.js +0 -1
- package/web-ui/build/static/http-DEUJqmEm.js +0 -1
- package/web-ui/build/static/hy-DVfsgEbr.js +0 -1
- package/web-ui/build/static/ichigojam-CPdz2bOt.js +0 -1
- package/web-ui/build/static/icon-DYK9RbU9.js +0 -1
- package/web-ui/build/static/icu-message-format-HiZB_alB.js +0 -1
- package/web-ui/build/static/idris-Clk3tJIE.js +0 -1
- package/web-ui/build/static/iecst-D7wkeksq.js +0 -1
- package/web-ui/build/static/ignore-GSm-L3jG.js +0 -1
- package/web-ui/build/static/index-BJe5td0v.js +0 -13
- package/web-ui/build/static/index-BYvljeMN.js +0 -1
- package/web-ui/build/static/index-CLelJq9j.js +0 -1156
- package/web-ui/build/static/index-f5UnFSsY.css +0 -1
- package/web-ui/build/static/inform7-D3gc0hSc.js +0 -1
- package/web-ui/build/static/inform7-DLdvZTxX.js +0 -1
- package/web-ui/build/static/ini-CVcWx1TA.js +0 -1
- package/web-ui/build/static/ini-CxYBdsvZ.js +0 -1
- package/web-ui/build/static/io-D760QF0i.js +0 -1
- package/web-ui/build/static/irpf90-DfkXdZut.js +0 -1
- package/web-ui/build/static/isbl-Bl3W-krY.js +0 -1
- package/web-ui/build/static/j-DyJj9FSc.js +0 -1
- package/web-ui/build/static/java-CLw1cH97.js +0 -1
- package/web-ui/build/static/java-vXaHBzP4.js +0 -1
- package/web-ui/build/static/javadoc-p5hIe48g.js +0 -1
- package/web-ui/build/static/javadoclike-OXi-sQ0q.js +0 -1
- package/web-ui/build/static/javascript-CTSqES8o.js +0 -1
- package/web-ui/build/static/javastacktrace-PC9-3moA.js +0 -1
- package/web-ui/build/static/jboss-cli-CxOZKDLi.js +0 -1
- package/web-ui/build/static/jexl-C4kSXhD1.js +0 -1
- package/web-ui/build/static/jolie-CntM8cWx.js +0 -1
- package/web-ui/build/static/jq-D_4bTCm0.js +0 -1
- package/web-ui/build/static/js-extras-Cx9VAZJd.js +0 -1
- package/web-ui/build/static/js-templates-BqyJUDxJ.js +0 -1
- package/web-ui/build/static/jsdoc-CNHLgAph.js +0 -1
- package/web-ui/build/static/json-BXIFrbVC.js +0 -1
- package/web-ui/build/static/json-DRUrJL_F.js +0 -1
- package/web-ui/build/static/json5-EsTrOpXr.js +0 -1
- package/web-ui/build/static/jsonp-RijEuTJY.js +0 -1
- package/web-ui/build/static/jsstacktrace-dM13uE1y.js +0 -1
- package/web-ui/build/static/jsx-Cf0j02DZ.js +0 -1
- package/web-ui/build/static/julia-BLrtj5Dj.js +0 -1
- package/web-ui/build/static/julia-D0PJgQhi.js +0 -1
- package/web-ui/build/static/julia-repl-BLnLCve4.js +0 -1
- package/web-ui/build/static/keepalived-SvzEYloD.js +0 -1
- package/web-ui/build/static/keyman-B5l2mmmE.js +0 -1
- package/web-ui/build/static/kotlin-B_6COR1e.js +0 -1
- package/web-ui/build/static/kotlin-vd1Xdz6D.js +0 -1
- package/web-ui/build/static/kumir-8mIZWgJQ.js +0 -1
- package/web-ui/build/static/kusto-CoV2oHqt.js +0 -1
- package/web-ui/build/static/lasso-BjjUNa_o.js +0 -1
- package/web-ui/build/static/latex-C9KOfuFk.js +0 -1
- package/web-ui/build/static/latex-DhLttY-I.js +0 -1
- package/web-ui/build/static/latte-CaYNaOoK.js +0 -1
- package/web-ui/build/static/ldif-DFxnpH3G.js +0 -1
- package/web-ui/build/static/leaf-DrMpC83a.js +0 -1
- package/web-ui/build/static/less-DUoYpEFn.js +0 -1
- package/web-ui/build/static/less-nh0XCcut.js +0 -1
- package/web-ui/build/static/lilypond-BlqjLr3W.js +0 -1
- package/web-ui/build/static/liquid-BVGHSG0T.js +0 -1
- package/web-ui/build/static/lisp-CEK8BtYQ.js +0 -1
- package/web-ui/build/static/lisp-D_jGHxhc.js +0 -1
- package/web-ui/build/static/livecodeserver-CFUDw_SK.js +0 -1
- package/web-ui/build/static/livescript-C5xzpiLM.js +0 -1
- package/web-ui/build/static/livescript-CKoPcK0c.js +0 -1
- package/web-ui/build/static/llvm-BBOVIeTl.js +0 -1
- package/web-ui/build/static/llvm-ioC5bCUB.js +0 -1
- package/web-ui/build/static/log-CPYTqm4T.js +0 -1
- package/web-ui/build/static/lolcode-BkT93adT.js +0 -1
- package/web-ui/build/static/lsl-M98YPNRW.js +0 -1
- package/web-ui/build/static/lua-D7Lum5n9.js +0 -1
- package/web-ui/build/static/lua-DHyr0QwE.js +0 -1
- package/web-ui/build/static/magma-BwMFjwQu.js +0 -1
- package/web-ui/build/static/makefile-BFYZ-SfG.js +0 -1
- package/web-ui/build/static/makefile-D6oyR2lD.js +0 -1
- package/web-ui/build/static/markdown-6jtg6KZm.js +0 -1
- package/web-ui/build/static/markdown-DTLtPgeP.js +0 -1
- package/web-ui/build/static/markup-templating-K8uoAIqY.js +0 -1
- package/web-ui/build/static/mathematica-cW5hOuB2.js +0 -1
- package/web-ui/build/static/matlab-CwSNWEq8.js +0 -1
- package/web-ui/build/static/matlab-MQ972BY-.js +0 -1
- package/web-ui/build/static/maxima-CMSFLri-.js +0 -1
- package/web-ui/build/static/maxscript-BzcoS2KA.js +0 -1
- package/web-ui/build/static/mel-Cd20pAs-.js +0 -1
- package/web-ui/build/static/mel-KWG5N49g.js +0 -1
- package/web-ui/build/static/mercury-eW1ljJh0.js +0 -1
- package/web-ui/build/static/mermaid-D3zeCM84.js +0 -1
- package/web-ui/build/static/mipsasm-B5g6Ndra.js +0 -1
- package/web-ui/build/static/mizar-C_nZ0Ts9.js +0 -1
- package/web-ui/build/static/mizar-CuTNEv2t.js +0 -1
- package/web-ui/build/static/mojolicious-C1Xq--lT.js +0 -1
- package/web-ui/build/static/mongodb-C_3giArw.js +0 -1
- package/web-ui/build/static/monkey-DQ1olPd-.js +0 -1
- package/web-ui/build/static/monkey-n4Tbrep7.js +0 -1
- package/web-ui/build/static/moonscript-CmnQJuIL.js +0 -1
- package/web-ui/build/static/moonscript-DXgmWjLy.js +0 -1
- package/web-ui/build/static/n1ql-531a3W-1.js +0 -1
- package/web-ui/build/static/n1ql-BYH9EvME.js +0 -1
- package/web-ui/build/static/n4js-Cy0LcM-V.js +0 -1
- package/web-ui/build/static/nand2tetris-hdl-CKOztBDD.js +0 -1
- package/web-ui/build/static/naniscript-oLFpxBGE.js +0 -1
- package/web-ui/build/static/nasm-DLPnwFkM.js +0 -1
- package/web-ui/build/static/neon-Cn03wGUR.js +0 -1
- package/web-ui/build/static/nevod-C_VRvbdf.js +0 -1
- package/web-ui/build/static/nginx-60SpLv4t.js +0 -1
- package/web-ui/build/static/nginx-DZLHid-q.js +0 -1
- package/web-ui/build/static/nim-BnrHdqGC.js +0 -1
- package/web-ui/build/static/nim-Ds3pmwtE.js +0 -1
- package/web-ui/build/static/nix-Dl-dS0w4.js +0 -1
- package/web-ui/build/static/nix-jL62FzTz.js +0 -1
- package/web-ui/build/static/node-repl-BAuDzNZd.js +0 -1
- package/web-ui/build/static/nsis-CEnFjfNr.js +0 -1
- package/web-ui/build/static/nsis-CcCz6HIu.js +0 -1
- package/web-ui/build/static/objectivec-CZXfVowS.js +0 -1
- package/web-ui/build/static/objectivec-CuaFU-Ef.js +0 -1
- package/web-ui/build/static/ocaml-BGAzfwAx.js +0 -1
- package/web-ui/build/static/ocaml-BoO1lU26.js +0 -1
- package/web-ui/build/static/opencl-DAnD5xP-.js +0 -1
- package/web-ui/build/static/openqasm-CO7gdVj9.js +0 -1
- package/web-ui/build/static/openscad-B2wMEMQR.js +0 -1
- package/web-ui/build/static/oxygene-1erv93gF.js +0 -1
- package/web-ui/build/static/oz-D3334gi7.js +0 -1
- package/web-ui/build/static/parigp-rQZTN8zi.js +0 -1
- package/web-ui/build/static/parser-B4ZSZ1ig.js +0 -1
- package/web-ui/build/static/parser3-CCCjkYLG.js +0 -1
- package/web-ui/build/static/pascal-DeC9Pvom.js +0 -1
- package/web-ui/build/static/pascaligo-CT2u6UpO.js +0 -1
- package/web-ui/build/static/pcaxis-CvlRg6t4.js +0 -1
- package/web-ui/build/static/peoplecode-BYahULz2.js +0 -1
- package/web-ui/build/static/perl-CKgvyY59.js +0 -1
- package/web-ui/build/static/perl-E7sx7Izv.js +0 -1
- package/web-ui/build/static/pf-D9wnFBt7.js +0 -1
- package/web-ui/build/static/pgsql-CrlBdRAn.js +0 -1
- package/web-ui/build/static/php-D2O-B3y7.js +0 -1
- package/web-ui/build/static/php-extras-BKqZuzgt.js +0 -1
- package/web-ui/build/static/php-nfXl9WfB.js +0 -1
- package/web-ui/build/static/php-template-Cg8ERLNQ.js +0 -1
- package/web-ui/build/static/phpdoc-Z1u90OwH.js +0 -1
- package/web-ui/build/static/plaintext-DkNVeXWx.js +0 -1
- package/web-ui/build/static/plsql-DO5fJNhS.js +0 -1
- package/web-ui/build/static/pony-DXIqq5Bk.js +0 -1
- package/web-ui/build/static/powerquery-B2ovxJZi.js +0 -1
- package/web-ui/build/static/powershell-BVeqqari.js +0 -1
- package/web-ui/build/static/powershell-CskV4qWh.js +0 -1
- package/web-ui/build/static/processing-D90SJpnq.js +0 -1
- package/web-ui/build/static/processing-DP2mf97Z.js +0 -1
- package/web-ui/build/static/profile-H6zk8v_f.js +0 -1
- package/web-ui/build/static/prolog-AUfxYiJV.js +0 -1
- package/web-ui/build/static/prolog-Dz2WdsVN.js +0 -1
- package/web-ui/build/static/promql-CloMJmMW.js +0 -1
- package/web-ui/build/static/properties-CTl3mnrP.js +0 -1
- package/web-ui/build/static/properties-D2RfteTZ.js +0 -1
- package/web-ui/build/static/protobuf-Be9oqQCu.js +0 -1
- package/web-ui/build/static/protobuf-BgG8zUnY.js +0 -1
- package/web-ui/build/static/psl-Bqx8iN9e.js +0 -1
- package/web-ui/build/static/pug-CHfFC0Wg.js +0 -1
- package/web-ui/build/static/puppet-__1ifzZS.js +0 -1
- package/web-ui/build/static/puppet-pbtRCMgd.js +0 -1
- package/web-ui/build/static/pure-B9STuf4F.js +0 -1
- package/web-ui/build/static/purebasic-7ADyn-Ce.js +0 -1
- package/web-ui/build/static/purebasic-Bc06YQcD.js +0 -1
- package/web-ui/build/static/purescript-CU-dDebr.js +0 -1
- package/web-ui/build/static/python-BEsXrEbi.js +0 -1
- package/web-ui/build/static/python-CZFrgH2X.js +0 -1
- package/web-ui/build/static/python-repl-CI9GmJce.js +0 -1
- package/web-ui/build/static/q-E7xvTGRo.js +0 -1
- package/web-ui/build/static/q-hvg9aQoY.js +0 -1
- package/web-ui/build/static/qml-DkZWcxEv.js +0 -1
- package/web-ui/build/static/qml-DpdWla8G.js +0 -1
- package/web-ui/build/static/qore-Dsm7ACR_.js +0 -1
- package/web-ui/build/static/qsharp-BBec6MJR.js +0 -1
- package/web-ui/build/static/r-CTVkq_Ky.js +0 -1
- package/web-ui/build/static/r-DHGNCupF.js +0 -1
- package/web-ui/build/static/racket-hoSh4YPx.js +0 -1
- package/web-ui/build/static/reason-CQPUIbsm.js +0 -1
- package/web-ui/build/static/reasonml-BXtFFSTZ.js +0 -1
- package/web-ui/build/static/regex-BNkF_ufb.js +0 -1
- package/web-ui/build/static/rego-BXHrjItC.js +0 -1
- package/web-ui/build/static/renpy-CBQvK_5t.js +0 -1
- package/web-ui/build/static/rest-Bf8hzmF1.js +0 -1
- package/web-ui/build/static/rib-D0a4KzlP.js +0 -1
- package/web-ui/build/static/rip-DchN4BQN.js +0 -1
- package/web-ui/build/static/roboconf-HXnyGNTm.js +0 -1
- package/web-ui/build/static/roboconf-zfK6mgmU.js +0 -1
- package/web-ui/build/static/robotframework-DnP-vXyd.js +0 -1
- package/web-ui/build/static/routeros-CDirYxZY.js +0 -1
- package/web-ui/build/static/rsl-BCK_msc-.js +0 -1
- package/web-ui/build/static/ruby--mXX6GNK.js +0 -1
- package/web-ui/build/static/ruby-BIdQYq0Y.js +0 -1
- package/web-ui/build/static/ruleslanguage-BD07s5RU.js +0 -1
- package/web-ui/build/static/rust-Bgni9V7U.js +0 -1
- package/web-ui/build/static/rust-OywmQ2ox.js +0 -1
- package/web-ui/build/static/sas-B6-82htH.js +0 -1
- package/web-ui/build/static/sas-k9XEScbR.js +0 -1
- package/web-ui/build/static/sass-BOvNBStT.js +0 -1
- package/web-ui/build/static/scala-At07fmMd.js +0 -1
- package/web-ui/build/static/scala-DUOfqSaU.js +0 -1
- package/web-ui/build/static/scheme-B87lC0bK.js +0 -1
- package/web-ui/build/static/scheme-BS7OzWRX.js +0 -1
- package/web-ui/build/static/scilab-Bmn4jjcu.js +0 -1
- package/web-ui/build/static/scss-DTeB95yE.js +0 -1
- package/web-ui/build/static/scss-xilnl6Dx.js +0 -1
- package/web-ui/build/static/shell-CKetyy4y.js +0 -1
- package/web-ui/build/static/shell-session-B6rat2c7.js +0 -1
- package/web-ui/build/static/smali-C9O9CXOD.js +0 -1
- package/web-ui/build/static/smali-CBkgbinS.js +0 -1
- package/web-ui/build/static/smalltalk-CuUjFHiz.js +0 -1
- package/web-ui/build/static/smalltalk-D0xhFL9b.js +0 -1
- package/web-ui/build/static/smarty-CY0N0d5x.js +0 -1
- package/web-ui/build/static/sml-BVAw3fjB.js +0 -1
- package/web-ui/build/static/sml-CO9XB1ax.js +0 -1
- package/web-ui/build/static/solidity-BNixD4Dx.js +0 -1
- package/web-ui/build/static/solution-file-DHyGXf2y.js +0 -1
- package/web-ui/build/static/soy-Cxgjntsl.js +0 -1
- package/web-ui/build/static/sparql-CDLqu9vy.js +0 -1
- package/web-ui/build/static/splunk-spl-Cmkl_Xmw.js +0 -1
- package/web-ui/build/static/sqf-CIGKolw3.js +0 -1
- package/web-ui/build/static/sqf-Cfp_lC6-.js +0 -1
- package/web-ui/build/static/sql-DHOGwYxe.js +0 -1
- package/web-ui/build/static/sql-QIw1Q2yi.js +0 -1
- package/web-ui/build/static/sql_more-C0b3-InT.js +0 -1
- package/web-ui/build/static/squirrel-DASToo1F.js +0 -1
- package/web-ui/build/static/stan-DHMkcFZg.js +0 -1
- package/web-ui/build/static/stan-No3nsdnQ.js +0 -1
- package/web-ui/build/static/stata-Brkzu5Nv.js +0 -1
- package/web-ui/build/static/step21-D2l5M5Ml.js +0 -1
- package/web-ui/build/static/stylus-Bx6FaZN_.js +0 -1
- package/web-ui/build/static/stylus-CVkTaPns.js +0 -1
- package/web-ui/build/static/subunit-CDrsAMuL.js +0 -1
- package/web-ui/build/static/swift-BSw_pS-l.js +0 -1
- package/web-ui/build/static/swift-BWyqwIo8.js +0 -1
- package/web-ui/build/static/systemd-BwqpYcJK.js +0 -1
- package/web-ui/build/static/t4-cs-CwsJLOxV.js +0 -1
- package/web-ui/build/static/t4-templating-BfxY01xf.js +0 -1
- package/web-ui/build/static/t4-vb-BhsKKFhp.js +0 -1
- package/web-ui/build/static/taggerscript-Bkew95or.js +0 -1
- package/web-ui/build/static/tap-DHovcHbS.js +0 -1
- package/web-ui/build/static/tap-DPl9uPo4.js +0 -1
- package/web-ui/build/static/tcl-BeozHO-f.js +0 -1
- package/web-ui/build/static/tcl-Df_8ItQH.js +0 -1
- package/web-ui/build/static/textile-B3m_f58b.js +0 -1
- package/web-ui/build/static/thrift-D20n-HpW.js +0 -1
- package/web-ui/build/static/toml-C-fTAonK.js +0 -1
- package/web-ui/build/static/tp-hGbXe5Eo.js +0 -1
- package/web-ui/build/static/tremor-BaVOtRFz.js +0 -1
- package/web-ui/build/static/tsx-ChPInNl0.js +0 -1
- package/web-ui/build/static/tt2-DAIJ8cpz.js +0 -1
- package/web-ui/build/static/turtle-B7z_y-PK.js +0 -1
- package/web-ui/build/static/twig-TUEkve6W.js +0 -1
- package/web-ui/build/static/twig-stKDItz7.js +0 -1
- package/web-ui/build/static/typescript-BPdM-QOM.js +0 -1
- package/web-ui/build/static/typescript-DjSY4MvL.js +0 -1
- package/web-ui/build/static/typoscript-BQHgQtEL.js +0 -1
- package/web-ui/build/static/unrealscript-g8yNPQQ5.js +0 -1
- package/web-ui/build/static/uorazor-CnuMiQz9.js +0 -1
- package/web-ui/build/static/uri-CfioiemU.js +0 -1
- package/web-ui/build/static/v-B69Oau14.js +0 -1
- package/web-ui/build/static/vala-C0PjlK3l.js +0 -1
- package/web-ui/build/static/vala-COgjD3gU.js +0 -1
- package/web-ui/build/static/vbnet-CklOnyuR.js +0 -1
- package/web-ui/build/static/vbnet-MxHUC5Mz.js +0 -1
- package/web-ui/build/static/vbscript-BxQnA97w.js +0 -1
- package/web-ui/build/static/vbscript-html-DOtde7dD.js +0 -1
- package/web-ui/build/static/velocity-l8B9m66X.js +0 -1
- package/web-ui/build/static/verilog-DF6dF-Vp.js +0 -1
- package/web-ui/build/static/verilog-Dgb9SDRX.js +0 -1
- package/web-ui/build/static/vhdl-0GarU_AK.js +0 -1
- package/web-ui/build/static/vhdl-BfPQnOdI.js +0 -1
- package/web-ui/build/static/vim-Likg_-II.js +0 -1
- package/web-ui/build/static/vim-k53Sj7A3.js +0 -1
- package/web-ui/build/static/visual-basic-BNVZCzlV.js +0 -1
- package/web-ui/build/static/warpscript-BkLK5iuW.js +0 -1
- package/web-ui/build/static/wasm-CQhA1ece.js +0 -1
- package/web-ui/build/static/web-idl-DmNsI0kE.js +0 -1
- package/web-ui/build/static/wiki-B3z4pmra.js +0 -1
- package/web-ui/build/static/wolfram-Dsf21d_g.js +0 -1
- package/web-ui/build/static/wren-BZXZlzrL.js +0 -1
- package/web-ui/build/static/x86asm-DpWGZhJU.js +0 -1
- package/web-ui/build/static/xeora-8xPZN4DH.js +0 -1
- package/web-ui/build/static/xl-XkdWYMGl.js +0 -1
- package/web-ui/build/static/xml-BBdROEWt.js +0 -1
- package/web-ui/build/static/xml-doc-Cjs4OpTe.js +0 -1
- package/web-ui/build/static/xojo-nCen1FPx.js +0 -1
- package/web-ui/build/static/xquery-CBFkAxo1.js +0 -1
- package/web-ui/build/static/xquery-Dwsc1weX.js +0 -1
- package/web-ui/build/static/yaml-DzSAh6jl.js +0 -1
- package/web-ui/build/static/yaml-Lg8gnEUU.js +0 -1
- package/web-ui/build/static/yang-Bd-v2b0k.js +0 -1
- package/web-ui/build/static/zephir-wbJOizIa.js +0 -1
- package/web-ui/build/static/zig-Cz384XjE.js +0 -1
|
@@ -12,7 +12,15 @@
|
|
|
12
12
|
* Run with: npm run test:e2e
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
import { describe, test, expect, beforeAll, afterAll } from '@jest/globals';
|
|
15
|
+
import { describe, test, expect, beforeAll, afterAll, jest } from '@jest/globals';
|
|
16
|
+
|
|
17
|
+
// Real-network tests against example.com / iana.org are inherently
|
|
18
|
+
// flaky on TCP / DNS / target-server hiccups. The contract under test
|
|
19
|
+
// is "the WebTool chain machinery works", not "example.com is always
|
|
20
|
+
// up", so we tolerate up to 2 retries before declaring failure.
|
|
21
|
+
// If a test fails 3 times in a row, that's a real signal worth
|
|
22
|
+
// investigating; transient flakes get absorbed silently.
|
|
23
|
+
jest.retryTimes(2, { logErrorsBeforeRetry: true });
|
|
16
24
|
import os from 'os';
|
|
17
25
|
import fs from 'fs';
|
|
18
26
|
|
package/src/tools/webTool.js
CHANGED
|
@@ -1193,14 +1193,30 @@ If blocked (CAPTCHA, access denied), use stealthLevel: "maximum" (visible browse
|
|
|
1193
1193
|
const fetchStatus = fetchResponse ? fetchResponse.status() : null;
|
|
1194
1194
|
|
|
1195
1195
|
if (fetchStatus && fetchStatus >= 400) {
|
|
1196
|
+
// A page that returned 4xx/5xx did NOT give the agent what it
|
|
1197
|
+
// asked for. We used to return `success: true` here on the
|
|
1198
|
+
// theory that "the fetch itself executed"; downstream agents
|
|
1199
|
+
// then ignored the warning and treated the error page as
|
|
1200
|
+
// content. Switching to `success: false` matches the rest of
|
|
1201
|
+
// the tool contract (operation either achieved its purpose
|
|
1202
|
+
// or it didn't) AND surfaces the diagnostic via the standard
|
|
1203
|
+
// `error` field that callers already inspect.
|
|
1204
|
+
const reason =
|
|
1205
|
+
fetchStatus >= 500 ? 'server error' :
|
|
1206
|
+
fetchStatus === 404 ? 'page not found' :
|
|
1207
|
+
fetchStatus === 403 ? 'access forbidden' :
|
|
1208
|
+
fetchStatus === 401 ? 'authentication required' :
|
|
1209
|
+
'client error';
|
|
1196
1210
|
const errorResult = {
|
|
1197
|
-
success:
|
|
1211
|
+
success: false,
|
|
1198
1212
|
url,
|
|
1199
1213
|
httpStatus: fetchStatus,
|
|
1200
|
-
|
|
1201
|
-
|
|
1214
|
+
error: `HTTP ${fetchStatus}: ${reason}`,
|
|
1215
|
+
diagnostic: `Page returned HTTP ${fetchStatus} (${reason})`,
|
|
1216
|
+
warning: `HTTP ${fetchStatus} — the page loaded but returned an error status. Content may still be available.`,
|
|
1202
1217
|
};
|
|
1203
|
-
// Still try to get title for context
|
|
1218
|
+
// Still try to get title for context — error pages often have
|
|
1219
|
+
// useful titles like "404 - Not Found".
|
|
1204
1220
|
try { errorResult.title = await page.title(); } catch {}
|
|
1205
1221
|
// Don't close page here — finally block handles it
|
|
1206
1222
|
return errorResult;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for the shared cipher primitives used by both
|
|
3
|
+
* `services/apiKeyManager.js` (api-keys.enc) and
|
|
4
|
+
* `services/authCacheStore.js` (auth-cache.enc).
|
|
5
|
+
*
|
|
6
|
+
* Covers:
|
|
7
|
+
* - key derivation: persistence across calls, identity vs different salts
|
|
8
|
+
* - round-trip: encrypt then decrypt returns the original
|
|
9
|
+
* - constants stability: KEY_DERIVATION_DOMAIN is part of the on-disk
|
|
10
|
+
* contract and must not change without a migration
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { describe, test, expect, beforeEach, afterEach } from '@jest/globals';
|
|
14
|
+
import { promises as fs } from 'fs';
|
|
15
|
+
import path from 'path';
|
|
16
|
+
import os from 'os';
|
|
17
|
+
import crypto from 'crypto';
|
|
18
|
+
|
|
19
|
+
import {
|
|
20
|
+
encrypt,
|
|
21
|
+
decrypt,
|
|
22
|
+
getOrCreateEncryptionKey,
|
|
23
|
+
KEY_DERIVATION_DOMAIN,
|
|
24
|
+
SALT_FILENAME,
|
|
25
|
+
SALT_LENGTH,
|
|
26
|
+
KEY_LENGTH,
|
|
27
|
+
} from '../secretsCipher.js';
|
|
28
|
+
|
|
29
|
+
const tmpDir = path.join(os.tmpdir(), 'secretsCipher-test-' + crypto.randomBytes(6).toString('hex'));
|
|
30
|
+
|
|
31
|
+
beforeEach(async () => { await fs.mkdir(tmpDir, { recursive: true }); });
|
|
32
|
+
afterEach(async () => { try { await fs.rm(tmpDir, { recursive: true, force: true }); } catch { /* ok */ } });
|
|
33
|
+
|
|
34
|
+
describe('secretsCipher', () => {
|
|
35
|
+
test('KEY_DERIVATION_DOMAIN is the documented value — changing this invalidates all stored credentials', () => {
|
|
36
|
+
// Tripwire: this constant is part of the on-disk contract.
|
|
37
|
+
// If you intentionally need to rotate it, also write a migration.
|
|
38
|
+
expect(KEY_DERIVATION_DOMAIN).toBe('loxia-api-key-encryption-v1');
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
test('getOrCreateEncryptionKey creates a salt file on first call', async () => {
|
|
42
|
+
await getOrCreateEncryptionKey(tmpDir, null);
|
|
43
|
+
const saltFile = path.join(tmpDir, SALT_FILENAME);
|
|
44
|
+
const buf = await fs.readFile(saltFile);
|
|
45
|
+
expect(buf.length).toBe(SALT_LENGTH);
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
test('getOrCreateEncryptionKey reuses the existing salt on subsequent calls', async () => {
|
|
49
|
+
const key1 = await getOrCreateEncryptionKey(tmpDir, null);
|
|
50
|
+
const key2 = await getOrCreateEncryptionKey(tmpDir, null);
|
|
51
|
+
expect(key1.equals(key2)).toBe(true);
|
|
52
|
+
expect(key1.length).toBe(KEY_LENGTH);
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
test('different salt directories yield different keys', async () => {
|
|
56
|
+
const dirA = path.join(tmpDir, 'a');
|
|
57
|
+
const dirB = path.join(tmpDir, 'b');
|
|
58
|
+
await fs.mkdir(dirA); await fs.mkdir(dirB);
|
|
59
|
+
const keyA = await getOrCreateEncryptionKey(dirA, null);
|
|
60
|
+
const keyB = await getOrCreateEncryptionKey(dirB, null);
|
|
61
|
+
expect(keyA.equals(keyB)).toBe(false);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
test('encrypt then decrypt round-trips the plaintext', async () => {
|
|
65
|
+
const key = await getOrCreateEncryptionKey(tmpDir, null);
|
|
66
|
+
const plaintext = JSON.stringify({ jwt: 'eyJ.test.jwt', user: { id: 'u-1' } });
|
|
67
|
+
const ct = encrypt(plaintext, key);
|
|
68
|
+
expect(typeof ct).toBe('string');
|
|
69
|
+
expect(ct).not.toContain('eyJ'); // not plaintext
|
|
70
|
+
expect(decrypt(ct, key)).toBe(plaintext);
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
test('encrypt produces different ciphertext each call (random IV)', async () => {
|
|
74
|
+
const key = await getOrCreateEncryptionKey(tmpDir, null);
|
|
75
|
+
const ct1 = encrypt('same', key);
|
|
76
|
+
const ct2 = encrypt('same', key);
|
|
77
|
+
expect(ct1).not.toBe(ct2);
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
test('decrypt throws with a clear message when no key supplied', () => {
|
|
81
|
+
expect(() => decrypt('anything', null)).toThrow('Encryption key not initialized');
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
test('encrypt throws with a clear message when no key supplied', () => {
|
|
85
|
+
expect(() => encrypt('anything', null)).toThrow('Encryption key not initialized');
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
test('decrypt fails on tampered ciphertext (GCM authTag check)', async () => {
|
|
89
|
+
const key = await getOrCreateEncryptionKey(tmpDir, null);
|
|
90
|
+
const ct = encrypt('payload', key);
|
|
91
|
+
// Flip a byte in the middle of the buffer
|
|
92
|
+
const buf = Buffer.from(ct, 'base64');
|
|
93
|
+
buf[Math.floor(buf.length / 2)] ^= 0xff;
|
|
94
|
+
const tampered = buf.toString('base64');
|
|
95
|
+
expect(() => decrypt(tampered, key)).toThrow();
|
|
96
|
+
});
|
|
97
|
+
});
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for src/utilities/updateNotifier.js — the CLI banner wrapper.
|
|
3
|
+
*
|
|
4
|
+
* The helper has four kill-switch paths and two normal paths. We
|
|
5
|
+
* test each so a regression doesn't either spam users or silently
|
|
6
|
+
* stop checking.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { describe, test, expect, jest } from '@jest/globals';
|
|
10
|
+
import {
|
|
11
|
+
runUpdateCheck,
|
|
12
|
+
isUpdateCheckDisabled,
|
|
13
|
+
loadPackageJson,
|
|
14
|
+
} from '../updateNotifier.js';
|
|
15
|
+
|
|
16
|
+
describe('isUpdateCheckDisabled', () => {
|
|
17
|
+
test('returns false on an empty env', () => {
|
|
18
|
+
expect(isUpdateCheckDisabled({})).toBe(false);
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
test('honors LOXIA_DISABLE_UPDATE_CHECK', () => {
|
|
22
|
+
expect(isUpdateCheckDisabled({ LOXIA_DISABLE_UPDATE_CHECK: '1' })).toBe(true);
|
|
23
|
+
expect(isUpdateCheckDisabled({ LOXIA_DISABLE_UPDATE_CHECK: 'true' })).toBe(true);
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
test('honors NO_UPDATE_NOTIFIER (package convention)', () => {
|
|
27
|
+
expect(isUpdateCheckDisabled({ NO_UPDATE_NOTIFIER: '1' })).toBe(true);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
test('honors CI=true (avoids banner in pipelines)', () => {
|
|
31
|
+
expect(isUpdateCheckDisabled({ CI: 'true' })).toBe(true);
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
test('treats "0" and "false" as not-disabled (escape hatch for misuse)', () => {
|
|
35
|
+
expect(isUpdateCheckDisabled({ LOXIA_DISABLE_UPDATE_CHECK: '0' })).toBe(false);
|
|
36
|
+
expect(isUpdateCheckDisabled({ LOXIA_DISABLE_UPDATE_CHECK: 'false' })).toBe(false);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
describe('loadPackageJson', () => {
|
|
41
|
+
test('finds the CLI package.json by walking up from a starting dir', () => {
|
|
42
|
+
// The helper looks for a pkg.json with `bin` OR `@loxia-labs/` name —
|
|
43
|
+
// both true of this repo's root pkg.json.
|
|
44
|
+
const pkg = loadPackageJson();
|
|
45
|
+
expect(pkg).not.toBeNull();
|
|
46
|
+
expect(pkg.name).toMatch(/loxia/i);
|
|
47
|
+
expect(typeof pkg.version).toBe('string');
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
test('returns null when no qualifying package.json exists in the chain', () => {
|
|
51
|
+
// Inject a stub that always returns ENOENT.
|
|
52
|
+
const fs = {
|
|
53
|
+
readFileSync: () => { throw Object.assign(new Error('nope'), { code: 'ENOENT' }); },
|
|
54
|
+
};
|
|
55
|
+
expect(loadPackageJson({ startDir: '/tmp', fs })).toBeNull();
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
describe('runUpdateCheck — kill-switches', () => {
|
|
60
|
+
test('returns null when disabled by env', async () => {
|
|
61
|
+
const importImpl = jest.fn();
|
|
62
|
+
const r = await runUpdateCheck({
|
|
63
|
+
env: { LOXIA_DISABLE_UPDATE_CHECK: '1' },
|
|
64
|
+
pkg: { name: 'x', version: '1.0.0' },
|
|
65
|
+
importImpl,
|
|
66
|
+
});
|
|
67
|
+
expect(r).toBeNull();
|
|
68
|
+
expect(importImpl).not.toHaveBeenCalled();
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
test('returns null when pkg.json could not be loaded', async () => {
|
|
72
|
+
const importImpl = jest.fn();
|
|
73
|
+
const r = await runUpdateCheck({
|
|
74
|
+
env: {},
|
|
75
|
+
pkg: null,
|
|
76
|
+
importImpl,
|
|
77
|
+
});
|
|
78
|
+
expect(r).toBeNull();
|
|
79
|
+
expect(importImpl).not.toHaveBeenCalled();
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
describe('runUpdateCheck — dependency tolerance', () => {
|
|
84
|
+
test('returns null when update-notifier is not installed', async () => {
|
|
85
|
+
const importImpl = jest.fn().mockRejectedValue(new Error('Cannot find module'));
|
|
86
|
+
const r = await runUpdateCheck({
|
|
87
|
+
env: {},
|
|
88
|
+
pkg: { name: 'x', version: '1.0.0' },
|
|
89
|
+
importImpl,
|
|
90
|
+
});
|
|
91
|
+
expect(r).toBeNull();
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
test('returns null when the module exists but has the wrong shape', async () => {
|
|
95
|
+
const importImpl = jest.fn().mockResolvedValue({ /* no default, no callable */ });
|
|
96
|
+
const r = await runUpdateCheck({
|
|
97
|
+
env: {},
|
|
98
|
+
pkg: { name: 'x', version: '1.0.0' },
|
|
99
|
+
importImpl,
|
|
100
|
+
});
|
|
101
|
+
expect(r).toBeNull();
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
describe('runUpdateCheck — happy path', () => {
|
|
106
|
+
test('invokes update-notifier with the supplied pkg and calls notify()', async () => {
|
|
107
|
+
const notifyMock = jest.fn();
|
|
108
|
+
const updateNotifierFn = jest.fn().mockReturnValue({ notify: notifyMock });
|
|
109
|
+
const importImpl = jest.fn().mockResolvedValue({ default: updateNotifierFn });
|
|
110
|
+
|
|
111
|
+
const pkg = { name: '@loxia-labs/loxia-autopilot-one', version: '4.6.4' };
|
|
112
|
+
const result = await runUpdateCheck({ env: {}, pkg, importImpl });
|
|
113
|
+
|
|
114
|
+
expect(result).toEqual({ notify: notifyMock });
|
|
115
|
+
expect(updateNotifierFn).toHaveBeenCalledTimes(1);
|
|
116
|
+
const call = updateNotifierFn.mock.calls[0][0];
|
|
117
|
+
expect(call.pkg).toBe(pkg);
|
|
118
|
+
expect(typeof call.updateCheckInterval).toBe('number');
|
|
119
|
+
expect(notifyMock).toHaveBeenCalledTimes(1);
|
|
120
|
+
|
|
121
|
+
const notifyOpts = notifyMock.mock.calls[0][0];
|
|
122
|
+
expect(notifyOpts.isGlobal).toBe(true);
|
|
123
|
+
expect(notifyOpts.message).toContain('{packageName}');
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
test('a throwing notifier does not surface — returns null', async () => {
|
|
127
|
+
const updateNotifierFn = jest.fn().mockImplementation(() => { throw new Error('boom'); });
|
|
128
|
+
const importImpl = jest.fn().mockResolvedValue({ default: updateNotifierFn });
|
|
129
|
+
const logger = { debug: jest.fn() };
|
|
130
|
+
const r = await runUpdateCheck({
|
|
131
|
+
env: {},
|
|
132
|
+
pkg: { name: 'x', version: '1.0.0' },
|
|
133
|
+
importImpl,
|
|
134
|
+
logger,
|
|
135
|
+
});
|
|
136
|
+
expect(r).toBeNull();
|
|
137
|
+
expect(logger.debug).toHaveBeenCalled();
|
|
138
|
+
});
|
|
139
|
+
});
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared encryption primitives for at-rest credential storage.
|
|
3
|
+
*
|
|
4
|
+
* Used by:
|
|
5
|
+
* - services/apiKeyManager.js (api-keys.enc)
|
|
6
|
+
* - services/authCacheStore.js (auth-cache.enc)
|
|
7
|
+
*
|
|
8
|
+
* Both stores derive the same machine-specific AES-256-GCM key from a
|
|
9
|
+
* persistent salt at `<userDataDir>/.key-salt` plus os-derived data.
|
|
10
|
+
* Sharing the cipher primitives keeps the byte layout consistent and
|
|
11
|
+
* means a single review covers credential-at-rest for the whole app.
|
|
12
|
+
*
|
|
13
|
+
* On-disk format (per ciphertext, base64-encoded):
|
|
14
|
+
* [ IV (16B) | authTag (16B) | ciphertext (variable) ]
|
|
15
|
+
*
|
|
16
|
+
* KEY_DERIVATION_DOMAIN must stay constant — changing it invalidates
|
|
17
|
+
* every existing `api-keys.enc` on every user's machine.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
import crypto from 'crypto';
|
|
21
|
+
import os from 'os';
|
|
22
|
+
import path from 'path';
|
|
23
|
+
import { promises as fs } from 'fs';
|
|
24
|
+
|
|
25
|
+
export const ALGORITHM = 'aes-256-gcm';
|
|
26
|
+
export const KEY_LENGTH = 32; // 256 bits
|
|
27
|
+
export const IV_LENGTH = 16;
|
|
28
|
+
export const AUTH_TAG_LENGTH = 16;
|
|
29
|
+
export const SALT_LENGTH = 32;
|
|
30
|
+
export const PBKDF2_ITERATIONS = 100000;
|
|
31
|
+
export const SALT_FILENAME = '.key-salt';
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Domain-separation string mixed into the key derivation input. Must
|
|
35
|
+
* not change without a migration — existing on-disk files would
|
|
36
|
+
* become undecryptable.
|
|
37
|
+
*/
|
|
38
|
+
export const KEY_DERIVATION_DOMAIN = 'loxia-api-key-encryption-v1';
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Read or create the per-machine salt and derive the AES key from it
|
|
42
|
+
* combined with stable machine identifiers.
|
|
43
|
+
*
|
|
44
|
+
* @param {string} settingsDir - directory holding `.key-salt`
|
|
45
|
+
* @param {Object} [logger]
|
|
46
|
+
* @returns {Promise<Buffer>} 32-byte AES key
|
|
47
|
+
*/
|
|
48
|
+
export async function getOrCreateEncryptionKey(settingsDir, logger) {
|
|
49
|
+
const saltFile = path.join(settingsDir, SALT_FILENAME);
|
|
50
|
+
let salt;
|
|
51
|
+
try {
|
|
52
|
+
salt = await fs.readFile(saltFile);
|
|
53
|
+
} catch {
|
|
54
|
+
salt = crypto.randomBytes(SALT_LENGTH);
|
|
55
|
+
await fs.writeFile(saltFile, salt, { mode: 0o600 });
|
|
56
|
+
logger?.info?.('[secretsCipher] Generated new encryption salt');
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const machineData = [
|
|
60
|
+
os.hostname(),
|
|
61
|
+
os.homedir(),
|
|
62
|
+
os.userInfo().username,
|
|
63
|
+
process.platform,
|
|
64
|
+
KEY_DERIVATION_DOMAIN,
|
|
65
|
+
].join(':');
|
|
66
|
+
|
|
67
|
+
return crypto.pbkdf2Sync(machineData, salt, PBKDF2_ITERATIONS, KEY_LENGTH, 'sha256');
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Encrypt a UTF-8 plaintext to a base64 string carrying IV+authTag.
|
|
72
|
+
*
|
|
73
|
+
* @param {string} plaintext
|
|
74
|
+
* @param {Buffer} encryptionKey
|
|
75
|
+
* @returns {string} base64
|
|
76
|
+
*/
|
|
77
|
+
export function encrypt(plaintext, encryptionKey) {
|
|
78
|
+
if (!encryptionKey) throw new Error('Encryption key not initialized');
|
|
79
|
+
|
|
80
|
+
const iv = crypto.randomBytes(IV_LENGTH);
|
|
81
|
+
const cipher = crypto.createCipheriv(ALGORITHM, encryptionKey, iv);
|
|
82
|
+
|
|
83
|
+
let encrypted = cipher.update(plaintext, 'utf8', 'base64');
|
|
84
|
+
encrypted += cipher.final('base64');
|
|
85
|
+
|
|
86
|
+
const authTag = cipher.getAuthTag();
|
|
87
|
+
const combined = Buffer.concat([
|
|
88
|
+
iv,
|
|
89
|
+
authTag,
|
|
90
|
+
Buffer.from(encrypted, 'base64'),
|
|
91
|
+
]);
|
|
92
|
+
return combined.toString('base64');
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Decrypt a base64 IV+authTag+ciphertext blob back to UTF-8.
|
|
97
|
+
*
|
|
98
|
+
* @param {string} encryptedData base64
|
|
99
|
+
* @param {Buffer} encryptionKey
|
|
100
|
+
* @returns {string} plaintext
|
|
101
|
+
*/
|
|
102
|
+
export function decrypt(encryptedData, encryptionKey) {
|
|
103
|
+
if (!encryptionKey) throw new Error('Encryption key not initialized');
|
|
104
|
+
|
|
105
|
+
const combined = Buffer.from(encryptedData, 'base64');
|
|
106
|
+
const iv = combined.subarray(0, IV_LENGTH);
|
|
107
|
+
const authTag = combined.subarray(IV_LENGTH, IV_LENGTH + AUTH_TAG_LENGTH);
|
|
108
|
+
const encrypted = combined.subarray(IV_LENGTH + AUTH_TAG_LENGTH);
|
|
109
|
+
|
|
110
|
+
const decipher = crypto.createDecipheriv(ALGORITHM, encryptionKey, iv);
|
|
111
|
+
decipher.setAuthTag(authTag);
|
|
112
|
+
|
|
113
|
+
let decrypted = decipher.update(encrypted.toString('base64'), 'base64', 'utf8');
|
|
114
|
+
decrypted += decipher.final('utf8');
|
|
115
|
+
return decrypted;
|
|
116
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* npm CLI update notifier — thin wrapper around `update-notifier`.
|
|
3
|
+
*
|
|
4
|
+
* Shows a non-blocking banner on CLI startup when a newer version of
|
|
5
|
+
* the published package is available on the npm registry. User stays
|
|
6
|
+
* in control: the CLI never auto-installs anything.
|
|
7
|
+
*
|
|
8
|
+
* Brand awareness:
|
|
9
|
+
* The CLI ships under two brand-specific package names
|
|
10
|
+
* (`@loxia-labs/loxia-autopilot-one`, `@loxia-labs/loxia-onbuzz`).
|
|
11
|
+
* `update-notifier` reads the package name from the runtime
|
|
12
|
+
* package.json so each brand's notifier checks the right registry
|
|
13
|
+
* entry automatically.
|
|
14
|
+
*
|
|
15
|
+
* Kill-switch:
|
|
16
|
+
* - LOXIA_DISABLE_UPDATE_CHECK=1 — our env var (preferred)
|
|
17
|
+
* - NO_UPDATE_NOTIFIER=1 — package's own opt-out
|
|
18
|
+
* - CI=true — most CIs set this; we honour it
|
|
19
|
+
*
|
|
20
|
+
* Dependency tolerance:
|
|
21
|
+
* `update-notifier` is dynamically imported. If the package isn't
|
|
22
|
+
* installed (e.g. dev tree without `npm install`), the function is
|
|
23
|
+
* a silent no-op — the CLI MUST still boot.
|
|
24
|
+
*
|
|
25
|
+
* Network tolerance:
|
|
26
|
+
* The check is a background fetch with cached result. We never await
|
|
27
|
+
* the network — `update-notifier` schedules a child-process fetch
|
|
28
|
+
* and writes the result to ~/.config/configstore for the NEXT run.
|
|
29
|
+
* That means: the FIRST time a user is offline, no banner. Subsequent
|
|
30
|
+
* runs use the cached version-comparison until the next check window.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
import { readFileSync } from 'fs';
|
|
34
|
+
import { dirname, join } from 'path';
|
|
35
|
+
import { fileURLToPath } from 'url';
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Env vars that disable the check. All are case-sensitive string
|
|
39
|
+
* comparisons against `'1'` / `'true'` to match common conventions.
|
|
40
|
+
*/
|
|
41
|
+
const DISABLE_ENVS = Object.freeze([
|
|
42
|
+
'LOXIA_DISABLE_UPDATE_CHECK',
|
|
43
|
+
'NO_UPDATE_NOTIFIER',
|
|
44
|
+
'CI', // standard CI marker
|
|
45
|
+
]);
|
|
46
|
+
|
|
47
|
+
/** How often update-notifier should re-check the npm registry. */
|
|
48
|
+
const UPDATE_CHECK_INTERVAL_MS = 1000 * 60 * 60 * 24; // 24h
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @returns {boolean} true if any kill-switch env is set truthy.
|
|
52
|
+
*/
|
|
53
|
+
export function isUpdateCheckDisabled(env = process.env) {
|
|
54
|
+
for (const key of DISABLE_ENVS) {
|
|
55
|
+
const v = env[key];
|
|
56
|
+
if (v && v !== '0' && v.toLowerCase() !== 'false') return true;
|
|
57
|
+
}
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Load the package.json this CLI is running from (the installed one,
|
|
63
|
+
* not the one in src/utilities of a dev tree). Returned object always
|
|
64
|
+
* has at least `name` and `version`.
|
|
65
|
+
*
|
|
66
|
+
* @returns {{ name: string, version: string } | null}
|
|
67
|
+
*/
|
|
68
|
+
export function loadPackageJson({
|
|
69
|
+
startDir = dirname(fileURLToPath(import.meta.url)),
|
|
70
|
+
fs = { readFileSync },
|
|
71
|
+
} = {}) {
|
|
72
|
+
// Walk up from this file looking for package.json with a `bin`
|
|
73
|
+
// entry — that's the published CLI package, not a nested dep.
|
|
74
|
+
let dir = startDir;
|
|
75
|
+
const ROOT_LIMIT = 8;
|
|
76
|
+
for (let i = 0; i < ROOT_LIMIT; i++) {
|
|
77
|
+
try {
|
|
78
|
+
const raw = fs.readFileSync(join(dir, 'package.json'), 'utf8');
|
|
79
|
+
const pkg = JSON.parse(raw);
|
|
80
|
+
if (pkg.bin || pkg.name?.startsWith('@loxia-labs/')) {
|
|
81
|
+
return { name: pkg.name, version: pkg.version };
|
|
82
|
+
}
|
|
83
|
+
} catch { /* keep walking */ }
|
|
84
|
+
const parent = dirname(dir);
|
|
85
|
+
if (parent === dir) break;
|
|
86
|
+
dir = parent;
|
|
87
|
+
}
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Run the update check and (if a newer version is on the registry)
|
|
93
|
+
* print a banner. Never throws. Never blocks. Safe to call exactly
|
|
94
|
+
* once at CLI entry.
|
|
95
|
+
*
|
|
96
|
+
* Returns the underlying notifier instance for tests, or null when
|
|
97
|
+
* disabled / package missing / pkg.json unreadable.
|
|
98
|
+
*/
|
|
99
|
+
export async function runUpdateCheck({
|
|
100
|
+
env = process.env,
|
|
101
|
+
pkg = loadPackageJson(),
|
|
102
|
+
importImpl = (specifier) => import(specifier),
|
|
103
|
+
logger = console,
|
|
104
|
+
} = {}) {
|
|
105
|
+
if (isUpdateCheckDisabled(env)) return null;
|
|
106
|
+
if (!pkg) return null;
|
|
107
|
+
|
|
108
|
+
let mod;
|
|
109
|
+
try {
|
|
110
|
+
mod = await importImpl('update-notifier');
|
|
111
|
+
} catch {
|
|
112
|
+
// Package not installed in this tree. Silent no-op.
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const updateNotifier = mod.default || mod;
|
|
117
|
+
if (typeof updateNotifier !== 'function') return null;
|
|
118
|
+
|
|
119
|
+
try {
|
|
120
|
+
const notifier = updateNotifier({
|
|
121
|
+
pkg,
|
|
122
|
+
updateCheckInterval: UPDATE_CHECK_INTERVAL_MS,
|
|
123
|
+
shouldNotifyInNpmScript: false,
|
|
124
|
+
});
|
|
125
|
+
// notify() is itself a no-op when there's no update; safe to call
|
|
126
|
+
// unconditionally.
|
|
127
|
+
notifier.notify?.({
|
|
128
|
+
defer: false, // print before the CLI does its work
|
|
129
|
+
isGlobal: true, // CLI ships as a global binary
|
|
130
|
+
message:
|
|
131
|
+
`Update available {currentVersion} → {latestVersion}\n` +
|
|
132
|
+
`Run \`npm i -g {packageName}\` to update.`,
|
|
133
|
+
});
|
|
134
|
+
return notifier;
|
|
135
|
+
} catch (err) {
|
|
136
|
+
// Any failure (network, configstore write, etc.) is non-fatal.
|
|
137
|
+
logger?.debug?.('[updateNotifier] check skipped:', err.message);
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
}
|
package/web-ui/build/index.html
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>Loxia Autopilot One</title>
|
|
8
8
|
<meta name="description" content="AI Agents System - No-code/vibe-code/companion-coder platform" />
|
|
9
|
-
<script type="module" crossorigin src="/static/index-
|
|
10
|
-
<link rel="stylesheet" crossorigin href="/static/index-
|
|
9
|
+
<script type="module" crossorigin src="/static/index-DqCutaVi.js"></script>
|
|
10
|
+
<link rel="stylesheet" crossorigin href="/static/index-Cm1gK3R7.css">
|
|
11
11
|
</head>
|
|
12
12
|
<body>
|
|
13
13
|
<div id="root"></div>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as f}from"./index-DqCutaVi.js";import{r as s}from"./index-D6blIL5t.js";function i(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const c=Object.getOwnPropertyDescriptor(e,r);c&&Object.defineProperty(t,r,c.get?c:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var a=s();const p=f(a),l=i({__proto__:null,default:p},[a]);export{l as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as s,r as f}from"./index-DqCutaVi.js";function c(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var p=f();const i=s(p),b=c({__proto__:null,default:i},[p]);export{b as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as s,d as c}from"./index-DqCutaVi.js";function i(t,a){for(var o=0;o<a.length;o++){const e=a[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const n=Object.getOwnPropertyDescriptor(e,r);n&&Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var f=c();const p=s(f),b=i({__proto__:null,default:p},[f]);export{b as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as s}from"./index-DqCutaVi.js";import{a as i}from"./index-D6blIL5t.js";function c(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var f=i();const p=s(f),g=c({__proto__:null,default:p},[f]);export{g as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as n}from"./index-DqCutaVi.js";import{b as f}from"./index-D6blIL5t.js";function g(t,c){for(var o=0;o<c.length;o++){const e=c[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const s=Object.getOwnPropertyDescriptor(e,r);s&&Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var a=f();const l=n(a),u=g({__proto__:null,default:l},[a]);export{u as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as a}from"./index-DqCutaVi.js";import{c as s}from"./index-D6blIL5t.js";function p(r,i){for(var o=0;o<i.length;o++){const t=i[o];if(typeof t!="string"&&!Array.isArray(t)){for(const e in t)if(e!=="default"&&!(e in r)){const c=Object.getOwnPropertyDescriptor(t,e);c&&Object.defineProperty(r,e,c.get?c:{enumerable:!0,get:()=>t[e]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var n=s();const f=a(n),l=p({__proto__:null,default:f},[n]);export{l as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as a,e as s}from"./index-DqCutaVi.js";function p(r,i){for(var o=0;o<i.length;o++){const t=i[o];if(typeof t!="string"&&!Array.isArray(t)){for(const e in t)if(e!=="default"&&!(e in r)){const c=Object.getOwnPropertyDescriptor(t,e);c&&Object.defineProperty(r,e,c.get?c:{enumerable:!0,get:()=>t[e]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var n=s();const f=a(n),g=p({__proto__:null,default:f},[n]);export{g as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as s}from"./index-DqCutaVi.js";import{d as i}from"./index-D6blIL5t.js";function c(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var f=i();const p=s(f),g=c({__proto__:null,default:p},[f]);export{g as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as s,f as c}from"./index-DqCutaVi.js";function i(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var f=c();const p=s(f),d=i({__proto__:null,default:p},[f]);export{d as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as f,h as g}from"./index-DqCutaVi.js";function c(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var s=g();const i=f(s),u=c({__proto__:null,default:i},[s]);export{u as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as f,k as l}from"./index-DqCutaVi.js";function c(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var s=l();const i=f(s),u=c({__proto__:null,default:i},[s]);export{u as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as i}from"./index-DqCutaVi.js";import{e as c}from"./index-D6blIL5t.js";function p(t,a){for(var o=0;o<a.length;o++){const e=a[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const n=Object.getOwnPropertyDescriptor(e,r);n&&Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var s=c();const f=i(s),u=p({__proto__:null,default:f},[s]);export{u as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as s,l as f}from"./index-DqCutaVi.js";function c(t,a){for(var o=0;o<a.length;o++){const e=a[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const n=Object.getOwnPropertyDescriptor(e,r);n&&Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var l=f();const i=s(l),u=c({__proto__:null,default:i},[l]);export{u as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as n}from"./index-DqCutaVi.js";import{f as p}from"./index-D6blIL5t.js";function s(t,c){for(var o=0;o<c.length;o++){const e=c[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var f=p();const i=n(f),l=s({__proto__:null,default:i},[f]);export{l as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as f,n as p}from"./index-DqCutaVi.js";function s(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var c=p();const i=f(c),g=s({__proto__:null,default:i},[c]);export{g as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as s,o as f}from"./index-DqCutaVi.js";function c(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var p=f();const i=s(p),g=c({__proto__:null,default:i},[p]);export{g as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as s,p as f}from"./index-DqCutaVi.js";function l(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var p=f();const c=s(p),u=l({__proto__:null,default:c},[p]);export{u as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as c,q as i}from"./index-DqCutaVi.js";function n(t,a){for(var o=0;o<a.length;o++){const e=a[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const p=Object.getOwnPropertyDescriptor(e,r);p&&Object.defineProperty(t,r,p.get?p:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var s=i();const f=c(s),u=n({__proto__:null,default:f},[s]);export{u as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as i}from"./index-DqCutaVi.js";import{g as c}from"./index-D6blIL5t.js";function n(t,a){for(var o=0;o<a.length;o++){const e=a[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const p=Object.getOwnPropertyDescriptor(e,r);p&&Object.defineProperty(t,r,p.get?p:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var s=c();const f=i(s),u=n({__proto__:null,default:f},[s]);export{u as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as f,s as l}from"./index-DqCutaVi.js";function c(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var s=l();const i=f(s),u=c({__proto__:null,default:i},[s]);export{u as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as f}from"./index-DqCutaVi.js";import{h as s}from"./index-D6blIL5t.js";function i(t,c){for(var o=0;o<c.length;o++){const e=c[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var n=s();const p=f(n),g=i({__proto__:null,default:p},[n]);export{g as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as f}from"./index-DqCutaVi.js";import{i as s}from"./index-D6blIL5t.js";function u(t,a){for(var o=0;o<a.length;o++){const e=a[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const n=Object.getOwnPropertyDescriptor(e,r);n&&Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var i=s();const c=f(i),g=u({__proto__:null,default:c},[i]);export{g as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as s,t as u}from"./index-DqCutaVi.js";function f(t,a){for(var o=0;o<a.length;o++){const e=a[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const n=Object.getOwnPropertyDescriptor(e,r);n&&Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var i=u();const c=s(i),d=f({__proto__:null,default:c},[i]);export{d as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as s,u as c}from"./index-DqCutaVi.js";function i(t,a){for(var o=0;o<a.length;o++){const e=a[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const f=Object.getOwnPropertyDescriptor(e,r);f&&Object.defineProperty(t,r,f.get?f:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var n=c();const u=s(n),g=i({__proto__:null,default:u},[n]);export{g as a};
|