@datalayer/agent-runtimes 1.5.0 → 1.5.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-embed/chunks/{AgentDetails-Bo0dD1KS.js → AgentDetails-KezohVQI.js} +1 -1
- package/dist-embed/chunks/{AgentDetailsDialog-JjCHYxMG.js → AgentDetailsDialog-CklhMnk7.js} +1 -1
- package/dist-embed/chunks/{AgentInspector-37Onz4of.js → AgentInspector-CtCaRc1L.js} +1 -1
- package/dist-embed/chunks/{AgentInspectorDialog-CCzGVAtX.js → AgentInspectorDialog-DB9cx3Gd.js} +1 -1
- package/dist-embed/chunks/Avatar-9MpXENSs.js +1 -0
- package/dist-embed/chunks/{CellSidebarExtension-CQlXdanG.js → CellSidebarExtension-CfaJL6DQ.js} +6 -6
- package/dist-embed/chunks/{ChatView-CaBuPTyG.js → ChatView-B3QqHhAP.js} +4 -4
- package/dist-embed/chunks/{ContextPie-DBIUoPrq.js → ContextPie-1vP4f-3N.js} +1 -1
- package/dist-embed/chunks/DatalayerAgentBridge-D54Z9BZ3.js +1 -0
- package/dist-embed/chunks/{DeckComponent-cRJJMGgt.js → DeckComponent-82GVdsoi.js} +2 -2
- package/dist-embed/chunks/{DocumentView-CiqN9ze6.js → DocumentView-SrJloJDo.js} +2 -2
- package/dist-embed/chunks/{EphemeralDocument-BjJfn7J-.js → EphemeralDocument-t1KulOH8.js} +1 -1
- package/dist-embed/chunks/{EphemeralNotebook-DbS4f6yr.js → EphemeralNotebook-Co-WQWCc.js} +2 -2
- package/dist-embed/chunks/{ExcalidrawComponent-BtNXWUN8.js → ExcalidrawComponent-5NeLUYVB.js} +1 -1
- package/dist-embed/chunks/{ExcalidrawModal-C6SEKFlD.js → ExcalidrawModal-9ZnOB03n.js} +1 -1
- package/dist-embed/chunks/{JupyterLexicalExtension-BuRLImy5.js → JupyterLexicalExtension-Cize8RXy.js} +29 -29
- package/dist-embed/chunks/{KernelVariables-KCUfxhF4.js → KernelVariables-Cl57Zze1.js} +2 -2
- package/dist-embed/chunks/{LexicalToolRegistry-CXLITkMD.js → LexicalToolRegistry-CoM9ROsx.js} +3 -3
- package/dist-embed/chunks/{NotebookSkeleton-HdM76lOj.js → NotebookSkeleton-CI7ovjNW.js} +1 -1
- package/dist-embed/chunks/{NotebookToolSurfaces-ktcGRm7d.js → NotebookToolSurfaces-CWfppxBN.js} +1 -1
- package/dist-embed/chunks/{NotebookToolbar-DMKCe3c2.js → NotebookToolbar-rtMQZWHQ.js} +1 -1
- package/dist-embed/chunks/{NotebookView-Pps9dPZ7.js → NotebookView-DOf_K74b.js} +1 -1
- package/dist-embed/chunks/{Output-BscOPLqE.js → Output-9DKTscSv.js} +1 -1
- package/dist-embed/chunks/{SandboxDetailsDialog-pkvlbdM2.js → SandboxDetailsDialog-BCfDm6MB.js} +1 -1
- package/dist-embed/chunks/{SchemaForm-Bqor7hh8.js → SchemaForm-BOYPrvf8.js} +1 -1
- package/dist-embed/chunks/{Toolbar-6Hdi_m3T.js → Toolbar-CGQDY041.js} +1 -1
- package/dist-embed/chunks/{WidgetVariableView-CJTAKqh1.js → WidgetVariableView-BTOwHP78.js} +1 -1
- package/dist-embed/chunks/YouTubePlugin-Bs4zZIB1.js +1 -0
- package/dist-embed/chunks/{abnfDiagram-VCTEODGH-CWj4pFxo.js → abnfDiagram-VCTEODGH-D5p59vS_.js} +1 -1
- package/dist-embed/chunks/{abnfDiagram-VCTEODGH-B4x7mfou.js → abnfDiagram-VCTEODGH-DRYbUvhc.js} +1 -1
- package/dist-embed/chunks/{ar-SA-G6X2FPQ2-BB82iKLz.js → ar-SA-G6X2FPQ2-D6XRzkBS.js} +1 -1
- package/dist-embed/chunks/{architectureDiagram-5GKGNRK7-CRIN999O.js → architectureDiagram-5GKGNRK7-B7ITKDup.js} +1 -1
- package/dist-embed/chunks/{architectureDiagram-5GKGNRK7-B2D6lZbf.js → architectureDiagram-5GKGNRK7-DQGv0imf.js} +1 -1
- package/dist-embed/chunks/{az-AZ-76LH7QW2-DsMRKXlw.js → az-AZ-76LH7QW2-DBTdUiqp.js} +1 -1
- package/dist-embed/chunks/{bg-BG-XCXSNQG7-43Y1kPxa.js → bg-BG-XCXSNQG7-DuhcsaSL.js} +1 -1
- package/dist-embed/chunks/{blockDiagram-868be97b-bBp9uGVj.js → blockDiagram-868be97b-DYe-XTjy.js} +1 -1
- package/dist-embed/chunks/{blockDiagram-I7D4REHJ-DNdo_mUi.js → blockDiagram-I7D4REHJ-IltJXCd6.js} +1 -1
- package/dist-embed/chunks/{blockDiagram-I7D4REHJ-CPHEppLa.js → blockDiagram-I7D4REHJ-y7tEFo3j.js} +1 -1
- package/dist-embed/chunks/{bn-BD-2XOGV67Q-CLqPJBll.js → bn-BD-2XOGV67Q-CPFeLVSN.js} +1 -1
- package/dist-embed/chunks/{c4Diagram-3f4bdde3-cYZlcE7E.js → c4Diagram-3f4bdde3-Bybp0wky.js} +1 -1
- package/dist-embed/chunks/{c4Diagram-7LVT6UL2-DTmVwmmb.js → c4Diagram-7LVT6UL2-CizxVqqX.js} +1 -1
- package/dist-embed/chunks/{c4Diagram-7LVT6UL2-BM2g5U7R.js → c4Diagram-7LVT6UL2-DpaHndz8.js} +1 -1
- package/dist-embed/chunks/{ca-ES-6MX7JW3Y-CDFGSEh3.js → ca-ES-6MX7JW3Y-gDR_kEC6.js} +1 -1
- package/dist-embed/chunks/{celltoolbartracker-D67W4XWx.js → celltoolbartracker-DLF4PWyW.js} +1 -1
- package/dist-embed/chunks/{chunk-2Q5K7J3B-CsB-r261.js → chunk-2Q5K7J3B-BI6lURun.js} +1 -1
- package/dist-embed/chunks/{chunk-2Q5K7J3B-CuegvedF.js → chunk-2Q5K7J3B-DWoLSrj9.js} +1 -1
- package/dist-embed/chunks/{chunk-5VM5RSS4-D4Ed2_vW.js → chunk-5VM5RSS4-CDh4wYym.js} +1 -1
- package/dist-embed/chunks/{chunk-5VM5RSS4-MJQ9uhYe.js → chunk-5VM5RSS4-SleuNqDC.js} +1 -1
- package/dist-embed/chunks/{chunk-F27PBJKO-DnjXjdOV.js → chunk-F27PBJKO-AvWsNGYY.js} +1 -1
- package/dist-embed/chunks/{chunk-F27PBJKO-BKTrewOm.js → chunk-F27PBJKO-h_FwJMTr.js} +1 -1
- package/dist-embed/chunks/{chunk-IMKFNOWR-Bf7PlvQM.js → chunk-IMKFNOWR-DGRceKiU.js} +1 -1
- package/dist-embed/chunks/{chunk-IMKFNOWR-BiXdYxxk.js → chunk-IMKFNOWR-Hx4a5yny.js} +1 -1
- package/dist-embed/chunks/{chunk-JWPE2WC7-DcVyhh3j.js → chunk-JWPE2WC7-A4gy2qc4.js} +1 -1
- package/dist-embed/chunks/{chunk-JWPE2WC7-DmWR08qa.js → chunk-JWPE2WC7-BuJactJo.js} +1 -1
- package/dist-embed/chunks/{chunk-POPQ4Y6H-Bw6JH9TT.js → chunk-POPQ4Y6H-CFM-817s.js} +1 -1
- package/dist-embed/chunks/{chunk-POPQ4Y6H-snvBGTqY.js → chunk-POPQ4Y6H-CmRF80iG.js} +1 -1
- package/dist-embed/chunks/{chunk-SVP7TREG-DLZdx--b.js → chunk-SVP7TREG-CryZx9JE.js} +1 -1
- package/dist-embed/chunks/{chunk-SVP7TREG-dE58fUkJ.js → chunk-SVP7TREG-DSNzmytH.js} +1 -1
- package/dist-embed/chunks/{chunk-TICWLB2K-DNXzQOV5.js → chunk-TICWLB2K-CEaDF8ZJ.js} +1 -1
- package/dist-embed/chunks/{chunk-TICWLB2K-4NdGhPfF.js → chunk-TICWLB2K-DyGS3fIj.js} +1 -1
- package/dist-embed/chunks/{chunk-XXDRQBXY-OKsVfhjO.js → chunk-XXDRQBXY-8Cnzpdjz.js} +1 -1
- package/dist-embed/chunks/{chunk-XXDRQBXY-D57w8SHP.js → chunk-XXDRQBXY-DxQBcVOz.js} +1 -1
- package/dist-embed/chunks/{classDiagram-ZZMXUADV-oYXGLbJe.js → classDiagram-ZZMXUADV-BQkO1UYr.js} +1 -1
- package/dist-embed/chunks/{classDiagram-ZZMXUADV-D35oEC_r.js → classDiagram-ZZMXUADV-yvP3zMO3.js} +1 -1
- package/dist-embed/chunks/{classDiagram-f62afe4f-DWY2Ws4r.js → classDiagram-f62afe4f-AYfpYKtp.js} +1 -1
- package/dist-embed/chunks/{classDiagram-v2-604399ef-By5ijR28.js → classDiagram-v2-604399ef-BWyNcT_y.js} +1 -1
- package/dist-embed/chunks/{classDiagram-v2-VYDZK3BY-oYXGLbJe.js → classDiagram-v2-VYDZK3BY-BQkO1UYr.js} +1 -1
- package/dist-embed/chunks/{classDiagram-v2-VYDZK3BY-D35oEC_r.js → classDiagram-v2-VYDZK3BY-yvP3zMO3.js} +1 -1
- package/dist-embed/chunks/{code-block-IT6T5CEO-DvUhQbDq.js → code-block-IT6T5CEO-F4BSIGY6.js} +1 -1
- package/dist-embed/chunks/{component-DquJEKgN.js → component-DMQ8W8n1.js} +3 -3
- package/dist-embed/chunks/{cose-bilkent-JH36ORCC-j33onHvG.js → cose-bilkent-JH36ORCC-C3HC0XIY.js} +1 -1
- package/dist-embed/chunks/{cose-bilkent-JH36ORCC-CfuJvtzg.js → cose-bilkent-JH36ORCC-MVxlcfpd.js} +1 -1
- package/dist-embed/chunks/{createText-aed3d8b3-DvlG46OI.js → createText-aed3d8b3-CEJODAXJ.js} +1 -1
- package/dist-embed/chunks/{cs-CZ-2BRQDIVT-ByNB8eZd.js → cs-CZ-2BRQDIVT-BXQxcYp6.js} +1 -1
- package/dist-embed/chunks/{cynefinDiagram-5FMLGOSQ-YhGHtmc4.js → cynefinDiagram-5FMLGOSQ-D87ENxS0.js} +1 -1
- package/dist-embed/chunks/{cynefinDiagram-5FMLGOSQ-CPb2yRsU.js → cynefinDiagram-5FMLGOSQ-DNRKTIHx.js} +1 -1
- package/dist-embed/chunks/{da-DK-5WZEPLOC-B7MrVwy8.js → da-DK-5WZEPLOC-Ck3vidj3.js} +1 -1
- package/dist-embed/chunks/{dagre-GXQ25YYZ-CSSSVwOB.js → dagre-GXQ25YYZ-BOhThFKd.js} +1 -1
- package/dist-embed/chunks/{dagre-GXQ25YYZ-bjTeZGWE.js → dagre-GXQ25YYZ-DscCD5Uq.js} +1 -1
- package/dist-embed/chunks/{de-DE-XR44H4JA-CN1cdk94.js → de-DE-XR44H4JA-CPZgrOuc.js} +1 -1
- package/dist-embed/chunks/{diagram-S7CK7UJ4-CFdSwdyc.js → diagram-S7CK7UJ4-CUhme3Bl.js} +1 -1
- package/dist-embed/chunks/{diagram-S7CK7UJ4-CFDVHfda.js → diagram-S7CK7UJ4-zDQduoQy.js} +1 -1
- package/dist-embed/chunks/{diagram-UQ7AKVKN-DDaeau23.js → diagram-UQ7AKVKN-BxhQPjAM.js} +1 -1
- package/dist-embed/chunks/{diagram-UQ7AKVKN-GZbDy6ob.js → diagram-UQ7AKVKN-Byi-v8UN.js} +1 -1
- package/dist-embed/chunks/{diagram-VSXAHHWV-nXDiS81a.js → diagram-VSXAHHWV-CqihYkDH.js} +1 -1
- package/dist-embed/chunks/{diagram-VSXAHHWV-C6q67wko.js → diagram-VSXAHHWV-au-v2v9D.js} +1 -1
- package/dist-embed/chunks/{diagram-VX7I27RA-DQUkfMrD.js → diagram-VX7I27RA-Cd5PaF_n.js} +1 -1
- package/dist-embed/chunks/{diagram-VX7I27RA-CYLfpYa4.js → diagram-VX7I27RA-ETzwrw79.js} +1 -1
- package/dist-embed/chunks/{diagram-Z3DM3KII-DZziYptV.js → diagram-Z3DM3KII-AcMuRFo5.js} +1 -1
- package/dist-embed/chunks/{diagram-Z3DM3KII-v-9naUk_.js → diagram-Z3DM3KII-DkbsvY2A.js} +1 -1
- package/dist-embed/chunks/{document-BpXPH_dr.js → document-Dluvp7zl.js} +1 -1
- package/dist-embed/chunks/{drivecontents-Bg9_6Kmo.js → drivecontents-CxwZz_5W.js} +1 -1
- package/dist-embed/chunks/{ebnfDiagram-PWID7BFC-EvDUmZgJ.js → ebnfDiagram-PWID7BFC-BrEs-SB2.js} +1 -1
- package/dist-embed/chunks/{ebnfDiagram-PWID7BFC-CDmryeYY.js → ebnfDiagram-PWID7BFC-DuWfMZcD.js} +1 -1
- package/dist-embed/chunks/{edges-b2856ca0-CTakYT6h.js → edges-b2856ca0-Czd3-xvj.js} +1 -1
- package/dist-embed/chunks/{el-GR-BZB4AONW-DnaGhWD1.js → el-GR-BZB4AONW-CjQSkw0P.js} +1 -1
- package/dist-embed/chunks/{erDiagram-5d81789a-CpiBBm7t.js → erDiagram-5d81789a-JegaF4gy.js} +1 -1
- package/dist-embed/chunks/{erDiagram-RLTQ6QDP-B2QZDDaO.js → erDiagram-RLTQ6QDP-Cpn6_cd1.js} +1 -1
- package/dist-embed/chunks/{erDiagram-RLTQ6QDP-hsnql-YF.js → erDiagram-RLTQ6QDP-xubaXuKR.js} +1 -1
- package/dist-embed/chunks/{es-ES-U4NZUMDT-DE1vZzDE.js → es-ES-U4NZUMDT-CQz3Tsxk.js} +1 -1
- package/dist-embed/chunks/{eu-ES-A7QVB2H4-DmHB0zpm.js → eu-ES-A7QVB2H4-DPwxHXvP.js} +1 -1
- package/dist-embed/chunks/{fa-IR-HGAKTJCU-CNzE8tJj.js → fa-IR-HGAKTJCU-DlQyRFJP.js} +1 -1
- package/dist-embed/chunks/{fi-FI-Z5N7JZ37-Ca2vTFQC.js → fi-FI-Z5N7JZ37-BL9Dv0rT.js} +1 -1
- package/dist-embed/chunks/{flowDb-185abca5-D4uRRPhl.js → flowDb-185abca5-BN_8lgCO.js} +1 -1
- package/dist-embed/chunks/{flowDiagram-1629c991-B999anFV.js → flowDiagram-1629c991-YRlRqB59.js} +1 -1
- package/dist-embed/chunks/{flowDiagram-HODETNUW-DY4I6lzA.js → flowDiagram-HODETNUW-CzRvxVGK.js} +1 -1
- package/dist-embed/chunks/{flowDiagram-HODETNUW-D4E8W9uH.js → flowDiagram-HODETNUW-lW-icIxi.js} +1 -1
- package/dist-embed/chunks/{flowDiagram-v2-1d953310-2W9bzV_S.js → flowDiagram-v2-1d953310-DBFSFroi.js} +1 -1
- package/dist-embed/chunks/{flowchart-elk-definition-6df44142-Cz-ICcxz.js → flowchart-elk-definition-6df44142-RjL83g27.js} +1 -1
- package/dist-embed/chunks/{fr-FR-RHASNOE6-B0yWFX3_.js → fr-FR-RHASNOE6-xB7HyFVv.js} +1 -1
- package/dist-embed/chunks/{ganttDiagram-3b0b3873-CR9gwUWB.js → ganttDiagram-3b0b3873-Dowe9cKl.js} +1 -1
- package/dist-embed/chunks/{ganttDiagram-EL5Y4UJY-CoCfE73i.js → ganttDiagram-EL5Y4UJY-CLaynGwe.js} +1 -1
- package/dist-embed/chunks/{ganttDiagram-EL5Y4UJY-cZgkz4jA.js → ganttDiagram-EL5Y4UJY-CNQPBdAP.js} +1 -1
- package/dist-embed/chunks/{gitGraphDiagram-WWUBYQGX-CZEgVaQ_.js → gitGraphDiagram-WWUBYQGX-CDuBbPX3.js} +1 -1
- package/dist-embed/chunks/{gitGraphDiagram-WWUBYQGX-xXoxdFf9.js → gitGraphDiagram-WWUBYQGX-CupHqYWl.js} +1 -1
- package/dist-embed/chunks/{gitGraphDiagram-f01e8bc2-NdofvPL5.js → gitGraphDiagram-f01e8bc2-C06Sje1n.js} +1 -1
- package/dist-embed/chunks/{gl-ES-HMX3MZ6V-2_3FMVJq.js → gl-ES-HMX3MZ6V-BX50ltap.js} +1 -1
- package/dist-embed/chunks/{he-IL-6SHJWFNN-BW1lby00.js → he-IL-6SHJWFNN-DR3hLzYG.js} +1 -1
- package/dist-embed/chunks/{hi-IN-IWLTKZ5I-DTixfSwB.js → hi-IN-IWLTKZ5I-C3bSDqVc.js} +1 -1
- package/dist-embed/chunks/{hu-HU-A5ZG7DT2-DOfYwLWP.js → hu-HU-A5ZG7DT2--mRUDQG6.js} +1 -1
- package/dist-embed/chunks/{id-ID-SAP4L64H-Cwtdtkvg.js → id-ID-SAP4L64H-D6psdwdp.js} +1 -1
- package/dist-embed/chunks/{index-Dyh5xopp.js → index-3O3ob63z.js} +15 -15
- package/dist-embed/chunks/{index-KgE-JGae.js → index-7F_pA42X.js} +4 -4
- package/dist-embed/chunks/{index-9bae90f3-D4JbZiwv.js → index-9bae90f3-BY7E8HZU.js} +1 -1
- package/dist-embed/chunks/{index-DYkwi0aX.js → index-Azo_wV3K.js} +1 -1
- package/dist-embed/chunks/{index-BFPUYxvD.js → index-B063q-PC.js} +4 -4
- package/dist-embed/chunks/index-B0KVfQGJ.js +1 -0
- package/dist-embed/chunks/{index-BRBFWMMG.js → index-B2He8CnP.js} +1 -1
- package/dist-embed/chunks/{index-BAr0Q6NS.js → index-BExwmtFS.js} +1 -1
- package/dist-embed/chunks/{index-B3WvcNQa.js → index-BJhxZF_K.js} +1 -1
- package/dist-embed/chunks/{index-CXL3UCHy.js → index-BYMZi_1t.js} +1 -1
- package/dist-embed/chunks/{index-wovGU2zp.js → index-BblwlEJB.js} +1 -1
- package/dist-embed/chunks/{index-DvpdAlVH.js → index-BdvS7Q4t.js} +1 -1
- package/dist-embed/chunks/{index-S-sjhoD3.js → index-BhU2ra4k.js} +3 -3
- package/dist-embed/chunks/{index-j-oeqTuo.js → index-BipXK1tF.js} +1 -1
- package/dist-embed/chunks/{index-B_9UD0bt.js → index-BlWZloLe.js} +3 -3
- package/dist-embed/chunks/{index-B-UP9DlM.js → index-BzXMsI1v.js} +1 -1
- package/dist-embed/chunks/{index-CPY91aGL.js → index-BzxtV5-v.js} +1 -1
- package/dist-embed/chunks/{index-C17RrmNV.js → index-C01nR1dW.js} +1 -1
- package/dist-embed/chunks/{index-t_gNTVoL.js → index-C643Hfu1.js} +1 -1
- package/dist-embed/chunks/{index-BAwsCLGT.js → index-C6wF35Kk.js} +10 -10
- package/dist-embed/chunks/{index--qMT5k1q.js → index-C8IekrmL.js} +1 -1
- package/dist-embed/chunks/{index-BxjlpSy4.js → index-C9CpG6Nf.js} +1 -1
- package/dist-embed/chunks/{index-BITOMOWN.js → index-CA8D7U2s.js} +2 -2
- package/dist-embed/chunks/{index-DEn5R18M.js → index-CUL9WiLS.js} +5 -5
- package/dist-embed/chunks/{index-DFEBhySA.js → index-Cknn3VQD.js} +1 -1
- package/dist-embed/chunks/{index-BJ7Yskx5.js → index-CpcHHQd7.js} +1 -1
- package/dist-embed/chunks/{index-wzK_9qZx.js → index-CvBxCcaE.js} +1 -1
- package/dist-embed/chunks/{index-DkUimZI8.js → index-CzXnKkqM.js} +1 -1
- package/dist-embed/chunks/{index-Ck-wonpc.js → index-D0DBuFMt.js} +1 -1
- package/dist-embed/chunks/{index-CMUTS_sA.js → index-D1lY79hS.js} +4 -4
- package/dist-embed/chunks/{index-sQy5cmWo.js → index-DB46n9Tf.js} +2 -2
- package/dist-embed/chunks/{index-Cgf7tlW3.js → index-DToDguC3.js} +1 -1
- package/dist-embed/chunks/{index-Bi5hexj-.js → index-DVDREi21.js} +1 -1
- package/dist-embed/chunks/{index-TRLGqZaF.js → index-DVUMPcVw.js} +1 -1
- package/dist-embed/chunks/{index-YcqCoWJl.js → index-DcZQ2Oqj.js} +1 -1
- package/dist-embed/chunks/{index-bRwN_nxZ.js → index-DvWWLOj6.js} +1 -1
- package/dist-embed/chunks/{index-Clp8quV1.js → index-Dv_XGY6Q.js} +1 -1
- package/dist-embed/chunks/{index-C3oDHYfa.js → index-DxsDy6PY.js} +1 -1
- package/dist-embed/chunks/{index-Jt4bWLoz.js → index-EpYurdzk.js} +6 -6
- package/dist-embed/chunks/{index-CzuLxFBK.js → index-MTdX216X.js} +1 -1
- package/dist-embed/chunks/{index-B2OWWcCj.js → index-YqGHzM2S.js} +1 -1
- package/dist-embed/chunks/{index-BvvaLLhn.js → index-a51XM5L8.js} +3 -3
- package/dist-embed/chunks/{index-CrNfUmIU.js → index-jy9kOmqu.js} +1 -1
- package/dist-embed/chunks/{index-e5PkgYFg.js → index-kpqZuE4J.js} +1 -1
- package/dist-embed/chunks/{index-BgFbP5P0.js → index-qsUgit40.js} +1 -1
- package/dist-embed/chunks/{index-Cq19rGjf.js → index-rfsiH_M6.js} +1 -1
- package/dist-embed/chunks/{index-BYQwy0Zx.js → index-s3hayhRS.js} +2 -2
- package/dist-embed/chunks/{index.esm-RCuogyl2.js → index.esm-CWygaJYM.js} +1 -1
- package/dist-embed/chunks/{index.esm-CVNfNVDy.js → index.esm-DYeUXS4c.js} +1 -1
- package/dist-embed/chunks/{infoDiagram-27XIBGKW-DpFWmHEH.js → infoDiagram-27XIBGKW-Ctm-zk09.js} +1 -1
- package/dist-embed/chunks/{infoDiagram-27XIBGKW-DRf2y76w.js → infoDiagram-27XIBGKW-DRzH33_4.js} +1 -1
- package/dist-embed/chunks/{infoDiagram-a29d40f1-CehVkLUM.js → infoDiagram-a29d40f1-c78-ZMuT.js} +1 -1
- package/dist-embed/chunks/{isEqual-BybBNsZK.js → isEqual-niFNV5MZ.js} +1 -1
- package/dist-embed/chunks/{ishikawaDiagram-5VMMS53U-C_d1mmp3.js → ishikawaDiagram-5VMMS53U-CILSTTqm.js} +1 -1
- package/dist-embed/chunks/{ishikawaDiagram-5VMMS53U-B534qRQJ.js → ishikawaDiagram-5VMMS53U-DKv5KL85.js} +1 -1
- package/dist-embed/chunks/{it-IT-JPQ66NNP-C3xZ61-6.js → it-IT-JPQ66NNP-BfrG_atL.js} +1 -1
- package/dist-embed/chunks/{ja-JP-DBVTYXUO-CeTmglEb.js → ja-JP-DBVTYXUO-sahpmNGY.js} +1 -1
- package/dist-embed/chunks/{journeyDiagram-3NMN7TZE-DEeA8WJr.js → journeyDiagram-3NMN7TZE-CSMQRlsr.js} +1 -1
- package/dist-embed/chunks/{journeyDiagram-3NMN7TZE-C0GQLJYz.js → journeyDiagram-3NMN7TZE-DlMPiHSP.js} +1 -1
- package/dist-embed/chunks/{journeyDiagram-95396277-Cwx_BI95.js → journeyDiagram-95396277-VzHClVrX.js} +1 -1
- package/dist-embed/chunks/{kaa-6HZHGXH3-D6Jr6B6Y.js → kaa-6HZHGXH3-BrkhtXQj.js} +1 -1
- package/dist-embed/chunks/{kab-KAB-ZGHBKWFO-pEXBqeuG.js → kab-KAB-ZGHBKWFO-DwtFIV_I.js} +1 -1
- package/dist-embed/chunks/{kanban-definition-UXKFOSKX-DucvIyR1.js → kanban-definition-UXKFOSKX-BkxvAXq2.js} +1 -1
- package/dist-embed/chunks/{kanban-definition-UXKFOSKX-Dww2l0wQ.js → kanban-definition-UXKFOSKX-esf1amn7.js} +1 -1
- package/dist-embed/chunks/{kk-KZ-P5N5QNE5-BRJunmHm.js → kk-KZ-P5N5QNE5-UxN1LGH5.js} +1 -1
- package/dist-embed/chunks/{km-KH-HSX4SM5Z--GJgT9rN.js → km-KH-HSX4SM5Z-B7lolfpy.js} +1 -1
- package/dist-embed/chunks/{ko-KR-MTYHY66A-Bjnez4qR.js → ko-KR-MTYHY66A-CnxefCaN.js} +1 -1
- package/dist-embed/chunks/{ku-TR-6OUDTVRD-DgOdYJrS.js → ku-TR-6OUDTVRD-Bt7bmFnv.js} +1 -1
- package/dist-embed/chunks/{layout-DiAMrtPi.js → layout-D7Mk1riq.js} +1 -1
- package/dist-embed/chunks/{layout-LNJhMVxV.js → layout-Sl9Lf6Ae.js} +1 -1
- package/dist-embed/chunks/{lexicalHooks-DEzWXVZY.js → lexicalHooks-DKF-DsxG.js} +1 -1
- package/dist-embed/chunks/{lt-LT-XHIRWOB4-BMwhrtjM.js → lt-LT-XHIRWOB4-D6qkXs9m.js} +1 -1
- package/dist-embed/chunks/{lv-LV-5QDEKY6T-0pxW7YE0.js → lv-LV-5QDEKY6T-D8g27j86.js} +1 -1
- package/dist-embed/chunks/{mermaid.core-huvnfV8t.js → mermaid.core-BhiOhb5K.js} +3 -3
- package/dist-embed/chunks/{mermaid.core-Dw1n-Hii.js → mermaid.core-CRlujv29.js} +5 -5
- package/dist-embed/chunks/{mindmap-definition-YA3MSWOX-DWUezf-k.js → mindmap-definition-YA3MSWOX-BJQsz4H1.js} +1 -1
- package/dist-embed/chunks/{mindmap-definition-YA3MSWOX-DKQu2lXp.js → mindmap-definition-YA3MSWOX-eCxs0BsL.js} +1 -1
- package/dist-embed/chunks/{mindmap-definition-e4c1d938-DSDPusnk.js → mindmap-definition-e4c1d938-DoGG9eDO.js} +1 -1
- package/dist-embed/chunks/{model-BHONoBA6.js → model-BziAhKNp.js} +1 -1
- package/dist-embed/chunks/{mr-IN-CRQNXWMA-tndp8BXC.js → mr-IN-CRQNXWMA-CMbVGyJm.js} +1 -1
- package/dist-embed/chunks/{my-MM-5M5IBNSE-sispDhO4.js → my-MM-5M5IBNSE-B-KPsx1j.js} +1 -1
- package/dist-embed/chunks/{nb-NO-T6EIAALU-CjBurOuS.js → nb-NO-T6EIAALU-Cl7QLAt7.js} +1 -1
- package/dist-embed/chunks/{nl-NL-IS3SIHDZ-B58EVmr3.js → nl-NL-IS3SIHDZ-Brzte_o2.js} +1 -1
- package/dist-embed/chunks/{nn-NO-6E72VCQL-D1p7LZSq.js → nn-NO-6E72VCQL-CzCKEx02.js} +1 -1
- package/dist-embed/chunks/{oc-FR-POXYY2M6-C1M8sddP.js → oc-FR-POXYY2M6-DA72PkVY.js} +1 -1
- package/dist-embed/chunks/{pa-IN-N4M65BXN-D8ESzASl.js → pa-IN-N4M65BXN-CzkFYtL0.js} +1 -1
- package/dist-embed/chunks/{pegDiagram-XKGWAZYB-ChXFZFas.js → pegDiagram-XKGWAZYB-CD3xZvKE.js} +1 -1
- package/dist-embed/chunks/{pegDiagram-XKGWAZYB-BUPTGFu3.js → pegDiagram-XKGWAZYB-CV-d6HkK.js} +1 -1
- package/dist-embed/chunks/{percentages-BXMCSKIN-BihMTsFR.js → percentages-BXMCSKIN-mjCCp4uI.js} +6 -6
- package/dist-embed/chunks/{pica-BQREYloS.js → pica-5TeyVfIV.js} +1 -1
- package/dist-embed/chunks/{pieDiagram-E7YTZNPT-DAuVz3z-.js → pieDiagram-E7YTZNPT-DipS--g7.js} +1 -1
- package/dist-embed/chunks/{pieDiagram-E7YTZNPT-BORvsKK0.js → pieDiagram-E7YTZNPT-toANOh_O.js} +1 -1
- package/dist-embed/chunks/{pieDiagram-c941bede-FM1PHjj3.js → pieDiagram-c941bede-DytniBrW.js} +1 -1
- package/dist-embed/chunks/{pl-PL-T2D74RX3-DQGe6LHC.js → pl-PL-T2D74RX3-F4ebFTYK.js} +1 -1
- package/dist-embed/chunks/{plugin-BoxsYxwM.js → plugin-Cf3g-jak.js} +1 -1
- package/dist-embed/chunks/plugin-DA_NCYQX.js +1 -0
- package/dist-embed/chunks/{pt-BR-5N22H2LF-CvXBgZQs.js → pt-BR-5N22H2LF-B5i8LuE4.js} +1 -1
- package/dist-embed/chunks/{pt-PT-UZXXM6DQ-BMnnlIUJ.js → pt-PT-UZXXM6DQ-BQ7hfRRg.js} +1 -1
- package/dist-embed/chunks/{quadrantDiagram-AXDQQJYC-DpGcSrR9.js → quadrantDiagram-AXDQQJYC-D_j5dzK-.js} +1 -1
- package/dist-embed/chunks/{quadrantDiagram-AXDQQJYC-CZe_C7e2.js → quadrantDiagram-AXDQQJYC-DlhtjZ-k.js} +1 -1
- package/dist-embed/chunks/{quadrantDiagram-cf8b8fe0-DZNznYqD.js → quadrantDiagram-cf8b8fe0-BQ2yjLYu.js} +1 -1
- package/dist-embed/chunks/{railroadDiagram-O6MQD6OU-CuL_zbZ8.js → railroadDiagram-O6MQD6OU-CZFkdwSz.js} +1 -1
- package/dist-embed/chunks/{railroadDiagram-O6MQD6OU-BnCn-tIV.js → railroadDiagram-O6MQD6OU-aWlxxhLc.js} +1 -1
- package/dist-embed/chunks/{renderer-lVFw9lw7.js → renderer-2D5v6hpK.js} +1 -1
- package/dist-embed/chunks/{requirementDiagram-53bda41b-BLToEv8I.js → requirementDiagram-53bda41b-CWV_b9FE.js} +1 -1
- package/dist-embed/chunks/{requirementDiagram-BXWQKSXE-KU7DW76t.js → requirementDiagram-BXWQKSXE-BSF51uZZ.js} +1 -1
- package/dist-embed/chunks/{requirementDiagram-BXWQKSXE-W6Oaw9v0.js → requirementDiagram-BXWQKSXE-EVwiX2gg.js} +1 -1
- package/dist-embed/chunks/{ro-RO-JPDTUUEW-DZ-9UUH7.js → ro-RO-JPDTUUEW-BdcZRS6h.js} +1 -1
- package/dist-embed/chunks/{ru-RU-B4JR7IUQ-JlRBwjob.js → ru-RU-B4JR7IUQ-Cta1z8f6.js} +1 -1
- package/dist-embed/chunks/{sankeyDiagram-P5KCCOFB-y5tPDHfE.js → sankeyDiagram-P5KCCOFB-BqD6w06O.js} +1 -1
- package/dist-embed/chunks/{sankeyDiagram-P5KCCOFB-1UXJ4wHP.js → sankeyDiagram-P5KCCOFB-t6rHaBZJ.js} +1 -1
- package/dist-embed/chunks/{sankeyDiagram-c3ef121a-6gF3bcjb.js → sankeyDiagram-c3ef121a-C9O52Zx9.js} +1 -1
- package/dist-embed/chunks/{sequenceDiagram-82a5b84f-CglVrG1T.js → sequenceDiagram-82a5b84f-Dga-BwWi.js} +1 -1
- package/dist-embed/chunks/{sequenceDiagram-WJ2MYXX4-CG-4aOyN.js → sequenceDiagram-WJ2MYXX4-DphVeQVS.js} +1 -1
- package/dist-embed/chunks/{sequenceDiagram-WJ2MYXX4-DVcXqRnq.js → sequenceDiagram-WJ2MYXX4-ih6W0378.js} +1 -1
- package/dist-embed/chunks/{sessions-3PQsLINe.js → sessions-APuuDN3K.js} +2 -2
- package/dist-embed/chunks/{si-LK-N5RQ5JYF-Bx8kHnkd.js → si-LK-N5RQ5JYF-DYy_OKHx.js} +1 -1
- package/dist-embed/chunks/{sizeCapture-INFHLROL-e294GOp7.js → sizeCapture-INFHLROL-CxIMCruL.js} +1 -1
- package/dist-embed/chunks/{sizeCapture-INFHLROL-CCZ7JXfm.js → sizeCapture-INFHLROL-o0dzt8-T.js} +1 -1
- package/dist-embed/chunks/{sk-SK-C5VTKIMK-xsfEfbZb.js → sk-SK-C5VTKIMK-B4A8rgzq.js} +1 -1
- package/dist-embed/chunks/{sl-SI-NN7IZMDC-SQYUECnr.js → sl-SI-NN7IZMDC-Dn2yU1RA.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-43e79a5f-DktiQR1L.js → stateDiagram-43e79a5f-RBFnM6HD.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-D77RDMKH-Czz7slb9.js → stateDiagram-D77RDMKH-DUbaZs3a.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-D77RDMKH-DvgDxPXs.js → stateDiagram-D77RDMKH-R5RRRvFY.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-v2-2041ed4f-CGEkaZYz.js → stateDiagram-v2-2041ed4f-O5FpnsEz.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-v2-MP3YSRHH-CbzbC1qh.js → stateDiagram-v2-MP3YSRHH-CxTXB7mT.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-v2-MP3YSRHH-DGG9ROyK.js → stateDiagram-v2-MP3YSRHH-xKTLvXGN.js} +1 -1
- package/dist-embed/chunks/{styles-455b33cd-BpfBULhz.js → styles-455b33cd-D4Xv2qYx.js} +1 -1
- package/dist-embed/chunks/{styles-f932cba9-DsM5quNh.js → styles-f932cba9-BRIqeB8k.js} +1 -1
- package/dist-embed/chunks/{styles-fcc2142b-bC7I59Fx.js → styles-fcc2142b-CSNd2DtU.js} +1 -1
- package/dist-embed/chunks/{subset-shared.chunk-Ch6j8nKC.js → subset-shared.chunk-SugOGKH0.js} +1 -1
- package/dist-embed/chunks/{subset-worker.chunk-pJjck5pR.js → subset-worker.chunk-CHn-RJwQ.js} +1 -1
- package/dist-embed/chunks/{sv-SE-XGPEYMSR-BxcjSHE2.js → sv-SE-XGPEYMSR-DIGNKjA1.js} +1 -1
- package/dist-embed/chunks/{svgDrawCommon-148a3cd9-OC_CIhNw.js → svgDrawCommon-148a3cd9-ioBjWI45.js} +1 -1
- package/dist-embed/chunks/{swimlanes-42K2YHIH-DLiqjxvc.js → swimlanes-42K2YHIH-BPXSOfWl.js} +1 -1
- package/dist-embed/chunks/{swimlanes-42K2YHIH-nfpJsGfW.js → swimlanes-42K2YHIH-DID4P1mJ.js} +1 -1
- package/dist-embed/chunks/{swimlanesDiagram-VR7AAH4N-DVkRheaE.js → swimlanesDiagram-VR7AAH4N-B216TpFb.js} +1 -1
- package/dist-embed/chunks/{swimlanesDiagram-VR7AAH4N-DjeQ0TlI.js → swimlanesDiagram-VR7AAH4N-C5LAWW5q.js} +1 -1
- package/dist-embed/chunks/{ta-IN-2NMHFXQM-rItSkDUS.js → ta-IN-2NMHFXQM-h5n2V9ms.js} +1 -1
- package/dist-embed/chunks/{th-TH-HPSO5L25-B7UzESFj.js → th-TH-HPSO5L25-DPUFV7b6.js} +1 -1
- package/dist-embed/chunks/{timeline-definition-24CTP7MA-CapVlXMl.js → timeline-definition-24CTP7MA-CsrTDzso.js} +1 -1
- package/dist-embed/chunks/{timeline-definition-24CTP7MA-eOK0mNc7.js → timeline-definition-24CTP7MA-Y3tUsmSp.js} +1 -1
- package/dist-embed/chunks/{timeline-definition-7545f45a-afx9iuZR.js → timeline-definition-7545f45a-Dwe7O50H.js} +1 -1
- package/dist-embed/chunks/{tokens-BfuLIPUq.js → tokens-DTIgYcNS.js} +1 -1
- package/dist-embed/chunks/{tr-TR-DEFEU3FU-Ci6oNfEX.js → tr-TR-DEFEU3FU-BezJkdMx.js} +1 -1
- package/dist-embed/chunks/{uk-UA-QMV73CPH-C9csqvO6.js → uk-UA-QMV73CPH-CqILlosm.js} +1 -1
- package/dist-embed/chunks/{usePrimerThemeBridge-D_1NuGKb.js → usePrimerThemeBridge-CoHussa9.js} +1 -1
- package/dist-embed/chunks/{vennDiagram-4TSXK5OY-D12hHdDQ.js → vennDiagram-4TSXK5OY-BhVdyHxt.js} +1 -1
- package/dist-embed/chunks/{vennDiagram-4TSXK5OY-CJ0VIZqI.js → vennDiagram-4TSXK5OY-ClTlC2ql.js} +1 -1
- package/dist-embed/chunks/{vi-VN-M7AON7JQ-DRAj2kZj.js → vi-VN-M7AON7JQ-CnkPVQ0a.js} +1 -1
- package/dist-embed/chunks/{wardleyDiagram-VM6X3IG4-B1FfO2GD.js → wardleyDiagram-VM6X3IG4-DbWIMpvU.js} +1 -1
- package/dist-embed/chunks/{wardleyDiagram-VM6X3IG4-BfuBJbTV.js → wardleyDiagram-VM6X3IG4-kS16z5iB.js} +1 -1
- package/dist-embed/chunks/{xychartDiagram-3f383b91-BMDhPCCG.js → xychartDiagram-3f383b91-DYoT_EjG.js} +1 -1
- package/dist-embed/chunks/{xychartDiagram-S5SC5T6Z-xLO3w9Bz.js → xychartDiagram-S5SC5T6Z-CdwuwQAF.js} +1 -1
- package/dist-embed/chunks/{xychartDiagram-S5SC5T6Z-DZ-XUHKl.js → xychartDiagram-S5SC5T6Z-KeQp-cQ1.js} +1 -1
- package/dist-embed/chunks/{zh-CN-LNUGB5OW-DLOyW8hH.js → zh-CN-LNUGB5OW-CNdfctAT.js} +1 -1
- package/dist-embed/chunks/{zh-HK-E62DVLB3-DwC6_2Ws.js → zh-HK-E62DVLB3-DEXwa5-T.js} +1 -1
- package/dist-embed/chunks/{zh-TW-RAJ6MFWO-DEMugIwa.js → zh-TW-RAJ6MFWO-BF7cCYAK.js} +1 -1
- package/dist-embed/datalayer-app-main.js +21 -21
- package/lib/apps/core/index.d.ts +16 -0
- package/lib/apps/index.d.ts +2 -2
- package/lib/apps/index.js +1 -1
- package/lib/apps/plugins/agents/DatalayerAgentBridge.js +9 -14
- package/lib/apps/plugins/agents/index.d.ts +1 -1
- package/lib/apps/plugins/agents/index.js +1 -1
- package/lib/apps/plugins/agents/plugin.d.ts +10 -0
- package/lib/apps/plugins/agents/plugin.js +10 -0
- package/lib/apps/plugins/chat/ChatView.js +13 -1
- package/lib/apps/shell/LoopWorkspace.d.ts +8 -1
- package/lib/apps/shell/LoopWorkspace.js +5 -3
- package/lib/chat/header/ChatHeaderBase.d.ts +3 -1
- package/lib/chat/header/ChatHeaderBase.js +2 -2
- package/lib/chat/header/ChatViewModeToggle.d.ts +7 -1
- package/lib/chat/header/ChatViewModeToggle.js +5 -2
- package/lib/protocols/agentProtocols.js +3 -1
- package/lib/protocols/pap/index.d.ts +4 -0
- package/lib/protocols/pap/index.js +41 -0
- package/package.json +2 -2
- package/dist-embed/chunks/Avatar-DbU3YP4x.js +0 -1
- package/dist-embed/chunks/DatalayerAgentBridge-Bz2KWRXK.js +0 -1
- package/dist-embed/chunks/YouTubePlugin-xBjNr2Iu.js +0 -1
- package/dist-embed/chunks/index-DlK9qLPz.js +0 -1
- package/dist-embed/chunks/plugin-Dz5L6Xn8.js +0 -1
package/lib/apps/core/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import type { AssistantCharacter } from '../../chat/assistant/characters';
|
|
|
9
9
|
import type { AssistantCharacterData } from '../../chat/assistant/formats/types';
|
|
10
10
|
import type { PresenceState } from '../../chat/presence/presenceStatus';
|
|
11
11
|
import type { ChatWords } from '../../chat/words';
|
|
12
|
+
import type { ChatViewMode } from '../../types/chat';
|
|
12
13
|
/** Lifecycle of the sandbox a workspace is attached to. */
|
|
13
14
|
export type SandboxState = 'idle' | 'starting' | 'running' | 'stopping' | 'error';
|
|
14
15
|
/** What the workspace knows about the sandbox behind it. */
|
|
@@ -196,6 +197,21 @@ export type LoopWorkspaceContext = {
|
|
|
196
197
|
* part of the page and the chat's stay together at the trailing edge.
|
|
197
198
|
*/
|
|
198
199
|
chatHeaderActions?: ReactNode;
|
|
200
|
+
/**
|
|
201
|
+
* The chat's view, as the host keeps it: the chat's title bar offers the
|
|
202
|
+
* views with its view-mode toggle (`ChatViewModeToggle`). Unsaid, the
|
|
203
|
+
* title bar offers none.
|
|
204
|
+
*/
|
|
205
|
+
chatViewModes?: LoopChatViewModes;
|
|
206
|
+
};
|
|
207
|
+
/** The chat's view in a workspace whose host keeps it (`chatViewModes`). */
|
|
208
|
+
export type LoopChatViewModes = {
|
|
209
|
+
/** The view the chat is in. */
|
|
210
|
+
value: ChatViewMode;
|
|
211
|
+
/** The person picked another view. */
|
|
212
|
+
onChange: (mode: ChatViewMode) => void;
|
|
213
|
+
/** The views offered, in the toggle's order; all of them when unsaid. */
|
|
214
|
+
offered?: readonly ChatViewMode[];
|
|
199
215
|
};
|
|
200
216
|
/**
|
|
201
217
|
* How a prompt typed in the shell reaches whatever should answer it.
|
package/lib/apps/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module apps
|
|
8
8
|
*/
|
|
9
|
-
export { LoopCommand, LoopDocumentToolbar, LoopMention, LoopNotebookToolbar, LoopRunProps, LoopSlots, LoopViewType, canOpenView, createPromptChannel, parseCommand, runForwardedProps, type CommandArgSpec, type CommandContribution, type CommandResult, type EditorToolbarContext, type EditorToolbarContribution, type LoopCommandContext, type LoopViewProps, type LoopWorkspaceContext, type MentionCandidate, type MentionContribution, type PromptChannel, type RunPropsContribution, type SandboxSnapshot, type SandboxState, type ViewControls, type ViewTypeContribution, useLoopPromptStore, suggestLoopPrompt, focusPrompt, onPromptFocusRequest, type LoopPromptState, type SuggestedPrompt, } from './core';
|
|
9
|
+
export { LoopCommand, LoopDocumentToolbar, LoopMention, LoopNotebookToolbar, LoopRunProps, LoopSlots, LoopViewType, canOpenView, createPromptChannel, parseCommand, runForwardedProps, type CommandArgSpec, type CommandContribution, type CommandResult, type EditorToolbarContext, type EditorToolbarContribution, type LoopCommandContext, type LoopViewProps, type LoopWorkspaceContext, type LoopChatViewModes, type MentionCandidate, type MentionContribution, type PromptChannel, type RunPropsContribution, type SandboxSnapshot, type SandboxState, type ViewControls, type ViewTypeContribution, useLoopPromptStore, suggestLoopPrompt, focusPrompt, onPromptFocusRequest, type LoopPromptState, type SuggestedPrompt, } from './core';
|
|
10
10
|
export { useEditorToolbar } from './core/toolbar';
|
|
11
11
|
export { LoopWorkspace, PluginToggles, ViewSwitcher, WorkspaceFullScreenAction, buildLoopReactor, useWorkspaceFullScreen, type LoopWorkspaceProps, type PluginTogglesProps, type ViewSwitcherProps, } from './shell';
|
|
12
12
|
export { A2uiPlugin, A2UI_PLUGIN_NAME } from './plugins/a2ui';
|
|
@@ -57,7 +57,7 @@ export { APP_ACTIVITY_PLUGIN_NAME, APP_ACTIVITY_WORDS, AppActivity, defineAppAct
|
|
|
57
57
|
export { APP_COMPUTER_PLUGIN_NAME, AppComputer, defineAppComputerPlugin, } from './plugins/app-computer';
|
|
58
58
|
export { GraphViewPlugin, GRAPH_PLUGIN_NAME, GRAPH_VIEW_TYPE, } from './plugins/graph';
|
|
59
59
|
export { PluginsPanelPlugin, PLUGINS_PANEL_PLUGIN_NAME, PluginsPanel, } from './plugins/plugins-panel';
|
|
60
|
-
export { AGENTS_PLUGIN_NAME, AgentsPlugin, SandboxSelector, browserSource, createBrowserSandboxService, createServerSandboxService, createSwitchableSandboxService, suppliedSource, useOptionalSandboxService, useSandboxService, type AgentsConfig, type AgentsOutput, type SandboxExecution, type SandboxService, type SandboxTarget, type ServiceManagerSource, type SwitchableSandboxService, } from './plugins/agents';
|
|
60
|
+
export { AGENTS_PLUGIN_NAME, AgentsPlugin, DEFAULT_DATALAYER_AGENTSPEC, SandboxSelector, browserSource, createBrowserSandboxService, createServerSandboxService, createSwitchableSandboxService, suppliedSource, useOptionalSandboxService, useSandboxService, type AgentsConfig, type AgentsOutput, type SandboxExecution, type SandboxService, type SandboxTarget, type ServiceManagerSource, type SwitchableSandboxService, } from './plugins/agents';
|
|
61
61
|
export { DocumentPlugin, DOCUMENT_PLUGIN_NAME } from './plugins/document';
|
|
62
62
|
export { DocumentToolbarPlugin, DOCUMENT_TOOLBAR_PLUGIN_NAME, } from './plugins/document-toolbar';
|
|
63
63
|
export { ShellPlugin, EditorSelector, SHELL_PLUGIN_NAME, NONE_EDITOR, chooseEditor, EditorsPlugin, EDITORS_PLUGIN_NAME, type ShellPluginConfig, } from './plugins/shell';
|
package/lib/apps/index.js
CHANGED
|
@@ -70,7 +70,7 @@ export { APP_ACTIVITY_PLUGIN_NAME, APP_ACTIVITY_WORDS, AppActivity, defineAppAct
|
|
|
70
70
|
export { APP_COMPUTER_PLUGIN_NAME, AppComputer, defineAppComputerPlugin, } from './plugins/app-computer';
|
|
71
71
|
export { GraphViewPlugin, GRAPH_PLUGIN_NAME, GRAPH_VIEW_TYPE, } from './plugins/graph';
|
|
72
72
|
export { PluginsPanelPlugin, PLUGINS_PANEL_PLUGIN_NAME, PluginsPanel, } from './plugins/plugins-panel';
|
|
73
|
-
export { AGENTS_PLUGIN_NAME, AgentsPlugin, SandboxSelector, browserSource, createBrowserSandboxService, createServerSandboxService, createSwitchableSandboxService, suppliedSource, useOptionalSandboxService, useSandboxService, } from './plugins/agents';
|
|
73
|
+
export { AGENTS_PLUGIN_NAME, AgentsPlugin, DEFAULT_DATALAYER_AGENTSPEC, SandboxSelector, browserSource, createBrowserSandboxService, createServerSandboxService, createSwitchableSandboxService, suppliedSource, useOptionalSandboxService, useSandboxService, } from './plugins/agents';
|
|
74
74
|
export { DocumentPlugin, DOCUMENT_PLUGIN_NAME } from './plugins/document';
|
|
75
75
|
export { DocumentToolbarPlugin, DOCUMENT_TOOLBAR_PLUGIN_NAME, } from './plugins/document-toolbar';
|
|
76
76
|
export { ShellPlugin, EditorSelector, SHELL_PLUGIN_NAME, NONE_EDITOR, chooseEditor,
|
|
@@ -9,16 +9,8 @@ import { ensureVisitorAgent } from '../../apps/visitorToken';
|
|
|
9
9
|
import { AGENTSPECS } from '../../../specs/agents/agents';
|
|
10
10
|
import { IDLE_SANDBOX_TARGET_SIGNAL } from '../../core';
|
|
11
11
|
import { appLaunchOf } from './appLaunch';
|
|
12
|
-
import { AGENTS_PLUGIN_NAME } from './plugin';
|
|
12
|
+
import { AGENTS_PLUGIN_NAME, DEFAULT_DATALAYER_AGENTSPEC, } from './plugin';
|
|
13
13
|
import { useOptionalSandboxService } from './useSandboxService';
|
|
14
|
-
/**
|
|
15
|
-
* The tutor.
|
|
16
|
-
*
|
|
17
|
-
* The front door of the notebook team, and the agent a person landing on a
|
|
18
|
-
* Datalayer runtime should meet first. A host that wants another names it in
|
|
19
|
-
* this plugin's config.
|
|
20
|
-
*/
|
|
21
|
-
const DEFAULT_DATALAYER_AGENTSPEC = 'jupyter-tutor';
|
|
22
14
|
export function DatalayerAgentBridge() {
|
|
23
15
|
const reactor = useReactorPlatform();
|
|
24
16
|
const agentsConfig = reactor.getConfig(AGENTS_PLUGIN_NAME);
|
|
@@ -107,13 +99,16 @@ export function DatalayerAgentBridge() {
|
|
|
107
99
|
*/
|
|
108
100
|
// An application names its own agent and transport; a bare spec, the spec's.
|
|
109
101
|
const agentName = typeof createPayload?.name === 'string' ? createPayload.name : agentSpecId;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
102
|
+
/*
|
|
103
|
+
* AG-UI unless the application names another: the workspace's chat speaks
|
|
104
|
+
* AG-UI to an agent on a server (`/api/v1/ag-ui/<agent>/`). Left unsaid, a
|
|
105
|
+
* bare spec's agent was created with the runtime's default, Vercel AI, and
|
|
106
|
+
* every message the workspace sent it on Datalayer was a 404 (2026-10-12).
|
|
107
|
+
*/
|
|
108
|
+
const protocol = createPayload?.transport === 'vercel-ai' ? 'vercel-ai' : 'ag-ui';
|
|
114
109
|
const agentConfig = useMemo(() => ({
|
|
115
110
|
name: agentName,
|
|
116
|
-
|
|
111
|
+
protocol,
|
|
117
112
|
agentSpecId,
|
|
118
113
|
model: AGENTSPECS[agentSpecId]?.model,
|
|
119
114
|
description: AGENTSPECS[agentSpecId]?.description,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module apps/plugins/agents
|
|
5
5
|
*/
|
|
6
|
-
export { AGENTS_PLUGIN_NAME, AgentsPlugin, type AgentsConfig, type AgentsOutput, } from './plugin';
|
|
6
|
+
export { AGENTS_PLUGIN_NAME, AgentsPlugin, DEFAULT_DATALAYER_AGENTSPEC, type AgentsConfig, type AgentsOutput, } from './plugin';
|
|
7
7
|
export { AgentsPlugin as default } from './plugin';
|
|
8
8
|
export { browserSource, createBrowserSandboxService, suppliedSource, type BrowserSandboxService, type ServiceManagerSource, } from './browserService';
|
|
9
9
|
export { createServerSandboxService, summarize, type SandboxExecution, type SandboxService, type SandboxStatusPayload, } from './service';
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @module apps/plugins/agents
|
|
9
9
|
*/
|
|
10
|
-
export { AGENTS_PLUGIN_NAME, AgentsPlugin, } from './plugin';
|
|
10
|
+
export { AGENTS_PLUGIN_NAME, AgentsPlugin, DEFAULT_DATALAYER_AGENTSPEC, } from './plugin';
|
|
11
11
|
export { AgentsPlugin as default } from './plugin';
|
|
12
12
|
export { browserSource, createBrowserSandboxService, suppliedSource, } from './browserService';
|
|
13
13
|
export { createServerSandboxService, summarize, } from './service';
|
|
@@ -20,6 +20,16 @@ import type { ReactorSlotComponent } from '@datalayer/reactor/react';
|
|
|
20
20
|
import type { ServiceManagerSource } from './browserService';
|
|
21
21
|
import { type TeamSelection } from './team';
|
|
22
22
|
import { type SandboxTarget, type SwitchableSandboxService } from './switchable';
|
|
23
|
+
/**
|
|
24
|
+
* The tutor.
|
|
25
|
+
*
|
|
26
|
+
* The front door of the notebook team, and the agent a person landing on a
|
|
27
|
+
* Datalayer runtime should meet first. A host that wants another names it in
|
|
28
|
+
* this plugin's config. Here, beside the plugin rather than in the bridge, so
|
|
29
|
+
* that a host describing the agent its workspace runs on Datalayer can name
|
|
30
|
+
* it without loading the bridge's runtime stack.
|
|
31
|
+
*/
|
|
32
|
+
export declare const DEFAULT_DATALAYER_AGENTSPEC = "jupyter-tutor";
|
|
23
33
|
export declare const AGENTS_PLUGIN_NAME = "@datalayer/loop-plugin-agents";
|
|
24
34
|
export type AgentsConfig = {
|
|
25
35
|
/** Server the server-backed targets are reached through. */
|
|
@@ -13,6 +13,16 @@ import { SandboxSelector } from './SandboxSelector';
|
|
|
13
13
|
import { TeamMemberPicker } from './TeamMemberPicker';
|
|
14
14
|
import { createTeamSelection } from './team';
|
|
15
15
|
import { createSwitchableSandboxService, heldTargetReason, TARGET_SPECS, targetHasAgent, } from './switchable';
|
|
16
|
+
/**
|
|
17
|
+
* The tutor.
|
|
18
|
+
*
|
|
19
|
+
* The front door of the notebook team, and the agent a person landing on a
|
|
20
|
+
* Datalayer runtime should meet first. A host that wants another names it in
|
|
21
|
+
* this plugin's config. Here, beside the plugin rather than in the bridge, so
|
|
22
|
+
* that a host describing the agent its workspace runs on Datalayer can name
|
|
23
|
+
* it without loading the bridge's runtime stack.
|
|
24
|
+
*/
|
|
25
|
+
export const DEFAULT_DATALAYER_AGENTSPEC = 'jupyter-tutor';
|
|
16
26
|
export const AGENTS_PLUGIN_NAME = '@datalayer/loop-plugin-agents';
|
|
17
27
|
/** The target asked for, or the page itself when this page holds it. */
|
|
18
28
|
const offeredTarget = (target, serverUrl) => (heldTargetReason(target, serverUrl) ? 'browser' : target);
|
|
@@ -1845,7 +1845,19 @@ export default function ChatView({ workspace }) {
|
|
|
1845
1845
|
showNewChat: config?.headerButtons?.newChat ?? false,
|
|
1846
1846
|
showClear: config?.headerButtons?.clear ?? false,
|
|
1847
1847
|
}, renderHeader: HeaderComponent
|
|
1848
|
-
? headerProps => (_jsx(HeaderComponent, { workspace: workspace, header:
|
|
1848
|
+
? headerProps => (_jsx(HeaderComponent, { workspace: workspace, header:
|
|
1849
|
+
/* The chat's view, when the host keeps it: the
|
|
1850
|
+
title bar's toggle, given to the header only —
|
|
1851
|
+
the chat itself stays where the workspace
|
|
1852
|
+
places it, whichever view is picked. */
|
|
1853
|
+
workspace.chatViewModes
|
|
1854
|
+
? {
|
|
1855
|
+
...headerProps,
|
|
1856
|
+
chatViewMode: workspace.chatViewModes.value,
|
|
1857
|
+
onChatViewModeChange: workspace.chatViewModes.onChange,
|
|
1858
|
+
offeredViewModes: workspace.chatViewModes.offered,
|
|
1859
|
+
}
|
|
1860
|
+
: headerProps }))
|
|
1849
1861
|
: undefined,
|
|
1850
1862
|
/*
|
|
1851
1863
|
The (i), which opens the agent's details over the transcript.
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
import type { JSX } from 'react';
|
|
23
23
|
import type { ReactNode } from 'react';
|
|
24
24
|
import { type PlatformInput, type PluginRef, type ReactorPlatform } from '@datalayer/reactor';
|
|
25
|
-
import { type LoopWorkspaceContext, type SandboxSnapshot } from '../core';
|
|
25
|
+
import { type LoopChatViewModes, type LoopWorkspaceContext, type SandboxSnapshot } from '../core';
|
|
26
26
|
export type LoopWorkspaceProps = {
|
|
27
27
|
/** Server backing this session. */
|
|
28
28
|
serverUrl: string;
|
|
@@ -93,6 +93,13 @@ export type LoopWorkspaceProps = {
|
|
|
93
93
|
* to `LoopSlots.chatHeader` instead, and both end up in the same row.
|
|
94
94
|
*/
|
|
95
95
|
chatHeaderActions?: ReactNode;
|
|
96
|
+
/**
|
|
97
|
+
* The chat's view, kept by the host: offered in the chat's title bar by
|
|
98
|
+
* its view-mode toggle. The host draws the view picked — for the
|
|
99
|
+
* assistant, a chat layout (`LoopChatLayout`) that hands the transcript
|
|
100
|
+
* and the composer to `ChatFloating`'s assistant mode.
|
|
101
|
+
*/
|
|
102
|
+
chatViewModes?: LoopChatViewModes;
|
|
96
103
|
/**
|
|
97
104
|
* The host's own controls for the workspace header row.
|
|
98
105
|
*
|
|
@@ -13,21 +13,21 @@ export function buildLoopReactor(extensions) {
|
|
|
13
13
|
return buildReactorFromPlugins(extensions);
|
|
14
14
|
}
|
|
15
15
|
export function LoopWorkspace(props) {
|
|
16
|
-
const { serverUrl, agentId, conversationId, model, sandbox = { state: 'idle' }, extensions = [], reactor: providedReactor, manageReactor = true, initialViewType, onSend, layout = 'page', showViewSelector = true, showHeader = true, chatHeaderActions, headerActions, headerContainer, sidebarRail = false, } = props;
|
|
16
|
+
const { serverUrl, agentId, conversationId, model, sandbox = { state: 'idle' }, extensions = [], reactor: providedReactor, manageReactor = true, initialViewType, onSend, layout = 'page', showViewSelector = true, showHeader = true, chatHeaderActions, chatViewModes, headerActions, headerContainer, sidebarRail = false, } = props;
|
|
17
17
|
// Building the platform is a one-time act: rebuilding it on every render
|
|
18
18
|
// would restart every plugin.
|
|
19
19
|
const reactor = useMemo(() => providedReactor ?? buildLoopReactor(extensions),
|
|
20
20
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
21
21
|
[providedReactor]);
|
|
22
22
|
useReactor(reactor, { autoStart: manageReactor });
|
|
23
|
-
return (_jsx(WorkspaceBody, { serverUrl: serverUrl, agentId: agentId, conversationId: conversationId, model: model, initialSandbox: sandbox, initialViewType: initialViewType, onSend: onSend, layout: layout, showViewSelector: showViewSelector, showHeader: showHeader, chatHeaderActions: chatHeaderActions, headerActions: headerActions, headerContainer: headerContainer, sidebarRail: sidebarRail }));
|
|
23
|
+
return (_jsx(WorkspaceBody, { serverUrl: serverUrl, agentId: agentId, conversationId: conversationId, model: model, initialSandbox: sandbox, initialViewType: initialViewType, onSend: onSend, layout: layout, showViewSelector: showViewSelector, showHeader: showHeader, chatHeaderActions: chatHeaderActions, chatViewModes: chatViewModes, headerActions: headerActions, headerContainer: headerContainer, sidebarRail: sidebarRail }));
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* Split from `LoopWorkspace` so the hooks below run with the platform already
|
|
27
27
|
* registered — `useContributions` needs a reactor in the store, and `useReactor`
|
|
28
28
|
* registers it during the parent's render.
|
|
29
29
|
*/
|
|
30
|
-
function WorkspaceBody({ serverUrl, agentId: initialAgentId, conversationId, model, initialSandbox, initialViewType, onSend, layout = 'page', showViewSelector = true, showHeader = true, chatHeaderActions, headerActions, headerContainer, sidebarRail = false, }) {
|
|
30
|
+
function WorkspaceBody({ serverUrl, agentId: initialAgentId, conversationId, model, initialSandbox, initialViewType, onSend, layout = 'page', showViewSelector = true, showHeader = true, chatHeaderActions, chatViewModes, headerActions, headerContainer, sidebarRail = false, }) {
|
|
31
31
|
/*
|
|
32
32
|
* Which agent the session is talking to.
|
|
33
33
|
*
|
|
@@ -119,6 +119,7 @@ function WorkspaceBody({ serverUrl, agentId: initialAgentId, conversationId, mod
|
|
|
119
119
|
viewControls,
|
|
120
120
|
setViewControls,
|
|
121
121
|
chatHeaderActions,
|
|
122
|
+
chatViewModes,
|
|
122
123
|
}), [
|
|
123
124
|
serverUrl,
|
|
124
125
|
agentId,
|
|
@@ -131,6 +132,7 @@ function WorkspaceBody({ serverUrl, agentId: initialAgentId, conversationId, mod
|
|
|
131
132
|
viewControls,
|
|
132
133
|
setViewControls,
|
|
133
134
|
chatHeaderActions,
|
|
135
|
+
chatViewModes,
|
|
134
136
|
]);
|
|
135
137
|
// `submit` must not be rebuilt whenever the workspace object changes — the
|
|
136
138
|
// chat holds on to it — so it reads the current values through refs.
|
|
@@ -69,6 +69,8 @@ export interface ChatBaseHeaderProps {
|
|
|
69
69
|
onChatViewModeChange?: (mode: ChatViewMode) => void;
|
|
70
70
|
/** Modes shown greyed out: the sidebar, when the host has no mount point. */
|
|
71
71
|
disabledViewModes?: readonly ChatViewMode[];
|
|
72
|
+
/** The modes the toggle offers; all of them when unsaid. */
|
|
73
|
+
offeredViewModes?: readonly ChatViewMode[];
|
|
72
74
|
/** Show the companion-surface segmented control (None / Notebook / Document). */
|
|
73
75
|
showEphemeralSurfaceControl?: boolean;
|
|
74
76
|
/** Whether the Notebook option is available in the surface control. */
|
|
@@ -80,5 +82,5 @@ export interface ChatBaseHeaderProps {
|
|
|
80
82
|
/** Callback fired when the user changes the companion-surface mode. */
|
|
81
83
|
onEphemeralSurfaceModeChange?: (mode: EphemeralSurfaceMode) => void;
|
|
82
84
|
}
|
|
83
|
-
export declare function ChatBaseHeader({ title, subtitle, disableReason, brandIcon, headerContent, headerActions, showInformation, onInformationClick, padding, kernelIndicatorState, kernelIndicatorPlacement, runtimeStatus, kernel, kernelEnvironmentName, kernelCpu, kernelMemory, kernelGpu, headerButtons, messageCount, onNewChat, onClear, chatViewMode, onChatViewModeChange, disabledViewModes, showEphemeralSurfaceControl, enableEphemeralNotebookOption, enableEphemeralDocumentOption, ephemeralSurfaceMode, onEphemeralSurfaceModeChange, }: ChatBaseHeaderProps): import("react").JSX.Element;
|
|
85
|
+
export declare function ChatBaseHeader({ title, subtitle, disableReason, brandIcon, headerContent, headerActions, showInformation, onInformationClick, padding, kernelIndicatorState, kernelIndicatorPlacement, runtimeStatus, kernel, kernelEnvironmentName, kernelCpu, kernelMemory, kernelGpu, headerButtons, messageCount, onNewChat, onClear, chatViewMode, onChatViewModeChange, disabledViewModes, offeredViewModes, showEphemeralSurfaceControl, enableEphemeralNotebookOption, enableEphemeralDocumentOption, ephemeralSurfaceMode, onEphemeralSurfaceModeChange, }: ChatBaseHeaderProps): import("react").JSX.Element;
|
|
84
86
|
export {};
|
|
@@ -31,7 +31,7 @@ export function toRuntimeExecutionState(runtimeStatus) {
|
|
|
31
31
|
// ---------------------------------------------------------------------------
|
|
32
32
|
// Component
|
|
33
33
|
// ---------------------------------------------------------------------------
|
|
34
|
-
export function ChatBaseHeader({ title, subtitle, disableReason, brandIcon, headerContent, headerActions, showInformation, onInformationClick, padding, kernelIndicatorState, kernelIndicatorPlacement = 'left', runtimeStatus, kernel, kernelEnvironmentName, kernelCpu, kernelMemory, kernelGpu, headerButtons, messageCount, onNewChat, onClear, chatViewMode, onChatViewModeChange, disabledViewModes = [], showEphemeralSurfaceControl = false, enableEphemeralNotebookOption = false, enableEphemeralDocumentOption = false, ephemeralSurfaceMode = 'none', onEphemeralSurfaceModeChange, }) {
|
|
34
|
+
export function ChatBaseHeader({ title, subtitle, disableReason, brandIcon, headerContent, headerActions, showInformation, onInformationClick, padding, kernelIndicatorState, kernelIndicatorPlacement = 'left', runtimeStatus, kernel, kernelEnvironmentName, kernelCpu, kernelMemory, kernelGpu, headerButtons, messageCount, onNewChat, onClear, chatViewMode, onChatViewModeChange, disabledViewModes = [], offeredViewModes, showEphemeralSurfaceControl = false, enableEphemeralNotebookOption = false, enableEphemeralDocumentOption = false, ephemeralSurfaceMode = 'none', onEphemeralSurfaceModeChange, }) {
|
|
35
35
|
const effectiveIndicatorState = kernelIndicatorState ?? toRuntimeExecutionState(runtimeStatus);
|
|
36
36
|
/*
|
|
37
37
|
* No indicator where there is nothing to indicate.
|
|
@@ -58,5 +58,5 @@ export function ChatBaseHeader({ title, subtitle, disableReason, brandIcon, head
|
|
|
58
58
|
color: 'fg.muted',
|
|
59
59
|
minWidth: 0,
|
|
60
60
|
maxWidth: '100%',
|
|
61
|
-
}, children: _jsx(Truncate, { title: subtitle, maxWidth: "40ch", children: subtitle }) }))] })), disableReason && (_jsx(Label, { variant: "attention", sx: { flexShrink: 0 }, children: disableReason })), headerContent, showInformation && (_jsx(IconButton, { icon: InfoIcon, "aria-label": "Information", variant: "invisible", size: "small", onClick: onInformationClick })), kernelIndicatorPlacement === 'center' && kernelIndicatorElement] }), _jsxs(Box, { display: "flex", alignItems: "center", gap: 1, flexShrink: 0, children: [kernelIndicatorPlacement === 'right' && kernelIndicatorElement, headerButtons?.showNewChat && (_jsx(IconButton, { icon: PlusIcon, "aria-label": "New chat", variant: "invisible", size: "small", onClick: onNewChat })), headerButtons?.showClear && messageCount > 0 && (_jsx(IconButton, { icon: TrashIcon, "aria-label": "Clear messages", variant: "invisible", size: "small", onClick: onClear })), headerButtons?.showSettings && (_jsx(IconButton, { icon: GearIcon, "aria-label": "Settings", variant: "invisible", size: "small", onClick: headerButtons.onSettings })), showEphemeralSurfaceControl && (_jsx(EphemeralSurfaceControl, { mode: ephemeralSurfaceMode, onChange: onEphemeralSurfaceModeChange, enableNotebook: enableEphemeralNotebookOption, enableDocument: enableEphemeralDocumentOption })), chatViewMode && onChatViewModeChange && (_jsx(ChatViewModeToggle, { value: chatViewMode, onChange: onChatViewModeChange, disabledModes: disabledViewModes })), headerActions] })] }) }));
|
|
61
|
+
}, children: _jsx(Truncate, { title: subtitle, maxWidth: "40ch", children: subtitle }) }))] })), disableReason && (_jsx(Label, { variant: "attention", sx: { flexShrink: 0 }, children: disableReason })), headerContent, showInformation && (_jsx(IconButton, { icon: InfoIcon, "aria-label": "Information", variant: "invisible", size: "small", onClick: onInformationClick })), kernelIndicatorPlacement === 'center' && kernelIndicatorElement] }), _jsxs(Box, { display: "flex", alignItems: "center", gap: 1, flexShrink: 0, children: [kernelIndicatorPlacement === 'right' && kernelIndicatorElement, headerButtons?.showNewChat && (_jsx(IconButton, { icon: PlusIcon, "aria-label": "New chat", variant: "invisible", size: "small", onClick: onNewChat })), headerButtons?.showClear && messageCount > 0 && (_jsx(IconButton, { icon: TrashIcon, "aria-label": "Clear messages", variant: "invisible", size: "small", onClick: onClear })), headerButtons?.showSettings && (_jsx(IconButton, { icon: GearIcon, "aria-label": "Settings", variant: "invisible", size: "small", onClick: headerButtons.onSettings })), showEphemeralSurfaceControl && (_jsx(EphemeralSurfaceControl, { mode: ephemeralSurfaceMode, onChange: onEphemeralSurfaceModeChange, enableNotebook: enableEphemeralNotebookOption, enableDocument: enableEphemeralDocumentOption })), chatViewMode && onChatViewModeChange && (_jsx(ChatViewModeToggle, { value: chatViewMode, onChange: onChatViewModeChange, disabledModes: disabledViewModes, modes: offeredViewModes })), headerActions] })] }) }));
|
|
62
62
|
}
|
|
@@ -23,7 +23,13 @@ export type ChatViewModeToggleProps = {
|
|
|
23
23
|
onChange: (mode: ChatViewMode) => void;
|
|
24
24
|
/** Modes shown greyed out: the sidebar, when the host has no mount point. */
|
|
25
25
|
disabledModes?: readonly ChatViewMode[];
|
|
26
|
+
/**
|
|
27
|
+
* The modes offered, in `CHAT_VIEW_MODES` order whatever order they are
|
|
28
|
+
* given in: all of them when unsaid. A host that places only some of them
|
|
29
|
+
* — the workspace: its sidebar, or the assistant over it — leaves the rest out.
|
|
30
|
+
*/
|
|
31
|
+
modes?: readonly ChatViewMode[];
|
|
26
32
|
/** Where the tooltips open. Above by default; below for a control at the top of its window. */
|
|
27
33
|
tooltipDirection?: 'n' | 's';
|
|
28
34
|
};
|
|
29
|
-
export declare function ChatViewModeToggle({ value, onChange, disabledModes, tooltipDirection, }: ChatViewModeToggleProps): JSX.Element;
|
|
35
|
+
export declare function ChatViewModeToggle({ value, onChange, disabledModes, modes, tooltipDirection, }: ChatViewModeToggleProps): JSX.Element;
|
|
@@ -11,8 +11,11 @@ export const VIEW_MODE_ICONS = {
|
|
|
11
11
|
assistant: PaperclipIcon,
|
|
12
12
|
sidebar: SidebarExpandIcon,
|
|
13
13
|
};
|
|
14
|
-
export function ChatViewModeToggle({ value, onChange, disabledModes = [], tooltipDirection = 'n', }) {
|
|
15
|
-
|
|
14
|
+
export function ChatViewModeToggle({ value, onChange, disabledModes = [], modes, tooltipDirection = 'n', }) {
|
|
15
|
+
const offered = modes
|
|
16
|
+
? CHAT_VIEW_MODES.filter(option => modes.includes(option.mode))
|
|
17
|
+
: CHAT_VIEW_MODES;
|
|
18
|
+
return (_jsx(Box, { role: "group", "aria-label": "Display mode", "data-chat-view-mode-toggle": "", display: "inline-flex", alignItems: "center", bg: "neutral.muted", borderRadius: "6px", p: "2px", gap: "1px", children: offered.map(({ mode, label }) => {
|
|
16
19
|
const ModeIcon = VIEW_MODE_ICONS[mode];
|
|
17
20
|
const selected = value === mode;
|
|
18
21
|
/* Greyed rather than left out: the person sees the mode exists, and
|
|
@@ -15,6 +15,7 @@ import { AgenticCommercePlugin } from './agentic-commerce';
|
|
|
15
15
|
import { ProtocolsCorePlugin } from './core';
|
|
16
16
|
import { McpPlugin } from './mcp';
|
|
17
17
|
import { PactPlugin } from './pact';
|
|
18
|
+
import { PapPlugin } from './pap';
|
|
18
19
|
import { UcpPlugin } from './ucp';
|
|
19
20
|
import { WebBotAuthPlugin } from './web-bot-auth';
|
|
20
21
|
export const AGENT_PROTOCOLS_EXTENSION = 'agent-protocols';
|
|
@@ -22,7 +23,7 @@ export const AgentProtocolsExtension = defineExtension({
|
|
|
22
23
|
name: AGENT_PROTOCOLS_EXTENSION,
|
|
23
24
|
version: '1.0.0',
|
|
24
25
|
displayName: 'Agent protocols',
|
|
25
|
-
description: 'MCP, A2A, Web Bot Auth, UCP, the Agentic Commerce Protocol and
|
|
26
|
+
description: 'MCP, A2A, Web Bot Auth, UCP, the Agentic Commerce Protocol, PACT and PAP, each a plugin; their extensions its contribution points.',
|
|
26
27
|
plugins: [
|
|
27
28
|
ProtocolsCorePlugin,
|
|
28
29
|
McpPlugin,
|
|
@@ -31,6 +32,7 @@ export const AgentProtocolsExtension = defineExtension({
|
|
|
31
32
|
UcpPlugin,
|
|
32
33
|
AgenticCommercePlugin,
|
|
33
34
|
PactPlugin,
|
|
35
|
+
PapPlugin,
|
|
34
36
|
],
|
|
35
37
|
});
|
|
36
38
|
/**
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const PAP_PLUGIN = "agent-runtimes.protocols.pap";
|
|
2
|
+
/** The PAP draft the SDK implements (its `PROTOCOL_PROFILE`; Python reads it from the SDK). */
|
|
3
|
+
export declare const PAP_PROTOCOL_PROFILE = "0.1";
|
|
4
|
+
export declare const PapPlugin: import("@datalayer/reactor").ReactorPlugin<Record<string, never>, unknown, unknown>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* The Personal Agent Protocol as a Reactor Plugin of the `agent-protocols`
|
|
7
|
+
* Extension. PAP's own plugins and points (`pap.*`, `pap.company.*`) come
|
|
8
|
+
* with its SDK, registered on the PAP Reactor a personal agent or a company
|
|
9
|
+
* builds; this plugin says what a runtime implements of PAP on
|
|
10
|
+
* `protocols.description`. It declares no point here: the one the Python
|
|
11
|
+
* runtime adds, `pap.company.operationTickets`, is where a perform turn
|
|
12
|
+
* redeems its ticket, and a TypeScript runtime performs no company
|
|
13
|
+
* operation. The twin of `agent_runtimes.protocols.pap`.
|
|
14
|
+
*
|
|
15
|
+
* @module protocols/pap
|
|
16
|
+
*/
|
|
17
|
+
import { contribution, definePlugin } from '@datalayer/reactor';
|
|
18
|
+
import { DEFAULT_ORDER, ProtocolDescriptions } from '../core';
|
|
19
|
+
export const PAP_PLUGIN = 'agent-runtimes.protocols.pap';
|
|
20
|
+
/** The PAP draft the SDK implements (its `PROTOCOL_PROFILE`; Python reads it from the SDK). */
|
|
21
|
+
export const PAP_PROTOCOL_PROFILE = '0.1';
|
|
22
|
+
export const PapPlugin = definePlugin({
|
|
23
|
+
name: PAP_PLUGIN,
|
|
24
|
+
version: '1.0.0',
|
|
25
|
+
description: "Personal Agent Protocol: a person's agent at companies, and an application as a company, over the PAP SDK.",
|
|
26
|
+
contributionPoints: [],
|
|
27
|
+
contributes: [
|
|
28
|
+
contribution(ProtocolDescriptions, {
|
|
29
|
+
id: 'pap',
|
|
30
|
+
name: 'Personal Agent Protocol',
|
|
31
|
+
layer: 'consent',
|
|
32
|
+
version: PAP_PROTOCOL_PROFILE,
|
|
33
|
+
roles: ['personal-agent', 'company'],
|
|
34
|
+
status: 'implemented',
|
|
35
|
+
specification: 'https://personalagentprotocol.org/docs/spec',
|
|
36
|
+
plugin: PAP_PLUGIN,
|
|
37
|
+
catalogue: 'pap',
|
|
38
|
+
points: [],
|
|
39
|
+
}, { id: 'pap', order: DEFAULT_ORDER }),
|
|
40
|
+
],
|
|
41
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datalayer/agent-runtimes",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"workspaces": [
|
|
6
6
|
".",
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
"@datalayer/lexical-loro": "^1.0.6",
|
|
161
161
|
"@datalayer/primer-addons": "^1.0.39",
|
|
162
162
|
"@datalayer/primer-rjsf": "^1.0.3",
|
|
163
|
-
"@datalayer/personal-agent-protocol": "^0.
|
|
163
|
+
"@datalayer/personal-agent-protocol": "^0.15.0",
|
|
164
164
|
"@datalayer/reactor": "^1.3.0",
|
|
165
165
|
"@datalayer/reactor-commands": "^1.0.4",
|
|
166
166
|
"@datalayer/reactor-manager": "^1.0.4",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{v as $,b6 as g,ck as k,cl as q,j as y,b8 as V}from"../datalayer-app-main.js";var w={Avatar:"prc-Avatar-Avatar-ZRS-m"};const D=20,T=$.forwardRef(function(A,u){const s=g.c(29);let o,l,a,i,n,d,f;s[0]!==A?({alt:n,size:d,square:f,sx:i,className:o,style:a,...l}=A,s[0]=A,s[1]=o,s[2]=l,s[3]=a,s[4]=i,s[5]=n,s[6]=d,s[7]=f):(o=s[1],l=s[2],a=s[3],i=s[4],n=s[5],d=s[6],f=s[7]);const m=n===void 0?"":n,t=d===void 0?D:d,h=f===void 0?!1:f;let p;s[8]!==t?(p=k(t),s[8]=t,s[9]=p):p=s[9];const r=p;let e;if(s[10]!==r||s[11]!==t){if(e={},r)for(const[j,E]of Object.entries(t))e[`--avatarSize-${j}`]=`${E}px`;else e["--avatarSize-regular"]=`${t}px`;s[10]=r,s[11]=t,s[12]=e}else e=s[12];let c;s[13]!==o?(c=q(o,w.Avatar),s[13]=o,s[14]=c):c=s[14];const R=r?"":void 0,z=h?"":void 0,S=r?void 0:t,b=r?void 0:t;let v;s[15]!==e||s[16]!==a?(v=a?{...e,...a}:e,s[15]=e,s[16]=a,s[17]=v):v=s[17];let x;return s[18]!==m||s[19]!==u||s[20]!==l||s[21]!==i||s[22]!==v||s[23]!==c||s[24]!==R||s[25]!==z||s[26]!==S||s[27]!==b?(x=y.jsx(V,{as:"img","data-component":"Avatar",className:c,ref:u,alt:m,"data-responsive":R,"data-square":z,width:S,height:b,style:v,sx:i,...l}),s[18]=m,s[19]=u,s[20]=l,s[21]=i,s[22]=v,s[23]=c,s[24]=R,s[25]=z,s[26]=S,s[27]=b,s[28]=x):x=s[28],x});export{T as A,D};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a_ as N,a$ as U,b0 as C,x as I,b1 as L,r as u,b2 as T,b3 as v,b4 as j}from"../datalayer-app-main.js";function x(l){const n=l?.app_spec;if(!n||typeof n!="object")return;const e=l?.app_instance??{},t=typeof e.app_uid=="string"&&e.app_uid?e.app_uid:void 0,r=typeof e.deployment_uid=="string"&&e.deployment_uid?e.deployment_uid:void 0;return{appSpec:n,...t?{appUid:t}:{},...r?{deploymentUid:r}:{}}}const B="jupyter-tutor";function h(){const n=N().getConfig(U),e=n?.datalayerAgentSpecId??B,t=n?.datalayerCreatePayload,r=n?.datalayerVisitors,E=n?.datalayerKept,i=r?.url??E?.url,a=C(),s=I(a?.target??L)==="datalayer",p=t?.app_spec?.id,[c,d]=u.useState({});u.useEffect(()=>{if(d({}),!r||!s)return;if(typeof p!="string"||!p){d({error:"A conversation without an account runs an application: none was given."});return}let y=!0;return T(r,p).then(()=>{y&&d({ready:!0})}).catch(_=>{y&&d({error:_ instanceof Error?_.message:String(_)})}),()=>{y=!1}},[r?.url,r?.app,r?.inferenceUrl,p,s]);const A=typeof t?.name=="string"?t.name:e,g=t?.transport==="ag-ui"||t?.transport==="vercel-ai"?t.transport:void 0,b=u.useMemo(()=>({name:A,...g?{protocol:g}:{},agentSpecId:e,model:v[e]?.model,description:v[e]?.description,...t?{createPayload:t}:{}}),[e,A,g,t]),S=u.useMemo(()=>x(t),[t]),{runtime:o,status:m,error:f}=j({agentSpecId:e,agentConfig:b,...S?{appLaunch:S}:{},variant:"cloud-pydanticai",autoStart:s&&!i,autoCreateAgent:s&&!i});return u.useEffect(()=>{if(!(!a||!s)){if(r){if(c.error){a.setState("error",c.error);return}if(!c.ready){a.setState("starting");return}}if(i){a.report({variant:"datalayer",sandbox_running:!1,agent_base_url:i});return}if(f){a.setState("error",f);return}if(!o?.jupyterBaseUrl){a.setState(m==="error"?"error":"starting");return}a.report({variant:"datalayer",sandbox_running:!!o.serviceManager,jupyter_url:o.jupyterBaseUrl,jupyter_token:o.serviceManager?.serverSettings?.token,kernel_id:o.kernelId,agent_base_url:o.agentBaseUrl})}},[a,s,o,m,f,i,r,c]),null}export{h as DatalayerAgentBridge,h as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{K as o,r as t}from"../datalayer-app-main.js";import{h as e,i}from"./JupyterLexicalExtension-BuRLImy5.js";import"./NotebookSkeleton-HdM76lOj.js";import"./Avatar-DbU3YP4x.js";import"./url-DuKx0yk0.js";import"./isSymbol-BLtK9CV6.js";import"./toNumber-B1wj8-wx.js";import"./VideoIcon-BjP_LDa4.js";import"./LinkIcon-DUI0jw25.js";import"./Toolbar-6Hdi_m3T.js";import"./KebabHorizontalIcon-CXDXtkuL.js";import"./ArrowUpIcon-BUCpIXDR.js";import"./SortDescIcon-CS4EzHeS.js";import"./PaintbrushIcon-CLU8RilX.js";import"./PrismCss-CcU1ChRk.js";import"./Output-BscOPLqE.js";import"./index-BvvaLLhn.js";import"./hoverbox-CStlKQWE.js";import"./index-BYQwy0Zx.js";import"./index-BJ7Yskx5.js";import"./color-CG7_7V2-.js";import"./isEqual-BybBNsZK.js";import"./defaultLocale-5voVPcsN.js";import"./index-DbMBnR4l.js";import"./index-B3WvcNQa.js";import"./RestartIcon-Ca6_HoK0.js";import"./LexicalToolRegistry-CXLITkMD.js";const K=()=>{const[r]=o();return t.useEffect(()=>i(r),[r]),null};export{e as INSERT_YOUTUBE_COMMAND,K as YouTubePlugin,K as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{sY as h,dO as i,dP as u,dU as l,aY as E,dT as d,dV as p}from"../datalayer-app-main.js";import{sZ as V,s_ as b,dR as z,dS as L,s$ as F,t0 as G,t1 as P,t2 as k,t3 as $,t4 as q,t5 as x,t6 as H,t7 as J,t8 as j,t9 as B,ta as X,tb as Z,tc as Q,td as ee,te,tf as se,tg as re,th as oe,ti as ae,tj as ne,tk as ie,tl as ue,tm as ce,tn as Se,dW as le,dX as de,dY as ge,to as me,tp as Ee,tq as _e,tr as Te}from"../datalayer-app-main.js";const A=()=>location.hostname.startsWith("dev")||location.hostname.startsWith("localhost"),_=()=>h(),T=e=>({id:e.uid,name:e.name_s,userId:e.user_id,form:e.form,createdAt:new Date(e.creation_ts_dt),updatedAt:new Date(e.last_update_ts_dt)}),v=i((e,a)=>({organizations:[],updateOrganizations:s=>e(r=>({organizations:s})),updateOrganization:s=>e(r=>({organizations:r.organizations.map(t=>t.id===s.id?{...t,...s}:t)}))}));function N(e){return u(v,e)}const g=i((e,a)=>({surveys:void 0,growthUrl:d.getState().configuration?.growthUrl,setSurveys:s=>{const r=new Map;s.forEach(t=>r.set(t.name,t)),e(t=>({surveys:r}))},refreshSurveys:async()=>{const{token:s}=l.getState(),{growthUrl:r}=a();try{const t=await E({url:`${r}/api/growth/v1/surveys`,method:"GET",token:s});if(t.success&&t.surveys){const c=t.surveys.map(n=>T(n)),o=new Map;c.forEach(n=>o.set(n.name,n)),e(n=>({surveys:o}))}else console.error("Failed to get the surveys.",t)}catch(t){throw console.error("Failed to get the surveys.",t),t.name==="RunResponseError"&&t.response.status===401&&console.error("Received 401, logging out."),t}},createSurvey:async(s,r)=>{const{growthUrl:t}=a(),{token:c}=l.getState();try{const o=await E({url:`${t}/api/growth/v1/surveys`,method:"POST",body:{name:s,form:r},token:c});if(o.success&&o.survey){const n=T(o.survey),S=a().surveys;S?(S.set(n.name,n),e(f=>({surveys:S}))):e(f=>({surveys:new Map([[n.name,n]])}))}else console.error("Failed to create the survey.",o)}catch(o){throw console.error("Failed to create the survey.",o),o.name==="RunResponseError"&&o.response.status===401&&console.error("Received 401, logging out."),o}}}));d.subscribe((e,a)=>{if(e.configuration.successUrl&&e.configuration.successUrl!==a.configuration.successUrl){const s=e.configuration.growthUrl;console.log(`Updating growthUrl with new value ${s}`),g.setState({growthUrl:s})}});function W(e){return u(g,e)}const m=e=>({id:_(),type:"team",handle:e,name:e,description:e+" description.",public:!1,members:[],creationDate:new Date,organization:{id:_()},setMembers:s=>{}}),R=m("Team 1"),O=m("Team 2"),I=m("Team 3"),w=[R,O,I],y=i((e,a)=>({teams:w,update:s=>e(r=>({teams:s})),updateTeam:s=>e(r=>({teams:r.teams.map(t=>t.id===s.id?{...t,...s}:t)}))}));function C(e){return u(y,e)}const M=i((e,a)=>({version:"",setVersion:s=>{s&&!a().version&&e(r=>({version:s}))},isDev:A(),core:d.getState,iam:l.getState,layout:p.getState,organization:v.getState,success:g.getState,team:y.getState}));function D(e){return u(M,e)}export{V as AGENTS_VIEW,b as CONTENTS_VIEW,z as DATALAYER_IAM_TOKEN_KEY,L as DATALAYER_IAM_USER_KEY,F as DATALAYER_VIEW,G as JWT_DATALAYER_ISSUER,P as JWT_REFRESH_TOKEN_COOKIE_NAME,k as LIBRARY_VIEW,$ as NAVIGATION_VIEW_HOMES,q as RESERVATION_WARNING_TIME_MS,x as SESSION_COOKIES,H as SESSION_LOCAL_STORAGE_KEYS,J as SESSION_OWNER_KEY,j as SETTINGS_VIEW,B as TUTOR_VIEW,X as claimSessionState,d as coreStore,Z as forgetSessionState,Q as getOtelConsumeUrl,ee as getStoredToken,te as getStoredUser,l as iamStore,se as isRememberableRoute,re as isShellNeutralRoute,p as layoutStore,oe as loadRefreshTokenFromCookie,ae as navigationStore,v as organizationStore,ne as pageConfiguration,ie as profileStore,ue as registerSessionState,M as runStore,ce as storeToken,Se as storeUser,g as surveysStore,y as teamStore,le as useCoreStore,de as useIAMStore,ge as useLayoutStore,me as useNavigationStore,N as useOrganizationStore,Ee as useProfile,_e as useProfileStore,D as useRunStore,W as useSurveysStore,C as useTeamStore,Te as viewForRoute};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as r,u as n,bq as s,bn as a,br as i,bp as l,U as b}from"../datalayer-app-main.js";import{N as p}from"./NotebookToolbar-DMKCe3c2.js";import"./RepoPushIcon-Cm8g9NuL.js";import"./Toolbar-6Hdi_m3T.js";import"./KebabHorizontalIcon-CXDXtkuL.js";const e=p.cellType+100;function c({notebookId:o}){const t=n().selectNotebookAdapter(o)?.kernel??null;return r.jsx(s,{kernel:t,bordered:!1})}function k(o){return[{key:"loop-kernel-indicator-spacer",type:"spacer",order:e-1},{key:"loop-kernel-indicator",type:"custom",order:e,group:"kernel",render:()=>r.jsx(c,{notebookId:o})}]}const E=a({name:i,contributes:[l(b,{items:({editorId:o})=>k(o)},{id:"toolbar",order:100})]});export{E as NotebookToolbarPlugin,E as default};
|