onbuzz 3.9.5 → 3.9.7
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/src/index.js +36 -16
- package/src/interfaces/webServer.js +5 -1
- package/src/services/aiService.js +3 -3
- package/src/tools/__tests__/visionTool.modelSelection.test.js +212 -0
- package/src/tools/__tests__/webTool.visionModel.test.js +121 -0
- package/src/tools/videoTool.js +21 -17
- package/src/tools/visionTool.js +7 -7
- package/src/tools/webTool.js +24 -2
- package/web-ui/build/index.html +1 -1
- package/web-ui/build/static/1c-BU43ZrVw.js +1 -0
- package/web-ui/build/static/abap-AoL-lRFD.js +1 -0
- package/web-ui/build/static/abnf-96OFWMCD.js +1 -0
- package/web-ui/build/static/abnf-C41Cofd6.js +1 -0
- package/web-ui/build/static/accesslog-BcnAo7ES.js +1 -0
- package/web-ui/build/static/actionscript-BFOz5mA2.js +1 -0
- package/web-ui/build/static/actionscript-DJGQt8u5.js +1 -0
- package/web-ui/build/static/ada-CwKeODqT.js +1 -0
- package/web-ui/build/static/ada-DchU8VGZ.js +1 -0
- package/web-ui/build/static/agda-BiNn9WvW.js +1 -0
- package/web-ui/build/static/al-BV88nGgg.js +1 -0
- package/web-ui/build/static/angelscript-COMetbQf.js +1 -0
- package/web-ui/build/static/antlr4-DcxHPzCP.js +1 -0
- package/web-ui/build/static/apache-DBeh3rw8.js +1 -0
- package/web-ui/build/static/apacheconf-CMIBfQ9p.js +1 -0
- package/web-ui/build/static/apex-Cs5QQM6z.js +1 -0
- package/web-ui/build/static/apl-Dx-K9gOV.js +1 -0
- package/web-ui/build/static/applescript--9cY-_M0.js +1 -0
- package/web-ui/build/static/applescript-BcsYpX4C.js +1 -0
- package/web-ui/build/static/aql-B6_wZJ19.js +1 -0
- package/web-ui/build/static/arcade-ML5yo01k.js +1 -0
- package/web-ui/build/static/arduino-CXGPdWdX.js +1 -0
- package/web-ui/build/static/arduino-Dg8nk7Ia.js +1 -0
- package/web-ui/build/static/arff-gVSLqgST.js +1 -0
- package/web-ui/build/static/armasm-DAsE4rEm.js +1 -0
- package/web-ui/build/static/asciidoc-C5znngFU.js +1 -0
- package/web-ui/build/static/asciidoc-DYALRNYZ.js +1 -0
- package/web-ui/build/static/asm6502-DDgAH1tv.js +1 -0
- package/web-ui/build/static/asmatmel-DOphTD2l.js +1 -0
- package/web-ui/build/static/aspectj-CulZkr51.js +1 -0
- package/web-ui/build/static/aspnet-CNX6-Mkw.js +1 -0
- package/web-ui/build/static/autohotkey-D0vVKqB7.js +1 -0
- package/web-ui/build/static/autohotkey-DDYXV6Yq.js +1 -0
- package/web-ui/build/static/autoit-CxUJueRz.js +1 -0
- package/web-ui/build/static/autoit-D9JFllVP.js +1 -0
- package/web-ui/build/static/avisynth-BenZbKzO.js +1 -0
- package/web-ui/build/static/avrasm-uYahqQ8h.js +1 -0
- package/web-ui/build/static/avro-idl-CfbM7gLn.js +1 -0
- package/web-ui/build/static/awk-Ca723U04.js +1 -0
- package/web-ui/build/static/axapta-Bd89lJnD.js +1 -0
- package/web-ui/build/static/bash-9j3v2pHC.js +1 -0
- package/web-ui/build/static/bash-D3FWVCYG.js +1 -0
- package/web-ui/build/static/basic-DdNa7MnE.js +1 -0
- package/web-ui/build/static/basic-E4QxjXCY.js +1 -0
- package/web-ui/build/static/batch-CfCADUvD.js +1 -0
- package/web-ui/build/static/bbcode-WshNX5WN.js +1 -0
- package/web-ui/build/static/bicep-D8FjRewr.js +1 -0
- package/web-ui/build/static/birb-88EdZvI2.js +1 -0
- package/web-ui/build/static/bison-D_FuD8Pc.js +1 -0
- package/web-ui/build/static/bnf-CbP5W98L.js +1 -0
- package/web-ui/build/static/bnf-Cml6OuCd.js +1 -0
- package/web-ui/build/static/brainfuck-BAX8RtaB.js +1 -0
- package/web-ui/build/static/brainfuck-C6aQP1EH.js +1 -0
- package/web-ui/build/static/brightscript-CQvzUDkK.js +1 -0
- package/web-ui/build/static/bro-D1TUGEOB.js +1 -0
- package/web-ui/build/static/bsl-Cz666_jX.js +1 -0
- package/web-ui/build/static/c-Br3hSof9.js +1 -0
- package/web-ui/build/static/c-CnhEGx2K.js +1 -0
- package/web-ui/build/static/c-like-8ph3qbGh.js +1 -0
- package/web-ui/build/static/cal-IgRtvJyR.js +1 -0
- package/web-ui/build/static/capnproto-Brw1rI-t.js +1 -0
- package/web-ui/build/static/ceylon-DZhLRlUy.js +1 -0
- package/web-ui/build/static/cfscript-DQGyJKwK.js +1 -0
- package/web-ui/build/static/chaiscript-C4OGz_un.js +1 -0
- package/web-ui/build/static/cil-DicjcGqk.js +1 -0
- package/web-ui/build/static/clean-DALZvuMV.js +1 -0
- package/web-ui/build/static/clojure-DPpZu94_.js +1 -0
- package/web-ui/build/static/clojure-Wr_wuwna.js +1 -0
- package/web-ui/build/static/clojure-repl-BDrvmjMJ.js +1 -0
- package/web-ui/build/static/cmake-B14DY3nI.js +1 -0
- package/web-ui/build/static/cmake-SYFQC59q.js +1 -0
- package/web-ui/build/static/cobol-abUH09OX.js +1 -0
- package/web-ui/build/static/coffeescript-Bky52ZtC.js +1 -0
- package/web-ui/build/static/coffeescript-zCTO0lvd.js +1 -0
- package/web-ui/build/static/concurnas-CU2vlX2t.js +1 -0
- package/web-ui/build/static/coq-CtQeoOxK.js +1 -0
- package/web-ui/build/static/coq-U_ekdUOC.js +1 -0
- package/web-ui/build/static/cos-I1RAZGcd.js +1 -0
- package/web-ui/build/static/cpp-CBgfByvO.js +1 -0
- package/web-ui/build/static/cpp-DOgzX9Fr.js +1 -0
- package/web-ui/build/static/crmsh-C564oTI3.js +1 -0
- package/web-ui/build/static/crystal-BAkf0Lyu.js +1 -0
- package/web-ui/build/static/crystal-S6p_ZP8F.js +1 -0
- package/web-ui/build/static/csharp-4Eckg4RD.js +1 -0
- package/web-ui/build/static/csharp-BbncLZi-.js +1 -0
- package/web-ui/build/static/cshtml-3CAfDEZr.js +1 -0
- package/web-ui/build/static/csp-B1uCSPSv.js +1 -0
- package/web-ui/build/static/csp-DMRqPioi.js +1 -0
- package/web-ui/build/static/css-BGUkWLMn.js +1 -0
- package/web-ui/build/static/css-extras-BvWk25Qq.js +1 -0
- package/web-ui/build/static/csv-B4b2Q5_f.js +1 -0
- package/web-ui/build/static/cypher-poGwJkDD.js +1 -0
- package/web-ui/build/static/d-DMSHgHAy.js +1 -0
- package/web-ui/build/static/d-cV9sHfbC.js +1 -0
- package/web-ui/build/static/dart-CAw4osRs.js +1 -0
- package/web-ui/build/static/dart-DNd3kAhv.js +1 -0
- package/web-ui/build/static/dataweave-DrBaourx.js +1 -0
- package/web-ui/build/static/dax-BrZwLORG.js +1 -0
- package/web-ui/build/static/delphi-Ct4aE4aH.js +1 -0
- package/web-ui/build/static/dhall-BYoLaIQB.js +1 -0
- package/web-ui/build/static/diff-CnmWuCgJ.js +1 -0
- package/web-ui/build/static/diff-zrcvdd0a.js +1 -0
- package/web-ui/build/static/django-C-oZ7YKd.js +1 -0
- package/web-ui/build/static/django-JpRfMOZ2.js +1 -0
- package/web-ui/build/static/dns-DsSuoCT5.js +1 -0
- package/web-ui/build/static/dns-zone-file-DGrpD-sD.js +1 -0
- package/web-ui/build/static/docker-BIfKAgOO.js +1 -0
- package/web-ui/build/static/dockerfile-pDKCRsua.js +1 -0
- package/web-ui/build/static/dos-tuNLH04p.js +1 -0
- package/web-ui/build/static/dot-ByjtD8Iw.js +1 -0
- package/web-ui/build/static/dsconfig-BCjL4yBF.js +1 -0
- package/web-ui/build/static/dts-DOYzn60p.js +1 -0
- package/web-ui/build/static/dust-CPf1De2a.js +1 -0
- package/web-ui/build/static/ebnf-BqPpYQsv.js +1 -0
- package/web-ui/build/static/ebnf-DtowFnom.js +1 -0
- package/web-ui/build/static/editorconfig-ByGC7lfc.js +1 -0
- package/web-ui/build/static/eiffel-ql_YAW83.js +1 -0
- package/web-ui/build/static/ejs-CEIk0b1t.js +1 -0
- package/web-ui/build/static/elixir-5cZo1rKW.js +1 -0
- package/web-ui/build/static/elixir-kLu8Siuw.js +1 -0
- package/web-ui/build/static/elm-CFEXRK2g.js +1 -0
- package/web-ui/build/static/elm-O7LEJa6N.js +1 -0
- package/web-ui/build/static/erb-CMspOWfC.js +1 -0
- package/web-ui/build/static/erb-DmVFtWWQ.js +1 -0
- package/web-ui/build/static/erlang-CNS4Vy5W.js +1 -0
- package/web-ui/build/static/erlang-DS3YMI6f.js +1 -0
- package/web-ui/build/static/erlang-repl-COpdqM-k.js +1 -0
- package/web-ui/build/static/etlua-BaywXnJ4.js +1 -0
- package/web-ui/build/static/excel-DbD_vagJ.js +1 -0
- package/web-ui/build/static/excel-formula-DvX9phaD.js +1 -0
- package/web-ui/build/static/factor-Dmyoo9jr.js +1 -0
- package/web-ui/build/static/false-CFFZ5oF1.js +1 -0
- package/web-ui/build/static/firestore-security-rules-6gF61FL7.js +1 -0
- package/web-ui/build/static/fix-DqD23dpu.js +1 -0
- package/web-ui/build/static/flix-ByG_SwOl.js +1 -0
- package/web-ui/build/static/flow-_rIgWtyE.js +1 -0
- package/web-ui/build/static/fortran-BxMeEQFu.js +1 -0
- package/web-ui/build/static/fortran-JYN66CoM.js +1 -0
- package/web-ui/build/static/fsharp-DUIudRus.js +1 -0
- package/web-ui/build/static/fsharp-dwrir66Q.js +1 -0
- package/web-ui/build/static/ftl-DE2kycMu.js +1 -0
- package/web-ui/build/static/gams-BdaFBkUq.js +1 -0
- package/web-ui/build/static/gap-DG6uTKtq.js +1 -0
- package/web-ui/build/static/gauss-CdZRpgQN.js +1 -0
- package/web-ui/build/static/gcode-BCwsx3FN.js +1 -0
- package/web-ui/build/static/gcode-DqOLuGTU.js +1 -0
- package/web-ui/build/static/gdscript-CQsGMP79.js +1 -0
- package/web-ui/build/static/gedcom-DjiaJO4h.js +1 -0
- package/web-ui/build/static/gherkin-DKQrzpoe.js +1 -0
- package/web-ui/build/static/gherkin-MN1tGQ_p.js +1 -0
- package/web-ui/build/static/git-BV33OtmB.js +1 -0
- package/web-ui/build/static/glsl-BrKcS_A_.js +1 -0
- package/web-ui/build/static/glsl-zNpiyDT0.js +1 -0
- package/web-ui/build/static/gml-B42QqZwd.js +1 -0
- package/web-ui/build/static/gml-wLSDMYgV.js +1 -0
- package/web-ui/build/static/gn-Bh6e2j59.js +1 -0
- package/web-ui/build/static/go-BcV51Gep.js +1 -0
- package/web-ui/build/static/go-DoEsEvyO.js +1 -0
- package/web-ui/build/static/go-module-CPiCVk-t.js +1 -0
- package/web-ui/build/static/golo-Dm6Qh0rv.js +1 -0
- package/web-ui/build/static/gradle-Bq5SCTs-.js +1 -0
- package/web-ui/build/static/graphql-BMKmdCzB.js +1 -0
- package/web-ui/build/static/groovy-BUPY3Q3Q.js +1 -0
- package/web-ui/build/static/groovy-DJ1fIXgB.js +1 -0
- package/web-ui/build/static/haml-CzbX1nD7.js +1 -0
- package/web-ui/build/static/haml-vci5GS4H.js +1 -0
- package/web-ui/build/static/handlebars-DDKzQGIO.js +1 -0
- package/web-ui/build/static/handlebars-DUBBysQz.js +1 -0
- package/web-ui/build/static/haskell-Becgtpfw.js +1 -0
- package/web-ui/build/static/haskell-DzmxROXt.js +1 -0
- package/web-ui/build/static/haxe-Dn6vv5Ho.js +1 -0
- package/web-ui/build/static/haxe-N5We1g-1.js +1 -0
- package/web-ui/build/static/hcl-aU8RXzqH.js +1 -0
- package/web-ui/build/static/hlsl-DnxH7wd4.js +1 -0
- package/web-ui/build/static/hoon-DxQk5J8Y.js +1 -0
- package/web-ui/build/static/hpkp-CXTY4okp.js +1 -0
- package/web-ui/build/static/hsp-ChPgc1iH.js +1 -0
- package/web-ui/build/static/hsts-DhqErzSD.js +1 -0
- package/web-ui/build/static/htmlbars-C1RX3QEK.js +1 -0
- package/web-ui/build/static/http-CdQuhyze.js +1 -0
- package/web-ui/build/static/http-DIfbUO-8.js +1 -0
- package/web-ui/build/static/hy-CtuvNSVL.js +1 -0
- package/web-ui/build/static/ichigojam-Dhb1oxgM.js +1 -0
- package/web-ui/build/static/icon-18yeuSqY.js +1 -0
- package/web-ui/build/static/icu-message-format-BtING76I.js +1 -0
- package/web-ui/build/static/idris-BpXksRPQ.js +1 -0
- package/web-ui/build/static/iecst-DxsuKh-u.js +1 -0
- package/web-ui/build/static/ignore-LFUqEXDc.js +1 -0
- package/web-ui/build/static/index-CNhxse_k.js +831 -0
- package/web-ui/build/static/index-DTSROa9m.js +13 -0
- package/web-ui/build/static/index-Dn1rYKSW.js +1 -0
- package/web-ui/build/static/inform7-CMWs3Icc.js +1 -0
- package/web-ui/build/static/inform7-IKJ-i25v.js +1 -0
- package/web-ui/build/static/ini-BKx9RlYa.js +1 -0
- package/web-ui/build/static/ini-OuIKSh9I.js +1 -0
- package/web-ui/build/static/io-DsdrD9ck.js +1 -0
- package/web-ui/build/static/irpf90-D8RwjO-X.js +1 -0
- package/web-ui/build/static/isbl-B19anZ4P.js +1 -0
- package/web-ui/build/static/j-cS0ZhHxg.js +1 -0
- package/web-ui/build/static/java-BArfyDLP.js +1 -0
- package/web-ui/build/static/java-CVssvoho.js +1 -0
- package/web-ui/build/static/javadoc-BbYTABTG.js +1 -0
- package/web-ui/build/static/javadoclike-reViVmsX.js +1 -0
- package/web-ui/build/static/javascript-C8BGzZvz.js +1 -0
- package/web-ui/build/static/javastacktrace-DgQT1sKr.js +1 -0
- package/web-ui/build/static/jboss-cli-CXzftW3Q.js +1 -0
- package/web-ui/build/static/jexl-DfYeVq7m.js +1 -0
- package/web-ui/build/static/jolie-BR1u31Sa.js +1 -0
- package/web-ui/build/static/jq-C1FEtJ5S.js +1 -0
- package/web-ui/build/static/js-extras-BRujBZgr.js +1 -0
- package/web-ui/build/static/js-templates-CgsCAf95.js +1 -0
- package/web-ui/build/static/jsdoc-BAN_COOq.js +1 -0
- package/web-ui/build/static/json-CO83p783.js +1 -0
- package/web-ui/build/static/json-D_vV4rAm.js +1 -0
- package/web-ui/build/static/json5-DBDJJEbn.js +1 -0
- package/web-ui/build/static/jsonp-b6P9-KKS.js +1 -0
- package/web-ui/build/static/jsstacktrace-BgPNj9Kj.js +1 -0
- package/web-ui/build/static/jsx-Co4GcrAm.js +1 -0
- package/web-ui/build/static/julia-B9omll60.js +1 -0
- package/web-ui/build/static/julia-BHDCyM-i.js +1 -0
- package/web-ui/build/static/julia-repl-C7Eb4bgJ.js +1 -0
- package/web-ui/build/static/keepalived-Dzp76shL.js +1 -0
- package/web-ui/build/static/keyman-DNvXbNCF.js +1 -0
- package/web-ui/build/static/kotlin-eb0_7isz.js +1 -0
- package/web-ui/build/static/kotlin-i_bUq7c5.js +1 -0
- package/web-ui/build/static/kumir-bzILNJNt.js +1 -0
- package/web-ui/build/static/kusto-DkykNNg-.js +1 -0
- package/web-ui/build/static/lasso-Cqgl3L5V.js +1 -0
- package/web-ui/build/static/latex-BK2d4H00.js +1 -0
- package/web-ui/build/static/latex-CCY9RWja.js +1 -0
- package/web-ui/build/static/latte--1mLyI-m.js +1 -0
- package/web-ui/build/static/ldif-CKpl0obl.js +1 -0
- package/web-ui/build/static/leaf-Cylh6k2i.js +1 -0
- package/web-ui/build/static/less-BF2V9-r1.js +1 -0
- package/web-ui/build/static/less-DZnIlP4J.js +1 -0
- package/web-ui/build/static/lilypond-Q-51NK9a.js +1 -0
- package/web-ui/build/static/liquid-BtFjuu34.js +1 -0
- package/web-ui/build/static/lisp-BTSZLEXC.js +1 -0
- package/web-ui/build/static/lisp-mBPUREKp.js +1 -0
- package/web-ui/build/static/livecodeserver-X2MkrtIh.js +1 -0
- package/web-ui/build/static/livescript-BCGPODju.js +1 -0
- package/web-ui/build/static/livescript-CSRilU12.js +1 -0
- package/web-ui/build/static/llvm-BrA-OPc0.js +1 -0
- package/web-ui/build/static/llvm-CX47EYi9.js +1 -0
- package/web-ui/build/static/log-UmKn5LCr.js +1 -0
- package/web-ui/build/static/lolcode-CzokJ_7T.js +1 -0
- package/web-ui/build/static/lsl-zawAQf0T.js +1 -0
- package/web-ui/build/static/lua-AzLMAnp_.js +1 -0
- package/web-ui/build/static/lua-BCYatl_B.js +1 -0
- package/web-ui/build/static/magma-Vk_HAjNd.js +1 -0
- package/web-ui/build/static/makefile-CBhQfnCA.js +1 -0
- package/web-ui/build/static/makefile-CqmpfcQv.js +1 -0
- package/web-ui/build/static/markdown-DEeiASnV.js +1 -0
- package/web-ui/build/static/markdown-MMAcC-4P.js +1 -0
- package/web-ui/build/static/markup-templating-BIcrJ22L.js +1 -0
- package/web-ui/build/static/mathematica-B0zDtahh.js +1 -0
- package/web-ui/build/static/matlab-BfcWtjh0.js +1 -0
- package/web-ui/build/static/matlab-CzvSbe8w.js +1 -0
- package/web-ui/build/static/maxima-D_OOwDHQ.js +1 -0
- package/web-ui/build/static/maxscript-B0UQqykR.js +1 -0
- package/web-ui/build/static/mel-5BfrTNON.js +1 -0
- package/web-ui/build/static/mel-DVL_6rnq.js +1 -0
- package/web-ui/build/static/mercury-CaNr8hHX.js +1 -0
- package/web-ui/build/static/mermaid-CqSXXPCa.js +1 -0
- package/web-ui/build/static/mipsasm-KebNef0S.js +1 -0
- package/web-ui/build/static/mizar-87NmyJPg.js +1 -0
- package/web-ui/build/static/mizar-Bh-iPnnJ.js +1 -0
- package/web-ui/build/static/mojolicious-RdAGGOBG.js +1 -0
- package/web-ui/build/static/mongodb-D-3TyeHe.js +1 -0
- package/web-ui/build/static/monkey-CBl0NH_G.js +1 -0
- package/web-ui/build/static/monkey-_lVf4ZFO.js +1 -0
- package/web-ui/build/static/moonscript-BWoLiJse.js +1 -0
- package/web-ui/build/static/moonscript-DvK6XosR.js +1 -0
- package/web-ui/build/static/n1ql-BHaHIJwU.js +1 -0
- package/web-ui/build/static/n1ql-DHG6la1y.js +1 -0
- package/web-ui/build/static/n4js-BnEnODnl.js +1 -0
- package/web-ui/build/static/nand2tetris-hdl-Bx_Sdku7.js +1 -0
- package/web-ui/build/static/naniscript-C9LlE8Sm.js +1 -0
- package/web-ui/build/static/nasm-C2RqJeMj.js +1 -0
- package/web-ui/build/static/neon-Htd-1WHg.js +1 -0
- package/web-ui/build/static/nevod-xEEcHJ6H.js +1 -0
- package/web-ui/build/static/nginx-DHZ2TmrY.js +1 -0
- package/web-ui/build/static/nginx-fVaFLr6L.js +1 -0
- package/web-ui/build/static/nim-C0kLUnOo.js +1 -0
- package/web-ui/build/static/nim-D2t9WTJG.js +1 -0
- package/web-ui/build/static/nix-BgS9-fG3.js +1 -0
- package/web-ui/build/static/nix-CJ-ZtUjs.js +1 -0
- package/web-ui/build/static/node-repl-BqDf1Wqa.js +1 -0
- package/web-ui/build/static/nsis-BcbMIXXt.js +1 -0
- package/web-ui/build/static/nsis-Clmq9ubM.js +1 -0
- package/web-ui/build/static/objectivec-CQCJHkDn.js +1 -0
- package/web-ui/build/static/objectivec-l-L7sw2F.js +1 -0
- package/web-ui/build/static/ocaml-CLhfFI9J.js +1 -0
- package/web-ui/build/static/ocaml-CVZbp5Q6.js +1 -0
- package/web-ui/build/static/opencl-FaoxED_5.js +1 -0
- package/web-ui/build/static/openqasm-DowdIaHJ.js +1 -0
- package/web-ui/build/static/openscad-CuV43J87.js +1 -0
- package/web-ui/build/static/oxygene-DFl_S4Mo.js +1 -0
- package/web-ui/build/static/oz-CrZEGs03.js +1 -0
- package/web-ui/build/static/parigp-CgI9msS-.js +1 -0
- package/web-ui/build/static/parser-nTYAMRRR.js +1 -0
- package/web-ui/build/static/parser3-B-s7V2NG.js +1 -0
- package/web-ui/build/static/pascal-DxyFzkBI.js +1 -0
- package/web-ui/build/static/pascaligo-pTESG7CK.js +1 -0
- package/web-ui/build/static/pcaxis-B2X2sY8s.js +1 -0
- package/web-ui/build/static/peoplecode-D3dixWRI.js +1 -0
- package/web-ui/build/static/perl-DzF9wk2I.js +1 -0
- package/web-ui/build/static/perl-r6iIkk3J.js +1 -0
- package/web-ui/build/static/pf-BHt68zPf.js +1 -0
- package/web-ui/build/static/pgsql-DrWBN0mn.js +1 -0
- package/web-ui/build/static/php-B9P0S_Yv.js +1 -0
- package/web-ui/build/static/php-Dq2u1evi.js +1 -0
- package/web-ui/build/static/php-extras-GhxZmNQn.js +1 -0
- package/web-ui/build/static/php-template-wduD2F6a.js +1 -0
- package/web-ui/build/static/phpdoc-S6AgvZj9.js +1 -0
- package/web-ui/build/static/plaintext-CkefHWd1.js +1 -0
- package/web-ui/build/static/plsql-ChhnkKyq.js +1 -0
- package/web-ui/build/static/pony-Ci4oRl2L.js +1 -0
- package/web-ui/build/static/powerquery-htr17QYt.js +1 -0
- package/web-ui/build/static/powershell-BjdbtsWh.js +1 -0
- package/web-ui/build/static/powershell-CfTH6v8E.js +1 -0
- package/web-ui/build/static/processing-CyhVXfth.js +1 -0
- package/web-ui/build/static/processing-DRd0DN-1.js +1 -0
- package/web-ui/build/static/profile-CzLbiRVw.js +1 -0
- package/web-ui/build/static/prolog-C9Bd3AiH.js +1 -0
- package/web-ui/build/static/prolog-SNjuNM01.js +1 -0
- package/web-ui/build/static/promql-w_4MRJZ5.js +1 -0
- package/web-ui/build/static/properties-Bu21gd8n.js +1 -0
- package/web-ui/build/static/properties-CxUTIgqR.js +1 -0
- package/web-ui/build/static/protobuf-Dw_RQ_nq.js +1 -0
- package/web-ui/build/static/protobuf-I-uLxCyW.js +1 -0
- package/web-ui/build/static/psl-60y7CGad.js +1 -0
- package/web-ui/build/static/pug-6TwxG97U.js +1 -0
- package/web-ui/build/static/puppet-DsB7SV7C.js +1 -0
- package/web-ui/build/static/puppet-xYMQTgSK.js +1 -0
- package/web-ui/build/static/pure-B-46644a.js +1 -0
- package/web-ui/build/static/purebasic-C2jTmxCp.js +1 -0
- package/web-ui/build/static/purebasic-DB1qz_79.js +1 -0
- package/web-ui/build/static/purescript-C7X1Jhpv.js +1 -0
- package/web-ui/build/static/python-DdZkdREO.js +1 -0
- package/web-ui/build/static/python-g-3ev0jp.js +1 -0
- package/web-ui/build/static/python-repl-Ba3YgabT.js +1 -0
- package/web-ui/build/static/q-4Xd1x0tI.js +1 -0
- package/web-ui/build/static/q-CFLewr3P.js +1 -0
- package/web-ui/build/static/qml-D1wL69-t.js +1 -0
- package/web-ui/build/static/qml-o0TpTomi.js +1 -0
- package/web-ui/build/static/qore-Bu32uyvk.js +1 -0
- package/web-ui/build/static/qsharp-BlenDeSE.js +1 -0
- package/web-ui/build/static/r-x-9dl4d1.js +1 -0
- package/web-ui/build/static/r-xEFM_Z9P.js +1 -0
- package/web-ui/build/static/racket-B6M0zyVn.js +1 -0
- package/web-ui/build/static/reason-B_YmUFeb.js +1 -0
- package/web-ui/build/static/reasonml-DqV3O6jw.js +1 -0
- package/web-ui/build/static/regex-RpvIR1UC.js +1 -0
- package/web-ui/build/static/rego-DLBfnzDz.js +1 -0
- package/web-ui/build/static/renpy-BPyvMyYV.js +1 -0
- package/web-ui/build/static/rest-BOvObf4b.js +1 -0
- package/web-ui/build/static/rib-CfbyRlOV.js +1 -0
- package/web-ui/build/static/rip-BmGgp-ky.js +1 -0
- package/web-ui/build/static/roboconf-BjlIhdyT.js +1 -0
- package/web-ui/build/static/roboconf-gCvzQFG_.js +1 -0
- package/web-ui/build/static/robotframework-DMIYiZ9n.js +1 -0
- package/web-ui/build/static/routeros-dIA3JsYo.js +1 -0
- package/web-ui/build/static/rsl-C-IHLDiI.js +1 -0
- package/web-ui/build/static/ruby-2UsEEPvi.js +1 -0
- package/web-ui/build/static/ruby-DQuqRBbF.js +1 -0
- package/web-ui/build/static/ruleslanguage-DIX-ZNdD.js +1 -0
- package/web-ui/build/static/rust-C3AZB4MD.js +1 -0
- package/web-ui/build/static/rust-s-uSy2xK.js +1 -0
- package/web-ui/build/static/sas-2ySpLG9-.js +1 -0
- package/web-ui/build/static/sas-BZjFIK6U.js +1 -0
- package/web-ui/build/static/sass-DmfN0RXk.js +1 -0
- package/web-ui/build/static/scala-BWG4D45T.js +1 -0
- package/web-ui/build/static/scala-DORCOJGF.js +1 -0
- package/web-ui/build/static/scheme-Dhf3OcIw.js +1 -0
- package/web-ui/build/static/scheme-RkPOVGvt.js +1 -0
- package/web-ui/build/static/scilab-BPjU1E5p.js +1 -0
- package/web-ui/build/static/scss-Cl5xn34j.js +1 -0
- package/web-ui/build/static/scss-K2UK4NzM.js +1 -0
- package/web-ui/build/static/shell-CnNrPIpO.js +1 -0
- package/web-ui/build/static/shell-session-CWzCvkCd.js +1 -0
- package/web-ui/build/static/smali-BqUloCDk.js +1 -0
- package/web-ui/build/static/smali-D9l7tmuy.js +1 -0
- package/web-ui/build/static/smalltalk-Ch8WtZ3x.js +1 -0
- package/web-ui/build/static/smalltalk-D33bV6Ux.js +1 -0
- package/web-ui/build/static/smarty-DhuA-30v.js +1 -0
- package/web-ui/build/static/sml-CcRV_05i.js +1 -0
- package/web-ui/build/static/sml-Dxy9VWS5.js +1 -0
- package/web-ui/build/static/solidity-B6Q9ss0Q.js +1 -0
- package/web-ui/build/static/solution-file-CdD4U58t.js +1 -0
- package/web-ui/build/static/soy-DwAwdpNx.js +1 -0
- package/web-ui/build/static/sparql-BD7Xi4u4.js +1 -0
- package/web-ui/build/static/splunk-spl-DNR8Nqkh.js +1 -0
- package/web-ui/build/static/sqf-D_eO1j0l.js +1 -0
- package/web-ui/build/static/sqf-RmFM3NP_.js +1 -0
- package/web-ui/build/static/sql-BqcZzHxC.js +1 -0
- package/web-ui/build/static/sql-C1Og8w4D.js +1 -0
- package/web-ui/build/static/sql_more-B8l439k3.js +1 -0
- package/web-ui/build/static/squirrel-k8wRFBEU.js +1 -0
- package/web-ui/build/static/stan-Cyd1Qc2Z.js +1 -0
- package/web-ui/build/static/stan-vaOTiGIw.js +1 -0
- package/web-ui/build/static/stata-BvtPM-UC.js +1 -0
- package/web-ui/build/static/step21-CcJzkfyX.js +1 -0
- package/web-ui/build/static/stylus-BUdFaHOi.js +1 -0
- package/web-ui/build/static/stylus-DZUxYm7B.js +1 -0
- package/web-ui/build/static/subunit-BLFu1vy1.js +1 -0
- package/web-ui/build/static/swift-4C37Wfzo.js +1 -0
- package/web-ui/build/static/swift-tpG5dEoC.js +1 -0
- package/web-ui/build/static/systemd-CZAHgFou.js +1 -0
- package/web-ui/build/static/t4-cs-BzDTdhsq.js +1 -0
- package/web-ui/build/static/t4-templating-BnNIhX-m.js +1 -0
- package/web-ui/build/static/t4-vb-WH6kXP4O.js +1 -0
- package/web-ui/build/static/taggerscript-DPuoT3fc.js +1 -0
- package/web-ui/build/static/tap-CRdOSYnA.js +1 -0
- package/web-ui/build/static/tap-Cfv7r5Y1.js +1 -0
- package/web-ui/build/static/tcl-C57QpMKe.js +1 -0
- package/web-ui/build/static/tcl-D_HhrQb7.js +1 -0
- package/web-ui/build/static/textile-HiZT-42r.js +1 -0
- package/web-ui/build/static/thrift-BIevTRAV.js +1 -0
- package/web-ui/build/static/toml-Dzu0VuJT.js +1 -0
- package/web-ui/build/static/tp-BcFKGcDv.js +1 -0
- package/web-ui/build/static/tremor-ChPj0YkW.js +1 -0
- package/web-ui/build/static/tsx-DEgPhspu.js +1 -0
- package/web-ui/build/static/tt2-zECU_j-n.js +1 -0
- package/web-ui/build/static/turtle-DSxo1JVc.js +1 -0
- package/web-ui/build/static/twig-BzzbcVU0.js +1 -0
- package/web-ui/build/static/twig-DD8ck-xB.js +1 -0
- package/web-ui/build/static/typescript-mfGLA69h.js +1 -0
- package/web-ui/build/static/typescript-obXwfhtv.js +1 -0
- package/web-ui/build/static/typoscript-DGRFkQ44.js +1 -0
- package/web-ui/build/static/unrealscript-C71Cshhh.js +1 -0
- package/web-ui/build/static/uorazor--YPn6YI1.js +1 -0
- package/web-ui/build/static/uri-DiBB6LAn.js +1 -0
- package/web-ui/build/static/v-DD6j4G3R.js +1 -0
- package/web-ui/build/static/vala-90B6tBz6.js +1 -0
- package/web-ui/build/static/vala-CPgj-_9p.js +1 -0
- package/web-ui/build/static/vbnet-Ct4CtLUY.js +1 -0
- package/web-ui/build/static/vbnet-Dt71G1FN.js +1 -0
- package/web-ui/build/static/vbscript-2A1bKLI8.js +1 -0
- package/web-ui/build/static/vbscript-html-BNSfZskj.js +1 -0
- package/web-ui/build/static/velocity-Cw07cCrw.js +1 -0
- package/web-ui/build/static/verilog-Appxv8wV.js +1 -0
- package/web-ui/build/static/verilog-gFSdUnSn.js +1 -0
- package/web-ui/build/static/vhdl-326_OrM2.js +1 -0
- package/web-ui/build/static/vhdl-BGaNDNIa.js +1 -0
- package/web-ui/build/static/vim-D1mEwoEz.js +1 -0
- package/web-ui/build/static/vim-lvX3nIwq.js +1 -0
- package/web-ui/build/static/visual-basic-C5WWtiVx.js +1 -0
- package/web-ui/build/static/warpscript-CF7kIXUC.js +1 -0
- package/web-ui/build/static/wasm-BHfGEvXM.js +1 -0
- package/web-ui/build/static/web-idl-U4Bu4xZZ.js +1 -0
- package/web-ui/build/static/wiki-Cypfsr_n.js +1 -0
- package/web-ui/build/static/wolfram-B4afYjEC.js +1 -0
- package/web-ui/build/static/wren-CIleRBn0.js +1 -0
- package/web-ui/build/static/x86asm-C-79USsG.js +1 -0
- package/web-ui/build/static/xeora-CSaM51pY.js +1 -0
- package/web-ui/build/static/xl-CuiQZS3B.js +1 -0
- package/web-ui/build/static/xml-C6jbRHrj.js +1 -0
- package/web-ui/build/static/xml-doc-CV7qp07_.js +1 -0
- package/web-ui/build/static/xojo-D4t2uWPH.js +1 -0
- package/web-ui/build/static/xquery-DT_Ao6QG.js +1 -0
- package/web-ui/build/static/xquery-DnKodhmy.js +1 -0
- package/web-ui/build/static/yaml-CLiRAuyI.js +1 -0
- package/web-ui/build/static/yaml-aulSfOTJ.js +1 -0
- package/web-ui/build/static/yang-C1R60r9w.js +1 -0
- package/web-ui/build/static/zephir-D_18ShED.js +1 -0
- package/web-ui/build/static/zig-C-01pua6.js +1 -0
- package/web-ui/build/static/1c-BbzHQBlF.js +0 -1
- package/web-ui/build/static/abap-EA2x-VX2.js +0 -1
- package/web-ui/build/static/abnf-Bs33FQDv.js +0 -1
- package/web-ui/build/static/abnf-DizpbWFd.js +0 -1
- package/web-ui/build/static/accesslog-CBy3t2c3.js +0 -1
- package/web-ui/build/static/actionscript-CxzDwAGi.js +0 -1
- package/web-ui/build/static/actionscript-D1fdjYRJ.js +0 -1
- package/web-ui/build/static/ada-DQFOd0Dy.js +0 -1
- package/web-ui/build/static/ada-DpW-m5RL.js +0 -1
- package/web-ui/build/static/agda-DLmtdQyM.js +0 -1
- package/web-ui/build/static/al-BDGiUEcS.js +0 -1
- package/web-ui/build/static/angelscript-D9vH4cb9.js +0 -1
- package/web-ui/build/static/antlr4-Bs_h1sQb.js +0 -1
- package/web-ui/build/static/apache-Cz2vCIKe.js +0 -1
- package/web-ui/build/static/apacheconf-CJiPQCKG.js +0 -1
- package/web-ui/build/static/apex-DOH948qy.js +0 -1
- package/web-ui/build/static/apl-Dvb-UHyh.js +0 -1
- package/web-ui/build/static/applescript-BWK3Z9rm.js +0 -1
- package/web-ui/build/static/applescript-DzappaBK.js +0 -1
- package/web-ui/build/static/aql-BhvJ5Qo5.js +0 -1
- package/web-ui/build/static/arcade-CYPHnQ8i.js +0 -1
- package/web-ui/build/static/arduino-Bftbcfp4.js +0 -1
- package/web-ui/build/static/arduino-BkZtGqiZ.js +0 -1
- package/web-ui/build/static/arff-eZYQ-iYN.js +0 -1
- package/web-ui/build/static/armasm-N6WxdzPk.js +0 -1
- package/web-ui/build/static/asciidoc-C6RnbVcU.js +0 -1
- package/web-ui/build/static/asciidoc-CM7TG3h9.js +0 -1
- package/web-ui/build/static/asm6502-BaucYNeM.js +0 -1
- package/web-ui/build/static/asmatmel-B5xsIMMq.js +0 -1
- package/web-ui/build/static/aspectj-BO7nETNc.js +0 -1
- package/web-ui/build/static/aspnet-BF_Sop3N.js +0 -1
- package/web-ui/build/static/autohotkey-C_Wfc9vD.js +0 -1
- package/web-ui/build/static/autohotkey-CzGXYim7.js +0 -1
- package/web-ui/build/static/autoit-CCQlxYj9.js +0 -1
- package/web-ui/build/static/autoit-DZl3SjZP.js +0 -1
- package/web-ui/build/static/avisynth-Ds5zGLpA.js +0 -1
- package/web-ui/build/static/avrasm-pRbkB6Hb.js +0 -1
- package/web-ui/build/static/avro-idl--Eft_3HG.js +0 -1
- package/web-ui/build/static/awk-B9M1CJL4.js +0 -1
- package/web-ui/build/static/axapta-DfDRZzdk.js +0 -1
- package/web-ui/build/static/bash-CCOC3ZUp.js +0 -1
- package/web-ui/build/static/bash-Cyid2zg_.js +0 -1
- package/web-ui/build/static/basic-DBQRgguG.js +0 -1
- package/web-ui/build/static/basic-DFedGxql.js +0 -1
- package/web-ui/build/static/batch-1uqDgb9B.js +0 -1
- package/web-ui/build/static/bbcode-BFW_vFZR.js +0 -1
- package/web-ui/build/static/bicep-DYvO2lR0.js +0 -1
- package/web-ui/build/static/birb-CSWpZzeR.js +0 -1
- package/web-ui/build/static/bison-CYSO7kwg.js +0 -1
- package/web-ui/build/static/bnf-B5ExG1GG.js +0 -1
- package/web-ui/build/static/bnf-DM0LjczC.js +0 -1
- package/web-ui/build/static/brainfuck-DUaT7by9.js +0 -1
- package/web-ui/build/static/brainfuck-Ed457baR.js +0 -1
- package/web-ui/build/static/brightscript-CcHedHah.js +0 -1
- package/web-ui/build/static/bro-B68WOXLr.js +0 -1
- package/web-ui/build/static/bsl-BrpN9yfA.js +0 -1
- package/web-ui/build/static/c-BHTqSD0-.js +0 -1
- package/web-ui/build/static/c-DB09WGhv.js +0 -1
- package/web-ui/build/static/c-like-DiGy0pYy.js +0 -1
- package/web-ui/build/static/cal-BORJ0RH-.js +0 -1
- package/web-ui/build/static/capnproto-DdvswRZG.js +0 -1
- package/web-ui/build/static/ceylon-D69BGqS3.js +0 -1
- package/web-ui/build/static/cfscript-DFH5Fvel.js +0 -1
- package/web-ui/build/static/chaiscript-DOeHoV5f.js +0 -1
- package/web-ui/build/static/cil-54x7U9sd.js +0 -1
- package/web-ui/build/static/clean-DSPrfUyl.js +0 -1
- package/web-ui/build/static/clojure-BGCFHA-o.js +0 -1
- package/web-ui/build/static/clojure-DW1uVs4J.js +0 -1
- package/web-ui/build/static/clojure-repl-CmgJJcjR.js +0 -1
- package/web-ui/build/static/cmake-B4uknxnM.js +0 -1
- package/web-ui/build/static/cmake-BmILsWe8.js +0 -1
- package/web-ui/build/static/cobol-CH-KQLSz.js +0 -1
- package/web-ui/build/static/coffeescript-DUntywPl.js +0 -1
- package/web-ui/build/static/coffeescript-aHBXArzH.js +0 -1
- package/web-ui/build/static/concurnas-CYu4U4Jk.js +0 -1
- package/web-ui/build/static/coq-AqoMF526.js +0 -1
- package/web-ui/build/static/coq-Clpb7_-H.js +0 -1
- package/web-ui/build/static/cos-mbGKdDdY.js +0 -1
- package/web-ui/build/static/cpp-BPRNyBn2.js +0 -1
- package/web-ui/build/static/cpp-Cx0w_hrJ.js +0 -1
- package/web-ui/build/static/crmsh-4hdMy5Sa.js +0 -1
- package/web-ui/build/static/crystal-2TdOl8wd.js +0 -1
- package/web-ui/build/static/crystal-BGarf6Mn.js +0 -1
- package/web-ui/build/static/csharp-Bv5Wwffq.js +0 -1
- package/web-ui/build/static/csharp-c-9enFZV.js +0 -1
- package/web-ui/build/static/cshtml-DUgYLu1f.js +0 -1
- package/web-ui/build/static/csp-Cizi56fk.js +0 -1
- package/web-ui/build/static/csp-CoHKC7Xe.js +0 -1
- package/web-ui/build/static/css-Db3sdYBT.js +0 -1
- package/web-ui/build/static/css-extras-BANcPn_K.js +0 -1
- package/web-ui/build/static/csv-BBAAXFMe.js +0 -1
- package/web-ui/build/static/cypher-CYHYSO7V.js +0 -1
- package/web-ui/build/static/d-Bhy24L5D.js +0 -1
- package/web-ui/build/static/d-C2G5---Q.js +0 -1
- package/web-ui/build/static/dart-9HLJVGCA.js +0 -1
- package/web-ui/build/static/dart-BilxnOFE.js +0 -1
- package/web-ui/build/static/dataweave-jaCC94N4.js +0 -1
- package/web-ui/build/static/dax-9szgKKLB.js +0 -1
- package/web-ui/build/static/delphi-D2TdvbT0.js +0 -1
- package/web-ui/build/static/dhall-4237a36Q.js +0 -1
- package/web-ui/build/static/diff--oashhYJ.js +0 -1
- package/web-ui/build/static/diff-ldnmCxg0.js +0 -1
- package/web-ui/build/static/django-BXD5QihR.js +0 -1
- package/web-ui/build/static/django-DZO2Fhz_.js +0 -1
- package/web-ui/build/static/dns-CwKCZYEb.js +0 -1
- package/web-ui/build/static/dns-zone-file-C0aUT_8f.js +0 -1
- package/web-ui/build/static/docker-BqM2IW2J.js +0 -1
- package/web-ui/build/static/dockerfile-DAXL-kMe.js +0 -1
- package/web-ui/build/static/dos-Cn3tSieE.js +0 -1
- package/web-ui/build/static/dot-CdyzkR9r.js +0 -1
- package/web-ui/build/static/dsconfig-p0lhPPAy.js +0 -1
- package/web-ui/build/static/dts-CyO9xrc2.js +0 -1
- package/web-ui/build/static/dust-CUlrn-am.js +0 -1
- package/web-ui/build/static/ebnf-BIzwiUmz.js +0 -1
- package/web-ui/build/static/ebnf-CbDk5JM3.js +0 -1
- package/web-ui/build/static/editorconfig-D_2TImiQ.js +0 -1
- package/web-ui/build/static/eiffel-CQRNBDqA.js +0 -1
- package/web-ui/build/static/ejs-DGj_S29C.js +0 -1
- package/web-ui/build/static/elixir-DuJFHUgt.js +0 -1
- package/web-ui/build/static/elixir-_xp5UZ-D.js +0 -1
- package/web-ui/build/static/elm-BmzVcdEI.js +0 -1
- package/web-ui/build/static/elm-drEAPXpE.js +0 -1
- package/web-ui/build/static/erb-BMlMda3o.js +0 -1
- package/web-ui/build/static/erb-bYW4nuO9.js +0 -1
- package/web-ui/build/static/erlang-BZq0zyAD.js +0 -1
- package/web-ui/build/static/erlang-Bstv4jMY.js +0 -1
- package/web-ui/build/static/erlang-repl-BZWEeElK.js +0 -1
- package/web-ui/build/static/etlua-29-21aBp.js +0 -1
- package/web-ui/build/static/excel-CnjxS7a2.js +0 -1
- package/web-ui/build/static/excel-formula-CrXFdqdA.js +0 -1
- package/web-ui/build/static/factor-D2DeivXh.js +0 -1
- package/web-ui/build/static/false-BahFR1MJ.js +0 -1
- package/web-ui/build/static/firestore-security-rules-DZlilbzn.js +0 -1
- package/web-ui/build/static/fix-CAnP-4S4.js +0 -1
- package/web-ui/build/static/flix-jFNnIw1B.js +0 -1
- package/web-ui/build/static/flow-ClNZBlSh.js +0 -1
- package/web-ui/build/static/fortran-1B_cygRB.js +0 -1
- package/web-ui/build/static/fortran-CXrQ6mXv.js +0 -1
- package/web-ui/build/static/fsharp-CTU4cKo0.js +0 -1
- package/web-ui/build/static/fsharp-DBY8aRoY.js +0 -1
- package/web-ui/build/static/ftl-j5niv9Bm.js +0 -1
- package/web-ui/build/static/gams-QW1Jlwpt.js +0 -1
- package/web-ui/build/static/gap-BmXz5h7S.js +0 -1
- package/web-ui/build/static/gauss-ClAcTzQi.js +0 -1
- package/web-ui/build/static/gcode-CNJBI8Fu.js +0 -1
- package/web-ui/build/static/gcode-DWDWbdyH.js +0 -1
- package/web-ui/build/static/gdscript-vubl1-Pf.js +0 -1
- package/web-ui/build/static/gedcom-BJURnAI4.js +0 -1
- package/web-ui/build/static/gherkin-BSIxfHt2.js +0 -1
- package/web-ui/build/static/gherkin-DWOrAqH4.js +0 -1
- package/web-ui/build/static/git-CGx_ZJhD.js +0 -1
- package/web-ui/build/static/glsl-BRAppl9h.js +0 -1
- package/web-ui/build/static/glsl-CrX_aagT.js +0 -1
- package/web-ui/build/static/gml-95-4ZLie.js +0 -1
- package/web-ui/build/static/gml-BE7scTLP.js +0 -1
- package/web-ui/build/static/gn-BinX4KNg.js +0 -1
- package/web-ui/build/static/go-BRzZXEkM.js +0 -1
- package/web-ui/build/static/go-CYc4vXfo.js +0 -1
- package/web-ui/build/static/go-module-gdV-44vm.js +0 -1
- package/web-ui/build/static/golo-J8PhOV5H.js +0 -1
- package/web-ui/build/static/gradle-CanWQ-BA.js +0 -1
- package/web-ui/build/static/graphql-BWUqUqdn.js +0 -1
- package/web-ui/build/static/groovy-Cnx4hJNe.js +0 -1
- package/web-ui/build/static/groovy-mBo8_Hp2.js +0 -1
- package/web-ui/build/static/haml-fMr-NvzF.js +0 -1
- package/web-ui/build/static/haml-tgd-P-dV.js +0 -1
- package/web-ui/build/static/handlebars-CWombTcq.js +0 -1
- package/web-ui/build/static/handlebars-CkSpr85Y.js +0 -1
- package/web-ui/build/static/haskell-CDIj8KS2.js +0 -1
- package/web-ui/build/static/haskell-Cd_so3vh.js +0 -1
- package/web-ui/build/static/haxe-64YyM8U6.js +0 -1
- package/web-ui/build/static/haxe-DJ1HZc8M.js +0 -1
- package/web-ui/build/static/hcl-D7TRGtBj.js +0 -1
- package/web-ui/build/static/hlsl-Dc2Pqiw4.js +0 -1
- package/web-ui/build/static/hoon-D4gfaEb8.js +0 -1
- package/web-ui/build/static/hpkp--dxVGtRo.js +0 -1
- package/web-ui/build/static/hsp-B4Xcj3Ft.js +0 -1
- package/web-ui/build/static/hsts-3PyMVRvm.js +0 -1
- package/web-ui/build/static/htmlbars-X9lc4ALx.js +0 -1
- package/web-ui/build/static/http-B78RMt19.js +0 -1
- package/web-ui/build/static/http-DbMEsD4Z.js +0 -1
- package/web-ui/build/static/hy-Bv8NFYlp.js +0 -1
- package/web-ui/build/static/ichigojam-BqqlFcFV.js +0 -1
- package/web-ui/build/static/icon-BbdvtZW1.js +0 -1
- package/web-ui/build/static/icu-message-format-BINm1I4C.js +0 -1
- package/web-ui/build/static/idris-C2o0VXkt.js +0 -1
- package/web-ui/build/static/iecst-B1eN-RZb.js +0 -1
- package/web-ui/build/static/ignore-Df2jg15c.js +0 -1
- package/web-ui/build/static/index-D0OeSKu9.js +0 -13
- package/web-ui/build/static/index-D39j_ic7.js +0 -831
- package/web-ui/build/static/index-mq2zaryu.js +0 -1
- package/web-ui/build/static/inform7-CNDLIRe-.js +0 -1
- package/web-ui/build/static/inform7-_JjuWWn2.js +0 -1
- package/web-ui/build/static/ini-CzB_AEnk.js +0 -1
- package/web-ui/build/static/ini-DLOiBWLg.js +0 -1
- package/web-ui/build/static/io-jDD56dli.js +0 -1
- package/web-ui/build/static/irpf90-DdSjFX9A.js +0 -1
- package/web-ui/build/static/isbl-mdW1cDoq.js +0 -1
- package/web-ui/build/static/j-BfBHEd4c.js +0 -1
- package/web-ui/build/static/java-3e5YwgG0.js +0 -1
- package/web-ui/build/static/java-vVrxTKNL.js +0 -1
- package/web-ui/build/static/javadoc-CEYRep16.js +0 -1
- package/web-ui/build/static/javadoclike-BrteIHXn.js +0 -1
- package/web-ui/build/static/javascript-C3GBYZ_Z.js +0 -1
- package/web-ui/build/static/javastacktrace-BS81jpsd.js +0 -1
- package/web-ui/build/static/jboss-cli-hcgm5WFV.js +0 -1
- package/web-ui/build/static/jexl-C2doOSVL.js +0 -1
- package/web-ui/build/static/jolie-bSS9rY0t.js +0 -1
- package/web-ui/build/static/jq-CohWytfY.js +0 -1
- package/web-ui/build/static/js-extras-D2hRBHEY.js +0 -1
- package/web-ui/build/static/js-templates-AhE3Imt0.js +0 -1
- package/web-ui/build/static/jsdoc-2lqA3eFn.js +0 -1
- package/web-ui/build/static/json-DSsCSXkX.js +0 -1
- package/web-ui/build/static/json-DrN6g2k3.js +0 -1
- package/web-ui/build/static/json5-DJsPkKyO.js +0 -1
- package/web-ui/build/static/jsonp-wgapXnyd.js +0 -1
- package/web-ui/build/static/jsstacktrace-B9wLFAM-.js +0 -1
- package/web-ui/build/static/jsx-Bmx-z5CX.js +0 -1
- package/web-ui/build/static/julia-B_4DriV0.js +0 -1
- package/web-ui/build/static/julia-CwqSqPuP.js +0 -1
- package/web-ui/build/static/julia-repl-ClbXnud4.js +0 -1
- package/web-ui/build/static/keepalived-CS7e1Km1.js +0 -1
- package/web-ui/build/static/keyman-Ysn5e8JW.js +0 -1
- package/web-ui/build/static/kotlin-BTAeuubS.js +0 -1
- package/web-ui/build/static/kotlin-DNTZurjT.js +0 -1
- package/web-ui/build/static/kumir-CzKcaM11.js +0 -1
- package/web-ui/build/static/kusto-CVsdPfxw.js +0 -1
- package/web-ui/build/static/lasso-B66uAJ9F.js +0 -1
- package/web-ui/build/static/latex-BHSQYicD.js +0 -1
- package/web-ui/build/static/latex-Co9p2DnB.js +0 -1
- package/web-ui/build/static/latte-Bm4Z7erF.js +0 -1
- package/web-ui/build/static/ldif-ajvWC6nG.js +0 -1
- package/web-ui/build/static/leaf-COSDkvxe.js +0 -1
- package/web-ui/build/static/less-ChvtFf5e.js +0 -1
- package/web-ui/build/static/less-D0XumieY.js +0 -1
- package/web-ui/build/static/lilypond-D2uHbQ8D.js +0 -1
- package/web-ui/build/static/liquid-B_46TpTe.js +0 -1
- package/web-ui/build/static/lisp-BRIrxEy1.js +0 -1
- package/web-ui/build/static/lisp-blAy3soM.js +0 -1
- package/web-ui/build/static/livecodeserver-DzNeJl8M.js +0 -1
- package/web-ui/build/static/livescript-DVG0CRdS.js +0 -1
- package/web-ui/build/static/livescript-UmOgSXVX.js +0 -1
- package/web-ui/build/static/llvm-C-crqI3C.js +0 -1
- package/web-ui/build/static/llvm-dBaZm_Nl.js +0 -1
- package/web-ui/build/static/log-CYZbqBSN.js +0 -1
- package/web-ui/build/static/lolcode-DfuG1iEj.js +0 -1
- package/web-ui/build/static/lsl-CMkgjXGi.js +0 -1
- package/web-ui/build/static/lua-Bja14m3Q.js +0 -1
- package/web-ui/build/static/lua-iUBPGzy4.js +0 -1
- package/web-ui/build/static/magma-Bzn8vmNi.js +0 -1
- package/web-ui/build/static/makefile-CVGxJXuc.js +0 -1
- package/web-ui/build/static/makefile-UpO4Masr.js +0 -1
- package/web-ui/build/static/markdown-BmlFckIe.js +0 -1
- package/web-ui/build/static/markdown-De819SyN.js +0 -1
- package/web-ui/build/static/markup-templating-CRlbq9R0.js +0 -1
- package/web-ui/build/static/mathematica-Dfd9T4d-.js +0 -1
- package/web-ui/build/static/matlab-B3DHbBVE.js +0 -1
- package/web-ui/build/static/matlab-DfBfq5io.js +0 -1
- package/web-ui/build/static/maxima-Cjf8-TQE.js +0 -1
- package/web-ui/build/static/maxscript-gCI7YRpF.js +0 -1
- package/web-ui/build/static/mel-BuhoUC-Q.js +0 -1
- package/web-ui/build/static/mel-DLlt-NSt.js +0 -1
- package/web-ui/build/static/mercury-D_BuP9uO.js +0 -1
- package/web-ui/build/static/mermaid-1PGxbi8F.js +0 -1
- package/web-ui/build/static/mipsasm-BqlLxpGh.js +0 -1
- package/web-ui/build/static/mizar-D2k8XFk7.js +0 -1
- package/web-ui/build/static/mizar-blnX8vHH.js +0 -1
- package/web-ui/build/static/mojolicious-anWOI1Ez.js +0 -1
- package/web-ui/build/static/mongodb-BehHhDzv.js +0 -1
- package/web-ui/build/static/monkey-BLrAKiSf.js +0 -1
- package/web-ui/build/static/monkey-DxxNjJJS.js +0 -1
- package/web-ui/build/static/moonscript-BbmkK7oI.js +0 -1
- package/web-ui/build/static/moonscript-f0wjh7GX.js +0 -1
- package/web-ui/build/static/n1ql-DWtYpgC4.js +0 -1
- package/web-ui/build/static/n1ql-DYIhp_Re.js +0 -1
- package/web-ui/build/static/n4js-tNcm5teb.js +0 -1
- package/web-ui/build/static/nand2tetris-hdl-DBYCBBL-.js +0 -1
- package/web-ui/build/static/naniscript-D3_KsPkD.js +0 -1
- package/web-ui/build/static/nasm-CNaNirqn.js +0 -1
- package/web-ui/build/static/neon-DFJ64GTl.js +0 -1
- package/web-ui/build/static/nevod-BML44bC7.js +0 -1
- package/web-ui/build/static/nginx-C5wpgsVe.js +0 -1
- package/web-ui/build/static/nginx-CGz4sJwK.js +0 -1
- package/web-ui/build/static/nim-CLLdNXzZ.js +0 -1
- package/web-ui/build/static/nim-DgBWXEst.js +0 -1
- package/web-ui/build/static/nix-BMWnMs2t.js +0 -1
- package/web-ui/build/static/nix-DUIca49y.js +0 -1
- package/web-ui/build/static/node-repl-nYzY3x-M.js +0 -1
- package/web-ui/build/static/nsis-BdX9cwP8.js +0 -1
- package/web-ui/build/static/nsis-KIiyaabz.js +0 -1
- package/web-ui/build/static/objectivec-Cm2jJu9D.js +0 -1
- package/web-ui/build/static/objectivec-Cygq2h1h.js +0 -1
- package/web-ui/build/static/ocaml-DRhKkHYJ.js +0 -1
- package/web-ui/build/static/ocaml-Dih7DWzk.js +0 -1
- package/web-ui/build/static/opencl-Y9qSQd4q.js +0 -1
- package/web-ui/build/static/openqasm-Bfxf2wOY.js +0 -1
- package/web-ui/build/static/openscad-BcEFvXd5.js +0 -1
- package/web-ui/build/static/oxygene-B3tvJv_K.js +0 -1
- package/web-ui/build/static/oz-BDJWCElB.js +0 -1
- package/web-ui/build/static/parigp-44xJ-aUu.js +0 -1
- package/web-ui/build/static/parser-HeYPjhtt.js +0 -1
- package/web-ui/build/static/parser3-DY0wOiPu.js +0 -1
- package/web-ui/build/static/pascal-kTCnN1RR.js +0 -1
- package/web-ui/build/static/pascaligo-C7o5NZQZ.js +0 -1
- package/web-ui/build/static/pcaxis-B8_5iL8t.js +0 -1
- package/web-ui/build/static/peoplecode-CCU-4u8P.js +0 -1
- package/web-ui/build/static/perl-B3eM1vNk.js +0 -1
- package/web-ui/build/static/perl-BWPIG--8.js +0 -1
- package/web-ui/build/static/pf-CScWLlue.js +0 -1
- package/web-ui/build/static/pgsql-BDO62gua.js +0 -1
- package/web-ui/build/static/php-CE0bJTUa.js +0 -1
- package/web-ui/build/static/php-CU_Zfkw1.js +0 -1
- package/web-ui/build/static/php-extras-C7uS50Ut.js +0 -1
- package/web-ui/build/static/php-template-BIJOlGw0.js +0 -1
- package/web-ui/build/static/phpdoc-Bd_c9KhT.js +0 -1
- package/web-ui/build/static/plaintext-C4fe7prc.js +0 -1
- package/web-ui/build/static/plsql-DsgiWfi1.js +0 -1
- package/web-ui/build/static/pony-Cs2_xi4S.js +0 -1
- package/web-ui/build/static/powerquery-CPbb4uAH.js +0 -1
- package/web-ui/build/static/powershell-CU0Buqdo.js +0 -1
- package/web-ui/build/static/powershell-XmaDRoF5.js +0 -1
- package/web-ui/build/static/processing-C_gqVcwu.js +0 -1
- package/web-ui/build/static/processing-CyD64x7R.js +0 -1
- package/web-ui/build/static/profile-CmJ8zYJW.js +0 -1
- package/web-ui/build/static/prolog-CyEYjtJW.js +0 -1
- package/web-ui/build/static/prolog-D5fenkjJ.js +0 -1
- package/web-ui/build/static/promql-dnnLRoq0.js +0 -1
- package/web-ui/build/static/properties-Bl_duXdu.js +0 -1
- package/web-ui/build/static/properties-rkUHxQd8.js +0 -1
- package/web-ui/build/static/protobuf-e1dDYqdS.js +0 -1
- package/web-ui/build/static/protobuf-wfA6JVc7.js +0 -1
- package/web-ui/build/static/psl-Dqm7URp7.js +0 -1
- package/web-ui/build/static/pug-cyyrMI26.js +0 -1
- package/web-ui/build/static/puppet--p69xBTl.js +0 -1
- package/web-ui/build/static/puppet-B_23kddL.js +0 -1
- package/web-ui/build/static/pure-DasPpgO9.js +0 -1
- package/web-ui/build/static/purebasic-BrszJv_V.js +0 -1
- package/web-ui/build/static/purebasic-DDcXxwLq.js +0 -1
- package/web-ui/build/static/purescript-BwPH_Z-w.js +0 -1
- package/web-ui/build/static/python-CXiJCxt-.js +0 -1
- package/web-ui/build/static/python-D3148l6Q.js +0 -1
- package/web-ui/build/static/python-repl-Bexf4Pvp.js +0 -1
- package/web-ui/build/static/q-DFvFaZE1.js +0 -1
- package/web-ui/build/static/q-fcStq_Ib.js +0 -1
- package/web-ui/build/static/qml-CKJVb8yy.js +0 -1
- package/web-ui/build/static/qml-CaCJQpgR.js +0 -1
- package/web-ui/build/static/qore-B1_Q5H9z.js +0 -1
- package/web-ui/build/static/qsharp-D630MCsl.js +0 -1
- package/web-ui/build/static/r-CYlZBmW3.js +0 -1
- package/web-ui/build/static/r-D7Teq6Ak.js +0 -1
- package/web-ui/build/static/racket-CZ5FXYzU.js +0 -1
- package/web-ui/build/static/reason-Ds7QYUS1.js +0 -1
- package/web-ui/build/static/reasonml-Rj6uXoZt.js +0 -1
- package/web-ui/build/static/regex-Dim55dWl.js +0 -1
- package/web-ui/build/static/rego-DKUev9Hj.js +0 -1
- package/web-ui/build/static/renpy-DIjQNbNL.js +0 -1
- package/web-ui/build/static/rest-Cjn9gTuB.js +0 -1
- package/web-ui/build/static/rib-D6Mm1WnR.js +0 -1
- package/web-ui/build/static/rip-D9b6EJU2.js +0 -1
- package/web-ui/build/static/roboconf-C0sCw1D_.js +0 -1
- package/web-ui/build/static/roboconf-cKAJgV8a.js +0 -1
- package/web-ui/build/static/robotframework-BidwutDW.js +0 -1
- package/web-ui/build/static/routeros-DiEExebj.js +0 -1
- package/web-ui/build/static/rsl-B9VsodpN.js +0 -1
- package/web-ui/build/static/ruby-DGR8c-bv.js +0 -1
- package/web-ui/build/static/ruby-r-f2LYUG.js +0 -1
- package/web-ui/build/static/ruleslanguage-Dzyu25FF.js +0 -1
- package/web-ui/build/static/rust-BAjh4p6h.js +0 -1
- package/web-ui/build/static/rust-DaYM9smB.js +0 -1
- package/web-ui/build/static/sas-Br35zR-5.js +0 -1
- package/web-ui/build/static/sas-CfPULy9T.js +0 -1
- package/web-ui/build/static/sass-BsrkTaSx.js +0 -1
- package/web-ui/build/static/scala-CqGuDF-N.js +0 -1
- package/web-ui/build/static/scala-DW4q5V4s.js +0 -1
- package/web-ui/build/static/scheme-9Fv3BBZC.js +0 -1
- package/web-ui/build/static/scheme-sJxa4PtW.js +0 -1
- package/web-ui/build/static/scilab-BEj8oAV5.js +0 -1
- package/web-ui/build/static/scss-ClTlgyaM.js +0 -1
- package/web-ui/build/static/scss-_W99p9-3.js +0 -1
- package/web-ui/build/static/shell-Bj6XEjgZ.js +0 -1
- package/web-ui/build/static/shell-session-03eoNSIa.js +0 -1
- package/web-ui/build/static/smali-CP7-kfk-.js +0 -1
- package/web-ui/build/static/smali-CkydYRDK.js +0 -1
- package/web-ui/build/static/smalltalk-154iSFUX.js +0 -1
- package/web-ui/build/static/smalltalk-BnBosw9z.js +0 -1
- package/web-ui/build/static/smarty-DrP596Sz.js +0 -1
- package/web-ui/build/static/sml-C7-GcATf.js +0 -1
- package/web-ui/build/static/sml-D5r_mKj1.js +0 -1
- package/web-ui/build/static/solidity-Cy-37A6U.js +0 -1
- package/web-ui/build/static/solution-file-BTP-_CNt.js +0 -1
- package/web-ui/build/static/soy-D_3oOyi2.js +0 -1
- package/web-ui/build/static/sparql-BUxH-oEi.js +0 -1
- package/web-ui/build/static/splunk-spl-ydooemHh.js +0 -1
- package/web-ui/build/static/sqf-BKkdMfdt.js +0 -1
- package/web-ui/build/static/sqf-nDIkCEZ7.js +0 -1
- package/web-ui/build/static/sql-DgHDIUow.js +0 -1
- package/web-ui/build/static/sql-rW5jQ3ML.js +0 -1
- package/web-ui/build/static/sql_more-ClI9ZBSM.js +0 -1
- package/web-ui/build/static/squirrel-Bc3i-fmL.js +0 -1
- package/web-ui/build/static/stan-ClI-YGO7.js +0 -1
- package/web-ui/build/static/stan-DakKGhOw.js +0 -1
- package/web-ui/build/static/stata-DPtmV_Qb.js +0 -1
- package/web-ui/build/static/step21-D24tbJJ_.js +0 -1
- package/web-ui/build/static/stylus-rbzveyBR.js +0 -1
- package/web-ui/build/static/stylus-za-3v2pT.js +0 -1
- package/web-ui/build/static/subunit-K5O6lhfW.js +0 -1
- package/web-ui/build/static/swift-CZFEmc58.js +0 -1
- package/web-ui/build/static/swift-DNBtxDcy.js +0 -1
- package/web-ui/build/static/systemd-BEkgAVnL.js +0 -1
- package/web-ui/build/static/t4-cs-IBLpYuR9.js +0 -1
- package/web-ui/build/static/t4-templating-CXw52J3y.js +0 -1
- package/web-ui/build/static/t4-vb-kFfrJm3I.js +0 -1
- package/web-ui/build/static/taggerscript-CmF9JGEA.js +0 -1
- package/web-ui/build/static/tap-CD5eF0sN.js +0 -1
- package/web-ui/build/static/tap-CVDhVdmP.js +0 -1
- package/web-ui/build/static/tcl-DraJ3Sfb.js +0 -1
- package/web-ui/build/static/tcl-V2mkrFh4.js +0 -1
- package/web-ui/build/static/textile-B62gEM2Y.js +0 -1
- package/web-ui/build/static/thrift-BsrJLwe5.js +0 -1
- package/web-ui/build/static/toml-kNJM8JE6.js +0 -1
- package/web-ui/build/static/tp-D-gkr5bo.js +0 -1
- package/web-ui/build/static/tremor-Bzg_cr42.js +0 -1
- package/web-ui/build/static/tsx-5IjJjwPe.js +0 -1
- package/web-ui/build/static/tt2-CosBg4xh.js +0 -1
- package/web-ui/build/static/turtle-C6zmCCSG.js +0 -1
- package/web-ui/build/static/twig-C9Z3W3Pu.js +0 -1
- package/web-ui/build/static/twig-Ci0nSBuu.js +0 -1
- package/web-ui/build/static/typescript-CO_DRYiH.js +0 -1
- package/web-ui/build/static/typescript-KUsr27HX.js +0 -1
- package/web-ui/build/static/typoscript-CtsgjdXC.js +0 -1
- package/web-ui/build/static/unrealscript-Curvfm56.js +0 -1
- package/web-ui/build/static/uorazor-BCEq8Fdd.js +0 -1
- package/web-ui/build/static/uri-a2FjFj6K.js +0 -1
- package/web-ui/build/static/v-CUxPPRYc.js +0 -1
- package/web-ui/build/static/vala-C0DDohpX.js +0 -1
- package/web-ui/build/static/vala-C5u1qEan.js +0 -1
- package/web-ui/build/static/vbnet-CEkrisUz.js +0 -1
- package/web-ui/build/static/vbnet-jSMlhHn4.js +0 -1
- package/web-ui/build/static/vbscript-CxS3uFuX.js +0 -1
- package/web-ui/build/static/vbscript-html-DrYMqZwh.js +0 -1
- package/web-ui/build/static/velocity--xldXatp.js +0 -1
- package/web-ui/build/static/verilog-BR52XKZI.js +0 -1
- package/web-ui/build/static/verilog-CxBsZmns.js +0 -1
- package/web-ui/build/static/vhdl-CZLZJEDz.js +0 -1
- package/web-ui/build/static/vhdl-DxeSf_uW.js +0 -1
- package/web-ui/build/static/vim-CCjjLKFP.js +0 -1
- package/web-ui/build/static/vim-CDYgRHU6.js +0 -1
- package/web-ui/build/static/visual-basic-DqHFz9dY.js +0 -1
- package/web-ui/build/static/warpscript-DzMyteIo.js +0 -1
- package/web-ui/build/static/wasm-BnSUdK7_.js +0 -1
- package/web-ui/build/static/web-idl-Bpgv-Gtd.js +0 -1
- package/web-ui/build/static/wiki-aAwxEhFS.js +0 -1
- package/web-ui/build/static/wolfram-K0ssNZYc.js +0 -1
- package/web-ui/build/static/wren-A7VtXKxy.js +0 -1
- package/web-ui/build/static/x86asm-D3OC2rGU.js +0 -1
- package/web-ui/build/static/xeora-Fd-hCdpL.js +0 -1
- package/web-ui/build/static/xl-BWLDspwg.js +0 -1
- package/web-ui/build/static/xml-CLi-y5lE.js +0 -1
- package/web-ui/build/static/xml-doc-CLlGgI7V.js +0 -1
- package/web-ui/build/static/xojo-DO_a9sGm.js +0 -1
- package/web-ui/build/static/xquery-B8tWoM9v.js +0 -1
- package/web-ui/build/static/xquery-CPXrtNkK.js +0 -1
- package/web-ui/build/static/yaml-BZ3EjQX3.js +0 -1
- package/web-ui/build/static/yaml-K-TYwTQz.js +0 -1
- package/web-ui/build/static/yang-C6PwnpSl.js +0 -1
- package/web-ui/build/static/zephir-DJcaUQ9K.js +0 -1
- package/web-ui/build/static/zig-D9pbvi2x.js +0 -1
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -38,8 +38,7 @@ import TaskManagerTool from './tools/taskManagerTool.js';
|
|
|
38
38
|
import ImportAnalyzerTool from './tools/importAnalyzerTool.js';
|
|
39
39
|
import DependencyResolverTool from './tools/dependencyResolverTool.js';
|
|
40
40
|
import ImageTool from './tools/imageTool.js';
|
|
41
|
-
|
|
42
|
-
// import VideoTool from './tools/videoTool.js';
|
|
41
|
+
import VideoTool from './tools/videoTool.js';
|
|
43
42
|
import StaticAnalysisTool from './tools/staticAnalysisTool.js';
|
|
44
43
|
import CloneDetectionTool from './tools/cloneDetectionTool.js';
|
|
45
44
|
import FileTreeTool from './tools/fileTreeTool.js';
|
|
@@ -436,9 +435,8 @@ class LoxiaApplication {
|
|
|
436
435
|
// Register Image Generation Tool
|
|
437
436
|
await this.toolsRegistry.registerTool(ImageTool);
|
|
438
437
|
|
|
439
|
-
// Register Video Generation Tool
|
|
440
|
-
|
|
441
|
-
// await this.toolsRegistry.registerTool(VideoTool);
|
|
438
|
+
// Register Video Generation Tool (Sora 2)
|
|
439
|
+
await this.toolsRegistry.registerTool(VideoTool);
|
|
442
440
|
|
|
443
441
|
// Register Static Analysis Tool
|
|
444
442
|
await this.toolsRegistry.registerTool(StaticAnalysisTool);
|
|
@@ -544,16 +542,16 @@ class LoxiaApplication {
|
|
|
544
542
|
this.logger.info('Dependencies set for Vision Tool');
|
|
545
543
|
}
|
|
546
544
|
|
|
547
|
-
//
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
545
|
+
// Video generation (Sora 2)
|
|
546
|
+
const videoTool = this.toolsRegistry.getTool('video-gen');
|
|
547
|
+
if (videoTool && typeof videoTool.setAIService === 'function') {
|
|
548
|
+
videoTool.setAIService(this.aiService);
|
|
549
|
+
this.logger.info('AIService set for Video Generation Tool');
|
|
550
|
+
}
|
|
551
|
+
if (videoTool && typeof videoTool.setAgentPool === 'function') {
|
|
552
|
+
videoTool.setAgentPool(this.agentPool);
|
|
553
|
+
this.logger.info('AgentPool set for Video Generation Tool');
|
|
554
|
+
}
|
|
557
555
|
|
|
558
556
|
// Set WhatsApp Service dependency for WhatsApp Tool
|
|
559
557
|
const whatsappTool = this.toolsRegistry.getTool('whatsapp');
|
|
@@ -792,7 +790,29 @@ class LoxiaApplication {
|
|
|
792
790
|
'Navigation timeout',
|
|
793
791
|
'net::ERR_',
|
|
794
792
|
'Requesting main frame too early',
|
|
795
|
-
'Connection closed'
|
|
793
|
+
'Connection closed',
|
|
794
|
+
// AI/model errors should NOT crash the server
|
|
795
|
+
'HTTP 4', // 400, 401, 403, 404, 429, etc.
|
|
796
|
+
'HTTP 5', // 500, 502, 503, etc.
|
|
797
|
+
'circuit breaker',
|
|
798
|
+
'Rate limit',
|
|
799
|
+
'Insufficient credits',
|
|
800
|
+
'not suitable for chat',
|
|
801
|
+
'No API key configured',
|
|
802
|
+
'Message content is empty',
|
|
803
|
+
'Backend returned malformed',
|
|
804
|
+
'stream generator',
|
|
805
|
+
'No response choices',
|
|
806
|
+
'model error',
|
|
807
|
+
'isModelError',
|
|
808
|
+
'Service temporarily unavailable',
|
|
809
|
+
'Failed to fetch models',
|
|
810
|
+
'ECONNREFUSED',
|
|
811
|
+
'ETIMEDOUT',
|
|
812
|
+
'ECONNRESET',
|
|
813
|
+
'fetch failed',
|
|
814
|
+
'AbortError',
|
|
815
|
+
'The operation was aborted'
|
|
796
816
|
];
|
|
797
817
|
|
|
798
818
|
const isNonCritical = nonCriticalPatterns.some(pattern =>
|
|
@@ -1267,7 +1267,11 @@ h2{color:#16a34a;margin-bottom:.5rem;} p{color:#666;}</style></head>
|
|
|
1267
1267
|
apiKey = authHeader.substring(7);
|
|
1268
1268
|
}
|
|
1269
1269
|
|
|
1270
|
-
// If no API key, try
|
|
1270
|
+
// If no API key, try apiKeyManager, config, or environment
|
|
1271
|
+
if (!apiKey && this.apiKeyManager) {
|
|
1272
|
+
const keys = this.apiKeyManager.getKeysForRequest?.(null, { platformProvided: true });
|
|
1273
|
+
if (keys?.loxiaApiKey) apiKey = keys.loxiaApiKey;
|
|
1274
|
+
}
|
|
1271
1275
|
if (!apiKey) {
|
|
1272
1276
|
apiKey = this.config.loxiaApiKey || process.env.LOXIA_API_KEY;
|
|
1273
1277
|
}
|
|
@@ -1298,13 +1298,13 @@ class AIService {
|
|
|
1298
1298
|
}
|
|
1299
1299
|
|
|
1300
1300
|
/**
|
|
1301
|
-
* Generate a video using Sora
|
|
1301
|
+
* Generate a video using Sora 2 (or dynamically resolved video model)
|
|
1302
1302
|
* This submits a video generation job and returns a job ID for polling
|
|
1303
1303
|
* @param {string} prompt - Text description of the video to generate
|
|
1304
1304
|
* @param {Object} options - Options
|
|
1305
|
-
* @param {number} options.width - Video width (default:
|
|
1305
|
+
* @param {number} options.width - Video width (default: 1920)
|
|
1306
1306
|
* @param {number} options.height - Video height (default: 1080)
|
|
1307
|
-
* @param {number} options.duration - Duration in seconds 1-
|
|
1307
|
+
* @param {number} options.duration - Duration in seconds 1-25 (default: 10)
|
|
1308
1308
|
* @param {number} options.variants - Number of variants 1-4 (default: 1)
|
|
1309
1309
|
* @param {string} options.model - Model to use (resolved from modelsService if omitted)
|
|
1310
1310
|
* @param {string} options.sessionId - Session ID for API key retrieval
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for VisionTool vision model selection logic.
|
|
3
|
+
*
|
|
4
|
+
* The _selectVisionModel method picks the best available vision model
|
|
5
|
+
* using a priority keyword list, falling back to agent's current model
|
|
6
|
+
* or the first available vision model.
|
|
7
|
+
*
|
|
8
|
+
* We test the logic directly (same approach as webTool.visionModel.test.js)
|
|
9
|
+
* to avoid importing the full VisionTool with its heavy BaseTool + fs dependencies.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import { describe, test, expect } from '@jest/globals';
|
|
13
|
+
|
|
14
|
+
// Replicate the exact priority list from visionTool.js
|
|
15
|
+
const VISION_MODEL_PRIORITY = ['o4-mini', 'kimi', 'gpt-5-mini', 'gpt-5-nano', 'gpt-4.1-mini', 'gpt-4.1', 'o3', 'gpt-5'];
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Replicate _selectVisionModel + _getVisionModels logic from visionTool.js
|
|
19
|
+
*/
|
|
20
|
+
function selectVisionModel(models, context = {}) {
|
|
21
|
+
const visionModels = (models || []).filter(m => m.supportsVision === true);
|
|
22
|
+
|
|
23
|
+
// 1. Priority keyword search
|
|
24
|
+
for (const keyword of VISION_MODEL_PRIORITY) {
|
|
25
|
+
const match = visionModels.find(m => m.name.toLowerCase().includes(keyword));
|
|
26
|
+
if (match) return match.name;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// 2. Agent's current model if it has vision
|
|
30
|
+
const agentModel = context.currentModel;
|
|
31
|
+
if (agentModel && visionModels.some(m => m.name === agentModel)) {
|
|
32
|
+
return agentModel;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// 3. First available vision model
|
|
36
|
+
if (visionModels.length > 0) return visionModels[0].name;
|
|
37
|
+
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function getVisionModels(models) {
|
|
42
|
+
return (models || []).filter(m => m.supportsVision === true);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Full model catalog simulation
|
|
46
|
+
const ALL_MODELS = [
|
|
47
|
+
{ name: 'gpt-5.4', supportsVision: false },
|
|
48
|
+
{ name: 'gpt-5.4-mini', supportsVision: false },
|
|
49
|
+
{ name: 'gpt-5-chat', supportsVision: true },
|
|
50
|
+
{ name: 'gpt-5-mini', supportsVision: true },
|
|
51
|
+
{ name: 'gpt-5-nano', supportsVision: true },
|
|
52
|
+
{ name: 'gpt-4.1', supportsVision: true },
|
|
53
|
+
{ name: 'gpt-4.1-mini', supportsVision: true },
|
|
54
|
+
{ name: 'gpt-4.1-nano', supportsVision: true },
|
|
55
|
+
{ name: 'o4-mini', supportsVision: true },
|
|
56
|
+
{ name: 'o3', supportsVision: true },
|
|
57
|
+
{ name: 'grok-4', supportsVision: true },
|
|
58
|
+
{ name: 'grok-4-fast-reasoning', supportsVision: true },
|
|
59
|
+
{ name: 'Kimi-K2.5', supportsVision: true },
|
|
60
|
+
{ name: 'DeepSeek-V3.2', supportsVision: false },
|
|
61
|
+
{ name: 'DeepSeek-R1-0528', supportsVision: false },
|
|
62
|
+
{ name: 'gpt-5.3-codex', supportsVision: false },
|
|
63
|
+
{ name: 'Phi-4-reasoning', supportsVision: false },
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
describe('VisionTool model selection logic', () => {
|
|
67
|
+
|
|
68
|
+
// ── Priority keyword matching ────────────────────────────────
|
|
69
|
+
describe('priority-based selection', () => {
|
|
70
|
+
test('selects o4-mini as top priority', () => {
|
|
71
|
+
expect(selectVisionModel(ALL_MODELS)).toBe('o4-mini');
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
test('selects Kimi-K2.5 when o4-mini unavailable', () => {
|
|
75
|
+
const models = ALL_MODELS.filter(m => m.name !== 'o4-mini');
|
|
76
|
+
expect(selectVisionModel(models)).toBe('Kimi-K2.5');
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
test('selects gpt-5-mini when o4-mini and Kimi unavailable', () => {
|
|
80
|
+
const models = ALL_MODELS.filter(m => !['o4-mini', 'Kimi-K2.5'].includes(m.name));
|
|
81
|
+
expect(selectVisionModel(models)).toBe('gpt-5-mini');
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
test('selects gpt-5-nano when higher-priority mini models unavailable', () => {
|
|
85
|
+
const models = ALL_MODELS.filter(m =>
|
|
86
|
+
!['o4-mini', 'Kimi-K2.5', 'gpt-5-mini'].includes(m.name)
|
|
87
|
+
);
|
|
88
|
+
expect(selectVisionModel(models)).toBe('gpt-5-nano');
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
test('selects gpt-4.1-mini next', () => {
|
|
92
|
+
const models = ALL_MODELS.filter(m =>
|
|
93
|
+
!['o4-mini', 'Kimi-K2.5', 'gpt-5-mini', 'gpt-5-nano'].includes(m.name)
|
|
94
|
+
);
|
|
95
|
+
expect(selectVisionModel(models)).toBe('gpt-4.1-mini');
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
test('selects gpt-4.1 after mini variant', () => {
|
|
99
|
+
const models = ALL_MODELS.filter(m =>
|
|
100
|
+
!['o4-mini', 'Kimi-K2.5', 'gpt-5-mini', 'gpt-5-nano', 'gpt-4.1-mini'].includes(m.name)
|
|
101
|
+
);
|
|
102
|
+
expect(selectVisionModel(models)).toBe('gpt-4.1');
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
test('selects o3 when only reasoning models available', () => {
|
|
106
|
+
const models = [
|
|
107
|
+
{ name: 'o3', supportsVision: true },
|
|
108
|
+
{ name: 'grok-4', supportsVision: true },
|
|
109
|
+
];
|
|
110
|
+
expect(selectVisionModel(models)).toBe('o3');
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
test('matches gpt-5-chat via "gpt-5" keyword (last in priority)', () => {
|
|
114
|
+
const models = [
|
|
115
|
+
{ name: 'gpt-5-chat', supportsVision: true },
|
|
116
|
+
{ name: 'grok-4', supportsVision: true },
|
|
117
|
+
];
|
|
118
|
+
expect(selectVisionModel(models)).toBe('gpt-5-chat');
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
test('skips non-vision models even if name matches priority keyword', () => {
|
|
122
|
+
const models = [
|
|
123
|
+
{ name: 'gpt-5-mini-no-vision', supportsVision: false },
|
|
124
|
+
{ name: 'grok-4', supportsVision: true },
|
|
125
|
+
];
|
|
126
|
+
expect(selectVisionModel(models)).toBe('grok-4');
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
// ── Agent current model fallback ─────────────────────────────
|
|
131
|
+
describe('agent current model fallback', () => {
|
|
132
|
+
test('uses agent current model when no priority keywords match', () => {
|
|
133
|
+
const models = [
|
|
134
|
+
{ name: 'exotic-vision-model', supportsVision: true },
|
|
135
|
+
{ name: 'another-exotic', supportsVision: true },
|
|
136
|
+
];
|
|
137
|
+
expect(selectVisionModel(models, { currentModel: 'exotic-vision-model' }))
|
|
138
|
+
.toBe('exotic-vision-model');
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
test('ignores agent current model if it lacks vision', () => {
|
|
142
|
+
const models = [
|
|
143
|
+
{ name: 'agent-model', supportsVision: false },
|
|
144
|
+
{ name: 'fallback-vision', supportsVision: true },
|
|
145
|
+
];
|
|
146
|
+
expect(selectVisionModel(models, { currentModel: 'agent-model' }))
|
|
147
|
+
.toBe('fallback-vision');
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
test('prefers priority keyword over agent current model', () => {
|
|
151
|
+
expect(selectVisionModel(ALL_MODELS, { currentModel: 'grok-4' }))
|
|
152
|
+
.toBe('o4-mini');
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
// ── First available fallback ─────────────────────────────────
|
|
157
|
+
describe('first available fallback', () => {
|
|
158
|
+
test('falls back to first vision model when nothing matches', () => {
|
|
159
|
+
const models = [
|
|
160
|
+
{ name: 'custom-a', supportsVision: true },
|
|
161
|
+
{ name: 'custom-b', supportsVision: true },
|
|
162
|
+
];
|
|
163
|
+
expect(selectVisionModel(models)).toBe('custom-a');
|
|
164
|
+
});
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
// ── No vision models ─────────────────────────────────────────
|
|
168
|
+
describe('no vision models', () => {
|
|
169
|
+
test('returns null when no models have vision', () => {
|
|
170
|
+
const models = [
|
|
171
|
+
{ name: 'gpt-5.3-codex', supportsVision: false },
|
|
172
|
+
{ name: 'DeepSeek-V3.2', supportsVision: false },
|
|
173
|
+
];
|
|
174
|
+
expect(selectVisionModel(models)).toBeNull();
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
test('returns null for empty list', () => {
|
|
178
|
+
expect(selectVisionModel([])).toBeNull();
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
test('returns null for null', () => {
|
|
182
|
+
expect(selectVisionModel(null)).toBeNull();
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
// ── getVisionModels filtering ────────────────────────────────
|
|
187
|
+
describe('getVisionModels', () => {
|
|
188
|
+
test('only returns models with supportsVision === true', () => {
|
|
189
|
+
const result = getVisionModels(ALL_MODELS);
|
|
190
|
+
expect(result.every(m => m.supportsVision)).toBe(true);
|
|
191
|
+
expect(result.length).toBe(ALL_MODELS.filter(m => m.supportsVision).length);
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
test('excludes codex, DeepSeek, Phi models (no vision)', () => {
|
|
195
|
+
const result = getVisionModels(ALL_MODELS);
|
|
196
|
+
const names = result.map(m => m.name);
|
|
197
|
+
expect(names).not.toContain('gpt-5.3-codex');
|
|
198
|
+
expect(names).not.toContain('DeepSeek-V3.2');
|
|
199
|
+
expect(names).not.toContain('Phi-4-reasoning');
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
// ── Old Anthropic keywords no longer match ───────────────────
|
|
204
|
+
describe('Anthropic removal verification', () => {
|
|
205
|
+
test('priority list does NOT contain opus or sonnet', () => {
|
|
206
|
+
expect(VISION_MODEL_PRIORITY).not.toContain('opus');
|
|
207
|
+
expect(VISION_MODEL_PRIORITY).not.toContain('sonnet');
|
|
208
|
+
expect(VISION_MODEL_PRIORITY.some(k => k.includes('claude'))).toBe(false);
|
|
209
|
+
expect(VISION_MODEL_PRIORITY.some(k => k.includes('anthropic'))).toBe(false);
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
});
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for WebTool._selectVisionModel() — the dynamic vision model
|
|
3
|
+
* selector used for screenshot analysis.
|
|
4
|
+
*
|
|
5
|
+
* Verifies:
|
|
6
|
+
* - Priority keyword matching (o4-mini > kimi > gpt-5-mini > ...)
|
|
7
|
+
* - Falls back to first vision model when no keywords match
|
|
8
|
+
* - Returns null when modelsService is unavailable
|
|
9
|
+
* - Non-vision models are excluded
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import { jest, describe, test, expect } from '@jest/globals';
|
|
13
|
+
|
|
14
|
+
// We can't easily import the full WebTool (heavy Puppeteer dependency),
|
|
15
|
+
// so we extract and test the _selectVisionModel logic directly.
|
|
16
|
+
// The method is simple enough to replicate in isolation.
|
|
17
|
+
|
|
18
|
+
const PRIORITY = ['o4-mini', 'kimi', 'gpt-5-mini', 'gpt-5-nano', 'gpt-4.1-mini', 'gpt-4.1', 'o3', 'gpt-5'];
|
|
19
|
+
|
|
20
|
+
function selectVisionModel(context) {
|
|
21
|
+
const modelsService = context.aiService?.modelsService;
|
|
22
|
+
if (!modelsService) return null;
|
|
23
|
+
|
|
24
|
+
const allModels = modelsService.getModels?.() || [];
|
|
25
|
+
const visionModels = allModels.filter(m => m.supportsVision === true);
|
|
26
|
+
if (visionModels.length === 0) return null;
|
|
27
|
+
|
|
28
|
+
for (const keyword of PRIORITY) {
|
|
29
|
+
const match = visionModels.find(m => m.name.toLowerCase().includes(keyword));
|
|
30
|
+
if (match) return match.name;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return visionModels[0].name;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function makeContext(models) {
|
|
37
|
+
return {
|
|
38
|
+
aiService: {
|
|
39
|
+
modelsService: {
|
|
40
|
+
getModels: () => models
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const ALL_MODELS = [
|
|
47
|
+
{ name: 'o4-mini', supportsVision: true },
|
|
48
|
+
{ name: 'o3', supportsVision: true },
|
|
49
|
+
{ name: 'gpt-5-mini', supportsVision: true },
|
|
50
|
+
{ name: 'gpt-4.1', supportsVision: true },
|
|
51
|
+
{ name: 'Kimi-K2.5', supportsVision: true },
|
|
52
|
+
{ name: 'grok-4', supportsVision: true },
|
|
53
|
+
{ name: 'gpt-5.3-codex', supportsVision: false },
|
|
54
|
+
{ name: 'DeepSeek-V3.2', supportsVision: false },
|
|
55
|
+
];
|
|
56
|
+
|
|
57
|
+
describe('WebTool._selectVisionModel (logic test)', () => {
|
|
58
|
+
|
|
59
|
+
test('selects o4-mini as top priority', () => {
|
|
60
|
+
expect(selectVisionModel(makeContext(ALL_MODELS))).toBe('o4-mini');
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
test('selects Kimi-K2.5 when o4-mini unavailable', () => {
|
|
64
|
+
const models = ALL_MODELS.filter(m => m.name !== 'o4-mini');
|
|
65
|
+
expect(selectVisionModel(makeContext(models))).toBe('Kimi-K2.5');
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
test('selects gpt-5-mini when o4-mini and Kimi unavailable', () => {
|
|
69
|
+
const models = ALL_MODELS.filter(m => !['o4-mini', 'Kimi-K2.5'].includes(m.name));
|
|
70
|
+
expect(selectVisionModel(makeContext(models))).toBe('gpt-5-mini');
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
test('selects o3 when only o3 and grok have vision', () => {
|
|
74
|
+
const models = [
|
|
75
|
+
{ name: 'o3', supportsVision: true },
|
|
76
|
+
{ name: 'grok-4', supportsVision: true },
|
|
77
|
+
];
|
|
78
|
+
expect(selectVisionModel(makeContext(models))).toBe('o3');
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
test('falls back to first vision model when no keywords match', () => {
|
|
82
|
+
const models = [
|
|
83
|
+
{ name: 'exotic-vision-1', supportsVision: true },
|
|
84
|
+
{ name: 'exotic-vision-2', supportsVision: true },
|
|
85
|
+
];
|
|
86
|
+
expect(selectVisionModel(makeContext(models))).toBe('exotic-vision-1');
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
test('skips non-vision models', () => {
|
|
90
|
+
const models = [
|
|
91
|
+
{ name: 'gpt-5.3-codex', supportsVision: false },
|
|
92
|
+
{ name: 'grok-4', supportsVision: true },
|
|
93
|
+
];
|
|
94
|
+
expect(selectVisionModel(makeContext(models))).toBe('grok-4');
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
test('returns null when no vision models exist', () => {
|
|
98
|
+
const models = [
|
|
99
|
+
{ name: 'gpt-5.3-codex', supportsVision: false },
|
|
100
|
+
];
|
|
101
|
+
expect(selectVisionModel(makeContext(models))).toBeNull();
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
test('returns null when models list is empty', () => {
|
|
105
|
+
expect(selectVisionModel(makeContext([]))).toBeNull();
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
test('returns null when aiService has no modelsService', () => {
|
|
109
|
+
expect(selectVisionModel({ aiService: {} })).toBeNull();
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
test('returns null when context has no aiService', () => {
|
|
113
|
+
expect(selectVisionModel({})).toBeNull();
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
test('analyzeScreenshot would use o4-mini as fallback when _selectVisionModel returns null', () => {
|
|
117
|
+
// The actual code does: this._selectVisionModel(context) || 'o4-mini'
|
|
118
|
+
const result = selectVisionModel({}) || 'o4-mini';
|
|
119
|
+
expect(result).toBe('o4-mini');
|
|
120
|
+
});
|
|
121
|
+
});
|
package/src/tools/videoTool.js
CHANGED
|
@@ -10,23 +10,27 @@ import { BaseTool } from './baseTool.js';
|
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Configuration constants for video generation
|
|
13
|
-
*
|
|
13
|
+
* Updated for Sora 2 API specifications (supports both Sora 1 and Sora 2)
|
|
14
14
|
*/
|
|
15
15
|
const VIDEO_CONFIG = {
|
|
16
16
|
DEFAULT_MODEL: null, // Resolved dynamically from modelsService via aiService
|
|
17
|
-
DEFAULT_WIDTH:
|
|
17
|
+
DEFAULT_WIDTH: 1920,
|
|
18
18
|
DEFAULT_HEIGHT: 1080,
|
|
19
|
-
DEFAULT_DURATION:
|
|
19
|
+
DEFAULT_DURATION: 10, // seconds
|
|
20
20
|
DEFAULT_VARIANTS: 1,
|
|
21
|
-
// Sora
|
|
21
|
+
// Sora 2 supported resolutions (superset of Sora 1 + new HD/4K options)
|
|
22
22
|
VALID_RESOLUTIONS: [
|
|
23
|
-
|
|
24
|
-
'
|
|
23
|
+
// Landscape
|
|
24
|
+
'1920x1080', '1792x1024', '1280x720', '854x480',
|
|
25
|
+
// Portrait
|
|
26
|
+
'1080x1920', '1024x1792', '720x1280', '480x854',
|
|
27
|
+
// Square
|
|
28
|
+
'1080x1080', '720x720', '480x480'
|
|
25
29
|
],
|
|
26
30
|
MIN_DURATION: 1,
|
|
27
|
-
MAX_DURATION:
|
|
31
|
+
MAX_DURATION: 25, // seconds (Sora 2 supports up to 25s)
|
|
28
32
|
MAX_VARIANTS: 4,
|
|
29
|
-
MAX_CONCURRENT: 2,
|
|
33
|
+
MAX_CONCURRENT: 2,
|
|
30
34
|
QUEUE_LIMIT: 5,
|
|
31
35
|
POLL_INTERVAL: 5000, // 5 seconds between status checks
|
|
32
36
|
MAX_POLL_TIME: 600000, // 10 minutes max wait
|
|
@@ -36,7 +40,7 @@ const VIDEO_CONFIG = {
|
|
|
36
40
|
};
|
|
37
41
|
|
|
38
42
|
/**
|
|
39
|
-
* VideoTool - Generate videos using Sora AI model
|
|
43
|
+
* VideoTool - Generate videos using Sora 2 AI model
|
|
40
44
|
* Supports async job-based processing with polling
|
|
41
45
|
*/
|
|
42
46
|
export class VideoTool extends BaseTool {
|
|
@@ -91,9 +95,9 @@ export class VideoTool extends BaseTool {
|
|
|
91
95
|
* @returns {string} Formatted tool description
|
|
92
96
|
*/
|
|
93
97
|
getDescription() {
|
|
94
|
-
return `Tool: Video Generator - Generate videos using Sora
|
|
98
|
+
return `Tool: Video Generator - Generate videos using Sora 2
|
|
95
99
|
|
|
96
|
-
**Purpose:** Generate videos from text descriptions using Sora. Videos are saved to files and displayed in chat.
|
|
100
|
+
**Purpose:** Generate videos from text descriptions using Sora 2. Videos are saved to files and displayed in chat.
|
|
97
101
|
|
|
98
102
|
**CRITICAL: Automatic Execution**
|
|
99
103
|
- ANY \`\`\`json block with "toolId": "video-gen" will be EXECUTED IMMEDIATELY
|
|
@@ -107,9 +111,9 @@ export class VideoTool extends BaseTool {
|
|
|
107
111
|
"parameters": {
|
|
108
112
|
"prompt": "Detailed description of the video",
|
|
109
113
|
"outputPath": "videos/filename.mp4",
|
|
110
|
-
"width":
|
|
114
|
+
"width": 1920,
|
|
111
115
|
"height": 1080,
|
|
112
|
-
"duration":
|
|
116
|
+
"duration": 10
|
|
113
117
|
}
|
|
114
118
|
}
|
|
115
119
|
\`\`\`
|
|
@@ -117,12 +121,12 @@ export class VideoTool extends BaseTool {
|
|
|
117
121
|
**Parameters:**
|
|
118
122
|
- **prompt** (required): Detailed description of video to generate
|
|
119
123
|
- **outputPath** (optional): Path to save video (permanent). Omit for temp file.
|
|
120
|
-
- **width** (optional): Video width - 480, 720, 854, 1080, 1280, 1792, 1920 (default:
|
|
121
|
-
- **height** (optional): Video height - 480, 720, 854, 1080, 1280, 1792, 1920 (default: 1080)
|
|
122
|
-
- **duration** (optional): Duration in seconds, 1-
|
|
124
|
+
- **width** (optional): Video width - 480, 720, 854, 1024, 1080, 1280, 1792, 1920 (default: 1920)
|
|
125
|
+
- **height** (optional): Video height - 480, 720, 854, 1024, 1080, 1280, 1792, 1920 (default: 1080)
|
|
126
|
+
- **duration** (optional): Duration in seconds, 1-25 (default: 10)
|
|
123
127
|
- **variants** (optional): Number of video variants to generate, 1-4 (default: 1)
|
|
124
128
|
|
|
125
|
-
**Valid Resolutions:**
|
|
129
|
+
**Valid Resolutions:** 1920x1080, 1792x1024, 1280x720, 854x480, 1080x1920, 1024x1792, 720x1280, 480x854, 1080x1080, 720x720, 480x480
|
|
126
130
|
|
|
127
131
|
**EXAMPLE:**
|
|
128
132
|
User: "create a video of a cat playing"
|
package/src/tools/visionTool.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Purpose:
|
|
5
5
|
* - Analyze images from disk with natural language questions
|
|
6
6
|
* - Session-based: first call uploads image, subsequent calls reuse it
|
|
7
|
-
* - Uses the best available vision model (prefers
|
|
7
|
+
* - Uses the best available vision model (prefers o4-mini for best MMMU/cost ratio)
|
|
8
8
|
* - Returns structured answers only (no filler text)
|
|
9
9
|
*
|
|
10
10
|
* Actions:
|
|
@@ -18,12 +18,12 @@ import { BaseTool } from './baseTool.js';
|
|
|
18
18
|
import { promises as fs } from 'fs';
|
|
19
19
|
import path from 'path';
|
|
20
20
|
|
|
21
|
-
//
|
|
22
|
-
// 1.
|
|
23
|
-
// 2.
|
|
24
|
-
// 3.
|
|
25
|
-
//
|
|
26
|
-
const VISION_MODEL_PRIORITY = ['
|
|
21
|
+
// Vision model selection priority (best MMMU-Pro score / cost ratio):
|
|
22
|
+
// 1. Keyword match from priority list below (filtered to vision-capable only)
|
|
23
|
+
// 2. Agent's current model if it has vision capability
|
|
24
|
+
// 3. First available vision model
|
|
25
|
+
// o4-mini (79.2%, cheapest), Kimi (78.5%, cheap), gpt-5-mini (75.3%, very cheap), gpt-4.1 (69.3%, solid)
|
|
26
|
+
const VISION_MODEL_PRIORITY = ['o4-mini', 'kimi', 'gpt-5-mini', 'gpt-5-nano', 'gpt-4.1-mini', 'gpt-4.1', 'o3', 'gpt-5'];
|
|
27
27
|
|
|
28
28
|
const MAX_IMAGE_SIZE_BYTES = 20 * 1024 * 1024; // 20MB
|
|
29
29
|
const SESSION_TIMEOUT_MS = 30 * 60 * 1000; // 30 minutes
|
package/src/tools/webTool.js
CHANGED
|
@@ -2832,6 +2832,28 @@ If blocked (CAPTCHA, access denied), use stealthLevel: "maximum" (visible browse
|
|
|
2832
2832
|
};
|
|
2833
2833
|
}
|
|
2834
2834
|
|
|
2835
|
+
/**
|
|
2836
|
+
* Select the best available vision model for screenshot analysis.
|
|
2837
|
+
* Priority: o4-mini > kimi > gpt-5-mini > gpt-4.1 > o3 > first vision model
|
|
2838
|
+
* @private
|
|
2839
|
+
*/
|
|
2840
|
+
_selectVisionModel(context) {
|
|
2841
|
+
const modelsService = context.aiService?.modelsService;
|
|
2842
|
+
if (!modelsService) return null;
|
|
2843
|
+
|
|
2844
|
+
const allModels = modelsService.getModels?.() || [];
|
|
2845
|
+
const visionModels = allModels.filter(m => m.supportsVision === true);
|
|
2846
|
+
if (visionModels.length === 0) return null;
|
|
2847
|
+
|
|
2848
|
+
const priority = ['o4-mini', 'kimi', 'gpt-5-mini', 'gpt-5-nano', 'gpt-4.1-mini', 'gpt-4.1', 'o3', 'gpt-5'];
|
|
2849
|
+
for (const keyword of priority) {
|
|
2850
|
+
const match = visionModels.find(m => m.name.toLowerCase().includes(keyword));
|
|
2851
|
+
if (match) return match.name;
|
|
2852
|
+
}
|
|
2853
|
+
|
|
2854
|
+
return visionModels[0].name;
|
|
2855
|
+
}
|
|
2856
|
+
|
|
2835
2857
|
/**
|
|
2836
2858
|
* Analyze screenshot using AI vision model
|
|
2837
2859
|
* @param {Page} page - Puppeteer page
|
|
@@ -2856,8 +2878,8 @@ If blocked (CAPTCHA, access denied), use stealthLevel: "maximum" (visible browse
|
|
|
2856
2878
|
});
|
|
2857
2879
|
|
|
2858
2880
|
try {
|
|
2859
|
-
//
|
|
2860
|
-
const model = '
|
|
2881
|
+
// Select best available vision model dynamically
|
|
2882
|
+
const model = this._selectVisionModel(context) || 'o4-mini';
|
|
2861
2883
|
|
|
2862
2884
|
// Create message with image
|
|
2863
2885
|
const response = await aiService.sendMessage(
|
package/web-ui/build/index.html
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
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-
|
|
9
|
+
<script type="module" crossorigin src="/static/index-CNhxse_k.js"></script>
|
|
10
10
|
<link rel="stylesheet" crossorigin href="/static/index-BwNJoEC1.css">
|
|
11
11
|
</head>
|
|
12
12
|
<body>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as f}from"./index-CNhxse_k.js";import{r as s}from"./index-DTSROa9m.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{r as s,g as f}from"./index-CNhxse_k.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=s();const i=f(p),b=c({__proto__:null,default:i},[p]);export{b as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as s}from"./index-CNhxse_k.js";import{a as i}from"./index-DTSROa9m.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{d as s,g as c}from"./index-CNhxse_k.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=s();const p=c(f),b=i({__proto__:null,default:p},[f]);export{b as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as n}from"./index-CNhxse_k.js";import{b as f}from"./index-DTSROa9m.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{e as a,g as s}from"./index-CNhxse_k.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=a();const f=s(n),g=p({__proto__:null,default:f},[n]);export{g as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as a}from"./index-CNhxse_k.js";import{c as s}from"./index-DTSROa9m.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{f as s,g as c}from"./index-CNhxse_k.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=s();const p=c(f),d=i({__proto__:null,default:p},[f]);export{d as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as s}from"./index-CNhxse_k.js";import{d as i}from"./index-DTSROa9m.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};
|