@axiom-lattice/gateway 4.9.0 → 4.9.2
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/dist/chunk-FGSFOXIX.mjs +157 -0
- package/dist/chunk-MWWLJMYN.mjs +44 -0
- package/dist/chunk-MWWLJMYN.mjs.map +1 -0
- package/dist/chunk-PAKR5N7U.mjs +116 -0
- package/dist/chunk-PAKR5N7U.mjs.map +1 -0
- package/dist/embed/embed-page-1c-3672YAN6.js +1 -0
- package/dist/embed/embed-page-AgentDetailSideApp-WQAMMDXN.js +1 -0
- package/dist/embed/embed-page-AgentGovernanceWorkbench-VKD4IZIO.js +5 -0
- package/dist/embed/embed-page-MessageGraph-C4EJWY3E.js +6 -0
- package/dist/embed/embed-page-ReactChart-TNT4TT4C.js +1 -0
- package/dist/embed/embed-page-ReactInfographic-5P36JLSX.js +574 -0
- package/dist/embed/embed-page-SkillFlow-WWRDU6GS.js +1 -0
- package/dist/embed/embed-page-TasksSideApp-73SJLGRY.js +254 -0
- package/dist/embed/embed-page-TeamWorkspace-6E4HAH7L.js +748 -0
- package/dist/embed/embed-page-TopologyRuntimeView-SXUNRFT4.js +6 -0
- package/dist/embed/embed-page-WorkflowAutomationView-I4VN6YY2.js +3 -0
- package/dist/embed/embed-page-abap-FC4M2D7P.js +1 -0
- package/dist/embed/embed-page-abnf-G525TQJB.js +1 -0
- package/dist/embed/embed-page-abnf-SHBHCAK2.js +1 -0
- package/dist/embed/embed-page-accesslog-2M55VTUX.js +1 -0
- package/dist/embed/embed-page-actionscript-RY67QSPU.js +1 -0
- package/dist/embed/embed-page-actionscript-SWESLOYW.js +1 -0
- package/dist/embed/embed-page-ada-3PKR63SZ.js +1 -0
- package/dist/embed/embed-page-ada-F6EBCIQQ.js +1 -0
- package/dist/embed/embed-page-agda-6M6MJD55.js +1 -0
- package/dist/embed/embed-page-al-4FBEFJFL.js +1 -0
- package/dist/embed/embed-page-all-NEJVJ4G7.js +1 -0
- package/dist/embed/embed-page-angelscript-PA3J3IPF.js +1 -0
- package/dist/embed/embed-page-antlr4-7EOUJSUC.js +1 -0
- package/dist/embed/embed-page-apache-MMXJDXBK.js +1 -0
- package/dist/embed/embed-page-apacheconf-F6T6KKIK.js +1 -0
- package/dist/embed/embed-page-apex-HKKUS4TG.js +1 -0
- package/dist/embed/embed-page-apl-VAHRWU2C.js +1 -0
- package/dist/embed/embed-page-applescript-OYNK2BWW.js +1 -0
- package/dist/embed/embed-page-applescript-XDVB6PQE.js +1 -0
- package/dist/embed/embed-page-aql-DISPQABZ.js +1 -0
- package/dist/embed/embed-page-arcade-RYRVHC4U.js +1 -0
- package/dist/embed/embed-page-architecture-U656AL7Q-CERCETXS.js +1 -0
- package/dist/embed/embed-page-architectureDiagram-VXUJARFQ-THUN2PFL.js +36 -0
- package/dist/embed/embed-page-arduino-6EVJOXM5.js +1 -0
- package/dist/embed/embed-page-arduino-DJNXANC5.js +1 -0
- package/dist/embed/embed-page-arff-6XP7STXD.js +1 -0
- package/dist/embed/embed-page-armasm-26G576PB.js +1 -0
- package/dist/embed/embed-page-armasm-DNR4RE6C.js +1 -0
- package/dist/embed/embed-page-arturo-GQUFBNDR.js +1 -0
- package/dist/embed/embed-page-asciidoc-J2O4XGSQ.js +1 -0
- package/dist/embed/embed-page-asciidoc-UUDIEEHY.js +1 -0
- package/dist/embed/embed-page-asm6502-VAOVLPA2.js +1 -0
- package/dist/embed/embed-page-asmatmel-W3BH5EWE.js +1 -0
- package/dist/embed/embed-page-aspectj-AHVD3GV3.js +1 -0
- package/dist/embed/embed-page-aspnet-SRK67AH2.js +1 -0
- package/dist/embed/embed-page-autohotkey-JYKSDDLP.js +1 -0
- package/dist/embed/embed-page-autohotkey-X32QT3KL.js +1 -0
- package/dist/embed/embed-page-autoit-GOJFTAT2.js +1 -0
- package/dist/embed/embed-page-autoit-NROL6NFJ.js +1 -0
- package/dist/embed/embed-page-avisynth-D7VVR5X3.js +1 -0
- package/dist/embed/embed-page-avrasm-6A57LBKN.js +1 -0
- package/dist/embed/embed-page-avro-idl-I4XNINTH.js +1 -0
- package/dist/embed/embed-page-awk-3BJHNUFT.js +1 -0
- package/dist/embed/embed-page-awk-7EH4I7QQ.js +1 -0
- package/dist/embed/embed-page-axapta-ARDJGTIF.js +1 -0
- package/dist/embed/embed-page-bash-EDMDMWNH.js +1 -0
- package/dist/embed/embed-page-bash-WZRCD7NA.js +1 -0
- package/dist/embed/embed-page-basic-BW7RBXOU.js +1 -0
- package/dist/embed/embed-page-basic-F67LLDZC.js +1 -0
- package/dist/embed/embed-page-batch-V6URKYVJ.js +1 -0
- package/dist/embed/embed-page-bbcode-TLSXHEZA.js +1 -0
- package/dist/embed/embed-page-bbj-2L7C2QFS.js +1 -0
- package/dist/embed/embed-page-bicep-GHUPVSTH.js +1 -0
- package/dist/embed/embed-page-birb-KO47ZYTN.js +1 -0
- package/dist/embed/embed-page-bison-FE7WSRNZ.js +1 -0
- package/dist/embed/embed-page-blockDiagram-VD42YOAC-K7OX6LIO.js +122 -0
- package/dist/embed/embed-page-bnf-JD3RND6H.js +1 -0
- package/dist/embed/embed-page-bnf-TCOKUGG5.js +1 -0
- package/dist/embed/embed-page-bqn-HE5FNDB5.js +1 -0
- package/dist/embed/embed-page-brainfuck-NAQTZWNH.js +1 -0
- package/dist/embed/embed-page-brainfuck-TNP2NG5F.js +1 -0
- package/dist/embed/embed-page-brightscript-OFCDBVYP.js +1 -0
- package/dist/embed/embed-page-bro-DJ7TL2KM.js +1 -0
- package/dist/embed/embed-page-bsl-IJMRFVNU.js +1 -0
- package/dist/embed/embed-page-c-B25UQBFM.js +1 -0
- package/dist/embed/embed-page-c-CK76BXS5.js +1 -0
- package/dist/embed/embed-page-c-like-T4YDK4KK.js +1 -0
- package/dist/embed/embed-page-c4Diagram-YG6GDRKO-DJDAF5AO.js +10 -0
- package/dist/embed/embed-page-cal-SBIKS2D6.js +1 -0
- package/dist/embed/embed-page-capnproto-N2Y45G3E.js +1 -0
- package/dist/embed/embed-page-ceylon-QFONS72N.js +1 -0
- package/dist/embed/embed-page-cfscript-LRGIODM5.js +1 -0
- package/dist/embed/embed-page-chaiscript-ZMWTI364.js +1 -0
- package/dist/embed/embed-page-chunk-23V2SA25.js +1 -0
- package/dist/embed/embed-page-chunk-2HO2QJPJ.js +1 -0
- package/dist/embed/embed-page-chunk-2JOBJV35.js +1 -0
- package/dist/embed/embed-page-chunk-2N7RAAAZ.js +1 -0
- package/dist/embed/embed-page-chunk-2QCNLPIR.js +1 -0
- package/dist/embed/embed-page-chunk-2RYHVL2R.js +1 -0
- package/dist/embed/embed-page-chunk-2SD7ELVM.js +1 -0
- package/dist/embed/embed-page-chunk-2XNRKJDC.js +1 -0
- package/dist/embed/embed-page-chunk-34FVRFPW.js +3 -0
- package/dist/embed/embed-page-chunk-3J6SXXOZ.js +1 -0
- package/dist/embed/embed-page-chunk-3O7HFNRM.js +1 -0
- package/dist/embed/embed-page-chunk-3UQBIIFT.js +1 -0
- package/dist/embed/embed-page-chunk-44ETUMBA.js +1 -0
- package/dist/embed/embed-page-chunk-4DUEWOCX.js +1 -0
- package/dist/embed/embed-page-chunk-4HDOHU33.js +1 -0
- package/dist/embed/embed-page-chunk-4JTFY2GD.js +1 -0
- package/dist/embed/embed-page-chunk-4OHP5BMV.js +1 -0
- package/dist/embed/embed-page-chunk-4PFTW74G.js +1 -0
- package/dist/embed/embed-page-chunk-4RV5IVDF.js +1 -0
- package/dist/embed/embed-page-chunk-55HDN6EZ.js +1 -0
- package/dist/embed/embed-page-chunk-57ESBUNV.js +1 -0
- package/dist/embed/embed-page-chunk-5EONYJU2.js +1 -0
- package/dist/embed/embed-page-chunk-5MSBT4RM.js +1 -0
- package/dist/embed/embed-page-chunk-5RO6PYBN.js +1 -0
- package/dist/embed/embed-page-chunk-5RU5MEE5.js +1 -0
- package/dist/embed/embed-page-chunk-6GSQ3MO3.js +1 -0
- package/dist/embed/embed-page-chunk-6LP24SGJ.js +1 -0
- package/dist/embed/embed-page-chunk-6YWLT47Z.js +1 -0
- package/dist/embed/embed-page-chunk-6Z7EO7WS.js +1 -0
- package/dist/embed/embed-page-chunk-76JAALDP.js +1 -0
- package/dist/embed/embed-page-chunk-7AA7XLQA.js +1 -0
- package/dist/embed/embed-page-chunk-7BD7YZ6R.js +1 -0
- package/dist/embed/embed-page-chunk-7EFHAONJ.js +1 -0
- package/dist/embed/embed-page-chunk-7KGFP2NP.js +1 -0
- package/dist/embed/embed-page-chunk-7SJL3ZUM.js +1 -0
- package/dist/embed/embed-page-chunk-7Z54P67B.js +1 -0
- package/dist/embed/embed-page-chunk-A2AHDN6K.js +220 -0
- package/dist/embed/embed-page-chunk-ACBAUMRP.js +1 -0
- package/dist/embed/embed-page-chunk-AE33JGV3.js +1 -0
- package/dist/embed/embed-page-chunk-AET7KVHE.js +1 -0
- package/dist/embed/embed-page-chunk-ARNGODUC.js +1 -0
- package/dist/embed/embed-page-chunk-ARQAOI6N.js +1 -0
- package/dist/embed/embed-page-chunk-B6LTCYUQ.js +1 -0
- package/dist/embed/embed-page-chunk-BDRTKD6X.js +1 -0
- package/dist/embed/embed-page-chunk-BEPURBGC.js +1 -0
- package/dist/embed/embed-page-chunk-BFUAZASY.js +1 -0
- package/dist/embed/embed-page-chunk-BOJO3UM6.js +3 -0
- package/dist/embed/embed-page-chunk-BQQ37SIH.js +1 -0
- package/dist/embed/embed-page-chunk-CHWTZDID.js +1 -0
- package/dist/embed/embed-page-chunk-CPOJ65KG.js +1 -0
- package/dist/embed/embed-page-chunk-CXHC4TNR.js +1 -0
- package/dist/embed/embed-page-chunk-CZVINPQK.js +1 -0
- package/dist/embed/embed-page-chunk-D3XPKX7F.js +1 -0
- package/dist/embed/embed-page-chunk-D5GP7FHH.js +5 -0
- package/dist/embed/embed-page-chunk-DBLOV72T.js +1 -0
- package/dist/embed/embed-page-chunk-DBQ7RYBB.js +1 -0
- package/dist/embed/embed-page-chunk-DBWLMNKE.js +1 -0
- package/dist/embed/embed-page-chunk-DCAYPVBD.js +1 -0
- package/dist/embed/embed-page-chunk-DEPFMNQL.js +1 -0
- package/dist/embed/embed-page-chunk-DNDB7A7P.js +1 -0
- package/dist/embed/embed-page-chunk-DOZHL42J.js +79 -0
- package/dist/embed/embed-page-chunk-DSQPKRCA.js +1 -0
- package/dist/embed/embed-page-chunk-DTRFJLVZ.js +7 -0
- package/dist/embed/embed-page-chunk-DU7FHHNO.js +1 -0
- package/dist/embed/embed-page-chunk-DUXOOPIC.js +1 -0
- package/dist/embed/embed-page-chunk-DXA7S5MI.js +1 -0
- package/dist/embed/embed-page-chunk-DXR73EFU.js +1 -0
- package/dist/embed/embed-page-chunk-DZZVEYCL.js +1 -0
- package/dist/embed/embed-page-chunk-EBUGKEEG.js +1 -0
- package/dist/embed/embed-page-chunk-EDMIU5JL.js +2 -0
- package/dist/embed/embed-page-chunk-EDWKSJEO.js +1 -0
- package/dist/embed/embed-page-chunk-EIKUMXEW.js +1 -0
- package/dist/embed/embed-page-chunk-ELO2N4OB.js +1 -0
- package/dist/embed/embed-page-chunk-ERWY6RJM.js +1 -0
- package/dist/embed/embed-page-chunk-ESQ5V77Q.js +1 -0
- package/dist/embed/embed-page-chunk-F2TRDKUW.js +1 -0
- package/dist/embed/embed-page-chunk-FD2PRLMW.js +1 -0
- package/dist/embed/embed-page-chunk-FNUP6NFP.js +1 -0
- package/dist/embed/embed-page-chunk-FRB6NW7O.js +1 -0
- package/dist/embed/embed-page-chunk-FV7T53BO.js +1 -0
- package/dist/embed/embed-page-chunk-G2RO6IBN.js +70 -0
- package/dist/embed/embed-page-chunk-G2YPDP7J.js +1 -0
- package/dist/embed/embed-page-chunk-G5NEOKZK.js +153 -0
- package/dist/embed/embed-page-chunk-G6JAPMJ5.js +1 -0
- package/dist/embed/embed-page-chunk-GPKFDKUK.js +1 -0
- package/dist/embed/embed-page-chunk-GSX5BYHL.js +1 -0
- package/dist/embed/embed-page-chunk-GWLTD7HW.js +1 -0
- package/dist/embed/embed-page-chunk-GZOXWFFV.js +1 -0
- package/dist/embed/embed-page-chunk-H345XYZQ.js +1 -0
- package/dist/embed/embed-page-chunk-H5QUHNDQ.js +1 -0
- package/dist/embed/embed-page-chunk-H6DZ2LNI.js +1 -0
- package/dist/embed/embed-page-chunk-HD75XQCG.js +1 -0
- package/dist/embed/embed-page-chunk-HIATKOMS.js +1 -0
- package/dist/embed/embed-page-chunk-HJKEB5FQ.js +1 -0
- package/dist/embed/embed-page-chunk-HQSRC2R4.js +3 -0
- package/dist/embed/embed-page-chunk-HUFFWUZD.js +1 -0
- package/dist/embed/embed-page-chunk-HYPA2PHA.js +1 -0
- package/dist/embed/embed-page-chunk-I347XR6R.js +1 -0
- package/dist/embed/embed-page-chunk-IICJRUNM.js +1 -0
- package/dist/embed/embed-page-chunk-IKX4MLGG.js +1 -0
- package/dist/embed/embed-page-chunk-IM57IYUL.js +3 -0
- package/dist/embed/embed-page-chunk-ISTKCEOH.js +1 -0
- package/dist/embed/embed-page-chunk-IT5DVEAN.js +1 -0
- package/dist/embed/embed-page-chunk-IWUMSTJF.js +15 -0
- package/dist/embed/embed-page-chunk-IYWWXQJG.js +1 -0
- package/dist/embed/embed-page-chunk-IZ7VTNMT.js +1 -0
- package/dist/embed/embed-page-chunk-J5AHS4PO.js +1 -0
- package/dist/embed/embed-page-chunk-JAYUMYFW.js +1 -0
- package/dist/embed/embed-page-chunk-JCN7X3Y6.js +1 -0
- package/dist/embed/embed-page-chunk-JDNBQS2R.js +1 -0
- package/dist/embed/embed-page-chunk-JGLRE3VC.js +1 -0
- package/dist/embed/embed-page-chunk-JL2IIW7T.js +1 -0
- package/dist/embed/embed-page-chunk-JSIH7Z7L.js +1 -0
- package/dist/embed/embed-page-chunk-JTDYN6JL.js +1 -0
- package/dist/embed/embed-page-chunk-JUZPOR5Y.js +2 -0
- package/dist/embed/embed-page-chunk-JV6C7M3X.js +1 -0
- package/dist/embed/embed-page-chunk-KFSTJCJL.js +1 -0
- package/dist/embed/embed-page-chunk-KGY27C6V.js +1 -0
- package/dist/embed/embed-page-chunk-KGY5CVSV.js +1 -0
- package/dist/embed/embed-page-chunk-KJWVD6VT.js +1 -0
- package/dist/embed/embed-page-chunk-KOTR4Y4Q.js +1 -0
- package/dist/embed/embed-page-chunk-KPA55C47.js +1 -0
- package/dist/embed/embed-page-chunk-KQM6SZUJ.js +1 -0
- package/dist/embed/embed-page-chunk-L46OSFPI.js +1 -0
- package/dist/embed/embed-page-chunk-L5V53OJW.js +1 -0
- package/dist/embed/embed-page-chunk-L63CMSVG.js +1 -0
- package/dist/embed/embed-page-chunk-L7HKGCDN.js +37 -0
- package/dist/embed/embed-page-chunk-LMFR22H4.js +1 -0
- package/dist/embed/embed-page-chunk-LOGXCEAD.js +1 -0
- package/dist/embed/embed-page-chunk-LXUYEJDH.js +1 -0
- package/dist/embed/embed-page-chunk-M43CIHMI.js +1 -0
- package/dist/embed/embed-page-chunk-M5WQZ6SQ.js +1 -0
- package/dist/embed/embed-page-chunk-MCL34C5S.js +1 -0
- package/dist/embed/embed-page-chunk-MCYCO2ZL.js +4 -0
- package/dist/embed/embed-page-chunk-MHGVD4EV.js +525 -0
- package/dist/embed/embed-page-chunk-MJZLFFU3.js +140 -0
- package/dist/embed/embed-page-chunk-MPFMNGH2.js +1 -0
- package/dist/embed/embed-page-chunk-MX4ORUXE.js +1 -0
- package/dist/embed/embed-page-chunk-N6JE6LR2.js +1 -0
- package/dist/embed/embed-page-chunk-NB7WIBPT.js +1 -0
- package/dist/embed/embed-page-chunk-NI3MO5JC.js +1 -0
- package/dist/embed/embed-page-chunk-NOPKRUYJ.js +1 -0
- package/dist/embed/embed-page-chunk-O3WFYUGJ.js +1 -0
- package/dist/embed/embed-page-chunk-OD4YWOUS.js +1 -0
- package/dist/embed/embed-page-chunk-OGGV5DFT.js +1 -0
- package/dist/embed/embed-page-chunk-OKE5VRNR.js +1 -0
- package/dist/embed/embed-page-chunk-OSVSIRYR.js +1 -0
- package/dist/embed/embed-page-chunk-P63ZLFVT.js +1 -0
- package/dist/embed/embed-page-chunk-PBAFSNKK.js +1 -0
- package/dist/embed/embed-page-chunk-PCOJGBJB.js +1 -0
- package/dist/embed/embed-page-chunk-PJRP6B4S.js +1 -0
- package/dist/embed/embed-page-chunk-PUFNMXJW.js +1 -0
- package/dist/embed/embed-page-chunk-PXMGIVIG.js +1 -0
- package/dist/embed/embed-page-chunk-Q3QU6ZNS.js +1 -0
- package/dist/embed/embed-page-chunk-QBTAJ2YI.js +1 -0
- package/dist/embed/embed-page-chunk-QBWATC6V.js +1 -0
- package/dist/embed/embed-page-chunk-QEUPFPLG.js +1 -0
- package/dist/embed/embed-page-chunk-QFMGN2VD.js +1 -0
- package/dist/embed/embed-page-chunk-QHRKYOSW.js +1 -0
- package/dist/embed/embed-page-chunk-QOWM3LMZ.js +28 -0
- package/dist/embed/embed-page-chunk-QQCU4DMV.js +1 -0
- package/dist/embed/embed-page-chunk-QQEOKVLC.js +1 -0
- package/dist/embed/embed-page-chunk-QULNM5O2.js +60 -0
- package/dist/embed/embed-page-chunk-QV7QAJ4N.js +14 -0
- package/dist/embed/embed-page-chunk-R2JB2RGW.js +1 -0
- package/dist/embed/embed-page-chunk-R4TTV3M2.js +1 -0
- package/dist/embed/embed-page-chunk-R5QL57JJ.js +14 -0
- package/dist/embed/embed-page-chunk-R6S34GWR.js +1 -0
- package/dist/embed/embed-page-chunk-R7TARC6K.js +1 -0
- package/dist/embed/embed-page-chunk-RN7DFY2Q.js +1 -0
- package/dist/embed/embed-page-chunk-RQVRVULF.js +1 -0
- package/dist/embed/embed-page-chunk-RQXI6NQX.js +2 -0
- package/dist/embed/embed-page-chunk-RTZOYCXY.js +1 -0
- package/dist/embed/embed-page-chunk-S2UQRVOM.js +1 -0
- package/dist/embed/embed-page-chunk-S4CZN7AY.js +1 -0
- package/dist/embed/embed-page-chunk-SDT2WN4L.js +1 -0
- package/dist/embed/embed-page-chunk-SJTGMRSC.js +1 -0
- package/dist/embed/embed-page-chunk-SSEF7Z6P.js +1 -0
- package/dist/embed/embed-page-chunk-STRFU5NU.js +1 -0
- package/dist/embed/embed-page-chunk-TEIHYMTL.js +6893 -0
- package/dist/embed/embed-page-chunk-TMY3SPAF.js +1 -0
- package/dist/embed/embed-page-chunk-TQB4K3W6.js +1 -0
- package/dist/embed/embed-page-chunk-TSANJE3N.js +1 -0
- package/dist/embed/embed-page-chunk-TSF4NEMC.js +1 -0
- package/dist/embed/embed-page-chunk-TUZM3I4D.js +1 -0
- package/dist/embed/embed-page-chunk-U4X7C5XL.js +1 -0
- package/dist/embed/embed-page-chunk-U5PAGSDU.js +1 -0
- package/dist/embed/embed-page-chunk-UD3YQQ3S.js +1 -0
- package/dist/embed/embed-page-chunk-UDM2TMDE.js +1 -0
- package/dist/embed/embed-page-chunk-UDSGGVJH.js +69 -0
- package/dist/embed/embed-page-chunk-UF2RW6L6.js +1 -0
- package/dist/embed/embed-page-chunk-UGVIO5X2.js +1 -0
- package/dist/embed/embed-page-chunk-UI6UN3LT.js +1 -0
- package/dist/embed/embed-page-chunk-UIRI4KPS.js +1 -0
- package/dist/embed/embed-page-chunk-UOKHPM3Y.js +1 -0
- package/dist/embed/embed-page-chunk-UPEC7H2U.js +1 -0
- package/dist/embed/embed-page-chunk-UQENI7PS.js +1 -0
- package/dist/embed/embed-page-chunk-URHR32UY.js +1 -0
- package/dist/embed/embed-page-chunk-UTSTPIDF.js +1 -0
- package/dist/embed/embed-page-chunk-UUJFXI6G.js +1 -0
- package/dist/embed/embed-page-chunk-UZQ3KJYM.js +1 -0
- package/dist/embed/embed-page-chunk-V2GBFWLG.js +31 -0
- package/dist/embed/embed-page-chunk-V4BVAZDM.js +1 -0
- package/dist/embed/embed-page-chunk-V5HCJYJK.js +1 -0
- package/dist/embed/embed-page-chunk-VCKMOKDX.js +1 -0
- package/dist/embed/embed-page-chunk-VHUKORYK.js +1 -0
- package/dist/embed/embed-page-chunk-VJCVYVWM.js +1 -0
- package/dist/embed/embed-page-chunk-VPBG5JF4.js +1 -0
- package/dist/embed/embed-page-chunk-VV2UPL6R.js +1 -0
- package/dist/embed/embed-page-chunk-VWLWYYRF.js +1 -0
- package/dist/embed/embed-page-chunk-W4PSILFT.js +1 -0
- package/dist/embed/embed-page-chunk-WB3JMX5B.js +1 -0
- package/dist/embed/embed-page-chunk-WFUFTRWA.js +1 -0
- package/dist/embed/embed-page-chunk-WO5XNP7I.js +1 -0
- package/dist/embed/embed-page-chunk-WOZR3XCU.js +41 -0
- package/dist/embed/embed-page-chunk-WTOAQDQN.js +1 -0
- package/dist/embed/embed-page-chunk-WUOHF2QZ.js +21 -0
- package/dist/embed/embed-page-chunk-WVZBB4NM.js +1 -0
- package/dist/embed/embed-page-chunk-WW6A23KM.js +1 -0
- package/dist/embed/embed-page-chunk-WWUV5JPP.js +1 -0
- package/dist/embed/embed-page-chunk-WZONQWXN.js +1 -0
- package/dist/embed/embed-page-chunk-X5OKT44T.js +1 -0
- package/dist/embed/embed-page-chunk-XJ74MITX.js +1 -0
- package/dist/embed/embed-page-chunk-XKGF5D6L.js +165 -0
- package/dist/embed/embed-page-chunk-XMONIZTW.js +1 -0
- package/dist/embed/embed-page-chunk-XSKNS3LY.js +54 -0
- package/dist/embed/embed-page-chunk-XUI3VYDW.js +1 -0
- package/dist/embed/embed-page-chunk-Y3FORBXC.js +1 -0
- package/dist/embed/embed-page-chunk-Y5FFKVQ6.js +1 -0
- package/dist/embed/embed-page-chunk-YDSSLETI.js +1 -0
- package/dist/embed/embed-page-chunk-YJ3Y6XAF.js +1 -0
- package/dist/embed/embed-page-chunk-YOVVAFEQ.js +1 -0
- package/dist/embed/embed-page-chunk-YRJZVKEX.js +1 -0
- package/dist/embed/embed-page-chunk-YX4ITHO2.js +1 -0
- package/dist/embed/embed-page-chunk-YZMHK63X.js +242 -0
- package/dist/embed/embed-page-chunk-Z3BS45FD.js +3 -0
- package/dist/embed/embed-page-chunk-Z6UDTHNI.js +1 -0
- package/dist/embed/embed-page-chunk-ZG2Z4PDI.js +2 -0
- package/dist/embed/embed-page-chunk-ZJ4WOYT5.js +1 -0
- package/dist/embed/embed-page-chunk-ZP5BDPGY.js +1 -0
- package/dist/embed/embed-page-chunk-ZRP4SO3U.js +1 -0
- package/dist/embed/embed-page-chunk-ZUXWS745.js +1 -0
- package/dist/embed/embed-page-chunk-ZVYDCPXL.js +1 -0
- package/dist/embed/embed-page-chunk-ZZ6UVQIY.js +1 -0
- package/dist/embed/embed-page-cil-EP36XC4Z.js +1 -0
- package/dist/embed/embed-page-cilkc-5UH3LFXC.js +1 -0
- package/dist/embed/embed-page-cilkcpp-Y4RQOSMF.js +1 -0
- package/dist/embed/embed-page-classDiagram-2ON5EDUG-VYHHMIKZ.js +1 -0
- package/dist/embed/embed-page-classDiagram-v2-WZHVMYZB-5AISLXUF.js +1 -0
- package/dist/embed/embed-page-clean-QZGRYRY5.js +1 -0
- package/dist/embed/embed-page-clike-GTL6WDYH.js +1 -0
- package/dist/embed/embed-page-clojure-ECJIJWSM.js +1 -0
- package/dist/embed/embed-page-clojure-EY2BXRJT.js +1 -0
- package/dist/embed/embed-page-clojure-repl-ENBUJRYQ.js +1 -0
- package/dist/embed/embed-page-cmake-RTALPFIA.js +1 -0
- package/dist/embed/embed-page-cmake-S6DRGTF2.js +1 -0
- package/dist/embed/embed-page-cobol-FXQMM6PB.js +1 -0
- package/dist/embed/embed-page-code-highlighter-IPU5ZNPJ.js +1 -0
- package/dist/embed/embed-page-coffeescript-IIDCJOCA.js +1 -0
- package/dist/embed/embed-page-coffeescript-POU3CIYC.js +1 -0
- package/dist/embed/embed-page-concurnas-F6SEEMEJ.js +1 -0
- package/dist/embed/embed-page-cooklang-LIFNSLRH.js +1 -0
- package/dist/embed/embed-page-coq-2JUBTUNS.js +1 -0
- package/dist/embed/embed-page-coq-IWCYQWGM.js +1 -0
- package/dist/embed/embed-page-core-352MEFFP.js +1 -0
- package/dist/embed/embed-page-core-AYEI4OZ6.js +1 -0
- package/dist/embed/embed-page-cos-F6EWDE62.js +1 -0
- package/dist/embed/embed-page-cose-bilkent-S5V4N54A-IV7O77S5.js +1 -0
- package/dist/embed/embed-page-cpp-HVOJ5BPL.js +1 -0
- package/dist/embed/embed-page-cpp-RZSYXWIK.js +1 -0
- package/dist/embed/embed-page-crmsh-PA4CUWCX.js +1 -0
- package/dist/embed/embed-page-crystal-BGRISHCP.js +1 -0
- package/dist/embed/embed-page-crystal-NBH5ARUS.js +1 -0
- package/dist/embed/embed-page-csharp-A4I76U77.js +1 -0
- package/dist/embed/embed-page-csharp-G66IJWBL.js +1 -0
- package/dist/embed/embed-page-cshtml-ZY7LJSTH.js +1 -0
- package/dist/embed/embed-page-csp-PLMAEO7V.js +1 -0
- package/dist/embed/embed-page-csp-T2MC22PT.js +1 -0
- package/dist/embed/embed-page-css-HEZPRVZR.js +1 -0
- package/dist/embed/embed-page-css-XIIU5NXE.js +1 -0
- package/dist/embed/embed-page-css-extras-4AP7AG4Z.js +1 -0
- package/dist/embed/embed-page-csv-35EH4CNE.js +1 -0
- package/dist/embed/embed-page-cue-5GIOQZOS.js +1 -0
- package/dist/embed/embed-page-cypher-XWLRPXSY.js +1 -0
- package/dist/embed/embed-page-d-ANNLHL5A.js +1 -0
- package/dist/embed/embed-page-d-HQGGYSAO.js +1 -0
- package/dist/embed/embed-page-dagre-6UL2VRFP-UQFZMKYW.js +4 -0
- package/dist/embed/embed-page-dart-2BS7EJLX.js +1 -0
- package/dist/embed/embed-page-dart-SNIZMFT4.js +1 -0
- package/dist/embed/embed-page-dataweave-SALDXGYS.js +1 -0
- package/dist/embed/embed-page-dax-2KOMLEC5.js +1 -0
- package/dist/embed/embed-page-delphi-VOPLSWR6.js +1 -0
- package/dist/embed/embed-page-dhall-RLDI6WAI.js +1 -0
- package/dist/embed/embed-page-diagram-PSM6KHXK-4IKXWNA4.js +24 -0
- package/dist/embed/embed-page-diagram-QEK2KX5R-245T32UF.js +43 -0
- package/dist/embed/embed-page-diagram-S2PKOQOG-BOA5MJA5.js +24 -0
- package/dist/embed/embed-page-diff-XHEIK6AT.js +1 -0
- package/dist/embed/embed-page-diff-YP5K4YQS.js +1 -0
- package/dist/embed/embed-page-django-FC5F6SPC.js +1 -0
- package/dist/embed/embed-page-django-XSYFOC3W.js +1 -0
- package/dist/embed/embed-page-dns-KDNRJ6UZ.js +1 -0
- package/dist/embed/embed-page-dns-zone-file-NX7ZHZCM.js +1 -0
- package/dist/embed/embed-page-docker-J7AMB47V.js +1 -0
- package/dist/embed/embed-page-dockerfile-XG6U5RN5.js +1 -0
- package/dist/embed/embed-page-dos-5YQ3E4SR.js +1 -0
- package/dist/embed/embed-page-dot-ZI64FDGN.js +1 -0
- package/dist/embed/embed-page-dsconfig-R7ACRXON.js +1 -0
- package/dist/embed/embed-page-dts-VYGRS3T2.js +1 -0
- package/dist/embed/embed-page-dust-7SNNDXYB.js +1 -0
- package/dist/embed/embed-page-ebnf-B4S6SDVV.js +1 -0
- package/dist/embed/embed-page-ebnf-WJWDOCWK.js +1 -0
- package/dist/embed/embed-page-echarts-QVSODBM4.js +1 -0
- package/dist/embed/embed-page-editorconfig-7RHQSHUS.js +1 -0
- package/dist/embed/embed-page-eiffel-ZEASYTUJ.js +1 -0
- package/dist/embed/embed-page-ejs-Q66OMKPX.js +1 -0
- package/dist/embed/embed-page-elixir-5PE5DZKY.js +1 -0
- package/dist/embed/embed-page-elixir-NP6NP6KG.js +1 -0
- package/dist/embed/embed-page-elm-6R3IXXLA.js +1 -0
- package/dist/embed/embed-page-elm-DJKOH2UD.js +1 -0
- package/dist/embed/embed-page-en-27OIE2UA.js +1 -0
- package/dist/embed/embed-page-en-2WLCQIB6.js +1 -0
- package/dist/embed/embed-page-en-5R5CQCHP.js +1 -0
- package/dist/embed/embed-page-en-7WXWAWGG.js +1 -0
- package/dist/embed/embed-page-en-A6F6L2TT.js +1 -0
- package/dist/embed/embed-page-en-CKNSRQK4.js +1 -0
- package/dist/embed/embed-page-en-FP6DWSG3.js +1 -0
- package/dist/embed/embed-page-en-FPTYKHAK.js +1 -0
- package/dist/embed/embed-page-en-GE4GI4D3.js +1 -0
- package/dist/embed/embed-page-en-GHTROC4H.js +1 -0
- package/dist/embed/embed-page-en-H66IJ36N.js +1 -0
- package/dist/embed/embed-page-en-OLZHSUC3.js +1 -0
- package/dist/embed/embed-page-en-P5NUAAD7.js +1 -0
- package/dist/embed/embed-page-en-PQZ2ZCEH.js +1 -0
- package/dist/embed/embed-page-en-RBT7ZUI5.js +1 -0
- package/dist/embed/embed-page-en-S4MXFPIU.js +1 -0
- package/dist/embed/embed-page-en-UWBIHR6I.js +1 -0
- package/dist/embed/embed-page-en-WB2EPS63.js +1 -0
- package/dist/embed/embed-page-en-YEFZNGUW.js +1 -0
- package/dist/embed/embed-page-erDiagram-Q2GNP2WA-S4J4SQPR.js +60 -0
- package/dist/embed/embed-page-erb-MSH3QRJT.js +1 -0
- package/dist/embed/embed-page-erb-QZRLSBWO.js +1 -0
- package/dist/embed/embed-page-erlang-CQVK2QYH.js +1 -0
- package/dist/embed/embed-page-erlang-OXIRDJPA.js +1 -0
- package/dist/embed/embed-page-erlang-repl-5EQDFU23.js +1 -0
- package/dist/embed/embed-page-etlua-LJBWGZT6.js +1 -0
- package/dist/embed/embed-page-excel-4AAUVD46.js +1 -0
- package/dist/embed/embed-page-excel-formula-5UFQN2A5.js +1 -0
- package/dist/embed/embed-page-factor-SQSMWXRS.js +1 -0
- package/dist/embed/embed-page-false-HPFNQHO6.js +1 -0
- package/dist/embed/embed-page-firestore-security-rules-USWPNDWW.js +1 -0
- package/dist/embed/embed-page-fix-XSUJ2Q7E.js +1 -0
- package/dist/embed/embed-page-flix-THNN66TB.js +1 -0
- package/dist/embed/embed-page-flow-ELHS4A2O.js +1 -0
- package/dist/embed/embed-page-flowDiagram-NV44I4VS-ZFIJXKMW.js +162 -0
- package/dist/embed/embed-page-fortran-JKZHDNSX.js +1 -0
- package/dist/embed/embed-page-fortran-Y75H5LWC.js +1 -0
- package/dist/embed/embed-page-fsharp-CAAQOKEY.js +1 -0
- package/dist/embed/embed-page-fsharp-FTJN7DZ6.js +1 -0
- package/dist/embed/embed-page-ftl-AARPORRD.js +1 -0
- package/dist/embed/embed-page-gams-N33H6AQH.js +1 -0
- package/dist/embed/embed-page-ganttDiagram-JELNMOA3-7MSIEWL4.js +267 -0
- package/dist/embed/embed-page-gap-325VM7KU.js +1 -0
- package/dist/embed/embed-page-gauss-WG2DOSWV.js +1 -0
- package/dist/embed/embed-page-gcode-COGO33QN.js +1 -0
- package/dist/embed/embed-page-gcode-MTMUEWBT.js +1 -0
- package/dist/embed/embed-page-gdscript-P65V36Y6.js +1 -0
- package/dist/embed/embed-page-gedcom-KIVDLFWB.js +1 -0
- package/dist/embed/embed-page-gettext-VJBX5C3N.js +1 -0
- package/dist/embed/embed-page-gherkin-45KEKCQV.js +1 -0
- package/dist/embed/embed-page-gherkin-TMUR4EKB.js +1 -0
- package/dist/embed/embed-page-git-CWKY2IU5.js +1 -0
- package/dist/embed/embed-page-gitGraph-F6HP7TQM-D6FONFDI.js +1 -0
- package/dist/embed/embed-page-gitGraphDiagram-NY62KEGX-F6KE6PZK.js +65 -0
- package/dist/embed/embed-page-glsl-HGFAVFRI.js +1 -0
- package/dist/embed/embed-page-glsl-OMDAXFC2.js +1 -0
- package/dist/embed/embed-page-gml-5YUXYDHR.js +1 -0
- package/dist/embed/embed-page-gml-6POV5M5K.js +1 -0
- package/dist/embed/embed-page-gn-2J264UNJ.js +1 -0
- package/dist/embed/embed-page-go-CQ6FKURK.js +1 -0
- package/dist/embed/embed-page-go-GPGHLW4Q.js +1 -0
- package/dist/embed/embed-page-go-module-3EAM2YAF.js +1 -0
- package/dist/embed/embed-page-golo-T36P3RQM.js +1 -0
- package/dist/embed/embed-page-gradle-LML76WO2.js +1 -0
- package/dist/embed/embed-page-gradle-MSQ6NT6K.js +1 -0
- package/dist/embed/embed-page-graphql-AUGVDFH4.js +1 -0
- package/dist/embed/embed-page-groovy-LAJS3HZW.js +1 -0
- package/dist/embed/embed-page-groovy-TPUU66PY.js +1 -0
- package/dist/embed/embed-page-haml-INZHFFL6.js +1 -0
- package/dist/embed/embed-page-haml-TUGWJH3H.js +1 -0
- package/dist/embed/embed-page-handlebars-EWWLI7DX.js +1 -0
- package/dist/embed/embed-page-handlebars-HFZUPSHJ.js +1 -0
- package/dist/embed/embed-page-haskell-7R7LSAUC.js +1 -0
- package/dist/embed/embed-page-haskell-ETHLNLDG.js +1 -0
- package/dist/embed/embed-page-haxe-EFDW6JB3.js +1 -0
- package/dist/embed/embed-page-haxe-GV4NRIN3.js +1 -0
- package/dist/embed/embed-page-hcl-JQENHTIJ.js +1 -0
- package/dist/embed/embed-page-hlsl-I7R3VOSD.js +1 -0
- package/dist/embed/embed-page-hoon-NO6AJCHS.js +1 -0
- package/dist/embed/embed-page-hpkp-DUTLA4JJ.js +1 -0
- package/dist/embed/embed-page-hsp-KDHBE7GU.js +1 -0
- package/dist/embed/embed-page-hsts-LSPKRH67.js +1 -0
- package/dist/embed/embed-page-html2canvas-3NXZSLAY.js +1 -0
- package/dist/embed/embed-page-htmlbars-R7K5JFL2.js +1 -0
- package/dist/embed/embed-page-http-BJUP7APM.js +1 -0
- package/dist/embed/embed-page-http-FXFSRB7K.js +1 -0
- package/dist/embed/embed-page-hy-3TXCRWRT.js +1 -0
- package/dist/embed/embed-page-ichigojam-BSRE4NMH.js +1 -0
- package/dist/embed/embed-page-icon-OIQTOJHE.js +1 -0
- package/dist/embed/embed-page-icu-message-format-JXAZ2J4H.js +1 -0
- package/dist/embed/embed-page-idris-OGTAIRIL.js +1 -0
- package/dist/embed/embed-page-iecst-SSWMWPLJ.js +1 -0
- package/dist/embed/embed-page-ignore-IMT74N46.js +1 -0
- package/dist/embed/embed-page-index.es-HZW2DARZ.js +23 -0
- package/dist/embed/embed-page-info-NVLQJR56-VJUPO6NF.js +1 -0
- package/dist/embed/embed-page-infoDiagram-WHAUD3N6-FQMKXERB.js +2 -0
- package/dist/embed/embed-page-inform7-JHGO5QGY.js +1 -0
- package/dist/embed/embed-page-inform7-M6DXCIW7.js +1 -0
- package/dist/embed/embed-page-ini-BHZSZJSE.js +1 -0
- package/dist/embed/embed-page-ini-LA7E7LKO.js +1 -0
- package/dist/embed/embed-page-io-IYBHSFY2.js +1 -0
- package/dist/embed/embed-page-irpf90-X3ZPUH4W.js +1 -0
- package/dist/embed/embed-page-isbl-SQQHGVCR.js +1 -0
- package/dist/embed/embed-page-j-4MEAELCY.js +1 -0
- package/dist/embed/embed-page-java-JZ4USR4X.js +1 -0
- package/dist/embed/embed-page-java-SOAI2TS3.js +1 -0
- package/dist/embed/embed-page-javadoc-JKAJWKCF.js +1 -0
- package/dist/embed/embed-page-javadoclike-JZC43M6A.js +1 -0
- package/dist/embed/embed-page-javascript-S7D6XRD5.js +1 -0
- package/dist/embed/embed-page-javascript-UNJ3T2XY.js +1 -0
- package/dist/embed/embed-page-javastacktrace-S5OKKFIR.js +1 -0
- package/dist/embed/embed-page-jboss-cli-64WXHREL.js +1 -0
- package/dist/embed/embed-page-jexl-WUZNMTGI.js +1 -0
- package/dist/embed/embed-page-jolie-M4JG6DUJ.js +1 -0
- package/dist/embed/embed-page-journeyDiagram-XKPGCS4Q-6VTW6GQ3.js +139 -0
- package/dist/embed/embed-page-jq-QXUJKBPW.js +1 -0
- package/dist/embed/embed-page-js-extras-ERDHBJIT.js +1 -0
- package/dist/embed/embed-page-js-templates-IYRYRWGI.js +1 -0
- package/dist/embed/embed-page-jsdoc-BDREHYLK.js +1 -0
- package/dist/embed/embed-page-json-X4JZ6JAX.js +1 -0
- package/dist/embed/embed-page-json-YAKJ2V4K.js +1 -0
- package/dist/embed/embed-page-json5-BD4GK3X3.js +1 -0
- package/dist/embed/embed-page-jsonp-FHMMQCWS.js +1 -0
- package/dist/embed/embed-page-jsstacktrace-4HBURHPI.js +1 -0
- package/dist/embed/embed-page-jsx-CVHZS4MY.js +1 -0
- package/dist/embed/embed-page-julia-EWRTSDI2.js +1 -0
- package/dist/embed/embed-page-julia-RDEVG5WO.js +1 -0
- package/dist/embed/embed-page-julia-repl-HSJTSANS.js +1 -0
- package/dist/embed/embed-page-kanban-definition-3W4ZIXB7-7IZYCLQZ.js +89 -0
- package/dist/embed/embed-page-katex-BT2N5EZD.js +261 -0
- package/dist/embed/embed-page-keepalived-476IUDO4.js +1 -0
- package/dist/embed/embed-page-keyman-OY6BKO7Z.js +1 -0
- package/dist/embed/embed-page-kotlin-S55S5R4P.js +1 -0
- package/dist/embed/embed-page-kotlin-XAOBD5O2.js +1 -0
- package/dist/embed/embed-page-kumir-WWK2NSXU.js +1 -0
- package/dist/embed/embed-page-kusto-LCKZZ63A.js +1 -0
- package/dist/embed/embed-page-lasso-N7XWII4U.js +1 -0
- package/dist/embed/embed-page-latex-MJXZS427.js +1 -0
- package/dist/embed/embed-page-latex-XCV4UIXJ.js +1 -0
- package/dist/embed/embed-page-latte-GTCOZILL.js +1 -0
- package/dist/embed/embed-page-ldif-3QI3A5YT.js +1 -0
- package/dist/embed/embed-page-leaf-34J3ETXE.js +1 -0
- package/dist/embed/embed-page-less-B3XVW4TS.js +1 -0
- package/dist/embed/embed-page-less-YKKG3LTY.js +1 -0
- package/dist/embed/embed-page-lilypond-C4SFVFTD.js +1 -0
- package/dist/embed/embed-page-linker-script-NCLUOL7U.js +1 -0
- package/dist/embed/embed-page-liquid-UMDLTLNZ.js +1 -0
- package/dist/embed/embed-page-lisp-IAK2LWR3.js +1 -0
- package/dist/embed/embed-page-lisp-XPU7XXVJ.js +1 -0
- package/dist/embed/embed-page-livecodeserver-XOUENXLN.js +1 -0
- package/dist/embed/embed-page-livescript-LXZV3II6.js +1 -0
- package/dist/embed/embed-page-livescript-WEFJFW2D.js +1 -0
- package/dist/embed/embed-page-llvm-MNTAJA6P.js +1 -0
- package/dist/embed/embed-page-llvm-S7T6BM7Y.js +1 -0
- package/dist/embed/embed-page-log-WIYUCDRC.js +1 -0
- package/dist/embed/embed-page-lolcode-RQ3RHGIN.js +1 -0
- package/dist/embed/embed-page-lsl-Q4VYUCM4.js +1 -0
- package/dist/embed/embed-page-lua-MS76YBEL.js +1 -0
- package/dist/embed/embed-page-lua-O3JFY7QV.js +1 -0
- package/dist/embed/embed-page-magma-T2QSG6WL.js +1 -0
- package/dist/embed/embed-page-makefile-FCAAXWLA.js +1 -0
- package/dist/embed/embed-page-makefile-HUX6TX3T.js +1 -0
- package/dist/embed/embed-page-markdown-M4IQETIU.js +1 -0
- package/dist/embed/embed-page-markdown-ORJXEJWZ.js +1 -0
- package/dist/embed/embed-page-markup-6L7LH3BP.js +1 -0
- package/dist/embed/embed-page-markup-templating-SGBIHIVT.js +1 -0
- package/dist/embed/embed-page-mata-IBELFW6D.js +1 -0
- package/dist/embed/embed-page-mathematica-QOFGMW6O.js +1 -0
- package/dist/embed/embed-page-matlab-OFVHPUWG.js +1 -0
- package/dist/embed/embed-page-matlab-UVGZH4MR.js +1 -0
- package/dist/embed/embed-page-maxima-QKETF4KK.js +1 -0
- package/dist/embed/embed-page-maxscript-4JOQWFTZ.js +1 -0
- package/dist/embed/embed-page-mel-N5TPETBR.js +1 -0
- package/dist/embed/embed-page-mel-UBADG2B3.js +1 -0
- package/dist/embed/embed-page-mercury-K2BU5CPB.js +1 -0
- package/dist/embed/embed-page-mermaid-3HOGUTLE.js +1 -0
- package/dist/embed/embed-page-mermaid-R7ZBUE3D.js +18 -0
- package/dist/embed/embed-page-metafont-5GBRPT6S.js +1 -0
- package/dist/embed/embed-page-mindmap-definition-VGOIOE7T-GKTOT34A.js +68 -0
- package/dist/embed/embed-page-mipsasm-PY7W6KSL.js +1 -0
- package/dist/embed/embed-page-mizar-DVZU4Z5G.js +1 -0
- package/dist/embed/embed-page-mizar-G7CLPIB4.js +1 -0
- package/dist/embed/embed-page-mojolicious-IZEGLU6D.js +1 -0
- package/dist/embed/embed-page-mongodb-DDLPZR6K.js +1 -0
- package/dist/embed/embed-page-monkey-MOOQCAL4.js +1 -0
- package/dist/embed/embed-page-monkey-VS64YP3U.js +1 -0
- package/dist/embed/embed-page-moonscript-AZ46ZBIM.js +1 -0
- package/dist/embed/embed-page-moonscript-CRMY2JD4.js +1 -0
- package/dist/embed/embed-page-n1ql-2KJNO6XB.js +1 -0
- package/dist/embed/embed-page-n1ql-PDFB7UNK.js +1 -0
- package/dist/embed/embed-page-n4js-IRXSSIEI.js +1 -0
- package/dist/embed/embed-page-nand2tetris-hdl-ZRN7FMME.js +1 -0
- package/dist/embed/embed-page-naniscript-OCPHPZGG.js +1 -0
- package/dist/embed/embed-page-nasm-YKWJDKQX.js +1 -0
- package/dist/embed/embed-page-neon-BOPIXPDZ.js +1 -0
- package/dist/embed/embed-page-nevod-DC4I4P7B.js +1 -0
- package/dist/embed/embed-page-nginx-GMUAMY3E.js +1 -0
- package/dist/embed/embed-page-nginx-LVSSTL4T.js +1 -0
- package/dist/embed/embed-page-nim-JUKXTUPM.js +1 -0
- package/dist/embed/embed-page-nim-YHYSKN6P.js +1 -0
- package/dist/embed/embed-page-nix-5OFINKMK.js +1 -0
- package/dist/embed/embed-page-nix-DCBWP2N3.js +1 -0
- package/dist/embed/embed-page-node-repl-RGX5UIER.js +1 -0
- package/dist/embed/embed-page-nsis-PMUAXVOZ.js +1 -0
- package/dist/embed/embed-page-nsis-Z233CWDB.js +1 -0
- package/dist/embed/embed-page-objectivec-QPU6XW5W.js +1 -0
- package/dist/embed/embed-page-objectivec-WCBIHUCL.js +1 -0
- package/dist/embed/embed-page-ocaml-D66F3JWE.js +1 -0
- package/dist/embed/embed-page-ocaml-DFTB5XJM.js +1 -0
- package/dist/embed/embed-page-odin-UVIZ67AX.js +1 -0
- package/dist/embed/embed-page-opencl-PWZHXB5K.js +1 -0
- package/dist/embed/embed-page-openqasm-J5APUJUZ.js +1 -0
- package/dist/embed/embed-page-openscad-CSIU7OOO.js +1 -0
- package/dist/embed/embed-page-oxygene-UYGSO2WS.js +1 -0
- package/dist/embed/embed-page-oz-7BPQJDOW.js +1 -0
- package/dist/embed/embed-page-packet-BFZMPI3H-CGY36HKT.js +1 -0
- package/dist/embed/embed-page-parigp-K3GW5JQK.js +1 -0
- package/dist/embed/embed-page-parser-Y7QJVKGQ.js +1 -0
- package/dist/embed/embed-page-parser3-UFIVQU6T.js +1 -0
- package/dist/embed/embed-page-pascal-NK6I64IW.js +1 -0
- package/dist/embed/embed-page-pascaligo-BRR5JZVC.js +1 -0
- package/dist/embed/embed-page-pcaxis-QE3XBICV.js +1 -0
- package/dist/embed/embed-page-peoplecode-CPDYV3FW.js +1 -0
- package/dist/embed/embed-page-perl-7VAM2D4R.js +1 -0
- package/dist/embed/embed-page-perl-ASB2WPB4.js +1 -0
- package/dist/embed/embed-page-pf-WM5LZO6U.js +1 -0
- package/dist/embed/embed-page-pgsql-VRK26X2N.js +1 -0
- package/dist/embed/embed-page-php-H63ZIEGX.js +1 -0
- package/dist/embed/embed-page-php-WXTJTG7Y.js +1 -0
- package/dist/embed/embed-page-php-extras-65E7KHEQ.js +1 -0
- package/dist/embed/embed-page-php-template-24QJMI6N.js +1 -0
- package/dist/embed/embed-page-phpdoc-63DUWR7J.js +1 -0
- package/dist/embed/embed-page-pie-7BOR55EZ-4HLXJT4Y.js +1 -0
- package/dist/embed/embed-page-pieDiagram-ADFJNKIX-VDPALO42.js +30 -0
- package/dist/embed/embed-page-plaintext-IZENJ2M7.js +1 -0
- package/dist/embed/embed-page-plant-uml-W6X5ABCR.js +1 -0
- package/dist/embed/embed-page-plsql-IOHHG4AA.js +1 -0
- package/dist/embed/embed-page-pony-HLBPRPYF.js +1 -0
- package/dist/embed/embed-page-powerquery-R7X7XPYS.js +1 -0
- package/dist/embed/embed-page-powershell-IEKYGEWU.js +1 -0
- package/dist/embed/embed-page-powershell-QSBD4DBE.js +1 -0
- package/dist/embed/embed-page-processing-ICXA7P62.js +1 -0
- package/dist/embed/embed-page-processing-QUY2VPZE.js +1 -0
- package/dist/embed/embed-page-profile-RRKDC4TI.js +1 -0
- package/dist/embed/embed-page-prolog-AVGV3CPE.js +1 -0
- package/dist/embed/embed-page-prolog-S4DPKDEM.js +1 -0
- package/dist/embed/embed-page-promql-YGCA6H25.js +1 -0
- package/dist/embed/embed-page-properties-NG7BHTON.js +1 -0
- package/dist/embed/embed-page-properties-S6AL2VXP.js +1 -0
- package/dist/embed/embed-page-protobuf-VRXE5EK5.js +1 -0
- package/dist/embed/embed-page-protobuf-YCLXECU6.js +1 -0
- package/dist/embed/embed-page-psl-FMXRDDEK.js +1 -0
- package/dist/embed/embed-page-pug-L2LBNDKO.js +1 -0
- package/dist/embed/embed-page-puppet-K2AJREJM.js +1 -0
- package/dist/embed/embed-page-puppet-LVO722GV.js +1 -0
- package/dist/embed/embed-page-pure-SWGKJCF2.js +1 -0
- package/dist/embed/embed-page-purebasic-254HNFPL.js +1 -0
- package/dist/embed/embed-page-purebasic-COBX6ILX.js +1 -0
- package/dist/embed/embed-page-purescript-XQK6XYUZ.js +1 -0
- package/dist/embed/embed-page-purify-CGI5OZWX.js +8 -0
- package/dist/embed/embed-page-python-H7Q33GPW.js +1 -0
- package/dist/embed/embed-page-python-UFPGXWSR.js +1 -0
- package/dist/embed/embed-page-python-repl-ONLR2WRR.js +1 -0
- package/dist/embed/embed-page-q-IO3SFP2Q.js +1 -0
- package/dist/embed/embed-page-q-Z7HHCB54.js +1 -0
- package/dist/embed/embed-page-qml-4PXGUUSJ.js +1 -0
- package/dist/embed/embed-page-qml-VFZG5LYU.js +1 -0
- package/dist/embed/embed-page-qore-7EZT2TQG.js +1 -0
- package/dist/embed/embed-page-qsharp-VUJ4VS4E.js +1 -0
- package/dist/embed/embed-page-quadrantDiagram-AYHSOK5B-QABGBCC5.js +7 -0
- package/dist/embed/embed-page-r-GKJZI446.js +1 -0
- package/dist/embed/embed-page-r-U5QEOQ72.js +1 -0
- package/dist/embed/embed-page-racket-5NHVAK45.js +1 -0
- package/dist/embed/embed-page-radar-NHE76QYJ-T44Q7XAQ.js +1 -0
- package/dist/embed/embed-page-reason-JDDTSF4U.js +1 -0
- package/dist/embed/embed-page-reasonml-DIFY5STL.js +1 -0
- package/dist/embed/embed-page-regex-2HY7ES3Y.js +1 -0
- package/dist/embed/embed-page-rego-6SOMFLXW.js +1 -0
- package/dist/embed/embed-page-renpy-BVTF3ODR.js +1 -0
- package/dist/embed/embed-page-requirementDiagram-UZGBJVZJ-LTZH6RTD.js +64 -0
- package/dist/embed/embed-page-rescript-V35OZ6DU.js +1 -0
- package/dist/embed/embed-page-rest-EDJN4JTB.js +1 -0
- package/dist/embed/embed-page-rib-HN474H6B.js +1 -0
- package/dist/embed/embed-page-rip-LZAKQC76.js +1 -0
- package/dist/embed/embed-page-roboconf-6SDS6UXM.js +1 -0
- package/dist/embed/embed-page-roboconf-TISCJRZP.js +1 -0
- package/dist/embed/embed-page-robotframework-YHO6QQ37.js +1 -0
- package/dist/embed/embed-page-routeros-BY7L6MA4.js +1 -0
- package/dist/embed/embed-page-rsl-URAO5CYW.js +1 -0
- package/dist/embed/embed-page-ruby-PPIJRZCG.js +1 -0
- package/dist/embed/embed-page-ruby-ZNE3GWEB.js +1 -0
- package/dist/embed/embed-page-ruleslanguage-ODJT22HF.js +1 -0
- package/dist/embed/embed-page-rust-FUQNUAJ4.js +1 -0
- package/dist/embed/embed-page-rust-Y3JBGGKI.js +1 -0
- package/dist/embed/embed-page-sankeyDiagram-TZEHDZUN-HGLEQLAP.js +10 -0
- package/dist/embed/embed-page-sas-AWQIVSTG.js +1 -0
- package/dist/embed/embed-page-sas-UDQKYPQP.js +1 -0
- package/dist/embed/embed-page-sass-WQOLGQNX.js +1 -0
- package/dist/embed/embed-page-scala-CMBEKXQ2.js +1 -0
- package/dist/embed/embed-page-scala-KFEFYVX7.js +1 -0
- package/dist/embed/embed-page-scheme-6KNZ6FIR.js +1 -0
- package/dist/embed/embed-page-scheme-ZDAY2PAQ.js +1 -0
- package/dist/embed/embed-page-scilab-STNLKUQZ.js +1 -0
- package/dist/embed/embed-page-scss-VC45Z2SH.js +1 -0
- package/dist/embed/embed-page-scss-YKSOAR66.js +1 -0
- package/dist/embed/embed-page-sequenceDiagram-WL72ISMW-LV6Q4SHW.js +145 -0
- package/dist/embed/embed-page-shell-42UWXCAN.js +1 -0
- package/dist/embed/embed-page-shell-session-M42I6EDG.js +1 -0
- package/dist/embed/embed-page-smali-6OACE5T7.js +1 -0
- package/dist/embed/embed-page-smali-7UXEUG3V.js +1 -0
- package/dist/embed/embed-page-smalltalk-R45Q7ME3.js +1 -0
- package/dist/embed/embed-page-smalltalk-UZXF72MN.js +1 -0
- package/dist/embed/embed-page-smarty-VFWX3D2X.js +1 -0
- package/dist/embed/embed-page-sml-AR7ORLES.js +1 -0
- package/dist/embed/embed-page-sml-FYK73WZQ.js +1 -0
- package/dist/embed/embed-page-solidity-KKZXHEJE.js +1 -0
- package/dist/embed/embed-page-solution-file-746HCQPI.js +1 -0
- package/dist/embed/embed-page-soy-R7QIZXS4.js +1 -0
- package/dist/embed/embed-page-sparql-73CVJATM.js +1 -0
- package/dist/embed/embed-page-splunk-spl-IOBHKLEC.js +1 -0
- package/dist/embed/embed-page-sqf-4WYGTJHK.js +1 -0
- package/dist/embed/embed-page-sqf-LLYWAOKR.js +1 -0
- package/dist/embed/embed-page-sql-3YZTOBDL.js +1 -0
- package/dist/embed/embed-page-sql-XXJRTR2M.js +1 -0
- package/dist/embed/embed-page-sql_more-ACEGOZKV.js +1 -0
- package/dist/embed/embed-page-squirrel-MQ2MSVQJ.js +1 -0
- package/dist/embed/embed-page-stan-C7ZJDWYV.js +1 -0
- package/dist/embed/embed-page-stan-NIFOXR5O.js +1 -0
- package/dist/embed/embed-page-stata-HPW3FR27.js +1 -0
- package/dist/embed/embed-page-stata-HT2C2JZA.js +1 -0
- package/dist/embed/embed-page-stateDiagram-FKZM4ZOC-U4NHQDNP.js +1 -0
- package/dist/embed/embed-page-stateDiagram-v2-4FDKWEC3-G3EWQCOW.js +1 -0
- package/dist/embed/embed-page-step21-HQMTLDFR.js +1 -0
- package/dist/embed/embed-page-stylus-C2U234A4.js +1 -0
- package/dist/embed/embed-page-stylus-UKZPZWAO.js +1 -0
- package/dist/embed/embed-page-subunit-QGOU4E5Q.js +1 -0
- package/dist/embed/embed-page-supercollider-6VGG4F7Z.js +1 -0
- package/dist/embed/embed-page-swift-OQLWPQ4L.js +1 -0
- package/dist/embed/embed-page-swift-ZRCCOGNE.js +1 -0
- package/dist/embed/embed-page-systemd-KWM7EBJR.js +1 -0
- package/dist/embed/embed-page-t4-cs-F67MRDDS.js +1 -0
- package/dist/embed/embed-page-t4-templating-EW3AELKJ.js +1 -0
- package/dist/embed/embed-page-t4-vb-TJV35ESE.js +1 -0
- package/dist/embed/embed-page-taggerscript-ZRYMPKTX.js +1 -0
- package/dist/embed/embed-page-tap-GKISLBTY.js +1 -0
- package/dist/embed/embed-page-tap-TWDPZ7IY.js +1 -0
- package/dist/embed/embed-page-tcl-6DKOMCAK.js +1 -0
- package/dist/embed/embed-page-tcl-VNRAVJWS.js +1 -0
- package/dist/embed/embed-page-textile-H2STF43X.js +1 -0
- package/dist/embed/embed-page-thrift-NPTVHTIY.js +1 -0
- package/dist/embed/embed-page-timeline-definition-IT6M3QCI-VOXWEFHI.js +61 -0
- package/dist/embed/embed-page-toml-KY7YRJS5.js +1 -0
- package/dist/embed/embed-page-tp-MGMIXHG2.js +1 -0
- package/dist/embed/embed-page-treemap-KMMF4GRG-JWT5XZDP.js +1 -0
- package/dist/embed/embed-page-tremor-W5QL7C2V.js +1 -0
- package/dist/embed/embed-page-tsx-PNW7N5T4.js +1 -0
- package/dist/embed/embed-page-tt2-OCSYJGAV.js +1 -0
- package/dist/embed/embed-page-turtle-4OGUEYQW.js +1 -0
- package/dist/embed/embed-page-twig-2AVKA77U.js +1 -0
- package/dist/embed/embed-page-twig-CGMNN7JB.js +1 -0
- package/dist/embed/embed-page-typescript-3I3I2YV3.js +1 -0
- package/dist/embed/embed-page-typescript-NMSVSBFQ.js +1 -0
- package/dist/embed/embed-page-typoscript-ZER4ALDE.js +1 -0
- package/dist/embed/embed-page-unrealscript-AMMLGO66.js +1 -0
- package/dist/embed/embed-page-uorazor-MTLK5W3U.js +1 -0
- package/dist/embed/embed-page-uri-IF5LTG7Q.js +1 -0
- package/dist/embed/embed-page-v-VXMX4PPN.js +1 -0
- package/dist/embed/embed-page-vala-AGG7VBSS.js +1 -0
- package/dist/embed/embed-page-vala-H4USTVM2.js +1 -0
- package/dist/embed/embed-page-vbnet-K7KUWIY2.js +1 -0
- package/dist/embed/embed-page-vbnet-R6IQWWE6.js +1 -0
- package/dist/embed/embed-page-vbscript-OJYZO4J4.js +1 -0
- package/dist/embed/embed-page-vbscript-html-HMELJWWU.js +1 -0
- package/dist/embed/embed-page-velocity-BILR4RIQ.js +1 -0
- package/dist/embed/embed-page-verilog-FFV6SJPD.js +1 -0
- package/dist/embed/embed-page-verilog-UFCUUDIO.js +1 -0
- package/dist/embed/embed-page-vhdl-3HZBX766.js +1 -0
- package/dist/embed/embed-page-vhdl-THMXL3B7.js +1 -0
- package/dist/embed/embed-page-vim-2SI2OZX5.js +1 -0
- package/dist/embed/embed-page-vim-QAPHQLNR.js +1 -0
- package/dist/embed/embed-page-visual-basic-2Q4UJ52R.js +1 -0
- package/dist/embed/embed-page-warpscript-RTLTSCTI.js +1 -0
- package/dist/embed/embed-page-wasm-4BA4QVJ5.js +1 -0
- package/dist/embed/embed-page-web-idl-CT6FPCM4.js +1 -0
- package/dist/embed/embed-page-wgsl-SSLUKZOV.js +1 -0
- package/dist/embed/embed-page-wiki-ZBAVQKEP.js +1 -0
- package/dist/embed/embed-page-wolfram-7XG6ZVDA.js +1 -0
- package/dist/embed/embed-page-wren-ZSLQETFI.js +1 -0
- package/dist/embed/embed-page-x86asm-UVKZDRQL.js +1 -0
- package/dist/embed/embed-page-xeora-OQMJQFDI.js +1 -0
- package/dist/embed/embed-page-xl-PEEWU7MT.js +1 -0
- package/dist/embed/embed-page-xml-BD4O4WX7.js +1 -0
- package/dist/embed/embed-page-xml-doc-J6ZMU2EU.js +1 -0
- package/dist/embed/embed-page-xojo-ACSQQRRQ.js +1 -0
- package/dist/embed/embed-page-xquery-NASZ2VPP.js +1 -0
- package/dist/embed/embed-page-xquery-OVYQMYMU.js +1 -0
- package/dist/embed/embed-page-xychartDiagram-PRI3JC2R-VZSIXBFK.js +7 -0
- package/dist/embed/embed-page-yaml-7OQT7Q3B.js +1 -0
- package/dist/embed/embed-page-yaml-YSGFYKEJ.js +1 -0
- package/dist/embed/embed-page-yang-IDFSRGZV.js +1 -0
- package/dist/embed/embed-page-zephir-ICW265XT.js +1 -0
- package/dist/embed/embed-page-zh-5L4NNHXH.js +1 -0
- package/dist/embed/embed-page-zh-6ZDI4LQX.js +1 -0
- package/dist/embed/embed-page-zh-ACZNJ4X4.js +1 -0
- package/dist/embed/embed-page-zh-D3EX4GW4.js +1 -0
- package/dist/embed/embed-page-zh-EYLHUD5G.js +1 -0
- package/dist/embed/embed-page-zh-FXQGY5HD.js +1 -0
- package/dist/embed/embed-page-zh-GEYMOUQO.js +1 -0
- package/dist/embed/embed-page-zh-GTQRI6XG.js +1 -0
- package/dist/embed/embed-page-zh-HVQX6Q43.js +1 -0
- package/dist/embed/embed-page-zh-KC2E7UVY.js +1 -0
- package/dist/embed/embed-page-zh-NBMPWZ3W.js +1 -0
- package/dist/embed/embed-page-zh-NKHP3CFU.js +1 -0
- package/dist/embed/embed-page-zh-ODXFDX4F.js +1 -0
- package/dist/embed/embed-page-zh-OPUVZZSQ.js +1 -0
- package/dist/embed/embed-page-zh-SSMSF5LE.js +1 -0
- package/dist/embed/embed-page-zh-UHYXJQJ2.js +1 -0
- package/dist/embed/embed-page-zh-VH6J7XZO.js +1 -0
- package/dist/embed/embed-page-zh-XEYNKCTC.js +1 -0
- package/dist/embed/embed-page-zh-Y5X5Y2DF.js +1 -0
- package/dist/embed/embed-page-zig-B7SS5D6J.js +1 -0
- package/dist/embed/embed-page.js +2 -2
- package/dist/index.d.mts +82 -18
- package/dist/index.d.ts +82 -18
- package/dist/index.js +760 -528
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +471 -232
- package/dist/index.mjs.map +1 -1
- package/dist/open-FJ3BY3CL.mjs +346 -0
- package/dist/open-exposure-OX5NKWDG.mjs +97 -0
- package/dist/open-files-V3R2BFTV.mjs +146 -0
- package/dist/sandboxProvider-FILMFVIM.mjs +10 -0
- package/package.json +4 -4
- package/dist/chunk-73QZQQOT.mjs +0 -43
- package/dist/chunk-73QZQQOT.mjs.map +0 -1
- package/dist/chunk-NPHK4SZ6.mjs +0 -157
- package/dist/chunk-URXZPI2F.mjs +0 -116
- package/dist/chunk-URXZPI2F.mjs.map +0 -1
- package/dist/embed/embed-page-1c-75E4QIWF.js +0 -1
- package/dist/embed/embed-page-AgentDetailSideApp-BVJK7WIS.js +0 -1
- package/dist/embed/embed-page-AgentGovernanceWorkbench-L2YHPRNE.js +0 -5
- package/dist/embed/embed-page-MessageGraph-JOQ46UE2.js +0 -6
- package/dist/embed/embed-page-ReactChart-I5AYTSII.js +0 -1
- package/dist/embed/embed-page-ReactInfographic-IABAC7DO.js +0 -574
- package/dist/embed/embed-page-SkillFlow-YLB5XPFH.js +0 -1
- package/dist/embed/embed-page-TasksSideApp-QLJVB7UK.js +0 -254
- package/dist/embed/embed-page-TeamWorkspace-BZZEAYSB.js +0 -748
- package/dist/embed/embed-page-TopologyRuntimeView-FRA3AXQQ.js +0 -6
- package/dist/embed/embed-page-WorkflowAutomationView-D745PK3W.js +0 -3
- package/dist/embed/embed-page-abap-QKV7XZRP.js +0 -1
- package/dist/embed/embed-page-abnf-534KGIL5.js +0 -1
- package/dist/embed/embed-page-abnf-NNWX7KPS.js +0 -1
- package/dist/embed/embed-page-accesslog-K5DAETBI.js +0 -1
- package/dist/embed/embed-page-actionscript-MLTGVDIY.js +0 -1
- package/dist/embed/embed-page-actionscript-YXZSI3FP.js +0 -1
- package/dist/embed/embed-page-ada-SMIJQ6T7.js +0 -1
- package/dist/embed/embed-page-ada-Z5BYNU6B.js +0 -1
- package/dist/embed/embed-page-agda-WCRTGDJB.js +0 -1
- package/dist/embed/embed-page-al-2LSX2G2U.js +0 -1
- package/dist/embed/embed-page-all-RTJLYZHS.js +0 -1
- package/dist/embed/embed-page-angelscript-4S3XC2EJ.js +0 -1
- package/dist/embed/embed-page-antlr4-OLOPZLHD.js +0 -1
- package/dist/embed/embed-page-apache-RGO2UM6T.js +0 -1
- package/dist/embed/embed-page-apacheconf-EKQ6F4ZQ.js +0 -1
- package/dist/embed/embed-page-apex-ZJTOIW4M.js +0 -1
- package/dist/embed/embed-page-apl-W7YETB5L.js +0 -1
- package/dist/embed/embed-page-applescript-I4PV6U4X.js +0 -1
- package/dist/embed/embed-page-applescript-M2D2KKDY.js +0 -1
- package/dist/embed/embed-page-aql-V6TCDQAH.js +0 -1
- package/dist/embed/embed-page-arcade-TSPLEDM5.js +0 -1
- package/dist/embed/embed-page-architecture-U656AL7Q-55BYHO3H.js +0 -1
- package/dist/embed/embed-page-architectureDiagram-VXUJARFQ-GDHKRBZH.js +0 -36
- package/dist/embed/embed-page-arduino-7N264XVW.js +0 -1
- package/dist/embed/embed-page-arduino-XUEUIP7S.js +0 -1
- package/dist/embed/embed-page-arff-M7PKJV7Y.js +0 -1
- package/dist/embed/embed-page-armasm-OAQGLAMS.js +0 -1
- package/dist/embed/embed-page-armasm-PTMJUNBD.js +0 -1
- package/dist/embed/embed-page-arturo-VYVR5YRA.js +0 -1
- package/dist/embed/embed-page-asciidoc-6GDV5NP4.js +0 -1
- package/dist/embed/embed-page-asciidoc-PDLRDQNM.js +0 -1
- package/dist/embed/embed-page-asm6502-LVC7KLV5.js +0 -1
- package/dist/embed/embed-page-asmatmel-B4D7TBZY.js +0 -1
- package/dist/embed/embed-page-aspectj-QZFNA4MK.js +0 -1
- package/dist/embed/embed-page-aspnet-4JJQ3PPT.js +0 -1
- package/dist/embed/embed-page-autohotkey-4QUCSDML.js +0 -1
- package/dist/embed/embed-page-autohotkey-SVPZNOL7.js +0 -1
- package/dist/embed/embed-page-autoit-IXYC6T6A.js +0 -1
- package/dist/embed/embed-page-autoit-PFZZYGX5.js +0 -1
- package/dist/embed/embed-page-avisynth-MVQJIFSP.js +0 -1
- package/dist/embed/embed-page-avrasm-XYNKWFKC.js +0 -1
- package/dist/embed/embed-page-avro-idl-4AA2QRRU.js +0 -1
- package/dist/embed/embed-page-awk-JNS3RERS.js +0 -1
- package/dist/embed/embed-page-awk-RMGF56MA.js +0 -1
- package/dist/embed/embed-page-axapta-6U5QN2JT.js +0 -1
- package/dist/embed/embed-page-bash-UJJ4GKW6.js +0 -1
- package/dist/embed/embed-page-bash-VYDNQBY7.js +0 -1
- package/dist/embed/embed-page-basic-6KLN4O27.js +0 -1
- package/dist/embed/embed-page-basic-EJRJ7W4E.js +0 -1
- package/dist/embed/embed-page-batch-AJOBLMJ2.js +0 -1
- package/dist/embed/embed-page-bbcode-CIP6MR7G.js +0 -1
- package/dist/embed/embed-page-bbj-OPFURIS3.js +0 -1
- package/dist/embed/embed-page-bicep-7BI3OTK4.js +0 -1
- package/dist/embed/embed-page-birb-LWSJQUWN.js +0 -1
- package/dist/embed/embed-page-bison-HDVOA2OF.js +0 -1
- package/dist/embed/embed-page-blockDiagram-VD42YOAC-6GQBPG3N.js +0 -122
- package/dist/embed/embed-page-bnf-7O24GKM6.js +0 -1
- package/dist/embed/embed-page-bnf-TCLPD45L.js +0 -1
- package/dist/embed/embed-page-bqn-LADFOREK.js +0 -1
- package/dist/embed/embed-page-brainfuck-B2QDW5Y5.js +0 -1
- package/dist/embed/embed-page-brainfuck-HUZY5LJA.js +0 -1
- package/dist/embed/embed-page-brightscript-4E54PL3L.js +0 -1
- package/dist/embed/embed-page-bro-DEBMJONL.js +0 -1
- package/dist/embed/embed-page-bsl-5HTEKAYP.js +0 -1
- package/dist/embed/embed-page-c-LFRMHVS4.js +0 -1
- package/dist/embed/embed-page-c-X5PJHL4T.js +0 -1
- package/dist/embed/embed-page-c-like-UPVRYRH5.js +0 -1
- package/dist/embed/embed-page-c4Diagram-YG6GDRKO-UBUOGTT3.js +0 -10
- package/dist/embed/embed-page-cal-MS5NKCDW.js +0 -1
- package/dist/embed/embed-page-capnproto-VVJPMDQX.js +0 -1
- package/dist/embed/embed-page-ceylon-TOPAPEAZ.js +0 -1
- package/dist/embed/embed-page-cfscript-P3X63VSB.js +0 -1
- package/dist/embed/embed-page-chaiscript-QZLDHGV3.js +0 -1
- package/dist/embed/embed-page-chunk-2AUFZBHG.js +0 -1
- package/dist/embed/embed-page-chunk-2AX46B4A.js +0 -1
- package/dist/embed/embed-page-chunk-2BEHY2KL.js +0 -1
- package/dist/embed/embed-page-chunk-2CM5KQAO.js +0 -1
- package/dist/embed/embed-page-chunk-2GFIRW6Z.js +0 -1
- package/dist/embed/embed-page-chunk-2IURSVR2.js +0 -7
- package/dist/embed/embed-page-chunk-2NLG2PBF.js +0 -1
- package/dist/embed/embed-page-chunk-2SKSDKSN.js +0 -1
- package/dist/embed/embed-page-chunk-2U4LKIE3.js +0 -1
- package/dist/embed/embed-page-chunk-2V6IHON2.js +0 -1
- package/dist/embed/embed-page-chunk-2VJ7T35I.js +0 -1
- package/dist/embed/embed-page-chunk-2WL6TSEG.js +0 -1
- package/dist/embed/embed-page-chunk-33LYY5FY.js +0 -1
- package/dist/embed/embed-page-chunk-37BFU4NL.js +0 -1
- package/dist/embed/embed-page-chunk-3FQ3EELN.js +0 -1
- package/dist/embed/embed-page-chunk-3GRDXHWH.js +0 -1
- package/dist/embed/embed-page-chunk-3GTSDITA.js +0 -1
- package/dist/embed/embed-page-chunk-3MESXVLG.js +0 -1
- package/dist/embed/embed-page-chunk-3WRJEEZS.js +0 -31
- package/dist/embed/embed-page-chunk-3YID7Y73.js +0 -1
- package/dist/embed/embed-page-chunk-47OYOFAD.js +0 -1
- package/dist/embed/embed-page-chunk-4BKXE5ON.js +0 -14
- package/dist/embed/embed-page-chunk-4DT3DP4G.js +0 -3
- package/dist/embed/embed-page-chunk-4FS42IYM.js +0 -1
- package/dist/embed/embed-page-chunk-4JZFQLML.js +0 -1
- package/dist/embed/embed-page-chunk-4MNX7JDW.js +0 -2
- package/dist/embed/embed-page-chunk-4NIWV5BC.js +0 -1
- package/dist/embed/embed-page-chunk-4R5F5OQK.js +0 -1
- package/dist/embed/embed-page-chunk-4TEJCUD5.js +0 -1
- package/dist/embed/embed-page-chunk-4WBAN7QL.js +0 -6890
- package/dist/embed/embed-page-chunk-4WOTSHAW.js +0 -1
- package/dist/embed/embed-page-chunk-4ZIJQUGM.js +0 -1
- package/dist/embed/embed-page-chunk-53PYTL4U.js +0 -1
- package/dist/embed/embed-page-chunk-54DGJLXZ.js +0 -1
- package/dist/embed/embed-page-chunk-57BJJSAV.js +0 -1
- package/dist/embed/embed-page-chunk-5WMGNRUZ.js +0 -79
- package/dist/embed/embed-page-chunk-62XZFSLM.js +0 -1
- package/dist/embed/embed-page-chunk-6433URSF.js +0 -1
- package/dist/embed/embed-page-chunk-664ZGB66.js +0 -1
- package/dist/embed/embed-page-chunk-66PSFC5S.js +0 -1
- package/dist/embed/embed-page-chunk-6A6HYD7S.js +0 -1
- package/dist/embed/embed-page-chunk-6BL2XYV2.js +0 -1
- package/dist/embed/embed-page-chunk-6BUDTOPG.js +0 -54
- package/dist/embed/embed-page-chunk-6D23MLVG.js +0 -1
- package/dist/embed/embed-page-chunk-6FFWZNBJ.js +0 -1
- package/dist/embed/embed-page-chunk-6JFHQ7NQ.js +0 -1
- package/dist/embed/embed-page-chunk-6KCBXVIT.js +0 -60
- package/dist/embed/embed-page-chunk-6QTEF2NW.js +0 -1
- package/dist/embed/embed-page-chunk-6SFPT5PF.js +0 -1
- package/dist/embed/embed-page-chunk-6XZZ6A3N.js +0 -1
- package/dist/embed/embed-page-chunk-6Y3UYJ6Z.js +0 -1
- package/dist/embed/embed-page-chunk-6ZXRL3VU.js +0 -1
- package/dist/embed/embed-page-chunk-74YMVV5T.js +0 -1
- package/dist/embed/embed-page-chunk-76S2KVCN.js +0 -1
- package/dist/embed/embed-page-chunk-7GLQRV3J.js +0 -1
- package/dist/embed/embed-page-chunk-7JBDPIC6.js +0 -1
- package/dist/embed/embed-page-chunk-7KSOII2E.js +0 -1
- package/dist/embed/embed-page-chunk-7MYHMZR7.js +0 -1
- package/dist/embed/embed-page-chunk-7OYMAA4V.js +0 -1
- package/dist/embed/embed-page-chunk-7RPAJAU7.js +0 -1
- package/dist/embed/embed-page-chunk-7TMVQS3E.js +0 -1
- package/dist/embed/embed-page-chunk-7XMMIQFH.js +0 -1
- package/dist/embed/embed-page-chunk-A2QFCP3F.js +0 -1
- package/dist/embed/embed-page-chunk-A2XJ36CA.js +0 -1
- package/dist/embed/embed-page-chunk-ABFWMLOR.js +0 -1
- package/dist/embed/embed-page-chunk-AJPIJ5Q6.js +0 -1
- package/dist/embed/embed-page-chunk-AKPA6XS3.js +0 -2
- package/dist/embed/embed-page-chunk-AQTLXHTW.js +0 -1
- package/dist/embed/embed-page-chunk-AWTS5ZYY.js +0 -1
- package/dist/embed/embed-page-chunk-B43OSKKN.js +0 -1
- package/dist/embed/embed-page-chunk-B6767LVL.js +0 -1
- package/dist/embed/embed-page-chunk-BDE6VTZO.js +0 -1
- package/dist/embed/embed-page-chunk-BEZUVEQG.js +0 -1
- package/dist/embed/embed-page-chunk-BHFBNKCC.js +0 -1
- package/dist/embed/embed-page-chunk-BOBSU3BS.js +0 -1
- package/dist/embed/embed-page-chunk-BOEM7RR2.js +0 -1
- package/dist/embed/embed-page-chunk-BOGY5UJK.js +0 -1
- package/dist/embed/embed-page-chunk-BOQ4YJRC.js +0 -1
- package/dist/embed/embed-page-chunk-BR7RHIPR.js +0 -1
- package/dist/embed/embed-page-chunk-BSHGJSTY.js +0 -1
- package/dist/embed/embed-page-chunk-CCNLQNKX.js +0 -1
- package/dist/embed/embed-page-chunk-CTA4NVOR.js +0 -1
- package/dist/embed/embed-page-chunk-CV7IET55.js +0 -1
- package/dist/embed/embed-page-chunk-CZBGTBTK.js +0 -1
- package/dist/embed/embed-page-chunk-D2R2NSRR.js +0 -1
- package/dist/embed/embed-page-chunk-D5AJQJD5.js +0 -2
- package/dist/embed/embed-page-chunk-D63UWHSO.js +0 -1
- package/dist/embed/embed-page-chunk-D6DA3A6A.js +0 -1
- package/dist/embed/embed-page-chunk-D73UXOFT.js +0 -1
- package/dist/embed/embed-page-chunk-DCS7FNFS.js +0 -1
- package/dist/embed/embed-page-chunk-DDTPPBJY.js +0 -1
- package/dist/embed/embed-page-chunk-DE7BGENS.js +0 -1
- package/dist/embed/embed-page-chunk-DWJV4T7Q.js +0 -1
- package/dist/embed/embed-page-chunk-E7MYEYS3.js +0 -1
- package/dist/embed/embed-page-chunk-EAFE4NIS.js +0 -1
- package/dist/embed/embed-page-chunk-EG5CLCWE.js +0 -1
- package/dist/embed/embed-page-chunk-EKYNYNIX.js +0 -1
- package/dist/embed/embed-page-chunk-ESJEHJ5L.js +0 -140
- package/dist/embed/embed-page-chunk-EWKLGZMO.js +0 -1
- package/dist/embed/embed-page-chunk-EYRF75EG.js +0 -1
- package/dist/embed/embed-page-chunk-EYZS7M3F.js +0 -1
- package/dist/embed/embed-page-chunk-F45LQ3RS.js +0 -1
- package/dist/embed/embed-page-chunk-F7IBVBXT.js +0 -1
- package/dist/embed/embed-page-chunk-FEEJAFK4.js +0 -1
- package/dist/embed/embed-page-chunk-FUIKRW55.js +0 -1
- package/dist/embed/embed-page-chunk-FVMSMU4J.js +0 -242
- package/dist/embed/embed-page-chunk-FWGNJMXD.js +0 -37
- package/dist/embed/embed-page-chunk-FWTICTEC.js +0 -1
- package/dist/embed/embed-page-chunk-FWXSX2W4.js +0 -1
- package/dist/embed/embed-page-chunk-FZRTVFHF.js +0 -525
- package/dist/embed/embed-page-chunk-GH22I3LG.js +0 -1
- package/dist/embed/embed-page-chunk-GJCMO4YN.js +0 -1
- package/dist/embed/embed-page-chunk-GL7A7IDD.js +0 -1
- package/dist/embed/embed-page-chunk-GNEIDEFX.js +0 -1
- package/dist/embed/embed-page-chunk-GVZMVAXF.js +0 -70
- package/dist/embed/embed-page-chunk-GZBFDD4Y.js +0 -1
- package/dist/embed/embed-page-chunk-H3NYTZT4.js +0 -3
- package/dist/embed/embed-page-chunk-H7CZ6EXN.js +0 -1
- package/dist/embed/embed-page-chunk-HD5CA5Q2.js +0 -1
- package/dist/embed/embed-page-chunk-HDAHRUIT.js +0 -1
- package/dist/embed/embed-page-chunk-HGSQ4AUI.js +0 -1
- package/dist/embed/embed-page-chunk-HTEALTO4.js +0 -1
- package/dist/embed/embed-page-chunk-HUKTQVZB.js +0 -1
- package/dist/embed/embed-page-chunk-I2JNPKJK.js +0 -1
- package/dist/embed/embed-page-chunk-I4BCBOUA.js +0 -1
- package/dist/embed/embed-page-chunk-I55FBKLU.js +0 -3
- package/dist/embed/embed-page-chunk-I7YQ2TGZ.js +0 -1
- package/dist/embed/embed-page-chunk-IDJWNYLR.js +0 -1
- package/dist/embed/embed-page-chunk-IE6O7ZMQ.js +0 -15
- package/dist/embed/embed-page-chunk-IFCJLAOB.js +0 -1
- package/dist/embed/embed-page-chunk-IGIFLYCQ.js +0 -1
- package/dist/embed/embed-page-chunk-IT5VM3N7.js +0 -1
- package/dist/embed/embed-page-chunk-IX4WLWCY.js +0 -28
- package/dist/embed/embed-page-chunk-IZ6ZGFSG.js +0 -1
- package/dist/embed/embed-page-chunk-JFK56NZW.js +0 -1
- package/dist/embed/embed-page-chunk-JQQ6C3ST.js +0 -1
- package/dist/embed/embed-page-chunk-K2NBNWDK.js +0 -1
- package/dist/embed/embed-page-chunk-K5YYUAPL.js +0 -153
- package/dist/embed/embed-page-chunk-K7JAB46X.js +0 -1
- package/dist/embed/embed-page-chunk-KE32OJIP.js +0 -1
- package/dist/embed/embed-page-chunk-KEKB3BUG.js +0 -1
- package/dist/embed/embed-page-chunk-KW44NUT4.js +0 -1
- package/dist/embed/embed-page-chunk-KWRAXHKX.js +0 -1
- package/dist/embed/embed-page-chunk-L2QFIJ4P.js +0 -1
- package/dist/embed/embed-page-chunk-L6GX525D.js +0 -1
- package/dist/embed/embed-page-chunk-LEAHYMKH.js +0 -1
- package/dist/embed/embed-page-chunk-LIJVWBYO.js +0 -1
- package/dist/embed/embed-page-chunk-LJZ2VDC6.js +0 -1
- package/dist/embed/embed-page-chunk-LKBECLX2.js +0 -1
- package/dist/embed/embed-page-chunk-M2PV36MX.js +0 -2
- package/dist/embed/embed-page-chunk-MASNBRHM.js +0 -1
- package/dist/embed/embed-page-chunk-MB65DZAX.js +0 -14
- package/dist/embed/embed-page-chunk-MB77ZI4D.js +0 -1
- package/dist/embed/embed-page-chunk-MG5LALIS.js +0 -1
- package/dist/embed/embed-page-chunk-MHSEFTKR.js +0 -1
- package/dist/embed/embed-page-chunk-MKV2QNSI.js +0 -1
- package/dist/embed/embed-page-chunk-MMHCEL7E.js +0 -1
- package/dist/embed/embed-page-chunk-MMXDBRLY.js +0 -1
- package/dist/embed/embed-page-chunk-MSYFW3OJ.js +0 -1
- package/dist/embed/embed-page-chunk-MVLHDASB.js +0 -1
- package/dist/embed/embed-page-chunk-NJP7LGPJ.js +0 -1
- package/dist/embed/embed-page-chunk-NLZ6F3ON.js +0 -1
- package/dist/embed/embed-page-chunk-NN7VEJ2G.js +0 -1
- package/dist/embed/embed-page-chunk-NOMBKADH.js +0 -1
- package/dist/embed/embed-page-chunk-NQRVVPLU.js +0 -1
- package/dist/embed/embed-page-chunk-O2YMBFJK.js +0 -1
- package/dist/embed/embed-page-chunk-OCFVEAMV.js +0 -1
- package/dist/embed/embed-page-chunk-OF6SGGWX.js +0 -1
- package/dist/embed/embed-page-chunk-OK6DC5YX.js +0 -1
- package/dist/embed/embed-page-chunk-ONN5O5BX.js +0 -5
- package/dist/embed/embed-page-chunk-ONZ74YHS.js +0 -1
- package/dist/embed/embed-page-chunk-OOZDPBUK.js +0 -69
- package/dist/embed/embed-page-chunk-OWTE7YMF.js +0 -1
- package/dist/embed/embed-page-chunk-OZKVHTL6.js +0 -1
- package/dist/embed/embed-page-chunk-P4MXODKA.js +0 -1
- package/dist/embed/embed-page-chunk-P56KTNVT.js +0 -1
- package/dist/embed/embed-page-chunk-P5PFV3N7.js +0 -3
- package/dist/embed/embed-page-chunk-PADSMXWH.js +0 -3
- package/dist/embed/embed-page-chunk-PHVA2KHO.js +0 -1
- package/dist/embed/embed-page-chunk-PRYNHKKK.js +0 -1
- package/dist/embed/embed-page-chunk-PSTS2K7H.js +0 -1
- package/dist/embed/embed-page-chunk-PVOA7ARZ.js +0 -1
- package/dist/embed/embed-page-chunk-Q2HL7S3R.js +0 -41
- package/dist/embed/embed-page-chunk-Q2LWO44N.js +0 -1
- package/dist/embed/embed-page-chunk-Q4NFAO5G.js +0 -1
- package/dist/embed/embed-page-chunk-QA2R2R55.js +0 -165
- package/dist/embed/embed-page-chunk-QBSFVKIB.js +0 -1
- package/dist/embed/embed-page-chunk-QCLLEPYT.js +0 -1
- package/dist/embed/embed-page-chunk-QDBK4ZDE.js +0 -1
- package/dist/embed/embed-page-chunk-QENDQ7H3.js +0 -1
- package/dist/embed/embed-page-chunk-QF7NBK3B.js +0 -1
- package/dist/embed/embed-page-chunk-QFTY233A.js +0 -1
- package/dist/embed/embed-page-chunk-QIJBDPZP.js +0 -1
- package/dist/embed/embed-page-chunk-QQLF4AV6.js +0 -1
- package/dist/embed/embed-page-chunk-QRKEL65F.js +0 -1
- package/dist/embed/embed-page-chunk-R2BGZIR7.js +0 -1
- package/dist/embed/embed-page-chunk-R4FTAO2H.js +0 -1
- package/dist/embed/embed-page-chunk-RABAC5H3.js +0 -1
- package/dist/embed/embed-page-chunk-RG3BI65W.js +0 -1
- package/dist/embed/embed-page-chunk-RKPK7MLC.js +0 -1
- package/dist/embed/embed-page-chunk-RUOFG3OD.js +0 -1
- package/dist/embed/embed-page-chunk-RV2IAP52.js +0 -1
- package/dist/embed/embed-page-chunk-RXLB27EG.js +0 -1
- package/dist/embed/embed-page-chunk-SEH5ZYHX.js +0 -1
- package/dist/embed/embed-page-chunk-SRW4AAQ4.js +0 -1
- package/dist/embed/embed-page-chunk-T4AZ556W.js +0 -1
- package/dist/embed/embed-page-chunk-TAOVZBLV.js +0 -1
- package/dist/embed/embed-page-chunk-TBRAGK3D.js +0 -1
- package/dist/embed/embed-page-chunk-TKOSVUN2.js +0 -1
- package/dist/embed/embed-page-chunk-TP7772GL.js +0 -1
- package/dist/embed/embed-page-chunk-TPCI3CNJ.js +0 -1
- package/dist/embed/embed-page-chunk-TWDJUUXZ.js +0 -1
- package/dist/embed/embed-page-chunk-TWNAGURL.js +0 -4
- package/dist/embed/embed-page-chunk-U3B5KKSV.js +0 -1
- package/dist/embed/embed-page-chunk-U3YIXQYB.js +0 -1
- package/dist/embed/embed-page-chunk-U7OC25B3.js +0 -1
- package/dist/embed/embed-page-chunk-UCR4ZILJ.js +0 -1
- package/dist/embed/embed-page-chunk-UGBSF5HI.js +0 -1
- package/dist/embed/embed-page-chunk-UPUUWWBK.js +0 -1
- package/dist/embed/embed-page-chunk-V2V73RFB.js +0 -1
- package/dist/embed/embed-page-chunk-VRDH6A7Z.js +0 -1
- package/dist/embed/embed-page-chunk-VTUD3VPX.js +0 -1
- package/dist/embed/embed-page-chunk-VVTZ23LK.js +0 -1
- package/dist/embed/embed-page-chunk-WLZW4FEZ.js +0 -1
- package/dist/embed/embed-page-chunk-WMLR2GQK.js +0 -8
- package/dist/embed/embed-page-chunk-XA4KNRQW.js +0 -1
- package/dist/embed/embed-page-chunk-XIJHCNBW.js +0 -1
- package/dist/embed/embed-page-chunk-XQNO7AN3.js +0 -1
- package/dist/embed/embed-page-chunk-XR3Q4GDZ.js +0 -1
- package/dist/embed/embed-page-chunk-XTMDFHMJ.js +0 -1
- package/dist/embed/embed-page-chunk-XWRBMESB.js +0 -1
- package/dist/embed/embed-page-chunk-XXT7RMBT.js +0 -220
- package/dist/embed/embed-page-chunk-XY5NGMFT.js +0 -1
- package/dist/embed/embed-page-chunk-YFEUMUCL.js +0 -1
- package/dist/embed/embed-page-chunk-YJBX3AFL.js +0 -1
- package/dist/embed/embed-page-chunk-YJZJFCLP.js +0 -1
- package/dist/embed/embed-page-chunk-YLUGLAWD.js +0 -1
- package/dist/embed/embed-page-chunk-YMMUR7L6.js +0 -1
- package/dist/embed/embed-page-chunk-Z6N3GKM5.js +0 -1
- package/dist/embed/embed-page-chunk-Z6PDLQOB.js +0 -1
- package/dist/embed/embed-page-chunk-ZESVZCWO.js +0 -1
- package/dist/embed/embed-page-chunk-ZITVGQ52.js +0 -1
- package/dist/embed/embed-page-chunk-ZQ6WYVOD.js +0 -1
- package/dist/embed/embed-page-cil-ZQIVHSN6.js +0 -1
- package/dist/embed/embed-page-cilkc-AJET62TW.js +0 -1
- package/dist/embed/embed-page-cilkcpp-FRBVBYEF.js +0 -1
- package/dist/embed/embed-page-classDiagram-2ON5EDUG-S5GEC2UC.js +0 -1
- package/dist/embed/embed-page-classDiagram-v2-WZHVMYZB-NL3HKXC3.js +0 -1
- package/dist/embed/embed-page-clean-OPHY52MY.js +0 -1
- package/dist/embed/embed-page-clike-5NRFTOCK.js +0 -1
- package/dist/embed/embed-page-clojure-4GC77VYK.js +0 -1
- package/dist/embed/embed-page-clojure-7B3FI7TH.js +0 -1
- package/dist/embed/embed-page-clojure-repl-56WG27Z3.js +0 -1
- package/dist/embed/embed-page-cmake-F3SKZMUJ.js +0 -1
- package/dist/embed/embed-page-cmake-UIBPQIVG.js +0 -1
- package/dist/embed/embed-page-cobol-7TW6OZHG.js +0 -1
- package/dist/embed/embed-page-code-highlighter-NZBTSABL.js +0 -1
- package/dist/embed/embed-page-coffeescript-BCKZ4N2E.js +0 -1
- package/dist/embed/embed-page-coffeescript-N2ENFNNR.js +0 -1
- package/dist/embed/embed-page-concurnas-MCN7VYPE.js +0 -1
- package/dist/embed/embed-page-cooklang-JSLOQBDM.js +0 -1
- package/dist/embed/embed-page-coq-WH3J7SKF.js +0 -1
- package/dist/embed/embed-page-coq-XRXAXI5X.js +0 -1
- package/dist/embed/embed-page-core-Q6IGWM4Q.js +0 -1
- package/dist/embed/embed-page-core-TQNBW2MM.js +0 -1
- package/dist/embed/embed-page-cos-MP7YM5FO.js +0 -1
- package/dist/embed/embed-page-cose-bilkent-S5V4N54A-KJMAAFJL.js +0 -1
- package/dist/embed/embed-page-cpp-FFAXKUCJ.js +0 -1
- package/dist/embed/embed-page-cpp-PRCT5QAC.js +0 -1
- package/dist/embed/embed-page-crmsh-PF5MF5PC.js +0 -1
- package/dist/embed/embed-page-crystal-GYFU35L2.js +0 -1
- package/dist/embed/embed-page-crystal-W2TOACW4.js +0 -1
- package/dist/embed/embed-page-csharp-DHR2XRZW.js +0 -1
- package/dist/embed/embed-page-csharp-UNF62ZBO.js +0 -1
- package/dist/embed/embed-page-cshtml-G7ML4LE3.js +0 -1
- package/dist/embed/embed-page-csp-UDQUZUZW.js +0 -1
- package/dist/embed/embed-page-csp-YPF3N7BE.js +0 -1
- package/dist/embed/embed-page-css-774MOM42.js +0 -1
- package/dist/embed/embed-page-css-EHGZALYG.js +0 -1
- package/dist/embed/embed-page-css-extras-SI7Q5IJ6.js +0 -1
- package/dist/embed/embed-page-csv-MT4GPPO7.js +0 -1
- package/dist/embed/embed-page-cue-BMTFVAKL.js +0 -1
- package/dist/embed/embed-page-cypher-QDHM3LFO.js +0 -1
- package/dist/embed/embed-page-d-KHBJT5ZU.js +0 -1
- package/dist/embed/embed-page-d-VF7XFFMN.js +0 -1
- package/dist/embed/embed-page-dagre-6UL2VRFP-QSIK5LGS.js +0 -4
- package/dist/embed/embed-page-dart-3L3U2DJ3.js +0 -1
- package/dist/embed/embed-page-dart-6AOCMAXR.js +0 -1
- package/dist/embed/embed-page-dataweave-LNNDNKWG.js +0 -1
- package/dist/embed/embed-page-dax-J2FYUNXR.js +0 -1
- package/dist/embed/embed-page-delphi-T3RKZ33G.js +0 -1
- package/dist/embed/embed-page-dhall-MGZ2X6D6.js +0 -1
- package/dist/embed/embed-page-diagram-PSM6KHXK-PLOM5KG7.js +0 -24
- package/dist/embed/embed-page-diagram-QEK2KX5R-RUNGK25X.js +0 -43
- package/dist/embed/embed-page-diagram-S2PKOQOG-LWDHM5TL.js +0 -24
- package/dist/embed/embed-page-diff-AZNWSOQ3.js +0 -1
- package/dist/embed/embed-page-diff-BYMKQAM5.js +0 -1
- package/dist/embed/embed-page-django-5BVMXLOO.js +0 -1
- package/dist/embed/embed-page-django-OLTKKRJC.js +0 -1
- package/dist/embed/embed-page-dns-LKEA7NVQ.js +0 -1
- package/dist/embed/embed-page-dns-zone-file-MLDJYBWW.js +0 -1
- package/dist/embed/embed-page-docker-7ZWVGIHF.js +0 -1
- package/dist/embed/embed-page-dockerfile-YJABIQ3Q.js +0 -1
- package/dist/embed/embed-page-dos-CZOUXBDN.js +0 -1
- package/dist/embed/embed-page-dot-USOBKZIN.js +0 -1
- package/dist/embed/embed-page-dsconfig-5E37MQM4.js +0 -1
- package/dist/embed/embed-page-dts-DPBFPVA5.js +0 -1
- package/dist/embed/embed-page-dust-OAZ4NEIP.js +0 -1
- package/dist/embed/embed-page-ebnf-XFC6NV6I.js +0 -1
- package/dist/embed/embed-page-ebnf-XSYP4JUB.js +0 -1
- package/dist/embed/embed-page-echarts-7KZDMH4F.js +0 -1
- package/dist/embed/embed-page-editorconfig-FQHUYGTR.js +0 -1
- package/dist/embed/embed-page-eiffel-Z22STSPG.js +0 -1
- package/dist/embed/embed-page-ejs-VHHMOK6Y.js +0 -1
- package/dist/embed/embed-page-elixir-BGO72I74.js +0 -1
- package/dist/embed/embed-page-elixir-H3KPRECP.js +0 -1
- package/dist/embed/embed-page-elm-HZWFYFUN.js +0 -1
- package/dist/embed/embed-page-elm-IZAWNYFC.js +0 -1
- package/dist/embed/embed-page-erDiagram-Q2GNP2WA-C6CZYEPF.js +0 -60
- package/dist/embed/embed-page-erb-AK646PXX.js +0 -1
- package/dist/embed/embed-page-erb-YBV2NO4W.js +0 -1
- package/dist/embed/embed-page-erlang-6LMYF4BN.js +0 -1
- package/dist/embed/embed-page-erlang-PXGHX7XB.js +0 -1
- package/dist/embed/embed-page-erlang-repl-UJPNMOCE.js +0 -1
- package/dist/embed/embed-page-etlua-XNKJ7UTQ.js +0 -1
- package/dist/embed/embed-page-excel-PCWQ5ZDK.js +0 -1
- package/dist/embed/embed-page-excel-formula-CEZ7KVDN.js +0 -1
- package/dist/embed/embed-page-factor-3PZO4CCJ.js +0 -1
- package/dist/embed/embed-page-false-OX3DNOF4.js +0 -1
- package/dist/embed/embed-page-firestore-security-rules-IQBOB7PZ.js +0 -1
- package/dist/embed/embed-page-fix-Q3F7Z2HQ.js +0 -1
- package/dist/embed/embed-page-flix-LVDGNPRS.js +0 -1
- package/dist/embed/embed-page-flow-4UPRJEF2.js +0 -1
- package/dist/embed/embed-page-flowDiagram-NV44I4VS-DLT3KEOP.js +0 -162
- package/dist/embed/embed-page-fortran-65P3TPQ7.js +0 -1
- package/dist/embed/embed-page-fortran-LWYFHCCB.js +0 -1
- package/dist/embed/embed-page-fsharp-BSA736XP.js +0 -1
- package/dist/embed/embed-page-fsharp-GDIVPYAB.js +0 -1
- package/dist/embed/embed-page-ftl-27Y3T2XT.js +0 -1
- package/dist/embed/embed-page-gams-7UM23CTD.js +0 -1
- package/dist/embed/embed-page-ganttDiagram-JELNMOA3-YXTLQI5X.js +0 -267
- package/dist/embed/embed-page-gap-JNDMTZYG.js +0 -1
- package/dist/embed/embed-page-gauss-4OCQQOQQ.js +0 -1
- package/dist/embed/embed-page-gcode-7ZDB2FDS.js +0 -1
- package/dist/embed/embed-page-gcode-U2UWK2IF.js +0 -1
- package/dist/embed/embed-page-gdscript-UOAGAMMO.js +0 -1
- package/dist/embed/embed-page-gedcom-WSTJUY6R.js +0 -1
- package/dist/embed/embed-page-gettext-BNGNGT6W.js +0 -1
- package/dist/embed/embed-page-gherkin-CPRNYA24.js +0 -1
- package/dist/embed/embed-page-gherkin-IVS5YUAH.js +0 -1
- package/dist/embed/embed-page-git-WWKMYMUR.js +0 -1
- package/dist/embed/embed-page-gitGraph-F6HP7TQM-AT36TKLZ.js +0 -1
- package/dist/embed/embed-page-gitGraphDiagram-NY62KEGX-U36ULO4Y.js +0 -65
- package/dist/embed/embed-page-glsl-2QJTMF6X.js +0 -1
- package/dist/embed/embed-page-glsl-6C6F26XK.js +0 -1
- package/dist/embed/embed-page-gml-67HHHYLB.js +0 -1
- package/dist/embed/embed-page-gml-ZFY32X23.js +0 -1
- package/dist/embed/embed-page-gn-KO2XPJDA.js +0 -1
- package/dist/embed/embed-page-go-HAQ77N2R.js +0 -1
- package/dist/embed/embed-page-go-SYFPAV4X.js +0 -1
- package/dist/embed/embed-page-go-module-XICPRQ5N.js +0 -1
- package/dist/embed/embed-page-golo-KQZ2PQG7.js +0 -1
- package/dist/embed/embed-page-gradle-7PN7DUJT.js +0 -1
- package/dist/embed/embed-page-gradle-GN34ZONG.js +0 -1
- package/dist/embed/embed-page-graphql-CVSK5MA2.js +0 -1
- package/dist/embed/embed-page-groovy-3R2X7GQD.js +0 -1
- package/dist/embed/embed-page-groovy-YCAJV7XB.js +0 -1
- package/dist/embed/embed-page-haml-6VEPXH2O.js +0 -1
- package/dist/embed/embed-page-haml-TYLXIXHD.js +0 -1
- package/dist/embed/embed-page-handlebars-7Y74ECRG.js +0 -1
- package/dist/embed/embed-page-handlebars-WVRARLIY.js +0 -1
- package/dist/embed/embed-page-haskell-7U743UEW.js +0 -1
- package/dist/embed/embed-page-haskell-BATAJHBH.js +0 -1
- package/dist/embed/embed-page-haxe-C234CZTQ.js +0 -1
- package/dist/embed/embed-page-haxe-PYBC3T4M.js +0 -1
- package/dist/embed/embed-page-hcl-BITT4ESF.js +0 -1
- package/dist/embed/embed-page-hlsl-KYOSJMB5.js +0 -1
- package/dist/embed/embed-page-hoon-NTFQ2YYJ.js +0 -1
- package/dist/embed/embed-page-hpkp-KN6XKLGI.js +0 -1
- package/dist/embed/embed-page-hsp-QFZDPSDA.js +0 -1
- package/dist/embed/embed-page-hsts-5COZ5S32.js +0 -1
- package/dist/embed/embed-page-html2canvas-HMTC4TFR.js +0 -1
- package/dist/embed/embed-page-htmlbars-L7NSSG62.js +0 -1
- package/dist/embed/embed-page-http-ALSJXSOJ.js +0 -1
- package/dist/embed/embed-page-http-E4UEITFW.js +0 -1
- package/dist/embed/embed-page-hy-5ROLZHNZ.js +0 -1
- package/dist/embed/embed-page-ichigojam-T6UG6OA7.js +0 -1
- package/dist/embed/embed-page-icon-74CJY73I.js +0 -1
- package/dist/embed/embed-page-icu-message-format-2RX6DV2B.js +0 -1
- package/dist/embed/embed-page-idris-OH6VYNRJ.js +0 -1
- package/dist/embed/embed-page-iecst-SJFFJ4PC.js +0 -1
- package/dist/embed/embed-page-ignore-QLXHF7QX.js +0 -1
- package/dist/embed/embed-page-index.es-N6YIYNKZ.js +0 -23
- package/dist/embed/embed-page-info-NVLQJR56-2XLQRFF4.js +0 -1
- package/dist/embed/embed-page-infoDiagram-WHAUD3N6-2U2VIHJP.js +0 -2
- package/dist/embed/embed-page-inform7-6Y7MAAME.js +0 -1
- package/dist/embed/embed-page-inform7-HZB3RNF4.js +0 -1
- package/dist/embed/embed-page-ini-7C2L4IDF.js +0 -1
- package/dist/embed/embed-page-ini-TMKFFGPD.js +0 -1
- package/dist/embed/embed-page-io-X5SCSO5G.js +0 -1
- package/dist/embed/embed-page-irpf90-A5FIGB26.js +0 -1
- package/dist/embed/embed-page-isbl-Q77V4FXF.js +0 -1
- package/dist/embed/embed-page-j-MA6BTTGA.js +0 -1
- package/dist/embed/embed-page-java-CYPVO64F.js +0 -1
- package/dist/embed/embed-page-java-O37XO6YL.js +0 -1
- package/dist/embed/embed-page-javadoc-LWLUAHHX.js +0 -1
- package/dist/embed/embed-page-javadoclike-BMEJGG2H.js +0 -1
- package/dist/embed/embed-page-javascript-GU26522Z.js +0 -1
- package/dist/embed/embed-page-javascript-M37PIZZC.js +0 -1
- package/dist/embed/embed-page-javastacktrace-ENINDMIF.js +0 -1
- package/dist/embed/embed-page-jboss-cli-Q2WN2KZS.js +0 -1
- package/dist/embed/embed-page-jexl-EU2C4LRG.js +0 -1
- package/dist/embed/embed-page-jolie-WJIQVPRR.js +0 -1
- package/dist/embed/embed-page-journeyDiagram-XKPGCS4Q-D4A2GN62.js +0 -139
- package/dist/embed/embed-page-jq-BRF5PIAN.js +0 -1
- package/dist/embed/embed-page-js-extras-WQMVOPIZ.js +0 -1
- package/dist/embed/embed-page-js-templates-YO6IJU6R.js +0 -1
- package/dist/embed/embed-page-jsdoc-ZKI7O6VF.js +0 -1
- package/dist/embed/embed-page-json-MRFYB7NT.js +0 -1
- package/dist/embed/embed-page-json-PSHSOWQY.js +0 -1
- package/dist/embed/embed-page-json5-VQKDKRNE.js +0 -1
- package/dist/embed/embed-page-jsonp-ANEJBBKD.js +0 -1
- package/dist/embed/embed-page-jsstacktrace-XYAXX4Z3.js +0 -1
- package/dist/embed/embed-page-jsx-FZEE3QI5.js +0 -1
- package/dist/embed/embed-page-julia-5W6JANPT.js +0 -1
- package/dist/embed/embed-page-julia-EY2DW2U2.js +0 -1
- package/dist/embed/embed-page-julia-repl-O5XO6CSL.js +0 -1
- package/dist/embed/embed-page-kanban-definition-3W4ZIXB7-5JTDNV4G.js +0 -89
- package/dist/embed/embed-page-katex-BO63LHUI.js +0 -261
- package/dist/embed/embed-page-keepalived-OPG3P3WJ.js +0 -1
- package/dist/embed/embed-page-keyman-CXJENJBT.js +0 -1
- package/dist/embed/embed-page-kotlin-62Q32YH3.js +0 -1
- package/dist/embed/embed-page-kotlin-V4IBLBDP.js +0 -1
- package/dist/embed/embed-page-kumir-TIJGTYC3.js +0 -1
- package/dist/embed/embed-page-kusto-BXI53DND.js +0 -1
- package/dist/embed/embed-page-lasso-2CPND7XH.js +0 -1
- package/dist/embed/embed-page-latex-F3X5K6QF.js +0 -1
- package/dist/embed/embed-page-latex-MVG52AHA.js +0 -1
- package/dist/embed/embed-page-latte-J3LVOB6S.js +0 -1
- package/dist/embed/embed-page-ldif-5OWTENAQ.js +0 -1
- package/dist/embed/embed-page-leaf-EYR425IG.js +0 -1
- package/dist/embed/embed-page-less-S6CBMQQZ.js +0 -1
- package/dist/embed/embed-page-less-WDPLNQ5B.js +0 -1
- package/dist/embed/embed-page-lilypond-IJV67NKP.js +0 -1
- package/dist/embed/embed-page-linker-script-MIX3HOEH.js +0 -1
- package/dist/embed/embed-page-liquid-CFWS6T2J.js +0 -1
- package/dist/embed/embed-page-lisp-C6XPBZ5U.js +0 -1
- package/dist/embed/embed-page-lisp-IM4ILKS7.js +0 -1
- package/dist/embed/embed-page-livecodeserver-6F3SUK5W.js +0 -1
- package/dist/embed/embed-page-livescript-GNIYPIHH.js +0 -1
- package/dist/embed/embed-page-livescript-HOLSYBIG.js +0 -1
- package/dist/embed/embed-page-llvm-IWL5DLNH.js +0 -1
- package/dist/embed/embed-page-llvm-K2USHCCC.js +0 -1
- package/dist/embed/embed-page-log-BLJX5RSC.js +0 -1
- package/dist/embed/embed-page-lolcode-6COIIRQ6.js +0 -1
- package/dist/embed/embed-page-lsl-KDZSWM6S.js +0 -1
- package/dist/embed/embed-page-lua-5KEV5KHK.js +0 -1
- package/dist/embed/embed-page-lua-F7VBLUI5.js +0 -1
- package/dist/embed/embed-page-magma-TTQUX26J.js +0 -1
- package/dist/embed/embed-page-makefile-4VQZE7FW.js +0 -1
- package/dist/embed/embed-page-makefile-LDN5QGHW.js +0 -1
- package/dist/embed/embed-page-markdown-GU3NFA6A.js +0 -1
- package/dist/embed/embed-page-markdown-ODPEZXUU.js +0 -1
- package/dist/embed/embed-page-markup-W6JMQ64H.js +0 -1
- package/dist/embed/embed-page-markup-templating-RYGNVTG7.js +0 -1
- package/dist/embed/embed-page-mata-D4O4BNGS.js +0 -1
- package/dist/embed/embed-page-mathematica-YSU2VUX4.js +0 -1
- package/dist/embed/embed-page-matlab-6TYO6LKK.js +0 -1
- package/dist/embed/embed-page-matlab-DCIHZIZM.js +0 -1
- package/dist/embed/embed-page-maxima-K2VWPGLA.js +0 -1
- package/dist/embed/embed-page-maxscript-3ARRWLS6.js +0 -1
- package/dist/embed/embed-page-mel-E3F6H7ZF.js +0 -1
- package/dist/embed/embed-page-mel-YGI273IY.js +0 -1
- package/dist/embed/embed-page-mercury-LXCDDOJN.js +0 -1
- package/dist/embed/embed-page-mermaid-4FMYB3TJ.js +0 -1
- package/dist/embed/embed-page-mermaid-CK4ARQCM.js +0 -18
- package/dist/embed/embed-page-metafont-33QDNLJC.js +0 -1
- package/dist/embed/embed-page-mindmap-definition-VGOIOE7T-LVIRJQDW.js +0 -68
- package/dist/embed/embed-page-mipsasm-HSMSNEPP.js +0 -1
- package/dist/embed/embed-page-mizar-OTR4FHWG.js +0 -1
- package/dist/embed/embed-page-mizar-ZDNSLX4H.js +0 -1
- package/dist/embed/embed-page-mojolicious-2VJDUL4M.js +0 -1
- package/dist/embed/embed-page-mongodb-E62Y62DN.js +0 -1
- package/dist/embed/embed-page-monkey-KOVSP7SE.js +0 -1
- package/dist/embed/embed-page-monkey-MWSXB6DH.js +0 -1
- package/dist/embed/embed-page-moonscript-7DWCIDI5.js +0 -1
- package/dist/embed/embed-page-moonscript-AIMMMW7W.js +0 -1
- package/dist/embed/embed-page-n1ql-TKR2PAQ4.js +0 -1
- package/dist/embed/embed-page-n1ql-VSPMFQEE.js +0 -1
- package/dist/embed/embed-page-n4js-VQSAFSQG.js +0 -1
- package/dist/embed/embed-page-nand2tetris-hdl-ZN4LQDMB.js +0 -1
- package/dist/embed/embed-page-naniscript-FX42SAZY.js +0 -1
- package/dist/embed/embed-page-nasm-FGR3ELJL.js +0 -1
- package/dist/embed/embed-page-neon-4JXYQJP3.js +0 -1
- package/dist/embed/embed-page-nevod-2EHVRC32.js +0 -1
- package/dist/embed/embed-page-nginx-3W4BPZZB.js +0 -1
- package/dist/embed/embed-page-nginx-672JEBEN.js +0 -1
- package/dist/embed/embed-page-nim-CNSA5KTJ.js +0 -1
- package/dist/embed/embed-page-nim-CS7GVCRH.js +0 -1
- package/dist/embed/embed-page-nix-H37VR2HL.js +0 -1
- package/dist/embed/embed-page-nix-ODG6AI37.js +0 -1
- package/dist/embed/embed-page-node-repl-F5RCYIN3.js +0 -1
- package/dist/embed/embed-page-nsis-LEW5NHHS.js +0 -1
- package/dist/embed/embed-page-nsis-P73IQUMW.js +0 -1
- package/dist/embed/embed-page-objectivec-GOD2BEHI.js +0 -1
- package/dist/embed/embed-page-objectivec-UO34JBT5.js +0 -1
- package/dist/embed/embed-page-ocaml-ODOKMPKS.js +0 -1
- package/dist/embed/embed-page-ocaml-PW67TSNU.js +0 -1
- package/dist/embed/embed-page-odin-42BCJRMU.js +0 -1
- package/dist/embed/embed-page-opencl-FWU2AVTW.js +0 -1
- package/dist/embed/embed-page-openqasm-D2QQCO47.js +0 -1
- package/dist/embed/embed-page-openscad-LZPRFY2W.js +0 -1
- package/dist/embed/embed-page-oxygene-HZG7OO7G.js +0 -1
- package/dist/embed/embed-page-oz-MQNQCKRU.js +0 -1
- package/dist/embed/embed-page-packet-BFZMPI3H-JUHAABU6.js +0 -1
- package/dist/embed/embed-page-parigp-MAX3X22G.js +0 -1
- package/dist/embed/embed-page-parser-2WFCRGYE.js +0 -1
- package/dist/embed/embed-page-parser3-C3KVU5ZC.js +0 -1
- package/dist/embed/embed-page-pascal-LVXMXCNE.js +0 -1
- package/dist/embed/embed-page-pascaligo-6RIW5OHU.js +0 -1
- package/dist/embed/embed-page-pcaxis-ZO5S5UAO.js +0 -1
- package/dist/embed/embed-page-peoplecode-EAE6M4AF.js +0 -1
- package/dist/embed/embed-page-perl-CAUIKKUT.js +0 -1
- package/dist/embed/embed-page-perl-NCR5YMVT.js +0 -1
- package/dist/embed/embed-page-pf-TXMTVH7H.js +0 -1
- package/dist/embed/embed-page-pgsql-M7L7YRCD.js +0 -1
- package/dist/embed/embed-page-php-IE2N3QI4.js +0 -1
- package/dist/embed/embed-page-php-QCBSAYIC.js +0 -1
- package/dist/embed/embed-page-php-extras-VRZO47SA.js +0 -1
- package/dist/embed/embed-page-php-template-U54UCRKN.js +0 -1
- package/dist/embed/embed-page-phpdoc-ZQWB2OXG.js +0 -1
- package/dist/embed/embed-page-pie-7BOR55EZ-GU56BHQJ.js +0 -1
- package/dist/embed/embed-page-pieDiagram-ADFJNKIX-JXFHXEAJ.js +0 -30
- package/dist/embed/embed-page-plaintext-OINTKMAM.js +0 -1
- package/dist/embed/embed-page-plant-uml-3RVWLPWM.js +0 -1
- package/dist/embed/embed-page-plsql-XQEBXO73.js +0 -1
- package/dist/embed/embed-page-pony-UEK5X7OI.js +0 -1
- package/dist/embed/embed-page-powerquery-DEKKCZY7.js +0 -1
- package/dist/embed/embed-page-powershell-EBW7RZTN.js +0 -1
- package/dist/embed/embed-page-powershell-UMB53SPC.js +0 -1
- package/dist/embed/embed-page-processing-56OIROQG.js +0 -1
- package/dist/embed/embed-page-processing-ZIDQ7SB3.js +0 -1
- package/dist/embed/embed-page-profile-6SSPU7PG.js +0 -1
- package/dist/embed/embed-page-prolog-7JA2UBRP.js +0 -1
- package/dist/embed/embed-page-prolog-L55HYSKT.js +0 -1
- package/dist/embed/embed-page-promql-L4YBO3EF.js +0 -1
- package/dist/embed/embed-page-properties-O3BOEJXJ.js +0 -1
- package/dist/embed/embed-page-properties-VGZTUJ5E.js +0 -1
- package/dist/embed/embed-page-protobuf-F7X2PLJJ.js +0 -1
- package/dist/embed/embed-page-protobuf-GS5HMEMS.js +0 -1
- package/dist/embed/embed-page-psl-HLKSMRWT.js +0 -1
- package/dist/embed/embed-page-pug-MI7HPGUX.js +0 -1
- package/dist/embed/embed-page-puppet-2HD3DPH2.js +0 -1
- package/dist/embed/embed-page-puppet-BRWZHTKL.js +0 -1
- package/dist/embed/embed-page-pure-FVSDVQ2B.js +0 -1
- package/dist/embed/embed-page-purebasic-PPHAGMQH.js +0 -1
- package/dist/embed/embed-page-purebasic-UVZDR2HE.js +0 -1
- package/dist/embed/embed-page-purescript-Q3TGKQZY.js +0 -1
- package/dist/embed/embed-page-purify-QTVE4GEG.js +0 -8
- package/dist/embed/embed-page-python-NO3SIOCK.js +0 -1
- package/dist/embed/embed-page-python-YAPGCWHR.js +0 -1
- package/dist/embed/embed-page-python-repl-EIGKWV4T.js +0 -1
- package/dist/embed/embed-page-q-5YCCZLRO.js +0 -1
- package/dist/embed/embed-page-q-FWJ5L5RH.js +0 -1
- package/dist/embed/embed-page-qml-PNZK27ST.js +0 -1
- package/dist/embed/embed-page-qml-YVZULPLY.js +0 -1
- package/dist/embed/embed-page-qore-QU7W2FQD.js +0 -1
- package/dist/embed/embed-page-qsharp-FNGNB3PK.js +0 -1
- package/dist/embed/embed-page-quadrantDiagram-AYHSOK5B-4BXTDPJ4.js +0 -7
- package/dist/embed/embed-page-r-52DQANKK.js +0 -1
- package/dist/embed/embed-page-r-B2QMYOFX.js +0 -1
- package/dist/embed/embed-page-racket-OA22GPFB.js +0 -1
- package/dist/embed/embed-page-radar-NHE76QYJ-A7QQXLRI.js +0 -1
- package/dist/embed/embed-page-reason-QQ4RYUQI.js +0 -1
- package/dist/embed/embed-page-reasonml-CQAWSREB.js +0 -1
- package/dist/embed/embed-page-regex-5JJLL4V6.js +0 -1
- package/dist/embed/embed-page-rego-OLGGN4OK.js +0 -1
- package/dist/embed/embed-page-renpy-72F6BTO6.js +0 -1
- package/dist/embed/embed-page-requirementDiagram-UZGBJVZJ-WA3XXOP7.js +0 -64
- package/dist/embed/embed-page-rescript-VYN4PAG7.js +0 -1
- package/dist/embed/embed-page-rest-YZNSQW6O.js +0 -1
- package/dist/embed/embed-page-rib-U4ELGIV2.js +0 -1
- package/dist/embed/embed-page-rip-ZA4CVYFN.js +0 -1
- package/dist/embed/embed-page-roboconf-5IGYRDNH.js +0 -1
- package/dist/embed/embed-page-roboconf-HKSGWVI6.js +0 -1
- package/dist/embed/embed-page-robotframework-ARNA4YNR.js +0 -1
- package/dist/embed/embed-page-routeros-DKQKHPKR.js +0 -1
- package/dist/embed/embed-page-rsl-WZYNFUWJ.js +0 -1
- package/dist/embed/embed-page-ruby-DLLZKK7A.js +0 -1
- package/dist/embed/embed-page-ruby-TKJZO362.js +0 -1
- package/dist/embed/embed-page-ruleslanguage-7CSB4CWD.js +0 -1
- package/dist/embed/embed-page-rust-6JUJCSHC.js +0 -1
- package/dist/embed/embed-page-rust-ZZUD5RKM.js +0 -1
- package/dist/embed/embed-page-sankeyDiagram-TZEHDZUN-SAVUI2Q4.js +0 -10
- package/dist/embed/embed-page-sas-6H3LYHVP.js +0 -1
- package/dist/embed/embed-page-sas-EUBD2V4Z.js +0 -1
- package/dist/embed/embed-page-sass-U6G7R7AZ.js +0 -1
- package/dist/embed/embed-page-scala-HFYNBK2U.js +0 -1
- package/dist/embed/embed-page-scala-OJM3677P.js +0 -1
- package/dist/embed/embed-page-scheme-KBT7Z3ND.js +0 -1
- package/dist/embed/embed-page-scheme-QQ2VPTFQ.js +0 -1
- package/dist/embed/embed-page-scilab-LA3HLVKQ.js +0 -1
- package/dist/embed/embed-page-scss-FDEUPWYR.js +0 -1
- package/dist/embed/embed-page-scss-IH2AODYU.js +0 -1
- package/dist/embed/embed-page-sequenceDiagram-WL72ISMW-C2QRTOTL.js +0 -145
- package/dist/embed/embed-page-shell-O7OU7Y7F.js +0 -1
- package/dist/embed/embed-page-shell-session-CPCKA76Q.js +0 -1
- package/dist/embed/embed-page-smali-3HHDEBNE.js +0 -1
- package/dist/embed/embed-page-smali-L7H7BQUY.js +0 -1
- package/dist/embed/embed-page-smalltalk-KQLA6XRI.js +0 -1
- package/dist/embed/embed-page-smalltalk-WMM37MR4.js +0 -1
- package/dist/embed/embed-page-smarty-AF5LZRHA.js +0 -1
- package/dist/embed/embed-page-sml-4ARWLXZU.js +0 -1
- package/dist/embed/embed-page-sml-6BNN3PMR.js +0 -1
- package/dist/embed/embed-page-solidity-5WL56MR7.js +0 -1
- package/dist/embed/embed-page-solution-file-FJJU2R2L.js +0 -1
- package/dist/embed/embed-page-soy-54PPSPCO.js +0 -1
- package/dist/embed/embed-page-sparql-AC7LG2EE.js +0 -1
- package/dist/embed/embed-page-splunk-spl-YBP24JOS.js +0 -1
- package/dist/embed/embed-page-sqf-4E5P576B.js +0 -1
- package/dist/embed/embed-page-sqf-CSHANDQB.js +0 -1
- package/dist/embed/embed-page-sql-MGWNK6FE.js +0 -1
- package/dist/embed/embed-page-sql-ZOJORZUC.js +0 -1
- package/dist/embed/embed-page-sql_more-NACOUKSZ.js +0 -1
- package/dist/embed/embed-page-squirrel-XG35KUR2.js +0 -1
- package/dist/embed/embed-page-stan-GDB32LYB.js +0 -1
- package/dist/embed/embed-page-stan-UJ7WCNJT.js +0 -1
- package/dist/embed/embed-page-stata-DEQ57OIC.js +0 -1
- package/dist/embed/embed-page-stata-WJUFDMUW.js +0 -1
- package/dist/embed/embed-page-stateDiagram-FKZM4ZOC-6LDVHEHS.js +0 -1
- package/dist/embed/embed-page-stateDiagram-v2-4FDKWEC3-UJYGEYF5.js +0 -1
- package/dist/embed/embed-page-step21-6AYDKM5N.js +0 -1
- package/dist/embed/embed-page-stylus-CFL6FZN3.js +0 -1
- package/dist/embed/embed-page-stylus-MLEF22IY.js +0 -1
- package/dist/embed/embed-page-subunit-OZQ2HNNA.js +0 -1
- package/dist/embed/embed-page-supercollider-ZK2ECEDQ.js +0 -1
- package/dist/embed/embed-page-swift-MNLMKF5F.js +0 -1
- package/dist/embed/embed-page-swift-UJP2CPA4.js +0 -1
- package/dist/embed/embed-page-systemd-DQXTIGWD.js +0 -1
- package/dist/embed/embed-page-t4-cs-ZPHNHWPR.js +0 -1
- package/dist/embed/embed-page-t4-templating-OA7FNPXM.js +0 -1
- package/dist/embed/embed-page-t4-vb-XBX2HBI5.js +0 -1
- package/dist/embed/embed-page-taggerscript-XVALJYA3.js +0 -1
- package/dist/embed/embed-page-tap-EMOHKH5F.js +0 -1
- package/dist/embed/embed-page-tap-HZHER7FY.js +0 -1
- package/dist/embed/embed-page-tcl-GN4WSRHR.js +0 -1
- package/dist/embed/embed-page-tcl-T3WWKS3Q.js +0 -1
- package/dist/embed/embed-page-textile-OXFYF2DV.js +0 -1
- package/dist/embed/embed-page-thrift-Q26IKVBC.js +0 -1
- package/dist/embed/embed-page-timeline-definition-IT6M3QCI-OF6FTGVN.js +0 -61
- package/dist/embed/embed-page-toml-ZVNI7WJB.js +0 -1
- package/dist/embed/embed-page-tp-24NWOAQZ.js +0 -1
- package/dist/embed/embed-page-treemap-KMMF4GRG-HPTV3SYE.js +0 -1
- package/dist/embed/embed-page-tremor-443PBNWC.js +0 -1
- package/dist/embed/embed-page-tsx-PX2Z4GDU.js +0 -1
- package/dist/embed/embed-page-tt2-L43LNTGL.js +0 -1
- package/dist/embed/embed-page-turtle-IXYYTHLU.js +0 -1
- package/dist/embed/embed-page-twig-MZBQAWRC.js +0 -1
- package/dist/embed/embed-page-twig-WSAAZNH3.js +0 -1
- package/dist/embed/embed-page-typescript-5UWO3Y3K.js +0 -1
- package/dist/embed/embed-page-typescript-BPIRCQG7.js +0 -1
- package/dist/embed/embed-page-typoscript-UUKPTXPH.js +0 -1
- package/dist/embed/embed-page-unrealscript-G2VHZRFN.js +0 -1
- package/dist/embed/embed-page-uorazor-WYGVL7PT.js +0 -1
- package/dist/embed/embed-page-uri-NRWWZBB7.js +0 -1
- package/dist/embed/embed-page-v-LKVTPKDV.js +0 -1
- package/dist/embed/embed-page-vala-EL5BNKYD.js +0 -1
- package/dist/embed/embed-page-vala-MLIRE3PS.js +0 -1
- package/dist/embed/embed-page-vbnet-5JKSIZ56.js +0 -1
- package/dist/embed/embed-page-vbnet-KOGX2JTL.js +0 -1
- package/dist/embed/embed-page-vbscript-637T6GXI.js +0 -1
- package/dist/embed/embed-page-vbscript-html-YKWMMXG4.js +0 -1
- package/dist/embed/embed-page-velocity-7Q63BBW2.js +0 -1
- package/dist/embed/embed-page-verilog-B6EWQWMJ.js +0 -1
- package/dist/embed/embed-page-verilog-G566LGG4.js +0 -1
- package/dist/embed/embed-page-vhdl-R5JIOJNH.js +0 -1
- package/dist/embed/embed-page-vhdl-RMOYZXLG.js +0 -1
- package/dist/embed/embed-page-vim-47Q56RS4.js +0 -1
- package/dist/embed/embed-page-vim-KBCAYMER.js +0 -1
- package/dist/embed/embed-page-visual-basic-ZYE5FD6G.js +0 -1
- package/dist/embed/embed-page-warpscript-65UOMFFU.js +0 -1
- package/dist/embed/embed-page-wasm-MSBGNWUM.js +0 -1
- package/dist/embed/embed-page-web-idl-7WW5RGOI.js +0 -1
- package/dist/embed/embed-page-wgsl-FG3PI6M7.js +0 -1
- package/dist/embed/embed-page-wiki-DGVS4GPN.js +0 -1
- package/dist/embed/embed-page-wolfram-MOURXWVE.js +0 -1
- package/dist/embed/embed-page-wren-PYL5ZRVR.js +0 -1
- package/dist/embed/embed-page-x86asm-WQ6M3VHZ.js +0 -1
- package/dist/embed/embed-page-xeora-JSPZIDKL.js +0 -1
- package/dist/embed/embed-page-xl-DTY4E7YS.js +0 -1
- package/dist/embed/embed-page-xml-P5QA5BKM.js +0 -1
- package/dist/embed/embed-page-xml-doc-VAJOIYSW.js +0 -1
- package/dist/embed/embed-page-xojo-L2PDU7MC.js +0 -1
- package/dist/embed/embed-page-xquery-EWBQ7NVP.js +0 -1
- package/dist/embed/embed-page-xquery-RUKMMBO2.js +0 -1
- package/dist/embed/embed-page-xychartDiagram-PRI3JC2R-EWLR5Z3I.js +0 -7
- package/dist/embed/embed-page-yaml-76KRB6BP.js +0 -1
- package/dist/embed/embed-page-yaml-RR5MLWRK.js +0 -1
- package/dist/embed/embed-page-yang-J62Y5RPD.js +0 -1
- package/dist/embed/embed-page-zephir-OIOOQGNI.js +0 -1
- package/dist/embed/embed-page-zig-75SL5ZWR.js +0 -1
- package/dist/open-UVKMONVE.mjs +0 -346
- package/dist/open-exposure-27ESFWTB.mjs +0 -97
- package/dist/open-files-X3HXVEEM.mjs +0 -146
- package/dist/sandboxProvider-DUYWHYJN.mjs +0 -10
- /package/dist/{chunk-NPHK4SZ6.mjs.map → chunk-FGSFOXIX.mjs.map} +0 -0
- /package/dist/{open-UVKMONVE.mjs.map → open-FJ3BY3CL.mjs.map} +0 -0
- /package/dist/{open-exposure-27ESFWTB.mjs.map → open-exposure-OX5NKWDG.mjs.map} +0 -0
- /package/dist/{open-files-X3HXVEEM.mjs.map → open-files-V3R2BFTV.mjs.map} +0 -0
- /package/dist/{sandboxProvider-DUYWHYJN.mjs.map → sandboxProvider-FILMFVIM.mjs.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -573,12 +573,13 @@ async function invokePluginTool(deps, tenantId, pluginType, name, args, runConte
|
|
|
573
573
|
maxResultBytes: tool.maxResultBytes
|
|
574
574
|
});
|
|
575
575
|
if (!result.ok) throw new Error(result.error ?? "sandbox plugin execution failed");
|
|
576
|
-
return result.result;
|
|
576
|
+
return result.result === void 0 ? (0, import_core35.handlerResultText)(result) : result.result;
|
|
577
577
|
}
|
|
578
|
-
var PluginToolScopeError;
|
|
578
|
+
var import_core35, PluginToolScopeError;
|
|
579
579
|
var init_pluginToolExecution = __esm({
|
|
580
580
|
"src/services/plugins/pluginToolExecution.ts"() {
|
|
581
581
|
"use strict";
|
|
582
|
+
import_core35 = require("@axiom-lattice/core");
|
|
582
583
|
PluginToolScopeError = class extends Error {
|
|
583
584
|
/**
|
|
584
585
|
* @param name - Rejected tool name.
|
|
@@ -1144,8 +1145,8 @@ async function refreshStoreKeyMap() {
|
|
|
1144
1145
|
function broadcastA2AKeyChanged(tenantId) {
|
|
1145
1146
|
if (!tenantId) return;
|
|
1146
1147
|
try {
|
|
1147
|
-
const outbox = (0,
|
|
1148
|
-
void publishA2AKeyChanged(outbox, (0,
|
|
1148
|
+
const outbox = (0, import_core58.getStoreLattice)("default", "outbox").store;
|
|
1149
|
+
void publishA2AKeyChanged(outbox, (0, import_core58.getReplicaId)(), tenantId);
|
|
1149
1150
|
} catch {
|
|
1150
1151
|
}
|
|
1151
1152
|
}
|
|
@@ -1321,11 +1322,11 @@ function registerA2ARoutes(app2) {
|
|
|
1321
1322
|
);
|
|
1322
1323
|
}
|
|
1323
1324
|
}
|
|
1324
|
-
var
|
|
1325
|
+
var import_core58, _a2aKeyStore, _a2aAuthService;
|
|
1325
1326
|
var init_a2a = __esm({
|
|
1326
1327
|
"src/routes/a2a.ts"() {
|
|
1327
1328
|
"use strict";
|
|
1328
|
-
|
|
1329
|
+
import_core58 = require("@axiom-lattice/core");
|
|
1329
1330
|
init_A2AAuthService();
|
|
1330
1331
|
init_a2aKeySync();
|
|
1331
1332
|
_a2aKeyStore = null;
|
|
@@ -1372,7 +1373,7 @@ function outcome(task) {
|
|
|
1372
1373
|
});
|
|
1373
1374
|
}
|
|
1374
1375
|
async function backfillTopCallerGroup(tasks, top, deps) {
|
|
1375
|
-
const registry = deps.registry ??
|
|
1376
|
+
const registry = deps.registry ?? import_core76.taskRunRegistry;
|
|
1376
1377
|
const results = [];
|
|
1377
1378
|
const eligible = [];
|
|
1378
1379
|
for (const task of tasks) {
|
|
@@ -1426,11 +1427,11 @@ async function recoverTask(task, deps) {
|
|
|
1426
1427
|
if (task.status !== "in_progress") {
|
|
1427
1428
|
return { kind: "skipped", reason: "not_in_progress" };
|
|
1428
1429
|
}
|
|
1429
|
-
const registry = deps.registry ??
|
|
1430
|
+
const registry = deps.registry ?? import_core76.taskRunRegistry;
|
|
1430
1431
|
if (registry.isLive(task.id) || deps.isTaskLive && await deps.isTaskLive(task)) {
|
|
1431
1432
|
return { kind: "skipped", reason: "live" };
|
|
1432
1433
|
}
|
|
1433
|
-
const { convergedTasks } = await (0,
|
|
1434
|
+
const { convergedTasks } = await (0, import_core76.reconcileStaleTaskRuns)({
|
|
1434
1435
|
tasks: [task],
|
|
1435
1436
|
actor: "system:on-demand-recovery",
|
|
1436
1437
|
lifecycle: deps.lifecycle,
|
|
@@ -1526,29 +1527,29 @@ async function runOrphanRecovery(deps) {
|
|
|
1526
1527
|
deps.log.info("Task orphan recovery complete", { recovered, skipped });
|
|
1527
1528
|
return { recovered, skipped };
|
|
1528
1529
|
}
|
|
1529
|
-
var import_messages,
|
|
1530
|
+
var import_messages, import_core76;
|
|
1530
1531
|
var init_TopCallerRecovery = __esm({
|
|
1531
1532
|
"src/services/collaboration/TopCallerRecovery.ts"() {
|
|
1532
1533
|
"use strict";
|
|
1533
1534
|
import_messages = require("@langchain/core/messages");
|
|
1534
|
-
|
|
1535
|
+
import_core76 = require("@axiom-lattice/core");
|
|
1535
1536
|
}
|
|
1536
1537
|
});
|
|
1537
1538
|
|
|
1538
1539
|
// src/services/collaboration/taskRunLiveness.ts
|
|
1539
1540
|
function createTaskRunLiveness() {
|
|
1540
1541
|
try {
|
|
1541
|
-
|
|
1542
|
+
import_core77.storeLatticeManager.getStoreLattice("default", "lease");
|
|
1542
1543
|
} catch {
|
|
1543
1544
|
return void 0;
|
|
1544
1545
|
}
|
|
1545
1546
|
return async (task) => {
|
|
1546
1547
|
try {
|
|
1547
|
-
const store2 =
|
|
1548
|
-
if (await store2.get((0,
|
|
1548
|
+
const store2 = import_core77.storeLatticeManager.getStoreLattice("default", "lease").store;
|
|
1549
|
+
if (await store2.get((0, import_core77.taskRunLeaseKey)(task.id))) return true;
|
|
1549
1550
|
const threadId = typeof task.context?.thread_id === "string" ? task.context.thread_id : void 0;
|
|
1550
1551
|
if (threadId && task.ownerId) {
|
|
1551
|
-
if (await store2.get((0,
|
|
1552
|
+
if (await store2.get((0, import_core77.threadRunLeaseKey)(task.tenantId, task.ownerId, threadId))) return true;
|
|
1552
1553
|
}
|
|
1553
1554
|
return false;
|
|
1554
1555
|
} catch {
|
|
@@ -1556,11 +1557,11 @@ function createTaskRunLiveness() {
|
|
|
1556
1557
|
}
|
|
1557
1558
|
};
|
|
1558
1559
|
}
|
|
1559
|
-
var
|
|
1560
|
+
var import_core77;
|
|
1560
1561
|
var init_taskRunLiveness = __esm({
|
|
1561
1562
|
"src/services/collaboration/taskRunLiveness.ts"() {
|
|
1562
1563
|
"use strict";
|
|
1563
|
-
|
|
1564
|
+
import_core77 = require("@axiom-lattice/core");
|
|
1564
1565
|
}
|
|
1565
1566
|
});
|
|
1566
1567
|
|
|
@@ -1570,7 +1571,7 @@ __export(OrphanRecoveryRuntime_exports, {
|
|
|
1570
1571
|
createOrphanRecoveryRuntime: () => createOrphanRecoveryRuntime
|
|
1571
1572
|
});
|
|
1572
1573
|
function createOrphanRecoveryRuntime(deps) {
|
|
1573
|
-
const lifecycle = deps.lifecycle ?? (0,
|
|
1574
|
+
const lifecycle = deps.lifecycle ?? (0, import_core78.createTaskLifecycleService)({
|
|
1574
1575
|
taskStore: deps.taskStore,
|
|
1575
1576
|
workItemStore: deps.workItemStore
|
|
1576
1577
|
});
|
|
@@ -1578,7 +1579,7 @@ function createOrphanRecoveryRuntime(deps) {
|
|
|
1578
1579
|
async recoverAll() {
|
|
1579
1580
|
const isTaskLive = deps.isTaskLive ?? createTaskRunLiveness();
|
|
1580
1581
|
return runOrphanRecovery({
|
|
1581
|
-
reconcile: () => (0,
|
|
1582
|
+
reconcile: () => (0, import_core78.reconcileAllTenantTaskRuns)({
|
|
1582
1583
|
actor: "system:orphan-recovery",
|
|
1583
1584
|
tenantStore: {
|
|
1584
1585
|
listTenants: async () => (await deps.tenantStore.getAllTenants()).map((tenant2) => ({ id: tenant2.id }))
|
|
@@ -1604,7 +1605,7 @@ function createOrphanRecoveryRuntime(deps) {
|
|
|
1604
1605
|
const isTaskLive = deps.isTaskLive ?? createTaskRunLiveness();
|
|
1605
1606
|
return recoverTask(task, {
|
|
1606
1607
|
lifecycle,
|
|
1607
|
-
registry:
|
|
1608
|
+
registry: import_core78.taskRunRegistry,
|
|
1608
1609
|
orphans,
|
|
1609
1610
|
callerFor: deps.callerFor,
|
|
1610
1611
|
resume: deps.resume,
|
|
@@ -1613,11 +1614,11 @@ function createOrphanRecoveryRuntime(deps) {
|
|
|
1613
1614
|
}
|
|
1614
1615
|
};
|
|
1615
1616
|
}
|
|
1616
|
-
var
|
|
1617
|
+
var import_core78;
|
|
1617
1618
|
var init_OrphanRecoveryRuntime = __esm({
|
|
1618
1619
|
"src/services/collaboration/OrphanRecoveryRuntime.ts"() {
|
|
1619
1620
|
"use strict";
|
|
1620
|
-
|
|
1621
|
+
import_core78 = require("@axiom-lattice/core");
|
|
1621
1622
|
init_TopCallerRecovery();
|
|
1622
1623
|
init_projectTaskScope();
|
|
1623
1624
|
init_taskRunLiveness();
|
|
@@ -1633,12 +1634,12 @@ function createRecoveryCallerDeps() {
|
|
|
1633
1634
|
return {
|
|
1634
1635
|
callerFor: async (top, tenantId) => {
|
|
1635
1636
|
if (!top.assistantId) return void 0;
|
|
1636
|
-
const load =
|
|
1637
|
+
const load = import_core79.getAgentClientAsync ?? import_core79.getAgentClient;
|
|
1637
1638
|
const client = await load(tenantId, top.assistantId);
|
|
1638
1639
|
const config = { configurable: { thread_id: top.threadId, runConfig: { tenantId, assistant_id: top.assistantId } } };
|
|
1639
1640
|
let agent;
|
|
1640
1641
|
try {
|
|
1641
|
-
agent =
|
|
1642
|
+
agent = import_core79.agentInstanceManager.getAgent({ assistant_id: top.assistantId, thread_id: top.threadId, tenant_id: tenantId });
|
|
1642
1643
|
} catch {
|
|
1643
1644
|
}
|
|
1644
1645
|
return agent ? { client, config, agent } : { client, config };
|
|
@@ -1655,11 +1656,11 @@ function createRecoveryCallerDeps() {
|
|
|
1655
1656
|
}
|
|
1656
1657
|
};
|
|
1657
1658
|
}
|
|
1658
|
-
var
|
|
1659
|
+
var import_core79;
|
|
1659
1660
|
var init_RecoveryCallerDeps = __esm({
|
|
1660
1661
|
"src/services/collaboration/RecoveryCallerDeps.ts"() {
|
|
1661
1662
|
"use strict";
|
|
1662
|
-
|
|
1663
|
+
import_core79 = require("@axiom-lattice/core");
|
|
1663
1664
|
}
|
|
1664
1665
|
});
|
|
1665
1666
|
|
|
@@ -2078,13 +2079,13 @@ function isA2ATaskSnapshot(value) {
|
|
|
2078
2079
|
function snapshotSequence(value) {
|
|
2079
2080
|
return typeof value === "number" && Number.isSafeInteger(value) && value >= 0 ? value : void 0;
|
|
2080
2081
|
}
|
|
2081
|
-
var import_node_crypto30, import_node_util,
|
|
2082
|
+
var import_node_crypto30, import_node_util, import_core80, TASK_STATUS_TO_A2A_STATE, TITLE_MAX_LENGTH, A2ATaskScopeConflictError, A2ATaskStoreAdapter;
|
|
2082
2083
|
var init_A2ATaskStoreAdapter = __esm({
|
|
2083
2084
|
"src/services/a2a/A2ATaskStoreAdapter.ts"() {
|
|
2084
2085
|
"use strict";
|
|
2085
2086
|
import_node_crypto30 = require("crypto");
|
|
2086
2087
|
import_node_util = require("util");
|
|
2087
|
-
|
|
2088
|
+
import_core80 = require("@axiom-lattice/core");
|
|
2088
2089
|
TASK_STATUS_TO_A2A_STATE = {
|
|
2089
2090
|
pending: "submitted",
|
|
2090
2091
|
in_progress: "working",
|
|
@@ -2110,7 +2111,7 @@ var init_A2ATaskStoreAdapter = __esm({
|
|
|
2110
2111
|
this.workItemStore = options.workItemStore;
|
|
2111
2112
|
this.lifecycle = options.lifecycle;
|
|
2112
2113
|
this.scope = options.scope;
|
|
2113
|
-
this.runBridge = (0,
|
|
2114
|
+
this.runBridge = (0, import_core80.createTaskRunBridge)({
|
|
2114
2115
|
lifecycle: this.lifecycle,
|
|
2115
2116
|
taskStore: this.taskStore,
|
|
2116
2117
|
workItemStore: this.workItemStore
|
|
@@ -2461,12 +2462,12 @@ function assistantHasGovernedTask(assistant) {
|
|
|
2461
2462
|
const allowedTools = taskMiddleware?.allowedTools;
|
|
2462
2463
|
return !!taskMiddleware && (allowedTools === void 0 || Array.isArray(allowedTools) && (allowedTools.length === 0 || allowedTools.includes("manage_task")));
|
|
2463
2464
|
}
|
|
2464
|
-
var import_uuid11,
|
|
2465
|
+
var import_uuid11, import_core81, import_protocols35, _AxiomAgentExecutor, AxiomAgentExecutor;
|
|
2465
2466
|
var init_AxiomAgentExecutor = __esm({
|
|
2466
2467
|
"src/services/a2a/AxiomAgentExecutor.ts"() {
|
|
2467
2468
|
"use strict";
|
|
2468
2469
|
import_uuid11 = require("uuid");
|
|
2469
|
-
|
|
2470
|
+
import_core81 = require("@axiom-lattice/core");
|
|
2470
2471
|
import_protocols35 = require("@axiom-lattice/protocols");
|
|
2471
2472
|
init_a2aFileRefs();
|
|
2472
2473
|
init_task_file_refs();
|
|
@@ -2563,7 +2564,7 @@ var init_AxiomAgentExecutor = __esm({
|
|
|
2563
2564
|
await this.taskStore.save(initialTask);
|
|
2564
2565
|
bus.publish(initialTask);
|
|
2565
2566
|
try {
|
|
2566
|
-
const agent =
|
|
2567
|
+
const agent = import_core81.agentInstanceManager.getAgent(this.agentParams(threadId));
|
|
2567
2568
|
const requestText = inputFiles.length > 0 ? `${text}
|
|
2568
2569
|
|
|
2569
2570
|
${formatFileRefsSection(inputFiles)}` : text;
|
|
@@ -2751,7 +2752,7 @@ ${formatFileRefsSection(inputFiles)}` : text;
|
|
|
2751
2752
|
const threadId = task ? asString2(task.metadata?.threadId) : void 0;
|
|
2752
2753
|
if (threadId) {
|
|
2753
2754
|
try {
|
|
2754
|
-
const agent =
|
|
2755
|
+
const agent = import_core81.agentInstanceManager.getAgent(this.agentParams(threadId));
|
|
2755
2756
|
await agent.abort();
|
|
2756
2757
|
} catch (err) {
|
|
2757
2758
|
console.warn({
|
|
@@ -3125,10 +3126,10 @@ function isAsyncGenerator(value) {
|
|
|
3125
3126
|
}
|
|
3126
3127
|
function registerA2AStandardRoutes(app2, deps) {
|
|
3127
3128
|
const authService = deps.authService;
|
|
3128
|
-
const resolveTasks = deps.getTaskStoreLattice ?? (() => (0,
|
|
3129
|
-
const resolveTaskWorkItems = deps.getTaskWorkItemStore ?? (() => (0,
|
|
3130
|
-
const getAssistantStore2 = deps.getAssistantStore ?? (() => (0,
|
|
3131
|
-
const getProjectStore2 = deps.getProjectStore ?? (() => (0,
|
|
3129
|
+
const resolveTasks = deps.getTaskStoreLattice ?? (() => (0, import_core82.getStoreLattice)("default", "task").store);
|
|
3130
|
+
const resolveTaskWorkItems = deps.getTaskWorkItemStore ?? (() => (0, import_core82.getStoreLattice)("default", "taskWorkItem").store);
|
|
3131
|
+
const getAssistantStore2 = deps.getAssistantStore ?? (() => (0, import_core82.getStoreLattice)("default", "assistant").store);
|
|
3132
|
+
const getProjectStore2 = deps.getProjectStore ?? (() => (0, import_core82.getStoreLattice)("default", "project").store);
|
|
3132
3133
|
const runtimeRegistry = deps.runtimeRegistry ?? new A2ARuntimeRegistry();
|
|
3133
3134
|
app2.addHook("onClose", async () => {
|
|
3134
3135
|
runtimeRegistry.close();
|
|
@@ -3211,7 +3212,7 @@ function registerA2AStandardRoutes(app2, deps) {
|
|
|
3211
3212
|
const taskStore = assistantHasGovernedTask(assistant) ? new A2ATaskStoreAdapter({
|
|
3212
3213
|
taskStore: internalTasks,
|
|
3213
3214
|
workItemStore: workItems,
|
|
3214
|
-
lifecycle: (0,
|
|
3215
|
+
lifecycle: (0, import_core82.createTaskLifecycleService)({
|
|
3215
3216
|
taskStore: internalTasks,
|
|
3216
3217
|
workItemStore: workItems
|
|
3217
3218
|
}),
|
|
@@ -3330,7 +3331,7 @@ data: ${JSON.stringify(errorResponse)}
|
|
|
3330
3331
|
const taskStore = assistantHasGovernedTask(assistant) ? new A2ATaskStoreAdapter({
|
|
3331
3332
|
taskStore: internalTasks,
|
|
3332
3333
|
workItemStore: workItems,
|
|
3333
|
-
lifecycle: (0,
|
|
3334
|
+
lifecycle: (0, import_core82.createTaskLifecycleService)({
|
|
3334
3335
|
taskStore: internalTasks,
|
|
3335
3336
|
workItemStore: workItems
|
|
3336
3337
|
}),
|
|
@@ -3385,13 +3386,13 @@ data: ${JSON.stringify(data)}
|
|
|
3385
3386
|
}
|
|
3386
3387
|
);
|
|
3387
3388
|
}
|
|
3388
|
-
var import_uuid12, import_server2,
|
|
3389
|
+
var import_uuid12, import_server2, import_core82, SSE_HEADERS;
|
|
3389
3390
|
var init_a2a_standard = __esm({
|
|
3390
3391
|
"src/routes/a2a-standard.ts"() {
|
|
3391
3392
|
"use strict";
|
|
3392
3393
|
import_uuid12 = require("uuid");
|
|
3393
3394
|
import_server2 = require("@a2a-js/sdk/server");
|
|
3394
|
-
|
|
3395
|
+
import_core82 = require("@axiom-lattice/core");
|
|
3395
3396
|
init_A2AAuthService();
|
|
3396
3397
|
init_A2AAgentCardBuilder();
|
|
3397
3398
|
init_A2ATaskStoreAdapter();
|
|
@@ -3954,8 +3955,8 @@ function exposedDeclarations(plugin) {
|
|
|
3954
3955
|
return (plugin.meta.tools ?? []).filter((t2) => t2.expose);
|
|
3955
3956
|
}
|
|
3956
3957
|
async function registerExposedPluginTools() {
|
|
3957
|
-
for (const key of
|
|
3958
|
-
const plugin =
|
|
3958
|
+
for (const key of import_core83.PluginRegistry.list()) {
|
|
3959
|
+
const plugin = import_core83.PluginRegistry.get(key);
|
|
3959
3960
|
if (!plugin?.middleware) continue;
|
|
3960
3961
|
const exposed = exposedDeclarations(plugin);
|
|
3961
3962
|
if (exposed.length === 0) continue;
|
|
@@ -3990,8 +3991,8 @@ async function registerExposedPluginTools() {
|
|
|
3990
3991
|
}
|
|
3991
3992
|
function collectExposedPluginUiResources(grants) {
|
|
3992
3993
|
const resources = /* @__PURE__ */ new Map();
|
|
3993
|
-
for (const type of
|
|
3994
|
-
const plugin =
|
|
3994
|
+
for (const type of import_core83.PluginRegistry.list()) {
|
|
3995
|
+
const plugin = import_core83.PluginRegistry.get(type);
|
|
3995
3996
|
if (!plugin?.middleware) continue;
|
|
3996
3997
|
const exposedNames = new Set(exposedDeclarations(plugin).map((d) => d.name));
|
|
3997
3998
|
if (exposedNames.size === 0) continue;
|
|
@@ -4015,11 +4016,11 @@ function collectExposedPluginUiResources(grants) {
|
|
|
4015
4016
|
}
|
|
4016
4017
|
return resources;
|
|
4017
4018
|
}
|
|
4018
|
-
var
|
|
4019
|
+
var import_core83;
|
|
4019
4020
|
var init_registerExposedPlugins = __esm({
|
|
4020
4021
|
"src/services/open/registerExposedPlugins.ts"() {
|
|
4021
4022
|
"use strict";
|
|
4022
|
-
|
|
4023
|
+
import_core83 = require("@axiom-lattice/core");
|
|
4023
4024
|
init_openLattice();
|
|
4024
4025
|
init_pluginExposeAdapter();
|
|
4025
4026
|
}
|
|
@@ -4034,14 +4035,14 @@ function toText(result) {
|
|
|
4034
4035
|
}
|
|
4035
4036
|
function defaultCatalog() {
|
|
4036
4037
|
return {
|
|
4037
|
-
getValidatedManifest: (tenantId, type) => (0,
|
|
4038
|
-
getExecutor: () => (0,
|
|
4039
|
-
readPluginFile: (tenantId, type, relPath) => (0,
|
|
4038
|
+
getValidatedManifest: (tenantId, type) => (0, import_core84.getSandboxPluginCatalog)().getValidatedManifest(tenantId, type),
|
|
4039
|
+
getExecutor: () => (0, import_core84.getSandboxPluginCatalog)().getExecutor(),
|
|
4040
|
+
readPluginFile: (tenantId, type, relPath) => (0, import_core84.getSandboxPluginCatalog)().readPluginFile(tenantId, type, relPath)
|
|
4040
4041
|
};
|
|
4041
4042
|
}
|
|
4042
4043
|
async function defaultResolveConnections(pluginType, ctx) {
|
|
4043
4044
|
try {
|
|
4044
|
-
return await (0,
|
|
4045
|
+
return await (0, import_core84.resolveSandboxPluginConnections)(
|
|
4045
4046
|
pluginType,
|
|
4046
4047
|
{ connectAll: true },
|
|
4047
4048
|
{
|
|
@@ -4070,7 +4071,7 @@ function mergeOpenCatalog(globalCatalog, tenantTools) {
|
|
|
4070
4071
|
async function buildTenantOpenPlugins(tenantId, grants, deps = {}) {
|
|
4071
4072
|
const catalog = deps.catalog ?? defaultCatalog();
|
|
4072
4073
|
const listPlugins = deps.listPlugins ?? (async (tenant2) => {
|
|
4073
|
-
const snapshot = await (0,
|
|
4074
|
+
const snapshot = await (0, import_core84.getSandboxPluginCatalog)().ensureLoaded(tenant2);
|
|
4074
4075
|
return { plugins: snapshot.plugins, diagnostics: snapshot.diagnostics };
|
|
4075
4076
|
});
|
|
4076
4077
|
const resolveConnections = deps.resolveConnections ?? defaultResolveConnections;
|
|
@@ -4112,7 +4113,7 @@ async function buildTenantOpenPlugins(tenantId, grants, deps = {}) {
|
|
|
4112
4113
|
domain,
|
|
4113
4114
|
action: tool.name,
|
|
4114
4115
|
description: tool.description,
|
|
4115
|
-
schema: (0,
|
|
4116
|
+
schema: (0, import_core84.jsonSchemaToZod)(tool.schema),
|
|
4116
4117
|
annotations: {
|
|
4117
4118
|
readOnlyHint: tool.readOnly ?? false,
|
|
4118
4119
|
destructiveHint: tool.destructive ?? false
|
|
@@ -4163,11 +4164,11 @@ async function buildTenantOpenPlugins(tenantId, grants, deps = {}) {
|
|
|
4163
4164
|
}
|
|
4164
4165
|
};
|
|
4165
4166
|
}
|
|
4166
|
-
var
|
|
4167
|
+
var import_core84;
|
|
4167
4168
|
var init_tenantOpenPlugins = __esm({
|
|
4168
4169
|
"src/services/open/tenantOpenPlugins.ts"() {
|
|
4169
4170
|
"use strict";
|
|
4170
|
-
|
|
4171
|
+
import_core84 = require("@axiom-lattice/core");
|
|
4171
4172
|
init_openLattice();
|
|
4172
4173
|
init_pluginToolExecution();
|
|
4173
4174
|
}
|
|
@@ -4204,13 +4205,13 @@ function emptyTenantPlugins() {
|
|
|
4204
4205
|
}
|
|
4205
4206
|
function registerOpenRoutes(app2, deps = {}) {
|
|
4206
4207
|
const openAuth = deps.openAuth ?? new OpenCredentialService(
|
|
4207
|
-
(0,
|
|
4208
|
-
(0,
|
|
4208
|
+
(0, import_core85.getStoreLattice)("default", "a2aApiKey").store,
|
|
4209
|
+
(0, import_core85.getStoreLattice)("default", "project").store
|
|
4209
4210
|
);
|
|
4210
4211
|
const grantsSource = deps.grantsSource ?? ((ctx) => ctx.grants);
|
|
4211
4212
|
const audit = deps.audit ?? (() => {
|
|
4212
4213
|
try {
|
|
4213
|
-
const store2 = (0,
|
|
4214
|
+
const store2 = (0, import_core85.getStoreLattice)("default", "openAudit").store;
|
|
4214
4215
|
return new OpenAuditService(store2);
|
|
4215
4216
|
} catch {
|
|
4216
4217
|
return void 0;
|
|
@@ -4365,12 +4366,12 @@ function registerOpenRoutes(app2, deps = {}) {
|
|
|
4365
4366
|
}
|
|
4366
4367
|
);
|
|
4367
4368
|
}
|
|
4368
|
-
var import_types,
|
|
4369
|
+
var import_types, import_core85, RPC_ERROR;
|
|
4369
4370
|
var init_open = __esm({
|
|
4370
4371
|
"src/routes/open.ts"() {
|
|
4371
4372
|
"use strict";
|
|
4372
4373
|
import_types = require("@modelcontextprotocol/sdk/types.js");
|
|
4373
|
-
|
|
4374
|
+
import_core85 = require("@axiom-lattice/core");
|
|
4374
4375
|
init_openCredentialService();
|
|
4375
4376
|
init_openAuditService();
|
|
4376
4377
|
init_openRateLimiter();
|
|
@@ -4403,7 +4404,7 @@ function registerOpenSessionRoutes(app2) {
|
|
|
4403
4404
|
if (typeof shareToken !== "string" || shareToken.length === 0) {
|
|
4404
4405
|
return reply.status(400).send({ error: "SHARE_TOKEN_REQUIRED" });
|
|
4405
4406
|
}
|
|
4406
|
-
const store2 = (0,
|
|
4407
|
+
const store2 = (0, import_core86.getStoreLattice)("default", "sharedResource").store;
|
|
4407
4408
|
const record = await store2.findByToken(shareToken);
|
|
4408
4409
|
if (!record || record.revoked) {
|
|
4409
4410
|
return reply.status(404).send({ error: "SHARE_NOT_FOUND" });
|
|
@@ -4428,11 +4429,11 @@ function registerOpenSessionRoutes(app2) {
|
|
|
4428
4429
|
}
|
|
4429
4430
|
);
|
|
4430
4431
|
}
|
|
4431
|
-
var
|
|
4432
|
+
var import_core86;
|
|
4432
4433
|
var init_open_session = __esm({
|
|
4433
4434
|
"src/routes/open-session.ts"() {
|
|
4434
4435
|
"use strict";
|
|
4435
|
-
|
|
4436
|
+
import_core86 = require("@axiom-lattice/core");
|
|
4436
4437
|
init_openToken();
|
|
4437
4438
|
init_previewToken();
|
|
4438
4439
|
init_openLattice();
|
|
@@ -4441,13 +4442,13 @@ var init_open_session = __esm({
|
|
|
4441
4442
|
|
|
4442
4443
|
// src/services/open/openCatalogService.ts
|
|
4443
4444
|
async function defaultListTenantPlugins(tenantId) {
|
|
4444
|
-
return (await (0,
|
|
4445
|
+
return (await (0, import_core87.getSandboxPluginCatalog)().ensureLoaded(tenantId)).plugins;
|
|
4445
4446
|
}
|
|
4446
|
-
var
|
|
4447
|
+
var import_core87, OpenCatalogService;
|
|
4447
4448
|
var init_openCatalogService = __esm({
|
|
4448
4449
|
"src/services/open/openCatalogService.ts"() {
|
|
4449
4450
|
"use strict";
|
|
4450
|
-
|
|
4451
|
+
import_core87 = require("@axiom-lattice/core");
|
|
4451
4452
|
init_openLattice();
|
|
4452
4453
|
OpenCatalogService = class {
|
|
4453
4454
|
constructor(assistantStore, lattice = openLattice, listTenantPlugins2 = defaultListTenantPlugins) {
|
|
@@ -4522,17 +4523,17 @@ function registerOpenCatalogRoutes(app2) {
|
|
|
4522
4523
|
if (!tenantId) {
|
|
4523
4524
|
return reply.status(401).send({ success: false, error: "Unauthorized" });
|
|
4524
4525
|
}
|
|
4525
|
-
const assistantStore = (0,
|
|
4526
|
+
const assistantStore = (0, import_core88.getStoreLattice)("default", "assistant").store;
|
|
4526
4527
|
const service2 = new OpenCatalogService(assistantStore);
|
|
4527
4528
|
const catalog = await service2.buildForTenant(tenantId);
|
|
4528
4529
|
return reply.status(200).send({ success: true, data: catalog });
|
|
4529
4530
|
});
|
|
4530
4531
|
}
|
|
4531
|
-
var
|
|
4532
|
+
var import_core88;
|
|
4532
4533
|
var init_open_catalog = __esm({
|
|
4533
4534
|
"src/routes/open-catalog.ts"() {
|
|
4534
4535
|
"use strict";
|
|
4535
|
-
|
|
4536
|
+
import_core88 = require("@axiom-lattice/core");
|
|
4536
4537
|
init_openCatalogService();
|
|
4537
4538
|
}
|
|
4538
4539
|
});
|
|
@@ -4547,11 +4548,11 @@ async function resolveContextSandbox(ctx) {
|
|
|
4547
4548
|
const sandboxName = ctx.runConfig?.sandboxName;
|
|
4548
4549
|
if (typeof sandboxName === "string" && sandboxName.length > 0) {
|
|
4549
4550
|
try {
|
|
4550
|
-
return await
|
|
4551
|
+
return await import_core89.sandboxLatticeManager.getSandbox(sandboxName);
|
|
4551
4552
|
} catch {
|
|
4552
4553
|
}
|
|
4553
4554
|
}
|
|
4554
|
-
return
|
|
4555
|
+
return import_core89.sandboxLatticeManager.getSandboxFromConfig({
|
|
4555
4556
|
assistant_id: "",
|
|
4556
4557
|
thread_id: "",
|
|
4557
4558
|
tenantId: ctx.tenantId,
|
|
@@ -4624,7 +4625,7 @@ function createOpenSandboxProvider() {
|
|
|
4624
4625
|
const result = await sandbox.shell.execCommand({
|
|
4625
4626
|
command,
|
|
4626
4627
|
exec_dir,
|
|
4627
|
-
|
|
4628
|
+
timeoutMs: timeout ?? 12e4
|
|
4628
4629
|
});
|
|
4629
4630
|
const truncated = result.output.length > MAX_OUTPUT_BYTES ? result.output.slice(0, MAX_OUTPUT_BYTES) + `
|
|
4630
4631
|
...[truncated ${result.output.length - MAX_OUTPUT_BYTES} bytes]` : result.output;
|
|
@@ -4649,12 +4650,12 @@ ${truncated}`
|
|
|
4649
4650
|
}
|
|
4650
4651
|
};
|
|
4651
4652
|
}
|
|
4652
|
-
var import_zod21,
|
|
4653
|
+
var import_zod21, import_core89, MAX_OUTPUT_BYTES;
|
|
4653
4654
|
var init_sandboxProvider = __esm({
|
|
4654
4655
|
"src/services/open/providers/sandboxProvider.ts"() {
|
|
4655
4656
|
"use strict";
|
|
4656
4657
|
import_zod21 = require("zod");
|
|
4657
|
-
|
|
4658
|
+
import_core89 = require("@axiom-lattice/core");
|
|
4658
4659
|
MAX_OUTPUT_BYTES = 64e3;
|
|
4659
4660
|
}
|
|
4660
4661
|
});
|
|
@@ -4676,12 +4677,12 @@ function safePath(raw) {
|
|
|
4676
4677
|
}
|
|
4677
4678
|
function registerOpenFilesRoutes(app2, deps = {}) {
|
|
4678
4679
|
const openAuth = deps.openAuth ?? new OpenCredentialService(
|
|
4679
|
-
(0,
|
|
4680
|
-
(0,
|
|
4680
|
+
(0, import_core90.getStoreLattice)("default", "a2aApiKey").store,
|
|
4681
|
+
(0, import_core90.getStoreLattice)("default", "project").store
|
|
4681
4682
|
);
|
|
4682
4683
|
const audit = deps.audit ?? (() => {
|
|
4683
4684
|
try {
|
|
4684
|
-
const store2 = (0,
|
|
4685
|
+
const store2 = (0, import_core90.getStoreLattice)("default", "openAudit").store;
|
|
4685
4686
|
return new OpenAuditService(store2);
|
|
4686
4687
|
} catch {
|
|
4687
4688
|
return void 0;
|
|
@@ -4791,11 +4792,11 @@ function registerOpenFilesRoutes(app2, deps = {}) {
|
|
|
4791
4792
|
}
|
|
4792
4793
|
});
|
|
4793
4794
|
}
|
|
4794
|
-
var
|
|
4795
|
+
var import_core90;
|
|
4795
4796
|
var init_open_files = __esm({
|
|
4796
4797
|
"src/routes/open-files.ts"() {
|
|
4797
4798
|
"use strict";
|
|
4798
|
-
|
|
4799
|
+
import_core90 = require("@axiom-lattice/core");
|
|
4799
4800
|
init_openCredentialService();
|
|
4800
4801
|
init_openLattice();
|
|
4801
4802
|
init_sandboxProvider();
|
|
@@ -4817,7 +4818,7 @@ function registerOpenAuditRoutes(app2) {
|
|
|
4817
4818
|
return reply.status(401).send({ success: false, error: "Unauthorized" });
|
|
4818
4819
|
}
|
|
4819
4820
|
const status = request.query.status === "ok" || request.query.status === "error" ? request.query.status : void 0;
|
|
4820
|
-
const store2 = (0,
|
|
4821
|
+
const store2 = (0, import_core91.getStoreLattice)("default", "openAudit").store;
|
|
4821
4822
|
const records = await store2.query({
|
|
4822
4823
|
tenantId,
|
|
4823
4824
|
credentialId: request.query.credentialId,
|
|
@@ -4832,11 +4833,11 @@ function registerOpenAuditRoutes(app2) {
|
|
|
4832
4833
|
}
|
|
4833
4834
|
);
|
|
4834
4835
|
}
|
|
4835
|
-
var
|
|
4836
|
+
var import_core91;
|
|
4836
4837
|
var init_open_audit = __esm({
|
|
4837
4838
|
"src/routes/open-audit.ts"() {
|
|
4838
4839
|
"use strict";
|
|
4839
|
-
|
|
4840
|
+
import_core91 = require("@axiom-lattice/core");
|
|
4840
4841
|
}
|
|
4841
4842
|
});
|
|
4842
4843
|
|
|
@@ -4853,7 +4854,7 @@ function registerOpenExposureRoutes(app2, deps = {}) {
|
|
|
4853
4854
|
if (!tenantId) {
|
|
4854
4855
|
return reply.status(401).send({ success: false, error: "Unauthorized" });
|
|
4855
4856
|
}
|
|
4856
|
-
const keyStore = (0,
|
|
4857
|
+
const keyStore = (0, import_core92.getStoreLattice)("default", "a2aApiKey").store;
|
|
4857
4858
|
const record = await keyStore.findById(request.params.id);
|
|
4858
4859
|
if (!record || record.tenantId !== tenantId) {
|
|
4859
4860
|
return reply.status(404).send({ success: false, error: "Key not found" });
|
|
@@ -4887,7 +4888,7 @@ function registerOpenExposureRoutes(app2, deps = {}) {
|
|
|
4887
4888
|
hasUi: Boolean(t2.ui)
|
|
4888
4889
|
}));
|
|
4889
4890
|
const agentGrant = grants.find((g) => g.domain === "agent");
|
|
4890
|
-
const assistantStore = (0,
|
|
4891
|
+
const assistantStore = (0, import_core92.getStoreLattice)("default", "assistant").store;
|
|
4891
4892
|
const agents = [];
|
|
4892
4893
|
for (const assistantId of agentGrant?.items ?? []) {
|
|
4893
4894
|
const assistant = await assistantStore.getAssistantById(
|
|
@@ -4922,11 +4923,11 @@ function registerOpenExposureRoutes(app2, deps = {}) {
|
|
|
4922
4923
|
}
|
|
4923
4924
|
);
|
|
4924
4925
|
}
|
|
4925
|
-
var
|
|
4926
|
+
var import_core92, import_protocols38;
|
|
4926
4927
|
var init_open_exposure = __esm({
|
|
4927
4928
|
"src/routes/open-exposure.ts"() {
|
|
4928
4929
|
"use strict";
|
|
4929
|
-
|
|
4930
|
+
import_core92 = require("@axiom-lattice/core");
|
|
4930
4931
|
import_protocols38 = require("@axiom-lattice/protocols");
|
|
4931
4932
|
init_openLattice();
|
|
4932
4933
|
init_tenantOpenPlugins();
|
|
@@ -5046,7 +5047,7 @@ function createAgentProvider(deps = {}) {
|
|
|
5046
5047
|
} catch {
|
|
5047
5048
|
}
|
|
5048
5049
|
}
|
|
5049
|
-
const agent =
|
|
5050
|
+
const agent = import_core93.agentInstanceManager.getAgent({
|
|
5050
5051
|
tenant_id: ctx.tenantId,
|
|
5051
5052
|
assistant_id: assistantId,
|
|
5052
5053
|
thread_id: threadId,
|
|
@@ -5071,12 +5072,12 @@ function createAgentProvider(deps = {}) {
|
|
|
5071
5072
|
}
|
|
5072
5073
|
};
|
|
5073
5074
|
}
|
|
5074
|
-
var import_zod23,
|
|
5075
|
+
var import_zod23, import_core93, import_protocols39, STOP_TYPES;
|
|
5075
5076
|
var init_agentProvider = __esm({
|
|
5076
5077
|
"src/services/open/providers/agentProvider.ts"() {
|
|
5077
5078
|
"use strict";
|
|
5078
5079
|
import_zod23 = require("zod");
|
|
5079
|
-
|
|
5080
|
+
import_core93 = require("@axiom-lattice/core");
|
|
5080
5081
|
import_protocols39 = require("@axiom-lattice/protocols");
|
|
5081
5082
|
STOP_TYPES = [import_protocols39.MessageChunkTypes.MESSAGE_COMPLETED];
|
|
5082
5083
|
}
|
|
@@ -5179,11 +5180,11 @@ async function resolveAgentOpenGrants(tenantId, assistantId, deps) {
|
|
|
5179
5180
|
}
|
|
5180
5181
|
}
|
|
5181
5182
|
function createDefaultAgentReflectionDeps(tenantId) {
|
|
5182
|
-
(0,
|
|
5183
|
+
(0, import_core94.ensureBuiltinAgentsForTenant)(tenantId);
|
|
5183
5184
|
return {
|
|
5184
|
-
ensure: (t2) =>
|
|
5185
|
+
ensure: (t2) => import_core94.agentLatticeManager.initializeStoredAssistantsForTenant(t2),
|
|
5185
5186
|
getAgentConfig: (t2, assistantId) => {
|
|
5186
|
-
const config =
|
|
5187
|
+
const config = import_core94.agentLatticeManager.getAgentConfigWithTenant(t2, assistantId);
|
|
5187
5188
|
if (!config) return void 0;
|
|
5188
5189
|
return {
|
|
5189
5190
|
middleware: extractMiddleware(config),
|
|
@@ -5191,16 +5192,16 @@ function createDefaultAgentReflectionDeps(tenantId) {
|
|
|
5191
5192
|
};
|
|
5192
5193
|
},
|
|
5193
5194
|
getAssistantMiddleware: async (t2, assistantId) => {
|
|
5194
|
-
const store2 = (0,
|
|
5195
|
+
const store2 = (0, import_core94.getStoreLattice)("default", "assistant").store;
|
|
5195
5196
|
const assistant = await store2.getAssistantById(t2, assistantId);
|
|
5196
5197
|
return extractMiddleware(assistant?.graphDefinition);
|
|
5197
5198
|
},
|
|
5198
5199
|
exposedActionsByType: (type) => {
|
|
5199
|
-
const plugin =
|
|
5200
|
+
const plugin = import_core94.PluginRegistry.get(type);
|
|
5200
5201
|
return plugin ? normalizeOpenExpose(plugin.meta.openExpose) : [];
|
|
5201
5202
|
},
|
|
5202
5203
|
resolvableAssistants: async (t2) => new Set(
|
|
5203
|
-
|
|
5204
|
+
import_core94.agentLatticeManager.getAllAgentLatticesByTenant(t2).map((lattice) => lattice.config.key)
|
|
5204
5205
|
)
|
|
5205
5206
|
};
|
|
5206
5207
|
}
|
|
@@ -5265,30 +5266,30 @@ function buildTenantExposedGrants(manifests) {
|
|
|
5265
5266
|
}
|
|
5266
5267
|
function createDefaultPluginReflectionDeps() {
|
|
5267
5268
|
return {
|
|
5268
|
-
ensure: (tenantId) =>
|
|
5269
|
+
ensure: (tenantId) => import_core94.agentLatticeManager.initializeStoredAssistantsForTenant(tenantId),
|
|
5269
5270
|
globalExposedDomains: () => {
|
|
5270
5271
|
const grants = [];
|
|
5271
|
-
for (const type of
|
|
5272
|
-
const plugin =
|
|
5272
|
+
for (const type of import_core94.PluginRegistry.list()) {
|
|
5273
|
+
const plugin = import_core94.PluginRegistry.get(type);
|
|
5273
5274
|
const items = normalizeOpenExpose(plugin?.meta.openExpose);
|
|
5274
5275
|
if (items.length > 0) grants.push({ domain: type, items });
|
|
5275
5276
|
}
|
|
5276
5277
|
return grants;
|
|
5277
5278
|
},
|
|
5278
5279
|
tenantExposedDomains: async (tenantId) => {
|
|
5279
|
-
const { manifests } = await (0,
|
|
5280
|
+
const { manifests } = await (0, import_core94.getSandboxPluginCatalog)().ensureLoaded(tenantId);
|
|
5280
5281
|
return buildTenantExposedGrants(Object.values(manifests));
|
|
5281
5282
|
},
|
|
5282
5283
|
resolvableAssistants: async (tenantId) => new Set(
|
|
5283
|
-
|
|
5284
|
+
import_core94.agentLatticeManager.getAllAgentLatticesByTenant(tenantId).map((lattice) => lattice.config.key)
|
|
5284
5285
|
)
|
|
5285
5286
|
};
|
|
5286
5287
|
}
|
|
5287
|
-
var
|
|
5288
|
+
var import_core94, AGENT_REFLECTION_CACHE_TTL_MS, cache, PLUGIN_REFLECTION_CACHE_TTL_MS, pluginCache;
|
|
5288
5289
|
var init_sandboxOpenReflection = __esm({
|
|
5289
5290
|
"src/services/open/sandboxOpenReflection.ts"() {
|
|
5290
5291
|
"use strict";
|
|
5291
|
-
|
|
5292
|
+
import_core94 = require("@axiom-lattice/core");
|
|
5292
5293
|
AGENT_REFLECTION_CACHE_TTL_MS = 6e4;
|
|
5293
5294
|
cache = /* @__PURE__ */ new Map();
|
|
5294
5295
|
PLUGIN_REFLECTION_CACHE_TTL_MS = 6e4;
|
|
@@ -5334,7 +5335,7 @@ function createSandboxOpenCredentialProvider(options) {
|
|
|
5334
5335
|
};
|
|
5335
5336
|
}
|
|
5336
5337
|
function registerGatewaySandboxOpenCredentialProvider(onError) {
|
|
5337
|
-
return (0,
|
|
5338
|
+
return (0, import_core95.registerSandboxOpenCredentialProvider)(
|
|
5338
5339
|
createSandboxOpenCredentialProvider({
|
|
5339
5340
|
gatewayUrl: process.env.PUBLIC_GATEWAY_URL?.trim() || void 0,
|
|
5340
5341
|
onError
|
|
@@ -5342,11 +5343,11 @@ function registerGatewaySandboxOpenCredentialProvider(onError) {
|
|
|
5342
5343
|
{ onError }
|
|
5343
5344
|
);
|
|
5344
5345
|
}
|
|
5345
|
-
var
|
|
5346
|
+
var import_core95, DEFAULT_SANDBOX_OPEN_GRANTS, MAX_SANDBOX_OPEN_DEPTH;
|
|
5346
5347
|
var init_sandboxOpenCredentialProvider = __esm({
|
|
5347
5348
|
"src/services/open/sandboxOpenCredentialProvider.ts"() {
|
|
5348
5349
|
"use strict";
|
|
5349
|
-
|
|
5350
|
+
import_core95 = require("@axiom-lattice/core");
|
|
5350
5351
|
init_openToken();
|
|
5351
5352
|
init_sandboxOpenReflection();
|
|
5352
5353
|
DEFAULT_SANDBOX_OPEN_GRANTS = [
|
|
@@ -5383,12 +5384,12 @@ var resources_exports = {};
|
|
|
5383
5384
|
__export(resources_exports, {
|
|
5384
5385
|
ResourceController: () => ResourceController
|
|
5385
5386
|
});
|
|
5386
|
-
var import_bcryptjs,
|
|
5387
|
+
var import_bcryptjs, import_core96, ResourceController;
|
|
5387
5388
|
var init_resources = __esm({
|
|
5388
5389
|
"src/controllers/resources.ts"() {
|
|
5389
5390
|
"use strict";
|
|
5390
5391
|
import_bcryptjs = __toESM(require("bcryptjs"));
|
|
5391
|
-
|
|
5392
|
+
import_core96 = require("@axiom-lattice/core");
|
|
5392
5393
|
init_mime();
|
|
5393
5394
|
init_http_range();
|
|
5394
5395
|
init_sandboxGrants();
|
|
@@ -5405,14 +5406,14 @@ var init_resources = __esm({
|
|
|
5405
5406
|
if (!workspaceId || !projectId) {
|
|
5406
5407
|
return reply.status(400).send({ error: "x-workspace-id and x-project-id headers required" });
|
|
5407
5408
|
}
|
|
5408
|
-
const payload = (0,
|
|
5409
|
+
const payload = (0, import_core96.createSharePayload)(
|
|
5409
5410
|
tenantId,
|
|
5410
5411
|
workspaceId,
|
|
5411
5412
|
projectId,
|
|
5412
5413
|
userId,
|
|
5413
5414
|
body
|
|
5414
5415
|
);
|
|
5415
|
-
const token = (0,
|
|
5416
|
+
const token = (0, import_core96.generateToken)();
|
|
5416
5417
|
try {
|
|
5417
5418
|
await this.deps.store.create({ ...payload, token });
|
|
5418
5419
|
this.deps.logger.info(
|
|
@@ -5564,7 +5565,7 @@ var init_resources = __esm({
|
|
|
5564
5565
|
resourcePath: subPath
|
|
5565
5566
|
}, subPath, ext, request, reply);
|
|
5566
5567
|
}
|
|
5567
|
-
const volume = (0,
|
|
5568
|
+
const volume = (0, import_core96.buildNamedVolumeName)("p", "project", tenantId, workspaceId, projectId);
|
|
5568
5569
|
return this._resolveAndServe(
|
|
5569
5570
|
volume,
|
|
5570
5571
|
subPath,
|
|
@@ -14013,7 +14014,7 @@ function registerMcpServerConfigRoutes(app2) {
|
|
|
14013
14014
|
|
|
14014
14015
|
// src/routes/mcp-apps.ts
|
|
14015
14016
|
var import_protocols6 = require("@axiom-lattice/protocols");
|
|
14016
|
-
var
|
|
14017
|
+
var import_core36 = require("@axiom-lattice/core");
|
|
14017
14018
|
|
|
14018
14019
|
// src/services/mcp-ui/UiResourceResolver.ts
|
|
14019
14020
|
var import_node_crypto5 = require("crypto");
|
|
@@ -14388,26 +14389,26 @@ function createDefaultPluginBackend() {
|
|
|
14388
14389
|
return {
|
|
14389
14390
|
resolvePlugin: (tenantId, type) => resolveTenantPluginByType(tenantId, type),
|
|
14390
14391
|
catalog: {
|
|
14391
|
-
readPluginFile: (tenantId, pluginType, relPath) => (0,
|
|
14392
|
-
getValidatedManifest: (tenantId, pluginType) => (0,
|
|
14393
|
-
getExecutor: () => (0,
|
|
14392
|
+
readPluginFile: (tenantId, pluginType, relPath) => (0, import_core36.getSandboxPluginCatalog)().readPluginFile(tenantId, pluginType, relPath),
|
|
14393
|
+
getValidatedManifest: (tenantId, pluginType) => (0, import_core36.getSandboxPluginCatalog)().getValidatedManifest(tenantId, pluginType),
|
|
14394
|
+
getExecutor: () => (0, import_core36.getSandboxPluginCatalog)().getExecutor()
|
|
14394
14395
|
}
|
|
14395
14396
|
};
|
|
14396
14397
|
}
|
|
14397
14398
|
function resolveMcpAppDeps(pluginBackend = createDefaultPluginBackend()) {
|
|
14398
14399
|
const uiResourceResolver = new UiResourceResolver({
|
|
14399
14400
|
store: new InMemoryMcpUiResourceCacheStore(),
|
|
14400
|
-
fetchMcp: (tenantId, serverKey, resourceUri) =>
|
|
14401
|
+
fetchMcp: (tenantId, serverKey, resourceUri) => import_core36.mcpManager.readUiResource(tenantId, serverKey, resourceUri),
|
|
14401
14402
|
fetchPlugin: (tenantId, pluginType, resource) => fetchPluginUiResource(pluginBackend, tenantId, pluginType, resource)
|
|
14402
14403
|
});
|
|
14403
14404
|
return {
|
|
14404
14405
|
resolveUiResource: (tenantId, ref) => uiResourceResolver.resolve(tenantId, ref),
|
|
14405
|
-
callTool: (tenantId, ref, name, args, context) => ref.kind === "mcp" ?
|
|
14406
|
+
callTool: (tenantId, ref, name, args, context) => ref.kind === "mcp" ? import_core36.mcpManager.callServerTool(tenantId, ref.serverKey, name, args) : callPluginTool(pluginBackend, tenantId, ref, name, args, context),
|
|
14406
14407
|
// Plugin refs reach these only after `tools/call`; the handler treats the
|
|
14407
14408
|
// rejection as an unsupported method (403). The branches are live because
|
|
14408
14409
|
// the pure handler deliberately delegates method policy to the deps.
|
|
14409
|
-
readResource: (tenantId, ref, uri) => ref.kind === "mcp" ?
|
|
14410
|
-
listTools: (tenantId, ref) => ref.kind === "mcp" ?
|
|
14410
|
+
readResource: (tenantId, ref, uri) => ref.kind === "mcp" ? import_core36.mcpManager.readServerResource(tenantId, ref.serverKey, uri) : Promise.reject(new PluginMethodNotSupportedError("resources/read")),
|
|
14411
|
+
listTools: (tenantId, ref) => ref.kind === "mcp" ? import_core36.mcpManager.getAvailableTools(tenantId, ref.serverKey) : Promise.reject(new PluginMethodNotSupportedError("tools/list"))
|
|
14411
14412
|
};
|
|
14412
14413
|
}
|
|
14413
14414
|
function firstHeader(request, name) {
|
|
@@ -14451,12 +14452,12 @@ function registerMcpAppRoutes(fastify2) {
|
|
|
14451
14452
|
}
|
|
14452
14453
|
|
|
14453
14454
|
// src/controllers/eval.ts
|
|
14454
|
-
var
|
|
14455
|
+
var import_core38 = require("@axiom-lattice/core");
|
|
14455
14456
|
var import_uuid5 = require("uuid");
|
|
14456
14457
|
|
|
14457
14458
|
// src/services/eval-runner.ts
|
|
14458
14459
|
var import_events = require("events");
|
|
14459
|
-
var
|
|
14460
|
+
var import_core37 = require("@axiom-lattice/core");
|
|
14460
14461
|
var import_uuid4 = require("uuid");
|
|
14461
14462
|
var TERMINAL_PERSIST_ATTEMPTS = 2;
|
|
14462
14463
|
function mapLogs(logs) {
|
|
@@ -14566,19 +14567,19 @@ var EvalRunner = class {
|
|
|
14566
14567
|
const judgeModelKey = judgeCfg.modelKey || "";
|
|
14567
14568
|
let resolvedJudgeModelKey;
|
|
14568
14569
|
if (judgeModelKey) {
|
|
14569
|
-
if (!
|
|
14570
|
+
if (!await (0, import_core37.hasModelLatticeForTenant)(tenantId, judgeModelKey)) {
|
|
14570
14571
|
throw new Error(`Judge model "${judgeModelKey}" is not registered`);
|
|
14571
14572
|
}
|
|
14572
14573
|
resolvedJudgeModelKey = judgeModelKey;
|
|
14573
14574
|
} else {
|
|
14574
|
-
|
|
14575
|
-
|
|
14576
|
-
|
|
14577
|
-
|
|
14578
|
-
|
|
14579
|
-
|
|
14580
|
-
|
|
14581
|
-
console.warn(`[eval-runner] Project "${project.name}" has no judge modelKey and no
|
|
14575
|
+
resolvedJudgeModelKey = "default";
|
|
14576
|
+
if (!await (0, import_core37.hasModelLatticeForTenant)(tenantId, resolvedJudgeModelKey)) {
|
|
14577
|
+
const models = (0, import_core37.listModelLatticesForTenant)(tenantId);
|
|
14578
|
+
resolvedJudgeModelKey = models[0]?.key ?? "";
|
|
14579
|
+
if (!resolvedJudgeModelKey) {
|
|
14580
|
+
throw new Error("No model registered \u2014 cannot run eval without a judge model");
|
|
14581
|
+
}
|
|
14582
|
+
console.warn(`[eval-runner] Project "${project.name}" has no judge modelKey and no default model \u2014 falling back to "${resolvedJudgeModelKey}"`);
|
|
14582
14583
|
}
|
|
14583
14584
|
}
|
|
14584
14585
|
const runId = (0, import_uuid4.v4)();
|
|
@@ -14679,7 +14680,7 @@ var EvalRunner = class {
|
|
|
14679
14680
|
};
|
|
14680
14681
|
const runPromise = (async () => {
|
|
14681
14682
|
try {
|
|
14682
|
-
const evalProject = new
|
|
14683
|
+
const evalProject = new import_core37.LatticeEvalProject(projectConfig, onCaseComplete);
|
|
14683
14684
|
const calibration = await evalProject.calibrateJudge();
|
|
14684
14685
|
if (!calibration.ok && !calibration.bypassed) {
|
|
14685
14686
|
throw new Error(`Judge calibration failed: ${calibration.reason}`);
|
|
@@ -14783,7 +14784,7 @@ var EvalRunner = class {
|
|
|
14783
14784
|
return ctx !== void 0 && !ctx.terminal.workerSettled && (tenantId === void 0 || ctx.tenantId === tenantId);
|
|
14784
14785
|
}
|
|
14785
14786
|
getEvalStore() {
|
|
14786
|
-
return (0,
|
|
14787
|
+
return (0, import_core37.getStoreLattice)("default", "eval").store;
|
|
14787
14788
|
}
|
|
14788
14789
|
releaseProjectLease(leaseKey, leaseToken) {
|
|
14789
14790
|
if (this.projectLeases.get(leaseKey) === leaseToken) this.projectLeases.delete(leaseKey);
|
|
@@ -14800,7 +14801,7 @@ function getTenantId12(request) {
|
|
|
14800
14801
|
return request.headers["x-tenant-id"] || "default";
|
|
14801
14802
|
}
|
|
14802
14803
|
function getEvalStore() {
|
|
14803
|
-
return (0,
|
|
14804
|
+
return (0, import_core38.getStoreLattice)("default", "eval").store;
|
|
14804
14805
|
}
|
|
14805
14806
|
async function getOwnedSuite(store2, tenantId, projectId, suiteId) {
|
|
14806
14807
|
const project = await store2.getProjectById(tenantId, projectId);
|
|
@@ -14831,8 +14832,7 @@ async function createProject(request, reply) {
|
|
|
14831
14832
|
const judgeCfg = data.judgeModelConfig || {};
|
|
14832
14833
|
const modelKey2 = judgeCfg.modelKey || "";
|
|
14833
14834
|
if (modelKey2) {
|
|
14834
|
-
|
|
14835
|
-
if (!modelLatticeManager4.hasLattice(modelKey2)) {
|
|
14835
|
+
if (!await (0, import_core38.hasModelLatticeForTenant)(tenantId, modelKey2)) {
|
|
14836
14836
|
return reply.status(400).send({ success: false, message: `Judge model "${modelKey2}" is not registered` });
|
|
14837
14837
|
}
|
|
14838
14838
|
}
|
|
@@ -14878,8 +14878,7 @@ async function listProjects(request, reply) {
|
|
|
14878
14878
|
let projects = await store2.getProjectsByTenant(tenantId);
|
|
14879
14879
|
if (projects.length === 0) {
|
|
14880
14880
|
try {
|
|
14881
|
-
const
|
|
14882
|
-
const models = modelLatticeManager4.getAllLattices();
|
|
14881
|
+
const models = import_core38.modelLatticeManager.getAllLattices();
|
|
14883
14882
|
const first = models[0];
|
|
14884
14883
|
const judgeModel = first ? { modelKey: first.key } : {};
|
|
14885
14884
|
const host = request.hostname || "localhost";
|
|
@@ -14947,8 +14946,7 @@ async function updateProject(request, reply) {
|
|
|
14947
14946
|
const judgeCfg = body.judgeModelConfig || {};
|
|
14948
14947
|
const modelKey2 = judgeCfg.modelKey || "";
|
|
14949
14948
|
if (modelKey2) {
|
|
14950
|
-
|
|
14951
|
-
if (!modelLatticeManager4.hasLattice(modelKey2)) {
|
|
14949
|
+
if (!import_core38.modelLatticeManager.hasLattice(modelKey2)) {
|
|
14952
14950
|
return reply.status(400).send({ success: false, message: `Judge model "${modelKey2}" is not registered` });
|
|
14953
14951
|
}
|
|
14954
14952
|
}
|
|
@@ -15330,11 +15328,11 @@ data: ${JSON.stringify(event.data)}
|
|
|
15330
15328
|
}
|
|
15331
15329
|
|
|
15332
15330
|
// src/controllers/users.ts
|
|
15333
|
-
var
|
|
15331
|
+
var import_core39 = require("@axiom-lattice/core");
|
|
15334
15332
|
var import_uuid6 = require("uuid");
|
|
15335
15333
|
var UsersController = class {
|
|
15336
15334
|
constructor() {
|
|
15337
|
-
this.userStore = (0,
|
|
15335
|
+
this.userStore = (0, import_core39.getStoreLattice)("default", "user").store;
|
|
15338
15336
|
}
|
|
15339
15337
|
async listUsers(request, reply) {
|
|
15340
15338
|
const { email } = request.query;
|
|
@@ -15412,11 +15410,11 @@ function registerUserRoutes(app2) {
|
|
|
15412
15410
|
}
|
|
15413
15411
|
|
|
15414
15412
|
// src/controllers/tenants.ts
|
|
15415
|
-
var
|
|
15413
|
+
var import_core40 = require("@axiom-lattice/core");
|
|
15416
15414
|
var import_uuid7 = require("uuid");
|
|
15417
15415
|
var TenantsController = class {
|
|
15418
15416
|
constructor() {
|
|
15419
|
-
this.tenantStore = (0,
|
|
15417
|
+
this.tenantStore = (0, import_core40.getStoreLattice)("default", "tenant").store;
|
|
15420
15418
|
}
|
|
15421
15419
|
// ==================== Tenant CRUD ====================
|
|
15422
15420
|
async listTenants(request, reply) {
|
|
@@ -15480,7 +15478,7 @@ function registerTenantRoutes(app2) {
|
|
|
15480
15478
|
}
|
|
15481
15479
|
|
|
15482
15480
|
// src/controllers/auth.ts
|
|
15483
|
-
var
|
|
15481
|
+
var import_core41 = require("@axiom-lattice/core");
|
|
15484
15482
|
var import_uuid8 = require("uuid");
|
|
15485
15483
|
var import_node_crypto6 = require("crypto");
|
|
15486
15484
|
var defaultAuthConfig = {
|
|
@@ -15490,9 +15488,9 @@ var defaultAuthConfig = {
|
|
|
15490
15488
|
};
|
|
15491
15489
|
var AuthController = class {
|
|
15492
15490
|
constructor(config = {}) {
|
|
15493
|
-
this.userStore = (0,
|
|
15494
|
-
this.tenantStore = (0,
|
|
15495
|
-
this.userTenantLinkStore = (0,
|
|
15491
|
+
this.userStore = (0, import_core41.getStoreLattice)("default", "user").store;
|
|
15492
|
+
this.tenantStore = (0, import_core41.getStoreLattice)("default", "tenant").store;
|
|
15493
|
+
this.userTenantLinkStore = (0, import_core41.getStoreLattice)("default", "userTenantLink").store;
|
|
15496
15494
|
this.config = { ...defaultAuthConfig, ...config };
|
|
15497
15495
|
}
|
|
15498
15496
|
async register(request, reply) {
|
|
@@ -15651,7 +15649,7 @@ var AuthController = class {
|
|
|
15651
15649
|
const linkMeta = link?.metadata || {};
|
|
15652
15650
|
let personalAssistant = null;
|
|
15653
15651
|
if (linkMeta.personalAssistantId) {
|
|
15654
|
-
const assistantStore = (0,
|
|
15652
|
+
const assistantStore = (0, import_core41.getStoreLattice)("default", "assistant").store;
|
|
15655
15653
|
const exists = await assistantStore.hasAssistant(tenantId, linkMeta.personalAssistantId);
|
|
15656
15654
|
if (exists) {
|
|
15657
15655
|
personalAssistant = {
|
|
@@ -16348,6 +16346,7 @@ function registerChannelRoutes(app2, dependencies) {
|
|
|
16348
16346
|
// src/controllers/channel-installations.ts
|
|
16349
16347
|
var import_crypto10 = require("crypto");
|
|
16350
16348
|
var import_protocols7 = require("@axiom-lattice/protocols");
|
|
16349
|
+
var import_core42 = require("@axiom-lattice/core");
|
|
16351
16350
|
var _adapterRegistry;
|
|
16352
16351
|
var _router;
|
|
16353
16352
|
function setChannelControllerDeps(deps) {
|
|
@@ -16471,8 +16470,7 @@ function snapshotPlainObject(value) {
|
|
|
16471
16470
|
}
|
|
16472
16471
|
}
|
|
16473
16472
|
async function getInstallationStore() {
|
|
16474
|
-
const
|
|
16475
|
-
const store2 = getStoreLattice40("default", "channelInstallation").store;
|
|
16473
|
+
const store2 = (0, import_core42.getStoreLattice)("default", "channelInstallation").store;
|
|
16476
16474
|
if (store2) return store2;
|
|
16477
16475
|
const { PostgreSQLChannelInstallationStore } = await import("@axiom-lattice/pg-stores");
|
|
16478
16476
|
const databaseUrl = process.env.DATABASE_URL;
|
|
@@ -16788,7 +16786,7 @@ function registerChannelInstallationRoutes(app2) {
|
|
|
16788
16786
|
|
|
16789
16787
|
// src/controllers/channel-bindings.ts
|
|
16790
16788
|
var import_protocols8 = require("@axiom-lattice/protocols");
|
|
16791
|
-
var
|
|
16789
|
+
var import_core43 = require("@axiom-lattice/core");
|
|
16792
16790
|
function getTenantId14(request) {
|
|
16793
16791
|
const userTenantId = request.user?.tenantId;
|
|
16794
16792
|
if (typeof userTenantId === "string" && userTenantId) return userTenantId;
|
|
@@ -16846,7 +16844,7 @@ function snapshotPublicUpdate(value) {
|
|
|
16846
16844
|
return body;
|
|
16847
16845
|
}
|
|
16848
16846
|
function getInstallationStore2() {
|
|
16849
|
-
return (0,
|
|
16847
|
+
return (0, import_core43.getStoreLattice)("default", "channelInstallation").store;
|
|
16850
16848
|
}
|
|
16851
16849
|
async function isValidPublicInstallation(tenantId, channelInstallationId, channel) {
|
|
16852
16850
|
const installation = await getInstallationStore2().getInstallationById(channelInstallationId);
|
|
@@ -16865,7 +16863,7 @@ async function getBindingList(request, _reply) {
|
|
|
16865
16863
|
const tenantId = getTenantId14(request);
|
|
16866
16864
|
const { channel, agentId, channelInstallationId, limit, offset } = request.query;
|
|
16867
16865
|
try {
|
|
16868
|
-
const registry = (0,
|
|
16866
|
+
const registry = (0, import_core43.getBindingRegistry)();
|
|
16869
16867
|
const bindings = await registry.list({
|
|
16870
16868
|
channel,
|
|
16871
16869
|
agentId,
|
|
@@ -16884,7 +16882,7 @@ async function getBindingList(request, _reply) {
|
|
|
16884
16882
|
async function getBinding(request, reply) {
|
|
16885
16883
|
const tenantId = getTenantId14(request);
|
|
16886
16884
|
try {
|
|
16887
|
-
const registry = (0,
|
|
16885
|
+
const registry = (0, import_core43.getBindingRegistry)();
|
|
16888
16886
|
const binding = await registry.findById(tenantId, request.params.id);
|
|
16889
16887
|
if (!binding || isInternalBinding(binding)) {
|
|
16890
16888
|
reply.status(404);
|
|
@@ -16906,7 +16904,7 @@ async function createBinding(request, reply) {
|
|
|
16906
16904
|
input.channelInstallationId,
|
|
16907
16905
|
input.channel
|
|
16908
16906
|
)) return invalidPublicInstallation(reply);
|
|
16909
|
-
const registry = (0,
|
|
16907
|
+
const registry = (0, import_core43.getBindingRegistry)();
|
|
16910
16908
|
const binding = await registry.create({ ...input, tenantId });
|
|
16911
16909
|
reply.status(201);
|
|
16912
16910
|
return { success: true, message: "Binding created", data: binding };
|
|
@@ -16923,7 +16921,7 @@ async function createBinding(request, reply) {
|
|
|
16923
16921
|
async function updateBinding(request, reply) {
|
|
16924
16922
|
try {
|
|
16925
16923
|
const tenantId = getTenantId14(request);
|
|
16926
|
-
const registry = (0,
|
|
16924
|
+
const registry = (0, import_core43.getBindingRegistry)();
|
|
16927
16925
|
const existing = await registry.findById(tenantId, request.params.id);
|
|
16928
16926
|
if (!existing || isInternalBinding(existing)) {
|
|
16929
16927
|
reply.status(404);
|
|
@@ -16950,7 +16948,7 @@ async function updateBinding(request, reply) {
|
|
|
16950
16948
|
async function deleteBinding(request, reply) {
|
|
16951
16949
|
try {
|
|
16952
16950
|
const tenantId = getTenantId14(request);
|
|
16953
|
-
const registry = (0,
|
|
16951
|
+
const registry = (0, import_core43.getBindingRegistry)();
|
|
16954
16952
|
const existing = await registry.findById(tenantId, request.params.id);
|
|
16955
16953
|
if (!existing || isInternalBinding(existing)) {
|
|
16956
16954
|
reply.status(404);
|
|
@@ -16972,7 +16970,7 @@ async function resolveBinding(request, _reply) {
|
|
|
16972
16970
|
return { success: false, message: "No binding found", data: null };
|
|
16973
16971
|
}
|
|
16974
16972
|
try {
|
|
16975
|
-
const registry = (0,
|
|
16973
|
+
const registry = (0, import_core43.getBindingRegistry)();
|
|
16976
16974
|
const binding = await registry.resolve({ channel, senderId, channelInstallationId, tenantId });
|
|
16977
16975
|
if (!binding) {
|
|
16978
16976
|
return { success: false, message: "No binding found", data: null };
|
|
@@ -16995,7 +16993,7 @@ function registerChannelBindingRoutes(app2) {
|
|
|
16995
16993
|
}
|
|
16996
16994
|
|
|
16997
16995
|
// src/controllers/menu-items.ts
|
|
16998
|
-
var
|
|
16996
|
+
var import_core44 = require("@axiom-lattice/core");
|
|
16999
16997
|
function getTenantId15(request) {
|
|
17000
16998
|
const userTenantId = request.user?.tenantId;
|
|
17001
16999
|
if (userTenantId) return userTenantId;
|
|
@@ -17007,7 +17005,7 @@ function errorMessage(err) {
|
|
|
17007
17005
|
async function getMenuItemList(request, _reply) {
|
|
17008
17006
|
const tenantId = getTenantId15(request);
|
|
17009
17007
|
try {
|
|
17010
|
-
const registry = (0,
|
|
17008
|
+
const registry = (0, import_core44.getMenuRegistry)();
|
|
17011
17009
|
const items = await registry.list({ tenantId, menuTarget: request.query.menuTarget });
|
|
17012
17010
|
return { success: true, message: "Menu items retrieved", data: { records: items, total: items.length } };
|
|
17013
17011
|
} catch (error) {
|
|
@@ -17019,7 +17017,7 @@ async function getMenuItemList(request, _reply) {
|
|
|
17019
17017
|
async function getMenuItem(request, reply) {
|
|
17020
17018
|
const tenantId = getTenantId15(request);
|
|
17021
17019
|
try {
|
|
17022
|
-
const registry = (0,
|
|
17020
|
+
const registry = (0, import_core44.getMenuRegistry)();
|
|
17023
17021
|
const item = await registry.getById(request.params.id);
|
|
17024
17022
|
if (!item || item.tenantId !== tenantId) {
|
|
17025
17023
|
reply.status(404);
|
|
@@ -17036,7 +17034,7 @@ async function getMenuItem(request, reply) {
|
|
|
17036
17034
|
async function createMenuItem(request, reply) {
|
|
17037
17035
|
const tenantId = getTenantId15(request);
|
|
17038
17036
|
try {
|
|
17039
|
-
const registry = (0,
|
|
17037
|
+
const registry = (0, import_core44.getMenuRegistry)();
|
|
17040
17038
|
const item = await registry.create({ ...request.body, tenantId });
|
|
17041
17039
|
reply.status(201);
|
|
17042
17040
|
return { success: true, message: "Menu item created", data: item };
|
|
@@ -17050,7 +17048,7 @@ async function createMenuItem(request, reply) {
|
|
|
17050
17048
|
async function updateMenuItem(request, reply) {
|
|
17051
17049
|
try {
|
|
17052
17050
|
const tenantId = getTenantId15(request);
|
|
17053
|
-
const registry = (0,
|
|
17051
|
+
const registry = (0, import_core44.getMenuRegistry)();
|
|
17054
17052
|
const existing = await registry.getById(request.params.id);
|
|
17055
17053
|
if (!existing || existing.tenantId !== tenantId) {
|
|
17056
17054
|
reply.status(404);
|
|
@@ -17068,7 +17066,7 @@ async function updateMenuItem(request, reply) {
|
|
|
17068
17066
|
async function deleteMenuItem(request, reply) {
|
|
17069
17067
|
try {
|
|
17070
17068
|
const tenantId = getTenantId15(request);
|
|
17071
|
-
const registry = (0,
|
|
17069
|
+
const registry = (0, import_core44.getMenuRegistry)();
|
|
17072
17070
|
const existing = await registry.getById(request.params.id);
|
|
17073
17071
|
if (!existing || existing.tenantId !== tenantId) {
|
|
17074
17072
|
reply.status(404);
|
|
@@ -17268,7 +17266,7 @@ function registerA2ABridgeRoutes(app2) {
|
|
|
17268
17266
|
}
|
|
17269
17267
|
|
|
17270
17268
|
// src/routes/stt.ts
|
|
17271
|
-
var
|
|
17269
|
+
var import_core45 = require("@axiom-lattice/core");
|
|
17272
17270
|
var ALLOWED_AUDIO_FORMATS = /* @__PURE__ */ new Set([
|
|
17273
17271
|
"webm",
|
|
17274
17272
|
"wav",
|
|
@@ -17281,7 +17279,7 @@ var ALLOWED_AUDIO_FORMATS = /* @__PURE__ */ new Set([
|
|
|
17281
17279
|
var MAX_AUDIO_FILE_SIZE = 25 * 1024 * 1024;
|
|
17282
17280
|
var registerSTTRoutes = (app2) => {
|
|
17283
17281
|
app2.get("/api/stt/models", async (_request, reply) => {
|
|
17284
|
-
const models =
|
|
17282
|
+
const models = import_core45.sttModelLatticeManager.getAllSTTModelInfo();
|
|
17285
17283
|
return reply.send({ models });
|
|
17286
17284
|
});
|
|
17287
17285
|
app2.post(
|
|
@@ -17324,7 +17322,7 @@ var registerSTTRoutes = (app2) => {
|
|
|
17324
17322
|
try {
|
|
17325
17323
|
let client;
|
|
17326
17324
|
try {
|
|
17327
|
-
client = (0,
|
|
17325
|
+
client = (0, import_core45.getSTTClient)(modelKey2);
|
|
17328
17326
|
} catch {
|
|
17329
17327
|
return reply.status(404).send({ error: `STT model "${modelKey2}" not found` });
|
|
17330
17328
|
}
|
|
@@ -17346,7 +17344,7 @@ var registerSTTRoutes = (app2) => {
|
|
|
17346
17344
|
};
|
|
17347
17345
|
|
|
17348
17346
|
// src/controllers/local-a2a.ts
|
|
17349
|
-
var
|
|
17347
|
+
var import_core46 = require("@axiom-lattice/core");
|
|
17350
17348
|
var import_protocols9 = require("@axiom-lattice/protocols");
|
|
17351
17349
|
function getTenantId16(request) {
|
|
17352
17350
|
const userTenantId = request.user?.tenantId;
|
|
@@ -17360,7 +17358,7 @@ function getLocalRuntime(assistant) {
|
|
|
17360
17358
|
return graphDefinition.localRuntime;
|
|
17361
17359
|
}
|
|
17362
17360
|
async function getLocalA2AAssistants(tenantId) {
|
|
17363
|
-
const storeLattice = (0,
|
|
17361
|
+
const storeLattice = (0, import_core46.getStoreLattice)("default", "assistant");
|
|
17364
17362
|
const assistants = await storeLattice.store.getAllAssistants(tenantId);
|
|
17365
17363
|
const results = [];
|
|
17366
17364
|
for (const assistant of assistants) {
|
|
@@ -17372,7 +17370,7 @@ async function getLocalA2AAssistants(tenantId) {
|
|
|
17372
17370
|
return results;
|
|
17373
17371
|
}
|
|
17374
17372
|
async function getLocalA2AAssistant(tenantId, assistantId) {
|
|
17375
|
-
const storeLattice = (0,
|
|
17373
|
+
const storeLattice = (0, import_core46.getStoreLattice)("default", "assistant");
|
|
17376
17374
|
const assistant = await storeLattice.store.getAssistantById(tenantId, assistantId);
|
|
17377
17375
|
if (!assistant) return null;
|
|
17378
17376
|
const runtime = getLocalRuntime(assistant);
|
|
@@ -17614,11 +17612,11 @@ function registerTaskRoutes(app2, controller) {
|
|
|
17614
17612
|
}
|
|
17615
17613
|
|
|
17616
17614
|
// src/routes/index.ts
|
|
17617
|
-
var
|
|
17615
|
+
var import_core57 = require("@axiom-lattice/core");
|
|
17618
17616
|
|
|
17619
17617
|
// src/controllers/tasks.ts
|
|
17620
17618
|
var import_protocols13 = require("@axiom-lattice/protocols");
|
|
17621
|
-
var
|
|
17619
|
+
var import_core48 = require("@axiom-lattice/core");
|
|
17622
17620
|
|
|
17623
17621
|
// src/services/collaboration/ProjectTaskThreadService.ts
|
|
17624
17622
|
var import_protocols11 = require("@axiom-lattice/protocols");
|
|
@@ -17938,7 +17936,7 @@ var import_node_crypto9 = require("crypto");
|
|
|
17938
17936
|
|
|
17939
17937
|
// src/services/collaboration/ProjectTaskExecutionService.ts
|
|
17940
17938
|
var import_node_crypto8 = require("crypto");
|
|
17941
|
-
var
|
|
17939
|
+
var import_core47 = require("@axiom-lattice/core");
|
|
17942
17940
|
var import_protocols12 = require("@axiom-lattice/protocols");
|
|
17943
17941
|
init_projectTaskScope();
|
|
17944
17942
|
|
|
@@ -18002,7 +18000,7 @@ var ProjectTaskExecutionService = class {
|
|
|
18002
18000
|
if (!Number.isFinite(options.lifecycleSettlementTimeoutMs) || options.lifecycleSettlementTimeoutMs <= 0) {
|
|
18003
18001
|
throw new Error("Project task lifecycle settlement timeout must be positive");
|
|
18004
18002
|
}
|
|
18005
|
-
this.runBridge = (0,
|
|
18003
|
+
this.runBridge = (0, import_core47.createTaskRunBridge)({ lifecycle: this.deps.lifecycle });
|
|
18006
18004
|
}
|
|
18007
18005
|
/** Validates, atomically starts, dispatches, and settles a pending Project Task. */
|
|
18008
18006
|
async start(input, signal) {
|
|
@@ -18052,10 +18050,10 @@ var ProjectTaskExecutionService = class {
|
|
|
18052
18050
|
return { kind: "ready", task: current, thread: ensured.thread, rosterExempt: validated.rosterExempt };
|
|
18053
18051
|
}
|
|
18054
18052
|
/** Resumes an interrupted Project Task on its canonical existing Thread. */
|
|
18055
|
-
async resume(input, signal) {
|
|
18053
|
+
async resume(input, signal, options) {
|
|
18056
18054
|
const prepared = await this.prepareResume(input, signal);
|
|
18057
18055
|
if (prepared.kind === "aborted") return prepared.outcome;
|
|
18058
|
-
return this.dispatchRun(prepared.task, prepared.thread, "resume", prepared.rosterExempt, signal);
|
|
18056
|
+
return this.dispatchRun(prepared.task, prepared.thread, "resume", prepared.rosterExempt, signal, options);
|
|
18059
18057
|
}
|
|
18060
18058
|
/** Clears the durable interruption and loads the exact resumed task. */
|
|
18061
18059
|
async prepareResume(input, signal) {
|
|
@@ -18088,6 +18086,7 @@ var ProjectTaskExecutionService = class {
|
|
|
18088
18086
|
*
|
|
18089
18087
|
* @param input Tenant, task identity, and optional command actor.
|
|
18090
18088
|
* @param signal Optional cancellation signal for the armed settlement.
|
|
18089
|
+
* @param options Optional resume command carried into the queued run message.
|
|
18091
18090
|
* @returns The settled run outcome.
|
|
18092
18091
|
* @remarks `start` semantics: make this task run. `pending` starts,
|
|
18093
18092
|
* `interrupted` resumes, `failed` retries, and `completed`/`cancelled`
|
|
@@ -18095,14 +18094,15 @@ var ProjectTaskExecutionService = class {
|
|
|
18095
18094
|
* conflict. This is a record transition plus an application-layer side
|
|
18096
18095
|
* effect; the kernel only records the status change. `actor` attributes the
|
|
18097
18096
|
* start/resume/retry/reopen transition and defaults to the system actor.
|
|
18097
|
+
* `options.command` is only carried on an interrupted-task resume.
|
|
18098
18098
|
*/
|
|
18099
|
-
async dispatch(input, signal) {
|
|
18099
|
+
async dispatch(input, signal, options) {
|
|
18100
18100
|
const task = await this.requireTask(input);
|
|
18101
18101
|
if (task.ownerType !== "agent") {
|
|
18102
18102
|
throw new ProjectTaskExecutionError("PROJECT_TASK_NOT_READY", "Project task is not agent-owned");
|
|
18103
18103
|
}
|
|
18104
18104
|
if (task.status === "pending") return this.start(input, signal);
|
|
18105
|
-
if (task.status === "interrupted") return this.resume(input, signal);
|
|
18105
|
+
if (task.status === "interrupted") return this.resume(input, signal, options);
|
|
18106
18106
|
if (task.status === "failed" || task.status === "completed" || task.status === "cancelled") {
|
|
18107
18107
|
return this.dispatchRestartable(task, input.actor ?? SYSTEM_ACTOR, signal);
|
|
18108
18108
|
}
|
|
@@ -18113,6 +18113,7 @@ var ProjectTaskExecutionService = class {
|
|
|
18113
18113
|
*
|
|
18114
18114
|
* @param input Tenant, task identity, and optional command actor.
|
|
18115
18115
|
* @param signal Optional cancellation signal for the pre-run transition.
|
|
18116
|
+
* @param options Optional resume command carried into the queued run message.
|
|
18116
18117
|
* @returns The `in_progress` task snapshot and whether the run was queued.
|
|
18117
18118
|
* @remarks Intended for command HTTP handlers that must release the Project
|
|
18118
18119
|
* mutation mutex immediately: the armed settlement keeps running in the
|
|
@@ -18120,20 +18121,25 @@ var ProjectTaskExecutionService = class {
|
|
|
18120
18121
|
* awaits it. Enqueue failure converges the task exactly like the awaited
|
|
18121
18122
|
* path before throwing, so no phantom run is left behind.
|
|
18122
18123
|
*/
|
|
18123
|
-
async dispatchDetached(input, signal) {
|
|
18124
|
+
async dispatchDetached(input, signal, options) {
|
|
18124
18125
|
const task = await this.requireTask(input);
|
|
18126
|
+
if (options?.expectedStatus !== void 0 && task.status !== options.expectedStatus) {
|
|
18127
|
+
throw new ProjectTaskExecutionError("PROJECT_TASK_NOT_RESUMABLE", "Project task is not in the expected status");
|
|
18128
|
+
}
|
|
18125
18129
|
if (task.ownerType !== "agent") {
|
|
18126
18130
|
throw new ProjectTaskExecutionError("PROJECT_TASK_NOT_READY", "Project task is not agent-owned");
|
|
18127
18131
|
}
|
|
18128
18132
|
const actor3 = input.actor ?? SYSTEM_ACTOR;
|
|
18129
18133
|
let prepared;
|
|
18130
18134
|
let mode;
|
|
18135
|
+
let resumeOptions;
|
|
18131
18136
|
if (task.status === "pending") {
|
|
18132
18137
|
prepared = await this.prepareStart(input, signal);
|
|
18133
18138
|
mode = "start";
|
|
18134
18139
|
} else if (task.status === "interrupted") {
|
|
18135
18140
|
prepared = await this.prepareResume(input, signal);
|
|
18136
18141
|
mode = "resume";
|
|
18142
|
+
resumeOptions = options;
|
|
18137
18143
|
} else if (task.status === "failed" || task.status === "completed" || task.status === "cancelled") {
|
|
18138
18144
|
prepared = await this.prepareRestartable(task, actor3, signal);
|
|
18139
18145
|
mode = "resume";
|
|
@@ -18141,7 +18147,7 @@ var ProjectTaskExecutionService = class {
|
|
|
18141
18147
|
throw new ProjectTaskExecutionError("PROJECT_TASK_NOT_READY", `Project task is '${task.status}'`);
|
|
18142
18148
|
}
|
|
18143
18149
|
if (prepared.kind === "aborted") return { task: prepared.outcome.task, queued: false };
|
|
18144
|
-
return this.enqueueDetached(prepared.task, prepared.thread, mode, prepared.rosterExempt);
|
|
18150
|
+
return this.enqueueDetached(prepared.task, prepared.thread, mode, prepared.rosterExempt, resumeOptions);
|
|
18145
18151
|
}
|
|
18146
18152
|
/** Recovers one exact pending or processing queue row without dispatching a duplicate input. */
|
|
18147
18153
|
async recover(input, signal) {
|
|
@@ -18197,15 +18203,15 @@ var ProjectTaskExecutionService = class {
|
|
|
18197
18203
|
settlement.cleanup();
|
|
18198
18204
|
return { kind: "deferred", task: input.task, thread: input.thread, messageId: input.inputMessageId };
|
|
18199
18205
|
}
|
|
18200
|
-
if (resumed.status ===
|
|
18206
|
+
if (resumed.status === import_core47.ThreadStatus.INTERRUPTED && settlement.tryClaim()) {
|
|
18201
18207
|
settlement.cleanup();
|
|
18202
18208
|
const outcome2 = await this.settleInterruptedEvent(input.task, input.thread, input.inputMessageId);
|
|
18203
18209
|
settlement.resolve(outcome2);
|
|
18204
18210
|
return outcome2;
|
|
18205
18211
|
}
|
|
18206
|
-
if ((resumed.status ===
|
|
18212
|
+
if ((resumed.status === import_core47.ThreadStatus.IDLE || resumed.status === import_core47.ThreadStatus.ERROR) && settlement.tryClaim()) {
|
|
18207
18213
|
settlement.cleanup();
|
|
18208
|
-
const reason = resumed.status ===
|
|
18214
|
+
const reason = resumed.status === import_core47.ThreadStatus.IDLE ? "Project task execution ended without lifecycle transition" : "Recovered Agent execution is in error state";
|
|
18209
18215
|
const outcome2 = await this.settleEndedRecovery(input, reason);
|
|
18210
18216
|
settlement.resolve(outcome2);
|
|
18211
18217
|
return outcome2;
|
|
@@ -18386,10 +18392,10 @@ var ProjectTaskExecutionService = class {
|
|
|
18386
18392
|
}
|
|
18387
18393
|
return current;
|
|
18388
18394
|
}
|
|
18389
|
-
async dispatchRun(task, thread, mode, rosterExempt, signal) {
|
|
18395
|
+
async dispatchRun(task, thread, mode, rosterExempt, signal, options) {
|
|
18390
18396
|
const messageId = (this.options.idFactory ?? import_node_crypto8.randomUUID)();
|
|
18391
18397
|
if (signal?.aborted) return this.compensateCancellation(task, thread, messageId, false);
|
|
18392
|
-
const armed = await this.armAndEnqueue(task, thread, mode, messageId, rosterExempt, signal);
|
|
18398
|
+
const armed = await this.armAndEnqueue(task, thread, mode, messageId, rosterExempt, signal, options);
|
|
18393
18399
|
if (armed.cancelled) return this.cancelSettlement(armed.settlement, task, thread, messageId, false);
|
|
18394
18400
|
if (signal?.aborted) return this.cancelSettlement(armed.settlement, task, thread, messageId, armed.queued);
|
|
18395
18401
|
if (!armed.queued) {
|
|
@@ -18404,7 +18410,7 @@ var ProjectTaskExecutionService = class {
|
|
|
18404
18410
|
* enqueue yields `queued: false` with a stable reason; the caller decides
|
|
18405
18411
|
* whether to converge only (awaited path) or converge and throw (detached).
|
|
18406
18412
|
*/
|
|
18407
|
-
async armAndEnqueue(task, thread, mode, messageId, rosterExempt, signal) {
|
|
18413
|
+
async armAndEnqueue(task, thread, mode, messageId, rosterExempt, signal, options) {
|
|
18408
18414
|
const settlement = this.armSettlement(task, thread, messageId);
|
|
18409
18415
|
if (signal?.aborted) return { settlement, queued: false, error: "", cancelled: true };
|
|
18410
18416
|
try {
|
|
@@ -18414,7 +18420,10 @@ var ProjectTaskExecutionService = class {
|
|
|
18414
18420
|
project_id: task.projectId,
|
|
18415
18421
|
assistant_id: task.ownerId,
|
|
18416
18422
|
thread_id: thread.id
|
|
18417
|
-
}, {
|
|
18423
|
+
}, {
|
|
18424
|
+
input: { id: messageId, message: buildTaskPrompt(task, mode) },
|
|
18425
|
+
...mode === "resume" && options?.command ? { command: options.command } : {}
|
|
18426
|
+
}, {
|
|
18418
18427
|
executionMode: "followup",
|
|
18419
18428
|
trustedRunContext: { projectTask: buildTrustedTaskContext(task, thread, messageId, rosterExempt) }
|
|
18420
18429
|
});
|
|
@@ -18440,9 +18449,9 @@ var ProjectTaskExecutionService = class {
|
|
|
18440
18449
|
* task is converged exactly like the awaited path before throwing, so no
|
|
18441
18450
|
* phantom in-progress run is left behind.
|
|
18442
18451
|
*/
|
|
18443
|
-
async enqueueDetached(task, thread, mode, rosterExempt) {
|
|
18452
|
+
async enqueueDetached(task, thread, mode, rosterExempt, options) {
|
|
18444
18453
|
const messageId = (this.options.idFactory ?? import_node_crypto8.randomUUID)();
|
|
18445
|
-
const armed = await this.armAndEnqueue(task, thread, mode, messageId, rosterExempt);
|
|
18454
|
+
const armed = await this.armAndEnqueue(task, thread, mode, messageId, rosterExempt, void 0, options);
|
|
18446
18455
|
void armed.settlement.promise.catch(() => void 0);
|
|
18447
18456
|
if (!armed.queued) {
|
|
18448
18457
|
await this.claimDispatchFailure(armed.settlement, task, thread, messageId, armed.error);
|
|
@@ -18573,12 +18582,14 @@ var ProjectTaskExecutionService = class {
|
|
|
18573
18582
|
async settleInterruptedEvent(task, thread, messageId, state) {
|
|
18574
18583
|
const current = await this.withLifecycleTimeout(this.reloadTask(task), void 0);
|
|
18575
18584
|
if (current?.status === "interrupted" && this.matchesExecution(current, task, thread)) {
|
|
18585
|
+
this.emitInterrupted(current, thread, messageId, state);
|
|
18576
18586
|
return { kind: "interrupted", task: current, thread, messageId };
|
|
18577
18587
|
}
|
|
18578
18588
|
const clarify = readClarifyInterrupt(state ?? await this.readInterruptedThreadState(task, thread));
|
|
18579
18589
|
if (clarify !== void 0) {
|
|
18580
18590
|
const interrupted = await this.interruptForClarify(current ?? task, thread, clarify);
|
|
18581
18591
|
if (interrupted?.status === "interrupted" && this.matchesExecution(interrupted, task, thread)) {
|
|
18592
|
+
this.emitInterrupted(interrupted, thread, messageId, state);
|
|
18582
18593
|
return { kind: "interrupted", task: interrupted, thread, messageId };
|
|
18583
18594
|
}
|
|
18584
18595
|
}
|
|
@@ -18590,6 +18601,22 @@ var ProjectTaskExecutionService = class {
|
|
|
18590
18601
|
"interruption_not_durable"
|
|
18591
18602
|
);
|
|
18592
18603
|
}
|
|
18604
|
+
/**
|
|
18605
|
+
* Fire-and-forget best-effort projection of a durable interruption.
|
|
18606
|
+
*
|
|
18607
|
+
* @remarks Never awaited and never allowed to affect settlement. The state is
|
|
18608
|
+
* resolved lazily so a missing/undefined event state only triggers a thread
|
|
18609
|
+
* read when the hook is actually wired.
|
|
18610
|
+
*/
|
|
18611
|
+
emitInterrupted(task, thread, messageId, state) {
|
|
18612
|
+
const hook = this.deps.onTaskInterrupted;
|
|
18613
|
+
if (!hook) return;
|
|
18614
|
+
void Promise.resolve().then(async () => {
|
|
18615
|
+
const resolved = state ?? await this.readInterruptedThreadState(task, thread);
|
|
18616
|
+
await hook({ task, thread, messageId, state: resolved });
|
|
18617
|
+
}).catch(() => {
|
|
18618
|
+
});
|
|
18619
|
+
}
|
|
18593
18620
|
/** Reads the paused thread snapshot when no interrupt event payload is available (recovery). */
|
|
18594
18621
|
async readInterruptedThreadState(task, thread) {
|
|
18595
18622
|
try {
|
|
@@ -19254,7 +19281,7 @@ function withErrors(handler) {
|
|
|
19254
19281
|
if (error instanceof HttpTaskError) return reply.code(error.statusCode).send({ success: false, code: error.code, error: error.message });
|
|
19255
19282
|
if (error instanceof TaskCommandError) return reply.code(error.statusCode).send({ success: false, code: error.code, error: error.message });
|
|
19256
19283
|
if (error instanceof ProjectCollaborationError) return reply.code(error.statusCode).send({ success: false, code: error.code, error: error.message });
|
|
19257
|
-
if (error instanceof
|
|
19284
|
+
if (error instanceof import_core48.ProjectTaskOwnerPolicyError) return reply.code(403).send({ success: false, code: error.code, error: error.message });
|
|
19258
19285
|
if (error instanceof ProjectTaskThreadError) return reply.code(409).send({ success: false, code: error.code, error: error.message });
|
|
19259
19286
|
request.log.error({ error }, "Task route failed");
|
|
19260
19287
|
return reply.code(500).send({ success: false, code: "TASK_INTERNAL_ERROR", error: "Task operation failed" });
|
|
@@ -19683,10 +19710,14 @@ var AgentWebAppService = class {
|
|
|
19683
19710
|
throw new AgentWebAppError("PROJECT_NOT_FOUND", 404, "Project not found");
|
|
19684
19711
|
}
|
|
19685
19712
|
}
|
|
19686
|
-
const scope = this.validateModels(
|
|
19713
|
+
const scope = await this.validateModels(
|
|
19714
|
+
tenantId,
|
|
19715
|
+
input.scope,
|
|
19716
|
+
input.features.modelSelector
|
|
19717
|
+
);
|
|
19687
19718
|
return { ...input, scope: { ...scope, allowedProjectIds } };
|
|
19688
19719
|
}
|
|
19689
|
-
validateModels(scope, modelSelector) {
|
|
19720
|
+
async validateModels(tenantId, scope, modelSelector) {
|
|
19690
19721
|
const allowedModelKeys = scope.allowedModelKeys ? [...new Set(scope.allowedModelKeys)] : void 0;
|
|
19691
19722
|
if (!allowedModelKeys?.length) {
|
|
19692
19723
|
if (scope.defaultModelKey || modelSelector) {
|
|
@@ -19701,7 +19732,7 @@ var AgentWebAppService = class {
|
|
|
19701
19732
|
throw new AgentWebAppError("MODEL_SCOPE_INVALID", 400, "Default model must be in the model allowlist");
|
|
19702
19733
|
}
|
|
19703
19734
|
for (const key of allowedModelKeys) {
|
|
19704
|
-
if (!this.deps.modelRegistry.has(key)) {
|
|
19735
|
+
if (!await this.deps.modelRegistry.has(tenantId, key)) {
|
|
19705
19736
|
throw new AgentWebAppError("MODEL_NOT_FOUND", 400, "Configured model is not registered");
|
|
19706
19737
|
}
|
|
19707
19738
|
}
|
|
@@ -19891,7 +19922,7 @@ var import_zod6 = require("zod");
|
|
|
19891
19922
|
// src/services/agent-web-app/AgentWebAppRuntimeService.ts
|
|
19892
19923
|
var import_node_crypto10 = require("crypto");
|
|
19893
19924
|
var import_protocols14 = require("@axiom-lattice/protocols");
|
|
19894
|
-
var
|
|
19925
|
+
var import_core49 = require("@axiom-lattice/core");
|
|
19895
19926
|
init_task_file_refs();
|
|
19896
19927
|
function isRecord2(value) {
|
|
19897
19928
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
@@ -19931,15 +19962,22 @@ var AgentWebAppRuntimeService = class {
|
|
|
19931
19962
|
return { id: project.id, name: project.name };
|
|
19932
19963
|
}));
|
|
19933
19964
|
const defaultModelKey = runtime.webApp.scope.defaultModelKey;
|
|
19934
|
-
|
|
19965
|
+
const tenantId = runtime.webApp.tenantId;
|
|
19966
|
+
if (defaultModelKey && !await this.deps.modelRegistry.has(tenantId, defaultModelKey)) {
|
|
19935
19967
|
this.fail("MODEL_NOT_ALLOWED", 400, "Default model is not available");
|
|
19936
19968
|
}
|
|
19937
19969
|
const configuredPublicModelKeys = runtime.webApp.features.modelSelector ? runtime.webApp.scope.allowedModelKeys ?? [] : defaultModelKey ? [defaultModelKey] : [];
|
|
19938
|
-
const
|
|
19939
|
-
const
|
|
19940
|
-
key,
|
|
19941
|
-
|
|
19942
|
-
|
|
19970
|
+
const candidateModelKeys = [...new Set(configuredPublicModelKeys)];
|
|
19971
|
+
const resolvable = await Promise.all(
|
|
19972
|
+
candidateModelKeys.map((key) => this.deps.modelRegistry.has(tenantId, key))
|
|
19973
|
+
);
|
|
19974
|
+
const publicModelKeys = candidateModelKeys.filter((_, index) => resolvable[index]);
|
|
19975
|
+
const models = await Promise.all(
|
|
19976
|
+
publicModelKeys.map(async (key) => ({
|
|
19977
|
+
key,
|
|
19978
|
+
label: await this.deps.modelRegistry.label(tenantId, key)
|
|
19979
|
+
}))
|
|
19980
|
+
);
|
|
19943
19981
|
const result = {
|
|
19944
19982
|
webApp: {
|
|
19945
19983
|
id: runtime.webApp.id,
|
|
@@ -20055,12 +20093,12 @@ var AgentWebAppRuntimeService = class {
|
|
|
20055
20093
|
const runtime = await this.resolveRuntime(webAppId, selection);
|
|
20056
20094
|
await this.requireOwnedThread(runtime, userId, threadId);
|
|
20057
20095
|
if (process.env.AXIOM_REPLICA_ID) {
|
|
20058
|
-
const owner = await (0,
|
|
20096
|
+
const owner = await (0, import_core49.getThreadRunOwner)({
|
|
20059
20097
|
tenantId: runtime.webApp.tenantId,
|
|
20060
20098
|
assistantId: runtime.webApp.assistantId,
|
|
20061
20099
|
threadId
|
|
20062
20100
|
});
|
|
20063
|
-
if (owner && owner !== (0,
|
|
20101
|
+
if (owner && owner !== (0, import_core49.getReplicaId)()) {
|
|
20064
20102
|
return {
|
|
20065
20103
|
stream: (async function* () {
|
|
20066
20104
|
yield (0, import_protocols14.buildAffinityMissChunk)(owner, threadId);
|
|
@@ -20162,7 +20200,7 @@ ${formatFileRefsSection(refs)}` : input.content;
|
|
|
20162
20200
|
}
|
|
20163
20201
|
const modelKey2 = selection.modelKey ?? webApp.scope.defaultModelKey;
|
|
20164
20202
|
const allowedModels = webApp.scope.allowedModelKeys;
|
|
20165
|
-
if (modelKey2 && (!allowedModels?.includes(modelKey2) || !this.deps.modelRegistry.has(modelKey2))) {
|
|
20203
|
+
if (modelKey2 && (!allowedModels?.includes(modelKey2) || !await this.deps.modelRegistry.has(webApp.tenantId, modelKey2))) {
|
|
20166
20204
|
this.fail("MODEL_NOT_ALLOWED", 400, "Model is not allowed");
|
|
20167
20205
|
}
|
|
20168
20206
|
return { webApp, project, modelKey: modelKey2 };
|
|
@@ -20413,7 +20451,7 @@ async function verifyWebAppToken(token, issuer, options = {}) {
|
|
|
20413
20451
|
|
|
20414
20452
|
// src/routes/agent-web-app-runtime.ts
|
|
20415
20453
|
var import_protocols15 = require("@axiom-lattice/protocols");
|
|
20416
|
-
var
|
|
20454
|
+
var import_core50 = require("@axiom-lattice/core");
|
|
20417
20455
|
var idSchema = import_zod6.z.string().min(1).max(128);
|
|
20418
20456
|
var paramsSchema = import_zod6.z.object({ webAppId: idSchema }).strict();
|
|
20419
20457
|
var threadParamsSchema = import_zod6.z.object({ webAppId: idSchema, threadId: idSchema }).strict();
|
|
@@ -20847,7 +20885,7 @@ function registerAgentWebAppRuntimeRoutes(app2, deps) {
|
|
|
20847
20885
|
if (!threadId) throw new AgentWebAppRuntimeError("INVALID_REQUEST", 400, "thread_id is required");
|
|
20848
20886
|
const content = body.messages.map((message) => message.content).join("\n");
|
|
20849
20887
|
const { messageId } = await deps.service.enqueueMessage(webAppId, identity.userId, threadId, content, { projectId: body.projectId, modelKey: body.modelKey });
|
|
20850
|
-
reply.header(import_protocols15.REPLICA_HEADER, (0,
|
|
20888
|
+
reply.header(import_protocols15.REPLICA_HEADER, (0, import_core50.getReplicaId)());
|
|
20851
20889
|
for (const [name, value] of Object.entries((0, import_protocols15.affinityEchoHeaders)(request.headers[import_protocols15.AGENT_AFFINITY_HEADER]))) {
|
|
20852
20890
|
reply.header(name, value);
|
|
20853
20891
|
}
|
|
@@ -20933,7 +20971,7 @@ function beginSse(reply, request) {
|
|
|
20933
20971
|
"X-Accel-Buffering": "no",
|
|
20934
20972
|
"Access-Control-Allow-Origin": "*",
|
|
20935
20973
|
"Access-Control-Expose-Headers": `${import_protocols15.REPLICA_HEADER}, ${import_protocols15.AFFINITY_ECHO_HEADER}`,
|
|
20936
|
-
[import_protocols15.REPLICA_HEADER]: (0,
|
|
20974
|
+
[import_protocols15.REPLICA_HEADER]: (0, import_core50.getReplicaId)(),
|
|
20937
20975
|
...(0, import_protocols15.affinityEchoHeaders)(request.headers[import_protocols15.AGENT_AFFINITY_HEADER])
|
|
20938
20976
|
});
|
|
20939
20977
|
}
|
|
@@ -21170,7 +21208,7 @@ var import_zod9 = require("zod");
|
|
|
21170
21208
|
|
|
21171
21209
|
// src/services/capability/CapabilityBundleService.ts
|
|
21172
21210
|
var import_zod8 = require("zod");
|
|
21173
|
-
var
|
|
21211
|
+
var import_core51 = require("@axiom-lattice/core");
|
|
21174
21212
|
var CapabilityBundleServiceError = class extends Error {
|
|
21175
21213
|
constructor(code, message, statusCode) {
|
|
21176
21214
|
super(message);
|
|
@@ -21211,7 +21249,7 @@ function projectBundleIds(config) {
|
|
|
21211
21249
|
return [...value];
|
|
21212
21250
|
}
|
|
21213
21251
|
function issue(error) {
|
|
21214
|
-
if (error instanceof
|
|
21252
|
+
if (error instanceof import_core51.CapabilityBundleMergeError || error instanceof import_core51.CapabilityBundleValidationError) return { code: error instanceof import_core51.CapabilityBundleValidationError && error.code === "CAPABILITY_BUNDLE_INVALID_CONFIG" ? "INVALID_BUNDLE_CONFIG" : error.code, message: error.message, bundleId: error instanceof import_core51.CapabilityBundleMergeError ? error.bundleId : void 0, capabilityType: error.capabilityType, fieldPath: error.fieldPath };
|
|
21215
21253
|
return { code: "CAPABILITY_BUNDLE_CONFIGURATION_ERROR", message: error instanceof Error ? error.message : "Invalid capability bundle configuration" };
|
|
21216
21254
|
}
|
|
21217
21255
|
var CapabilityBundleService = class {
|
|
@@ -21224,7 +21262,7 @@ var CapabilityBundleService = class {
|
|
|
21224
21262
|
const errors = [];
|
|
21225
21263
|
for (const value of values) {
|
|
21226
21264
|
try {
|
|
21227
|
-
(0,
|
|
21265
|
+
(0, import_core51.validateCapabilityBundleInput)(value);
|
|
21228
21266
|
bundles.push(value);
|
|
21229
21267
|
} catch {
|
|
21230
21268
|
errors.push({ bundleId: value.id, code: "INVALID_BUNDLE_CONFIG", message: "Capability bundle record is invalid" });
|
|
@@ -21236,7 +21274,7 @@ var CapabilityBundleService = class {
|
|
|
21236
21274
|
const value = await this.deps.bundleStore.getById(tenantId, id3);
|
|
21237
21275
|
if (!value) throw new CapabilityBundleServiceError("BUNDLE_NOT_FOUND", "Capability bundle not found", 404);
|
|
21238
21276
|
try {
|
|
21239
|
-
(0,
|
|
21277
|
+
(0, import_core51.validateCapabilityBundleInput)(value);
|
|
21240
21278
|
} catch {
|
|
21241
21279
|
throw new CapabilityBundleServiceError("INVALID_BUNDLE_CONFIG", "Capability bundle record is invalid", 422);
|
|
21242
21280
|
}
|
|
@@ -21244,7 +21282,7 @@ var CapabilityBundleService = class {
|
|
|
21244
21282
|
}
|
|
21245
21283
|
async create(tenantId, input) {
|
|
21246
21284
|
rejectStableKey(input);
|
|
21247
|
-
(0,
|
|
21285
|
+
(0, import_core51.validateCapabilityBundleInput)(input);
|
|
21248
21286
|
const value = input;
|
|
21249
21287
|
const name = value.name.trim();
|
|
21250
21288
|
const base = slugify(name);
|
|
@@ -21255,10 +21293,10 @@ var CapabilityBundleService = class {
|
|
|
21255
21293
|
let suffix = 2;
|
|
21256
21294
|
while (keys2.has(key)) key = `${base}-${suffix++}`;
|
|
21257
21295
|
const normalized = { ...value, key, name };
|
|
21258
|
-
(0,
|
|
21296
|
+
(0, import_core51.validateCapabilityBundleInput)(normalized);
|
|
21259
21297
|
try {
|
|
21260
21298
|
const result = await this.deps.bundleStore.create(tenantId, normalized);
|
|
21261
|
-
(0,
|
|
21299
|
+
(0, import_core51.validateCapabilityBundleInput)(result);
|
|
21262
21300
|
return result;
|
|
21263
21301
|
} catch (error) {
|
|
21264
21302
|
if (!isDuplicate(error)) throw error;
|
|
@@ -21269,16 +21307,16 @@ var CapabilityBundleService = class {
|
|
|
21269
21307
|
}
|
|
21270
21308
|
async update(tenantId, id3, input) {
|
|
21271
21309
|
rejectStableKey(input);
|
|
21272
|
-
(0,
|
|
21310
|
+
(0, import_core51.validateCapabilityBundleInput)(input, { partial: true });
|
|
21273
21311
|
if (!input || typeof input !== "object" || Array.isArray(input) || typeof input.expectedUpdatedAt !== "string" || !input.expectedUpdatedAt.trim()) throw new CapabilityBundleServiceError("INVALID_BUNDLE_CONFIG", "expectedUpdatedAt is required for capability bundle updates", 400);
|
|
21274
21312
|
const value = input;
|
|
21275
21313
|
const normalized = { ...value, ...value.name === void 0 ? {} : { name: value.name.trim() }, ...Object.prototype.hasOwnProperty.call(value, "description") ? { description: value.description?.trim() || void 0 } : {} };
|
|
21276
|
-
(0,
|
|
21314
|
+
(0, import_core51.validateCapabilityBundleInput)(normalized, { partial: true });
|
|
21277
21315
|
try {
|
|
21278
21316
|
const result = await this.deps.bundleStore.update(tenantId, id3, normalized);
|
|
21279
21317
|
if (!result) throw new CapabilityBundleServiceError("BUNDLE_NOT_FOUND", "Capability bundle not found", 404);
|
|
21280
21318
|
if ("status" in result && result.status === "conflict") throw new CapabilityBundleServiceError("BUNDLE_CONFLICT", "Capability bundle changed after it was loaded; reload before saving", 409);
|
|
21281
|
-
(0,
|
|
21319
|
+
(0, import_core51.validateCapabilityBundleInput)(result);
|
|
21282
21320
|
return result;
|
|
21283
21321
|
} catch (error) {
|
|
21284
21322
|
if (error instanceof CapabilityBundleServiceError) throw error;
|
|
@@ -21313,8 +21351,8 @@ var CapabilityBundleService = class {
|
|
|
21313
21351
|
if (missing.length > 0) return { bundleIds: ids, capabilities: [], overrides: [], sources: [], warnings: [], errors: missing.map((id3) => ({ code: "BUNDLE_NOT_FOUND", message: `Persisted capability bundle '${id3}' is missing`, bundleId: id3 })), revision: "" };
|
|
21314
21352
|
try {
|
|
21315
21353
|
const ordered = ids.map((id3) => byId.get(id3));
|
|
21316
|
-
ordered.forEach((bundle) => (0,
|
|
21317
|
-
return (0,
|
|
21354
|
+
ordered.forEach((bundle) => (0, import_core51.validateCapabilityBundleInput)(bundle));
|
|
21355
|
+
return (0, import_core51.mergeCapabilityBundles)(ordered);
|
|
21318
21356
|
} catch (error) {
|
|
21319
21357
|
return { bundleIds: ids, capabilities: [], overrides: [], sources: [], warnings: [], errors: [issue(error)], revision: "" };
|
|
21320
21358
|
}
|
|
@@ -21347,7 +21385,7 @@ var CapabilityBundleService = class {
|
|
|
21347
21385
|
return ids.map((id3) => {
|
|
21348
21386
|
const value = byId.get(id3);
|
|
21349
21387
|
if (!value) throw new CapabilityBundleServiceError("BUNDLE_NOT_FOUND", "Capability bundle not found", 404);
|
|
21350
|
-
(0,
|
|
21388
|
+
(0, import_core51.validateCapabilityBundleInput)(value);
|
|
21351
21389
|
return value;
|
|
21352
21390
|
});
|
|
21353
21391
|
}
|
|
@@ -21362,7 +21400,7 @@ var CapabilityBundleService = class {
|
|
|
21362
21400
|
continue;
|
|
21363
21401
|
}
|
|
21364
21402
|
try {
|
|
21365
|
-
(0,
|
|
21403
|
+
(0, import_core51.validateCapabilityBundleInput)(bundle);
|
|
21366
21404
|
valid.push(bundle);
|
|
21367
21405
|
} catch (error) {
|
|
21368
21406
|
errors.push({ ...issue(error), bundleId: id3 });
|
|
@@ -21370,7 +21408,7 @@ var CapabilityBundleService = class {
|
|
|
21370
21408
|
}
|
|
21371
21409
|
let preview;
|
|
21372
21410
|
try {
|
|
21373
|
-
preview = (0,
|
|
21411
|
+
preview = (0, import_core51.mergeCapabilityBundles)(valid);
|
|
21374
21412
|
} catch (error) {
|
|
21375
21413
|
preview = { bundleIds: ids, capabilities: [], overrides: [], sources: [], warnings: [], errors: [issue(error)], revision: "" };
|
|
21376
21414
|
}
|
|
@@ -21522,7 +21560,7 @@ var import_zod11 = require("zod");
|
|
|
21522
21560
|
// src/services/model-provider/ModelProviderService.ts
|
|
21523
21561
|
var import_node_crypto14 = require("crypto");
|
|
21524
21562
|
var import_protocols16 = require("@axiom-lattice/protocols");
|
|
21525
|
-
var
|
|
21563
|
+
var import_core52 = require("@axiom-lattice/core");
|
|
21526
21564
|
|
|
21527
21565
|
// src/services/model-provider/errors.ts
|
|
21528
21566
|
var ModelProviderServiceError = class extends Error {
|
|
@@ -21725,7 +21763,6 @@ function getDiscoveryAdapter(protocol) {
|
|
|
21725
21763
|
|
|
21726
21764
|
// src/services/model-provider/ModelProviderService.ts
|
|
21727
21765
|
var PHASE1_REGISTRY_TENANT = "default";
|
|
21728
|
-
var ALLOWED_LLM_PROVIDERS = /* @__PURE__ */ new Set(["openai"]);
|
|
21729
21766
|
var unsafeReasonToErrorCode = {
|
|
21730
21767
|
INVALID_BASE_URL: "INVALID_BASE_URL",
|
|
21731
21768
|
UNSUPPORTED_SCHEME: "INVALID_BASE_URL",
|
|
@@ -21792,6 +21829,8 @@ var ModelProviderService = class {
|
|
|
21792
21829
|
source: "snapshot",
|
|
21793
21830
|
enabled: model.enabled,
|
|
21794
21831
|
stale: model.stale ?? false,
|
|
21832
|
+
extra: model.extra,
|
|
21833
|
+
isDefault: model.isDefault,
|
|
21795
21834
|
executable: model.enabled && // A disabled provider is a kill switch: its models stay visible in the
|
|
21796
21835
|
// catalog but are no longer reported as runnable.
|
|
21797
21836
|
!disabledProviderIds.has(model.providerId) && this.deps.registry.has(
|
|
@@ -21799,20 +21838,20 @@ var ModelProviderService = class {
|
|
|
21799
21838
|
(0, import_protocols16.toModelKey)(model.providerId, model.modelId)
|
|
21800
21839
|
)
|
|
21801
21840
|
}));
|
|
21802
|
-
|
|
21803
|
-
|
|
21804
|
-
|
|
21805
|
-
|
|
21841
|
+
if (models.length === 0) {
|
|
21842
|
+
for (const modelKey2 of this.deps.registry.listRegistered(
|
|
21843
|
+
PHASE1_REGISTRY_TENANT
|
|
21844
|
+
)) {
|
|
21845
|
+
models.push({
|
|
21846
|
+
modelKey: modelKey2,
|
|
21847
|
+
providerId: "",
|
|
21848
|
+
providerName: "registered",
|
|
21849
|
+
source: "registered",
|
|
21850
|
+
enabled: true,
|
|
21851
|
+
stale: false,
|
|
21852
|
+
executable: true
|
|
21853
|
+
});
|
|
21806
21854
|
}
|
|
21807
|
-
models.push({
|
|
21808
|
-
modelKey: modelKey2,
|
|
21809
|
-
providerId: "",
|
|
21810
|
-
providerName: "registered",
|
|
21811
|
-
source: "registered",
|
|
21812
|
-
enabled: true,
|
|
21813
|
-
stale: false,
|
|
21814
|
-
executable: true
|
|
21815
|
-
});
|
|
21816
21855
|
}
|
|
21817
21856
|
return {
|
|
21818
21857
|
providers: providers.map(
|
|
@@ -21889,7 +21928,6 @@ var ModelProviderService = class {
|
|
|
21889
21928
|
*/
|
|
21890
21929
|
async create(userId, tenantId, input) {
|
|
21891
21930
|
await this.assertAdmin(userId, tenantId);
|
|
21892
|
-
this.assertHasApiKey(input.apiKey);
|
|
21893
21931
|
if (!getDiscoveryAdapter(input.protocol)) {
|
|
21894
21932
|
throw new ModelProviderServiceError(
|
|
21895
21933
|
"UNSUPPORTED_PROTOCOL",
|
|
@@ -21930,9 +21968,6 @@ var ModelProviderService = class {
|
|
|
21930
21968
|
async update(userId, tenantId, id3, updates) {
|
|
21931
21969
|
await this.assertAdmin(userId, tenantId);
|
|
21932
21970
|
const existing = await this.requireProvider(tenantId, id3);
|
|
21933
|
-
if (updates.clearApiKey || !(updates.apiKey?.trim() || existing.apiKey)) {
|
|
21934
|
-
this.assertHasApiKey(void 0);
|
|
21935
|
-
}
|
|
21936
21971
|
if (updates.protocol && !getDiscoveryAdapter(updates.protocol)) {
|
|
21937
21972
|
throw new ModelProviderServiceError(
|
|
21938
21973
|
"UNSUPPORTED_PROTOCOL",
|
|
@@ -22053,6 +22088,8 @@ var ModelProviderService = class {
|
|
|
22053
22088
|
void 0,
|
|
22054
22089
|
now
|
|
22055
22090
|
);
|
|
22091
|
+
await this.ensureDefaultModel(tenantId);
|
|
22092
|
+
this.deps.registry.forgetTenantDefaultMiss?.(tenantId);
|
|
22056
22093
|
const registered = [];
|
|
22057
22094
|
if (this.shouldRegister(tenantId)) {
|
|
22058
22095
|
const snapshot = await this.deps.providerStore.listModels(tenantId, id3);
|
|
@@ -22153,6 +22190,13 @@ var ModelProviderService = class {
|
|
|
22153
22190
|
async setModels(userId, tenantId, id3, selection) {
|
|
22154
22191
|
await this.assertAdmin(userId, tenantId);
|
|
22155
22192
|
const provider = await this.requireProvider(tenantId, id3);
|
|
22193
|
+
if (selection.filter((entry) => entry.isDefault === true).length > 1) {
|
|
22194
|
+
throw new ModelProviderServiceError(
|
|
22195
|
+
"INVALID_INPUT",
|
|
22196
|
+
400,
|
|
22197
|
+
"Only one model can be the tenant's default"
|
|
22198
|
+
);
|
|
22199
|
+
}
|
|
22156
22200
|
const previous = await this.deps.providerStore.listModels(tenantId, id3);
|
|
22157
22201
|
const previousById = new Map(
|
|
22158
22202
|
previous.map((model) => [model.modelId, model])
|
|
@@ -22170,9 +22214,18 @@ var ModelProviderService = class {
|
|
|
22170
22214
|
// The selection carries only ids and states, so a model already in the
|
|
22171
22215
|
// snapshot keeps the metadata discovery gave it.
|
|
22172
22216
|
displayName: previousById.get(entry.modelId)?.displayName,
|
|
22173
|
-
ownedBy: previousById.get(entry.modelId)?.ownedBy
|
|
22217
|
+
ownedBy: previousById.get(entry.modelId)?.ownedBy,
|
|
22218
|
+
// An omitted `extra` means "keep what is stored" — the picker sends no
|
|
22219
|
+
// config, and a sync must not wipe one set by hand. The store resolves
|
|
22220
|
+
// the fallback against the row's current value.
|
|
22221
|
+
extra: entry.extra,
|
|
22222
|
+
// Same rule: omitted leaves the flag alone, so a sync cannot quietly
|
|
22223
|
+
// move the tenant's default.
|
|
22224
|
+
isDefault: entry.isDefault
|
|
22174
22225
|
}))
|
|
22175
22226
|
);
|
|
22227
|
+
await this.ensureDefaultModel(tenantId);
|
|
22228
|
+
this.deps.registry.forgetTenantDefaultMiss?.(tenantId);
|
|
22176
22229
|
const models = await this.deps.providerStore.listModels(tenantId, id3);
|
|
22177
22230
|
const kept = new Set(models.map((model) => model.modelId));
|
|
22178
22231
|
for (const model of previous) {
|
|
@@ -22187,6 +22240,40 @@ var ModelProviderService = class {
|
|
|
22187
22240
|
this.notifyChanged(tenantId, id3);
|
|
22188
22241
|
return this.toPublicEntry(provider, models.length);
|
|
22189
22242
|
}
|
|
22243
|
+
/**
|
|
22244
|
+
* Give a tenant's sole model the default flag.
|
|
22245
|
+
*
|
|
22246
|
+
* A tenant with exactly one runnable model has an obvious default, and saying
|
|
22247
|
+
* so is what keeps the invariant the rest of the feature leans on: a tenant
|
|
22248
|
+
* either has no models at all — and falls back to the deployment's default —
|
|
22249
|
+
* or has a default, which cannot be deleted. Without this a tenant could sit
|
|
22250
|
+
* with one model and no default, and deleting that model would leave nothing
|
|
22251
|
+
* behind.
|
|
22252
|
+
*
|
|
22253
|
+
* Deliberately narrow: more than one model is the tenant's choice to make,
|
|
22254
|
+
* and a disabled model is not a candidate for "the model this tenant runs".
|
|
22255
|
+
*
|
|
22256
|
+
* @param tenantId - The tenant whose model set just changed
|
|
22257
|
+
*/
|
|
22258
|
+
async ensureDefaultModel(tenantId) {
|
|
22259
|
+
const models = await this.deps.providerStore.listModels(tenantId);
|
|
22260
|
+
if (models.length !== 1) {
|
|
22261
|
+
return;
|
|
22262
|
+
}
|
|
22263
|
+
const [only] = models;
|
|
22264
|
+
if (only.isDefault || !only.enabled) {
|
|
22265
|
+
return;
|
|
22266
|
+
}
|
|
22267
|
+
await this.deps.providerStore.replaceProviderModels(tenantId, only.providerId, [
|
|
22268
|
+
{
|
|
22269
|
+
id: only.modelId,
|
|
22270
|
+
enabled: only.enabled,
|
|
22271
|
+
stale: only.stale,
|
|
22272
|
+
extra: only.extra,
|
|
22273
|
+
isDefault: true
|
|
22274
|
+
}
|
|
22275
|
+
]);
|
|
22276
|
+
}
|
|
22190
22277
|
syncRegistry(tenantId, provider, models) {
|
|
22191
22278
|
if (!this.shouldRegister(tenantId)) {
|
|
22192
22279
|
return [];
|
|
@@ -22201,7 +22288,7 @@ var ModelProviderService = class {
|
|
|
22201
22288
|
this.deps.registry.register(
|
|
22202
22289
|
tenantId,
|
|
22203
22290
|
modelKey2,
|
|
22204
|
-
this.
|
|
22291
|
+
this.buildLlmConfig(provider, model)
|
|
22205
22292
|
);
|
|
22206
22293
|
registered.push(modelKey2);
|
|
22207
22294
|
}
|
|
@@ -22214,6 +22301,28 @@ var ModelProviderService = class {
|
|
|
22214
22301
|
} catch {
|
|
22215
22302
|
}
|
|
22216
22303
|
}
|
|
22304
|
+
/**
|
|
22305
|
+
* Build a model's runtime config, keeping this service's error contract.
|
|
22306
|
+
*
|
|
22307
|
+
* The builder itself lives in core, because the registry's lazy loader needs
|
|
22308
|
+
* the same one when a replica materialises a model it never discovered.
|
|
22309
|
+
* Wrapping here preserves the `ModelProviderServiceError` the API layer
|
|
22310
|
+
* renders — core cannot import a gateway error type.
|
|
22311
|
+
*/
|
|
22312
|
+
buildLlmConfig(provider, model) {
|
|
22313
|
+
try {
|
|
22314
|
+
return (0, import_core52.buildModelLlmConfig)(provider, model);
|
|
22315
|
+
} catch (error) {
|
|
22316
|
+
if (error instanceof import_core52.UnsupportedModelProviderError) {
|
|
22317
|
+
throw new ModelProviderServiceError(
|
|
22318
|
+
"UNSUPPORTED_PROTOCOL",
|
|
22319
|
+
400,
|
|
22320
|
+
"Provider is configured with an unsupported LLM provider"
|
|
22321
|
+
);
|
|
22322
|
+
}
|
|
22323
|
+
throw error;
|
|
22324
|
+
}
|
|
22325
|
+
}
|
|
22217
22326
|
/**
|
|
22218
22327
|
* Enable or disable a single discovered model.
|
|
22219
22328
|
*/
|
|
@@ -22244,34 +22353,6 @@ var ModelProviderService = class {
|
|
|
22244
22353
|
shouldRegister(tenantId) {
|
|
22245
22354
|
return tenantId === PHASE1_REGISTRY_TENANT;
|
|
22246
22355
|
}
|
|
22247
|
-
/**
|
|
22248
|
-
* Build the runtime LLM config for a discovered model.
|
|
22249
|
-
*
|
|
22250
|
-
* `apiKeyEnvName`, `extra` and `modelKwargs` are deliberately omitted — they
|
|
22251
|
-
* would let a tenant name an arbitrary process environment variable to read
|
|
22252
|
-
* credentials from, or inject arbitrary constructor options.
|
|
22253
|
-
*/
|
|
22254
|
-
toLlmConfig(provider, modelId) {
|
|
22255
|
-
if (!ALLOWED_LLM_PROVIDERS.has(provider.llmProvider)) {
|
|
22256
|
-
throw new ModelProviderServiceError(
|
|
22257
|
-
"UNSUPPORTED_PROTOCOL",
|
|
22258
|
-
400,
|
|
22259
|
-
"Provider is configured with an unsupported LLM provider"
|
|
22260
|
-
);
|
|
22261
|
-
}
|
|
22262
|
-
return {
|
|
22263
|
-
provider: provider.llmProvider,
|
|
22264
|
-
model: modelId,
|
|
22265
|
-
displayName: modelId,
|
|
22266
|
-
streaming: true,
|
|
22267
|
-
apiKey: provider.apiKey,
|
|
22268
|
-
baseURL: provider.baseURL,
|
|
22269
|
-
// Chat Completions and the Responses API are different routes with
|
|
22270
|
-
// different request fields; without this the gateway would post
|
|
22271
|
-
// `messages` to an endpoint expecting `input`.
|
|
22272
|
-
...provider.apiStyle === "responses" ? { useResponsesApi: true } : {}
|
|
22273
|
-
};
|
|
22274
|
-
}
|
|
22275
22356
|
/**
|
|
22276
22357
|
* The sole projection from an internal provider entry to an API-safe shape.
|
|
22277
22358
|
*/
|
|
@@ -22296,21 +22377,6 @@ var ModelProviderService = class {
|
|
|
22296
22377
|
updatedAt: provider.updatedAt.toISOString()
|
|
22297
22378
|
};
|
|
22298
22379
|
}
|
|
22299
|
-
/**
|
|
22300
|
-
* Reject a provider that would end up without a credential.
|
|
22301
|
-
*
|
|
22302
|
-
* @param apiKey - The key the provider would hold, if any
|
|
22303
|
-
* @throws {ModelProviderServiceError} When no key is present
|
|
22304
|
-
*/
|
|
22305
|
-
assertHasApiKey(apiKey) {
|
|
22306
|
-
if (!apiKey?.trim()) {
|
|
22307
|
-
throw new ModelProviderServiceError(
|
|
22308
|
-
"INVALID_INPUT",
|
|
22309
|
-
400,
|
|
22310
|
-
"A model provider must have an API key"
|
|
22311
|
-
);
|
|
22312
|
-
}
|
|
22313
|
-
}
|
|
22314
22380
|
/**
|
|
22315
22381
|
* Load a provider or fail with 404.
|
|
22316
22382
|
*
|
|
@@ -22376,9 +22442,9 @@ var ModelProviderService = class {
|
|
|
22376
22442
|
*/
|
|
22377
22443
|
async assertSafeUrl(baseURL) {
|
|
22378
22444
|
try {
|
|
22379
|
-
await (0,
|
|
22445
|
+
await (0, import_core52.assertSafeUpstreamUrl)(baseURL);
|
|
22380
22446
|
} catch (error) {
|
|
22381
|
-
if (error instanceof
|
|
22447
|
+
if (error instanceof import_core52.UnsafeUpstreamUrlError) {
|
|
22382
22448
|
throw new ModelProviderServiceError(
|
|
22383
22449
|
unsafeReasonToErrorCode[error.reason],
|
|
22384
22450
|
400,
|
|
@@ -22420,15 +22486,18 @@ var providerId = import_zod10.z.string().trim().min(1).max(255);
|
|
|
22420
22486
|
var providerParamsSchema = import_zod10.z.object({ providerId }).strict();
|
|
22421
22487
|
var protocolSchema = import_zod10.z.enum(["openai-compatible"]);
|
|
22422
22488
|
var apiStyleSchema = import_zod10.z.enum(["chat-completions", "responses"]);
|
|
22489
|
+
var extraSchema = import_zod10.z.record(import_zod10.z.string(), import_zod10.z.unknown());
|
|
22423
22490
|
var createProviderSchema = import_zod10.z.object({
|
|
22424
22491
|
name: import_zod10.z.string().trim().min(1).max(255),
|
|
22425
22492
|
displayName: import_zod10.z.string().trim().max(255).optional(),
|
|
22426
22493
|
protocol: protocolSchema,
|
|
22427
22494
|
apiStyle: apiStyleSchema.optional(),
|
|
22428
22495
|
baseURL: import_zod10.z.string().trim().min(1).max(2048),
|
|
22429
|
-
//
|
|
22430
|
-
//
|
|
22431
|
-
|
|
22496
|
+
// Optional: omitting it means the upstream needs no authentication, which
|
|
22497
|
+
// is the normal case for a locally hosted model server. The service turns
|
|
22498
|
+
// that into an explicit no-auth marker rather than an absent key, so the
|
|
22499
|
+
// runtime never falls back to the gateway's own environment credentials.
|
|
22500
|
+
apiKey: import_zod10.z.string().trim().max(1024).optional(),
|
|
22432
22501
|
enabled: import_zod10.z.boolean().optional()
|
|
22433
22502
|
}).strict();
|
|
22434
22503
|
var updateProviderSchema = createProviderSchema.partial().extend({
|
|
@@ -22448,7 +22517,15 @@ var setModelsSchema = import_zod10.z.object({
|
|
|
22448
22517
|
import_zod10.z.object({
|
|
22449
22518
|
modelId: import_zod10.z.string().trim().min(1).max(512),
|
|
22450
22519
|
enabled: import_zod10.z.boolean(),
|
|
22451
|
-
stale: import_zod10.z.boolean().optional()
|
|
22520
|
+
stale: import_zod10.z.boolean().optional(),
|
|
22521
|
+
// Omitted means "leave the stored config alone" — the picker sends
|
|
22522
|
+
// only ids and states, and must not wipe a config set by hand.
|
|
22523
|
+
extra: extraSchema.optional(),
|
|
22524
|
+
// At most one per tenant; the service rejects a tie with a
|
|
22525
|
+
// readable error rather than letting the unique index raise one.
|
|
22526
|
+
// Omitted means "leave the stored flag alone", which is what a
|
|
22527
|
+
// sync carries.
|
|
22528
|
+
isDefault: import_zod10.z.boolean().optional()
|
|
22452
22529
|
}).strict()
|
|
22453
22530
|
).max(1e3)
|
|
22454
22531
|
}).strict();
|
|
@@ -23095,7 +23172,13 @@ var ProjectRosterService = class {
|
|
|
23095
23172
|
}
|
|
23096
23173
|
const agent = (await this.deps.agents.list(actor3.tenantId, actor3.userId)).find((item) => item.assistantId === assistantId);
|
|
23097
23174
|
if (!agent || agent.ownerUserId !== void 0) throw new ProjectRosterServiceError("ASSISTANT_NOT_FOUND", 404, "Agent not found");
|
|
23098
|
-
const room = await this.deps.
|
|
23175
|
+
const room = await this.deps.roomStore.ensureMainRoom({
|
|
23176
|
+
id: (0, import_node_crypto17.randomUUID)(),
|
|
23177
|
+
tenantId: actor3.tenantId,
|
|
23178
|
+
workspaceId: project.workspaceId,
|
|
23179
|
+
projectId: actor3.projectId,
|
|
23180
|
+
name: project.name
|
|
23181
|
+
});
|
|
23099
23182
|
const taken = new Set((await this.deps.membershipStore.list(actor3.tenantId, actor3.projectId)).map((item) => item.mentionName));
|
|
23100
23183
|
const mentionName = uniqueMentionName(agent.name, taken);
|
|
23101
23184
|
let ids = await this.findSafePresence(actor3, room, assistantId);
|
|
@@ -23811,6 +23894,13 @@ var import_protocols18 = require("@axiom-lattice/protocols");
|
|
|
23811
23894
|
// src/services/collaboration/RoomInterruptService.ts
|
|
23812
23895
|
var import_node_crypto19 = require("crypto");
|
|
23813
23896
|
init_projectTaskScope();
|
|
23897
|
+
var RESUMABLE_TASK_INTERRUPT_CODES = /* @__PURE__ */ new Set([
|
|
23898
|
+
"PROJECT_TASK_NOT_RESUMABLE",
|
|
23899
|
+
"PROJECT_TASK_NOT_READY",
|
|
23900
|
+
"PROJECT_TASK_START_CONFLICT",
|
|
23901
|
+
"TASK_STATUS_CONFLICT",
|
|
23902
|
+
"REVIEW_APPROVAL_REQUIRED"
|
|
23903
|
+
]);
|
|
23814
23904
|
var RoomInterruptServiceError = class extends Error {
|
|
23815
23905
|
/** Creates a stable room interrupt error. */
|
|
23816
23906
|
constructor(code, statusCode, message) {
|
|
@@ -23833,7 +23923,16 @@ var RoomInterruptService = class {
|
|
|
23833
23923
|
/** Resolves a pending interrupt with an explicit resume command. */
|
|
23834
23924
|
async resume(input, command) {
|
|
23835
23925
|
await this.deps.requireAccess({ tenantId: input.tenantId, userId: input.userId, projectId: input.projectId });
|
|
23836
|
-
|
|
23926
|
+
if (input.ref.kind === "task") {
|
|
23927
|
+
await this.resumeTask(input, command);
|
|
23928
|
+
return;
|
|
23929
|
+
}
|
|
23930
|
+
await this.resumePresence(input, command);
|
|
23931
|
+
}
|
|
23932
|
+
/** Resolves a bot presence-thread interrupt by dispatching a follow-up resume. */
|
|
23933
|
+
async resumePresence(input, command) {
|
|
23934
|
+
const membershipId = input.ref.kind === "presence" ? input.ref.membershipId : "";
|
|
23935
|
+
const membership = await this.deps.resolveMembership({ tenantId: input.tenantId, projectId: input.projectId, membershipId });
|
|
23837
23936
|
if (!membership || membership.status !== "active" || !membership.roomThreadId || membership.projectId !== input.projectId) {
|
|
23838
23937
|
throw new RoomInterruptServiceError("ROOM_INTERRUPT_TARGET_UNAVAILABLE", 404, "Room interrupt target is unavailable");
|
|
23839
23938
|
}
|
|
@@ -23886,6 +23985,47 @@ var RoomInterruptService = class {
|
|
|
23886
23985
|
}
|
|
23887
23986
|
);
|
|
23888
23987
|
}
|
|
23988
|
+
/** Resolves a Project Task interrupt by re-reading the task thread and resuming its durable run. */
|
|
23989
|
+
async resumeTask(input, command) {
|
|
23990
|
+
if (!this.deps.tasks || !this.deps.execution) throw new RoomInterruptServiceError("ROOM_INTERRUPT_TARGET_UNAVAILABLE", 404, "Project task runtime is unavailable");
|
|
23991
|
+
const taskId = input.ref.kind === "task" ? input.ref.taskId : "";
|
|
23992
|
+
const task = await this.deps.tasks.getById(input.tenantId, taskId);
|
|
23993
|
+
if (!task || task.tenantId !== input.tenantId || task.projectId !== input.projectId || task.status !== "interrupted" || typeof task.context?.thread_id !== "string") {
|
|
23994
|
+
throw new RoomInterruptServiceError("ROOM_INTERRUPT_NOT_PENDING", 409, "Room interrupt is no longer pending");
|
|
23995
|
+
}
|
|
23996
|
+
const status = await this.deps.getThreadStatus({
|
|
23997
|
+
tenantId: task.tenantId,
|
|
23998
|
+
assistantId: task.ownerId,
|
|
23999
|
+
threadId: task.context.thread_id,
|
|
24000
|
+
workspaceId: task.workspaceId ?? "",
|
|
24001
|
+
projectId: task.projectId ?? ""
|
|
24002
|
+
});
|
|
24003
|
+
if (String(status) !== "interrupted") throw new RoomInterruptServiceError("ROOM_INTERRUPT_NOT_PENDING", 409, "Room interrupt is no longer pending");
|
|
24004
|
+
if (this.deps.getThreadState) {
|
|
24005
|
+
const state = await this.deps.getThreadState({
|
|
24006
|
+
tenantId: task.tenantId,
|
|
24007
|
+
assistantId: task.ownerId,
|
|
24008
|
+
threadId: task.context.thread_id,
|
|
24009
|
+
workspaceId: task.workspaceId ?? "",
|
|
24010
|
+
projectId: task.projectId ?? ""
|
|
24011
|
+
});
|
|
24012
|
+
if (readClarifyInterrupt(state) === void 0) {
|
|
24013
|
+
throw new RoomInterruptServiceError("ROOM_INTERRUPT_NOT_PENDING", 409, "Room interrupt is no longer pending");
|
|
24014
|
+
}
|
|
24015
|
+
}
|
|
24016
|
+
try {
|
|
24017
|
+
await this.deps.execution.dispatchDetached(
|
|
24018
|
+
{ tenantId: task.tenantId, taskId: task.id, actor: `user:${input.userId}` },
|
|
24019
|
+
void 0,
|
|
24020
|
+
{ command, expectedStatus: "interrupted" }
|
|
24021
|
+
);
|
|
24022
|
+
} catch (error) {
|
|
24023
|
+
if (error instanceof ProjectTaskExecutionError && RESUMABLE_TASK_INTERRUPT_CODES.has(error.code)) {
|
|
24024
|
+
throw new RoomInterruptServiceError("ROOM_INTERRUPT_NOT_PENDING", 409, error.message);
|
|
24025
|
+
}
|
|
24026
|
+
throw error;
|
|
24027
|
+
}
|
|
24028
|
+
}
|
|
23889
24029
|
};
|
|
23890
24030
|
|
|
23891
24031
|
// src/schemas/project-room.ts
|
|
@@ -23929,14 +24069,18 @@ var updateProjectBotSchema = import_zod12.z.object({
|
|
|
23929
24069
|
expectedUpdatedAt: isoDate
|
|
23930
24070
|
}).strict().refine((value) => value.role !== void 0 || value.title !== void 0 || value.responsibility !== void 0 || value.mentionName !== void 0, { message: "At least one mutable field is required" });
|
|
23931
24071
|
var resumeInterruptSchema = import_zod12.z.object({
|
|
23932
|
-
|
|
24072
|
+
ref: import_zod12.z.discriminatedUnion("kind", [
|
|
24073
|
+
import_zod12.z.object({ kind: import_zod12.z.literal("presence"), membershipId: id2 }).strict(),
|
|
24074
|
+
import_zod12.z.object({ kind: import_zod12.z.literal("task"), taskId: id2 }).strict()
|
|
24075
|
+
]).optional(),
|
|
24076
|
+
membershipId: id2.optional(),
|
|
23933
24077
|
answers: import_zod12.z.array(import_zod12.z.object({
|
|
23934
24078
|
questionIndex: import_zod12.z.number().int().nonnegative(),
|
|
23935
24079
|
otherText: import_zod12.z.string().optional(),
|
|
23936
24080
|
selectedOptions: import_zod12.z.array(import_zod12.z.string()).optional(),
|
|
23937
24081
|
filePath: import_zod12.z.string().optional()
|
|
23938
24082
|
}).strict()).optional()
|
|
23939
|
-
}).strict();
|
|
24083
|
+
}).strict().refine((v) => v.ref !== void 0 || v.membershipId !== void 0, { message: "ref or membershipId is required" });
|
|
23940
24084
|
|
|
23941
24085
|
// src/routes/project-rooms.ts
|
|
23942
24086
|
var ProjectRoomAuthError = class extends Error {
|
|
@@ -23987,8 +24131,9 @@ function registerProjectRoomRoutes(app2, deps) {
|
|
|
23987
24131
|
const params = projectRoomParamsSchema.parse(request.params);
|
|
23988
24132
|
const requestActor = actor(request, params.projectId);
|
|
23989
24133
|
const body = resumeInterruptSchema.parse(request.body ?? {});
|
|
24134
|
+
const ref = body.ref ?? { kind: "presence", membershipId: body.membershipId };
|
|
23990
24135
|
await deps.interruptService.resume(
|
|
23991
|
-
{ tenantId: requestActor.tenantId, projectId: requestActor.projectId, userId: requestActor.userId,
|
|
24136
|
+
{ tenantId: requestActor.tenantId, projectId: requestActor.projectId, userId: requestActor.userId, ref },
|
|
23992
24137
|
{ resume: { data: { answers: body.answers ?? [] } } }
|
|
23993
24138
|
);
|
|
23994
24139
|
return { data: { resolved: true } };
|
|
@@ -24095,7 +24240,7 @@ async function execute(reply, operation) {
|
|
|
24095
24240
|
// src/routes/cospace.ts
|
|
24096
24241
|
var import_node_crypto20 = require("crypto");
|
|
24097
24242
|
var import_zod15 = require("zod");
|
|
24098
|
-
var
|
|
24243
|
+
var import_core53 = require("@axiom-lattice/core");
|
|
24099
24244
|
var import_protocols19 = require("@axiom-lattice/protocols");
|
|
24100
24245
|
var CoSpaceAuthError = class extends Error {
|
|
24101
24246
|
constructor() {
|
|
@@ -24280,14 +24425,14 @@ function registerCoSpaceRoutes(app2, deps) {
|
|
|
24280
24425
|
}
|
|
24281
24426
|
let projectId;
|
|
24282
24427
|
if (body.type === "human") {
|
|
24283
|
-
projectId = (0,
|
|
24428
|
+
projectId = (0, import_core53.generateDirectHumanProjectId)(
|
|
24284
24429
|
actor3.tenantId,
|
|
24285
24430
|
params.workspaceId,
|
|
24286
24431
|
actor3.userId,
|
|
24287
24432
|
body.targetUserId
|
|
24288
24433
|
);
|
|
24289
24434
|
} else {
|
|
24290
|
-
projectId = (0,
|
|
24435
|
+
projectId = (0, import_core53.generateDirectBotProjectId)(
|
|
24291
24436
|
actor3.tenantId,
|
|
24292
24437
|
params.workspaceId,
|
|
24293
24438
|
actor3.userId,
|
|
@@ -24494,7 +24639,7 @@ function registerCoSpaceRoutes(app2, deps) {
|
|
|
24494
24639
|
);
|
|
24495
24640
|
const bots = [];
|
|
24496
24641
|
for (const assistant of assistants) {
|
|
24497
|
-
const directProjectId = (0,
|
|
24642
|
+
const directProjectId = (0, import_core53.generateDirectBotProjectId)(
|
|
24498
24643
|
actor3.tenantId,
|
|
24499
24644
|
params.workspaceId,
|
|
24500
24645
|
actor3.userId,
|
|
@@ -24556,7 +24701,7 @@ function registerCoSpaceRoutes(app2, deps) {
|
|
|
24556
24701
|
if (link.userId === actor3.userId) continue;
|
|
24557
24702
|
const user = await deps.userStore.getUserById(link.userId);
|
|
24558
24703
|
if (!user) continue;
|
|
24559
|
-
const directProjectId = (0,
|
|
24704
|
+
const directProjectId = (0, import_core53.generateDirectHumanProjectId)(
|
|
24560
24705
|
actor3.tenantId,
|
|
24561
24706
|
params.workspaceId,
|
|
24562
24707
|
actor3.userId,
|
|
@@ -25385,7 +25530,7 @@ function createRoomMessageRetentionJob(input) {
|
|
|
25385
25530
|
|
|
25386
25531
|
// src/services/collaboration/ProjectTaskExecutionMutex.ts
|
|
25387
25532
|
var import_protocols22 = require("@axiom-lattice/protocols");
|
|
25388
|
-
var
|
|
25533
|
+
var import_core54 = require("@axiom-lattice/core");
|
|
25389
25534
|
var MACHINE_LEASE_OPTIONS = { ttlMs: 6e4, acquireTimeoutMs: 9e4, retryDelayMs: 100 };
|
|
25390
25535
|
function machineKey(scope) {
|
|
25391
25536
|
const snapshot = (0, import_protocols22.snapshotExactRecord)(scope, ["tenantId", "assistantId", "projectId"]);
|
|
@@ -25413,9 +25558,9 @@ var ProjectTaskExecutionMutex = class {
|
|
|
25413
25558
|
const leaseKey = `project-task-machine:${encodeURIComponent(scope.tenantId)}:${encodeURIComponent(scope.assistantId)}:${encodeURIComponent(scope.projectId)}`;
|
|
25414
25559
|
await this.acquire(key, signal);
|
|
25415
25560
|
try {
|
|
25416
|
-
const store2 = (0,
|
|
25561
|
+
const store2 = (0, import_core54.getCoordinationLeaseStore)();
|
|
25417
25562
|
if (!store2) return await operation();
|
|
25418
|
-
return await (0,
|
|
25563
|
+
return await (0, import_core54.withLease)(store2, leaseKey, (0, import_core54.getReplicaId)(), operation, MACHINE_LEASE_OPTIONS);
|
|
25419
25564
|
} finally {
|
|
25420
25565
|
this.release(key);
|
|
25421
25566
|
}
|
|
@@ -25466,9 +25611,57 @@ var ProjectTaskExecutionMutex = class {
|
|
|
25466
25611
|
}
|
|
25467
25612
|
};
|
|
25468
25613
|
|
|
25614
|
+
// src/services/collaboration/TaskInterruptCardProjector.ts
|
|
25615
|
+
function clarifyFence(data) {
|
|
25616
|
+
return ["```clarify", JSON.stringify(data), "```"].join("\n");
|
|
25617
|
+
}
|
|
25618
|
+
var TaskInterruptCardProjector = class {
|
|
25619
|
+
constructor(deps) {
|
|
25620
|
+
this.deps = deps;
|
|
25621
|
+
}
|
|
25622
|
+
/** Projects the interruption as a correlated room card when it is a clarify. */
|
|
25623
|
+
async project(input) {
|
|
25624
|
+
const clarify = readClarifyInterrupt(input.state);
|
|
25625
|
+
if (!clarify) return;
|
|
25626
|
+
const { task, messageId } = input;
|
|
25627
|
+
const workspaceId = task.workspaceId;
|
|
25628
|
+
const projectId = task.projectId;
|
|
25629
|
+
if (!workspaceId || !projectId) return;
|
|
25630
|
+
const adapter = this.deps.adapter;
|
|
25631
|
+
const sendInterrupt = adapter.sendInterrupt;
|
|
25632
|
+
if (!sendInterrupt) {
|
|
25633
|
+
this.safeWarn("project-room:task-interrupt-card-unsupported", { taskId: task.id });
|
|
25634
|
+
return;
|
|
25635
|
+
}
|
|
25636
|
+
try {
|
|
25637
|
+
const room = snapshotProjectRoom(await this.deps.rooms.getMainRoom(task.tenantId, projectId));
|
|
25638
|
+
if (!room || !room.id || room.tenantId !== task.tenantId || room.workspaceId !== workspaceId || room.projectId !== projectId) return;
|
|
25639
|
+
const membership = snapshotBotMembership(await this.deps.bots.findByAssistant(task.tenantId, projectId, task.ownerId));
|
|
25640
|
+
if (!membership || membership.tenantId !== task.tenantId || membership.workspaceId !== workspaceId || membership.projectId !== projectId || membership.roomId !== room.id || membership.assistantId !== task.ownerId || membership.status !== "active") return;
|
|
25641
|
+
const installation = await this.deps.installation.ensure(task.tenantId);
|
|
25642
|
+
const text = clarifyFence({ taskId: task.id, questions: clarify.questions });
|
|
25643
|
+
await sendInterrupt.call(
|
|
25644
|
+
adapter,
|
|
25645
|
+
{ adapterChannel: "room", channelInstallationId: installation.id, rawTarget: { targetMembershipId: membership.id } },
|
|
25646
|
+
{ text, metadata: { correlationKey: `task:${task.id}:${messageId}` } },
|
|
25647
|
+
installation
|
|
25648
|
+
);
|
|
25649
|
+
} catch (error) {
|
|
25650
|
+
this.safeWarn("project-room:task-interrupt-card-failed", { taskId: task.id, error: error instanceof Error ? error.message : String(error) });
|
|
25651
|
+
}
|
|
25652
|
+
}
|
|
25653
|
+
/** Logs without ever letting a failing logger reject `project()`. */
|
|
25654
|
+
safeWarn(message, context) {
|
|
25655
|
+
try {
|
|
25656
|
+
this.deps.log.warn(message, context);
|
|
25657
|
+
} catch {
|
|
25658
|
+
}
|
|
25659
|
+
}
|
|
25660
|
+
};
|
|
25661
|
+
|
|
25469
25662
|
// src/services/collaboration/ProjectTaskObserver.ts
|
|
25470
25663
|
var import_node_crypto22 = require("crypto");
|
|
25471
|
-
var
|
|
25664
|
+
var import_core55 = require("@axiom-lattice/core");
|
|
25472
25665
|
var import_protocols23 = require("@axiom-lattice/protocols");
|
|
25473
25666
|
|
|
25474
25667
|
// src/services/collaboration/projectTaskDispatchMarker.ts
|
|
@@ -25505,7 +25698,7 @@ var ProjectTaskObserver = class {
|
|
|
25505
25698
|
throw new Error(`Invalid Project task observer bound: ${name}`);
|
|
25506
25699
|
}
|
|
25507
25700
|
}
|
|
25508
|
-
this.runBridge = (0,
|
|
25701
|
+
this.runBridge = (0, import_core55.createTaskRunBridge)({ lifecycle: this.deps.lifecycle });
|
|
25509
25702
|
}
|
|
25510
25703
|
/** Fire-and-forget notifier adapter that never waits for observer work or machine acquisition. */
|
|
25511
25704
|
async listener(event) {
|
|
@@ -26721,7 +26914,7 @@ function isRecord3(value) {
|
|
|
26721
26914
|
init_projectTaskScope();
|
|
26722
26915
|
|
|
26723
26916
|
// src/services/collaboration/ProjectRoomRealtimeRuntime.ts
|
|
26724
|
-
var
|
|
26917
|
+
var import_core56 = require("@axiom-lattice/core");
|
|
26725
26918
|
|
|
26726
26919
|
// src/services/collaboration/ProjectRoomEventBroker.ts
|
|
26727
26920
|
var import_node_crypto24 = require("crypto");
|
|
@@ -27496,7 +27689,7 @@ function createProjectRoomRealtimeRuntime(deps) {
|
|
|
27496
27689
|
broker,
|
|
27497
27690
|
publisher,
|
|
27498
27691
|
subscriber,
|
|
27499
|
-
subscribe: (listener) =>
|
|
27692
|
+
subscribe: (listener) => import_core56.taskLifecycleNotifier.subscribe(listener),
|
|
27500
27693
|
log: deps.log,
|
|
27501
27694
|
shutdownTimeoutMs: deps.shutdownTimeoutMs
|
|
27502
27695
|
});
|
|
@@ -28233,35 +28426,35 @@ function hookErrorMessage(error) {
|
|
|
28233
28426
|
function wrapReassignmentThreadError(error) {
|
|
28234
28427
|
if (error instanceof ProjectTaskThreadError) {
|
|
28235
28428
|
if (error.code === "PROJECT_TASK_THREAD_SCOPE_INVALID") {
|
|
28236
|
-
return new
|
|
28429
|
+
return new import_core57.ManagedTaskStartError("PROJECT_TASK_CONTEXT_INVALID", error.message, {
|
|
28237
28430
|
hint: "Project task, room, or roster scope changed; re-read the task and retry."
|
|
28238
28431
|
});
|
|
28239
28432
|
}
|
|
28240
28433
|
if (error.code === "PROJECT_TASK_THREAD_OWNER_INVALID") {
|
|
28241
|
-
return new
|
|
28434
|
+
return new import_core57.ManagedTaskStartError("TASK_REASSIGN_NO_CHANGE", error.message, {
|
|
28242
28435
|
hint: "The target already owns this task; re-read before dispatching."
|
|
28243
28436
|
});
|
|
28244
28437
|
}
|
|
28245
|
-
return new
|
|
28438
|
+
return new import_core57.ManagedTaskStartError("TASK_THREAD_CONFLICT", error.message, {
|
|
28246
28439
|
hint: "Task Thread changed concurrently; re-read the task and retry."
|
|
28247
28440
|
});
|
|
28248
28441
|
}
|
|
28249
|
-
return new
|
|
28442
|
+
return new import_core57.ManagedTaskStartError("TASK_EXECUTION_ENQUEUE_FAILED", hookErrorMessage(error), {
|
|
28250
28443
|
hint: "Re-read the task and retry the dispatch."
|
|
28251
28444
|
});
|
|
28252
28445
|
}
|
|
28253
28446
|
function wrapReassignmentAuthorizationError(error) {
|
|
28254
|
-
if (error instanceof
|
|
28447
|
+
if (error instanceof import_core57.ProjectTaskOwnerPolicyError) {
|
|
28255
28448
|
if (error.code === "PROJECT_TASK_CALLER_INACTIVE") {
|
|
28256
|
-
return new
|
|
28449
|
+
return new import_core57.ManagedTaskStartError("PROJECT_TASK_CALLER_INACTIVE", error.message, {
|
|
28257
28450
|
hint: "Dispatch from an active Project Room member bot."
|
|
28258
28451
|
});
|
|
28259
28452
|
}
|
|
28260
|
-
return new
|
|
28453
|
+
return new import_core57.ManagedTaskStartError("PROJECT_TASK_OWNER_INACTIVE", error.message, {
|
|
28261
28454
|
hint: "Dispatch to an active bot in this Project's roster."
|
|
28262
28455
|
});
|
|
28263
28456
|
}
|
|
28264
|
-
return new
|
|
28457
|
+
return new import_core57.ManagedTaskStartError("PROJECT_TASK_CONTEXT_INVALID", hookErrorMessage(error), {
|
|
28265
28458
|
hint: "Re-read the task and roster, then retry the dispatch."
|
|
28266
28459
|
});
|
|
28267
28460
|
}
|
|
@@ -28290,43 +28483,43 @@ async function transferGovernedDispatchOwner(task, options, deps) {
|
|
|
28290
28483
|
const agentId = options?.agentId;
|
|
28291
28484
|
if (!agentId || agentId === task.ownerId) return void 0;
|
|
28292
28485
|
if (!task.workspaceId || !task.projectId) {
|
|
28293
|
-
throw new
|
|
28486
|
+
throw new import_core57.ManagedTaskStartError("PROJECT_TASK_CONTEXT_INVALID", "Task is not governed by a Project lifecycle.", {
|
|
28294
28487
|
hint: "Dispatch governed tasks from a trusted Project run; ordinary tasks execute immediately."
|
|
28295
28488
|
});
|
|
28296
28489
|
}
|
|
28297
28490
|
return deps.mutex.runExclusive({ tenantId: task.tenantId, projectId: task.projectId }, async () => {
|
|
28298
28491
|
const current = await deps.tasks.getById(task.tenantId, task.id);
|
|
28299
28492
|
if (!current || !isProjectLifecycleTask(current) || current.workspaceId !== task.workspaceId || current.projectId !== task.projectId) {
|
|
28300
|
-
throw new
|
|
28493
|
+
throw new import_core57.ManagedTaskStartError("PROJECT_TASK_CONTEXT_INVALID", "Task is no longer a Project lifecycle task.", {
|
|
28301
28494
|
hint: "Re-read the task and confirm it still belongs to this Project before dispatching."
|
|
28302
28495
|
});
|
|
28303
28496
|
}
|
|
28304
28497
|
if (current.ownerType !== "agent") {
|
|
28305
|
-
throw new
|
|
28498
|
+
throw new import_core57.ManagedTaskStartError("AGENT_TASK_REQUIRED", "Project task owner must be an Agent.", {
|
|
28306
28499
|
hint: "Assign the task to an Agent before dispatching."
|
|
28307
28500
|
});
|
|
28308
28501
|
}
|
|
28309
28502
|
if (current.status !== "pending") {
|
|
28310
|
-
throw new
|
|
28503
|
+
throw new import_core57.ManagedTaskStartError("TASK_NOT_DISPATCHABLE", "Only a `pending` Project task can be dispatched.", {
|
|
28311
28504
|
hint: `This task is '${current.status}'. Resolve it or create a new task before dispatching.`
|
|
28312
28505
|
});
|
|
28313
28506
|
}
|
|
28314
28507
|
if (agentId === current.ownerId) return current;
|
|
28315
28508
|
const room = await deps.rooms.getMainRoom(current.tenantId, current.projectId);
|
|
28316
28509
|
if (!room || room.tenantId !== current.tenantId || room.workspaceId !== current.workspaceId || room.projectId !== current.projectId || room.type !== "main") {
|
|
28317
|
-
throw new
|
|
28510
|
+
throw new import_core57.ManagedTaskStartError("PROJECT_TASK_CONTEXT_INVALID", "Project main room is unavailable.", {
|
|
28318
28511
|
hint: "Open or repair the Project Room before dispatching."
|
|
28319
28512
|
});
|
|
28320
28513
|
}
|
|
28321
28514
|
const target = await deps.botMemberships.findByAssistant(current.tenantId, current.projectId, agentId);
|
|
28322
28515
|
if (!target || target.status !== "active" || target.tenantId !== current.tenantId || target.workspaceId !== current.workspaceId || target.projectId !== current.projectId || target.assistantId !== agentId || target.roomId !== room.id) {
|
|
28323
|
-
throw new
|
|
28516
|
+
throw new import_core57.ManagedTaskStartError("PROJECT_TASK_OWNER_INACTIVE", "Target Project task owner is not active in the exact roster.", {
|
|
28324
28517
|
hint: "Dispatch to an active bot in this Project's roster."
|
|
28325
28518
|
});
|
|
28326
28519
|
}
|
|
28327
28520
|
const caller = options?.callerMembershipId ? await deps.botMemberships.findById(current.tenantId, options.callerMembershipId) : null;
|
|
28328
28521
|
if (!caller || !options?.callerAssistantId || caller.id !== options.callerMembershipId || caller.assistantId !== options.callerAssistantId || caller.status !== "active" || caller.tenantId !== current.tenantId || caller.workspaceId !== current.workspaceId || caller.projectId !== current.projectId || caller.roomId !== room.id) {
|
|
28329
|
-
throw new
|
|
28522
|
+
throw new import_core57.ManagedTaskStartError("PROJECT_TASK_CALLER_INACTIVE", "Current Project task caller is not active in the exact roster.", {
|
|
28330
28523
|
hint: "Dispatch from an active Project Room member bot."
|
|
28331
28524
|
});
|
|
28332
28525
|
}
|
|
@@ -28361,7 +28554,7 @@ async function transferGovernedDispatchOwner(task, options, deps) {
|
|
|
28361
28554
|
actor: `agent:${caller.assistantId}`
|
|
28362
28555
|
});
|
|
28363
28556
|
if (!result.success) {
|
|
28364
|
-
throw new
|
|
28557
|
+
throw new import_core57.ManagedTaskStartError(result.code, result.error, {
|
|
28365
28558
|
hint: result.hint ?? reassignmentFailureHint(result.code),
|
|
28366
28559
|
...result.retryable !== void 0 ? { retryable: result.retryable } : {}
|
|
28367
28560
|
});
|
|
@@ -28372,25 +28565,25 @@ async function transferGovernedDispatchOwner(task, options, deps) {
|
|
|
28372
28565
|
function broadcastModelProviderChanged(tenantId, providerId2) {
|
|
28373
28566
|
if (!tenantId) return;
|
|
28374
28567
|
try {
|
|
28375
|
-
const outbox = (0,
|
|
28376
|
-
void publishModelProviderChanged(outbox, (0,
|
|
28568
|
+
const outbox = (0, import_core57.getStoreLattice)("default", "outbox").store;
|
|
28569
|
+
void publishModelProviderChanged(outbox, (0, import_core57.getReplicaId)(), tenantId, providerId2);
|
|
28377
28570
|
} catch {
|
|
28378
28571
|
}
|
|
28379
28572
|
}
|
|
28380
28573
|
var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
28381
|
-
const webAppStore = (0,
|
|
28382
|
-
const assistantStore = (0,
|
|
28383
|
-
const projectStore = (0,
|
|
28384
|
-
const projectMembershipStore = (0,
|
|
28385
|
-
const userTenantLinkStore = (0,
|
|
28386
|
-
const projectRoomStore = (0,
|
|
28387
|
-
const projectBotMembershipStore = (0,
|
|
28388
|
-
const projectRoomMessageStore = (0,
|
|
28389
|
-
const projectRoomReadStateStore = (0,
|
|
28390
|
-
const userPushSubscriptionStore = (0,
|
|
28391
|
-
const threadStore = (0,
|
|
28392
|
-
const taskStore = (0,
|
|
28393
|
-
const taskWorkItemStore = (0,
|
|
28574
|
+
const webAppStore = (0, import_core57.getStoreLattice)("default", "agentWebApp").store;
|
|
28575
|
+
const assistantStore = (0, import_core57.getStoreLattice)("default", "assistant").store;
|
|
28576
|
+
const projectStore = (0, import_core57.getStoreLattice)("default", "project").store;
|
|
28577
|
+
const projectMembershipStore = (0, import_core57.getStoreLattice)("default", "projectMembership").store;
|
|
28578
|
+
const userTenantLinkStore = (0, import_core57.getStoreLattice)("default", "userTenantLink").store;
|
|
28579
|
+
const projectRoomStore = (0, import_core57.getStoreLattice)("default", "projectRoom").store;
|
|
28580
|
+
const projectBotMembershipStore = (0, import_core57.getStoreLattice)("default", "projectBotMembership").store;
|
|
28581
|
+
const projectRoomMessageStore = (0, import_core57.getStoreLattice)("default", "projectRoomMessage").store;
|
|
28582
|
+
const projectRoomReadStateStore = (0, import_core57.getStoreLattice)("default", "projectRoomReadState").store;
|
|
28583
|
+
const userPushSubscriptionStore = (0, import_core57.getStoreLattice)("default", "userPushSubscription").store;
|
|
28584
|
+
const threadStore = (0, import_core57.getStoreLattice)("default", "thread").store;
|
|
28585
|
+
const taskStore = (0, import_core57.getStoreLattice)("default", "task").store;
|
|
28586
|
+
const taskWorkItemStore = (0, import_core57.getStoreLattice)("default", "taskWorkItem").store;
|
|
28394
28587
|
const projectTaskEnabled = options.projectTaskEnabled ?? process.env.AXIOM_PROJECT_TASK_EXECUTION_ENABLED !== "false";
|
|
28395
28588
|
const accessService = new ProjectAccessService({ projectStore, membershipStore: projectMembershipStore, userTenantLinkStore });
|
|
28396
28589
|
const realtimeMode = resolveProjectRoomRealtimeMode();
|
|
@@ -28456,7 +28649,7 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28456
28649
|
updateAssistant: assistantStore.updateAssistant.bind(assistantStore)
|
|
28457
28650
|
});
|
|
28458
28651
|
const resolveCoordinatorMentionName = async (tenantId) => {
|
|
28459
|
-
const tenant2 = await (0,
|
|
28652
|
+
const tenant2 = await (0, import_core57.getStoreLattice)("default", "tenant").store.getTenantById(tenantId);
|
|
28460
28653
|
const value = tenant2?.metadata?.coordinatorMentionName;
|
|
28461
28654
|
return typeof value === "string" && value.length > 0 ? value : void 0;
|
|
28462
28655
|
};
|
|
@@ -28474,31 +28667,11 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28474
28667
|
ensureCoordinator: (scope) => coordinatorEnsurer.ensure(scope),
|
|
28475
28668
|
log: realtimeLog
|
|
28476
28669
|
});
|
|
28477
|
-
const
|
|
28478
|
-
requireAccess: async ({ tenantId, userId, projectId }) => {
|
|
28479
|
-
await accessService.requireProjectAccess({ tenantId, userId, projectId, capability: "send" });
|
|
28480
|
-
},
|
|
28481
|
-
resolveMembership: async ({ tenantId, projectId, membershipId }) => {
|
|
28482
|
-
const membership = await projectBotMembershipStore.findById(tenantId, membershipId);
|
|
28483
|
-
return membership !== null && membership.projectId === projectId ? membership : null;
|
|
28484
|
-
},
|
|
28485
|
-
getThreadStatus: async ({ tenantId, assistantId, threadId, workspaceId, projectId }) => {
|
|
28486
|
-
const agent = import_core55.agentInstanceManager.getAgent({
|
|
28487
|
-
tenant_id: tenantId,
|
|
28488
|
-
assistant_id: assistantId,
|
|
28489
|
-
thread_id: threadId,
|
|
28490
|
-
workspace_id: workspaceId,
|
|
28491
|
-
project_id: projectId
|
|
28492
|
-
});
|
|
28493
|
-
return String(await agent.getRunStatus());
|
|
28494
|
-
},
|
|
28495
|
-
dispatcher: (0, import_core55.createTrustedAgentMessageDispatcher)((scope) => import_core55.agentInstanceManager.getAgent(scope)),
|
|
28496
|
-
projects: projectStore
|
|
28497
|
-
});
|
|
28498
|
-
const membershipService = new ProjectMembershipService({ membershipStore: projectMembershipStore, userTenantLinkStore, accessService, projectMutationMutex: import_core55.projectMutationMutex, roomStore: projectRoomStore, realtime, onRealtimeFailure: realtime && channelDeps?.warn ? ({ code, membershipId }) => channelDeps.warn?.("project-room:membership-realtime-failed", { code, membershipId }) : void 0 });
|
|
28670
|
+
const membershipService = new ProjectMembershipService({ membershipStore: projectMembershipStore, userTenantLinkStore, accessService, projectMutationMutex: import_core57.projectMutationMutex, roomStore: projectRoomStore, realtime, onRealtimeFailure: realtime && channelDeps?.warn ? ({ code, membershipId }) => channelDeps.warn?.("project-room:membership-realtime-failed", { code, membershipId }) : void 0 });
|
|
28499
28671
|
const rosterService = new ProjectRosterService({
|
|
28500
28672
|
accessService,
|
|
28501
28673
|
roomService,
|
|
28674
|
+
roomStore: projectRoomStore,
|
|
28502
28675
|
membershipStore: projectBotMembershipStore,
|
|
28503
28676
|
projects: projectStore,
|
|
28504
28677
|
agents: { list: async (tenantId, userId) => (await collectTenantAssistants(tenantId, userId)).map((assistant) => ({ assistantId: assistant.id, name: assistant.name, ...assistant.ownerUserId === void 0 ? {} : { ownerUserId: assistant.ownerUserId } })) },
|
|
@@ -28506,7 +28679,7 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28506
28679
|
assistantStore,
|
|
28507
28680
|
taskStore,
|
|
28508
28681
|
bindingLifecycle,
|
|
28509
|
-
projectMutationMutex:
|
|
28682
|
+
projectMutationMutex: import_core57.projectMutationMutex,
|
|
28510
28683
|
realtime,
|
|
28511
28684
|
onRealtimeFailure: realtime && channelDeps?.warn ? ({ code, membershipId }) => channelDeps.warn?.("project-room:roster-realtime-failed", { code, membershipId }) : void 0
|
|
28512
28685
|
});
|
|
@@ -28548,6 +28721,14 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28548
28721
|
messageId: event.messageId
|
|
28549
28722
|
}) : void 0
|
|
28550
28723
|
});
|
|
28724
|
+
const roomAdapter = channelDeps?.adapterRegistry.get("room");
|
|
28725
|
+
const taskInterruptProjector = installation && roomAdapter ? new TaskInterruptCardProjector({
|
|
28726
|
+
rooms: projectRoomStore,
|
|
28727
|
+
bots: projectBotMembershipStore,
|
|
28728
|
+
installation,
|
|
28729
|
+
adapter: roomAdapter,
|
|
28730
|
+
log: realtimeLog
|
|
28731
|
+
}) : void 0;
|
|
28551
28732
|
const projectTaskRuntime = projectTaskEnabled ? tryCreateProjectTaskRuntime({
|
|
28552
28733
|
taskStore,
|
|
28553
28734
|
taskWorkItemStore,
|
|
@@ -28559,7 +28740,10 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28559
28740
|
realtime,
|
|
28560
28741
|
log: options.projectTaskLog,
|
|
28561
28742
|
ensurePublicOwner: (scope) => rosterService.ensurePublicProjectAgent(scope),
|
|
28562
|
-
...coordinatorWakeNotifier === void 0 ? {} : { coordinatorWake: coordinatorWakeNotifier }
|
|
28743
|
+
...coordinatorWakeNotifier === void 0 ? {} : { coordinatorWake: coordinatorWakeNotifier },
|
|
28744
|
+
...taskInterruptProjector === void 0 ? {} : {
|
|
28745
|
+
onTaskInterrupted: (input) => taskInterruptProjector.project(input)
|
|
28746
|
+
}
|
|
28563
28747
|
}) : { reason: void 0 };
|
|
28564
28748
|
const projectTaskComposition = "composition" in projectTaskRuntime ? projectTaskRuntime.composition : void 0;
|
|
28565
28749
|
const projectTaskUnavailableReason = "reason" in projectTaskRuntime ? projectTaskRuntime.reason : void 0;
|
|
@@ -28570,9 +28754,9 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28570
28754
|
}
|
|
28571
28755
|
if (projectTaskComposition) app2.addHook("onClose", async () => projectTaskComposition.lease.release());
|
|
28572
28756
|
const taskThreadService = projectTaskComposition?.lease.runtime.threads ?? new ProjectTaskThreadService({ threads: threadStore, idFactory: import_node_crypto26.randomUUID });
|
|
28573
|
-
const taskLifecycle = projectTaskComposition?.lease.runtime.lifecycle ?? (0,
|
|
28574
|
-
const reassignmentAuthorizer = (0,
|
|
28575
|
-
new
|
|
28757
|
+
const taskLifecycle = projectTaskComposition?.lease.runtime.lifecycle ?? (0, import_core57.createTaskLifecycleService)({ taskStore, workItemStore: taskWorkItemStore });
|
|
28758
|
+
const reassignmentAuthorizer = (0, import_core57.createProjectTaskReassignmentAuthorizer)(
|
|
28759
|
+
new import_core57.ProjectTaskOwnerPolicy(projectBotMembershipStore),
|
|
28576
28760
|
(input) => validateReassignmentThread(threadStore, input)
|
|
28577
28761
|
);
|
|
28578
28762
|
const taskCommandService = new TaskCommandService({
|
|
@@ -28581,7 +28765,7 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28581
28765
|
lifecycle: taskLifecycle,
|
|
28582
28766
|
execution: projectTaskComposition?.lease.runtime.execution,
|
|
28583
28767
|
threads: taskThreadService,
|
|
28584
|
-
agents: { getAgent: (params) =>
|
|
28768
|
+
agents: { getAgent: (params) => import_core57.agentInstanceManager.getAgent(params) },
|
|
28585
28769
|
taskScope: (task) => resolveCommandTaskScope(task, {
|
|
28586
28770
|
rooms: projectRoomStore,
|
|
28587
28771
|
bots: projectBotMembershipStore,
|
|
@@ -28589,6 +28773,39 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28589
28773
|
}),
|
|
28590
28774
|
reassign: unsupportedHumanReassign
|
|
28591
28775
|
});
|
|
28776
|
+
const roomInterruptService = new RoomInterruptService({
|
|
28777
|
+
requireAccess: async ({ tenantId, userId, projectId }) => {
|
|
28778
|
+
await accessService.requireProjectAccess({ tenantId, userId, projectId, capability: "send" });
|
|
28779
|
+
},
|
|
28780
|
+
resolveMembership: async ({ tenantId, projectId, membershipId }) => {
|
|
28781
|
+
const membership = await projectBotMembershipStore.findById(tenantId, membershipId);
|
|
28782
|
+
return membership !== null && membership.projectId === projectId ? membership : null;
|
|
28783
|
+
},
|
|
28784
|
+
getThreadStatus: async ({ tenantId, assistantId, threadId, workspaceId, projectId }) => {
|
|
28785
|
+
const agent = import_core57.agentInstanceManager.getAgent({
|
|
28786
|
+
tenant_id: tenantId,
|
|
28787
|
+
assistant_id: assistantId,
|
|
28788
|
+
thread_id: threadId,
|
|
28789
|
+
workspace_id: workspaceId,
|
|
28790
|
+
project_id: projectId
|
|
28791
|
+
});
|
|
28792
|
+
return String(await agent.getRunStatus());
|
|
28793
|
+
},
|
|
28794
|
+
getThreadState: async ({ tenantId, assistantId, threadId, workspaceId, projectId }) => {
|
|
28795
|
+
const agent = import_core57.agentInstanceManager.getAgent({
|
|
28796
|
+
tenant_id: tenantId,
|
|
28797
|
+
assistant_id: assistantId,
|
|
28798
|
+
thread_id: threadId,
|
|
28799
|
+
workspace_id: workspaceId,
|
|
28800
|
+
project_id: projectId
|
|
28801
|
+
});
|
|
28802
|
+
return agent.getCurrentState();
|
|
28803
|
+
},
|
|
28804
|
+
dispatcher: (0, import_core57.createTrustedAgentMessageDispatcher)((scope) => import_core57.agentInstanceManager.getAgent(scope)),
|
|
28805
|
+
projects: projectStore,
|
|
28806
|
+
tasks: taskStore,
|
|
28807
|
+
execution: projectTaskComposition?.lease.runtime.execution
|
|
28808
|
+
});
|
|
28592
28809
|
const publicRoomService = new WorkspacePublicRoomService({
|
|
28593
28810
|
getProjectById: projectStore.getProjectById.bind(projectStore),
|
|
28594
28811
|
createProject: projectStore.createProject.bind(projectStore),
|
|
@@ -28619,7 +28836,7 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28619
28836
|
readStateService,
|
|
28620
28837
|
interruptService: roomInterruptService,
|
|
28621
28838
|
userDirectory: {
|
|
28622
|
-
getUserById: (id3) => (0,
|
|
28839
|
+
getUserById: (id3) => (0, import_core57.getStoreLattice)("default", "user").store.getUserById(id3).then((u) => u ? { name: u.name } : null)
|
|
28623
28840
|
}
|
|
28624
28841
|
});
|
|
28625
28842
|
registerProjectRosterRoutes(app2, { service: rosterService });
|
|
@@ -28630,7 +28847,7 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28630
28847
|
createProject: projectStore.createProject.bind(projectStore)
|
|
28631
28848
|
},
|
|
28632
28849
|
workspaceStore: {
|
|
28633
|
-
getWorkspaceById: (tenantId, id3) => (0,
|
|
28850
|
+
getWorkspaceById: (tenantId, id3) => (0, import_core57.getStoreLattice)("default", "workspace").store.getWorkspaceById(tenantId, id3)
|
|
28634
28851
|
},
|
|
28635
28852
|
membershipStore: {
|
|
28636
28853
|
list: projectMembershipStore.list.bind(projectMembershipStore),
|
|
@@ -28653,7 +28870,7 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28653
28870
|
getUsersByTenant: userTenantLinkStore.getUsersByTenant.bind(userTenantLinkStore)
|
|
28654
28871
|
},
|
|
28655
28872
|
userStore: {
|
|
28656
|
-
getUserById: (id3) => (0,
|
|
28873
|
+
getUserById: (id3) => (0, import_core57.getStoreLattice)("default", "user").store.getUserById(id3).then((u) => u ? { id: u.id, name: u.name, email: u.email } : null)
|
|
28657
28874
|
},
|
|
28658
28875
|
assistantStore: {
|
|
28659
28876
|
getAssistantById: assistantStore.getAssistantById.bind(assistantStore),
|
|
@@ -28675,17 +28892,18 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28675
28892
|
}
|
|
28676
28893
|
});
|
|
28677
28894
|
registerCapabilityBundleRoutes(app2, new CapabilityBundleController({
|
|
28678
|
-
bundleStore: (0,
|
|
28895
|
+
bundleStore: (0, import_core57.getStoreLattice)("default", "capabilityBundle").store,
|
|
28679
28896
|
projectStore
|
|
28680
28897
|
}, { authRequired: process.env.AUTH_REQUIRED === "true" }));
|
|
28681
28898
|
const modelProviderController = new ModelProviderController({
|
|
28682
|
-
providerStore: (0,
|
|
28899
|
+
providerStore: (0, import_core57.getStoreLattice)("default", "modelProvider").store,
|
|
28683
28900
|
userTenantLinkStore,
|
|
28684
28901
|
registry: {
|
|
28685
|
-
register: (tenantId, modelKey2, config) =>
|
|
28686
|
-
has: (tenantId, modelKey2) =>
|
|
28687
|
-
remove: (tenantId, modelKey2) =>
|
|
28688
|
-
listRegistered: (tenantId) =>
|
|
28902
|
+
register: (tenantId, modelKey2, config) => import_core57.modelLatticeManager.registerLatticeWithTenant(tenantId, modelKey2, config),
|
|
28903
|
+
has: (tenantId, modelKey2) => import_core57.modelLatticeManager.hasLatticeWithTenant(tenantId, modelKey2),
|
|
28904
|
+
remove: (tenantId, modelKey2) => import_core57.modelLatticeManager.removeLatticeWithTenant(tenantId, modelKey2),
|
|
28905
|
+
listRegistered: (tenantId) => import_core57.modelLatticeManager.getLatticeKeysByTenant(tenantId),
|
|
28906
|
+
forgetTenantDefaultMiss: (tenantId) => import_core57.modelLatticeManager.forgetTenantDefaultMiss(tenantId)
|
|
28689
28907
|
},
|
|
28690
28908
|
onChanged: (tenantId, providerId2) => broadcastModelProviderChanged(tenantId, providerId2)
|
|
28691
28909
|
}, { authRequired: process.env.AUTH_REQUIRED === "true" });
|
|
@@ -28696,10 +28914,12 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28696
28914
|
webAppStore,
|
|
28697
28915
|
assistantStore,
|
|
28698
28916
|
projectStore,
|
|
28699
|
-
modelRegistry: {
|
|
28917
|
+
modelRegistry: {
|
|
28918
|
+
has: (tenantId, key) => (0, import_core57.hasModelLatticeForTenant)(tenantId, key)
|
|
28919
|
+
},
|
|
28700
28920
|
configuredAgentResolver: createConfiguredAgentResolver({
|
|
28701
|
-
hydrate: (tenantId) =>
|
|
28702
|
-
has: (tenantId, assistantId) =>
|
|
28921
|
+
hydrate: (tenantId) => import_core57.agentLatticeManager.initializeStoredAssistantsForTenant(tenantId),
|
|
28922
|
+
has: (tenantId, assistantId) => import_core57.agentLatticeManager.hasAgentLatticeWithTenant(tenantId, assistantId)
|
|
28703
28923
|
})
|
|
28704
28924
|
})
|
|
28705
28925
|
});
|
|
@@ -28736,28 +28956,28 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28736
28956
|
},
|
|
28737
28957
|
tasks: taskStore,
|
|
28738
28958
|
workItems: taskWorkItemStore,
|
|
28739
|
-
projectMutationMutex:
|
|
28959
|
+
projectMutationMutex: import_core57.projectMutationMutex,
|
|
28740
28960
|
...projectTaskComposition ? { commands: taskCommandService } : {}
|
|
28741
28961
|
}),
|
|
28742
28962
|
service: new AgentWebAppRuntimeService({
|
|
28743
28963
|
webAppStore,
|
|
28744
|
-
threadStore: (0,
|
|
28964
|
+
threadStore: (0, import_core57.getStoreLattice)("default", "thread").store,
|
|
28745
28965
|
projectStore,
|
|
28746
28966
|
assistantResolver: {
|
|
28747
28967
|
resolve: async (tenantId, assistantId) => {
|
|
28748
28968
|
const stored = await assistantStore.getAssistantById(tenantId, assistantId);
|
|
28749
28969
|
if (stored) return { id: stored.id, name: stored.name, description: stored.description };
|
|
28750
|
-
await
|
|
28751
|
-
const config =
|
|
28970
|
+
await import_core57.agentLatticeManager.initializeStoredAssistantsForTenant(tenantId);
|
|
28971
|
+
const config = import_core57.agentLatticeManager.getAgentConfigWithTenant(tenantId, assistantId);
|
|
28752
28972
|
return config ? { id: assistantId, name: config.name, description: config.description } : null;
|
|
28753
28973
|
}
|
|
28754
28974
|
},
|
|
28755
28975
|
modelRegistry: {
|
|
28756
|
-
has: (key) =>
|
|
28757
|
-
label: (key) => key
|
|
28976
|
+
has: (tenantId, key) => (0, import_core57.hasModelLatticeForTenant)(tenantId, key),
|
|
28977
|
+
label: async (tenantId, key) => (await (0, import_core57.resolveModelLatticeForTenant)(tenantId, key))?.client.getConfig().displayName ?? key
|
|
28758
28978
|
},
|
|
28759
28979
|
messageReader: {
|
|
28760
|
-
getCurrentMessages: ({ tenantId, assistantId, threadId, workspaceId, projectId }) =>
|
|
28980
|
+
getCurrentMessages: ({ tenantId, assistantId, threadId, workspaceId, projectId }) => import_core57.agentInstanceManager.getAgentForRead({
|
|
28761
28981
|
tenant_id: tenantId,
|
|
28762
28982
|
assistant_id: assistantId,
|
|
28763
28983
|
thread_id: threadId,
|
|
@@ -28766,7 +28986,7 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28766
28986
|
}).getCurrentMessages()
|
|
28767
28987
|
},
|
|
28768
28988
|
agentResolver: {
|
|
28769
|
-
getAgent: ({ tenantId, assistantId, threadId, workspaceId, projectId }) =>
|
|
28989
|
+
getAgent: ({ tenantId, assistantId, threadId, workspaceId, projectId }) => import_core57.agentInstanceManager.getAgent({
|
|
28770
28990
|
tenant_id: tenantId,
|
|
28771
28991
|
assistant_id: assistantId,
|
|
28772
28992
|
thread_id: threadId,
|
|
@@ -28784,8 +29004,8 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28784
29004
|
if (webApp.tenantId !== preview.tenantId) return false;
|
|
28785
29005
|
const assistant = await assistantStore.getAssistantById(preview.tenantId, webApp.assistantId);
|
|
28786
29006
|
if (assistant) return !assistant.ownerUserId || assistant.ownerUserId === preview.userId;
|
|
28787
|
-
await
|
|
28788
|
-
return
|
|
29007
|
+
await import_core57.agentLatticeManager.initializeStoredAssistantsForTenant(preview.tenantId);
|
|
29008
|
+
return import_core57.agentLatticeManager.hasAgentLatticeWithTenant(preview.tenantId, webApp.assistantId);
|
|
28789
29009
|
}
|
|
28790
29010
|
})
|
|
28791
29011
|
});
|
|
@@ -28842,14 +29062,14 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28842
29062
|
app2.post("/api/personal-assistant", createPersonalAssistant);
|
|
28843
29063
|
app2.get("/api/personal-assistant", getPersonalAssistant);
|
|
28844
29064
|
app2.delete("/api/personal-assistant", deletePersonalAssistant);
|
|
28845
|
-
|
|
29065
|
+
import_core57.executionAuthorityRegistry.register({
|
|
28846
29066
|
id: "project-lifecycle",
|
|
28847
29067
|
matches: isProjectLifecycleTask,
|
|
28848
29068
|
code: "PROJECT_TASK_EXECUTION_MANAGED",
|
|
28849
29069
|
message: "Project tasks are executed by the durable Project queue runtime",
|
|
28850
29070
|
onManagedStart: async (task, options2) => {
|
|
28851
29071
|
if (!projectTaskComposition && options2?.agentId && options2.agentId !== task.ownerId) {
|
|
28852
|
-
throw new
|
|
29072
|
+
throw new import_core57.ManagedTaskStartError(
|
|
28853
29073
|
"PROJECT_TASK_RUNTIME_UNAVAILABLE",
|
|
28854
29074
|
"Project task ownership transfer requires the Project task runtime.",
|
|
28855
29075
|
{ hint: "Project task execution is disabled; enable the Project task runtime or dispatch to the current owner." }
|
|
@@ -28862,7 +29082,7 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28862
29082
|
threads: taskThreadService,
|
|
28863
29083
|
reassignmentAuthorizer,
|
|
28864
29084
|
lifecycle: taskLifecycle,
|
|
28865
|
-
mutex:
|
|
29085
|
+
mutex: import_core57.projectMutationMutex
|
|
28866
29086
|
}) : void 0;
|
|
28867
29087
|
const admitted = transferred ?? task;
|
|
28868
29088
|
if (!admitted.workspaceId || !admitted.projectId) return;
|
|
@@ -28870,7 +29090,7 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28870
29090
|
context: withExecutionRequest(admitted.context, (/* @__PURE__ */ new Date()).toISOString())
|
|
28871
29091
|
}).catch(() => null);
|
|
28872
29092
|
const eventTask = markerUpdated ?? admitted;
|
|
28873
|
-
void
|
|
29093
|
+
void import_core57.projectTaskAdmissionNotifier.publish({
|
|
28874
29094
|
tenantId: eventTask.tenantId,
|
|
28875
29095
|
workspaceId: eventTask.workspaceId,
|
|
28876
29096
|
projectId: eventTask.projectId,
|
|
@@ -28884,7 +29104,7 @@ var registerLatticeRoutes = (app2, channelDeps, options = {}) => {
|
|
|
28884
29104
|
access: accessService,
|
|
28885
29105
|
tasks: taskStore,
|
|
28886
29106
|
workItems: taskWorkItemStore,
|
|
28887
|
-
projectMutationMutex:
|
|
29107
|
+
projectMutationMutex: import_core57.projectMutationMutex,
|
|
28888
29108
|
commands: taskCommandService,
|
|
28889
29109
|
readableProjects: async ({ tenantId, userId, workspaceId }) => {
|
|
28890
29110
|
const projects = await projectStore.getProjectsByWorkspace(tenantId, workspaceId);
|
|
@@ -29167,9 +29387,9 @@ function tryCreateProjectTaskRuntime(input) {
|
|
|
29167
29387
|
let stores;
|
|
29168
29388
|
try {
|
|
29169
29389
|
stores = {
|
|
29170
|
-
tenants: (0,
|
|
29171
|
-
workspaces: (0,
|
|
29172
|
-
queue: (0,
|
|
29390
|
+
tenants: (0, import_core57.getStoreLattice)("default", "tenant").store,
|
|
29391
|
+
workspaces: (0, import_core57.getStoreLattice)("default", "workspace").store,
|
|
29392
|
+
queue: (0, import_core57.getStoreLattice)("default", "threadMessageQueue").store
|
|
29173
29393
|
};
|
|
29174
29394
|
const missing = missingRuntimeMethod(input, stores);
|
|
29175
29395
|
if (missing) return { reason: missing };
|
|
@@ -29201,7 +29421,7 @@ function createRuntime(input, stores, log2) {
|
|
|
29201
29421
|
const controller = new AbortController();
|
|
29202
29422
|
const mutex = new ProjectTaskExecutionMutex();
|
|
29203
29423
|
const threads = new ProjectTaskThreadService({ threads: input.threadStore, idFactory: import_node_crypto26.randomUUID });
|
|
29204
|
-
const lifecycle = (0,
|
|
29424
|
+
const lifecycle = (0, import_core57.createTaskLifecycleService)({ taskStore: input.taskStore, workItemStore: input.taskWorkItemStore });
|
|
29205
29425
|
const projection = new RoomProjectionService({
|
|
29206
29426
|
messages: input.projectRoomMessageStore,
|
|
29207
29427
|
events: input.taskWorkItemStore,
|
|
@@ -29211,7 +29431,7 @@ function createRuntime(input, stores, log2) {
|
|
|
29211
29431
|
realtime: input.realtime,
|
|
29212
29432
|
idFactory: import_node_crypto26.randomUUID
|
|
29213
29433
|
});
|
|
29214
|
-
const agentFor = (task, thread) =>
|
|
29434
|
+
const agentFor = (task, thread) => import_core57.agentInstanceManager.getAgent({
|
|
29215
29435
|
tenant_id: task.tenantId,
|
|
29216
29436
|
assistant_id: task.ownerId,
|
|
29217
29437
|
thread_id: thread.id,
|
|
@@ -29226,10 +29446,11 @@ function createRuntime(input, stores, log2) {
|
|
|
29226
29446
|
bots: input.projectBotMembershipStore,
|
|
29227
29447
|
threads,
|
|
29228
29448
|
lifecycle,
|
|
29229
|
-
dispatcher: (0,
|
|
29449
|
+
dispatcher: (0, import_core57.createTrustedAgentMessageDispatcher)((scope) => import_core57.agentInstanceManager.getAgent(scope)),
|
|
29230
29450
|
queue: stores.queue,
|
|
29231
29451
|
agentFor,
|
|
29232
|
-
...input.ensurePublicOwner === void 0 ? {} : { ensurePublicOwner: input.ensurePublicOwner }
|
|
29452
|
+
...input.ensurePublicOwner === void 0 ? {} : { ensurePublicOwner: input.ensurePublicOwner },
|
|
29453
|
+
...input.onTaskInterrupted === void 0 ? {} : { onTaskInterrupted: input.onTaskInterrupted }
|
|
29233
29454
|
},
|
|
29234
29455
|
{
|
|
29235
29456
|
settlementTimeoutMs: PROJECT_TASK_SETTLEMENT_TIMEOUT_MS,
|
|
@@ -29256,8 +29477,8 @@ function createRuntime(input, stores, log2) {
|
|
|
29256
29477
|
const taskLifecycleListener = ((event) => {
|
|
29257
29478
|
void observer.listener(event);
|
|
29258
29479
|
});
|
|
29259
|
-
const unsubscribe =
|
|
29260
|
-
const unsubscribeAdmission =
|
|
29480
|
+
const unsubscribe = import_core57.taskLifecycleNotifier.subscribe(taskLifecycleListener);
|
|
29481
|
+
const unsubscribeAdmission = import_core57.projectTaskAdmissionNotifier.subscribe((event, signal) => {
|
|
29261
29482
|
observer.admit(event, signal);
|
|
29262
29483
|
});
|
|
29263
29484
|
let reconciliationWork;
|
|
@@ -29408,12 +29629,12 @@ function registerResourceRoutes(app2, controller) {
|
|
|
29408
29629
|
}
|
|
29409
29630
|
|
|
29410
29631
|
// src/export_registrations/index.ts
|
|
29411
|
-
var
|
|
29632
|
+
var import_core69 = require("@axiom-lattice/core");
|
|
29412
29633
|
|
|
29413
29634
|
// src/export_registrations/skill.registration.ts
|
|
29414
|
-
var
|
|
29635
|
+
var import_core59 = require("@axiom-lattice/core");
|
|
29415
29636
|
function getStore(context) {
|
|
29416
|
-
return new
|
|
29637
|
+
return new import_core59.SandboxSkillStore({
|
|
29417
29638
|
workspaceId: context?.workspaceId,
|
|
29418
29639
|
projectId: context?.projectId
|
|
29419
29640
|
});
|
|
@@ -29431,7 +29652,7 @@ var skillRegistration = {
|
|
|
29431
29652
|
async listForExport(tenantId, context) {
|
|
29432
29653
|
const store2 = getStore(context);
|
|
29433
29654
|
const skills = await store2.getAllSkills(tenantId, toStoreContext(context));
|
|
29434
|
-
return skills.filter((s) => !(0,
|
|
29655
|
+
return skills.filter((s) => !(0, import_core59.isBuiltInSkill)(s.id)).map((s) => ({
|
|
29435
29656
|
_exportId: "",
|
|
29436
29657
|
data: {
|
|
29437
29658
|
id: s.id,
|
|
@@ -29496,7 +29717,7 @@ var skillRegistration = {
|
|
|
29496
29717
|
const insertions = [];
|
|
29497
29718
|
for (const entity of entities) {
|
|
29498
29719
|
const id3 = entity.data.id;
|
|
29499
|
-
if ((0,
|
|
29720
|
+
if ((0, import_core59.isBuiltInSkill)(id3)) continue;
|
|
29500
29721
|
if (existingIds.has(id3)) {
|
|
29501
29722
|
conflicts.push({
|
|
29502
29723
|
_exportId: entity._exportId,
|
|
@@ -29555,9 +29776,9 @@ var skillRegistration = {
|
|
|
29555
29776
|
};
|
|
29556
29777
|
|
|
29557
29778
|
// src/export_registrations/agent.registration.ts
|
|
29558
|
-
var
|
|
29779
|
+
var import_core60 = require("@axiom-lattice/core");
|
|
29559
29780
|
function getStore2() {
|
|
29560
|
-
return (0,
|
|
29781
|
+
return (0, import_core60.getStoreLattice)("default", "assistant").store;
|
|
29561
29782
|
}
|
|
29562
29783
|
var agentRegistration = {
|
|
29563
29784
|
entityType: "agent",
|
|
@@ -29637,9 +29858,9 @@ var agentRegistration = {
|
|
|
29637
29858
|
};
|
|
29638
29859
|
|
|
29639
29860
|
// src/export_registrations/database-config.registration.ts
|
|
29640
|
-
var
|
|
29861
|
+
var import_core61 = require("@axiom-lattice/core");
|
|
29641
29862
|
function getStore3() {
|
|
29642
|
-
return (0,
|
|
29863
|
+
return (0, import_core61.getStoreLattice)("default", "database").store;
|
|
29643
29864
|
}
|
|
29644
29865
|
var databaseConfigRegistration = {
|
|
29645
29866
|
entityType: "database_config",
|
|
@@ -29719,9 +29940,9 @@ var databaseConfigRegistration = {
|
|
|
29719
29940
|
};
|
|
29720
29941
|
|
|
29721
29942
|
// src/export_registrations/metrics-config.registration.ts
|
|
29722
|
-
var
|
|
29943
|
+
var import_core62 = require("@axiom-lattice/core");
|
|
29723
29944
|
function getStore4() {
|
|
29724
|
-
return (0,
|
|
29945
|
+
return (0, import_core62.getStoreLattice)("default", "metrics").store;
|
|
29725
29946
|
}
|
|
29726
29947
|
var metricsConfigRegistration = {
|
|
29727
29948
|
entityType: "metrics_config",
|
|
@@ -29801,9 +30022,9 @@ var metricsConfigRegistration = {
|
|
|
29801
30022
|
};
|
|
29802
30023
|
|
|
29803
30024
|
// src/export_registrations/mcp-config.registration.ts
|
|
29804
|
-
var
|
|
30025
|
+
var import_core63 = require("@axiom-lattice/core");
|
|
29805
30026
|
function getStore5() {
|
|
29806
|
-
return (0,
|
|
30027
|
+
return (0, import_core63.getStoreLattice)("default", "mcp").store;
|
|
29807
30028
|
}
|
|
29808
30029
|
var mcpConfigRegistration = {
|
|
29809
30030
|
entityType: "mcp_config",
|
|
@@ -29886,9 +30107,9 @@ var mcpConfigRegistration = {
|
|
|
29886
30107
|
};
|
|
29887
30108
|
|
|
29888
30109
|
// src/export_registrations/connection.registration.ts
|
|
29889
|
-
var
|
|
30110
|
+
var import_core64 = require("@axiom-lattice/core");
|
|
29890
30111
|
function getStore6() {
|
|
29891
|
-
return (0,
|
|
30112
|
+
return (0, import_core64.getStoreLattice)("default", "connection").store;
|
|
29892
30113
|
}
|
|
29893
30114
|
async function listAllConnections(tenantId) {
|
|
29894
30115
|
const store2 = getStore6();
|
|
@@ -29973,9 +30194,9 @@ var connectionRegistration = {
|
|
|
29973
30194
|
};
|
|
29974
30195
|
|
|
29975
30196
|
// src/export_registrations/collection.registration.ts
|
|
29976
|
-
var
|
|
30197
|
+
var import_core65 = require("@axiom-lattice/core");
|
|
29977
30198
|
function getStore7() {
|
|
29978
|
-
return (0,
|
|
30199
|
+
return (0, import_core65.getStoreLattice)("default", "collection").store;
|
|
29979
30200
|
}
|
|
29980
30201
|
var collectionRegistration = {
|
|
29981
30202
|
entityType: "collection",
|
|
@@ -30046,7 +30267,7 @@ var collectionRegistration = {
|
|
|
30046
30267
|
};
|
|
30047
30268
|
|
|
30048
30269
|
// src/export_registrations/channel-installation.registration.ts
|
|
30049
|
-
var
|
|
30270
|
+
var import_core66 = require("@axiom-lattice/core");
|
|
30050
30271
|
var import_crypto11 = require("crypto");
|
|
30051
30272
|
var UUID_PATTERN2 = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
30052
30273
|
var PUBLIC_CHANNELS = /* @__PURE__ */ new Set(["lark", "email", "slack", "wechat"]);
|
|
@@ -30080,7 +30301,7 @@ function validateImportData(data) {
|
|
|
30080
30301
|
};
|
|
30081
30302
|
}
|
|
30082
30303
|
function getStore8() {
|
|
30083
|
-
return (0,
|
|
30304
|
+
return (0, import_core66.getStoreLattice)("default", "channelInstallation").store;
|
|
30084
30305
|
}
|
|
30085
30306
|
function getOverwriteError(tenantId, incomingChannel, existing) {
|
|
30086
30307
|
if (!existing) return "Channel installation overwrite target must exist";
|
|
@@ -30214,9 +30435,9 @@ var channelInstallationRegistration = {
|
|
|
30214
30435
|
};
|
|
30215
30436
|
|
|
30216
30437
|
// src/export_registrations/menu.registration.ts
|
|
30217
|
-
var
|
|
30438
|
+
var import_core67 = require("@axiom-lattice/core");
|
|
30218
30439
|
function getStore9() {
|
|
30219
|
-
return (0,
|
|
30440
|
+
return (0, import_core67.getStoreLattice)("default", "menu").store;
|
|
30220
30441
|
}
|
|
30221
30442
|
var menuRegistration = {
|
|
30222
30443
|
entityType: "menu",
|
|
@@ -30294,9 +30515,9 @@ var menuRegistration = {
|
|
|
30294
30515
|
};
|
|
30295
30516
|
|
|
30296
30517
|
// src/export_registrations/eval.registration.ts
|
|
30297
|
-
var
|
|
30518
|
+
var import_core68 = require("@axiom-lattice/core");
|
|
30298
30519
|
function getStore10() {
|
|
30299
|
-
return (0,
|
|
30520
|
+
return (0, import_core68.getStoreLattice)("default", "eval").store;
|
|
30300
30521
|
}
|
|
30301
30522
|
var evalRegistration = {
|
|
30302
30523
|
entityType: "eval",
|
|
@@ -30622,7 +30843,7 @@ var evalRegistration = {
|
|
|
30622
30843
|
|
|
30623
30844
|
// src/export_registrations/index.ts
|
|
30624
30845
|
function registerAllBuiltinEntities() {
|
|
30625
|
-
const registry =
|
|
30846
|
+
const registry = import_core69.ExportableEntityRegistry.getInstance();
|
|
30626
30847
|
registry.register(skillRegistration);
|
|
30627
30848
|
registry.register(agentRegistration);
|
|
30628
30849
|
registry.register(databaseConfigRegistration);
|
|
@@ -30753,7 +30974,7 @@ function createAuditLoggerMiddleware() {
|
|
|
30753
30974
|
}
|
|
30754
30975
|
|
|
30755
30976
|
// src/index.ts
|
|
30756
|
-
var
|
|
30977
|
+
var import_core97 = require("@axiom-lattice/core");
|
|
30757
30978
|
|
|
30758
30979
|
// src/swagger.ts
|
|
30759
30980
|
var import_swagger = __toESM(require("@fastify/swagger"));
|
|
@@ -30819,7 +31040,7 @@ var configureSwagger = async (app2, customSwaggerConfig, customSwaggerUiConfig)
|
|
|
30819
31040
|
|
|
30820
31041
|
// src/services/agent_task_consumer.ts
|
|
30821
31042
|
var import_node_crypto27 = require("crypto");
|
|
30822
|
-
var
|
|
31043
|
+
var import_core70 = require("@axiom-lattice/core");
|
|
30823
31044
|
var import_protocols32 = require("@axiom-lattice/protocols");
|
|
30824
31045
|
var handleAgentTask = async (taskRequest, retryCount = 0) => {
|
|
30825
31046
|
const {
|
|
@@ -30839,7 +31060,7 @@ var handleAgentTask = async (taskRequest, retryCount = 0) => {
|
|
|
30839
31060
|
`\u5F00\u59CB\u5904\u7406\u4EFB\u52A1 [assistant_id: ${assistant_id}, thread_id: ${thread_id}]`
|
|
30840
31061
|
);
|
|
30841
31062
|
const scope = (0, import_protocols32.resolveRunScope)(runConfig);
|
|
30842
|
-
const agent =
|
|
31063
|
+
const agent = import_core70.agentInstanceManager.getAgent({ assistant_id, thread_id, tenant_id, workspace_id: scope.workspaceId, project_id: scope.projectId, custom_run_config: runConfig });
|
|
30843
31064
|
if (callback_event) {
|
|
30844
31065
|
const callbackEvent = callback_event;
|
|
30845
31066
|
const messageId = typeof input?.id === "string" && input.id !== "" ? input.id : (0, import_node_crypto27.randomUUID)();
|
|
@@ -30860,13 +31081,13 @@ var handleAgentTask = async (taskRequest, retryCount = 0) => {
|
|
|
30860
31081
|
const onCompleted = (evt) => {
|
|
30861
31082
|
if (!belongsToMessage(evt)) return;
|
|
30862
31083
|
settle(() => {
|
|
30863
|
-
|
|
31084
|
+
import_core70.eventBus.publish(callbackEvent, {
|
|
30864
31085
|
success: true,
|
|
30865
31086
|
state: evt.state
|
|
30866
31087
|
});
|
|
30867
31088
|
if (main_thread_id && main_tenant_id) {
|
|
30868
31089
|
try {
|
|
30869
|
-
const mainAgent =
|
|
31090
|
+
const mainAgent = import_core70.agentInstanceManager.getAgent({
|
|
30870
31091
|
assistant_id: main_assistant_id ?? assistant_id,
|
|
30871
31092
|
thread_id: main_thread_id,
|
|
30872
31093
|
tenant_id: main_tenant_id,
|
|
@@ -30899,7 +31120,7 @@ ${summary}`
|
|
|
30899
31120
|
const onInterrupted = (evt) => {
|
|
30900
31121
|
if (!belongsToMessage(evt)) return;
|
|
30901
31122
|
settle(() => {
|
|
30902
|
-
|
|
31123
|
+
import_core70.eventBus.publish(callbackEvent, {
|
|
30903
31124
|
success: true,
|
|
30904
31125
|
state: evt.state
|
|
30905
31126
|
});
|
|
@@ -30908,7 +31129,7 @@ ${summary}`
|
|
|
30908
31129
|
const onFailed = (evt) => {
|
|
30909
31130
|
if (!belongsToMessage(evt)) return;
|
|
30910
31131
|
settle(() => {
|
|
30911
|
-
|
|
31132
|
+
import_core70.eventBus.publish(callbackEvent, {
|
|
30912
31133
|
success: false,
|
|
30913
31134
|
error: evt?.error instanceof Error ? evt.error.message : typeof evt?.error === "string" ? evt.error : "Agent execution failed"
|
|
30914
31135
|
});
|
|
@@ -30923,13 +31144,13 @@ ${summary}`
|
|
|
30923
31144
|
agent.subscribe("message:interrupted", onInterrupted);
|
|
30924
31145
|
agent.subscribe("message:failed", onFailed);
|
|
30925
31146
|
try {
|
|
30926
|
-
await agent.addMessage({ input: { ...input, id: messageId }, command, custom_run_config: runConfig },
|
|
31147
|
+
await agent.addMessage({ input: { ...input, id: messageId }, command, custom_run_config: runConfig }, import_core70.QueueMode.STEER);
|
|
30927
31148
|
} catch (error) {
|
|
30928
31149
|
dispose();
|
|
30929
31150
|
throw error;
|
|
30930
31151
|
}
|
|
30931
31152
|
} else {
|
|
30932
|
-
await agent.addMessage({ input, command, custom_run_config: runConfig },
|
|
31153
|
+
await agent.addMessage({ input, command, custom_run_config: runConfig }, import_core70.QueueMode.STEER);
|
|
30933
31154
|
}
|
|
30934
31155
|
return true;
|
|
30935
31156
|
} catch (error) {
|
|
@@ -30948,7 +31169,7 @@ ${summary}`
|
|
|
30948
31169
|
return handleAgentTask(taskRequest, nextRetryCount);
|
|
30949
31170
|
}
|
|
30950
31171
|
if (callback_event) {
|
|
30951
|
-
|
|
31172
|
+
import_core70.eventBus.publish(callback_event, {
|
|
30952
31173
|
success: false,
|
|
30953
31174
|
error: error instanceof Error ? error.message : String(error)
|
|
30954
31175
|
});
|
|
@@ -30985,7 +31206,7 @@ var _AgentTaskConsumer = class _AgentTaskConsumer {
|
|
|
30985
31206
|
* 初始化事件监听和队列轮询
|
|
30986
31207
|
*/
|
|
30987
31208
|
initialize() {
|
|
30988
|
-
|
|
31209
|
+
import_core70.eventBus.subscribe(import_core70.AGENT_TASK_EVENT, this.trigger_agent_task.bind(this));
|
|
30989
31210
|
this.startPollingQueue();
|
|
30990
31211
|
console.log("Agent\u4EFB\u52A1\u6D88\u8D39\u8005\u5DF2\u542F\u52A8\u5E76\u76D1\u542C\u4EFB\u52A1\u4E8B\u4EF6\u548C\u961F\u5217");
|
|
30991
31212
|
}
|
|
@@ -31104,7 +31325,7 @@ var _AgentTaskConsumer = class _AgentTaskConsumer {
|
|
|
31104
31325
|
handleAgentTask(taskRequest).catch((error) => {
|
|
31105
31326
|
console.error("\u5904\u7406Agent\u4EFB\u52A1\u65F6\u53D1\u751F\u672A\u6355\u83B7\u7684\u9519\u8BEF:", error);
|
|
31106
31327
|
if (taskRequest.callback_event) {
|
|
31107
|
-
|
|
31328
|
+
import_core70.eventBus.publish(taskRequest.callback_event, {
|
|
31108
31329
|
success: false,
|
|
31109
31330
|
error: error instanceof Error ? error.message : String(error)
|
|
31110
31331
|
});
|
|
@@ -31153,13 +31374,13 @@ function createGracefulShutdown(options) {
|
|
|
31153
31374
|
}
|
|
31154
31375
|
|
|
31155
31376
|
// src/index.ts
|
|
31156
|
-
var
|
|
31377
|
+
var import_core98 = require("@axiom-lattice/core");
|
|
31157
31378
|
|
|
31158
31379
|
// src/channels/ChannelInfrastructure.ts
|
|
31159
|
-
var
|
|
31380
|
+
var import_core72 = require("@axiom-lattice/core");
|
|
31160
31381
|
|
|
31161
31382
|
// src/router/MessageRouter.ts
|
|
31162
|
-
var
|
|
31383
|
+
var import_core71 = require("@axiom-lattice/core");
|
|
31163
31384
|
var import_protocols33 = require("@axiom-lattice/protocols");
|
|
31164
31385
|
var import_crypto12 = require("crypto");
|
|
31165
31386
|
var BindingNotFoundError = class extends Error {
|
|
@@ -31445,7 +31666,7 @@ var MessageRouter = class {
|
|
|
31445
31666
|
channel: message.channel,
|
|
31446
31667
|
adapterChannel: adapter.channel
|
|
31447
31668
|
}, "Thread resolved by adapter strategy");
|
|
31448
|
-
const threadStore = (0,
|
|
31669
|
+
const threadStore = (0, import_core71.getStoreLattice)("default", "thread").store;
|
|
31449
31670
|
try {
|
|
31450
31671
|
await threadStore.createThread(
|
|
31451
31672
|
tenantId,
|
|
@@ -31482,7 +31703,7 @@ var MessageRouter = class {
|
|
|
31482
31703
|
}
|
|
31483
31704
|
}
|
|
31484
31705
|
if (!threadId) {
|
|
31485
|
-
const threadStore = (0,
|
|
31706
|
+
const threadStore = (0, import_core71.getStoreLattice)("default", "thread").store;
|
|
31486
31707
|
const newThreadId = (0, import_crypto12.randomUUID)();
|
|
31487
31708
|
console.log({
|
|
31488
31709
|
event: "dispatch:thread:create",
|
|
@@ -31522,7 +31743,7 @@ var MessageRouter = class {
|
|
|
31522
31743
|
senderId: message.sender.id,
|
|
31523
31744
|
contentLength: message.content.text.length
|
|
31524
31745
|
}, "Dispatching to agent");
|
|
31525
|
-
const agent =
|
|
31746
|
+
const agent = import_core71.agentInstanceManager.getAgent({
|
|
31526
31747
|
tenant_id: tenantId,
|
|
31527
31748
|
assistant_id: agentId,
|
|
31528
31749
|
thread_id: threadId,
|
|
@@ -31744,10 +31965,23 @@ function createRoomChannelAdapter(writer) {
|
|
|
31744
31965
|
const installed = installationValues(installation);
|
|
31745
31966
|
if (!installed) throw new Error("Invalid room installation");
|
|
31746
31967
|
const targetEnvelope = exactValues2(replyTarget, ["adapterChannel", "channelInstallationId", "rawTarget"]);
|
|
31747
|
-
const target = exactStrings(targetEnvelope?.rawTarget, ["sourceRoomMessageId", "targetMembershipId", "inputMessageId"]);
|
|
31748
31968
|
const envelope = exactValues2(message, ["text", "metadata"]);
|
|
31749
|
-
|
|
31750
|
-
|
|
31969
|
+
if (!targetEnvelope || targetEnvelope.adapterChannel !== "room" || targetEnvelope.channelInstallationId !== installation.id || typeof envelope?.text !== "string") throw new Error("Invalid room interrupt");
|
|
31970
|
+
const correlationKey = exactStrings(envelope.metadata, ["correlationKey"])?.correlationKey;
|
|
31971
|
+
if (correlationKey) {
|
|
31972
|
+
const correlatedTarget = exactStrings(targetEnvelope.rawTarget, ["targetMembershipId"]);
|
|
31973
|
+
if (!correlatedTarget) throw new Error("Invalid room interrupt correlation");
|
|
31974
|
+
await writer.postCorrelatedInterrupt({
|
|
31975
|
+
tenantId: installed.tenantId,
|
|
31976
|
+
membershipId: correlatedTarget.targetMembershipId,
|
|
31977
|
+
correlationKey,
|
|
31978
|
+
text: envelope.text
|
|
31979
|
+
});
|
|
31980
|
+
return;
|
|
31981
|
+
}
|
|
31982
|
+
const target = exactStrings(targetEnvelope.rawTarget, ["sourceRoomMessageId", "targetMembershipId", "inputMessageId"]);
|
|
31983
|
+
const metadata = exactStrings(envelope.metadata, ["inputMessageId"]);
|
|
31984
|
+
if (!target || !metadata) throw new Error("Invalid room interrupt");
|
|
31751
31985
|
if (target.inputMessageId !== metadata.inputMessageId) throw new Error("Invalid room interrupt correlation");
|
|
31752
31986
|
await writer.postInterrupt({
|
|
31753
31987
|
tenantId: installed.tenantId,
|
|
@@ -31795,7 +32029,7 @@ function createChannelInfrastructure(deps) {
|
|
|
31795
32029
|
onMessageCommitted: deps.onMessageCommitted ?? (deps.realtime ? (message) => deps.realtime?.messageCreated(message) : void 0),
|
|
31796
32030
|
onCallbackFailure: (event) => deps.warn("project-room:message-commit-callback-failed", event)
|
|
31797
32031
|
};
|
|
31798
|
-
deps.adapterRegistry.register(createRoomChannelAdapter(new
|
|
32032
|
+
deps.adapterRegistry.register(createRoomChannelAdapter(new import_core72.RoomAgentMessageService(writerDeps)));
|
|
31799
32033
|
} catch (error) {
|
|
31800
32034
|
deps.warn("Room channel unavailable", { error: error instanceof Error ? error.message : String(error) });
|
|
31801
32035
|
}
|
|
@@ -31816,11 +32050,11 @@ async function prepareProjectTaskRuntime(runtime, log2) {
|
|
|
31816
32050
|
}
|
|
31817
32051
|
|
|
31818
32052
|
// src/services/plugins/PluginDeploymentRuntimeStartup.ts
|
|
31819
|
-
var
|
|
32053
|
+
var import_core74 = require("@axiom-lattice/core");
|
|
31820
32054
|
|
|
31821
32055
|
// src/services/plugins/PluginDeploymentService.ts
|
|
31822
32056
|
var import_node_crypto29 = require("crypto");
|
|
31823
|
-
var
|
|
32057
|
+
var import_core73 = require("@axiom-lattice/core");
|
|
31824
32058
|
|
|
31825
32059
|
// src/services/plugins/pluginDeploymentNaming.ts
|
|
31826
32060
|
var import_node_crypto28 = require("crypto");
|
|
@@ -31838,7 +32072,7 @@ function pluginSandboxName(tenantId, pluginType) {
|
|
|
31838
32072
|
}
|
|
31839
32073
|
|
|
31840
32074
|
// src/services/plugins/PluginDeploymentService.ts
|
|
31841
|
-
var PLUGIN_HOST_SERVER_PATH = `${
|
|
32075
|
+
var PLUGIN_HOST_SERVER_PATH = `${import_core73.PLUGIN_HOST_DIR}/server.js`;
|
|
31842
32076
|
var DEFAULT_PLUGIN_IDLE_TIMEOUT_MS = 15 * 60 * 1e3;
|
|
31843
32077
|
var DEFAULT_PLUGIN_HEALTH_TIMEOUT_MS = 3e4;
|
|
31844
32078
|
var DEFAULT_PLUGIN_HEALTH_POLL_INTERVAL_MS = 500;
|
|
@@ -31877,11 +32111,11 @@ var PluginDeploymentService = class {
|
|
|
31877
32111
|
this.catalog = deps.catalog;
|
|
31878
32112
|
this.installPluginHost = deps.installPluginHost;
|
|
31879
32113
|
this.lease = deps.lease;
|
|
31880
|
-
this.registry = deps.registry ?? new
|
|
32114
|
+
this.registry = deps.registry ?? new import_core73.PluginDeploymentRuntimeRegistry({ now: deps.clock ?? Date.now });
|
|
31881
32115
|
this.now = deps.clock ?? Date.now;
|
|
31882
32116
|
this.logger = deps.logger ?? { info: () => void 0 };
|
|
31883
32117
|
this.limits = deps.limits ?? {};
|
|
31884
|
-
this.serviceBaseUrl = (deps.serviceBaseUrl ?? process.env.
|
|
32118
|
+
this.serviceBaseUrl = (deps.serviceBaseUrl ?? process.env.MICROSANDBOX_SERVICE_BASE_URL ?? "").replace(
|
|
31885
32119
|
/\/$/,
|
|
31886
32120
|
""
|
|
31887
32121
|
);
|
|
@@ -32569,7 +32803,7 @@ function isPluginDeploymentRuntimeEnabled(env = process.env) {
|
|
|
32569
32803
|
const flag = env[PLUGIN_DEPLOYMENT_RUNTIME_FLAG];
|
|
32570
32804
|
if (flag === "false" || flag === "0") return false;
|
|
32571
32805
|
if (flag === "true" || flag === "1") return true;
|
|
32572
|
-
return Boolean(env.
|
|
32806
|
+
return Boolean(env.MICROSANDBOX_SERVICE_BASE_URL);
|
|
32573
32807
|
}
|
|
32574
32808
|
function readPluginDeploymentLimits(env = process.env) {
|
|
32575
32809
|
return {
|
|
@@ -32586,15 +32820,15 @@ function readPluginDeploymentLimits(env = process.env) {
|
|
|
32586
32820
|
function startPluginDeploymentRuntime(options) {
|
|
32587
32821
|
const { lease, holder, logger: logger8 } = options;
|
|
32588
32822
|
const forcedOn = process.env[PLUGIN_DEPLOYMENT_RUNTIME_FLAG] === "true" || process.env[PLUGIN_DEPLOYMENT_RUNTIME_FLAG] === "1";
|
|
32589
|
-
const effectiveServiceBaseUrl = options.wiring.serviceBaseUrl ?? process.env.
|
|
32823
|
+
const effectiveServiceBaseUrl = options.wiring.serviceBaseUrl ?? process.env.MICROSANDBOX_SERVICE_BASE_URL;
|
|
32590
32824
|
if (forcedOn && !effectiveServiceBaseUrl) {
|
|
32591
32825
|
logger8.warn(
|
|
32592
|
-
`${PLUGIN_DEPLOYMENT_RUNTIME_FLAG} is enabled but
|
|
32826
|
+
`${PLUGIN_DEPLOYMENT_RUNTIME_FLAG} is enabled but MICROSANDBOX_SERVICE_BASE_URL is empty; skipping plugin deployment runtime`,
|
|
32593
32827
|
{ holder }
|
|
32594
32828
|
);
|
|
32595
32829
|
return { reconcile: Promise.resolve(), dispose: async () => void 0 };
|
|
32596
32830
|
}
|
|
32597
|
-
const register = options.register ?? ((service3) => (0,
|
|
32831
|
+
const register = options.register ?? ((service3) => (0, import_core74.setPluginDeploymentService)(service3));
|
|
32598
32832
|
const setIntervalFn = options.setIntervalFn ?? setInterval;
|
|
32599
32833
|
const clearIntervalFn = options.clearIntervalFn ?? clearInterval;
|
|
32600
32834
|
const watchdogIntervalMs = options.watchdogIntervalMs ?? DEFAULT_PLUGIN_WATCHDOG_INTERVAL_MS;
|
|
@@ -32739,7 +32973,7 @@ function errorMessage5(error) {
|
|
|
32739
32973
|
}
|
|
32740
32974
|
|
|
32741
32975
|
// src/services/multiReplicaReadiness.ts
|
|
32742
|
-
var
|
|
32976
|
+
var import_core75 = require("@axiom-lattice/core");
|
|
32743
32977
|
var SHARED_STORE_KINDS = [
|
|
32744
32978
|
"lease",
|
|
32745
32979
|
"outbox",
|
|
@@ -32750,7 +32984,7 @@ var SHARED_STORE_KINDS = [
|
|
|
32750
32984
|
];
|
|
32751
32985
|
function storeClassName(kind) {
|
|
32752
32986
|
try {
|
|
32753
|
-
return (0,
|
|
32987
|
+
return (0, import_core75.getStoreLattice)("default", kind).store.constructor?.name;
|
|
32754
32988
|
} catch {
|
|
32755
32989
|
return void 0;
|
|
32756
32990
|
}
|
|
@@ -32922,11 +33156,11 @@ var DEFAULT_LOGGER_CONFIG = {
|
|
|
32922
33156
|
var loggerLattice = initializeLogger(DEFAULT_LOGGER_CONFIG);
|
|
32923
33157
|
var logger7 = loggerLattice.client;
|
|
32924
33158
|
function initializeLogger(config) {
|
|
32925
|
-
if (
|
|
32926
|
-
|
|
33159
|
+
if (import_core98.loggerLatticeManager.hasLattice("default")) {
|
|
33160
|
+
import_core98.loggerLatticeManager.removeLattice("default");
|
|
32927
33161
|
}
|
|
32928
|
-
(0,
|
|
32929
|
-
return (0,
|
|
33162
|
+
(0, import_core98.registerLoggerLattice)("default", config);
|
|
33163
|
+
return (0, import_core98.getLoggerLattice)("default");
|
|
32930
33164
|
}
|
|
32931
33165
|
var app = (0, import_fastify.default)({
|
|
32932
33166
|
logger: false,
|
|
@@ -33024,7 +33258,7 @@ app.setErrorHandler((error, request, reply) => {
|
|
|
33024
33258
|
var shutdownHandlersInstalled = false;
|
|
33025
33259
|
function getConfiguredSandboxProvider() {
|
|
33026
33260
|
const sandboxProviderType = process.env.SANDBOX_PROVIDER_TYPE || "microsandbox-remote";
|
|
33027
|
-
return (0,
|
|
33261
|
+
return (0, import_core98.createSandboxProvider)({
|
|
33028
33262
|
type: sandboxProviderType,
|
|
33029
33263
|
remoteBaseURL: process.env.SANDBOX_BASE_URL,
|
|
33030
33264
|
microsandboxServiceBaseURL: process.env.MICROSANDBOX_SERVICE_BASE_URL,
|
|
@@ -33040,7 +33274,7 @@ function getConfiguredSandboxProvider() {
|
|
|
33040
33274
|
}
|
|
33041
33275
|
async function restoreMcpConnections() {
|
|
33042
33276
|
try {
|
|
33043
|
-
const storeLattice = (0,
|
|
33277
|
+
const storeLattice = (0, import_core98.getStoreLattice)("default", "mcp");
|
|
33044
33278
|
const store2 = storeLattice.store;
|
|
33045
33279
|
if (!store2) {
|
|
33046
33280
|
logger7.info("MCP store not configured, skipping connection restoration");
|
|
@@ -33053,8 +33287,8 @@ async function restoreMcpConnections() {
|
|
|
33053
33287
|
logger7.info(`Restoring ${configs.length} MCP server connections...`);
|
|
33054
33288
|
const deps = {
|
|
33055
33289
|
store: store2,
|
|
33056
|
-
manager:
|
|
33057
|
-
convertToConnection:
|
|
33290
|
+
manager: import_core98.mcpManager,
|
|
33291
|
+
convertToConnection: import_core98.convertToConnection
|
|
33058
33292
|
};
|
|
33059
33293
|
const results = await Promise.allSettled(
|
|
33060
33294
|
configs.map(
|
|
@@ -33095,9 +33329,9 @@ var start = async (config) => {
|
|
|
33095
33329
|
let projectRoomRealtimeRuntime;
|
|
33096
33330
|
if (projectRoomRealtimeMode === "single-gateway") {
|
|
33097
33331
|
projectRoomRealtimeRuntime = createProjectRoomRealtimeRuntime({
|
|
33098
|
-
tasks: (0,
|
|
33099
|
-
rooms: (0,
|
|
33100
|
-
memberships: (0,
|
|
33332
|
+
tasks: (0, import_core98.getStoreLattice)("default", "task").store,
|
|
33333
|
+
rooms: (0, import_core98.getStoreLattice)("default", "projectRoom").store,
|
|
33334
|
+
memberships: (0, import_core98.getStoreLattice)("default", "projectBotMembership").store,
|
|
33101
33335
|
log: { warn: (message, context) => logger7.warn(message, context) }
|
|
33102
33336
|
});
|
|
33103
33337
|
}
|
|
@@ -33107,11 +33341,10 @@ var start = async (config) => {
|
|
|
33107
33341
|
const { wechatChannelAdapter: wechatChannelAdapter2 } = await Promise.resolve().then(() => (init_WechatChannelAdapter(), WechatChannelAdapter_exports));
|
|
33108
33342
|
adapterRegistry.register(wechatChannelAdapter2);
|
|
33109
33343
|
try {
|
|
33110
|
-
const { getStoreLattice: getStore11 } = await import("@axiom-lattice/core");
|
|
33111
33344
|
const infrastructure = createChannelInfrastructure({
|
|
33112
33345
|
adapterRegistry,
|
|
33113
|
-
getStore: ((kind) =>
|
|
33114
|
-
trustedDispatcher: (0,
|
|
33346
|
+
getStore: ((kind) => (0, import_core98.getStoreLattice)("default", kind).store),
|
|
33347
|
+
trustedDispatcher: (0, import_core98.createTrustedAgentMessageDispatcher)((scope) => import_core98.agentInstanceManager.getAgent(scope)),
|
|
33115
33348
|
middlewares: [
|
|
33116
33349
|
createDeduplicationMiddleware(),
|
|
33117
33350
|
createRateLimitMiddleware(),
|
|
@@ -33122,7 +33355,7 @@ var start = async (config) => {
|
|
|
33122
33355
|
});
|
|
33123
33356
|
const bindingStore = infrastructure.bindingRegistry;
|
|
33124
33357
|
const installationStore = infrastructure.installationStore;
|
|
33125
|
-
(0,
|
|
33358
|
+
(0, import_core97.setBindingRegistry)(bindingStore);
|
|
33126
33359
|
const router = infrastructure.router;
|
|
33127
33360
|
app.addHook("onClose", async () => router.dispose());
|
|
33128
33361
|
channelDeps = {
|
|
@@ -33138,10 +33371,10 @@ var start = async (config) => {
|
|
|
33138
33371
|
error: err instanceof Error ? err.message : String(err)
|
|
33139
33372
|
});
|
|
33140
33373
|
}
|
|
33141
|
-
(0,
|
|
33374
|
+
(0, import_core97.setEvalRunService)(evalRunner);
|
|
33142
33375
|
try {
|
|
33143
|
-
const menuStore = (0,
|
|
33144
|
-
(0,
|
|
33376
|
+
const menuStore = (0, import_core98.getStoreLattice)("default", "menu").store;
|
|
33377
|
+
(0, import_core97.setMenuRegistry)(menuStore);
|
|
33145
33378
|
logger7.info("Menu registry initialized");
|
|
33146
33379
|
} catch {
|
|
33147
33380
|
}
|
|
@@ -33158,10 +33391,10 @@ var start = async (config) => {
|
|
|
33158
33391
|
const { A2AAuthService: A2AAuthService2, parseEnvKeys: parseEnvKeys2 } = await Promise.resolve().then(() => (init_A2AAuthService(), A2AAuthService_exports));
|
|
33159
33392
|
const { registerA2AStandardRoutes: registerA2AStandardRoutes2 } = await Promise.resolve().then(() => (init_a2a_standard(), a2a_standard_exports));
|
|
33160
33393
|
const a2a = await Promise.resolve().then(() => (init_a2a(), a2a_exports));
|
|
33161
|
-
const a2aKeyStore = (0,
|
|
33162
|
-
const assistantStore = (0,
|
|
33163
|
-
const projectStore = (0,
|
|
33164
|
-
const taskStore = (0,
|
|
33394
|
+
const a2aKeyStore = (0, import_core98.getStoreLattice)("default", "a2aApiKey").store;
|
|
33395
|
+
const assistantStore = (0, import_core98.getStoreLattice)("default", "assistant").store;
|
|
33396
|
+
const projectStore = (0, import_core98.getStoreLattice)("default", "project").store;
|
|
33397
|
+
const taskStore = (0, import_core98.getStoreLattice)("default", "task").store;
|
|
33165
33398
|
const authService = new A2AAuthService2({
|
|
33166
33399
|
keyStore: a2aKeyStore,
|
|
33167
33400
|
assistantStore,
|
|
@@ -33200,8 +33433,8 @@ var start = async (config) => {
|
|
|
33200
33433
|
const { CollectionService: CollectionService2 } = await Promise.resolve().then(() => (init_collection_service(), collection_service_exports));
|
|
33201
33434
|
openLattice2.register(createKbProvider2(new CollectionService2()));
|
|
33202
33435
|
openLattice2.register(createOpenSandboxProvider2());
|
|
33203
|
-
const threadStore = (0,
|
|
33204
|
-
const assistantStore = (0,
|
|
33436
|
+
const threadStore = (0, import_core98.getStoreLattice)("default", "thread").store;
|
|
33437
|
+
const assistantStore = (0, import_core98.getStoreLattice)("default", "assistant").store;
|
|
33205
33438
|
openLattice2.register(
|
|
33206
33439
|
createAgentProvider2({
|
|
33207
33440
|
threadStore,
|
|
@@ -33235,15 +33468,15 @@ var start = async (config) => {
|
|
|
33235
33468
|
error: err instanceof Error ? err.message : String(err)
|
|
33236
33469
|
});
|
|
33237
33470
|
}
|
|
33238
|
-
if (!
|
|
33239
|
-
|
|
33471
|
+
if (!import_core98.sandboxLatticeManager.hasLattice("default")) {
|
|
33472
|
+
import_core98.sandboxLatticeManager.registerLattice("default", getConfiguredSandboxProvider());
|
|
33240
33473
|
logger7.info("Registered sandbox manager from env configuration");
|
|
33241
33474
|
}
|
|
33242
33475
|
if (isPluginDeploymentRuntimeEnabled()) {
|
|
33243
33476
|
try {
|
|
33244
|
-
const pluginDeploymentStore = (0,
|
|
33245
|
-
const tenantStore = (0,
|
|
33246
|
-
const leaseStore2 = (0,
|
|
33477
|
+
const pluginDeploymentStore = (0, import_core98.getStoreLattice)("default", "pluginDeployment").store;
|
|
33478
|
+
const tenantStore = (0, import_core98.getStoreLattice)("default", "tenant").store;
|
|
33479
|
+
const leaseStore2 = (0, import_core98.getStoreLattice)("default", "lease").store;
|
|
33247
33480
|
const listAllDeployments = async () => {
|
|
33248
33481
|
const tenants = await tenantStore.getAllTenants();
|
|
33249
33482
|
const lists = await Promise.all(
|
|
@@ -33256,9 +33489,9 @@ var start = async (config) => {
|
|
|
33256
33489
|
const pluginDeploymentRuntime = startPluginDeploymentRuntime({
|
|
33257
33490
|
wiring: {
|
|
33258
33491
|
store: pluginDeploymentStore,
|
|
33259
|
-
sandboxManager: (0,
|
|
33260
|
-
catalog: (0,
|
|
33261
|
-
installPluginHost:
|
|
33492
|
+
sandboxManager: (0, import_core98.getSandBoxManager)(),
|
|
33493
|
+
catalog: (0, import_core98.getSandboxPluginCatalog)(),
|
|
33494
|
+
installPluginHost: import_core98.installPluginHost,
|
|
33262
33495
|
limits: readPluginDeploymentLimits(),
|
|
33263
33496
|
serviceKey: process.env.MICROSANDBOX_API_KEY,
|
|
33264
33497
|
listAllDeployments,
|
|
@@ -33270,7 +33503,7 @@ var start = async (config) => {
|
|
|
33270
33503
|
}
|
|
33271
33504
|
},
|
|
33272
33505
|
lease: leaseStore2,
|
|
33273
|
-
holder: (0,
|
|
33506
|
+
holder: (0, import_core98.getReplicaId)(),
|
|
33274
33507
|
logger: logger7
|
|
33275
33508
|
});
|
|
33276
33509
|
app.addHook("onClose", async () => {
|
|
@@ -33285,11 +33518,11 @@ var start = async (config) => {
|
|
|
33285
33518
|
}
|
|
33286
33519
|
try {
|
|
33287
33520
|
const { ResourceController: ResourceController2 } = await Promise.resolve().then(() => (init_resources(), resources_exports));
|
|
33288
|
-
const sharedResourceStore = (0,
|
|
33289
|
-
const cache2 = new
|
|
33521
|
+
const sharedResourceStore = (0, import_core98.getStoreLattice)("default", "sharedResource").store;
|
|
33522
|
+
const cache2 = new import_core98.TokenCache();
|
|
33290
33523
|
const resourceController = new ResourceController2({
|
|
33291
33524
|
store: sharedResourceStore,
|
|
33292
|
-
sandboxManager:
|
|
33525
|
+
sandboxManager: import_core98.sandboxLatticeManager,
|
|
33293
33526
|
cache: cache2,
|
|
33294
33527
|
logger: logger7
|
|
33295
33528
|
});
|
|
@@ -33301,15 +33534,14 @@ var start = async (config) => {
|
|
|
33301
33534
|
});
|
|
33302
33535
|
}
|
|
33303
33536
|
if (channelDeps && process.env.CHANNELS_ENABLED !== "false") {
|
|
33304
|
-
const { connectAllChannels, disconnectAllChannels, ChannelConnectionLeader } = await import("@axiom-lattice/core");
|
|
33305
33537
|
try {
|
|
33306
|
-
const channelLeader = new ChannelConnectionLeader({
|
|
33307
|
-
leaseStore: (0,
|
|
33308
|
-
owner: (0,
|
|
33309
|
-
connect: () => connectAllChannels((channel) => adapterRegistry.get(channel), {
|
|
33538
|
+
const channelLeader = new import_core98.ChannelConnectionLeader({
|
|
33539
|
+
leaseStore: (0, import_core98.getStoreLattice)("default", "lease").store,
|
|
33540
|
+
owner: (0, import_core98.getReplicaId)(),
|
|
33541
|
+
connect: () => (0, import_core98.connectAllChannels)((channel) => adapterRegistry.get(channel), {
|
|
33310
33542
|
deps: { router: channelDeps.router }
|
|
33311
33543
|
}),
|
|
33312
|
-
disconnect: () => disconnectAllChannels((channel) => adapterRegistry.get(channel)),
|
|
33544
|
+
disconnect: () => (0, import_core98.disconnectAllChannels)((channel) => adapterRegistry.get(channel)),
|
|
33313
33545
|
log: { warn: (message, context) => logger7.warn(message, context) }
|
|
33314
33546
|
});
|
|
33315
33547
|
app.addHook("onClose", async () => {
|
|
@@ -33323,40 +33555,40 @@ var start = async (config) => {
|
|
|
33323
33555
|
}
|
|
33324
33556
|
}
|
|
33325
33557
|
const target_port = config?.port || Number(process.env.PORT) || 4001;
|
|
33326
|
-
(0,
|
|
33327
|
-
const outboxStore = (0,
|
|
33328
|
-
|
|
33329
|
-
|
|
33330
|
-
(0,
|
|
33558
|
+
(0, import_core98.configureCoordinationLeaseStore)((0, import_core98.getStoreLattice)("default", "lease").store);
|
|
33559
|
+
const outboxStore = (0, import_core98.getStoreLattice)("default", "outbox").store;
|
|
33560
|
+
import_core98.taskLifecycleNotifier.setOutbox(outboxStore);
|
|
33561
|
+
import_core98.projectTaskAdmissionNotifier.setOutbox(outboxStore);
|
|
33562
|
+
(0, import_core98.configurePluginCatalogSync)({ outbox: outboxStore, owner: (0, import_core98.getReplicaId)() });
|
|
33331
33563
|
bridgeAssistantEvents(
|
|
33332
|
-
(event, cb) =>
|
|
33564
|
+
(event, cb) => import_core98.eventBus.subscribe(event, cb),
|
|
33333
33565
|
outboxStore,
|
|
33334
|
-
(0,
|
|
33566
|
+
(0, import_core98.getReplicaId)()
|
|
33335
33567
|
);
|
|
33336
33568
|
if (projectRoomRealtimeRuntime) {
|
|
33337
33569
|
projectRoomRealtimeRuntime.broker.setBroadcastHook((scope, serialized, sourceKey) => {
|
|
33338
|
-
void publishRoomEvent(outboxStore, (0,
|
|
33570
|
+
void publishRoomEvent(outboxStore, (0, import_core98.getReplicaId)(), scope, serialized, sourceKey);
|
|
33339
33571
|
});
|
|
33340
33572
|
}
|
|
33341
|
-
const outboxPoller = new
|
|
33573
|
+
const outboxPoller = new import_core98.OutboxPoller({
|
|
33342
33574
|
store: outboxStore,
|
|
33343
|
-
owner: (0,
|
|
33575
|
+
owner: (0, import_core98.getReplicaId)(),
|
|
33344
33576
|
handlers: {
|
|
33345
|
-
"task-lifecycle": (payload) =>
|
|
33346
|
-
"project-task-admission": (payload) =>
|
|
33577
|
+
"task-lifecycle": (payload) => import_core98.taskLifecycleNotifier.deliverFromOutbox(payload),
|
|
33578
|
+
"project-task-admission": (payload) => import_core98.projectTaskAdmissionNotifier.deliverFromOutbox(payload),
|
|
33347
33579
|
[ROOM_EVENT_TOPIC]: async (payload) => {
|
|
33348
33580
|
if (projectRoomRealtimeRuntime) ingestRoomEvent(payload, projectRoomRealtimeRuntime.broker);
|
|
33349
33581
|
},
|
|
33350
|
-
"assistant-changed": (payload) => handleAssistantChanged(payload, (tenantId) =>
|
|
33582
|
+
"assistant-changed": (payload) => handleAssistantChanged(payload, (tenantId) => import_core98.agentLatticeManager.initializeStoredAssistantsForTenant(tenantId)),
|
|
33351
33583
|
[A2A_KEY_CHANGED_TOPIC]: (payload) => handleA2AKeyChanged(payload, () => refreshStoreKeyMap()),
|
|
33352
33584
|
[MCP_CONFIG_CHANGED_TOPIC]: (payload) => reconcileMcpConfigChange(payload, {
|
|
33353
|
-
store: (0,
|
|
33354
|
-
manager:
|
|
33355
|
-
convertToConnection:
|
|
33585
|
+
store: (0, import_core98.getStoreLattice)("default", "mcp").store,
|
|
33586
|
+
manager: import_core98.mcpManager,
|
|
33587
|
+
convertToConnection: import_core98.convertToConnection
|
|
33356
33588
|
}),
|
|
33357
|
-
[
|
|
33589
|
+
[import_core98.PLUGIN_CATALOG_CHANGED_TOPIC]: async (payload) => {
|
|
33358
33590
|
const tenantId = payload?.tenantId;
|
|
33359
|
-
if (typeof tenantId === "string" && tenantId.length > 0) (0,
|
|
33591
|
+
if (typeof tenantId === "string" && tenantId.length > 0) (0, import_core98.getSandboxPluginCatalog)().invalidate(tenantId);
|
|
33360
33592
|
},
|
|
33361
33593
|
[MODEL_PROVIDER_CHANGED_TOPIC]: async (payload) => {
|
|
33362
33594
|
const controller = routes.modelProviderController;
|
|
@@ -33371,7 +33603,7 @@ var start = async (config) => {
|
|
|
33371
33603
|
} catch (err) {
|
|
33372
33604
|
logger7.warn("Outbox poller failed to start", { error: err instanceof Error ? err.message : String(err) });
|
|
33373
33605
|
}
|
|
33374
|
-
const leaseStore = (0,
|
|
33606
|
+
const leaseStore = (0, import_core98.getStoreLattice)("default", "lease").store;
|
|
33375
33607
|
if (leaseStore.constructor?.name === "InMemoryLeaseStore") {
|
|
33376
33608
|
logger7.warn(
|
|
33377
33609
|
"Startup recovery leader gate uses a non-distributed lease store (per-process only); configure a shared 'lease' store for multi-replica deployments",
|
|
@@ -33379,7 +33611,7 @@ var start = async (config) => {
|
|
|
33379
33611
|
);
|
|
33380
33612
|
}
|
|
33381
33613
|
warnMultiReplicaReadiness(logger7);
|
|
33382
|
-
const startup = await (0,
|
|
33614
|
+
const startup = await (0, import_core98.runAsLeader)(leaseStore, "startup-recovery", async () => {
|
|
33383
33615
|
if (routes.projectTaskRuntime) {
|
|
33384
33616
|
await prepareProjectTaskRuntime(routes.projectTaskRuntime, logger7);
|
|
33385
33617
|
}
|
|
@@ -33388,9 +33620,9 @@ var start = async (config) => {
|
|
|
33388
33620
|
const { createOrphanRecoveryRuntime: createOrphanRecoveryRuntime2 } = await Promise.resolve().then(() => (init_OrphanRecoveryRuntime(), OrphanRecoveryRuntime_exports));
|
|
33389
33621
|
const { createRecoveryCallerDeps: createRecoveryCallerDeps2 } = await Promise.resolve().then(() => (init_RecoveryCallerDeps(), RecoveryCallerDeps_exports));
|
|
33390
33622
|
const runtime = createOrphanRecoveryRuntime2({
|
|
33391
|
-
taskStore: (0,
|
|
33392
|
-
workItemStore: (0,
|
|
33393
|
-
tenantStore: (0,
|
|
33623
|
+
taskStore: (0, import_core98.getStoreLattice)("default", "task").store,
|
|
33624
|
+
workItemStore: (0, import_core98.getStoreLattice)("default", "taskWorkItem").store,
|
|
33625
|
+
tenantStore: (0, import_core98.getStoreLattice)("default", "tenant").store,
|
|
33394
33626
|
...createRecoveryCallerDeps2(),
|
|
33395
33627
|
log: logger7
|
|
33396
33628
|
});
|
|
@@ -33399,9 +33631,9 @@ var start = async (config) => {
|
|
|
33399
33631
|
logger7.warn("Task orphan recovery failed", { error: err instanceof Error ? err.message : String(err) });
|
|
33400
33632
|
}
|
|
33401
33633
|
}
|
|
33402
|
-
if (
|
|
33634
|
+
if (import_core98.scheduleLatticeManager.hasLattice("default")) {
|
|
33403
33635
|
try {
|
|
33404
|
-
const restored = await
|
|
33636
|
+
const restored = await import_core98.scheduleLatticeManager.getScheduleLattice("default").restore();
|
|
33405
33637
|
logger7.info("Scheduled tasks restored", { phase: "startup_recovery", restored });
|
|
33406
33638
|
} catch (err) {
|
|
33407
33639
|
logger7.warn("Scheduled task restore failed", {
|
|
@@ -33444,7 +33676,7 @@ var start = async (config) => {
|
|
|
33444
33676
|
steps: [
|
|
33445
33677
|
async () => {
|
|
33446
33678
|
await Promise.all(
|
|
33447
|
-
|
|
33679
|
+
import_core98.agentInstanceManager.getAllAgents().map((agent) => agent.abort().catch(() => void 0))
|
|
33448
33680
|
);
|
|
33449
33681
|
},
|
|
33450
33682
|
() => agentTaskConsumer?.stopPollingQueue(),
|