@datalayer/agent-runtimes 1.5.70 → 1.5.73
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-embed/chunks/{DeckComponent-DAnUabRV.js → DeckComponent-Cd1sbs9L.js} +1 -1
- package/dist-embed/chunks/{DocumentView-BKFitqiB.js → DocumentView-ssQ835Wa.js} +1 -1
- package/dist-embed/chunks/{EphemeralDocument-BRzYMd8Z.js → EphemeralDocument-DNziilOG.js} +1 -1
- package/dist-embed/chunks/{ExcalidrawComponent-VnKcai35.js → ExcalidrawComponent-CQ4BeoQt.js} +1 -1
- package/dist-embed/chunks/{ExcalidrawModal-DrntFjbe.js → ExcalidrawModal-8W-b1OmA.js} +1 -1
- package/dist-embed/chunks/{JupyterLexicalExtension-BBivQZvX.js → JupyterLexicalExtension-BLYM-DTn.js} +4 -4
- package/dist-embed/chunks/{YouTubePlugin-C209681s.js → YouTubePlugin-BgZG6fCA.js} +1 -1
- package/dist-embed/chunks/abnfDiagram-VCTEODGH-BdOOK2nG.js +1 -0
- package/dist-embed/chunks/abnfDiagram-VCTEODGH-CHerLzZ0.js +1 -0
- package/dist-embed/chunks/{ar-SA-G6X2FPQ2-Dypu3IcK.js → ar-SA-G6X2FPQ2-Bcy9b6jn.js} +1 -1
- package/dist-embed/chunks/{architectureDiagram-5GKGNRK7-C22xzf-o.js → architectureDiagram-5GKGNRK7-C8jjE2mY.js} +2 -2
- package/dist-embed/chunks/architectureDiagram-5GKGNRK7-GukKr_g1.js +36 -0
- package/dist-embed/chunks/{az-AZ-76LH7QW2-D8CzfKb1.js → az-AZ-76LH7QW2-Bzy5rt95.js} +1 -1
- package/dist-embed/chunks/{bg-BG-XCXSNQG7-_NVFEM1_.js → bg-BG-XCXSNQG7-C3mQkAoD.js} +1 -1
- package/dist-embed/chunks/{blockDiagram-I7D4REHJ-CHicgYkf.js → blockDiagram-I7D4REHJ-DH6ta7S_.js} +2 -2
- package/dist-embed/chunks/blockDiagram-I7D4REHJ-edfypROz.js +129 -0
- package/dist-embed/chunks/{bn-BD-2XOGV67Q-DMgdNi-k.js → bn-BD-2XOGV67Q-DHwDUFeg.js} +1 -1
- package/dist-embed/chunks/{c4Diagram-7LVT6UL2-auJZQjpw.js → c4Diagram-7LVT6UL2-B6NHHf7w.js} +2 -2
- package/dist-embed/chunks/c4Diagram-7LVT6UL2-BD3Ld97M.js +38 -0
- package/dist-embed/chunks/{ca-ES-6MX7JW3Y-DpOQhzr4.js → ca-ES-6MX7JW3Y-CWMZCfjI.js} +1 -1
- package/dist-embed/chunks/{chunk-2Q5K7J3B-DpFWUcsT.js → chunk-2Q5K7J3B-9xCosPaH.js} +1 -1
- package/dist-embed/chunks/chunk-2Q5K7J3B-ZWnuQ6M2.js +1 -0
- package/dist-embed/chunks/{chunk-5VM5RSS4-CaowF8Al.js → chunk-5VM5RSS4-7q2jPq-I.js} +1 -1
- package/dist-embed/chunks/chunk-5VM5RSS4-C2EZUNrH.js +15 -0
- package/dist-embed/chunks/{chunk-F27PBJKO-D7PuEggc.js → chunk-F27PBJKO-hasZYXJc.js} +1 -1
- package/dist-embed/chunks/chunk-F27PBJKO-iAw_9Xtd.js +1 -0
- package/dist-embed/chunks/{chunk-IMKFNOWR-jZNuNkCa.js → chunk-IMKFNOWR-CR2LIHPi.js} +1 -1
- package/dist-embed/chunks/chunk-IMKFNOWR-CU661Hle.js +231 -0
- package/dist-embed/chunks/{chunk-JWPE2WC7-BIShIUcJ.js → chunk-JWPE2WC7-B40RAhYQ.js} +1 -1
- package/dist-embed/chunks/chunk-JWPE2WC7-D4pNFsZF.js +1 -0
- package/dist-embed/chunks/{chunk-POPQ4Y6H-DG5Q2OKT.js → chunk-POPQ4Y6H-CNc-_UkX.js} +1 -1
- package/dist-embed/chunks/chunk-POPQ4Y6H-PC7NS4ab.js +1 -0
- package/dist-embed/chunks/{chunk-SVP7TREG-ERRaAh-x.js → chunk-SVP7TREG-B-LR0OEY.js} +1 -1
- package/dist-embed/chunks/chunk-SVP7TREG-BgVpHjUA.js +88 -0
- package/dist-embed/chunks/{chunk-TICWLB2K-B91fA6Jd.js → chunk-TICWLB2K-BKUWUi4x.js} +1 -1
- package/dist-embed/chunks/chunk-TICWLB2K-D0mlrZUj.js +206 -0
- package/dist-embed/chunks/{chunk-XXDRQBXY-BAy0lBJk.js → chunk-XXDRQBXY-CFD4Agg8.js} +1 -1
- package/dist-embed/chunks/chunk-XXDRQBXY-DF8wFPCi.js +1 -0
- package/dist-embed/chunks/classDiagram-ZZMXUADV-B2RPE1Bl.js +1 -0
- package/dist-embed/chunks/classDiagram-ZZMXUADV-BSdRgwsr.js +1 -0
- package/dist-embed/chunks/classDiagram-v2-VYDZK3BY-B2RPE1Bl.js +1 -0
- package/dist-embed/chunks/classDiagram-v2-VYDZK3BY-BSdRgwsr.js +1 -0
- package/dist-embed/chunks/cose-bilkent-JH36ORCC-CGF9N16A.js +1 -0
- package/dist-embed/chunks/cose-bilkent-JH36ORCC-D976z1sp.js +1 -0
- package/dist-embed/chunks/{cs-CZ-2BRQDIVT-Fr-SpqHD.js → cs-CZ-2BRQDIVT-B_pe2qj9.js} +1 -1
- package/dist-embed/chunks/cynefin-OW5HDTMX-BBLugbYz.js +166 -0
- package/dist-embed/chunks/cynefinDiagram-5FMLGOSQ-Cil4cm66.js +62 -0
- package/dist-embed/chunks/cynefinDiagram-5FMLGOSQ-D7ioXav_.js +62 -0
- package/dist-embed/chunks/{da-DK-5WZEPLOC-DO_sAXvt.js → da-DK-5WZEPLOC-CGWCNcJj.js} +1 -1
- package/dist-embed/chunks/{dagre-GXQ25YYZ-BgrGEY09.js → dagre-GXQ25YYZ-Cp78_L9l.js} +2 -2
- package/dist-embed/chunks/dagre-GXQ25YYZ-DauBFK-x.js +4 -0
- package/dist-embed/chunks/{de-DE-XR44H4JA-4JnXB_iM.js → de-DE-XR44H4JA-DTdq2h_G.js} +1 -1
- package/dist-embed/chunks/{diagram-S7CK7UJ4-hQvZziAN.js → diagram-S7CK7UJ4-LsSU5PzE.js} +2 -2
- package/dist-embed/chunks/diagram-S7CK7UJ4-cLOCifii.js +30 -0
- package/dist-embed/chunks/diagram-UQ7AKVKN-BK4qe_eB.js +41 -0
- package/dist-embed/chunks/diagram-UQ7AKVKN-CoIPlGw-.js +41 -0
- package/dist-embed/chunks/diagram-VSXAHHWV-CIhWkrRX.js +3 -0
- package/dist-embed/chunks/{diagram-VSXAHHWV-WVuzjdxU.js → diagram-VSXAHHWV-DWWQ-Ga9.js} +2 -2
- package/dist-embed/chunks/diagram-VX7I27RA-43SwkivD.js +24 -0
- package/dist-embed/chunks/diagram-VX7I27RA-CQM8aGRO.js +24 -0
- package/dist-embed/chunks/diagram-Z3DM3KII-Da75Rc5Q.js +24 -0
- package/dist-embed/chunks/diagram-Z3DM3KII-DrILxydN.js +24 -0
- package/dist-embed/chunks/ebnfDiagram-PWID7BFC-CwBVaHP2.js +1 -0
- package/dist-embed/chunks/ebnfDiagram-PWID7BFC-Klx1dPe6.js +1 -0
- package/dist-embed/chunks/{el-GR-BZB4AONW-MydAlwHl.js → el-GR-BZB4AONW-qdInZt55.js} +1 -1
- package/dist-embed/chunks/{erDiagram-RLTQ6QDP-zwXEFcAp.js → erDiagram-RLTQ6QDP-6YXMuidI.js} +2 -2
- package/dist-embed/chunks/erDiagram-RLTQ6QDP-DmlOR1VA.js +99 -0
- package/dist-embed/chunks/{es-ES-U4NZUMDT-rQmnr_uu.js → es-ES-U4NZUMDT-CbVgghD5.js} +1 -1
- package/dist-embed/chunks/{eu-ES-A7QVB2H4-j5Hf8ngk.js → eu-ES-A7QVB2H4-Cfyi4-QV.js} +1 -1
- package/dist-embed/chunks/{fa-IR-HGAKTJCU-DMJRRSBp.js → fa-IR-HGAKTJCU-Bpz9Yk2c.js} +1 -1
- package/dist-embed/chunks/{fi-FI-Z5N7JZ37-BFLC0BFd.js → fi-FI-Z5N7JZ37-CnNP_ASI.js} +1 -1
- package/dist-embed/chunks/{flowDiagram-HODETNUW-BrbR1EkW.js → flowDiagram-HODETNUW-DpJLPDJS.js} +1 -1
- package/dist-embed/chunks/flowDiagram-HODETNUW-_PPo6xx4.js +168 -0
- package/dist-embed/chunks/{fr-FR-RHASNOE6-CxjhSJC1.js → fr-FR-RHASNOE6-CXIU81zC.js} +1 -1
- package/dist-embed/chunks/{ganttDiagram-EL5Y4UJY-DfJDZVnm.js → ganttDiagram-EL5Y4UJY-B3ddBLm-.js} +2 -2
- package/dist-embed/chunks/ganttDiagram-EL5Y4UJY-DnJUq63S.js +292 -0
- package/dist-embed/chunks/gitGraphDiagram-WWUBYQGX-CKVR9Ajq.js +106 -0
- package/dist-embed/chunks/gitGraphDiagram-WWUBYQGX-u7eHxrMk.js +106 -0
- package/dist-embed/chunks/{gl-ES-HMX3MZ6V-BuuMpTaX.js → gl-ES-HMX3MZ6V-Do1RdVfG.js} +1 -1
- package/dist-embed/chunks/{he-IL-6SHJWFNN-Cv3Nrcgu.js → he-IL-6SHJWFNN-NcTscmv6.js} +1 -1
- package/dist-embed/chunks/{hi-IN-IWLTKZ5I-Sddst60F.js → hi-IN-IWLTKZ5I-CyNpoQ12.js} +1 -1
- package/dist-embed/chunks/{hu-HU-A5ZG7DT2-ehrXVpD0.js → hu-HU-A5ZG7DT2-Bzge2Fdz.js} +1 -1
- package/dist-embed/chunks/{id-ID-SAP4L64H-Gfb1UYxZ.js → id-ID-SAP4L64H-DaNcoDhl.js} +1 -1
- package/dist-embed/chunks/{index-BaBNw6X5.js → index-BQdtKMKk.js} +56 -61
- package/dist-embed/chunks/index-CJys1M3A.js +6 -0
- package/dist-embed/chunks/{index-hxIHgkzg.js → index-CLdL3h_Z.js} +1 -1
- package/dist-embed/chunks/{index-DmpLE1d4.js → index-Cx_cIRez.js} +1 -1
- package/dist-embed/chunks/index-lOJZWhTu.js +337 -0
- package/dist-embed/chunks/infoDiagram-27XIBGKW-C3YByzAX.js +2 -0
- package/dist-embed/chunks/infoDiagram-27XIBGKW-CrHEoNfn.js +2 -0
- package/dist-embed/chunks/{ishikawaDiagram-5VMMS53U-DrEzfSK9.js → ishikawaDiagram-5VMMS53U-B87JmQRn.js} +6 -6
- package/dist-embed/chunks/ishikawaDiagram-5VMMS53U-DkW3YLz9.js +70 -0
- package/dist-embed/chunks/{it-IT-JPQ66NNP-BehLHkar.js → it-IT-JPQ66NNP-6fWP-4Pk.js} +1 -1
- package/dist-embed/chunks/{ja-JP-DBVTYXUO-BZvqIigI.js → ja-JP-DBVTYXUO-TOPcUfq8.js} +1 -1
- package/dist-embed/chunks/{journeyDiagram-3NMN7TZE-DpWKIFIN.js → journeyDiagram-3NMN7TZE-BcfZXfHF.js} +2 -2
- package/dist-embed/chunks/journeyDiagram-3NMN7TZE-BjO5pIr-.js +139 -0
- package/dist-embed/chunks/{kaa-6HZHGXH3-DgAIF6rN.js → kaa-6HZHGXH3-WPmptgZr.js} +1 -1
- package/dist-embed/chunks/{kab-KAB-ZGHBKWFO-DW4thPSJ.js → kab-KAB-ZGHBKWFO-CMOAXrZA.js} +1 -1
- package/dist-embed/chunks/{kanban-definition-UXKFOSKX-DxbTprYr.js → kanban-definition-UXKFOSKX-D9d45rsU.js} +2 -2
- package/dist-embed/chunks/kanban-definition-UXKFOSKX-DKCJ8_n0.js +89 -0
- package/dist-embed/chunks/{kk-KZ-P5N5QNE5-CCy_nSJ7.js → kk-KZ-P5N5QNE5-B6ezOPzr.js} +1 -1
- package/dist-embed/chunks/{km-KH-HSX4SM5Z-kpXyoxjS.js → km-KH-HSX4SM5Z-C84QUPbc.js} +1 -1
- package/dist-embed/chunks/{ko-KR-MTYHY66A-CFm6WtQG.js → ko-KR-MTYHY66A-cuBEuTL_.js} +1 -1
- package/dist-embed/chunks/{ku-TR-6OUDTVRD-CKF85mOv.js → ku-TR-6OUDTVRD-B9KdlCAR.js} +1 -1
- package/dist-embed/chunks/{layout-DYytgC9r.js → layout-C6Twj1mW.js} +1 -1
- package/dist-embed/chunks/layout-Do3wJC1j.js +1 -0
- package/dist-embed/chunks/{lt-LT-XHIRWOB4-CO9Bo5qJ.js → lt-LT-XHIRWOB4-B39JwBGi.js} +1 -1
- package/dist-embed/chunks/{lv-LV-5QDEKY6T-CvZszc5p.js → lv-LV-5QDEKY6T-8WReOaa7.js} +1 -1
- package/dist-embed/chunks/{mindmap-definition-YA3MSWOX-_1SBIPav.js → mindmap-definition-YA3MSWOX-5wZuXgB8.js} +2 -2
- package/dist-embed/chunks/mindmap-definition-YA3MSWOX-BURkGTKI.js +96 -0
- package/dist-embed/chunks/{mr-IN-CRQNXWMA-Cio_dB9M.js → mr-IN-CRQNXWMA-DUaS8VWx.js} +1 -1
- package/dist-embed/chunks/{my-MM-5M5IBNSE-Z0RQ5Vbz.js → my-MM-5M5IBNSE-BdJYwQXg.js} +1 -1
- package/dist-embed/chunks/{nb-NO-T6EIAALU-BEQ0YP9J.js → nb-NO-T6EIAALU-C_p5yu1z.js} +1 -1
- package/dist-embed/chunks/{nl-NL-IS3SIHDZ-YtkJnS_J.js → nl-NL-IS3SIHDZ-DM5qgcCp.js} +1 -1
- package/dist-embed/chunks/{nn-NO-6E72VCQL-C1j2s3qO.js → nn-NO-6E72VCQL-BuX1DqI5.js} +1 -1
- package/dist-embed/chunks/{oc-FR-POXYY2M6-CinnjccW.js → oc-FR-POXYY2M6-BAWljcaf.js} +1 -1
- package/dist-embed/chunks/{pa-IN-N4M65BXN-c_6OtC6L.js → pa-IN-N4M65BXN-2iyq8qxX.js} +1 -1
- package/dist-embed/chunks/pegDiagram-XKGWAZYB-BjrOX_Ki.js +1 -0
- package/dist-embed/chunks/pegDiagram-XKGWAZYB-CyuSADYr.js +1 -0
- package/dist-embed/chunks/{percentages-BXMCSKIN-VqMxh8LK.js → percentages-BXMCSKIN-C9b5dzpq.js} +5 -5
- package/dist-embed/chunks/{pieDiagram-E7YTZNPT-EvMxJb2S.js → pieDiagram-E7YTZNPT-GvxNnk0x.js} +2 -2
- package/dist-embed/chunks/pieDiagram-E7YTZNPT-ni9UMEzV.js +39 -0
- package/dist-embed/chunks/{pl-PL-T2D74RX3-Cn_9xZgM.js → pl-PL-T2D74RX3-C6nLJHhB.js} +1 -1
- package/dist-embed/chunks/{pt-BR-5N22H2LF-Da6r-Pp1.js → pt-BR-5N22H2LF-B1adz-DU.js} +1 -1
- package/dist-embed/chunks/{pt-PT-UZXXM6DQ-D6lhcuX9.js → pt-PT-UZXXM6DQ-BCZpI4LV.js} +1 -1
- package/dist-embed/chunks/{quadrantDiagram-AXDQQJYC-rFaTvNlk.js → quadrantDiagram-AXDQQJYC-CufBEqrC.js} +4 -4
- package/dist-embed/chunks/quadrantDiagram-AXDQQJYC-Yg2WGHWh.js +7 -0
- package/dist-embed/chunks/railroadDiagram-O6MQD6OU-6tStysfX.js +1 -0
- package/dist-embed/chunks/railroadDiagram-O6MQD6OU-Df7m1mT4.js +1 -0
- package/dist-embed/chunks/{requirementDiagram-BXWQKSXE-DHLQ_9Lw.js → requirementDiagram-BXWQKSXE-0AqPqv7a.js} +2 -2
- package/dist-embed/chunks/requirementDiagram-BXWQKSXE-CmXBYo40.js +84 -0
- package/dist-embed/chunks/{ro-RO-JPDTUUEW-BFss9e8X.js → ro-RO-JPDTUUEW-BPM7y_F2.js} +1 -1
- package/dist-embed/chunks/{ru-RU-B4JR7IUQ-DIruW2gS.js → ru-RU-B4JR7IUQ-UViKo8dy.js} +1 -1
- package/dist-embed/chunks/{sankeyDiagram-P5KCCOFB-Nk71fRsK.js → sankeyDiagram-P5KCCOFB-CqcWOAyy.js} +2 -2
- package/dist-embed/chunks/sankeyDiagram-P5KCCOFB-rQsp_j9w.js +40 -0
- package/dist-embed/chunks/{sequenceDiagram-WJ2MYXX4-Dm3QM01Z.js → sequenceDiagram-WJ2MYXX4-Br4F1sd7.js} +2 -2
- package/dist-embed/chunks/sequenceDiagram-WJ2MYXX4-GMFparx1.js +162 -0
- package/dist-embed/chunks/{si-LK-N5RQ5JYF-Dom-aTTE.js → si-LK-N5RQ5JYF-D7TIYEDr.js} +1 -1
- package/dist-embed/chunks/sizeCapture-INFHLROL-8qFOiWrK.js +1 -0
- package/dist-embed/chunks/sizeCapture-INFHLROL-C_M5Nl06.js +1 -0
- package/dist-embed/chunks/{sk-SK-C5VTKIMK-CLRU9TNq.js → sk-SK-C5VTKIMK-CQedcNlJ.js} +1 -1
- package/dist-embed/chunks/{sl-SI-NN7IZMDC-BKLCNVXA.js → sl-SI-NN7IZMDC-BX1W51zJ.js} +1 -1
- package/dist-embed/chunks/stateDiagram-D77RDMKH-CWrs6KzY.js +1 -0
- package/dist-embed/chunks/stateDiagram-D77RDMKH-XK76naDS.js +1 -0
- package/dist-embed/chunks/stateDiagram-v2-MP3YSRHH-D3ZN_IoS.js +1 -0
- package/dist-embed/chunks/stateDiagram-v2-MP3YSRHH-lpluVNfO.js +1 -0
- package/dist-embed/chunks/{subset-shared.chunk-zIH7OLsP.js → subset-shared.chunk-PVguOYyR.js} +1 -1
- package/dist-embed/chunks/{subset-worker.chunk-b9j7PKPe.js → subset-worker.chunk-iWGyr_E5.js} +1 -1
- package/dist-embed/chunks/{sv-SE-XGPEYMSR-D0UV0HV7.js → sv-SE-XGPEYMSR-DI7YcqUR.js} +1 -1
- package/dist-embed/chunks/swimlanes-42K2YHIH-B9qJ99nD.js +1 -0
- package/dist-embed/chunks/swimlanes-42K2YHIH-Ca0PhRmf.js +1 -0
- package/dist-embed/chunks/swimlanesDiagram-VR7AAH4N-BEQKTD21.js +8 -0
- package/dist-embed/chunks/swimlanesDiagram-VR7AAH4N-D-2e4UFJ.js +8 -0
- package/dist-embed/chunks/{ta-IN-2NMHFXQM-C-EJ3jDE.js → ta-IN-2NMHFXQM-OZH5xroe.js} +1 -1
- package/dist-embed/chunks/{th-TH-HPSO5L25-CfQh62Qa.js → th-TH-HPSO5L25-gAuWhBpT.js} +1 -1
- package/dist-embed/chunks/{timeline-definition-24CTP7MA-CKtubk73.js → timeline-definition-24CTP7MA-B8lxEouP.js} +2 -2
- package/dist-embed/chunks/timeline-definition-24CTP7MA-CtZZro9U.js +120 -0
- package/dist-embed/chunks/{tr-TR-DEFEU3FU-Lz7Ka2Zr.js → tr-TR-DEFEU3FU-DQ0SDuS6.js} +1 -1
- package/dist-embed/chunks/{uk-UA-QMV73CPH-DU0hsGUJ.js → uk-UA-QMV73CPH-7J4e2jng.js} +1 -1
- package/dist-embed/chunks/{vennDiagram-4TSXK5OY-Bq0xMhnH.js → vennDiagram-4TSXK5OY-Ca7szyFH.js} +2 -2
- package/dist-embed/chunks/vennDiagram-4TSXK5OY-zaNGkt8b.js +28 -0
- package/dist-embed/chunks/{vi-VN-M7AON7JQ-CDvS0SiL.js → vi-VN-M7AON7JQ-dNpZ5DZ5.js} +1 -1
- package/dist-embed/chunks/{wardleyDiagram-VM6X3IG4-DL5LgQWr.js → wardleyDiagram-VM6X3IG4-D_Q6gtp2.js} +2 -2
- package/dist-embed/chunks/wardleyDiagram-VM6X3IG4-Dh0UOrRp.js +78 -0
- package/dist-embed/chunks/{xychartDiagram-S5SC5T6Z-BXkM4beH.js → xychartDiagram-S5SC5T6Z-4OhI4XQl.js} +2 -2
- package/dist-embed/chunks/xychartDiagram-S5SC5T6Z-D_TaZM0k.js +7 -0
- package/dist-embed/chunks/{zh-CN-LNUGB5OW-CWE-bF0d.js → zh-CN-LNUGB5OW-CZSp2g8b.js} +1 -1
- package/dist-embed/chunks/{zh-HK-E62DVLB3-pEfL2bds.js → zh-HK-E62DVLB3-DUqVOyB_.js} +1 -1
- package/dist-embed/chunks/{zh-TW-RAJ6MFWO-Cp6UFUuD.js → zh-TW-RAJ6MFWO-U-TalxxN.js} +1 -1
- package/dist-embed/datalayer-app-main.js +3 -3
- package/lib/Agent.js +2 -2
- package/lib/AgentDocument.js +6 -6
- package/lib/AgentNode.js +4 -4
- package/lib/AgentNotebook.js +3 -3
- package/lib/App.js +2 -2
- package/lib/AppExamples2.js +3 -4
- package/lib/agent-document-main.js +1 -1
- package/lib/agent-main.js +1 -1
- package/lib/agent-node-main.js +1 -1
- package/lib/agent-notebook-main.js +1 -1
- package/lib/agents/AgentDetails.js +5 -5
- package/lib/agents/AgentRuntimeChat.js +3 -3
- package/lib/api/index.js +5 -5
- package/lib/api/scheduler/index.js +1 -1
- package/lib/apps/apps/AppBrowserSandbox.js +3 -3
- package/lib/apps/apps/AppComposer.js +6 -6
- package/lib/apps/apps/AppFeedback.js +3 -3
- package/lib/apps/apps/AppKept.js +3 -3
- package/lib/apps/apps/AppRenderer.js +26 -26
- package/lib/apps/apps/AppRuntimePlugins.js +3 -3
- package/lib/apps/apps/agent.js +2 -2
- package/lib/apps/apps/appspec.js +5 -5
- package/lib/apps/apps/browserSandbox.js +1 -1
- package/lib/apps/apps/checks.js +24 -24
- package/lib/apps/apps/customComponents.js +1 -1
- package/lib/apps/apps/index.js +18 -18
- package/lib/apps/apps/language.js +1 -1
- package/lib/apps/apps/records.js +3 -3
- package/lib/apps/apps/rules.js +1 -1
- package/lib/apps/apps/sceneChecks.js +6 -6
- package/lib/apps/apps/sceneShape.js +2 -2
- package/lib/apps/apps/sceneYaml.js +2 -2
- package/lib/apps/apps/yaml.js +1 -1
- package/lib/apps/core/index.js +7 -7
- package/lib/apps/embed/AppEmbed.d.ts +1 -1
- package/lib/apps/embed/AppEmbed.js +11 -11
- package/lib/apps/embed/LoopEmbed.js +4 -4
- package/lib/apps/embed/datalayer-app.js +1 -1
- package/lib/apps/embed/element.js +7 -7
- package/lib/apps/embed/embedConfig.js +2 -2
- package/lib/apps/embed/embedSession.js +2 -2
- package/lib/apps/embed/hostBridge.js +3 -3
- package/lib/apps/embed/visitorApp.js +3 -3
- package/lib/apps/extensions.js +4 -4
- package/lib/apps/index.js +70 -70
- package/lib/apps/plugins/a2a-sidebar/A2ASidebar.js +6 -6
- package/lib/apps/plugins/a2a-sidebar/index.js +3 -3
- package/lib/apps/plugins/a2ui/A2uiView.js +2 -2
- package/lib/apps/plugins/a2ui/index.js +3 -3
- package/lib/apps/plugins/a2ui-scene/index.js +1 -1
- package/lib/apps/plugins/a2ui-surface/AnswerShows.js +3 -3
- package/lib/apps/plugins/a2ui-surface/InlineSurface.js +1 -1
- package/lib/apps/plugins/a2ui-surface/SurfaceToolResult.js +4 -4
- package/lib/apps/plugins/a2ui-surface/index.js +7 -7
- package/lib/apps/plugins/a2ui-surface/ownComponents.js +2 -2
- package/lib/apps/plugins/agent-a2a/index.js +1 -1
- package/lib/apps/plugins/agent-a2ui/index.js +1 -1
- package/lib/apps/plugins/agent-a2ui-jupyter-output/index.js +1 -1
- package/lib/apps/plugins/agent-capacity/index.js +1 -1
- package/lib/apps/plugins/agent-checkpoints/index.js +1 -1
- package/lib/apps/plugins/agent-code-sandbox/index.js +1 -1
- package/lib/apps/plugins/agent-code-sandboxes/index.js +1 -1
- package/lib/apps/plugins/agent-codemode/index.js +1 -1
- package/lib/apps/plugins/agent-compaction/index.js +1 -1
- package/lib/apps/plugins/agent-evals/index.js +1 -1
- package/lib/apps/plugins/agent-guardrails/index.js +1 -1
- package/lib/apps/plugins/agent-hooks/index.js +1 -1
- package/lib/apps/plugins/agent-inference/index.js +1 -1
- package/lib/apps/plugins/agent-mcp/index.js +1 -1
- package/lib/apps/plugins/agent-memory/index.js +1 -1
- package/lib/apps/plugins/agent-monitoring/index.js +1 -1
- package/lib/apps/plugins/agent-notifications/index.js +1 -1
- package/lib/apps/plugins/agent-otel/index.js +1 -1
- package/lib/apps/plugins/agent-outputs/index.js +1 -1
- package/lib/apps/plugins/agent-parameters/index.js +1 -1
- package/lib/apps/plugins/agent-skills/index.js +1 -1
- package/lib/apps/plugins/agent-subagents/index.js +1 -1
- package/lib/apps/plugins/agent-tool-approvals/index.js +1 -1
- package/lib/apps/plugins/agent-triggers/index.js +1 -1
- package/lib/apps/plugins/agents/AgentSummaryPanel.js +5 -5
- package/lib/apps/plugins/agents/AnonymousKeyBadge.js +2 -2
- package/lib/apps/plugins/agents/DatalayerAgentBridge.js +7 -7
- package/lib/apps/plugins/agents/DatalayerAgentMount.js +1 -1
- package/lib/apps/plugins/agents/SandboxSelector.js +3 -3
- package/lib/apps/plugins/agents/SandboxStatusBridge.js +2 -2
- package/lib/apps/plugins/agents/SandboxView.js +1 -1
- package/lib/apps/plugins/agents/TeamMemberPicker.js +2 -2
- package/lib/apps/plugins/agents/index.js +8 -8
- package/lib/apps/plugins/agents/plugin.js +10 -10
- package/lib/apps/plugins/agents/specSubagents.js +1 -1
- package/lib/apps/plugins/agents/switchable.js +3 -3
- package/lib/apps/plugins/agents/team.js +2 -2
- package/lib/apps/plugins/agents/useSandboxService.js +1 -1
- package/lib/apps/plugins/agents/useTeamSelection.js +1 -1
- package/lib/apps/plugins/agentspecs/AgentspecPicker.js +1 -1
- package/lib/apps/plugins/agentspecs/index.js +2 -2
- package/lib/apps/plugins/app-activity/AppActivity.js +2 -2
- package/lib/apps/plugins/app-activity/index.js +3 -3
- package/lib/apps/plugins/app-components/index.js +4 -4
- package/lib/apps/plugins/app-computer/AppComputer.js +3 -3
- package/lib/apps/plugins/app-computer/index.js +4 -4
- package/lib/apps/plugins/app-elements/AppElements.js +2 -2
- package/lib/apps/plugins/app-elements/QuestionView.js +1 -1
- package/lib/apps/plugins/app-elements/index.js +6 -6
- package/lib/apps/plugins/app-page/AppPage.js +7 -7
- package/lib/apps/plugins/app-page/appPageModel.js +1 -1
- package/lib/apps/plugins/app-page/index.js +6 -6
- package/lib/apps/plugins/app-rules/AppRulesCard.js +5 -5
- package/lib/apps/plugins/app-rules/index.js +4 -4
- package/lib/apps/plugins/assistant/index.js +12 -12
- package/lib/apps/plugins/assistant-characters/index.d.ts +1 -1
- package/lib/apps/plugins/assistant-characters/index.js +3 -3
- package/lib/apps/plugins/canvas-blocks/index.js +2 -2
- package/lib/apps/plugins/canvas-parts/index.js +10 -10
- package/lib/apps/plugins/chat/ChatView.js +43 -43
- package/lib/apps/plugins/chat/SessionActionsMenu.js +2 -2
- package/lib/apps/plugins/chat/index.js +4 -4
- package/lib/apps/plugins/chat/sessionActions.js +2 -2
- package/lib/apps/plugins/chat-extras/index.js +1 -1
- package/lib/apps/plugins/chat-header/HeaderView.js +1 -1
- package/lib/apps/plugins/chat-header/index.js +2 -2
- package/lib/apps/plugins/chat-view/index.js +2 -2
- package/lib/apps/plugins/checkpoints-sidebar/CheckpointsSidebar.js +2 -2
- package/lib/apps/plugins/checkpoints-sidebar/index.js +3 -3
- package/lib/apps/plugins/commands/index.js +1 -1
- package/lib/apps/plugins/decks/DecksMenu.js +2 -2
- package/lib/apps/plugins/decks/index.js +8 -8
- package/lib/apps/plugins/document/DocumentView.js +5 -5
- package/lib/apps/plugins/document/index.js +4 -4
- package/lib/apps/plugins/document/openingDocument.js +1 -1
- package/lib/apps/plugins/document-toolbar/SandboxStatusItem.js +2 -2
- package/lib/apps/plugins/document-toolbar/index.js +3 -3
- package/lib/apps/plugins/document-toolbar/plugin.js +3 -3
- package/lib/apps/plugins/document-view/index.js +1 -1
- package/lib/apps/plugins/graph/GraphToggle.js +1 -1
- package/lib/apps/plugins/graph/index.js +5 -5
- package/lib/apps/plugins/input-prompt/ComposerView.js +2 -2
- package/lib/apps/plugins/input-prompt/index.js +2 -2
- package/lib/apps/plugins/models/index.js +1 -1
- package/lib/apps/plugins/notebook/NotebookView.js +5 -5
- package/lib/apps/plugins/notebook/index.js +4 -4
- package/lib/apps/plugins/notebook-toolbar/index.js +3 -3
- package/lib/apps/plugins/notebook-toolbar/plugin.js +3 -3
- package/lib/apps/plugins/notebook-view/index.js +1 -1
- package/lib/apps/plugins/page-layout/SplitLayout.js +1 -1
- package/lib/apps/plugins/page-layout/TurnPanel.js +5 -5
- package/lib/apps/plugins/page-layout/index.js +5 -5
- package/lib/apps/plugins/pap-example/index.js +1 -1
- package/lib/apps/plugins/pap-sign-in/PapSignInCard.js +1 -1
- package/lib/apps/plugins/pap-sign-in/index.js +5 -5
- package/lib/apps/plugins/pap-sign-in/signIn.js +1 -1
- package/lib/apps/plugins/plugins-panel/index.js +1 -1
- package/lib/apps/plugins/prompt/index.js +3 -3
- package/lib/apps/plugins/shell/editorChoice.js +1 -1
- package/lib/apps/plugins/shell/index.js +4 -4
- package/lib/apps/plugins/shell/useEditorPreviews.js +1 -1
- package/lib/apps/plugins/shield-displays/DiffCard.js +1 -1
- package/lib/apps/plugins/shield-displays/TerminalCard.js +1 -1
- package/lib/apps/plugins/shield-displays/index.js +5 -5
- package/lib/apps/plugins/subagent-activity/SubagentPulse.js +3 -3
- package/lib/apps/plugins/subagent-activity/index.js +4 -4
- package/lib/apps/plugins/view-switch/index.js +3 -3
- package/lib/apps/plugins/window-frame/WindowFrame.js +1 -1
- package/lib/apps/plugins/window-frame/index.js +5 -5
- package/lib/apps/presets.js +21 -21
- package/lib/apps/shell/LoopWorkspace.js +4 -4
- package/lib/apps/shell/SidebarRail.js +1 -1
- package/lib/apps/shell/ViewSwitcher.js +1 -1
- package/lib/apps/shell/WorkspaceFullScreenAction.js +2 -2
- package/lib/apps/shell/index.js +7 -7
- package/lib/chat/Chat.js +7 -7
- package/lib/chat/ChatFloating.d.ts +1 -1
- package/lib/chat/ChatFloating.js +23 -23
- package/lib/chat/ChatInline.js +4 -4
- package/lib/chat/ChatLanguage.js +2 -2
- package/lib/chat/ChatPopupStandalone.js +4 -4
- package/lib/chat/ChatSidebar.js +2 -2
- package/lib/chat/ChatStandalone.js +3 -3
- package/lib/chat/assistant/AgentDetailsDialog.js +1 -1
- package/lib/chat/assistant/AssistantStage.d.ts +1 -1
- package/lib/chat/assistant/AssistantStage.js +16 -16
- package/lib/chat/assistant/Avatar3D.d.ts +1 -1
- package/lib/chat/assistant/Avatar3D.js +1 -1
- package/lib/chat/assistant/BalloonParts.js +8 -8
- package/lib/chat/assistant/BalloonVisual.js +1 -1
- package/lib/chat/assistant/ConversationBalloon.js +1 -1
- package/lib/chat/assistant/DecisionAsk.js +1 -1
- package/lib/chat/assistant/SandboxDetailsDialog.js +1 -1
- package/lib/chat/assistant/SpeechBalloon.js +5 -5
- package/lib/chat/assistant/SpriteCharacter.js +2 -2
- package/lib/chat/assistant/{avatar3d.d.ts → avatar3dModel.d.ts} +1 -1
- package/lib/chat/assistant/formats/acf.js +3 -3
- package/lib/chat/assistant/formats/acs.js +3 -3
- package/lib/chat/assistant/formats/agentCompression.js +1 -1
- package/lib/chat/assistant/formats/blobs.js +1 -1
- package/lib/chat/assistant/formats/clippy.js +3 -3
- package/lib/chat/assistant/formats/files.js +4 -4
- package/lib/chat/assistant/formats/index.js +7 -7
- package/lib/chat/assistant/formats/objectLiteral.js +1 -1
- package/lib/chat/assistant/toolLine.js +2 -2
- package/lib/chat/base/ChatBase.js +45 -45
- package/lib/chat/base/fullContextMessages.js +1 -1
- package/lib/chat/base/uiOps.js +3 -3
- package/lib/chat/display/EmptyState.js +3 -3
- package/lib/chat/document/EphemeralDocument.js +4 -4
- package/lib/chat/header/ChatHeaderBase.js +2 -2
- package/lib/chat/header/ChatViewModeToggle.js +1 -1
- package/lib/chat/index.js +24 -24
- package/lib/chat/indicators/McpStatusIndicator.js +1 -1
- package/lib/chat/indicators/SandboxStatusIndicator.js +1 -1
- package/lib/chat/indicators/index.js +3 -3
- package/lib/chat/marks/SpecMark.js +1 -1
- package/lib/chat/marks/index.js +3 -3
- package/lib/chat/marks/toolMarks.js +4 -4
- package/lib/chat/messages/ChatMarkdown.js +3 -3
- package/lib/chat/messages/ChatMessageList.js +13 -13
- package/lib/chat/messages/ChatMessages.js +2 -2
- package/lib/chat/messages/FormSubmissionMessage.js +1 -1
- package/lib/chat/messages/TurnFooter.js +2 -2
- package/lib/chat/notebook/EphemeralNotebook.js +4 -4
- package/lib/chat/parts/MessagePart.js +4 -4
- package/lib/chat/parts/ReasoningPart.js +2 -2
- package/lib/chat/parts/TextPart.js +2 -2
- package/lib/chat/parts/ToolPart.js +1 -1
- package/lib/chat/parts/index.js +5 -5
- package/lib/chat/presence/Presence.js +1 -1
- package/lib/chat/presence/presenceStatus.js +1 -1
- package/lib/chat/prompt/InputPrompt.js +9 -9
- package/lib/chat/prompt/InputPromptBase.js +6 -6
- package/lib/chat/prompt/InputPromptLexical.js +4 -4
- package/lib/chat/prompt/footer/BelowPromptFooter.js +1 -1
- package/lib/chat/prompt/footer/InPromptFooter.js +2 -2
- package/lib/chat/prompt/footer/index.js +2 -2
- package/lib/chat/prompt/header/BelowPromptHeader.js +1 -1
- package/lib/chat/prompt/header/InPromptHeader.js +1 -1
- package/lib/chat/prompt/header/index.js +2 -2
- package/lib/chat/prompt/index.js +10 -10
- package/lib/chat/prompt/menus/SkillsMenu.js +1 -1
- package/lib/chat/prompt/menus/SuggestionsMenu.js +1 -1
- package/lib/chat/prompt/menus/ToolsMenu.js +1 -1
- package/lib/chat/prompt/menus/index.js +6 -6
- package/lib/chat/prompt/plugins/AgentMentionPlugin.js +1 -1
- package/lib/chat/prompt/plugins/MentionNode.js +1 -1
- package/lib/chat/prompt/stack.js +1 -1
- package/lib/chat/tools/SubagentActivity.js +1 -1
- package/lib/chat/tools/ToolApprovalBanner.js +1 -1
- package/lib/chat/tools/ToolApprovalDialog.js +1 -1
- package/lib/chat/tools/ToolCallDisplay.js +2 -2
- package/lib/chat/tools/index.js +5 -5
- package/lib/chat/usage/ContextPie.js +1 -1
- package/lib/chat/words.js +1 -1
- package/lib/client/AgentRuntimesClient.js +2 -2
- package/lib/client/AgentsMixin.js +8 -8
- package/lib/client/index.js +3 -3
- package/lib/client/mixins/RuntimesMixin.js +6 -6
- package/lib/client/mixins/SpacerMixin.js +11 -11
- package/lib/client/utils/spacerUtils.js +2 -2
- package/lib/collaboration/DatalayerCollaborationProvider.js +1 -1
- package/lib/collaboration/index.js +2 -2
- package/lib/components/a2ui/custom/index.js +6 -6
- package/lib/components/a2ui/datalayer/Chart.js +2 -2
- package/lib/components/a2ui/datalayer/Chat.js +5 -5
- package/lib/components/a2ui/datalayer/Download.js +2 -2
- package/lib/components/a2ui/datalayer/Evidence.js +2 -2
- package/lib/components/a2ui/datalayer/FileUpload.js +3 -3
- package/lib/components/a2ui/datalayer/Form.js +3 -3
- package/lib/components/a2ui/datalayer/SchemaForm.js +1 -1
- package/lib/components/a2ui/datalayer/Table.js +2 -2
- package/lib/components/a2ui/datalayer/implementation.js +1 -1
- package/lib/components/a2ui/datalayer/index.js +17 -17
- package/lib/components/a2ui/datalayer/schema.js +1 -1
- package/lib/components/a2ui/index.js +7 -7
- package/lib/components/a2ui/visibleWhen.js +2 -2
- package/lib/components/agents/AgentSummary.js +1 -1
- package/lib/components/agents/index.js +1 -1
- package/lib/components/cards/NotificationEventCard.js +2 -2
- package/lib/components/cards/OutputCard.js +2 -2
- package/lib/components/cards/index.js +3 -3
- package/lib/components/code-sandboxes/CodeSandboxCellVariablesDialog.js +3 -3
- package/lib/components/code-sandboxes/CodeSandboxLauncher.js +9 -9
- package/lib/components/code-sandboxes/CodeSandboxPicker.js +9 -9
- package/lib/components/code-sandboxes/CodeSandboxPickerCell.js +7 -7
- package/lib/components/code-sandboxes/CodeSandboxUtils.js +3 -3
- package/lib/components/code-sandboxes/CodeSandboxVariables.js +1 -1
- package/lib/components/code-sandboxes/NewCodeSandboxControls.js +3 -3
- package/lib/components/code-sandboxes/index.js +14 -14
- package/lib/components/context/SpaceSelect.js +1 -1
- package/lib/components/flashes/FlashDisclaimer.js +1 -1
- package/lib/components/icons/index.js +1 -1
- package/lib/components/index.js +6 -6
- package/lib/components/inspector/AgentInspector.js +2 -2
- package/lib/components/inspector/AgentInspectorDialog.js +1 -1
- package/lib/components/inspector/a2aSpans.js +1 -1
- package/lib/components/inspector/chatSpans.js +2 -2
- package/lib/components/inspector/classify.js +1 -1
- package/lib/components/inspector/index.js +6 -6
- package/lib/components/nbgrader/index.js +1 -1
- package/lib/components/progress/index.js +1 -1
- package/lib/components/scheduler/ScheduleMenu.js +1 -1
- package/lib/components/scheduler/index.js +1 -1
- package/lib/components/snapshots/SandboxSnapshotMenu.js +2 -2
- package/lib/components/snapshots/index.js +1 -1
- package/lib/components/teams/A2ATeamGraph.d.ts +1 -1
- package/lib/components/teams/A2ATeamGraph.js +8 -8
- package/lib/components/teams/AnswerSurfaces.js +1 -1
- package/lib/components/teams/AnswerSurfacesView.js +4 -4
- package/lib/components/teams/NotebookPreview.js +2 -2
- package/lib/components/teams/NotebookPreviewView.js +1 -1
- package/lib/components/teams/SceneTranscript.d.ts +1 -1
- package/lib/components/teams/SceneTranscript.js +2 -2
- package/lib/components/teams/SceneView.d.ts +1 -1
- package/lib/components/teams/SceneView.js +1 -1
- package/lib/components/teams/TeamNotebook.js +1 -1
- package/lib/components/teams/TeamNotebookView.js +3 -3
- package/lib/components/teams/index.d.ts +1 -1
- package/lib/components/teams/index.js +13 -13
- package/lib/components/teams/sceneStage.js +2 -2
- package/lib/components/teams/{sceneTranscript.d.ts → sceneTranscriptRules.d.ts} +1 -1
- package/lib/components/teams/{sceneTranscript.js → sceneTranscriptRules.js} +1 -1
- package/lib/components/teams/teamConnections.js +3 -3
- package/lib/components/teams/useA2ATeam.js +6 -6
- package/lib/components/teams/usePeerSandbox.js +1 -1
- package/lib/components/tokens/index.js +1 -1
- package/lib/config/AgentConfiguration.js +2 -2
- package/lib/config/index.js +2 -2
- package/lib/context/CostUsageChart.js +4 -4
- package/lib/context/MessageHistory.js +1 -1
- package/lib/context/TokenUsageChart.js +4 -4
- package/lib/examples/A2UiAgentExample.js +9 -9
- package/lib/examples/A2UiComponentsGalleryExample.js +4 -4
- package/lib/examples/A2UiContactCardExample.js +4 -4
- package/lib/examples/A2UiJupyterOutputExample.js +11 -11
- package/lib/examples/A2UiRestaurantExample.js +4 -4
- package/lib/examples/A2UiViewerExample.js +6 -6
- package/lib/examples/AgUiAgenticExample.js +4 -4
- package/lib/examples/AgUiBackendToolRenderingExample.js +6 -6
- package/lib/examples/AgUiHaikuGenUiExample.js +6 -6
- package/lib/examples/AgUiHumanInTheLoopExample.js +5 -5
- package/lib/examples/AgUiSharedStateExample.js +4 -4
- package/lib/examples/AgUiToolsBasedGenUiExample.js +4 -4
- package/lib/examples/AgentA2AExample.js +7 -7
- package/lib/examples/AgentA2ATeamExample.js +10 -10
- package/lib/examples/AgentCheckpointsExample.js +14 -14
- package/lib/examples/AgentCodeSandboxExample.js +6 -6
- package/lib/examples/AgentCodeSandboxesExample.js +5 -5
- package/lib/examples/AgentCodemodeExample.js +12 -12
- package/lib/examples/AgentCompactionExample.js +8 -8
- package/lib/examples/AgentDecideExample.js +6 -6
- package/lib/examples/AgentEvalsExample.js +11 -11
- package/lib/examples/AgentGuardrailsExample.js +17 -17
- package/lib/examples/AgentHooksExample.js +5 -5
- package/lib/examples/AgentInferenceProviderExample.js +6 -6
- package/lib/examples/AgentMCPExample.js +14 -14
- package/lib/examples/AgentMemoryExample.js +11 -11
- package/lib/examples/AgentMonitoringExample.js +19 -19
- package/lib/examples/AgentNotificationsExample.js +9 -9
- package/lib/examples/AgentOtelExample.js +6 -6
- package/lib/examples/AgentOutputsExample.js +8 -8
- package/lib/examples/AgentParametersExample.js +6 -6
- package/lib/examples/AgentSkillsExample.js +9 -9
- package/lib/examples/AgentSubagentsExample.js +8 -8
- package/lib/examples/AgentToolApprovalsExample.js +10 -10
- package/lib/examples/AgentTriggersExample.js +14 -14
- package/lib/examples/AgentspecsExample.js +11 -11
- package/lib/examples/AvatarExample.js +8 -8
- package/lib/examples/AvatarGalleryExample.js +8 -8
- package/lib/examples/CellExample.js +2 -2
- package/lib/examples/ChatCustomExample.js +4 -4
- package/lib/examples/ChatExample.js +8 -8
- package/lib/examples/ChatStandaloneExample.js +2 -2
- package/lib/examples/CopilotKitLexicalExample.js +4 -4
- package/lib/examples/CopilotKitNotebookExample.js +4 -4
- package/lib/examples/DecksAgent.js +4 -4
- package/lib/examples/DocumentPageAgent.js +2 -2
- package/lib/examples/Lexical2Example.js +9 -9
- package/lib/examples/LexicalAgentExample.js +7 -7
- package/lib/examples/LexicalAgentSidebarExample.js +8 -8
- package/lib/examples/LoopAppComputerExample.js +4 -4
- package/lib/examples/LoopShellExample.js +6 -6
- package/lib/examples/LoopStrategyExample.js +6 -6
- package/lib/examples/LoopWorkspaceEmbed.js +1 -1
- package/lib/examples/LoopWorkspaceExample.js +11 -11
- package/lib/examples/NotebookAgentExample.js +5 -5
- package/lib/examples/NotebookAgentSidebarExample.js +5 -5
- package/lib/examples/NotebookCollaborationExample.js +6 -6
- package/lib/examples/NotebookExample.js +2 -2
- package/lib/examples/NotebookPageAgent.js +2 -2
- package/lib/examples/PapAccountTokensExample.js +4 -4
- package/lib/examples/PapAgentIdentityExample.js +4 -4
- package/lib/examples/PapAuthorizationBoundaryExample.js +4 -4
- package/lib/examples/PapCompanyDiscoveryExample.js +4 -4
- package/lib/examples/PapConversationControlExample.js +4 -4
- package/lib/examples/PapConversationStreamingExample.js +4 -4
- package/lib/examples/PapDpopProofExample.js +4 -4
- package/lib/examples/PapGuidedJourneyExample.js +4 -4
- package/lib/examples/PapMediatedSignInExample.js +4 -4
- package/lib/examples/PapOperationsExample.js +4 -4
- package/lib/examples/PapSessionLifecycleExample.js +4 -4
- package/lib/examples/PapSignInDisplayExample.js +4 -4
- package/lib/examples/PapTwoCompaniesExample.js +4 -4
- package/lib/examples/PapUserWithACompanyExample.js +4 -4
- package/lib/examples/ProtocolSignedRequestsExample.js +2 -2
- package/lib/examples/ProtocolUcpCheckoutExample.js +2 -2
- package/lib/examples/ScenesExample.js +8 -8
- package/lib/examples/ShieldHarnessExample.js +5 -5
- package/lib/examples/ShieldPolicyExample.js +2 -2
- package/lib/examples/VoiceChatExample.js +4 -4
- package/lib/examples/components/AuthRequiredView.js +1 -1
- package/lib/examples/components/ExampleWrapper.js +3 -3
- package/lib/examples/components/Header.js +2 -2
- package/lib/examples/components/LexicalEditor.js +1 -1
- package/lib/examples/components/MainContent.js +1 -1
- package/lib/examples/components/haiku/HaikuDisplay.js +1 -1
- package/lib/examples/components/haiku/index.js +2 -2
- package/lib/examples/components/index.js +13 -13
- package/lib/examples/components/weather/index.js +1 -1
- package/lib/examples/example-selector.js +78 -78
- package/lib/examples/hooks/useExampleAgentProtocol.js +2 -2
- package/lib/examples/hooks/useExampleAgentRuntime.js +4 -4
- package/lib/examples/hooks/useExampleAgentRuntimes.js +4 -4
- package/lib/examples/hooks/useExampleJupyterAgent.js +8 -8
- package/lib/examples/hooks/useToolRenderers.js +1 -1
- package/lib/examples/index.js +66 -66
- package/lib/examples/lexical/editorConfig.js +1 -1
- package/lib/examples/main.js +21 -21
- package/lib/examples/pap/PapAccountTokensView.js +1 -1
- package/lib/examples/pap/PapAgentIdentityView.js +2 -2
- package/lib/examples/pap/PapAuthorizationBoundaryView.js +1 -1
- package/lib/examples/pap/PapCompanyDiscoveryView.js +2 -2
- package/lib/examples/pap/PapConversationControlView.js +1 -1
- package/lib/examples/pap/PapConversationStreamingView.js +1 -1
- package/lib/examples/pap/PapDpopProofView.js +1 -1
- package/lib/examples/pap/PapGuidedJourneyView.js +2 -2
- package/lib/examples/pap/PapMediatedSignInView.js +1 -1
- package/lib/examples/pap/PapOperationsView.js +1 -1
- package/lib/examples/pap/PapSessionLifecycleView.js +1 -1
- package/lib/examples/pap/PapSignInDisplayView.js +2 -2
- package/lib/examples/pap/PapTraceView.js +1 -1
- package/lib/examples/pap/PapTwoCompaniesView.js +1 -1
- package/lib/examples/pap/PapUserWithACompanyView.js +1 -1
- package/lib/examples/pap/papSignInCases.js +1 -1
- package/lib/examples/protocols/signedRequestsDemo.js +1 -1
- package/lib/examples/protocols/ucpCheckoutDemo.js +3 -3
- package/lib/examples/scenes/A2UiComponentsGalleryScene.js +4 -4
- package/lib/examples/scenes/A2UiContactCardScene.js +3 -3
- package/lib/examples/scenes/A2UiRestaurantScene.js +5 -5
- package/lib/examples/scenes/A2UiViewerScene.js +3 -3
- package/lib/examples/utils/AvatarGalleryGrid.d.ts +1 -1
- package/lib/examples/utils/AvatarGalleryGrid.js +8 -8
- package/lib/examples/utils/a2ui.js +1 -1
- package/lib/examples/utils/a2uiMarkdownProvider.js +1 -1
- package/lib/examples/utils/avatarGallery.js +2 -2
- package/lib/examples/utils/clippyJsCharacters.js +1 -1
- package/lib/examples/utils/examplesStore.js +1 -1
- package/lib/examples/utils/notebookToolbarItems.js +1 -1
- package/lib/examples/utils/owlCharacterPlugin.js +1 -1
- package/lib/examples/utils/teardownAgents.js +1 -1
- package/lib/examples/utils/testSpriteCharacter.js +1 -1
- package/lib/examples/utils/themedProvider.js +1 -1
- package/lib/examples/utils/useExampleAgentRuntimesUrl.js +3 -3
- package/lib/examples2/DatalayerNotebookExample.js +3 -3
- package/lib/examples2/NativeNavigationExample.js +1 -1
- package/lib/examples2/NotebookMutationsKernel.js +2 -2
- package/lib/examples2/NotebookMutationsServiceManager.js +2 -2
- package/lib/examples2/ReactRouterExample.js +1 -1
- package/lib/examples2/example-selector.js +7 -7
- package/lib/examples2/index.js +2 -2
- package/lib/examples2/main.js +5 -5
- package/lib/hooks/index.js +26 -26
- package/lib/hooks/useAgUi.js +1 -1
- package/lib/hooks/useAgentRuntimes.js +9 -9
- package/lib/hooks/useAgentsCatalog.js +1 -1
- package/lib/hooks/useAgentsService.js +1 -1
- package/lib/hooks/useBrowserAgent.js +1 -1
- package/lib/hooks/useBrowserInference.js +2 -2
- package/lib/hooks/useCellOutputshot.js +1 -1
- package/lib/hooks/useChat.js +6 -6
- package/lib/hooks/useCheckpoints.js +10 -10
- package/lib/hooks/useConfig.js +1 -1
- package/lib/hooks/useContextSnapshot.js +1 -1
- package/lib/hooks/useNotifications.js +1 -1
- package/lib/hooks/useProgressTask.js +1 -1
- package/lib/hooks/useSandbox.js +1 -1
- package/lib/hooks/useSkills.js +1 -1
- package/lib/hooks/useToolApprovals.js +2 -2
- package/lib/hooks/useTools.js +1 -1
- package/lib/identity/AgentIdentity.js +3 -3
- package/lib/identity/IdentityConnect.js +2 -2
- package/lib/identity/OAuthCallback.js +1 -1
- package/lib/identity/identityStore.js +2 -2
- package/lib/identity/index.js +8 -8
- package/lib/identity/useIdentity.js +1 -1
- package/lib/index.js +11 -11
- package/lib/inference/DatalayerInferenceProvider.js +2 -2
- package/lib/inference/SelfHostedInferenceProvider.js +2 -2
- package/lib/inference/index.js +3 -3
- package/lib/jupyter/exec/Snippets.js +1 -1
- package/lib/jupyter/exec/index.js +2 -2
- package/lib/jupyter/index.js +3 -3
- package/lib/jupyter/useResumeServerExecutions.js +1 -1
- package/lib/lexical/ChatInlinePlugin.js +1 -1
- package/lib/lexical/index.js +2 -2
- package/lib/loop-example-main.js +2 -2
- package/lib/loop-main.js +9 -9
- package/lib/main.js +1 -1
- package/lib/mcp/index.js +1 -1
- package/lib/middleware/index.js +1 -1
- package/lib/mocks/models/CourseMock.js +1 -1
- package/lib/models/CodeSandboxSnapshotDTO.js +1 -1
- package/lib/models/ItemDTO.js +1 -1
- package/lib/models/LexicalDTO.js +2 -2
- package/lib/models/NotebookDTO.js +2 -2
- package/lib/models/Page.js +1 -1
- package/lib/models/RuntimeDTO.js +1 -1
- package/lib/models/SpaceDTO.js +7 -7
- package/lib/models/index.js +32 -32
- package/lib/portable/activity.js +1 -1
- package/lib/portable/approvalCard.js +1 -1
- package/lib/portable/attention.d.ts +204 -0
- package/lib/portable/attention.js +352 -0
- package/lib/portable/conversation.js +4 -4
- package/lib/portable/displays.js +1 -1
- package/lib/portable/fixtures.js +2 -2
- package/lib/portable/hosts/agentClient.js +4 -4
- package/lib/portable/hosts/client.js +1 -1
- package/lib/portable/hosts/deadLetters.js +3 -3
- package/lib/portable/hosts/deliveries.js +1 -1
- package/lib/portable/hosts/index.js +21 -21
- package/lib/portable/hosts/postgresQueue.js +1 -1
- package/lib/portable/hosts/quotas.js +1 -1
- package/lib/portable/hosts/schema.js +1 -1
- package/lib/portable/index.js +24 -24
- package/lib/portable/localApprovals.d.ts +72 -0
- package/lib/portable/localApprovals.js +125 -0
- package/lib/portable/localRuntime.d.ts +365 -0
- package/lib/portable/localRuntime.js +555 -0
- package/lib/portable/runMeasures.js +2 -2
- package/lib/portable/sessionList.d.ts +426 -0
- package/lib/portable/sessionList.js +618 -0
- package/lib/portable/sessions.js +4 -4
- package/lib/portable/thread.js +2 -2
- package/lib/portable/views.js +1 -1
- package/lib/protocols/A2AAdapter.js +3 -3
- package/lib/protocols/ACPAdapter.js +2 -2
- package/lib/protocols/AGUIAdapter.js +4 -4
- package/lib/protocols/BrowserAgentAdapter.js +3 -3
- package/lib/protocols/VercelAIAdapter.js +2 -2
- package/lib/protocols/a2a/index.js +1 -1
- package/lib/protocols/agentProtocols.js +8 -8
- package/lib/protocols/agentic-commerce/index.js +3 -3
- package/lib/protocols/commerce.js +1 -1
- package/lib/protocols/index.js +6 -6
- package/lib/protocols/mcp/index.js +2 -2
- package/lib/protocols/pact/index.js +1 -1
- package/lib/protocols/pap/index.js +1 -1
- package/lib/protocols/ucp/index.js +3 -3
- package/lib/protocols/ucp/merchant.js +1 -1
- package/lib/protocols/web-bot-auth/index.js +1 -1
- package/lib/protocols/web-bot-auth/tap.js +1 -1
- package/lib/runtimes/actions.js +3 -3
- package/lib/runtimes/browser/agent.js +2 -2
- package/lib/runtimes/browser/frontendTools.js +1 -1
- package/lib/runtimes/browser/index.js +6 -6
- package/lib/runtimes/browser/subagents.js +2 -2
- package/lib/runtimes/index.js +8 -8
- package/lib/runtimes/variants.js +1 -1
- package/lib/services/DatalayerServiceManager.js +1 -1
- package/lib/specs/agents/agents.js +4 -4
- package/lib/specs/agents/index.js +1 -1
- package/lib/specs/cogs.js +4 -4
- package/lib/specs/index.js +32 -32
- package/lib/specs/teams/index.js +1 -1
- package/lib/state/index.js +1 -1
- package/lib/state/substates/RuntimesState.js +1 -1
- package/lib/state/substates/index.js +7 -7
- package/lib/stores/agentRuntimeStore.js +3 -3
- package/lib/stores/index.js +3 -3
- package/lib/stories/Button.stories.js +1 -1
- package/lib/stories/Header.js +1 -1
- package/lib/stories/Header.stories.js +1 -1
- package/lib/stories/Page.js +1 -1
- package/lib/stories/Page.stories.js +1 -1
- package/lib/stories/loop/LoopReference.stories.js +1 -1
- package/lib/stories/loop/ReferenceScreens.js +11 -11
- package/lib/stories/loop/pictures-main.js +2 -2
- package/lib/tools/ToolExecutor.js +1 -1
- package/lib/tools/adapters/agent-runtimes/index.js +3 -3
- package/lib/tools/adapters/agent-runtimes/lexicalHooks.js +1 -1
- package/lib/tools/adapters/agent-runtimes/notebookHooks.js +1 -1
- package/lib/tools/adapters/commands/index.js +1 -1
- package/lib/tools/adapters/copilotkit/index.js +3 -3
- package/lib/tools/adapters/copilotkit/lexicalHooks.js +1 -1
- package/lib/tools/adapters/copilotkit/notebookHooks.js +1 -1
- package/lib/tools/index.js +3 -3
- package/lib/types/index.js +40 -40
- package/lib/ui-plugins/index.js +3 -3
- package/lib/utils/index.js +1 -1
- package/lib/utils/utils.js +2 -2
- package/lib/voice/ComposerVoice.js +5 -5
- package/lib/voice/HandsFree.js +5 -5
- package/lib/voice/ReadAloud.js +1 -1
- package/lib/voice/VoiceInput.js +3 -3
- package/lib/voice/VoiceMenu.js +3 -3
- package/lib/voice/captions.js +2 -2
- package/lib/voice/chatVoice.js +3 -3
- package/lib/voice/choices.js +1 -1
- package/lib/voice/{handsFree.d.ts → handsFreeRules.d.ts} +1 -1
- package/lib/voice/hearing.js +3 -3
- package/lib/voice/index.d.ts +1 -1
- package/lib/voice/index.js +22 -22
- package/lib/voice/keptSound.js +1 -1
- package/lib/voice/pinned.js +1 -1
- package/lib/voice/serverHearing.js +2 -2
- package/lib/voice/useSpokenAnswers.js +1 -1
- package/lib/voice/useVoiceSettings.js +1 -1
- package/lib/voice/useVoiceSpeaker.js +2 -2
- package/package.json +4 -3
- package/scripts/check-npm-pack.mjs +77 -0
- package/scripts/esm-specifiers.mjs +76 -0
- package/scripts/fully-specify-lib.mjs +61 -0
- package/dist-embed/chunks/abnfDiagram-VCTEODGH-m7LJLYga.js +0 -1
- package/dist-embed/chunks/classDiagram-ZZMXUADV-CGdcKCOI.js +0 -1
- package/dist-embed/chunks/classDiagram-v2-VYDZK3BY-CGdcKCOI.js +0 -1
- package/dist-embed/chunks/cose-bilkent-JH36ORCC-BsK2pWDL.js +0 -1
- package/dist-embed/chunks/cynefinDiagram-5FMLGOSQ-vmheD_S2.js +0 -62
- package/dist-embed/chunks/diagram-UQ7AKVKN-BFkOO3Wu.js +0 -41
- package/dist-embed/chunks/diagram-VX7I27RA-_LUOsaBb.js +0 -24
- package/dist-embed/chunks/diagram-Z3DM3KII-CY856Sry.js +0 -24
- package/dist-embed/chunks/ebnfDiagram-PWID7BFC-kqD9RLAA.js +0 -1
- package/dist-embed/chunks/gitGraphDiagram-WWUBYQGX-BujqTwbf.js +0 -106
- package/dist-embed/chunks/infoDiagram-27XIBGKW-C18Zz25F.js +0 -2
- package/dist-embed/chunks/pegDiagram-XKGWAZYB-BBVcHZ8T.js +0 -1
- package/dist-embed/chunks/railroadDiagram-O6MQD6OU-bR7xXZGS.js +0 -1
- package/dist-embed/chunks/sizeCapture-INFHLROL-BW7unDBA.js +0 -1
- package/dist-embed/chunks/stateDiagram-D77RDMKH-mLSMGpPQ.js +0 -1
- package/dist-embed/chunks/stateDiagram-v2-MP3YSRHH-C6TftAzE.js +0 -1
- package/dist-embed/chunks/swimlanes-42K2YHIH-BQTDK2Ta.js +0 -1
- package/dist-embed/chunks/swimlanesDiagram-VR7AAH4N-BV8Vb5g2.js +0 -8
- /package/lib/chat/assistant/{avatar3d.js → avatar3dModel.js} +0 -0
- /package/lib/voice/{handsFree.js → handsFreeRules.js} +0 -0
|
@@ -0,0 +1,555 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* A local runtime on a person's machine, and the harness it runs (VSCODE
|
|
7
|
+
* VS-02, VS-03; DESKTOP DK-05, DK-06, DK-25): the pure part every host
|
|
8
|
+
* shares — the VS Code extension host and Datalayer Desktop's main process
|
|
9
|
+
* alike import it as `@datalayer/agent-runtimes/lib/portable/localRuntime`.
|
|
10
|
+
*
|
|
11
|
+
* - **Finding `loop`.** No host bundles Python or Agent Runtimes: `loop` is a
|
|
12
|
+
* prerequisite, found where the person installed it (a path the host's
|
|
13
|
+
* settings name, else `PATH`, then `uv tool`'s and `pipx`'s bins), checked
|
|
14
|
+
* to be at least {@link LOOP_MIN_VERSION}, and refused in a sentence naming
|
|
15
|
+
* the install line when it is absent, too old or does not answer.
|
|
16
|
+
* - **Starting it.** A local runtime is `loop serve --host 127.0.0.1 --port 0`
|
|
17
|
+
* for one folder, its port read from the first line that names it. The
|
|
18
|
+
* process is given a trimmed environment plus the credentials the
|
|
19
|
+
* harnesses declare by name (the environment first, the host's secret
|
|
20
|
+
* store second), the folder as the harness's workspace, the file session
|
|
21
|
+
* store, and the person's token and IAM when signed in.
|
|
22
|
+
* - **The harness on the machine.** Before a coding agent starts in a folder,
|
|
23
|
+
* what `agent-shield setup --harness <id>` checks is checked here: the
|
|
24
|
+
* binaries the register names, the pinned adapter in the Shield's prefix,
|
|
25
|
+
* the credential the harness declares — each missing part a sentence, and
|
|
26
|
+
* `setup` offered for the part it fixes. A harness whose terms refuse the
|
|
27
|
+
* person's credential is refused in the register's words.
|
|
28
|
+
*
|
|
29
|
+
* The sentences name the host through {@link LocalRuntimeHost}: what the
|
|
30
|
+
* host is called, how a path to `loop` is set by hand, where a credential is
|
|
31
|
+
* kept and how it is given. Pure: no host API, no child process, no file
|
|
32
|
+
* system — the host does the I/O.
|
|
33
|
+
*
|
|
34
|
+
* @module portable/localRuntime
|
|
35
|
+
*/
|
|
36
|
+
/** The oldest Agent Runtimes whose `loop` a host starts: the release that keeps the folder's instructions file, serves `GET /api/v1/harnesses` and binds the Shield's subject right. */
|
|
37
|
+
export const LOOP_MIN_VERSION = '1.5.70';
|
|
38
|
+
/** The one line that installs `loop` with the Shield. */
|
|
39
|
+
export const INSTALL_LINE = "uv tool install 'agent-runtimes[shield]'";
|
|
40
|
+
/** How a local runtime is started: loopback, a free port picked by the server. */
|
|
41
|
+
export const LOOP_SERVE_ARGUMENTS = [
|
|
42
|
+
'serve',
|
|
43
|
+
'--host',
|
|
44
|
+
'127.0.0.1',
|
|
45
|
+
'--port',
|
|
46
|
+
'0',
|
|
47
|
+
];
|
|
48
|
+
/** The variables of the person's shell a local runtime is given, and nothing else of it. */
|
|
49
|
+
export const TRIMMED_VARIABLES = [
|
|
50
|
+
'PATH',
|
|
51
|
+
'HOME',
|
|
52
|
+
'USER',
|
|
53
|
+
'LOGNAME',
|
|
54
|
+
'SHELL',
|
|
55
|
+
'TERM',
|
|
56
|
+
'LANG',
|
|
57
|
+
'LC_ALL',
|
|
58
|
+
'LC_CTYPE',
|
|
59
|
+
'TMPDIR',
|
|
60
|
+
'TMP',
|
|
61
|
+
'TEMP',
|
|
62
|
+
'XDG_CONFIG_HOME',
|
|
63
|
+
'XDG_DATA_HOME',
|
|
64
|
+
'XDG_CACHE_HOME',
|
|
65
|
+
'XDG_RUNTIME_DIR',
|
|
66
|
+
'SSL_CERT_FILE',
|
|
67
|
+
'REQUESTS_CA_BUNDLE',
|
|
68
|
+
'HTTP_PROXY',
|
|
69
|
+
'HTTPS_PROXY',
|
|
70
|
+
'NO_PROXY',
|
|
71
|
+
'SystemRoot',
|
|
72
|
+
'SystemDrive',
|
|
73
|
+
'ComSpec',
|
|
74
|
+
'PATHEXT',
|
|
75
|
+
'APPDATA',
|
|
76
|
+
'LOCALAPPDATA',
|
|
77
|
+
'USERPROFILE',
|
|
78
|
+
'HOMEDRIVE',
|
|
79
|
+
'HOMEPATH',
|
|
80
|
+
];
|
|
81
|
+
/** The VS Code extension's words. */
|
|
82
|
+
export const VSCODE_HOST = {
|
|
83
|
+
name: 'this extension',
|
|
84
|
+
loopPathHint: 'set datalayer.local.loopPath to where it is',
|
|
85
|
+
secretStore: "VS Code's secret storage",
|
|
86
|
+
credentialCommand: 'Datalayer: Set a harness credential',
|
|
87
|
+
};
|
|
88
|
+
/** Datalayer Desktop's words. */
|
|
89
|
+
export const DESKTOP_HOST = {
|
|
90
|
+
name: 'Datalayer Desktop',
|
|
91
|
+
loopPathHint: "set the path to loop in Desktop's settings",
|
|
92
|
+
secretStore: "the app's keychain",
|
|
93
|
+
credentialCommand: 'Sessions: Set a credential…',
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Where `loop` may be, in the order it is looked for: the configured path,
|
|
97
|
+
* each `PATH` entry, then `uv tool`'s and `pipx`'s bins under the home.
|
|
98
|
+
*
|
|
99
|
+
* @param host - The host's platform, home, `PATH` and configured path.
|
|
100
|
+
*
|
|
101
|
+
* @returns Candidate paths, the first that exists being `loop`.
|
|
102
|
+
*/
|
|
103
|
+
export function candidateLoopPaths(host) {
|
|
104
|
+
const windows = host.platform === 'win32';
|
|
105
|
+
const separator = windows ? ';' : ':';
|
|
106
|
+
const slash = windows ? '\\' : '/';
|
|
107
|
+
const names = windows ? ['loop.exe', 'loop.cmd', 'loop'] : ['loop'];
|
|
108
|
+
const candidates = [];
|
|
109
|
+
const configured = host.configured.trim();
|
|
110
|
+
if (configured) {
|
|
111
|
+
candidates.push(configured);
|
|
112
|
+
}
|
|
113
|
+
for (const entry of (host.pathVariable ?? '').split(separator)) {
|
|
114
|
+
const dir = entry.trim();
|
|
115
|
+
if (!dir) {
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
for (const name of names) {
|
|
119
|
+
candidates.push(`${dir.replace(/[\\/]+$/, '')}${slash}${name}`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
const home = host.home.replace(/[\\/]+$/, '');
|
|
123
|
+
const bins = windows
|
|
124
|
+
? [
|
|
125
|
+
`${home}\\.local\\bin`,
|
|
126
|
+
`${home}\\AppData\\Roaming\\uv\\tools\\agent-runtimes\\Scripts`,
|
|
127
|
+
`${home}\\pipx\\venvs\\agent-runtimes\\Scripts`,
|
|
128
|
+
]
|
|
129
|
+
: [
|
|
130
|
+
`${home}/.local/bin`,
|
|
131
|
+
`${home}/.local/share/uv/tools/agent-runtimes/bin`,
|
|
132
|
+
`${home}/.local/pipx/venvs/agent-runtimes/bin`,
|
|
133
|
+
];
|
|
134
|
+
for (const dir of bins) {
|
|
135
|
+
for (const name of names) {
|
|
136
|
+
candidates.push(`${dir}${slash}${name}`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return [...new Set(candidates)];
|
|
140
|
+
}
|
|
141
|
+
// eslint-disable-next-line no-control-regex
|
|
142
|
+
const ANSI = /\u001b\[[0-9;]*[A-Za-z]/g;
|
|
143
|
+
/**
|
|
144
|
+
* The version `loop --version` printed (`Agent Runtimes Chat v1.5.70`,
|
|
145
|
+
* `agent_runtimes: 1.5.70`, colours stripped), or null when none is in it.
|
|
146
|
+
*
|
|
147
|
+
* @param output - What the command wrote, stdout and stderr together.
|
|
148
|
+
*
|
|
149
|
+
* @returns The first `major.minor.patch` found, or null.
|
|
150
|
+
*/
|
|
151
|
+
export function versionOf(output) {
|
|
152
|
+
const plain = output.replace(ANSI, '');
|
|
153
|
+
const match = plain.match(/(?<![\d.])(\d+)\.(\d+)\.(\d+)(?![\d.])/);
|
|
154
|
+
return match ? `${match[1]}.${match[2]}.${match[3]}` : null;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Orders two `major.minor.patch` versions.
|
|
158
|
+
*
|
|
159
|
+
* @param a - One version.
|
|
160
|
+
* @param b - The other.
|
|
161
|
+
*
|
|
162
|
+
* @returns Negative when `a` is older, zero when equal, positive when newer.
|
|
163
|
+
*/
|
|
164
|
+
export function compareVersions(a, b) {
|
|
165
|
+
const left = a.split('.').map(part => Number(part) || 0);
|
|
166
|
+
const right = b.split('.').map(part => Number(part) || 0);
|
|
167
|
+
for (let index = 0; index < 3; index += 1) {
|
|
168
|
+
const difference = (left[index] ?? 0) - (right[index] ?? 0);
|
|
169
|
+
if (difference !== 0) {
|
|
170
|
+
return difference;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return 0;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Judges what was found: present, answering and at least the minimum.
|
|
177
|
+
*
|
|
178
|
+
* @param found - The first candidate that exists, with its version output; null when none does.
|
|
179
|
+
* @param host - The host's words.
|
|
180
|
+
* @param minimum - The oldest version accepted.
|
|
181
|
+
*
|
|
182
|
+
* @returns The path and version, or the refusal naming the install line.
|
|
183
|
+
*/
|
|
184
|
+
export function loopDetection(found, host, minimum = LOOP_MIN_VERSION) {
|
|
185
|
+
if (!found) {
|
|
186
|
+
return {
|
|
187
|
+
ok: false,
|
|
188
|
+
reason: 'absent',
|
|
189
|
+
sentence: "`loop` was not found on this machine (not on PATH, nor under uv tool's or pipx's bins): " +
|
|
190
|
+
`install it with \`${INSTALL_LINE}\`, or ${host.loopPathHint}.`,
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
const version = found.versionOutput ? versionOf(found.versionOutput) : null;
|
|
194
|
+
if (!version) {
|
|
195
|
+
const why = (found.failure ?? found.versionOutput ?? '')
|
|
196
|
+
.replace(ANSI, '')
|
|
197
|
+
.split('\n')
|
|
198
|
+
.map(line => line.trim())
|
|
199
|
+
.find(line => line.length > 0);
|
|
200
|
+
return {
|
|
201
|
+
ok: false,
|
|
202
|
+
reason: 'unanswered',
|
|
203
|
+
sentence: `\`loop\` at ${found.path} did not answer \`loop --version\`` +
|
|
204
|
+
(why ? ` (${why})` : '') +
|
|
205
|
+
`: its Python may be gone — reinstall it with \`${INSTALL_LINE}\`.`,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
if (compareVersions(version, minimum) < 0) {
|
|
209
|
+
return {
|
|
210
|
+
ok: false,
|
|
211
|
+
reason: 'too-old',
|
|
212
|
+
sentence: `\`loop\` at ${found.path} is agent-runtimes ${version}, and ${host.name} needs ${minimum} or later: ` +
|
|
213
|
+
`update it with \`${INSTALL_LINE}\`.`,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
return { ok: true, path: found.path, version };
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* The port a `loop serve` line names: `Auto-selected free port 41231`,
|
|
220
|
+
* `Uvicorn running on http://127.0.0.1:41231`, `API docs available at http://127.0.0.1:41231/docs`.
|
|
221
|
+
*
|
|
222
|
+
* @param line - One line of the process's output.
|
|
223
|
+
*
|
|
224
|
+
* @returns The port, or null when the line names none.
|
|
225
|
+
*/
|
|
226
|
+
export function portOf(line) {
|
|
227
|
+
const plain = line.replace(ANSI, '');
|
|
228
|
+
const picked = plain.match(/free port (\d{2,5})\b/);
|
|
229
|
+
if (picked) {
|
|
230
|
+
return Number(picked[1]);
|
|
231
|
+
}
|
|
232
|
+
const url = plain.match(/https?:\/\/(?:127\.0\.0\.1|localhost|0\.0\.0\.0):(\d{2,5})\b/);
|
|
233
|
+
return url ? Number(url[1]) : null;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* The origins a host's content-security policy admits for one local
|
|
237
|
+
* runtime, and nothing else on loopback (DESKTOP DK-05).
|
|
238
|
+
*
|
|
239
|
+
* @param port - The runtime's port.
|
|
240
|
+
*
|
|
241
|
+
* @returns `http://127.0.0.1:<port>` and `ws://127.0.0.1:<port>`.
|
|
242
|
+
*/
|
|
243
|
+
export function loopbackSourcesOf(port) {
|
|
244
|
+
if (!Number.isInteger(port) || port <= 0 || port > 65535) {
|
|
245
|
+
throw new Error(`A local runtime's port is 1 to 65535, not ${port}.`);
|
|
246
|
+
}
|
|
247
|
+
return [`http://127.0.0.1:${port}`, `ws://127.0.0.1:${port}`];
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* The environment of a local runtime: the trimmed set of the person's
|
|
251
|
+
* shell, the declared credentials by name (the environment first, the
|
|
252
|
+
* secret store second — nothing undeclared), the folder as the workspace,
|
|
253
|
+
* the file session store (META_HARNESS decision K: without it a signed-in
|
|
254
|
+
* runtime would pick the record), and the person's token and IAM when
|
|
255
|
+
* signed in.
|
|
256
|
+
*
|
|
257
|
+
* @param input - The host's environment, the folder, the declared names, the secrets, the sign-in.
|
|
258
|
+
*
|
|
259
|
+
* @returns The environment and the source of each credential handed.
|
|
260
|
+
*/
|
|
261
|
+
export function runtimeEnvironment(input) {
|
|
262
|
+
const environment = {};
|
|
263
|
+
for (const name of TRIMMED_VARIABLES) {
|
|
264
|
+
const value = input.host[name];
|
|
265
|
+
if (value !== undefined && value !== '') {
|
|
266
|
+
environment[name] = value;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
const credentials = {};
|
|
270
|
+
for (const name of input.declared) {
|
|
271
|
+
const fromHost = input.host[name];
|
|
272
|
+
if (fromHost) {
|
|
273
|
+
environment[name] = fromHost;
|
|
274
|
+
credentials[name] = 'environment';
|
|
275
|
+
continue;
|
|
276
|
+
}
|
|
277
|
+
const fromSecrets = input.secrets[name];
|
|
278
|
+
if (fromSecrets) {
|
|
279
|
+
environment[name] = fromSecrets;
|
|
280
|
+
credentials[name] = 'secrets';
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
environment.AGENT_RUNTIMES_WORKSPACE_ROOT = input.folder;
|
|
284
|
+
environment.AGENT_RUNTIMES_SESSION_STORE = 'file';
|
|
285
|
+
if (input.sessionsPath) {
|
|
286
|
+
environment.AGENT_RUNTIMES_SESSIONS_PATH = input.sessionsPath;
|
|
287
|
+
}
|
|
288
|
+
if (input.signedIn) {
|
|
289
|
+
environment.DATALAYER_IAM_URL = input.signedIn.iamUrl;
|
|
290
|
+
environment.DATALAYER_API_KEY = input.signedIn.token;
|
|
291
|
+
}
|
|
292
|
+
environment.PYTHONUNBUFFERED = '1';
|
|
293
|
+
environment.NO_COLOR = '1';
|
|
294
|
+
return { environment, credentials };
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* The handle a chat's picker shows for a running local runtime.
|
|
298
|
+
*
|
|
299
|
+
* @param folderName - The folder's name.
|
|
300
|
+
* @param folderPath - Its path.
|
|
301
|
+
* @param url - The runtime's address.
|
|
302
|
+
*
|
|
303
|
+
* @returns The handle, with no token.
|
|
304
|
+
*/
|
|
305
|
+
export function localRuntimeHandle(folderName, folderPath, url) {
|
|
306
|
+
return {
|
|
307
|
+
runtimeName: `local:${folderPath}`,
|
|
308
|
+
ingress: url.replace(/\/$/, ''),
|
|
309
|
+
token: '',
|
|
310
|
+
givenName: `This machine — ${folderName}`,
|
|
311
|
+
environmentName: 'local',
|
|
312
|
+
place: 'local',
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
function text(value) {
|
|
316
|
+
return typeof value === 'string' ? value : '';
|
|
317
|
+
}
|
|
318
|
+
function list(value) {
|
|
319
|
+
return Array.isArray(value)
|
|
320
|
+
? value.filter((item) => typeof item === 'string')
|
|
321
|
+
: [];
|
|
322
|
+
}
|
|
323
|
+
function record(value) {
|
|
324
|
+
return value && typeof value === 'object' && !Array.isArray(value)
|
|
325
|
+
? value
|
|
326
|
+
: {};
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* The catalogue as `GET /api/v1/harnesses` answers it (`{harnesses: [...]}`,
|
|
330
|
+
* each the harness spec whole).
|
|
331
|
+
*
|
|
332
|
+
* @param body - The route's answer.
|
|
333
|
+
*
|
|
334
|
+
* @returns The harnesses, in the route's order.
|
|
335
|
+
*
|
|
336
|
+
* @throws Error when the answer is not a list of harnesses.
|
|
337
|
+
*/
|
|
338
|
+
export function harnessesOf(body) {
|
|
339
|
+
const harnesses = record(body).harnesses;
|
|
340
|
+
if (!Array.isArray(harnesses)) {
|
|
341
|
+
throw new Error("The runtime's answer for /api/v1/harnesses names no harnesses.");
|
|
342
|
+
}
|
|
343
|
+
return harnesses.map(raw => {
|
|
344
|
+
const spec = record(raw);
|
|
345
|
+
const acp = record(spec.acp);
|
|
346
|
+
const requires = record(spec.requires);
|
|
347
|
+
const registered = record(spec.registered);
|
|
348
|
+
const terms = record(spec.terms);
|
|
349
|
+
const capabilities = record(spec.capabilities);
|
|
350
|
+
const id = text(spec.id);
|
|
351
|
+
if (!id) {
|
|
352
|
+
throw new Error('A harness of /api/v1/harnesses names no id.');
|
|
353
|
+
}
|
|
354
|
+
return {
|
|
355
|
+
id,
|
|
356
|
+
name: text(spec.name) || id,
|
|
357
|
+
adapter: text(registered.adapter),
|
|
358
|
+
adapterVersion: text(registered.version),
|
|
359
|
+
credential: text(registered.credential),
|
|
360
|
+
secrets: list(requires.secrets),
|
|
361
|
+
binaries: list(requires.binaries),
|
|
362
|
+
registeredBinaries: text(registered.binaries),
|
|
363
|
+
servedToThirdParties: text(terms.served_to_third_parties),
|
|
364
|
+
licence: text(terms.licence),
|
|
365
|
+
tierRestrictions: text(terms.tier_restrictions),
|
|
366
|
+
capabilities: {
|
|
367
|
+
resume: text(capabilities.resume),
|
|
368
|
+
forkHistory: text(capabilities.fork_history),
|
|
369
|
+
interrupt: capabilities.interrupt === true,
|
|
370
|
+
steering: capabilities.steering === true,
|
|
371
|
+
images: capabilities.images === true,
|
|
372
|
+
compaction: text(capabilities.compaction),
|
|
373
|
+
},
|
|
374
|
+
command: text(acp.command),
|
|
375
|
+
args: list(acp.args),
|
|
376
|
+
loadSession: acp.load_session === true,
|
|
377
|
+
modes: list(acp.modes),
|
|
378
|
+
};
|
|
379
|
+
});
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* The credential names a register line names: *An Anthropic API key
|
|
383
|
+
* (ANTHROPIC_API_KEY), the person's own* → `["ANTHROPIC_API_KEY"]`.
|
|
384
|
+
*
|
|
385
|
+
* @param credential - The register's credential line.
|
|
386
|
+
*
|
|
387
|
+
* @returns The upper-case names in it, in order, once each.
|
|
388
|
+
*/
|
|
389
|
+
export function credentialNamesOf(credential) {
|
|
390
|
+
return [
|
|
391
|
+
...new Set(credential.match(/\b[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)+\b/g) ?? []),
|
|
392
|
+
];
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* The Node major the register asks for (*Node 22 (engines.node >=22 on npm), git*).
|
|
396
|
+
*
|
|
397
|
+
* @param registeredBinaries - The register's binaries line.
|
|
398
|
+
*
|
|
399
|
+
* @returns The major, or null when the line names no Node version.
|
|
400
|
+
*/
|
|
401
|
+
export function requiredNodeMajor(registeredBinaries) {
|
|
402
|
+
const match = registeredBinaries.match(/\bnode\s+v?(\d+)/i);
|
|
403
|
+
return match ? Number(match[1]) : null;
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* The major of a `node --version` answer (`v22.11.0` → 22).
|
|
407
|
+
*
|
|
408
|
+
* @param output - What `node --version` printed.
|
|
409
|
+
*
|
|
410
|
+
* @returns The major, or null when none is in it.
|
|
411
|
+
*/
|
|
412
|
+
export function nodeMajorOf(output) {
|
|
413
|
+
const match = output.match(/v?(\d+)\.\d+\.\d+/);
|
|
414
|
+
return match ? Number(match[1]) : null;
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Where `agent-shield setup` pins an adapter: `~/.agent-shield/harnesses/<id>@<version>`.
|
|
418
|
+
*
|
|
419
|
+
* @param home - The person's home folder.
|
|
420
|
+
* @param facts - The harness.
|
|
421
|
+
*
|
|
422
|
+
* @returns The prefix path.
|
|
423
|
+
*/
|
|
424
|
+
export function shieldPrefixOf(home, facts) {
|
|
425
|
+
return `${home.replace(/[\\/]+$/, '')}/.agent-shield/harnesses/${facts.id}@${facts.adapterVersion}`;
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* The command that installs what a harness needs, shown whole before it runs.
|
|
429
|
+
*
|
|
430
|
+
* @param id - The harness.
|
|
431
|
+
*
|
|
432
|
+
* @returns `agent-shield setup --harness <id>`.
|
|
433
|
+
*/
|
|
434
|
+
export function setupCommandOf(id) {
|
|
435
|
+
return `agent-shield setup --harness ${id}`;
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* The register's sentence when the harness's terms refuse what the person has.
|
|
439
|
+
*
|
|
440
|
+
* @param facts - The harness.
|
|
441
|
+
* @param machine - What the machine has.
|
|
442
|
+
* @param host - The host's words.
|
|
443
|
+
*
|
|
444
|
+
* @returns The sentence, or null when the terms admit the person's credential.
|
|
445
|
+
*/
|
|
446
|
+
export function termsRefusal(facts, machine, host) {
|
|
447
|
+
if (facts.servedToThirdParties === 'organizations_own') {
|
|
448
|
+
return `${facts.name} is served to an organization's own applications only (${facts.servedToThirdParties.replace(/_/g, ' ')}): it does not run from ${host.name}.`;
|
|
449
|
+
}
|
|
450
|
+
if (facts.servedToThirdParties === 'api_key_only' &&
|
|
451
|
+
machine.subscriptionLogin) {
|
|
452
|
+
return (`${facts.name}'s terms serve third parties with an API key only (${facts.credential || facts.secrets.join(', ')}): ` +
|
|
453
|
+
`a subscription login is not served here. Set ${facts.secrets.join(' or ') || 'its key'} instead.`);
|
|
454
|
+
}
|
|
455
|
+
return null;
|
|
456
|
+
}
|
|
457
|
+
/**
|
|
458
|
+
* Checks a harness against the machine: binaries and Node's version, the
|
|
459
|
+
* adapter in the Shield's prefix, the credential, the terms.
|
|
460
|
+
*
|
|
461
|
+
* @param facts - The harness.
|
|
462
|
+
* @param machine - What the machine has.
|
|
463
|
+
* @param host - The host's words.
|
|
464
|
+
*
|
|
465
|
+
* @returns The verdict, each unmet part a sentence.
|
|
466
|
+
*/
|
|
467
|
+
export function harnessCheck(facts, machine, host) {
|
|
468
|
+
const parts = [];
|
|
469
|
+
const setupCommand = setupCommandOf(facts.id);
|
|
470
|
+
const terms = termsRefusal(facts, machine, host);
|
|
471
|
+
if (terms) {
|
|
472
|
+
parts.push({
|
|
473
|
+
part: 'terms',
|
|
474
|
+
sentence: terms,
|
|
475
|
+
setup: false,
|
|
476
|
+
blocking: true,
|
|
477
|
+
});
|
|
478
|
+
}
|
|
479
|
+
for (const binary of facts.binaries) {
|
|
480
|
+
const found = machine.binaries[binary];
|
|
481
|
+
if (found === null || found === undefined) {
|
|
482
|
+
parts.push({
|
|
483
|
+
part: 'binary',
|
|
484
|
+
sentence: `${facts.name} needs \`${binary}\` on this machine, and it was not found: install it, or run \`${setupCommand}\` in a terminal.`,
|
|
485
|
+
setup: true,
|
|
486
|
+
blocking: true,
|
|
487
|
+
});
|
|
488
|
+
continue;
|
|
489
|
+
}
|
|
490
|
+
if (binary === 'node') {
|
|
491
|
+
const required = requiredNodeMajor(facts.registeredBinaries);
|
|
492
|
+
const major = nodeMajorOf(found);
|
|
493
|
+
if (required !== null && major !== null && major < required) {
|
|
494
|
+
parts.push({
|
|
495
|
+
part: 'node',
|
|
496
|
+
sentence: `${facts.name} needs Node ${required} or later (${facts.registeredBinaries}), and this machine has ${found.trim()}: update Node, or run \`${setupCommand}\` in a terminal.`,
|
|
497
|
+
setup: true,
|
|
498
|
+
blocking: true,
|
|
499
|
+
});
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
if (facts.adapter && !machine.adapterInstalled) {
|
|
504
|
+
const fetched = facts.command === 'npx';
|
|
505
|
+
parts.push({
|
|
506
|
+
part: 'adapter',
|
|
507
|
+
sentence: fetched
|
|
508
|
+
? `${facts.name}'s adapter ${facts.adapter}@${facts.adapterVersion} is not pinned in the Shield's prefix: the first start fetches it with npx, or run \`${setupCommand}\` to pin it first.`
|
|
509
|
+
: `${facts.name}'s adapter ${facts.adapter} ${facts.adapterVersion} is not installed: run \`${setupCommand}\` in a terminal.`,
|
|
510
|
+
setup: true,
|
|
511
|
+
blocking: !fetched,
|
|
512
|
+
});
|
|
513
|
+
}
|
|
514
|
+
let credentialSource = null;
|
|
515
|
+
for (const name of facts.secrets) {
|
|
516
|
+
if (machine.environment[name]) {
|
|
517
|
+
credentialSource = 'environment';
|
|
518
|
+
continue;
|
|
519
|
+
}
|
|
520
|
+
if (machine.secrets[name]) {
|
|
521
|
+
credentialSource = 'secrets';
|
|
522
|
+
continue;
|
|
523
|
+
}
|
|
524
|
+
parts.push({
|
|
525
|
+
part: 'credential',
|
|
526
|
+
sentence: `${facts.name} takes ${facts.credential || name}: set ${name} in your environment, or give it once (${host.credentialCommand}) — it is kept in ${host.secretStore}, never in settings, and never shown.`,
|
|
527
|
+
setup: false,
|
|
528
|
+
blocking: true,
|
|
529
|
+
});
|
|
530
|
+
}
|
|
531
|
+
return {
|
|
532
|
+
ok: parts.every(part => !part.blocking),
|
|
533
|
+
parts,
|
|
534
|
+
credentialSource,
|
|
535
|
+
setupCommand,
|
|
536
|
+
};
|
|
537
|
+
}
|
|
538
|
+
/**
|
|
539
|
+
* The sentence that says where a credential came from (VSCODE O-1, DESKTOP O-2).
|
|
540
|
+
*
|
|
541
|
+
* @param name - The credential's name.
|
|
542
|
+
* @param source - Where it was found.
|
|
543
|
+
* @param host - The host's words.
|
|
544
|
+
*
|
|
545
|
+
* @returns The sentence.
|
|
546
|
+
*/
|
|
547
|
+
export function credentialSourceSaid(name, source, host) {
|
|
548
|
+
return source === 'environment'
|
|
549
|
+
? `${name} is taken from your environment.`
|
|
550
|
+
: `${name} is taken from ${host.secretStore}.`;
|
|
551
|
+
}
|
|
552
|
+
/** The key under which a credential is kept in a host's secret store. */
|
|
553
|
+
export function credentialSecretKey(name) {
|
|
554
|
+
return `datalayer.harness.credential.${name}`;
|
|
555
|
+
}
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
*
|
|
15
15
|
* @module portable/runMeasures
|
|
16
16
|
*/
|
|
17
|
-
import { RUN_CUT_SHORT } from './agui';
|
|
18
|
-
import { RuntimeRefusal } from './sessions';
|
|
17
|
+
import { RUN_CUT_SHORT } from './agui.js';
|
|
18
|
+
import { RuntimeRefusal } from './sessions.js';
|
|
19
19
|
/** The category of a stream's failure; never its message. */
|
|
20
20
|
export function failureOf(error) {
|
|
21
21
|
if (error instanceof RuntimeRefusal)
|