onbuzz 4.0.1 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/scripts/audit-report.js +164 -0
- package/src/core/__tests__/agentScheduler.emptyResponseDiagnostics.test.js +191 -0
- package/src/core/__tests__/agentScheduler.modeTransitions.test.js +233 -0
- package/src/core/__tests__/agentScheduler.taskLifecycleInstruction.test.js +78 -0
- package/src/core/__tests__/agentScheduler.test.js +31 -13
- package/src/core/__tests__/messageProcessor.sourceHeader.test.js +195 -0
- package/src/core/agentPool.js +9 -0
- package/src/core/agentScheduler.js +302 -147
- package/src/core/messageProcessor.js +17 -0
- package/src/core/orchestrator.js +6 -2
- package/src/interfaces/webServer.js +69 -2
- package/src/services/__tests__/conversationQuery.test.js +723 -0
- package/src/services/__tests__/messageSource.channelFilter.coherence.test.js +101 -0
- package/src/services/__tests__/messageSource.test.js +376 -0
- package/src/services/conversationQuery.js +777 -0
- package/src/services/discordService.js +11 -2
- package/src/services/messageSource.js +318 -0
- package/src/services/telegramService.js +7 -1
- package/src/services/visualEditorServer.js +35 -7
- package/src/tools/__tests__/memoryTool.reminisce.test.js +330 -0
- package/src/tools/__tests__/memoryTool.test.js +2 -2
- package/src/tools/__tests__/openaiFunctionSchemas.memoryReminisce.test.js +84 -0
- package/src/tools/__tests__/taskManagerTool.lifecycleGuidance.test.js +71 -0
- package/src/tools/__tests__/visualEditorTool.broadcast.test.js +41 -11
- package/src/tools/baseTool.js +14 -1
- package/src/tools/memoryTool.js +266 -4
- package/src/tools/openaiFunctionSchemas.js +62 -7
- package/src/tools/taskManagerTool.js +21 -4
- package/src/tools/visualEditorTool.js +86 -21
- package/src/utilities/__tests__/auditReport.test.js +328 -0
- package/src/utilities/__tests__/modeTransitionReasons.test.js +105 -0
- package/src/utilities/auditReport.js +331 -0
- package/src/utilities/modeTransitionReasons.js +101 -0
- package/src/utilities/tagParser.js +22 -3
- package/web-ui/build/index.html +2 -2
- package/web-ui/build/static/1c-D-8ReLUQ.js +1 -0
- package/web-ui/build/static/abap-NvrQD84d.js +1 -0
- package/web-ui/build/static/abnf-BxKbzF6d.js +1 -0
- package/web-ui/build/static/abnf-gQpmRWjd.js +1 -0
- package/web-ui/build/static/accesslog-BQLUo5Gi.js +1 -0
- package/web-ui/build/static/actionscript-3TeMZFpQ.js +1 -0
- package/web-ui/build/static/actionscript-w6DEnLr3.js +1 -0
- package/web-ui/build/static/ada-87XHdEXs.js +1 -0
- package/web-ui/build/static/ada-QztkYmC7.js +1 -0
- package/web-ui/build/static/agda-CUYeMLgB.js +1 -0
- package/web-ui/build/static/al-DrDn2-sA.js +1 -0
- package/web-ui/build/static/angelscript-D3Qw8kQa.js +1 -0
- package/web-ui/build/static/antlr4-CWEEpQ5q.js +1 -0
- package/web-ui/build/static/apache-Bme3xfdp.js +1 -0
- package/web-ui/build/static/apacheconf-BKOfs-cp.js +1 -0
- package/web-ui/build/static/apex-DswYOikL.js +1 -0
- package/web-ui/build/static/apl-CizhojF3.js +1 -0
- package/web-ui/build/static/applescript-D9M6q0r7.js +1 -0
- package/web-ui/build/static/applescript-DpP5T055.js +1 -0
- package/web-ui/build/static/aql-BqAlaha9.js +1 -0
- package/web-ui/build/static/arcade-DobNWm8j.js +1 -0
- package/web-ui/build/static/arduino-BeuGL09r.js +1 -0
- package/web-ui/build/static/arduino-BiF5cC7x.js +1 -0
- package/web-ui/build/static/arff-2H9PyLDr.js +1 -0
- package/web-ui/build/static/armasm-B6wc18B0.js +1 -0
- package/web-ui/build/static/asciidoc-DUF4xPDI.js +1 -0
- package/web-ui/build/static/asciidoc-TBH4m8SR.js +1 -0
- package/web-ui/build/static/asm6502-CzTI2B-y.js +1 -0
- package/web-ui/build/static/asmatmel-BYN0Xd3T.js +1 -0
- package/web-ui/build/static/aspectj-DXCMDgp7.js +1 -0
- package/web-ui/build/static/aspnet-lOvDpvP_.js +1 -0
- package/web-ui/build/static/autohotkey-CICk12uK.js +1 -0
- package/web-ui/build/static/autohotkey-DrG81PVL.js +1 -0
- package/web-ui/build/static/autoit-DFemtuhG.js +1 -0
- package/web-ui/build/static/autoit-D_K-jEWY.js +1 -0
- package/web-ui/build/static/avisynth-DOnmgjBO.js +1 -0
- package/web-ui/build/static/avrasm-rMDuGPFy.js +1 -0
- package/web-ui/build/static/avro-idl-CH5Xk5PQ.js +1 -0
- package/web-ui/build/static/awk-BvyFWX3C.js +1 -0
- package/web-ui/build/static/axapta-BWmF5MqT.js +1 -0
- package/web-ui/build/static/bash-Coyd2GnL.js +1 -0
- package/web-ui/build/static/bash-DSdj70Nv.js +1 -0
- package/web-ui/build/static/basic-CflyLZ31.js +1 -0
- package/web-ui/build/static/basic-Cs6QyVqS.js +1 -0
- package/web-ui/build/static/batch-DCDtzw83.js +1 -0
- package/web-ui/build/static/bbcode-MWdW7azN.js +1 -0
- package/web-ui/build/static/bicep-jQ4zhAw9.js +1 -0
- package/web-ui/build/static/birb-9f7Itiod.js +1 -0
- package/web-ui/build/static/bison-CIIUW5Cl.js +1 -0
- package/web-ui/build/static/bnf-B2w55bnT.js +1 -0
- package/web-ui/build/static/bnf-CUlbZGe7.js +1 -0
- package/web-ui/build/static/brainfuck-CaJZ1LRc.js +1 -0
- package/web-ui/build/static/brainfuck-eIkhMKej.js +1 -0
- package/web-ui/build/static/brightscript-BSLnJVmJ.js +1 -0
- package/web-ui/build/static/bro-YVCWDbPj.js +1 -0
- package/web-ui/build/static/bsl-Nm0_B_oa.js +1 -0
- package/web-ui/build/static/c-Dv7lr1UK.js +1 -0
- package/web-ui/build/static/c-like-C9IU26FO.js +1 -0
- package/web-ui/build/static/c-pfS3v02M.js +1 -0
- package/web-ui/build/static/cal-D4re7xDS.js +1 -0
- package/web-ui/build/static/capnproto-Dy75AQ6u.js +1 -0
- package/web-ui/build/static/ceylon-BNtjB2q0.js +1 -0
- package/web-ui/build/static/cfscript-8X2NpMn_.js +1 -0
- package/web-ui/build/static/chaiscript-CoXaTTY-.js +1 -0
- package/web-ui/build/static/cil-BluyliW6.js +1 -0
- package/web-ui/build/static/clean-Bj15gq3Q.js +1 -0
- package/web-ui/build/static/clojure-BH5xTDBp.js +1 -0
- package/web-ui/build/static/clojure-BqHsfJwr.js +1 -0
- package/web-ui/build/static/clojure-repl-B32b9bLV.js +1 -0
- package/web-ui/build/static/cmake-CyTE-1A0.js +1 -0
- package/web-ui/build/static/cmake-hiJ0lXa-.js +1 -0
- package/web-ui/build/static/cobol-BBnQUH8E.js +1 -0
- package/web-ui/build/static/coffeescript-BjrsNhLL.js +1 -0
- package/web-ui/build/static/coffeescript-C7WO1c8O.js +1 -0
- package/web-ui/build/static/concurnas-9EpupFAI.js +1 -0
- package/web-ui/build/static/coq-C-tt6nZE.js +1 -0
- package/web-ui/build/static/coq-CLCiqFzC.js +1 -0
- package/web-ui/build/static/cos-BQC1_Gov.js +1 -0
- package/web-ui/build/static/cpp-CH4XSTo7.js +1 -0
- package/web-ui/build/static/cpp-K8F2XScQ.js +1 -0
- package/web-ui/build/static/crmsh-DztNtPne.js +1 -0
- package/web-ui/build/static/crystal-kBqCeXtW.js +1 -0
- package/web-ui/build/static/crystal-sVG_HS9o.js +1 -0
- package/web-ui/build/static/csharp-4pb9Wc--.js +1 -0
- package/web-ui/build/static/csharp-D5QaxB-K.js +1 -0
- package/web-ui/build/static/cshtml-Cpytn-LL.js +1 -0
- package/web-ui/build/static/csp-BH6fPZVZ.js +1 -0
- package/web-ui/build/static/csp-WrjFExbk.js +1 -0
- package/web-ui/build/static/css-DJxZ20Kx.js +1 -0
- package/web-ui/build/static/css-extras-DwoO5sHq.js +1 -0
- package/web-ui/build/static/csv-DJb1XTwb.js +1 -0
- package/web-ui/build/static/cypher-CFN05H9J.js +1 -0
- package/web-ui/build/static/d-COFI-yfM.js +1 -0
- package/web-ui/build/static/d-DYHnLAnt.js +1 -0
- package/web-ui/build/static/dart-Bw35nKGj.js +1 -0
- package/web-ui/build/static/dart-C5gnqL08.js +1 -0
- package/web-ui/build/static/dataweave-DG_2euLu.js +1 -0
- package/web-ui/build/static/dax-BSpzdHUe.js +1 -0
- package/web-ui/build/static/delphi-Cl5NRXvZ.js +1 -0
- package/web-ui/build/static/dhall-CNefJtoo.js +1 -0
- package/web-ui/build/static/diff-DhqUs0Iy.js +1 -0
- package/web-ui/build/static/diff-KGSf4pWL.js +1 -0
- package/web-ui/build/static/django-5TgWQjd4.js +1 -0
- package/web-ui/build/static/django-DavZW8FP.js +1 -0
- package/web-ui/build/static/dns-CuF6RAET.js +1 -0
- package/web-ui/build/static/dns-zone-file-BcBMQ0BR.js +1 -0
- package/web-ui/build/static/docker-Dht8jS2j.js +1 -0
- package/web-ui/build/static/dockerfile-CjjL85ki.js +1 -0
- package/web-ui/build/static/dos-CVoaOHAQ.js +1 -0
- package/web-ui/build/static/dot-QcLwKXVK.js +1 -0
- package/web-ui/build/static/dsconfig-_1R6hLzq.js +1 -0
- package/web-ui/build/static/dts-B_Dzxmb6.js +1 -0
- package/web-ui/build/static/dust-xRpJXkxU.js +1 -0
- package/web-ui/build/static/ebnf-DPK9Hid-.js +1 -0
- package/web-ui/build/static/ebnf-OVlya1yQ.js +1 -0
- package/web-ui/build/static/editorconfig-CbCWWNal.js +1 -0
- package/web-ui/build/static/eiffel-CShmAG_u.js +1 -0
- package/web-ui/build/static/ejs-Dybq4vcI.js +1 -0
- package/web-ui/build/static/elixir-CzXoWmCJ.js +1 -0
- package/web-ui/build/static/elixir-DKVoqGbI.js +1 -0
- package/web-ui/build/static/elm-DfJge1Cy.js +1 -0
- package/web-ui/build/static/elm-wTttagz6.js +1 -0
- package/web-ui/build/static/erb-BqJOty-L.js +1 -0
- package/web-ui/build/static/erb-DEcQyddF.js +1 -0
- package/web-ui/build/static/erlang-DR0S8Dbq.js +1 -0
- package/web-ui/build/static/erlang-foLyt35P.js +1 -0
- package/web-ui/build/static/erlang-repl-KGaauP1D.js +1 -0
- package/web-ui/build/static/etlua-i5bjc318.js +1 -0
- package/web-ui/build/static/excel-Bxn-_4FK.js +1 -0
- package/web-ui/build/static/excel-formula-C3ittGUe.js +1 -0
- package/web-ui/build/static/factor-Cq9BFfPi.js +1 -0
- package/web-ui/build/static/false-Bq1Og8uV.js +1 -0
- package/web-ui/build/static/firestore-security-rules-BuWMvGkh.js +1 -0
- package/web-ui/build/static/fix-CJH3csBZ.js +1 -0
- package/web-ui/build/static/flix-DZVFkMZK.js +1 -0
- package/web-ui/build/static/flow-DGvt9eNT.js +1 -0
- package/web-ui/build/static/fortran-CRMIJaq3.js +1 -0
- package/web-ui/build/static/fortran-DYMWvRQk.js +1 -0
- package/web-ui/build/static/fsharp-DsngWUfx.js +1 -0
- package/web-ui/build/static/fsharp-iEMP2hGc.js +1 -0
- package/web-ui/build/static/ftl-6XZ6kVeO.js +1 -0
- package/web-ui/build/static/gams-BPxwyKlw.js +1 -0
- package/web-ui/build/static/gap-LiwKb7bd.js +1 -0
- package/web-ui/build/static/gauss-BMq9hJW2.js +1 -0
- package/web-ui/build/static/gcode-BhUKSjaC.js +1 -0
- package/web-ui/build/static/gcode-b-DQdN2W.js +1 -0
- package/web-ui/build/static/gdscript-DIZ0_yTx.js +1 -0
- package/web-ui/build/static/gedcom-B-Don8Su.js +1 -0
- package/web-ui/build/static/gherkin-BioIAP1n.js +1 -0
- package/web-ui/build/static/gherkin-Cly_guds.js +1 -0
- package/web-ui/build/static/git-CopW8z0r.js +1 -0
- package/web-ui/build/static/glsl-6ssjFzwf.js +1 -0
- package/web-ui/build/static/glsl-E_uyFQdl.js +1 -0
- package/web-ui/build/static/gml-CaO1S6wu.js +1 -0
- package/web-ui/build/static/gml-D9DYjC5y.js +1 -0
- package/web-ui/build/static/gn-B_qqVpR0.js +1 -0
- package/web-ui/build/static/go-DFaKy1Ay.js +1 -0
- package/web-ui/build/static/go-JLTG1uU-.js +1 -0
- package/web-ui/build/static/go-module-BGp5Ey97.js +1 -0
- package/web-ui/build/static/golo-BlbGqaMN.js +1 -0
- package/web-ui/build/static/gradle-wqmsj6uh.js +1 -0
- package/web-ui/build/static/graphql-7RIdAO4i.js +1 -0
- package/web-ui/build/static/groovy-3icIp5xU.js +1 -0
- package/web-ui/build/static/groovy-HPI8s9_9.js +1 -0
- package/web-ui/build/static/haml-CTkGGR02.js +1 -0
- package/web-ui/build/static/haml-Thxu3S1L.js +1 -0
- package/web-ui/build/static/handlebars-1DoYlhi8.js +1 -0
- package/web-ui/build/static/handlebars-i1BBTCzR.js +1 -0
- package/web-ui/build/static/haskell-A1VYHFSA.js +1 -0
- package/web-ui/build/static/haskell-C_DMih9U.js +1 -0
- package/web-ui/build/static/haxe-Cz5x4sAD.js +1 -0
- package/web-ui/build/static/haxe-DYRFmKkv.js +1 -0
- package/web-ui/build/static/hcl-BRcB2lym.js +1 -0
- package/web-ui/build/static/hlsl-DkyhfHB3.js +1 -0
- package/web-ui/build/static/hoon-Droh_30T.js +1 -0
- package/web-ui/build/static/hpkp-DTAbnc4g.js +1 -0
- package/web-ui/build/static/hsp-C0QnJZWI.js +1 -0
- package/web-ui/build/static/hsts-C21QOmcz.js +1 -0
- package/web-ui/build/static/htmlbars-Bjlkvm5m.js +1 -0
- package/web-ui/build/static/http-D0nJQkzK.js +1 -0
- package/web-ui/build/static/http-DRz4r8bD.js +1 -0
- package/web-ui/build/static/hy-BqiXsF4N.js +1 -0
- package/web-ui/build/static/ichigojam-BQi7PpBN.js +1 -0
- package/web-ui/build/static/icon-BufrPPND.js +1 -0
- package/web-ui/build/static/icu-message-format-BGFhE2gJ.js +1 -0
- package/web-ui/build/static/idris-CDCGxwUo.js +1 -0
- package/web-ui/build/static/iecst-CdwPGvCO.js +1 -0
- package/web-ui/build/static/ignore-CHdDzb39.js +1 -0
- package/web-ui/build/static/index-C9Fa_kgD.css +1 -0
- package/web-ui/build/static/index-D1KAbjnI.js +1 -0
- package/web-ui/build/static/index-DBYkW2lx.js +13 -0
- package/web-ui/build/static/index-DsoPopge.js +727 -0
- package/web-ui/build/static/inform7-Bpq3UO5w.js +1 -0
- package/web-ui/build/static/inform7-DmXu-aMH.js +1 -0
- package/web-ui/build/static/ini-DWUEQKxG.js +1 -0
- package/web-ui/build/static/ini-t3XdjCfA.js +1 -0
- package/web-ui/build/static/io-DfElp6yx.js +1 -0
- package/web-ui/build/static/irpf90-fx9_FB-t.js +1 -0
- package/web-ui/build/static/isbl-CcrRysr8.js +1 -0
- package/web-ui/build/static/j--Jx3nGHC.js +1 -0
- package/web-ui/build/static/java-OOMeJRRQ.js +1 -0
- package/web-ui/build/static/java-OTyqE2m1.js +1 -0
- package/web-ui/build/static/javadoc-CD-HiYEY.js +1 -0
- package/web-ui/build/static/javadoclike-CLv1_76Z.js +1 -0
- package/web-ui/build/static/javascript-C_j1lHAa.js +1 -0
- package/web-ui/build/static/javastacktrace-CIsSL13b.js +1 -0
- package/web-ui/build/static/jboss-cli-C9HktJFq.js +1 -0
- package/web-ui/build/static/jexl-Doro4Jcm.js +1 -0
- package/web-ui/build/static/jolie-C5wL2YdC.js +1 -0
- package/web-ui/build/static/jq-Bmi3HMEP.js +1 -0
- package/web-ui/build/static/js-extras-CQyLxL3s.js +1 -0
- package/web-ui/build/static/js-templates-DAigrjqA.js +1 -0
- package/web-ui/build/static/jsdoc-BJ_oa4xn.js +1 -0
- package/web-ui/build/static/json--C9O_45y.js +1 -0
- package/web-ui/build/static/json-CSGkCpU2.js +1 -0
- package/web-ui/build/static/json5-CcxKJla0.js +1 -0
- package/web-ui/build/static/jsonp-DjUgPOz0.js +1 -0
- package/web-ui/build/static/jsstacktrace-BpOw_ymZ.js +1 -0
- package/web-ui/build/static/jsx-otTTuJ8X.js +1 -0
- package/web-ui/build/static/julia-B1n4YHpM.js +1 -0
- package/web-ui/build/static/julia-bi12E6me.js +1 -0
- package/web-ui/build/static/julia-repl-DwzL74R7.js +1 -0
- package/web-ui/build/static/keepalived-cKzNWQWz.js +1 -0
- package/web-ui/build/static/keyman-BVOouxaa.js +1 -0
- package/web-ui/build/static/kotlin-BPuaNDRU.js +1 -0
- package/web-ui/build/static/kotlin-DvWwch7e.js +1 -0
- package/web-ui/build/static/kumir-DxiPnZla.js +1 -0
- package/web-ui/build/static/kusto-tc7F4iSM.js +1 -0
- package/web-ui/build/static/lasso-CuIxaW6G.js +1 -0
- package/web-ui/build/static/latex-DaVNZvfJ.js +1 -0
- package/web-ui/build/static/latex-Y-rAMd-m.js +1 -0
- package/web-ui/build/static/latte-BWApgl6V.js +1 -0
- package/web-ui/build/static/ldif-BjMOGnja.js +1 -0
- package/web-ui/build/static/leaf-BjXTc-gF.js +1 -0
- package/web-ui/build/static/less-BAoMgFHw.js +1 -0
- package/web-ui/build/static/less-BIXQ4mtM.js +1 -0
- package/web-ui/build/static/lilypond-B6avfRfg.js +1 -0
- package/web-ui/build/static/liquid-Bgux4iHZ.js +1 -0
- package/web-ui/build/static/lisp-DZwObPt9.js +1 -0
- package/web-ui/build/static/lisp-KuHBOL65.js +1 -0
- package/web-ui/build/static/livecodeserver-Cuv2a-Np.js +1 -0
- package/web-ui/build/static/livescript-B5joK5y1.js +1 -0
- package/web-ui/build/static/livescript-Cfl-5tRI.js +1 -0
- package/web-ui/build/static/llvm-Bq_MvIMt.js +1 -0
- package/web-ui/build/static/llvm-DDplxqNH.js +1 -0
- package/web-ui/build/static/log-C0UrUYNZ.js +1 -0
- package/web-ui/build/static/lolcode-Bpn0nZXI.js +1 -0
- package/web-ui/build/static/lsl-Baa3yssY.js +1 -0
- package/web-ui/build/static/lua-CmS7S4r8.js +1 -0
- package/web-ui/build/static/lua-CuTsqVUh.js +1 -0
- package/web-ui/build/static/magma-D80wNgLE.js +1 -0
- package/web-ui/build/static/makefile-BUfHdkgl.js +1 -0
- package/web-ui/build/static/makefile-DcdqPwtQ.js +1 -0
- package/web-ui/build/static/markdown-Dnk5E2xs.js +1 -0
- package/web-ui/build/static/markdown-dVGF22cZ.js +1 -0
- package/web-ui/build/static/markup-templating-DFEtKf2a.js +1 -0
- package/web-ui/build/static/mathematica-D6RpzMC4.js +1 -0
- package/web-ui/build/static/matlab-BNL791Vd.js +1 -0
- package/web-ui/build/static/matlab-CcJdErYu.js +1 -0
- package/web-ui/build/static/maxima-DtObzS0g.js +1 -0
- package/web-ui/build/static/maxscript-Boeo84Pc.js +1 -0
- package/web-ui/build/static/mel-CQDFYa9L.js +1 -0
- package/web-ui/build/static/mel-Dqbr8Ct3.js +1 -0
- package/web-ui/build/static/mercury-CtQIBvXV.js +1 -0
- package/web-ui/build/static/mermaid-Be11mdXJ.js +1 -0
- package/web-ui/build/static/mipsasm-Bzu7KAos.js +1 -0
- package/web-ui/build/static/mizar-CTwK6_XC.js +1 -0
- package/web-ui/build/static/mizar-DGSninkt.js +1 -0
- package/web-ui/build/static/mojolicious-B5J4ts83.js +1 -0
- package/web-ui/build/static/mongodb-Canys4Q-.js +1 -0
- package/web-ui/build/static/monkey-Bc8QeQKW.js +1 -0
- package/web-ui/build/static/monkey-BuakrB5T.js +1 -0
- package/web-ui/build/static/moonscript-CCCY-549.js +1 -0
- package/web-ui/build/static/moonscript-DgTN69ea.js +1 -0
- package/web-ui/build/static/n1ql-BeClvJbI.js +1 -0
- package/web-ui/build/static/n1ql-Bmrbwg5D.js +1 -0
- package/web-ui/build/static/n4js-BI7ajnA2.js +1 -0
- package/web-ui/build/static/nand2tetris-hdl-CTtO9tFK.js +1 -0
- package/web-ui/build/static/naniscript-ByLXiYB-.js +1 -0
- package/web-ui/build/static/nasm-DyRBXPTp.js +1 -0
- package/web-ui/build/static/neon-CuGxTU_0.js +1 -0
- package/web-ui/build/static/nevod-CWnxD5-I.js +1 -0
- package/web-ui/build/static/nginx-9_Wnc0a8.js +1 -0
- package/web-ui/build/static/nginx-YzYFF0YL.js +1 -0
- package/web-ui/build/static/nim-Dgg2r5_y.js +1 -0
- package/web-ui/build/static/nim-Dket4DOJ.js +1 -0
- package/web-ui/build/static/nix-CM2XsNVm.js +1 -0
- package/web-ui/build/static/nix-P756jRJz.js +1 -0
- package/web-ui/build/static/node-repl-BRadhyOu.js +1 -0
- package/web-ui/build/static/nsis-4AzWWTt3.js +1 -0
- package/web-ui/build/static/nsis-DawN0fp-.js +1 -0
- package/web-ui/build/static/objectivec-BHy8WXYe.js +1 -0
- package/web-ui/build/static/objectivec-CVvJfvIh.js +1 -0
- package/web-ui/build/static/ocaml-BXmkRrGk.js +1 -0
- package/web-ui/build/static/ocaml-D9blGtF-.js +1 -0
- package/web-ui/build/static/opencl-CrP8B7-Y.js +1 -0
- package/web-ui/build/static/openqasm-BF_FGc9C.js +1 -0
- package/web-ui/build/static/openscad-BX0LeVCC.js +1 -0
- package/web-ui/build/static/oxygene-Dv7-kaO-.js +1 -0
- package/web-ui/build/static/oz-DMw40m1E.js +1 -0
- package/web-ui/build/static/parigp-C6qS_vHR.js +1 -0
- package/web-ui/build/static/parser-CIccHpfs.js +1 -0
- package/web-ui/build/static/parser3-DY65kzTx.js +1 -0
- package/web-ui/build/static/pascal-Bd8OdL32.js +1 -0
- package/web-ui/build/static/pascaligo-Czv0M1Ke.js +1 -0
- package/web-ui/build/static/pcaxis-Ct9Xzb0v.js +1 -0
- package/web-ui/build/static/peoplecode-Qs_52P9e.js +1 -0
- package/web-ui/build/static/perl-C7ZXixEj.js +1 -0
- package/web-ui/build/static/perl-jarWhwwS.js +1 -0
- package/web-ui/build/static/pf-CUIEZmhu.js +1 -0
- package/web-ui/build/static/pgsql-Cd9Vguu1.js +1 -0
- package/web-ui/build/static/php-BkEHU_F0.js +1 -0
- package/web-ui/build/static/php-DgxitXwB.js +1 -0
- package/web-ui/build/static/php-extras-DZ4cqJZr.js +1 -0
- package/web-ui/build/static/php-template-CmDsJimC.js +1 -0
- package/web-ui/build/static/phpdoc-BuzuEwXH.js +1 -0
- package/web-ui/build/static/plaintext-B9rbdHym.js +1 -0
- package/web-ui/build/static/plsql-BsUyjIMQ.js +1 -0
- package/web-ui/build/static/pony-DByqIe1z.js +1 -0
- package/web-ui/build/static/powerquery-1VSf_dLA.js +1 -0
- package/web-ui/build/static/powershell-CBYqkmKw.js +1 -0
- package/web-ui/build/static/powershell-TsgmSwr2.js +1 -0
- package/web-ui/build/static/processing-C7SmsDmp.js +1 -0
- package/web-ui/build/static/processing-DdvVbwBS.js +1 -0
- package/web-ui/build/static/profile-CrLgDepu.js +1 -0
- package/web-ui/build/static/prolog-1ezqlvDI.js +1 -0
- package/web-ui/build/static/prolog-BBYyok9G.js +1 -0
- package/web-ui/build/static/promql-CWatQOpO.js +1 -0
- package/web-ui/build/static/properties-BJQxP8JR.js +1 -0
- package/web-ui/build/static/properties-CfR17w8n.js +1 -0
- package/web-ui/build/static/protobuf-Cfo3A4gN.js +1 -0
- package/web-ui/build/static/protobuf-DjV26D7V.js +1 -0
- package/web-ui/build/static/psl-DHNAOSYZ.js +1 -0
- package/web-ui/build/static/pug-DnizfuFH.js +1 -0
- package/web-ui/build/static/puppet-BCcVNhLH.js +1 -0
- package/web-ui/build/static/puppet-BmSRwm0u.js +1 -0
- package/web-ui/build/static/pure-l1UGfReS.js +1 -0
- package/web-ui/build/static/purebasic-Cm1PR5lC.js +1 -0
- package/web-ui/build/static/purebasic-Dxq0YRkO.js +1 -0
- package/web-ui/build/static/purescript-CpKroRLn.js +1 -0
- package/web-ui/build/static/python-C0PwNTef.js +1 -0
- package/web-ui/build/static/python-Cr-3O1IE.js +1 -0
- package/web-ui/build/static/python-repl-B1P7p6JA.js +1 -0
- package/web-ui/build/static/q-CL79K_i7.js +1 -0
- package/web-ui/build/static/q-DLSzzmR3.js +1 -0
- package/web-ui/build/static/qml-BeN40LEp.js +1 -0
- package/web-ui/build/static/qml-DIjR5p31.js +1 -0
- package/web-ui/build/static/qore-CrnBG9xB.js +1 -0
- package/web-ui/build/static/qsharp-B8sPnj52.js +1 -0
- package/web-ui/build/static/r-UubkOviq.js +1 -0
- package/web-ui/build/static/r-lT3ysYih.js +1 -0
- package/web-ui/build/static/racket-Czw_1lqD.js +1 -0
- package/web-ui/build/static/reason-D-_rWPty.js +1 -0
- package/web-ui/build/static/reasonml-BZkHaGWN.js +1 -0
- package/web-ui/build/static/regex-BjeMZDQs.js +1 -0
- package/web-ui/build/static/rego-OYluSFFo.js +1 -0
- package/web-ui/build/static/renpy-D1X5nAoT.js +1 -0
- package/web-ui/build/static/rest-DnlQgDnx.js +1 -0
- package/web-ui/build/static/rib-DtDxwFfu.js +1 -0
- package/web-ui/build/static/rip-D8vOYwVd.js +1 -0
- package/web-ui/build/static/roboconf-DtEUhHis.js +1 -0
- package/web-ui/build/static/roboconf-w-iqpst4.js +1 -0
- package/web-ui/build/static/robotframework-M9UnAH02.js +1 -0
- package/web-ui/build/static/routeros-CX0gciU5.js +1 -0
- package/web-ui/build/static/rsl-CZOvPQbk.js +1 -0
- package/web-ui/build/static/ruby-BEwdhTtL.js +1 -0
- package/web-ui/build/static/ruby-dlRf3rgu.js +1 -0
- package/web-ui/build/static/ruleslanguage-CKX7tlpI.js +1 -0
- package/web-ui/build/static/rust-7xat0n1g.js +1 -0
- package/web-ui/build/static/rust-DCpdcw_7.js +1 -0
- package/web-ui/build/static/sas-B9K83LkK.js +1 -0
- package/web-ui/build/static/sas-ijKPjRom.js +1 -0
- package/web-ui/build/static/sass-ByZaOmQh.js +1 -0
- package/web-ui/build/static/scala-B6tUDsIS.js +1 -0
- package/web-ui/build/static/scala-BZ4NRThT.js +1 -0
- package/web-ui/build/static/scheme-BmDQeIVd.js +1 -0
- package/web-ui/build/static/scheme-DIrkVtyr.js +1 -0
- package/web-ui/build/static/scilab-BUTG2a1V.js +1 -0
- package/web-ui/build/static/scss-CC2Rr7DZ.js +1 -0
- package/web-ui/build/static/scss-CG0LtoLt.js +1 -0
- package/web-ui/build/static/shell-DEPni1su.js +1 -0
- package/web-ui/build/static/shell-session-DxlJbQBl.js +1 -0
- package/web-ui/build/static/smali-C5QEAhGK.js +1 -0
- package/web-ui/build/static/smali-RgOjDrpG.js +1 -0
- package/web-ui/build/static/smalltalk-CCLKnQXy.js +1 -0
- package/web-ui/build/static/smalltalk-D2pTtTF6.js +1 -0
- package/web-ui/build/static/smarty-D5pb-235.js +1 -0
- package/web-ui/build/static/sml-CtXZ7rhO.js +1 -0
- package/web-ui/build/static/sml-DgsaUoao.js +1 -0
- package/web-ui/build/static/solidity-DLDSX1RV.js +1 -0
- package/web-ui/build/static/solution-file-BaDc2_E-.js +1 -0
- package/web-ui/build/static/soy-x9k9lQq1.js +1 -0
- package/web-ui/build/static/sparql-CEyFkY2d.js +1 -0
- package/web-ui/build/static/splunk-spl-Cnoeez_o.js +1 -0
- package/web-ui/build/static/sqf-BiFuoaL6.js +1 -0
- package/web-ui/build/static/sqf-IC3wZMuh.js +1 -0
- package/web-ui/build/static/sql-B0kmmGOU.js +1 -0
- package/web-ui/build/static/sql-CUJr2cg-.js +1 -0
- package/web-ui/build/static/sql_more-CWl75_kq.js +1 -0
- package/web-ui/build/static/squirrel-CcEHntJJ.js +1 -0
- package/web-ui/build/static/stan-5fBmEp2c.js +1 -0
- package/web-ui/build/static/stan-CAB7l4xW.js +1 -0
- package/web-ui/build/static/stata-Cg3Bl6d7.js +1 -0
- package/web-ui/build/static/step21-CZGJgHPf.js +1 -0
- package/web-ui/build/static/stylus-BO533InK.js +1 -0
- package/web-ui/build/static/stylus-DNWkkgmm.js +1 -0
- package/web-ui/build/static/subunit-BFopBokb.js +1 -0
- package/web-ui/build/static/swift-CalO-wab.js +1 -0
- package/web-ui/build/static/swift-mePvo3P4.js +1 -0
- package/web-ui/build/static/systemd-bKGRJ9Ha.js +1 -0
- package/web-ui/build/static/t4-cs-D7xxs1lK.js +1 -0
- package/web-ui/build/static/t4-templating-_11pVeD-.js +1 -0
- package/web-ui/build/static/t4-vb-CprOaKdB.js +1 -0
- package/web-ui/build/static/taggerscript-CEpPw-UD.js +1 -0
- package/web-ui/build/static/tap-CFFYSmjs.js +1 -0
- package/web-ui/build/static/tap-Dy3jliYv.js +1 -0
- package/web-ui/build/static/tcl-Bw3AVuiY.js +1 -0
- package/web-ui/build/static/tcl-CD50d_-j.js +1 -0
- package/web-ui/build/static/textile-CSeSEGjy.js +1 -0
- package/web-ui/build/static/thrift-00VB402i.js +1 -0
- package/web-ui/build/static/toml-DuFNkxHe.js +1 -0
- package/web-ui/build/static/tp-4CeaWqyI.js +1 -0
- package/web-ui/build/static/tremor-BnerOgTY.js +1 -0
- package/web-ui/build/static/tsx-XiNhF1ao.js +1 -0
- package/web-ui/build/static/tt2-CM6FV9KO.js +1 -0
- package/web-ui/build/static/turtle-JxpiTJEQ.js +1 -0
- package/web-ui/build/static/twig-C16bJf43.js +1 -0
- package/web-ui/build/static/twig-DQ-0wCvQ.js +1 -0
- package/web-ui/build/static/typescript-ILNg_Uvt.js +1 -0
- package/web-ui/build/static/typescript-chBpZOex.js +1 -0
- package/web-ui/build/static/typoscript-D2-lUjQX.js +1 -0
- package/web-ui/build/static/unrealscript-CwOA8REe.js +1 -0
- package/web-ui/build/static/uorazor-Dh1SAWKw.js +1 -0
- package/web-ui/build/static/uri-BF1wAQOC.js +1 -0
- package/web-ui/build/static/v-DUq5Mxzu.js +1 -0
- package/web-ui/build/static/vala-BYNy6zW2.js +1 -0
- package/web-ui/build/static/vala-CqGfs9Kv.js +1 -0
- package/web-ui/build/static/vbnet-BxH9jvRi.js +1 -0
- package/web-ui/build/static/vbnet-CJxJGhMO.js +1 -0
- package/web-ui/build/static/vbscript-OQ6kMcDV.js +1 -0
- package/web-ui/build/static/vbscript-html-CZ-QJ4ch.js +1 -0
- package/web-ui/build/static/velocity-B59YHwoP.js +1 -0
- package/web-ui/build/static/verilog--uW8iUzt.js +1 -0
- package/web-ui/build/static/verilog-DAQz3Gcl.js +1 -0
- package/web-ui/build/static/vhdl-5FrGi5Wx.js +1 -0
- package/web-ui/build/static/vhdl-C25AEZ8g.js +1 -0
- package/web-ui/build/static/vim-CW6uewUP.js +1 -0
- package/web-ui/build/static/vim-f3zGsJk1.js +1 -0
- package/web-ui/build/static/visual-basic-CoOTQEUn.js +1 -0
- package/web-ui/build/static/warpscript-DGouvP9I.js +1 -0
- package/web-ui/build/static/wasm-BZeW0TNm.js +1 -0
- package/web-ui/build/static/web-idl-Bw1mV_A4.js +1 -0
- package/web-ui/build/static/wiki-CZG2B_w1.js +1 -0
- package/web-ui/build/static/wolfram-CiMIUpaO.js +1 -0
- package/web-ui/build/static/wren-Bh9Sv_02.js +1 -0
- package/web-ui/build/static/x86asm-BhoPGTpG.js +1 -0
- package/web-ui/build/static/xeora-C5CM7V9L.js +1 -0
- package/web-ui/build/static/xl-WCHINiXA.js +1 -0
- package/web-ui/build/static/xml-DPAIpwAO.js +1 -0
- package/web-ui/build/static/xml-doc-CJxlhMe0.js +1 -0
- package/web-ui/build/static/xojo-BW0Z0CzB.js +1 -0
- package/web-ui/build/static/xquery-CwiBIiph.js +1 -0
- package/web-ui/build/static/xquery-De9QIea7.js +1 -0
- package/web-ui/build/static/yaml-CKzSgstB.js +1 -0
- package/web-ui/build/static/yaml-DIHBhXM_.js +1 -0
- package/web-ui/build/static/yang-Cn0PKttf.js +1 -0
- package/web-ui/build/static/zephir-CKVBh8TU.js +1 -0
- package/web-ui/build/static/zig-CetEB4NE.js +1 -0
- package/web-ui/build/static/1c-BbqxH6FC.js +0 -1
- package/web-ui/build/static/abap-UmHCZ0i1.js +0 -1
- package/web-ui/build/static/abnf-KQJciEU1.js +0 -1
- package/web-ui/build/static/abnf-wz9mo6UY.js +0 -1
- package/web-ui/build/static/accesslog-a-KjP-hj.js +0 -1
- package/web-ui/build/static/actionscript-C0kkFktE.js +0 -1
- package/web-ui/build/static/actionscript-CVfzNF7V.js +0 -1
- package/web-ui/build/static/ada-BtDccpCo.js +0 -1
- package/web-ui/build/static/ada-CsP-T950.js +0 -1
- package/web-ui/build/static/agda-DZ0Wv_k_.js +0 -1
- package/web-ui/build/static/al-Dieo4A36.js +0 -1
- package/web-ui/build/static/angelscript-Dxqs-qHl.js +0 -1
- package/web-ui/build/static/antlr4-2iwVxagJ.js +0 -1
- package/web-ui/build/static/apache-nHxOzinq.js +0 -1
- package/web-ui/build/static/apacheconf-DxkrSh6l.js +0 -1
- package/web-ui/build/static/apex-Broi_TKn.js +0 -1
- package/web-ui/build/static/apl-iAZYRZnE.js +0 -1
- package/web-ui/build/static/applescript-C-EKPlRf.js +0 -1
- package/web-ui/build/static/applescript-CVipha9P.js +0 -1
- package/web-ui/build/static/aql-Dn0E4LhK.js +0 -1
- package/web-ui/build/static/arcade-D5kIj1ez.js +0 -1
- package/web-ui/build/static/arduino-CydV4LN9.js +0 -1
- package/web-ui/build/static/arduino-DXaSwrry.js +0 -1
- package/web-ui/build/static/arff-yeDNnxkY.js +0 -1
- package/web-ui/build/static/armasm-DTu74JIo.js +0 -1
- package/web-ui/build/static/asciidoc-CLaqB1Gg.js +0 -1
- package/web-ui/build/static/asciidoc-DguUDHf5.js +0 -1
- package/web-ui/build/static/asm6502-C2c-H0Jh.js +0 -1
- package/web-ui/build/static/asmatmel-5xAyVq56.js +0 -1
- package/web-ui/build/static/aspectj-D5JvBRBv.js +0 -1
- package/web-ui/build/static/aspnet-DZfW9iG1.js +0 -1
- package/web-ui/build/static/autohotkey-3yT8W87y.js +0 -1
- package/web-ui/build/static/autohotkey-CxEWa3D5.js +0 -1
- package/web-ui/build/static/autoit-COt7rtxE.js +0 -1
- package/web-ui/build/static/autoit-DSva7SrP.js +0 -1
- package/web-ui/build/static/avisynth-DdpQ810f.js +0 -1
- package/web-ui/build/static/avrasm-BR0ncM-L.js +0 -1
- package/web-ui/build/static/avro-idl-DCISsbhh.js +0 -1
- package/web-ui/build/static/awk-Dd5HJDa0.js +0 -1
- package/web-ui/build/static/axapta-DWn0qUrW.js +0 -1
- package/web-ui/build/static/bash-B024Y1MV.js +0 -1
- package/web-ui/build/static/bash-qq4eTfOM.js +0 -1
- package/web-ui/build/static/basic-BWjvt39D.js +0 -1
- package/web-ui/build/static/basic-DVlMYdnX.js +0 -1
- package/web-ui/build/static/batch-Bb3dgg5p.js +0 -1
- package/web-ui/build/static/bbcode-DIclgs6t.js +0 -1
- package/web-ui/build/static/bicep-CXafPJf-.js +0 -1
- package/web-ui/build/static/birb-Btu8LQQE.js +0 -1
- package/web-ui/build/static/bison-CDXROKZw.js +0 -1
- package/web-ui/build/static/bnf-BB43qRSC.js +0 -1
- package/web-ui/build/static/bnf-ClpHUN6K.js +0 -1
- package/web-ui/build/static/brainfuck-BIgmc-EZ.js +0 -1
- package/web-ui/build/static/brainfuck-BJtPWa6l.js +0 -1
- package/web-ui/build/static/brightscript-9fU7OT4Y.js +0 -1
- package/web-ui/build/static/bro-DLftyzoO.js +0 -1
- package/web-ui/build/static/bsl-BWPnBSvd.js +0 -1
- package/web-ui/build/static/c-CD-936sv.js +0 -1
- package/web-ui/build/static/c-Do5sfWh2.js +0 -1
- package/web-ui/build/static/c-like-Cerk48hs.js +0 -1
- package/web-ui/build/static/cal-BfMsPDa0.js +0 -1
- package/web-ui/build/static/capnproto-mR83jTKG.js +0 -1
- package/web-ui/build/static/ceylon-Dt2cl-Ez.js +0 -1
- package/web-ui/build/static/cfscript-CFB-YYf8.js +0 -1
- package/web-ui/build/static/chaiscript-D3skeymm.js +0 -1
- package/web-ui/build/static/cil-DeczQ_ut.js +0 -1
- package/web-ui/build/static/clean-BXJPwGNL.js +0 -1
- package/web-ui/build/static/clojure-HHG1U7gj.js +0 -1
- package/web-ui/build/static/clojure-rEWdWYo_.js +0 -1
- package/web-ui/build/static/clojure-repl-CE4jr3K0.js +0 -1
- package/web-ui/build/static/cmake-DAzvKH16.js +0 -1
- package/web-ui/build/static/cmake-tD6uZl-y.js +0 -1
- package/web-ui/build/static/cobol-C2X6-bRz.js +0 -1
- package/web-ui/build/static/coffeescript-C9qjSh74.js +0 -1
- package/web-ui/build/static/coffeescript-DeHnRseX.js +0 -1
- package/web-ui/build/static/concurnas-DNuInYde.js +0 -1
- package/web-ui/build/static/coq-BQFo5XwN.js +0 -1
- package/web-ui/build/static/coq-Bmnum53S.js +0 -1
- package/web-ui/build/static/cos-D_0u-U2Y.js +0 -1
- package/web-ui/build/static/cpp-CoD9F6ol.js +0 -1
- package/web-ui/build/static/cpp-DB8R2f_c.js +0 -1
- package/web-ui/build/static/crmsh-DghD3B1u.js +0 -1
- package/web-ui/build/static/crystal-C63_SlFe.js +0 -1
- package/web-ui/build/static/crystal-GkhJSVpE.js +0 -1
- package/web-ui/build/static/csharp-Upa_qqR3.js +0 -1
- package/web-ui/build/static/csharp-kB8isYBD.js +0 -1
- package/web-ui/build/static/cshtml-BjeIyJW7.js +0 -1
- package/web-ui/build/static/csp-B9zvIPTA.js +0 -1
- package/web-ui/build/static/csp-hqOQW_KO.js +0 -1
- package/web-ui/build/static/css-BOqi7Sb8.js +0 -1
- package/web-ui/build/static/css-extras-NaDRDQYb.js +0 -1
- package/web-ui/build/static/csv-C7zNP0bV.js +0 -1
- package/web-ui/build/static/cypher-DzSGt09R.js +0 -1
- package/web-ui/build/static/d-DU9v7A7o.js +0 -1
- package/web-ui/build/static/d-YLgAiEhY.js +0 -1
- package/web-ui/build/static/dart-CLSlIEjd.js +0 -1
- package/web-ui/build/static/dart-Cv0y84fm.js +0 -1
- package/web-ui/build/static/dataweave-5zYOQCxv.js +0 -1
- package/web-ui/build/static/dax-C6xLX5GM.js +0 -1
- package/web-ui/build/static/delphi-D5HcUuVw.js +0 -1
- package/web-ui/build/static/dhall-C8OzwmzV.js +0 -1
- package/web-ui/build/static/diff-B030ZRbb.js +0 -1
- package/web-ui/build/static/diff-NCsBJCa7.js +0 -1
- package/web-ui/build/static/django-BeQDLTjX.js +0 -1
- package/web-ui/build/static/django-cC0WFEf1.js +0 -1
- package/web-ui/build/static/dns-CGMMfnr4.js +0 -1
- package/web-ui/build/static/dns-zone-file-908DrcaX.js +0 -1
- package/web-ui/build/static/docker-CE6F0WPR.js +0 -1
- package/web-ui/build/static/dockerfile-CUNa_EmN.js +0 -1
- package/web-ui/build/static/dos-CiM5tkPu.js +0 -1
- package/web-ui/build/static/dot-CZ0WLAzq.js +0 -1
- package/web-ui/build/static/dsconfig-Wo1ktU-F.js +0 -1
- package/web-ui/build/static/dts-BQJ7eIaM.js +0 -1
- package/web-ui/build/static/dust-DWnG4XQf.js +0 -1
- package/web-ui/build/static/ebnf-BqQRECjk.js +0 -1
- package/web-ui/build/static/ebnf-Cn_QHOpW.js +0 -1
- package/web-ui/build/static/editorconfig-CRE_lK21.js +0 -1
- package/web-ui/build/static/eiffel-h-dSP-Mu.js +0 -1
- package/web-ui/build/static/ejs-PVoVLwHk.js +0 -1
- package/web-ui/build/static/elixir-DVoAEVq_.js +0 -1
- package/web-ui/build/static/elixir-ZA65-L5t.js +0 -1
- package/web-ui/build/static/elm-ClRnxcFJ.js +0 -1
- package/web-ui/build/static/elm-Ttg_Dv8v.js +0 -1
- package/web-ui/build/static/erb-DCMJz1va.js +0 -1
- package/web-ui/build/static/erb-DDL7TB76.js +0 -1
- package/web-ui/build/static/erlang-01AtuMB8.js +0 -1
- package/web-ui/build/static/erlang-CLb6foRm.js +0 -1
- package/web-ui/build/static/erlang-repl-BwUG_X-H.js +0 -1
- package/web-ui/build/static/etlua-7jIebQwZ.js +0 -1
- package/web-ui/build/static/excel-BkKnPFBB.js +0 -1
- package/web-ui/build/static/excel-formula-dDd7nIUV.js +0 -1
- package/web-ui/build/static/factor-BLn5sqxN.js +0 -1
- package/web-ui/build/static/false-CNuRH4WA.js +0 -1
- package/web-ui/build/static/firestore-security-rules-Cr5e6oSH.js +0 -1
- package/web-ui/build/static/fix-NJ8G_1Tt.js +0 -1
- package/web-ui/build/static/flix-CBhTDcl9.js +0 -1
- package/web-ui/build/static/flow-DvgK1btf.js +0 -1
- package/web-ui/build/static/fortran-Bo-O9xtT.js +0 -1
- package/web-ui/build/static/fortran-Dj3v5L_m.js +0 -1
- package/web-ui/build/static/fsharp-5c6P8ZUH.js +0 -1
- package/web-ui/build/static/fsharp-C8bhnjfe.js +0 -1
- package/web-ui/build/static/ftl-8qE-2FJL.js +0 -1
- package/web-ui/build/static/gams-pbQRvKgr.js +0 -1
- package/web-ui/build/static/gap-CSFizYYs.js +0 -1
- package/web-ui/build/static/gauss-C0BsqEdj.js +0 -1
- package/web-ui/build/static/gcode-DMuLrnJF.js +0 -1
- package/web-ui/build/static/gcode-as5uEQOe.js +0 -1
- package/web-ui/build/static/gdscript-CSaSlSna.js +0 -1
- package/web-ui/build/static/gedcom-Cm86Ngut.js +0 -1
- package/web-ui/build/static/gherkin-C7FSJ6d3.js +0 -1
- package/web-ui/build/static/gherkin-C8wqlUqv.js +0 -1
- package/web-ui/build/static/git-DzPBmHlg.js +0 -1
- package/web-ui/build/static/glsl-D0_rPD58.js +0 -1
- package/web-ui/build/static/glsl-oUwWN2Xp.js +0 -1
- package/web-ui/build/static/gml-DNrWm4kb.js +0 -1
- package/web-ui/build/static/gml-JDXVyhBU.js +0 -1
- package/web-ui/build/static/gn-Bw-OsDH_.js +0 -1
- package/web-ui/build/static/go-B7Traa8J.js +0 -1
- package/web-ui/build/static/go-CaXFvYLQ.js +0 -1
- package/web-ui/build/static/go-module-BzKKnNxf.js +0 -1
- package/web-ui/build/static/golo-BokfRozl.js +0 -1
- package/web-ui/build/static/gradle-BBE_z74S.js +0 -1
- package/web-ui/build/static/graphql-DyqQ249q.js +0 -1
- package/web-ui/build/static/groovy-C9bdtULM.js +0 -1
- package/web-ui/build/static/groovy-CTYHYVKe.js +0 -1
- package/web-ui/build/static/haml--wzGI8rV.js +0 -1
- package/web-ui/build/static/haml-CP_fk9Du.js +0 -1
- package/web-ui/build/static/handlebars-BCN8I_fU.js +0 -1
- package/web-ui/build/static/handlebars-ClNs_EWN.js +0 -1
- package/web-ui/build/static/haskell-9-8FOmKL.js +0 -1
- package/web-ui/build/static/haskell-CeDcPoLF.js +0 -1
- package/web-ui/build/static/haxe-50b4_Uxu.js +0 -1
- package/web-ui/build/static/haxe-DV1jCpSQ.js +0 -1
- package/web-ui/build/static/hcl-BYAKEmjA.js +0 -1
- package/web-ui/build/static/hlsl-_V666kTg.js +0 -1
- package/web-ui/build/static/hoon-Xx5CPs_2.js +0 -1
- package/web-ui/build/static/hpkp-Dgu8ZS6s.js +0 -1
- package/web-ui/build/static/hsp-B0EcUcwP.js +0 -1
- package/web-ui/build/static/hsts-B1FQvgxb.js +0 -1
- package/web-ui/build/static/htmlbars-BGs3CWC2.js +0 -1
- package/web-ui/build/static/http-BvrKmZx0.js +0 -1
- package/web-ui/build/static/http-DUnWgTgI.js +0 -1
- package/web-ui/build/static/hy-StjWDayT.js +0 -1
- package/web-ui/build/static/ichigojam-Dla3EUZJ.js +0 -1
- package/web-ui/build/static/icon-CEA3F2cM.js +0 -1
- package/web-ui/build/static/icu-message-format-CIRX0H1E.js +0 -1
- package/web-ui/build/static/idris-z8g0EYLs.js +0 -1
- package/web-ui/build/static/iecst-D99vO-YV.js +0 -1
- package/web-ui/build/static/ignore-Bd9HTGo7.js +0 -1
- package/web-ui/build/static/index-9mcWHG2c.js +0 -13
- package/web-ui/build/static/index-BUtXAjd5.css +0 -1
- package/web-ui/build/static/index-CaMlGjdh.js +0 -834
- package/web-ui/build/static/index-D35injhb.js +0 -1
- package/web-ui/build/static/inform7-CKq2EPhg.js +0 -1
- package/web-ui/build/static/inform7-D-KIfWlv.js +0 -1
- package/web-ui/build/static/ini-CoFKaEFp.js +0 -1
- package/web-ui/build/static/ini-Cqh2VeO8.js +0 -1
- package/web-ui/build/static/io-A1ozJngc.js +0 -1
- package/web-ui/build/static/irpf90-DLGfrn4I.js +0 -1
- package/web-ui/build/static/isbl-dbyF-dLf.js +0 -1
- package/web-ui/build/static/j-ByhCpf6J.js +0 -1
- package/web-ui/build/static/java-DCbnRaHw.js +0 -1
- package/web-ui/build/static/java-LzFZofIb.js +0 -1
- package/web-ui/build/static/javadoc-CaKRZCNM.js +0 -1
- package/web-ui/build/static/javadoclike-CmvAiCvn.js +0 -1
- package/web-ui/build/static/javascript-Cpvfsh-z.js +0 -1
- package/web-ui/build/static/javastacktrace-CSUMoXqu.js +0 -1
- package/web-ui/build/static/jboss-cli-Cv0HXjqO.js +0 -1
- package/web-ui/build/static/jexl-CtUU8Pyc.js +0 -1
- package/web-ui/build/static/jolie-Ccbea_Ca.js +0 -1
- package/web-ui/build/static/jq-DQJKGqGL.js +0 -1
- package/web-ui/build/static/js-extras-BST2fo5a.js +0 -1
- package/web-ui/build/static/js-templates-T4aqrsni.js +0 -1
- package/web-ui/build/static/jsdoc-DZuHBRHT.js +0 -1
- package/web-ui/build/static/json-ByIlxtOm.js +0 -1
- package/web-ui/build/static/json-Dd-I2QR8.js +0 -1
- package/web-ui/build/static/json5-CIBARWXJ.js +0 -1
- package/web-ui/build/static/jsonp-Cs7yuq7_.js +0 -1
- package/web-ui/build/static/jsstacktrace-DrmYorp8.js +0 -1
- package/web-ui/build/static/jsx-Clb0obdm.js +0 -1
- package/web-ui/build/static/julia-BreTVWTb.js +0 -1
- package/web-ui/build/static/julia-qQfG7KSh.js +0 -1
- package/web-ui/build/static/julia-repl-wN09lKm6.js +0 -1
- package/web-ui/build/static/keepalived-DCyf_6ml.js +0 -1
- package/web-ui/build/static/keyman-B22SYHoa.js +0 -1
- package/web-ui/build/static/kotlin-DeVs-dNz.js +0 -1
- package/web-ui/build/static/kotlin-OMSaUY06.js +0 -1
- package/web-ui/build/static/kumir-Y-M6VOUG.js +0 -1
- package/web-ui/build/static/kusto-BnDldn0z.js +0 -1
- package/web-ui/build/static/lasso-BlUPIy-8.js +0 -1
- package/web-ui/build/static/latex-BGueNdTW.js +0 -1
- package/web-ui/build/static/latex-EZ8QNCjf.js +0 -1
- package/web-ui/build/static/latte-BkyPxQ_A.js +0 -1
- package/web-ui/build/static/ldif-BCIcpQI_.js +0 -1
- package/web-ui/build/static/leaf-BAG78wZj.js +0 -1
- package/web-ui/build/static/less-CFghh9Qx.js +0 -1
- package/web-ui/build/static/less-CbqfFGMD.js +0 -1
- package/web-ui/build/static/lilypond-BSpYx-1e.js +0 -1
- package/web-ui/build/static/liquid-CHhOmyTU.js +0 -1
- package/web-ui/build/static/lisp-QMm5BThy.js +0 -1
- package/web-ui/build/static/lisp-rizdk7e8.js +0 -1
- package/web-ui/build/static/livecodeserver-Bbh0nB2d.js +0 -1
- package/web-ui/build/static/livescript--QIhQOIm.js +0 -1
- package/web-ui/build/static/livescript-wYJ9C7MN.js +0 -1
- package/web-ui/build/static/llvm-qWkZ6M3-.js +0 -1
- package/web-ui/build/static/llvm-x8W93e2q.js +0 -1
- package/web-ui/build/static/log-D4PGnDHU.js +0 -1
- package/web-ui/build/static/lolcode-CHKS4ygP.js +0 -1
- package/web-ui/build/static/lsl-BEuQrHG7.js +0 -1
- package/web-ui/build/static/lua-Czrw1nZw.js +0 -1
- package/web-ui/build/static/lua-DUasTiYT.js +0 -1
- package/web-ui/build/static/magma-B16nUtxA.js +0 -1
- package/web-ui/build/static/makefile-BkqsEpVd.js +0 -1
- package/web-ui/build/static/makefile-DmoEDBJj.js +0 -1
- package/web-ui/build/static/markdown-FL-EZYmc.js +0 -1
- package/web-ui/build/static/markdown-N4YibSvf.js +0 -1
- package/web-ui/build/static/markup-templating-C1Q3BuB3.js +0 -1
- package/web-ui/build/static/mathematica-BZ50Ibwb.js +0 -1
- package/web-ui/build/static/matlab-CJFiUipn.js +0 -1
- package/web-ui/build/static/matlab-D-LwnpYW.js +0 -1
- package/web-ui/build/static/maxima-D1nKJHio.js +0 -1
- package/web-ui/build/static/maxscript-3ukqkynT.js +0 -1
- package/web-ui/build/static/mel-BpGPnIg7.js +0 -1
- package/web-ui/build/static/mel-DAIpK4k4.js +0 -1
- package/web-ui/build/static/mercury-BO6AXAJw.js +0 -1
- package/web-ui/build/static/mermaid-Cvu66kFB.js +0 -1
- package/web-ui/build/static/mipsasm-CP7z3_gg.js +0 -1
- package/web-ui/build/static/mizar-1tBmTbFY.js +0 -1
- package/web-ui/build/static/mizar-vPQKaBOY.js +0 -1
- package/web-ui/build/static/mojolicious-3wXNqu2Z.js +0 -1
- package/web-ui/build/static/mongodb-DkJ5x1x3.js +0 -1
- package/web-ui/build/static/monkey-DwU43sRn.js +0 -1
- package/web-ui/build/static/monkey-DzoqN4GB.js +0 -1
- package/web-ui/build/static/moonscript-CgTduPCr.js +0 -1
- package/web-ui/build/static/moonscript-Dzbt70Ke.js +0 -1
- package/web-ui/build/static/n1ql-BaVhxD8V.js +0 -1
- package/web-ui/build/static/n1ql-DUHSzjt3.js +0 -1
- package/web-ui/build/static/n4js-DZ7dW-NZ.js +0 -1
- package/web-ui/build/static/nand2tetris-hdl-C-ecDW8U.js +0 -1
- package/web-ui/build/static/naniscript-dzw8pH4q.js +0 -1
- package/web-ui/build/static/nasm-B0fCm10I.js +0 -1
- package/web-ui/build/static/neon-DRlFTieL.js +0 -1
- package/web-ui/build/static/nevod-BEzTxq7x.js +0 -1
- package/web-ui/build/static/nginx-BI0b7qBW.js +0 -1
- package/web-ui/build/static/nginx-BTbIqU-1.js +0 -1
- package/web-ui/build/static/nim-C1lYEnIA.js +0 -1
- package/web-ui/build/static/nim-mfWcJfe-.js +0 -1
- package/web-ui/build/static/nix-PO76YCUx.js +0 -1
- package/web-ui/build/static/nix-a-29l1yK.js +0 -1
- package/web-ui/build/static/node-repl-DDA8xtxU.js +0 -1
- package/web-ui/build/static/nsis-CLyYop70.js +0 -1
- package/web-ui/build/static/nsis-GiqT6oer.js +0 -1
- package/web-ui/build/static/objectivec-DF-fhcs7.js +0 -1
- package/web-ui/build/static/objectivec-DtXa6iKB.js +0 -1
- package/web-ui/build/static/ocaml-D4ptVFU5.js +0 -1
- package/web-ui/build/static/ocaml-DBtZVh9H.js +0 -1
- package/web-ui/build/static/opencl-0Z_Gtfzx.js +0 -1
- package/web-ui/build/static/openqasm-BafUOtKF.js +0 -1
- package/web-ui/build/static/openscad-DwQ7I7ze.js +0 -1
- package/web-ui/build/static/oxygene-Bt7r8sbX.js +0 -1
- package/web-ui/build/static/oz-Da-qnXiT.js +0 -1
- package/web-ui/build/static/parigp-D6mMgLkz.js +0 -1
- package/web-ui/build/static/parser-DUfGrzvv.js +0 -1
- package/web-ui/build/static/parser3-C4GwCqRM.js +0 -1
- package/web-ui/build/static/pascal-CKsIwy8z.js +0 -1
- package/web-ui/build/static/pascaligo-0Y00fNzu.js +0 -1
- package/web-ui/build/static/pcaxis-BFwUDXM-.js +0 -1
- package/web-ui/build/static/peoplecode-D8-HVebY.js +0 -1
- package/web-ui/build/static/perl-CoNeuMP2.js +0 -1
- package/web-ui/build/static/perl-Dk_kCckE.js +0 -1
- package/web-ui/build/static/pf-DWKdp2Z5.js +0 -1
- package/web-ui/build/static/pgsql-DQM_KLIL.js +0 -1
- package/web-ui/build/static/php-BLJ1RddK.js +0 -1
- package/web-ui/build/static/php-C4Q-EoBs.js +0 -1
- package/web-ui/build/static/php-extras-DH16mdyb.js +0 -1
- package/web-ui/build/static/php-template-Bgyau4h4.js +0 -1
- package/web-ui/build/static/phpdoc-CrGYZCs3.js +0 -1
- package/web-ui/build/static/plaintext--cxrnnIY.js +0 -1
- package/web-ui/build/static/plsql-DXxJ1j1M.js +0 -1
- package/web-ui/build/static/pony-Bk4QKmb5.js +0 -1
- package/web-ui/build/static/powerquery-BNY7Y_eg.js +0 -1
- package/web-ui/build/static/powershell-CjTGWZrY.js +0 -1
- package/web-ui/build/static/powershell-DKKBTrGN.js +0 -1
- package/web-ui/build/static/processing-CoCmNEON.js +0 -1
- package/web-ui/build/static/processing-dWxOKKau.js +0 -1
- package/web-ui/build/static/profile-DinHOW6q.js +0 -1
- package/web-ui/build/static/prolog-D8s2MxCR.js +0 -1
- package/web-ui/build/static/prolog-tfF0hJ7N.js +0 -1
- package/web-ui/build/static/promql-BbpNnYtf.js +0 -1
- package/web-ui/build/static/properties-BH5IGhCw.js +0 -1
- package/web-ui/build/static/properties-BtBGEFji.js +0 -1
- package/web-ui/build/static/protobuf-Bq57MNXu.js +0 -1
- package/web-ui/build/static/protobuf-FQ5v_34f.js +0 -1
- package/web-ui/build/static/psl-DH3KK34y.js +0 -1
- package/web-ui/build/static/pug-BH0-FqNN.js +0 -1
- package/web-ui/build/static/puppet-D6IQ0-e_.js +0 -1
- package/web-ui/build/static/puppet-DhDhkrHQ.js +0 -1
- package/web-ui/build/static/pure-D-zzqNXt.js +0 -1
- package/web-ui/build/static/purebasic-C3ZHqBxR.js +0 -1
- package/web-ui/build/static/purebasic-DTWXM0iu.js +0 -1
- package/web-ui/build/static/purescript-C9dMZi0f.js +0 -1
- package/web-ui/build/static/python-kp4UxaFP.js +0 -1
- package/web-ui/build/static/python-repl-Bugvu_dB.js +0 -1
- package/web-ui/build/static/python-vnX1mWhI.js +0 -1
- package/web-ui/build/static/q-BRREgX-f.js +0 -1
- package/web-ui/build/static/q-V3GLDm_n.js +0 -1
- package/web-ui/build/static/qml-DfQdRLrG.js +0 -1
- package/web-ui/build/static/qml-i0MLAsR_.js +0 -1
- package/web-ui/build/static/qore-CFRmreiI.js +0 -1
- package/web-ui/build/static/qsharp-BpxCSpMu.js +0 -1
- package/web-ui/build/static/r-BFhn56zx.js +0 -1
- package/web-ui/build/static/r-D19R1VlL.js +0 -1
- package/web-ui/build/static/racket-D6Do3XQN.js +0 -1
- package/web-ui/build/static/reason-BLxB_uYS.js +0 -1
- package/web-ui/build/static/reasonml-CR2O5QXc.js +0 -1
- package/web-ui/build/static/regex-ExQT3DD-.js +0 -1
- package/web-ui/build/static/rego-BG1H2Grq.js +0 -1
- package/web-ui/build/static/renpy-DPYPiSEa.js +0 -1
- package/web-ui/build/static/rest-BXeudWmA.js +0 -1
- package/web-ui/build/static/rib-B50qbZUa.js +0 -1
- package/web-ui/build/static/rip-Oy08VNTd.js +0 -1
- package/web-ui/build/static/roboconf-BJlNdB3f.js +0 -1
- package/web-ui/build/static/roboconf-BWCGa42W.js +0 -1
- package/web-ui/build/static/robotframework-CrL-sTEo.js +0 -1
- package/web-ui/build/static/routeros-BV_7BLfU.js +0 -1
- package/web-ui/build/static/rsl-3QUMrc7D.js +0 -1
- package/web-ui/build/static/ruby-CocpOjC3.js +0 -1
- package/web-ui/build/static/ruby-xGmQ173X.js +0 -1
- package/web-ui/build/static/ruleslanguage-Dvh9iMSY.js +0 -1
- package/web-ui/build/static/rust-BZNigb_r.js +0 -1
- package/web-ui/build/static/rust-DwNjoaBZ.js +0 -1
- package/web-ui/build/static/sas-BJAlmleu.js +0 -1
- package/web-ui/build/static/sas-DMbLpxbs.js +0 -1
- package/web-ui/build/static/sass-DqYzzuDm.js +0 -1
- package/web-ui/build/static/scala-Bh2FkhWY.js +0 -1
- package/web-ui/build/static/scala-CBjzCnx6.js +0 -1
- package/web-ui/build/static/scheme-D2RTBnn4.js +0 -1
- package/web-ui/build/static/scheme-YLsRQlUd.js +0 -1
- package/web-ui/build/static/scilab-CXvKl1CZ.js +0 -1
- package/web-ui/build/static/scss-BE2dzDGl.js +0 -1
- package/web-ui/build/static/scss-J1E3J7lz.js +0 -1
- package/web-ui/build/static/shell-AzmPYKrI.js +0 -1
- package/web-ui/build/static/shell-session-C5dCMLWG.js +0 -1
- package/web-ui/build/static/smali-C88i6nEO.js +0 -1
- package/web-ui/build/static/smali-Ddnoiqfy.js +0 -1
- package/web-ui/build/static/smalltalk-C72n_dxy.js +0 -1
- package/web-ui/build/static/smalltalk-CPfRSVZs.js +0 -1
- package/web-ui/build/static/smarty-Dypt4i8b.js +0 -1
- package/web-ui/build/static/sml-BGGb-k8a.js +0 -1
- package/web-ui/build/static/sml-BODNZSm_.js +0 -1
- package/web-ui/build/static/solidity-D6wtTexR.js +0 -1
- package/web-ui/build/static/solution-file-5lZW0oOE.js +0 -1
- package/web-ui/build/static/soy-y16jnIDo.js +0 -1
- package/web-ui/build/static/sparql-DrdB7SPu.js +0 -1
- package/web-ui/build/static/splunk-spl-Doyv_CQR.js +0 -1
- package/web-ui/build/static/sqf-BSSKLJcS.js +0 -1
- package/web-ui/build/static/sqf-C27vJSdk.js +0 -1
- package/web-ui/build/static/sql-BGAlidwo.js +0 -1
- package/web-ui/build/static/sql-D632T_PJ.js +0 -1
- package/web-ui/build/static/sql_more-DxYQWBWa.js +0 -1
- package/web-ui/build/static/squirrel-BtynEITS.js +0 -1
- package/web-ui/build/static/stan-_WgX5GWP.js +0 -1
- package/web-ui/build/static/stan-oF5qmMKy.js +0 -1
- package/web-ui/build/static/stata-wLOz3xoi.js +0 -1
- package/web-ui/build/static/step21-BbsA7W89.js +0 -1
- package/web-ui/build/static/stylus-DtfRtkyR.js +0 -1
- package/web-ui/build/static/stylus-vEf2q3jH.js +0 -1
- package/web-ui/build/static/subunit-BRaQkxqR.js +0 -1
- package/web-ui/build/static/swift-DT015mq6.js +0 -1
- package/web-ui/build/static/swift-Drl9Vhia.js +0 -1
- package/web-ui/build/static/systemd-DWH7nh0Q.js +0 -1
- package/web-ui/build/static/t4-cs-BqiTmoCX.js +0 -1
- package/web-ui/build/static/t4-templating-Bof0eAYR.js +0 -1
- package/web-ui/build/static/t4-vb-8nW7Q4TI.js +0 -1
- package/web-ui/build/static/taggerscript-Dmu4nEaQ.js +0 -1
- package/web-ui/build/static/tap-B19AuLWq.js +0 -1
- package/web-ui/build/static/tap-DOdxz1Vj.js +0 -1
- package/web-ui/build/static/tcl-BAqD74MG.js +0 -1
- package/web-ui/build/static/tcl-DOM7n3Vd.js +0 -1
- package/web-ui/build/static/textile-DFXg54i4.js +0 -1
- package/web-ui/build/static/thrift-BGDpLcp_.js +0 -1
- package/web-ui/build/static/toml-J8m0tgag.js +0 -1
- package/web-ui/build/static/tp-BQkDcUXJ.js +0 -1
- package/web-ui/build/static/tremor-hOnek1Vr.js +0 -1
- package/web-ui/build/static/tsx-dhyw01LJ.js +0 -1
- package/web-ui/build/static/tt2-BZlvT5MG.js +0 -1
- package/web-ui/build/static/turtle-CEGacgOB.js +0 -1
- package/web-ui/build/static/twig-C7j-eyaz.js +0 -1
- package/web-ui/build/static/twig-MQre7lvF.js +0 -1
- package/web-ui/build/static/typescript-Dq5ZmyEV.js +0 -1
- package/web-ui/build/static/typescript-qPtHjmzW.js +0 -1
- package/web-ui/build/static/typoscript-B0sirAiC.js +0 -1
- package/web-ui/build/static/unrealscript-D_kXyIkW.js +0 -1
- package/web-ui/build/static/uorazor-8wB8nSC0.js +0 -1
- package/web-ui/build/static/uri-CaeHYk3y.js +0 -1
- package/web-ui/build/static/v-CYZwlqI2.js +0 -1
- package/web-ui/build/static/vala-DDkZds8N.js +0 -1
- package/web-ui/build/static/vala-zKk5gtUp.js +0 -1
- package/web-ui/build/static/vbnet-DY8Bh7zr.js +0 -1
- package/web-ui/build/static/vbnet-Z7zud-Nk.js +0 -1
- package/web-ui/build/static/vbscript-0xsGTIri.js +0 -1
- package/web-ui/build/static/vbscript-html-CQJqQ_tQ.js +0 -1
- package/web-ui/build/static/velocity-Dqe4ZgAo.js +0 -1
- package/web-ui/build/static/verilog-B0uVsHQr.js +0 -1
- package/web-ui/build/static/verilog-DLybxDJj.js +0 -1
- package/web-ui/build/static/vhdl-CP0JnbrM.js +0 -1
- package/web-ui/build/static/vhdl-CRV0TYO8.js +0 -1
- package/web-ui/build/static/vim-06LYR_Gs.js +0 -1
- package/web-ui/build/static/vim-DGgQcHr4.js +0 -1
- package/web-ui/build/static/visual-basic-BUWV1u5S.js +0 -1
- package/web-ui/build/static/warpscript-DKb8tXBH.js +0 -1
- package/web-ui/build/static/wasm-8E-n1sJQ.js +0 -1
- package/web-ui/build/static/web-idl-Bynfh0Gg.js +0 -1
- package/web-ui/build/static/wiki-Ck0ehuwt.js +0 -1
- package/web-ui/build/static/wolfram-BE1k6uuJ.js +0 -1
- package/web-ui/build/static/wren-Ce_CEEnI.js +0 -1
- package/web-ui/build/static/x86asm-DZUKtGAe.js +0 -1
- package/web-ui/build/static/xeora-DvXhnkv6.js +0 -1
- package/web-ui/build/static/xl-B1lBPZU_.js +0 -1
- package/web-ui/build/static/xml-D3p5hl_7.js +0 -1
- package/web-ui/build/static/xml-doc-CF8VvGyG.js +0 -1
- package/web-ui/build/static/xojo-D-WnMFdK.js +0 -1
- package/web-ui/build/static/xquery-BNNLxmJw.js +0 -1
- package/web-ui/build/static/xquery-D-mYtMjU.js +0 -1
- package/web-ui/build/static/yaml-a5-6TRUw.js +0 -1
- package/web-ui/build/static/yaml-aH3GAAQN.js +0 -1
- package/web-ui/build/static/yang-B2qT8oVg.js +0 -1
- package/web-ui/build/static/zephir-yxlgFmpA.js +0 -1
- package/web-ui/build/static/zig-B_AoM5P0.js +0 -1
package/src/tools/memoryTool.js
CHANGED
|
@@ -19,6 +19,14 @@
|
|
|
19
19
|
|
|
20
20
|
import { BaseTool } from './baseTool.js';
|
|
21
21
|
import { getMemoryService } from '../services/memoryService.js';
|
|
22
|
+
import {
|
|
23
|
+
overview as convOverview,
|
|
24
|
+
range as convRange,
|
|
25
|
+
search as convSearch,
|
|
26
|
+
around as convAround,
|
|
27
|
+
byTool as convByTool,
|
|
28
|
+
read as convRead,
|
|
29
|
+
} from '../services/conversationQuery.js';
|
|
22
30
|
|
|
23
31
|
class MemoryTool extends BaseTool {
|
|
24
32
|
constructor(config = {}, logger = null) {
|
|
@@ -141,6 +149,124 @@ Level options:
|
|
|
141
149
|
}
|
|
142
150
|
\`\`\`
|
|
143
151
|
|
|
152
|
+
8. REMINISCE - Browse your own pre-compaction conversation archive (READ-ONLY)
|
|
153
|
+
|
|
154
|
+
This is separate from the other actions. It does NOT read memory entries —
|
|
155
|
+
it reads your full past conversation as stored on disk. Use it when you
|
|
156
|
+
recall a detail from earlier in the session (a user instruction, a tool
|
|
157
|
+
output, an earlier decision) that's no longer in your recent context
|
|
158
|
+
because compaction removed it. The archive is durable: every message you
|
|
159
|
+
and the user exchanged is still there, even if you can't see it now.
|
|
160
|
+
|
|
161
|
+
The stable pointer is \`messageId\`. You can bookmark one result (e.g. from
|
|
162
|
+
\`search\`) and use it later in \`around\` to pull the surrounding context.
|
|
163
|
+
messageIds never change, even as the conversation grows or compaction runs.
|
|
164
|
+
|
|
165
|
+
Sub-modes:
|
|
166
|
+
|
|
167
|
+
8a. overview — "where have I been"
|
|
168
|
+
\`\`\`json
|
|
169
|
+
{ "toolId": "memory", "action": "reminisce", "mode": "overview" }
|
|
170
|
+
\`\`\`
|
|
171
|
+
Returns: totalMessages, firstAt, lastAt, totalApproxTokens, and a sparse
|
|
172
|
+
timeline of ~20 evenly-spaced markers { at, role, messageId, snippet }.
|
|
173
|
+
|
|
174
|
+
8b. range — slice by index or timestamp
|
|
175
|
+
\`\`\`json
|
|
176
|
+
{
|
|
177
|
+
"toolId": "memory", "action": "reminisce", "mode": "range",
|
|
178
|
+
"offset": 0, "limit": 20,
|
|
179
|
+
"from": "2026-04-18T00:00:00Z", "to": "2026-04-18T12:00:00Z"
|
|
180
|
+
}
|
|
181
|
+
\`\`\`
|
|
182
|
+
Returns: { messages, total, offset, limit, hasMore }.
|
|
183
|
+
|
|
184
|
+
8c. search — substring across content + tool-call arguments
|
|
185
|
+
\`\`\`json
|
|
186
|
+
{
|
|
187
|
+
"toolId": "memory", "action": "reminisce", "mode": "search",
|
|
188
|
+
"query": "database schema", "role": "user", "maxResults": 10
|
|
189
|
+
}
|
|
190
|
+
\`\`\`
|
|
191
|
+
Returns: { matches [{ messageId, role, at, source, snippet, highlightRanges }],
|
|
192
|
+
total, hasMore, cursor }.
|
|
193
|
+
Pass \`cursor\` back verbatim to get the next page.
|
|
194
|
+
Note: search does NOT match tool results/outputs — only content and
|
|
195
|
+
tool-call arguments.
|
|
196
|
+
|
|
197
|
+
8d. around — N MESSAGES before + N MESSAGES after a bookmarked messageId
|
|
198
|
+
\`\`\`json
|
|
199
|
+
{
|
|
200
|
+
"toolId": "memory", "action": "reminisce", "mode": "around",
|
|
201
|
+
"messageId": "msg_abc", "before": 3, "after": 3
|
|
202
|
+
}
|
|
203
|
+
\`\`\`
|
|
204
|
+
\`before\` and \`after\` count MESSAGES (not lines, not characters).
|
|
205
|
+
Range: 0–20 each side. For a larger window, paginate with a new \`around\`
|
|
206
|
+
call anchored at the messageId of the last-returned entry.
|
|
207
|
+
Returns: { messages, center, targetFound }.
|
|
208
|
+
|
|
209
|
+
8e. byTool — list your past tool calls (optionally filtered)
|
|
210
|
+
\`\`\`json
|
|
211
|
+
{
|
|
212
|
+
"toolId": "memory", "action": "reminisce", "mode": "byTool",
|
|
213
|
+
"toolId": "terminal", "limit": 20
|
|
214
|
+
}
|
|
215
|
+
\`\`\`
|
|
216
|
+
Returns: { toolCalls [{ messageId, at, toolId, status, inputSnippet }],
|
|
217
|
+
total, hasMore, cursor }.
|
|
218
|
+
|
|
219
|
+
8f. read — open ONE message at sub-message granularity (lines OR chars)
|
|
220
|
+
\`\`\`json
|
|
221
|
+
// Read whole message (byte-capped at ~32 KB)
|
|
222
|
+
{ "toolId": "memory", "action": "reminisce", "mode": "read",
|
|
223
|
+
"messageId": "msg_abc" }
|
|
224
|
+
|
|
225
|
+
// Read lines 100–150 of a long message (stack trace, paste, etc.)
|
|
226
|
+
{ "toolId": "memory", "action": "reminisce", "mode": "read",
|
|
227
|
+
"messageId": "msg_abc", "lineFrom": 100, "lineTo": 150 }
|
|
228
|
+
|
|
229
|
+
// Read characters 5000–7000 (half-open range)
|
|
230
|
+
{ "toolId": "memory", "action": "reminisce", "mode": "read",
|
|
231
|
+
"messageId": "msg_abc", "contentFrom": 5000, "contentTo": 7000 }
|
|
232
|
+
\`\`\`
|
|
233
|
+
Use this when \`search\` found a hit inside a huge message and the snippet
|
|
234
|
+
isn't enough, OR when you want to page through a single long message
|
|
235
|
+
without pulling the whole thing into context.
|
|
236
|
+
|
|
237
|
+
Window selectors are mutually exclusive — if you pass both, LINES win.
|
|
238
|
+
Omit both selectors to read the whole message. Caps: 500 lines / 16 000
|
|
239
|
+
chars per call. If the message is larger, the response's
|
|
240
|
+
\`contentWindow.hasMoreAfter\` is true — call \`read\` again with the next
|
|
241
|
+
\`lineFrom\` or \`contentFrom\` to continue.
|
|
242
|
+
|
|
243
|
+
Returns:
|
|
244
|
+
\`\`\`
|
|
245
|
+
{
|
|
246
|
+
message: {
|
|
247
|
+
messageId, role, at, tokenCount, hasToolCalls, model,
|
|
248
|
+
content: "<requested slice>",
|
|
249
|
+
contentWindow: {
|
|
250
|
+
kind: "lines" | "chars" | "full",
|
|
251
|
+
lineFrom?, lineTo?, totalLines?, // kind="lines"
|
|
252
|
+
contentFrom?, contentTo?, // kind="chars"
|
|
253
|
+
totalContentLength,
|
|
254
|
+
hasMoreBefore, hasMoreAfter,
|
|
255
|
+
truncatedAtBytes // byte cap kicked in mid-window
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
targetFound, center
|
|
259
|
+
}
|
|
260
|
+
\`\`\`
|
|
261
|
+
|
|
262
|
+
All reminisce responses are byte-capped (~32 KB) to protect your context.
|
|
263
|
+
When a response is capped it includes \`truncatedByBytes > 0\`; fetch fewer
|
|
264
|
+
or narrower results.
|
|
265
|
+
|
|
266
|
+
Add \`"detail": "full"\` on range/around to receive full untruncated content
|
|
267
|
+
and the raw toolExecutions / contextReferences — use sparingly; it eats
|
|
268
|
+
tokens fast.
|
|
269
|
+
|
|
144
270
|
BEST PRACTICES:
|
|
145
271
|
- Use memories for important facts, preferences, or decisions that should persist
|
|
146
272
|
- Keep titles concise and searchable
|
|
@@ -148,6 +274,11 @@ BEST PRACTICES:
|
|
|
148
274
|
- Set expiration dates for time-sensitive information
|
|
149
275
|
- Use LIST with "titles" first, then READ specific memories as needed
|
|
150
276
|
- Avoid storing sensitive data (API keys, passwords) in memories
|
|
277
|
+
- For reminisce: start with \`overview\`, then \`search\` or \`range\` to find
|
|
278
|
+
the right messageId, then \`around\` for surrounding messages or \`read\`
|
|
279
|
+
to open a specific message (whole, by line range, or by char range).
|
|
280
|
+
Bookmark messageIds in memory entries via \`[reminisce:msg_xxx]\`
|
|
281
|
+
references for a durable pointer that survives compaction.
|
|
151
282
|
`;
|
|
152
283
|
}
|
|
153
284
|
|
|
@@ -218,7 +349,7 @@ BEST PRACTICES:
|
|
|
218
349
|
*/
|
|
219
350
|
customValidateParameters(params) {
|
|
220
351
|
const errors = [];
|
|
221
|
-
const validActions = ['add', 'update', 'delete', 'list', 'read', 'search', 'stats'];
|
|
352
|
+
const validActions = ['add', 'update', 'delete', 'list', 'read', 'search', 'stats', 'reminisce'];
|
|
222
353
|
|
|
223
354
|
if (!params.action) {
|
|
224
355
|
errors.push('action is required');
|
|
@@ -297,6 +428,8 @@ BEST PRACTICES:
|
|
|
297
428
|
return await this._executeSearch(memoryService, agentId, params);
|
|
298
429
|
case 'stats':
|
|
299
430
|
return await this._executeStats(memoryService, agentId);
|
|
431
|
+
case 'reminisce':
|
|
432
|
+
return await this._executeReminisce(agentId, params, context);
|
|
300
433
|
default:
|
|
301
434
|
throw new Error(`Unknown action: ${action}`);
|
|
302
435
|
}
|
|
@@ -468,12 +601,106 @@ BEST PRACTICES:
|
|
|
468
601
|
};
|
|
469
602
|
}
|
|
470
603
|
|
|
604
|
+
/**
|
|
605
|
+
* Execute REMINISCE action — read-only query over the agent's
|
|
606
|
+
* pre-compaction conversation archive (conversations.full.messages).
|
|
607
|
+
*
|
|
608
|
+
* Unlike the other memory actions, reminisce does NOT touch memoryService.
|
|
609
|
+
* It's a lens over a different dataset: the conversation history that
|
|
610
|
+
* stateManager preserves durably on disk regardless of compaction. The
|
|
611
|
+
* agent uses it to pull specific spans of past context back into the
|
|
612
|
+
* current turn when they've fallen out of the active context window.
|
|
613
|
+
*
|
|
614
|
+
* Pointer contract: `messageId` values returned here are stable across
|
|
615
|
+
* session growth and compaction — an agent can bookmark one now and
|
|
616
|
+
* resolve it in a much later turn (see services/conversationQuery.js).
|
|
617
|
+
*
|
|
618
|
+
* @param {string} agentId
|
|
619
|
+
* @param {Object} params
|
|
620
|
+
* @param {'overview'|'range'|'search'|'around'|'byTool'} params.mode
|
|
621
|
+
* @param {Object} context Must carry `agentPool` to fetch the agent's
|
|
622
|
+
* conversation. If missing, returns a clean
|
|
623
|
+
* failure (not a crash).
|
|
624
|
+
*/
|
|
625
|
+
async _executeReminisce(agentId, params, context) {
|
|
626
|
+
const mode = typeof params.mode === 'string' ? params.mode : '';
|
|
627
|
+
const validModes = ['overview', 'range', 'search', 'around', 'byTool', 'read'];
|
|
628
|
+
if (!validModes.includes(mode)) {
|
|
629
|
+
return {
|
|
630
|
+
success: false,
|
|
631
|
+
action: 'reminisce',
|
|
632
|
+
error: `mode must be one of: ${validModes.join(', ')}`,
|
|
633
|
+
};
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
const agentPool = context?.agentPool;
|
|
637
|
+
if (!agentPool?.getAgent) {
|
|
638
|
+
return {
|
|
639
|
+
success: false,
|
|
640
|
+
action: 'reminisce',
|
|
641
|
+
error: 'agentPool is not available on the tool context; cannot read conversation archive',
|
|
642
|
+
};
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
const agent = await agentPool.getAgent(agentId);
|
|
646
|
+
if (!agent) {
|
|
647
|
+
return {
|
|
648
|
+
success: false,
|
|
649
|
+
action: 'reminisce',
|
|
650
|
+
error: `Agent not found: ${agentId}`,
|
|
651
|
+
};
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
// Always read from conversations.full — the durable archive that
|
|
655
|
+
// survives every compaction pass. Never from per-model views.
|
|
656
|
+
const messages = agent?.conversations?.full?.messages;
|
|
657
|
+
if (!Array.isArray(messages)) {
|
|
658
|
+
return {
|
|
659
|
+
success: true,
|
|
660
|
+
action: 'reminisce',
|
|
661
|
+
mode,
|
|
662
|
+
result: { empty: true, message: 'No conversation archive found for this agent.' },
|
|
663
|
+
};
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
// Pass only the params relevant to each mode — conversationQuery's
|
|
667
|
+
// per-mode validators clamp/default the rest.
|
|
668
|
+
const modeParams = {
|
|
669
|
+
from: params.from, to: params.to,
|
|
670
|
+
offset: params.offset, limit: params.limit,
|
|
671
|
+
query: params.query, role: params.role,
|
|
672
|
+
maxResults: params.maxResults, cursor: params.cursor,
|
|
673
|
+
messageId: params.messageId, before: params.before, after: params.after,
|
|
674
|
+
toolId: params.toolId, detail: params.detail,
|
|
675
|
+
// read-only window selectors (sub-message granularity)
|
|
676
|
+
lineFrom: params.lineFrom, lineTo: params.lineTo,
|
|
677
|
+
contentFrom: params.contentFrom, contentTo: params.contentTo,
|
|
678
|
+
};
|
|
679
|
+
|
|
680
|
+
let result;
|
|
681
|
+
switch (mode) {
|
|
682
|
+
case 'overview': result = convOverview(messages); break;
|
|
683
|
+
case 'range': result = convRange(messages, modeParams); break;
|
|
684
|
+
case 'search': result = convSearch(messages, modeParams); break;
|
|
685
|
+
case 'around': result = convAround(messages, modeParams); break;
|
|
686
|
+
case 'byTool': result = convByTool(messages, modeParams); break;
|
|
687
|
+
case 'read': result = convRead(messages, modeParams); break;
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
return {
|
|
691
|
+
success: true,
|
|
692
|
+
action: 'reminisce',
|
|
693
|
+
mode,
|
|
694
|
+
result,
|
|
695
|
+
};
|
|
696
|
+
}
|
|
697
|
+
|
|
471
698
|
/**
|
|
472
699
|
* Get supported actions
|
|
473
700
|
* @returns {Array<string>}
|
|
474
701
|
*/
|
|
475
702
|
getSupportedActions() {
|
|
476
|
-
return ['add', 'update', 'delete', 'list', 'read', 'search', 'stats'];
|
|
703
|
+
return ['add', 'update', 'delete', 'list', 'read', 'search', 'stats', 'reminisce'];
|
|
477
704
|
}
|
|
478
705
|
|
|
479
706
|
/**
|
|
@@ -486,7 +713,7 @@ BEST PRACTICES:
|
|
|
486
713
|
properties: {
|
|
487
714
|
action: {
|
|
488
715
|
type: 'string',
|
|
489
|
-
enum: ['add', 'update', 'delete', 'list', 'read', 'search', 'stats'],
|
|
716
|
+
enum: ['add', 'update', 'delete', 'list', 'read', 'search', 'stats', 'reminisce'],
|
|
490
717
|
description: 'Action to perform'
|
|
491
718
|
},
|
|
492
719
|
id: {
|
|
@@ -522,7 +749,42 @@ BEST PRACTICES:
|
|
|
522
749
|
},
|
|
523
750
|
query: {
|
|
524
751
|
type: 'string',
|
|
525
|
-
description: 'Search query (required for search)'
|
|
752
|
+
description: 'Search query (required for memory search AND reminisce search)'
|
|
753
|
+
},
|
|
754
|
+
|
|
755
|
+
// ── reminisce-specific parameters ────────────────────────────────
|
|
756
|
+
// Required when action="reminisce"; ignored otherwise.
|
|
757
|
+
mode: {
|
|
758
|
+
type: 'string',
|
|
759
|
+
enum: ['overview', 'range', 'search', 'around', 'byTool', 'read'],
|
|
760
|
+
description: 'Reminisce sub-mode (required for action="reminisce")'
|
|
761
|
+
},
|
|
762
|
+
messageId: {
|
|
763
|
+
type: 'string',
|
|
764
|
+
description: 'Stable conversation-archive pointer. Required for reminisce around/read.'
|
|
765
|
+
},
|
|
766
|
+
from: { type: 'string', description: 'ISO timestamp lower bound (reminisce range)' },
|
|
767
|
+
to: { type: 'string', description: 'ISO timestamp upper bound (reminisce range)' },
|
|
768
|
+
offset: { type: 'integer', description: 'Pagination offset (reminisce range)' },
|
|
769
|
+
limit: { type: 'integer', description: 'Max entries (reminisce range/byTool), 1–100' },
|
|
770
|
+
maxResults: { type: 'integer', description: 'Max search matches (reminisce search), 1–50' },
|
|
771
|
+
role: {
|
|
772
|
+
type: 'string',
|
|
773
|
+
enum: ['user', 'assistant', 'system'],
|
|
774
|
+
description: 'Role filter for reminisce search'
|
|
775
|
+
},
|
|
776
|
+
cursor: { type: 'string', description: 'Opaque pagination cursor (reminisce search/byTool) — pass verbatim from a previous response' },
|
|
777
|
+
toolId: { type: 'string', description: 'Filter by toolId (reminisce byTool)' },
|
|
778
|
+
before: { type: 'integer', description: 'Messages BEFORE the target (reminisce around), 0–20' },
|
|
779
|
+
after: { type: 'integer', description: 'Messages AFTER the target (reminisce around), 0–20' },
|
|
780
|
+
lineFrom: { type: 'integer', description: 'First line (reminisce read), 1-indexed inclusive' },
|
|
781
|
+
lineTo: { type: 'integer', description: 'Last line (reminisce read), 1-indexed inclusive; window ≤ 500 lines' },
|
|
782
|
+
contentFrom: { type: 'integer', description: 'Char offset start (reminisce read), 0-indexed inclusive. Ignored if lineFrom is set.' },
|
|
783
|
+
contentTo: { type: 'integer', description: 'Char offset end (reminisce read), 0-indexed exclusive; window ≤ 16000 chars' },
|
|
784
|
+
detail: {
|
|
785
|
+
type: 'string',
|
|
786
|
+
enum: ['default', 'full'],
|
|
787
|
+
description: 'Reminisce return shape: "default" (truncated/slim) or "full" (everything)'
|
|
526
788
|
}
|
|
527
789
|
},
|
|
528
790
|
required: ['action']
|
|
@@ -222,27 +222,82 @@ export const OPENAI_FUNCTION_SCHEMAS = [
|
|
|
222
222
|
},
|
|
223
223
|
},
|
|
224
224
|
// Memory — flat params (no actions array). Field names mirror the tool's
|
|
225
|
-
// validate/execute sites in src/tools/memoryTool.js
|
|
226
|
-
//
|
|
225
|
+
// validate/execute sites in src/tools/memoryTool.js.
|
|
226
|
+
//
|
|
227
|
+
// Memory-entry actions (user-authored notes):
|
|
227
228
|
// add: {action, title, content, description?}
|
|
228
229
|
// update: {action, id, title?, content?, description?}
|
|
229
230
|
// delete|read: {action, id}
|
|
230
231
|
// list: {action, level?}
|
|
231
232
|
// search: {action, query, level?}
|
|
233
|
+
// stats: {action}
|
|
234
|
+
//
|
|
235
|
+
// Conversation-archive action (read-only browse of the agent's own past
|
|
236
|
+
// conversation — survives compaction; see src/services/conversationQuery.js):
|
|
237
|
+
// reminisce: {action, mode, ...mode-specific params}
|
|
238
|
+
// overview — {mode}
|
|
239
|
+
// range — {mode, from?, to?, offset?, limit?, detail?}
|
|
240
|
+
// search — {mode, query, role?, maxResults?, cursor?, detail?}
|
|
241
|
+
// around — {mode, messageId, before?, after?, detail?}
|
|
242
|
+
// byTool — {mode, toolId?, limit?, cursor?}
|
|
243
|
+
// read — {mode, messageId, lineFrom?/lineTo? OR contentFrom?/contentTo?, detail?}
|
|
232
244
|
{
|
|
233
245
|
type: 'function',
|
|
234
246
|
name: 'memory',
|
|
235
|
-
description: 'Store and retrieve persistent memories across sessions.',
|
|
247
|
+
description: 'Store and retrieve persistent memories across sessions, and browse your own pre-compaction conversation archive via the `reminisce` action.',
|
|
236
248
|
parameters: {
|
|
237
249
|
type: 'object',
|
|
238
250
|
properties: {
|
|
239
|
-
action: { type: 'string', enum: ['add', 'update', 'delete', 'read', 'list', 'search'] },
|
|
240
|
-
id: { type: 'string', description: 'Memory id. Required for: update, delete, read.' },
|
|
251
|
+
action: { type: 'string', enum: ['add', 'update', 'delete', 'read', 'list', 'search', 'stats', 'reminisce'] },
|
|
252
|
+
id: { type: 'string', description: 'Memory id. Required for: update, delete, read (of memory entries).' },
|
|
241
253
|
title: { type: 'string', description: 'Short title. Required for: add. Optional for: update.' },
|
|
242
254
|
content: { type: 'string', description: 'Full memory content. Required for: add. Optional for: update.' },
|
|
243
255
|
description: { type: 'string', description: 'Short summary. Optional for: add, update.' },
|
|
244
|
-
query: { type: 'string', description: 'Search query. Required for
|
|
245
|
-
level: { type: 'string', enum: ['titles', 'descriptions', 'full'], description: 'Detail level for list/search output.' },
|
|
256
|
+
query: { type: 'string', description: 'Search query. Required for memory search AND reminisce search.' },
|
|
257
|
+
level: { type: 'string', enum: ['titles', 'descriptions', 'full'], description: 'Detail level for memory list/search output.' },
|
|
258
|
+
|
|
259
|
+
// ── reminisce-specific params ─────────────────────────────────────
|
|
260
|
+
mode: {
|
|
261
|
+
type: 'string',
|
|
262
|
+
enum: ['overview', 'range', 'search', 'around', 'byTool', 'read'],
|
|
263
|
+
description: 'Reminisce sub-mode. Required when action="reminisce".',
|
|
264
|
+
},
|
|
265
|
+
messageId: {
|
|
266
|
+
type: 'string',
|
|
267
|
+
description: 'Stable pointer into the conversation archive. Required for reminisce around/read. Get messageIds from overview/search/range/byTool results.',
|
|
268
|
+
},
|
|
269
|
+
// range / search / byTool paging
|
|
270
|
+
from: { type: 'string', description: 'ISO timestamp lower bound (reminisce range).' },
|
|
271
|
+
to: { type: 'string', description: 'ISO timestamp upper bound (reminisce range).' },
|
|
272
|
+
offset: { type: 'integer', description: 'Pagination offset (reminisce range).' },
|
|
273
|
+
limit: { type: 'integer', description: 'Max entries returned (reminisce range/byTool). 1–100.' },
|
|
274
|
+
maxResults: { type: 'integer', description: 'Max search matches returned (reminisce search). 1–50.' },
|
|
275
|
+
role: {
|
|
276
|
+
type: 'string',
|
|
277
|
+
enum: ['user', 'assistant', 'system'],
|
|
278
|
+
description: 'Filter by message role (reminisce search).',
|
|
279
|
+
},
|
|
280
|
+
cursor: { type: 'string', description: 'Opaque pagination cursor from a previous reminisce search/byTool response. Pass verbatim to continue.' },
|
|
281
|
+
toolId: { type: 'string', description: 'Filter by toolId (reminisce byTool).' },
|
|
282
|
+
// around — MESSAGES on each side of the target
|
|
283
|
+
before: {
|
|
284
|
+
type: 'integer',
|
|
285
|
+
description: 'Number of MESSAGES before the target to include (reminisce around). 0–20.',
|
|
286
|
+
},
|
|
287
|
+
after: {
|
|
288
|
+
type: 'integer',
|
|
289
|
+
description: 'Number of MESSAGES after the target to include (reminisce around). 0–20.',
|
|
290
|
+
},
|
|
291
|
+
// read — sub-message window, mutually exclusive (lines win if both)
|
|
292
|
+
lineFrom: { type: 'integer', description: 'First line to read, 1-indexed inclusive (reminisce read).' },
|
|
293
|
+
lineTo: { type: 'integer', description: 'Last line to read, 1-indexed inclusive (reminisce read). Window capped at 500 lines.' },
|
|
294
|
+
contentFrom: { type: 'integer', description: 'First character offset (reminisce read, 0-indexed inclusive). Ignored if lineFrom is set.' },
|
|
295
|
+
contentTo: { type: 'integer', description: 'Last character offset (reminisce read, 0-indexed exclusive). Window capped at 16000 chars.' },
|
|
296
|
+
detail: {
|
|
297
|
+
type: 'string',
|
|
298
|
+
enum: ['default', 'full'],
|
|
299
|
+
description: 'Return shape: "default" truncates content and omits toolExecutions; "full" returns everything (eats tokens fast).',
|
|
300
|
+
},
|
|
246
301
|
},
|
|
247
302
|
required: ['action'],
|
|
248
303
|
},
|
|
@@ -257,10 +257,27 @@ Complete a task:
|
|
|
257
257
|
{"toolId": "taskmanager", "actions": [{"type": "complete", "taskId": "task-123"}]}
|
|
258
258
|
\`\`\`
|
|
259
259
|
|
|
260
|
-
WORKFLOW
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
260
|
+
RECOMMENDED WORKFLOW (read this before your first call)
|
|
261
|
+
|
|
262
|
+
Phase 1 — Plan (ONE call, at the start):
|
|
263
|
+
\`sync\` with the full list of planned tasks. All start "pending".
|
|
264
|
+
Don't issue \`create\` one-by-one — that's many calls where one would do.
|
|
265
|
+
|
|
266
|
+
Phase 2 — Execute (per step, repeating):
|
|
267
|
+
a. \`update\` { taskId, status: "in_progress" } — pick up the next task
|
|
268
|
+
b. do the actual work using other tools
|
|
269
|
+
c. \`update\` { taskId, status: "completed" } — finish it, move to the next
|
|
270
|
+
(the scheduler enforces at most one task in_progress at a time)
|
|
271
|
+
|
|
272
|
+
Phase 3 — Refine (as you discover new work):
|
|
273
|
+
- \`create\` a single new task, OR
|
|
274
|
+
- \`sync\` again with the restated full list when the plan materially changes.
|
|
275
|
+
\`sync\` is safe to call repeatedly — it matches by title and preserves
|
|
276
|
+
existing status on unchanged tasks. Don't \`sync\` every turn, though —
|
|
277
|
+
prefer targeted \`update\`/\`create\` unless the plan itself shifted.
|
|
278
|
+
|
|
279
|
+
Phase 4 — Finish:
|
|
280
|
+
When every task is "completed", call the \`jobdone\` tool.
|
|
264
281
|
|
|
265
282
|
**MANDATORY**: Complete tasks when finished or you'll loop forever!
|
|
266
283
|
|
|
@@ -319,6 +319,22 @@ Code:
|
|
|
319
319
|
* @returns {Promise<Object>} Execution result
|
|
320
320
|
*/
|
|
321
321
|
async execute(params, context = {}) {
|
|
322
|
+
// FIRST THING: an unconditional console.log so we can always see that
|
|
323
|
+
// the tool was invoked — before any early-return (parse failure,
|
|
324
|
+
// bridge disabled, validation fail) or thrown error could swallow it.
|
|
325
|
+
// Earlier the log lived past a `bridge.isEnabled()` gate and was
|
|
326
|
+
// silently skipped whenever that gate tripped, making it look like
|
|
327
|
+
// the tool wasn't being called at all.
|
|
328
|
+
console.log('[VisualEditorTool] execute() called', {
|
|
329
|
+
paramsType: typeof params,
|
|
330
|
+
paramsAction: params?.action,
|
|
331
|
+
paramsUrl: params?.url,
|
|
332
|
+
agentId: context?.agentId,
|
|
333
|
+
hasGlobalWebServer: !!global.loxiaWebServer,
|
|
334
|
+
hasOrchestratorWebServer: !!context?.orchestrator?.webServer,
|
|
335
|
+
hasAgentPool: !!context?.agentPool,
|
|
336
|
+
});
|
|
337
|
+
|
|
322
338
|
try {
|
|
323
339
|
const { agentId } = context;
|
|
324
340
|
|
|
@@ -334,6 +350,7 @@ Code:
|
|
|
334
350
|
|
|
335
351
|
// Check if bridge is enabled
|
|
336
352
|
if (!bridge.isEnabled()) {
|
|
353
|
+
console.warn('[VisualEditorTool] Early exit: bridge.isEnabled() === false');
|
|
337
354
|
return {
|
|
338
355
|
success: false,
|
|
339
356
|
error: 'Visual editor is disabled. Enable it in configuration.'
|
|
@@ -343,12 +360,19 @@ Code:
|
|
|
343
360
|
// Validate
|
|
344
361
|
const validation = this.customValidateParameters(params);
|
|
345
362
|
if (!validation.valid) {
|
|
363
|
+
console.warn('[VisualEditorTool] Early exit: validation failed', { action: params?.action, error: validation.error });
|
|
346
364
|
return {
|
|
347
365
|
success: false,
|
|
348
366
|
error: validation.error
|
|
349
367
|
};
|
|
350
368
|
}
|
|
351
369
|
|
|
370
|
+
// Confirmation that we reached action dispatch
|
|
371
|
+
console.log(`[VisualEditorTool] Action=${params.action} — about to dispatch`, {
|
|
372
|
+
agentId,
|
|
373
|
+
url: params.url,
|
|
374
|
+
});
|
|
375
|
+
|
|
352
376
|
// Route to action handler
|
|
353
377
|
switch (params.action) {
|
|
354
378
|
case ACTIONS.GET_CONTEXT:
|
|
@@ -401,7 +425,16 @@ Code:
|
|
|
401
425
|
}
|
|
402
426
|
|
|
403
427
|
} catch (error) {
|
|
404
|
-
|
|
428
|
+
// Log full stack + action context so failures that happen BEFORE
|
|
429
|
+
// the broadcast fires (e.g., bridge.getInstance throws) are
|
|
430
|
+
// visible in the Node console. Previously the tool returned a
|
|
431
|
+
// clean error string to the agent and the human operator saw
|
|
432
|
+
// nothing — making "the editor never opens" undebuggable.
|
|
433
|
+
console.error(`[VisualEditorTool] Action=${params?.action} FAILED: ${error.message}`, {
|
|
434
|
+
agentId,
|
|
435
|
+
action: params?.action,
|
|
436
|
+
stack: error.stack,
|
|
437
|
+
});
|
|
405
438
|
return {
|
|
406
439
|
success: false,
|
|
407
440
|
error: error.message
|
|
@@ -904,7 +937,19 @@ Or for static HTML, use 'serve-static' action instead (auto-opens the editor).
|
|
|
904
937
|
}
|
|
905
938
|
|
|
906
939
|
/**
|
|
907
|
-
* Broadcast open-editor command to web-ui
|
|
940
|
+
* Broadcast open-editor command to web-ui.
|
|
941
|
+
*
|
|
942
|
+
* Fan-out semantics: we deliberately pass `null` as sessionId so the
|
|
943
|
+
* webServer's broadcastToSession falls through to its "broadcast to all
|
|
944
|
+
* connections" path. Previously this used `context.sessionId ||
|
|
945
|
+
* 'web-session'`, but `context.sessionId` is usually the agent's
|
|
946
|
+
* scheduler session (`scheduler-session`) which doesn't match any UI
|
|
947
|
+
* WebSocket connection, and the literal `'web-session'` fallback only
|
|
948
|
+
* matches if a client happens to have that exact id. In both cases the
|
|
949
|
+
* underlying broadcastToSession also falls back to "all clients", but
|
|
950
|
+
* the path is log-noisy ("⚠ No connections for session") and semantically
|
|
951
|
+
* misleading. The visual editor auto-open is inherently a UI-scoped
|
|
952
|
+
* notification — we want every attached browser to hear it.
|
|
908
953
|
* @private
|
|
909
954
|
*/
|
|
910
955
|
_broadcastOpenEditor(context, data) {
|
|
@@ -917,34 +962,54 @@ Or for static HTML, use 'serve-static' action instead (auto-opens the editor).
|
|
|
917
962
|
}
|
|
918
963
|
};
|
|
919
964
|
|
|
920
|
-
//
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
965
|
+
// Use plain console.log so the success path always prints even when
|
|
966
|
+
// the tool was constructed without a logger (pre-logger-propagation
|
|
967
|
+
// registries, test harnesses, future refactors).
|
|
968
|
+
const log = (path) =>
|
|
969
|
+
console.log(`[VisualEditorTool] Broadcast visual_editor_open via ${path}`, {
|
|
970
|
+
agentId: data.agentId,
|
|
971
|
+
appUrl: data.appUrl,
|
|
972
|
+
});
|
|
973
|
+
|
|
974
|
+
// Prefer the global webServer reference. Rationale:
|
|
975
|
+
// - It's set exactly once, at boot (`global.loxiaWebServer = webServer`
|
|
976
|
+
// in src/index.js after the server's own `initialize()` resolves).
|
|
977
|
+
// - It bypasses any context-wiring subtlety. The tool's context can
|
|
978
|
+
// be shaped differently depending on how the tool was invoked
|
|
979
|
+
// (scheduler vs. direct orchestrator vs. flow executor), and
|
|
980
|
+
// past outages have been "the context path USED to be populated,
|
|
981
|
+
// then someone refactored the orchestrator setter order and the
|
|
982
|
+
// inner path silently became undefined". The global dodges that.
|
|
983
|
+
// - Verified live: the `/api/visual-editor/debug-broadcast` endpoint
|
|
984
|
+
// uses the same webServer.broadcastToSession(null, ...) call and
|
|
985
|
+
// delivers successfully every time.
|
|
986
|
+
// The context-based paths are kept as belt-and-braces fallbacks for
|
|
987
|
+
// any unusual execution environment (tests, possible future
|
|
988
|
+
// embedded use) where `global` wasn't initialized.
|
|
989
|
+
if (global.loxiaWebServer?.broadcastToSession) {
|
|
990
|
+
global.loxiaWebServer.broadcastToSession(null, message);
|
|
991
|
+
log('global.loxiaWebServer');
|
|
926
992
|
return;
|
|
927
993
|
}
|
|
928
994
|
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
context.sessionId || 'web-session',
|
|
933
|
-
message
|
|
934
|
-
);
|
|
995
|
+
if (context.agentPool?.messageProcessor?.orchestrator?.webServer?.broadcastToSession) {
|
|
996
|
+
context.agentPool.messageProcessor.orchestrator.webServer.broadcastToSession(null, message);
|
|
997
|
+
log('agentPool.messageProcessor.orchestrator.webServer');
|
|
935
998
|
return;
|
|
936
999
|
}
|
|
937
1000
|
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
context.sessionId || 'web-session',
|
|
942
|
-
message
|
|
943
|
-
);
|
|
1001
|
+
if (context.orchestrator?.webServer?.broadcastToSession) {
|
|
1002
|
+
context.orchestrator.webServer.broadcastToSession(null, message);
|
|
1003
|
+
log('context.orchestrator.webServer');
|
|
944
1004
|
return;
|
|
945
1005
|
}
|
|
946
1006
|
|
|
947
|
-
|
|
1007
|
+
console.warn('[VisualEditorTool] Could not broadcast open-editor command - no webServer access', {
|
|
1008
|
+
hasContext: !!context,
|
|
1009
|
+
hasAgentPool: !!context?.agentPool,
|
|
1010
|
+
hasOrchestrator: !!context?.orchestrator,
|
|
1011
|
+
hasGlobal: !!global.loxiaWebServer,
|
|
1012
|
+
});
|
|
948
1013
|
}
|
|
949
1014
|
|
|
950
1015
|
// === Phase 5 Action Handlers ===
|