@datalayer/agent-runtimes 1.5.18 → 1.5.19
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-CMBy5o1q.js → AgentDetails-jDVTZOUO.js} +1 -1
- package/dist-embed/chunks/{AgentDetailsDialog-D2vH2Nrd.js → AgentDetailsDialog-BLC4yhCo.js} +1 -1
- package/dist-embed/chunks/{AgentInspector-Bd0oHNAX.js → AgentInspector-DBI8tAJ0.js} +1 -1
- package/dist-embed/chunks/{AgentInspectorDialog-BJUgBPAE.js → AgentInspectorDialog-xW2BjxJT.js} +1 -1
- package/dist-embed/chunks/{CellSidebarExtension-CYOVwk1t.js → CellSidebarExtension-D4_DkfUV.js} +1 -1
- package/dist-embed/chunks/ChatView-CpY0werd.js +32 -0
- package/dist-embed/chunks/{ContextPie-B9mAKJc2.js → ContextPie-Cebjx8jR.js} +1 -1
- package/dist-embed/chunks/{DeckComponent-CbmzVWcF.js → DeckComponent-B0pIJhTp.js} +2 -2
- package/dist-embed/chunks/{DocumentView-BqsGfNys.js → DocumentView-CS_ILd4O.js} +1 -1
- package/dist-embed/chunks/{EphemeralDocument-DLaNvwm_.js → EphemeralDocument-CwauqhmY.js} +1 -1
- package/dist-embed/chunks/{EphemeralNotebook-jnqAJFPI.js → EphemeralNotebook-BgC-YEtX.js} +1 -1
- package/dist-embed/chunks/{ExcalidrawComponent-Cb8yeXqu.js → ExcalidrawComponent-jOeuq53P.js} +1 -1
- package/dist-embed/chunks/{ExcalidrawModal-DaPSGYek.js → ExcalidrawModal-RsJGL2o8.js} +1 -1
- package/dist-embed/chunks/{JupyterLexicalExtension-BQINjIFV.js → JupyterLexicalExtension-BgcLmrzO.js} +9 -9
- package/dist-embed/chunks/{KernelVariables-CGQkS5EX.js → KernelVariables-cBMhcW1H.js} +1 -1
- package/dist-embed/chunks/{LexicalToolRegistry-BJ6mpMWn.js → LexicalToolRegistry-0QBhZnFO.js} +1 -1
- package/dist-embed/chunks/{NotebookToolSurfaces-DiPifvaW.js → NotebookToolSurfaces-D1GnK3rj.js} +1 -1
- package/dist-embed/chunks/{NotebookView-IX0wNuX8.js → NotebookView-CC5s4q0A.js} +1 -1
- package/dist-embed/chunks/{Output-B9XAhyoF.js → Output-B4b0TC6x.js} +1 -1
- package/dist-embed/chunks/{SandboxDetailsDialog-COCpmo8m.js → SandboxDetailsDialog-DhH0cSRN.js} +1 -1
- package/dist-embed/chunks/{SchemaForm-WIwdKnrk.js → SchemaForm-CPiM13ub.js} +1 -1
- package/dist-embed/chunks/{WidgetVariableView-BoGROi-A.js → WidgetVariableView-CUqRH-Wi.js} +1 -1
- package/dist-embed/chunks/{YouTubePlugin-BEQBWMwx.js → YouTubePlugin-CGKNamMP.js} +1 -1
- package/dist-embed/chunks/{abnfDiagram-VCTEODGH-D3_T0Lze.js → abnfDiagram-VCTEODGH-DRoYJDMb.js} +1 -1
- package/dist-embed/chunks/{abnfDiagram-VCTEODGH-CG18Hf18.js → abnfDiagram-VCTEODGH-DqGkvvLU.js} +1 -1
- package/dist-embed/chunks/{ar-SA-G6X2FPQ2-BDWXsTdt.js → ar-SA-G6X2FPQ2-BdYlCgqh.js} +1 -1
- package/dist-embed/chunks/{architectureDiagram-5GKGNRK7-B1QPAYO8.js → architectureDiagram-5GKGNRK7-B4WL7dDA.js} +1 -1
- package/dist-embed/chunks/{architectureDiagram-5GKGNRK7-B5kSsKje.js → architectureDiagram-5GKGNRK7-BfuR2k3K.js} +1 -1
- package/dist-embed/chunks/{az-AZ-76LH7QW2-BGchGiT7.js → az-AZ-76LH7QW2-BAJSVApS.js} +1 -1
- package/dist-embed/chunks/{bg-BG-XCXSNQG7-vCII6Zuq.js → bg-BG-XCXSNQG7-CutR4A8o.js} +1 -1
- package/dist-embed/chunks/{blockDiagram-868be97b-BvM0ptp7.js → blockDiagram-868be97b-gX0yvAGO.js} +1 -1
- package/dist-embed/chunks/{blockDiagram-I7D4REHJ-ClwWG8yx.js → blockDiagram-I7D4REHJ-BzMuNIFV.js} +1 -1
- package/dist-embed/chunks/{blockDiagram-I7D4REHJ-B8BmxOM4.js → blockDiagram-I7D4REHJ-CI05Fmnw.js} +1 -1
- package/dist-embed/chunks/{bn-BD-2XOGV67Q-Beu9yUTu.js → bn-BD-2XOGV67Q-CjPnVerm.js} +1 -1
- package/dist-embed/chunks/{c4Diagram-3f4bdde3-S92W2yOx.js → c4Diagram-3f4bdde3-CWKvySqQ.js} +1 -1
- package/dist-embed/chunks/{c4Diagram-7LVT6UL2-CNWW_-u7.js → c4Diagram-7LVT6UL2-BVZdygZu.js} +1 -1
- package/dist-embed/chunks/{c4Diagram-7LVT6UL2-nSCKKLuX.js → c4Diagram-7LVT6UL2-BfaHhF7Y.js} +1 -1
- package/dist-embed/chunks/{ca-ES-6MX7JW3Y-CnEo6YQi.js → ca-ES-6MX7JW3Y-D0HWiwHb.js} +1 -1
- package/dist-embed/chunks/{celltoolbartracker-CO6V5FhH.js → celltoolbartracker-DB7Qnu48.js} +1 -1
- package/dist-embed/chunks/{chunk-2Q5K7J3B--r8j4N5L.js → chunk-2Q5K7J3B-Ck5gIh4V.js} +1 -1
- package/dist-embed/chunks/{chunk-2Q5K7J3B-D3fTIaw3.js → chunk-2Q5K7J3B-DEZpvDtA.js} +1 -1
- package/dist-embed/chunks/{chunk-5VM5RSS4-D76mXyWz.js → chunk-5VM5RSS4-BFWTcAj1.js} +1 -1
- package/dist-embed/chunks/{chunk-5VM5RSS4-QmrgOATO.js → chunk-5VM5RSS4-DVfmoMLA.js} +1 -1
- package/dist-embed/chunks/{chunk-F27PBJKO-DvNrStTM.js → chunk-F27PBJKO-BjmQwwGl.js} +1 -1
- package/dist-embed/chunks/{chunk-F27PBJKO-DdSgBnK0.js → chunk-F27PBJKO-wR8Z4fpP.js} +1 -1
- package/dist-embed/chunks/{chunk-IMKFNOWR-DpxND1Ct.js → chunk-IMKFNOWR-DnYdav9f.js} +1 -1
- package/dist-embed/chunks/{chunk-IMKFNOWR-DwqmSZhU.js → chunk-IMKFNOWR-Dzk9sHxf.js} +1 -1
- package/dist-embed/chunks/{chunk-JWPE2WC7-i7V3vMtZ.js → chunk-JWPE2WC7-Ble97p_W.js} +1 -1
- package/dist-embed/chunks/{chunk-JWPE2WC7-jla8jvq5.js → chunk-JWPE2WC7-DyqhVk-0.js} +1 -1
- package/dist-embed/chunks/{chunk-POPQ4Y6H-BGCugXU7.js → chunk-POPQ4Y6H-CQpYIqjb.js} +1 -1
- package/dist-embed/chunks/{chunk-POPQ4Y6H-ofrenTaa.js → chunk-POPQ4Y6H-CtT0-VOM.js} +1 -1
- package/dist-embed/chunks/{chunk-SVP7TREG-BIxxVjkU.js → chunk-SVP7TREG-BTtpQsSJ.js} +1 -1
- package/dist-embed/chunks/{chunk-SVP7TREG-2Q2uQyQk.js → chunk-SVP7TREG-CwdiQONE.js} +1 -1
- package/dist-embed/chunks/{chunk-TICWLB2K-BqA5q52L.js → chunk-TICWLB2K-BfGhImQo.js} +1 -1
- package/dist-embed/chunks/{chunk-TICWLB2K-LNiCmYq5.js → chunk-TICWLB2K-D3UY4Hgl.js} +1 -1
- package/dist-embed/chunks/{chunk-XXDRQBXY-CqtfA3WC.js → chunk-XXDRQBXY-BaxFY2Jg.js} +1 -1
- package/dist-embed/chunks/{chunk-XXDRQBXY-CNMg_gvd.js → chunk-XXDRQBXY-a1EY5SM8.js} +1 -1
- package/dist-embed/chunks/{classDiagram-ZZMXUADV-D6z_X195.js → classDiagram-ZZMXUADV-C0eJXn7r.js} +1 -1
- package/dist-embed/chunks/{classDiagram-ZZMXUADV-Co0jT9i-.js → classDiagram-ZZMXUADV-Cop7Dp41.js} +1 -1
- package/dist-embed/chunks/{classDiagram-f62afe4f-lN62p17q.js → classDiagram-f62afe4f-BGkVvslN.js} +1 -1
- package/dist-embed/chunks/{classDiagram-v2-604399ef-B_QJ6H8h.js → classDiagram-v2-604399ef-CPwahFkc.js} +1 -1
- package/dist-embed/chunks/{classDiagram-v2-VYDZK3BY-D6z_X195.js → classDiagram-v2-VYDZK3BY-C0eJXn7r.js} +1 -1
- package/dist-embed/chunks/{classDiagram-v2-VYDZK3BY-Co0jT9i-.js → classDiagram-v2-VYDZK3BY-Cop7Dp41.js} +1 -1
- package/dist-embed/chunks/{code-block-IT6T5CEO-BA38Km-f.js → code-block-IT6T5CEO-DEZxRmcq.js} +1 -1
- package/dist-embed/chunks/{component-Chor_J7e.js → component-B8gGyr50.js} +1 -1
- package/dist-embed/chunks/{cose-bilkent-JH36ORCC-B5H1cwBa.js → cose-bilkent-JH36ORCC-CQ3UHpys.js} +1 -1
- package/dist-embed/chunks/{cose-bilkent-JH36ORCC-C3cTgEcU.js → cose-bilkent-JH36ORCC-whW3Ickm.js} +1 -1
- package/dist-embed/chunks/{createText-aed3d8b3-BtgHeyNs.js → createText-aed3d8b3-BdWXGDj2.js} +1 -1
- package/dist-embed/chunks/{cs-CZ-2BRQDIVT-ClBKH9_y.js → cs-CZ-2BRQDIVT-DHo-9UK-.js} +1 -1
- package/dist-embed/chunks/{cynefinDiagram-5FMLGOSQ-sdsAonZm.js → cynefinDiagram-5FMLGOSQ-C1dAzTZy.js} +1 -1
- package/dist-embed/chunks/{cynefinDiagram-5FMLGOSQ-DPQLh9z7.js → cynefinDiagram-5FMLGOSQ-DKngj3tn.js} +1 -1
- package/dist-embed/chunks/{da-DK-5WZEPLOC-BqFDUAty.js → da-DK-5WZEPLOC-BLw7PbxL.js} +1 -1
- package/dist-embed/chunks/{dagre-GXQ25YYZ-DHF-9-7e.js → dagre-GXQ25YYZ-Bom0Ow10.js} +1 -1
- package/dist-embed/chunks/{dagre-GXQ25YYZ-Bwf_WjLM.js → dagre-GXQ25YYZ-BuHKUFJc.js} +1 -1
- package/dist-embed/chunks/{de-DE-XR44H4JA-6dsEQn7Z.js → de-DE-XR44H4JA-DqCVLDRk.js} +1 -1
- package/dist-embed/chunks/{diagram-S7CK7UJ4-DEqGRBMT.js → diagram-S7CK7UJ4-4zEkI5rV.js} +1 -1
- package/dist-embed/chunks/{diagram-S7CK7UJ4-C-N7Ei3I.js → diagram-S7CK7UJ4-H6Kef58R.js} +1 -1
- package/dist-embed/chunks/{diagram-UQ7AKVKN-DACyxI-v.js → diagram-UQ7AKVKN-DVAC1okH.js} +1 -1
- package/dist-embed/chunks/{diagram-UQ7AKVKN-CvSBE0YU.js → diagram-UQ7AKVKN-DeXqnBhe.js} +1 -1
- package/dist-embed/chunks/{diagram-VSXAHHWV-DFze2xro.js → diagram-VSXAHHWV-BYu3Niho.js} +1 -1
- package/dist-embed/chunks/{diagram-VSXAHHWV-DOb69VtE.js → diagram-VSXAHHWV-DJvcLGGT.js} +1 -1
- package/dist-embed/chunks/{diagram-VX7I27RA-CVTSdYyZ.js → diagram-VX7I27RA-BeOTI_JX.js} +1 -1
- package/dist-embed/chunks/{diagram-VX7I27RA-8EKYM_Sx.js → diagram-VX7I27RA-Cd39Txmj.js} +1 -1
- package/dist-embed/chunks/{diagram-Z3DM3KII-B-689FF6.js → diagram-Z3DM3KII-Ccg8IzPs.js} +1 -1
- package/dist-embed/chunks/{diagram-Z3DM3KII-DyiBmBFy.js → diagram-Z3DM3KII-DV4M-vr2.js} +1 -1
- package/dist-embed/chunks/{ebnfDiagram-PWID7BFC-DcKvqn_h.js → ebnfDiagram-PWID7BFC-Ci7iqdKR.js} +1 -1
- package/dist-embed/chunks/{ebnfDiagram-PWID7BFC-gj8dgCWR.js → ebnfDiagram-PWID7BFC-JrHbupeR.js} +1 -1
- package/dist-embed/chunks/{edges-b2856ca0-BqGGNnb4.js → edges-b2856ca0-D0Ve_cWg.js} +1 -1
- package/dist-embed/chunks/{el-GR-BZB4AONW-DOMW2ttY.js → el-GR-BZB4AONW-DWIe_es3.js} +1 -1
- package/dist-embed/chunks/{erDiagram-5d81789a-Bf1Ik49K.js → erDiagram-5d81789a-_wYWwZkR.js} +1 -1
- package/dist-embed/chunks/{erDiagram-RLTQ6QDP-B0PyZB_3.js → erDiagram-RLTQ6QDP-CgP-DSWO.js} +1 -1
- package/dist-embed/chunks/{erDiagram-RLTQ6QDP-GSu-_IUJ.js → erDiagram-RLTQ6QDP-D2UUMLBd.js} +1 -1
- package/dist-embed/chunks/{es-ES-U4NZUMDT-DeyWqjw1.js → es-ES-U4NZUMDT-C4nVLuzt.js} +1 -1
- package/dist-embed/chunks/{eu-ES-A7QVB2H4-CUGbZ0Pv.js → eu-ES-A7QVB2H4-DNtU9lgI.js} +1 -1
- package/dist-embed/chunks/{fa-IR-HGAKTJCU-Br8UEVO1.js → fa-IR-HGAKTJCU-C9d2dVkk.js} +1 -1
- package/dist-embed/chunks/{fi-FI-Z5N7JZ37-BSHjwo8G.js → fi-FI-Z5N7JZ37-BtMDQ3ec.js} +1 -1
- package/dist-embed/chunks/{flowDb-185abca5-U9PwWSO4.js → flowDb-185abca5-w4ZLOMwa.js} +1 -1
- package/dist-embed/chunks/{flowDiagram-1629c991-BecgzQgp.js → flowDiagram-1629c991-CrRVLCnt.js} +1 -1
- package/dist-embed/chunks/{flowDiagram-HODETNUW-2vih3kWM.js → flowDiagram-HODETNUW-BJpTxK5i.js} +1 -1
- package/dist-embed/chunks/{flowDiagram-HODETNUW-tcAkcGh4.js → flowDiagram-HODETNUW-DtWilAWc.js} +1 -1
- package/dist-embed/chunks/{flowDiagram-v2-1d953310-Bdmc9G3m.js → flowDiagram-v2-1d953310-tzv2aPj8.js} +1 -1
- package/dist-embed/chunks/{flowchart-elk-definition-6df44142-oWOWsVNc.js → flowchart-elk-definition-6df44142-C8Gjf4Dy.js} +1 -1
- package/dist-embed/chunks/{fr-FR-RHASNOE6-BukqZYPz.js → fr-FR-RHASNOE6-D1fqP_vI.js} +1 -1
- package/dist-embed/chunks/{ganttDiagram-3b0b3873-B7lmD9r9.js → ganttDiagram-3b0b3873-WkbnZ3Zy.js} +1 -1
- package/dist-embed/chunks/{ganttDiagram-EL5Y4UJY-D0E7se_Z.js → ganttDiagram-EL5Y4UJY-B1hq5rq9.js} +1 -1
- package/dist-embed/chunks/{ganttDiagram-EL5Y4UJY-DDbqMevq.js → ganttDiagram-EL5Y4UJY-DiSce27A.js} +1 -1
- package/dist-embed/chunks/{gitGraphDiagram-WWUBYQGX-DK3EJl5z.js → gitGraphDiagram-WWUBYQGX-BoqOxrkd.js} +1 -1
- package/dist-embed/chunks/{gitGraphDiagram-WWUBYQGX-DnVwXJWu.js → gitGraphDiagram-WWUBYQGX-Dfl4EOB8.js} +1 -1
- package/dist-embed/chunks/{gitGraphDiagram-f01e8bc2-B9vpLy6R.js → gitGraphDiagram-f01e8bc2-DxsYooak.js} +1 -1
- package/dist-embed/chunks/{gl-ES-HMX3MZ6V-BxVOJiaI.js → gl-ES-HMX3MZ6V-BkLcCFrx.js} +1 -1
- package/dist-embed/chunks/{he-IL-6SHJWFNN-Dv2VRxlJ.js → he-IL-6SHJWFNN-By48peS7.js} +1 -1
- package/dist-embed/chunks/{hi-IN-IWLTKZ5I-CFo5RUMz.js → hi-IN-IWLTKZ5I-386dm1ZK.js} +1 -1
- package/dist-embed/chunks/{hu-HU-A5ZG7DT2-ul3dS3un.js → hu-HU-A5ZG7DT2-B2wmIkDO.js} +1 -1
- package/dist-embed/chunks/{id-ID-SAP4L64H-ItVb-zwI.js → id-ID-SAP4L64H-Bc22Fq5f.js} +1 -1
- package/dist-embed/chunks/{index-9bae90f3-D9849sgo.js → index-9bae90f3-0dEQW6X4.js} +1 -1
- package/dist-embed/chunks/{index-oGqh9y23.js → index-B2eXWNhX.js} +1 -1
- package/dist-embed/chunks/{index-DSvebR7d.js → index-B5UP_2-0.js} +1 -1
- package/dist-embed/chunks/{index-YlGTgJvL.js → index-BEuw5cVO.js} +1 -1
- package/dist-embed/chunks/{index-CsgaCZaW.js → index-BMlDZi3F.js} +1 -1
- package/dist-embed/chunks/{index-BNFRRs9d.js → index-BW1nTf3r.js} +1 -1
- package/dist-embed/chunks/{index-xiH3WzLm.js → index-Ba1_ej_S.js} +1 -1
- package/dist-embed/chunks/{index-CjM49jS0.js → index-Bf3G_UXi.js} +1 -1
- package/dist-embed/chunks/{index-BOYhJnrD.js → index-BlBHM8M3.js} +1 -1
- package/dist-embed/chunks/{index-B5zrJYwn.js → index-Bw3Ijhff.js} +1 -1
- package/dist-embed/chunks/{index-BT4vYFeY.js → index-C5TEB73S.js} +1 -1
- package/dist-embed/chunks/{index-BkKEXqQS.js → index-CD5d-0QJ.js} +1 -1
- package/dist-embed/chunks/{index-D2LvuQlP.js → index-CTSvc7kN.js} +1 -1
- package/dist-embed/chunks/{index-B-L6ocEV.js → index-CaBZ6zn5.js} +1 -1
- package/dist-embed/chunks/{index-DSF21-29.js → index-Ce0tqSYG.js} +1 -1
- package/dist-embed/chunks/{index-BfUXEHI0.js → index-CeDsYtrC.js} +1 -1
- package/dist-embed/chunks/{index-Cp2aJ2ZR.js → index-Ckzgd1GV.js} +1 -1
- package/dist-embed/chunks/{index-jh9S19of.js → index-Crj6AD3D.js} +1 -1
- package/dist-embed/chunks/{index-bm8APcDZ.js → index-Cs7fNnHI.js} +4 -4
- package/dist-embed/chunks/{index-DoBEQ07P.js → index-D2V9YBSL.js} +2 -2
- package/dist-embed/chunks/{index-B764si9c.js → index-D4xDU_cs.js} +1 -1
- package/dist-embed/chunks/{index-O2jaI8TY.js → index-DB3vaYGl.js} +1 -1
- package/dist-embed/chunks/{index-B0wMyD8Y.js → index-DGpvT0SW.js} +1 -1
- package/dist-embed/chunks/{index-CRpZyQIR.js → index-DIGoR1Tz.js} +4 -4
- package/dist-embed/chunks/{index-CZdWsyNw.js → index-DTF28A2w.js} +1 -1
- package/dist-embed/chunks/{index-7FNjj0f2.js → index-DdBEMKdr.js} +1 -1
- package/dist-embed/chunks/{index-BrD9dtoV.js → index-DiBjbJad.js} +1 -1
- package/dist-embed/chunks/{index-BM6oRiO1.js → index-DkAo6nTX.js} +1 -1
- package/dist-embed/chunks/{index-TEcp7-f6.js → index-DmlogZBL.js} +2 -2
- package/dist-embed/chunks/{index-Cql9gOsL.js → index-DmzlqRz3.js} +1 -1
- package/dist-embed/chunks/{index-CsxlyZef.js → index-DodMg2uF.js} +1 -1
- package/dist-embed/chunks/{index-BiTIdbkn.js → index-DwKNt0FO.js} +1 -1
- package/dist-embed/chunks/{index-BqMoyzEk.js → index-I5uUezOA.js} +1 -1
- package/dist-embed/chunks/{index-DQQXY-7d.js → index-TzvZ9g2T.js} +2 -2
- package/dist-embed/chunks/{index-QZ3sHHT3.js → index-wWGi6oM9.js} +10 -10
- package/dist-embed/chunks/{index.esm-CkSite-X.js → index.esm-DFA6Rod9.js} +1 -1
- package/dist-embed/chunks/{index.esm-B7KoTOBb.js → index.esm-De-JJWit.js} +1 -1
- package/dist-embed/chunks/{infoDiagram-27XIBGKW-DDO50Ria.js → infoDiagram-27XIBGKW-B6fdV0Xc.js} +1 -1
- package/dist-embed/chunks/{infoDiagram-27XIBGKW-O3q53Qe2.js → infoDiagram-27XIBGKW-C6J796kn.js} +1 -1
- package/dist-embed/chunks/{infoDiagram-a29d40f1-jOvOHUyu.js → infoDiagram-a29d40f1-BjFaAu0-.js} +1 -1
- package/dist-embed/chunks/isEqual-BxgGIFfN.js +1 -0
- package/dist-embed/chunks/{ishikawaDiagram-5VMMS53U-DuiWhpVW.js → ishikawaDiagram-5VMMS53U-CZVbbiJE.js} +1 -1
- package/dist-embed/chunks/{ishikawaDiagram-5VMMS53U-IzmbYzxv.js → ishikawaDiagram-5VMMS53U-sjolONOj.js} +1 -1
- package/dist-embed/chunks/{it-IT-JPQ66NNP-BuCUBzia.js → it-IT-JPQ66NNP-Cyadykvb.js} +1 -1
- package/dist-embed/chunks/{ja-JP-DBVTYXUO-BhtQz4sy.js → ja-JP-DBVTYXUO-DYq7TJf3.js} +1 -1
- package/dist-embed/chunks/{journeyDiagram-3NMN7TZE-sO-Cfp65.js → journeyDiagram-3NMN7TZE-BJ-6GyhB.js} +1 -1
- package/dist-embed/chunks/{journeyDiagram-3NMN7TZE-DGLcsVfC.js → journeyDiagram-3NMN7TZE-CNoB-K6t.js} +1 -1
- package/dist-embed/chunks/{journeyDiagram-95396277-CA4bGq0G.js → journeyDiagram-95396277-E32TRIvj.js} +1 -1
- package/dist-embed/chunks/{kaa-6HZHGXH3-B_TI8Aa0.js → kaa-6HZHGXH3-qdjcAwd_.js} +1 -1
- package/dist-embed/chunks/{kab-KAB-ZGHBKWFO-BsSg_l-j.js → kab-KAB-ZGHBKWFO-DHVNVHkT.js} +1 -1
- package/dist-embed/chunks/{kanban-definition-UXKFOSKX-CDtLkjnU.js → kanban-definition-UXKFOSKX-2elwU70n.js} +1 -1
- package/dist-embed/chunks/{kanban-definition-UXKFOSKX-0wjvwDqk.js → kanban-definition-UXKFOSKX-ZErtzIYn.js} +1 -1
- package/dist-embed/chunks/{kk-KZ-P5N5QNE5-B7XK5OQq.js → kk-KZ-P5N5QNE5-DtQCYXHl.js} +1 -1
- package/dist-embed/chunks/{km-KH-HSX4SM5Z-Cm2LA9F8.js → km-KH-HSX4SM5Z-B_GLLzdn.js} +1 -1
- package/dist-embed/chunks/{ko-KR-MTYHY66A-CL5s99y5.js → ko-KR-MTYHY66A-B8OMm-h5.js} +1 -1
- package/dist-embed/chunks/{ku-TR-6OUDTVRD-CiijvKHq.js → ku-TR-6OUDTVRD-_gB3JeJW.js} +1 -1
- package/dist-embed/chunks/{layout-CzrlbzeK.js → layout-DV2JdCx0.js} +1 -1
- package/dist-embed/chunks/{layout-BBbB54WC.js → layout-Di1pO_ld.js} +1 -1
- package/dist-embed/chunks/{lexicalHooks-DQxNZEiJ.js → lexicalHooks-DuWTjfdx.js} +1 -1
- package/dist-embed/chunks/{lt-LT-XHIRWOB4-CcA_Z5jR.js → lt-LT-XHIRWOB4-judKfepg.js} +1 -1
- package/dist-embed/chunks/{lv-LV-5QDEKY6T-CAQS9wGm.js → lv-LV-5QDEKY6T-C-9ZhYTf.js} +1 -1
- package/dist-embed/chunks/{mermaid.core-DfgoT1cz.js → mermaid.core-CH9h-G6m.js} +3 -3
- package/dist-embed/chunks/{mermaid.core-s-D09gpV.js → mermaid.core-DmeLLEp4.js} +5 -5
- package/dist-embed/chunks/{mindmap-definition-YA3MSWOX-BCiSPRJk.js → mindmap-definition-YA3MSWOX-CH32-IRq.js} +1 -1
- package/dist-embed/chunks/{mindmap-definition-YA3MSWOX-B6_K5ZvV.js → mindmap-definition-YA3MSWOX-DQTfxlEc.js} +1 -1
- package/dist-embed/chunks/{mindmap-definition-e4c1d938-D7gmABiC.js → mindmap-definition-e4c1d938-BgjFyiku.js} +1 -1
- package/dist-embed/chunks/{mr-IN-CRQNXWMA-DMAAvsDA.js → mr-IN-CRQNXWMA-B7W8v3Ft.js} +1 -1
- package/dist-embed/chunks/{my-MM-5M5IBNSE-t2TKqrjW.js → my-MM-5M5IBNSE-e3nyuoTM.js} +1 -1
- package/dist-embed/chunks/{nb-NO-T6EIAALU-Bi3ZI-HQ.js → nb-NO-T6EIAALU-Dq2hr8f4.js} +1 -1
- package/dist-embed/chunks/{nl-NL-IS3SIHDZ-B8UdlW1K.js → nl-NL-IS3SIHDZ-BPpJK4bx.js} +1 -1
- package/dist-embed/chunks/{nn-NO-6E72VCQL-Bt87hI27.js → nn-NO-6E72VCQL-TlFEoum0.js} +1 -1
- package/dist-embed/chunks/{oc-FR-POXYY2M6-009NL0Pk.js → oc-FR-POXYY2M6-CnSPPsW-.js} +1 -1
- package/dist-embed/chunks/{pa-IN-N4M65BXN-BfUtS2yt.js → pa-IN-N4M65BXN-DOLWrPsW.js} +1 -1
- package/dist-embed/chunks/{pegDiagram-XKGWAZYB-CBrnWUaX.js → pegDiagram-XKGWAZYB-n8BSl7l3.js} +1 -1
- package/dist-embed/chunks/{pegDiagram-XKGWAZYB-BX0ZYMng.js → pegDiagram-XKGWAZYB-oyZR3LwE.js} +1 -1
- package/dist-embed/chunks/{percentages-BXMCSKIN-CfzulzOv.js → percentages-BXMCSKIN-CGGUos_k.js} +5 -5
- package/dist-embed/chunks/{pieDiagram-E7YTZNPT-Ct8dzoLU.js → pieDiagram-E7YTZNPT-BW48oEVe.js} +1 -1
- package/dist-embed/chunks/{pieDiagram-E7YTZNPT-B1My5W85.js → pieDiagram-E7YTZNPT-t7G_PNXz.js} +1 -1
- package/dist-embed/chunks/{pieDiagram-c941bede-7DZ-Bl8U.js → pieDiagram-c941bede-Ci9AzDtZ.js} +1 -1
- package/dist-embed/chunks/{pl-PL-T2D74RX3-DbtOl9_x.js → pl-PL-T2D74RX3-hlaxloT-.js} +1 -1
- package/dist-embed/chunks/{pt-BR-5N22H2LF-B1pjR1_T.js → pt-BR-5N22H2LF-Zzt5dIRi.js} +1 -1
- package/dist-embed/chunks/{pt-PT-UZXXM6DQ-takC7TRa.js → pt-PT-UZXXM6DQ-DclavEOo.js} +1 -1
- package/dist-embed/chunks/{quadrantDiagram-AXDQQJYC-B1mlT7fN.js → quadrantDiagram-AXDQQJYC-BLT8OFPd.js} +1 -1
- package/dist-embed/chunks/{quadrantDiagram-AXDQQJYC-B7p4unpj.js → quadrantDiagram-AXDQQJYC-CqCRrPOH.js} +1 -1
- package/dist-embed/chunks/{quadrantDiagram-cf8b8fe0-CTMh_Ad5.js → quadrantDiagram-cf8b8fe0-CCwvL59h.js} +1 -1
- package/dist-embed/chunks/{railroadDiagram-O6MQD6OU-CJEwr5d9.js → railroadDiagram-O6MQD6OU-CArU1lc_.js} +1 -1
- package/dist-embed/chunks/{railroadDiagram-O6MQD6OU-xr8bPIl7.js → railroadDiagram-O6MQD6OU-h7bwNVOI.js} +1 -1
- package/dist-embed/chunks/{renderer-Ba0Cwb4p.js → renderer-B7ulbNbj.js} +1 -1
- package/dist-embed/chunks/{requirementDiagram-53bda41b-Dv1Piop_.js → requirementDiagram-53bda41b-DwpbUtUG.js} +1 -1
- package/dist-embed/chunks/{requirementDiagram-BXWQKSXE-Bw89vFiC.js → requirementDiagram-BXWQKSXE-DjSU8lt8.js} +1 -1
- package/dist-embed/chunks/{requirementDiagram-BXWQKSXE-rabT3v-j.js → requirementDiagram-BXWQKSXE-DouRs4yi.js} +1 -1
- package/dist-embed/chunks/{ro-RO-JPDTUUEW-DkkqyFBF.js → ro-RO-JPDTUUEW-cgDkcR_I.js} +1 -1
- package/dist-embed/chunks/{ru-RU-B4JR7IUQ-CikD-ITp.js → ru-RU-B4JR7IUQ-9-oBtsiZ.js} +1 -1
- package/dist-embed/chunks/{sankeyDiagram-P5KCCOFB-D--cx9I2.js → sankeyDiagram-P5KCCOFB-CBWfRlJB.js} +1 -1
- package/dist-embed/chunks/{sankeyDiagram-P5KCCOFB-5SpI76uK.js → sankeyDiagram-P5KCCOFB-DjzmT1hm.js} +1 -1
- package/dist-embed/chunks/{sankeyDiagram-c3ef121a-DbhtSWkB.js → sankeyDiagram-c3ef121a-9XuKuXG6.js} +1 -1
- package/dist-embed/chunks/{sequenceDiagram-82a5b84f-DpxBSKAk.js → sequenceDiagram-82a5b84f-BG9YQ6K-.js} +1 -1
- package/dist-embed/chunks/{sequenceDiagram-WJ2MYXX4-D_wK-z7a.js → sequenceDiagram-WJ2MYXX4-B9mfZJzJ.js} +1 -1
- package/dist-embed/chunks/{sequenceDiagram-WJ2MYXX4-DGNwWgf8.js → sequenceDiagram-WJ2MYXX4-CosODaLN.js} +1 -1
- package/dist-embed/chunks/{sessions-DQkTozai.js → sessions-D0uw83Dx.js} +1 -1
- package/dist-embed/chunks/{si-LK-N5RQ5JYF-BqlWRhwK.js → si-LK-N5RQ5JYF-DwwdanqB.js} +1 -1
- package/dist-embed/chunks/{sizeCapture-INFHLROL-4Uh8JUjf.js → sizeCapture-INFHLROL-CwVsdbq8.js} +1 -1
- package/dist-embed/chunks/{sizeCapture-INFHLROL-g-K-6XON.js → sizeCapture-INFHLROL-H5_9Te0l.js} +1 -1
- package/dist-embed/chunks/{sk-SK-C5VTKIMK-DGsmi02E.js → sk-SK-C5VTKIMK-Bx7Xeegg.js} +1 -1
- package/dist-embed/chunks/{sl-SI-NN7IZMDC-HFz45GOs.js → sl-SI-NN7IZMDC-BnRYm8hb.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-43e79a5f-DxbV4jP9.js → stateDiagram-43e79a5f-DqSNbxpV.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-D77RDMKH-D-l3u-WY.js → stateDiagram-D77RDMKH-CFvF2i-n.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-D77RDMKH-C_wYpqah.js → stateDiagram-D77RDMKH-CM0rQJN-.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-v2-2041ed4f-BzxzaDdI.js → stateDiagram-v2-2041ed4f-DEAOSRqx.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-v2-MP3YSRHH-IEMNMwm0.js → stateDiagram-v2-MP3YSRHH-BNF3zl7F.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-v2-MP3YSRHH-BGYkOvTS.js → stateDiagram-v2-MP3YSRHH-x4Ke6-d0.js} +1 -1
- package/dist-embed/chunks/{styles-455b33cd-C42Lyulv.js → styles-455b33cd-CGv1xv-g.js} +1 -1
- package/dist-embed/chunks/{styles-f932cba9-Bf6H3IMq.js → styles-f932cba9-BcvypeEH.js} +1 -1
- package/dist-embed/chunks/{styles-fcc2142b-OZg6fE-p.js → styles-fcc2142b-Bm-8o0Wg.js} +1 -1
- package/dist-embed/chunks/{subset-shared.chunk-KC0vshev.js → subset-shared.chunk-E0MJmgRL.js} +1 -1
- package/dist-embed/chunks/{subset-worker.chunk-CXZAV_Z5.js → subset-worker.chunk-C8uhAh2D.js} +1 -1
- package/dist-embed/chunks/{sv-SE-XGPEYMSR-yEdPvwHy.js → sv-SE-XGPEYMSR-CsQ6HfG0.js} +1 -1
- package/dist-embed/chunks/{svgDrawCommon-148a3cd9-D9MRwoYw.js → svgDrawCommon-148a3cd9-CfBqsI2Z.js} +1 -1
- package/dist-embed/chunks/{swimlanes-42K2YHIH-CPkom4Q8.js → swimlanes-42K2YHIH-C5u-jMMX.js} +1 -1
- package/dist-embed/chunks/{swimlanes-42K2YHIH-DJLFcHMt.js → swimlanes-42K2YHIH-DSy5A1Br.js} +1 -1
- package/dist-embed/chunks/{swimlanesDiagram-VR7AAH4N-BJOhuN-y.js → swimlanesDiagram-VR7AAH4N-DiCCWeyH.js} +1 -1
- package/dist-embed/chunks/{swimlanesDiagram-VR7AAH4N-BRTtY1QX.js → swimlanesDiagram-VR7AAH4N-Dz7sQXaA.js} +1 -1
- package/dist-embed/chunks/{ta-IN-2NMHFXQM-0i424YGX.js → ta-IN-2NMHFXQM-fGjZyqzP.js} +1 -1
- package/dist-embed/chunks/{th-TH-HPSO5L25-BidF5zNO.js → th-TH-HPSO5L25-mRygXByj.js} +1 -1
- package/dist-embed/chunks/{timeline-definition-24CTP7MA-BasSLg-_.js → timeline-definition-24CTP7MA-BbGhqNW7.js} +1 -1
- package/dist-embed/chunks/{timeline-definition-24CTP7MA-BfGIJi1H.js → timeline-definition-24CTP7MA-YHoSditW.js} +1 -1
- package/dist-embed/chunks/{timeline-definition-7545f45a-BWwgvKxJ.js → timeline-definition-7545f45a-Cgha50uP.js} +1 -1
- package/dist-embed/chunks/{tr-TR-DEFEU3FU-BoHR9SlC.js → tr-TR-DEFEU3FU-CSMtrw8Q.js} +1 -1
- package/dist-embed/chunks/{uk-UA-QMV73CPH-DfRkqqO0.js → uk-UA-QMV73CPH-CLyS0aEW.js} +1 -1
- package/dist-embed/chunks/{vennDiagram-4TSXK5OY-D1T__rd2.js → vennDiagram-4TSXK5OY-CP_KbGdD.js} +1 -1
- package/dist-embed/chunks/{vennDiagram-4TSXK5OY-DMIYCfJ-.js → vennDiagram-4TSXK5OY-DEMghTP3.js} +1 -1
- package/dist-embed/chunks/{vi-VN-M7AON7JQ-CvZ4wpTw.js → vi-VN-M7AON7JQ-DI90c6Zt.js} +1 -1
- package/dist-embed/chunks/{wardleyDiagram-VM6X3IG4-DtlNUHLy.js → wardleyDiagram-VM6X3IG4-BKwp7C6o.js} +1 -1
- package/dist-embed/chunks/{wardleyDiagram-VM6X3IG4-CiKuFI26.js → wardleyDiagram-VM6X3IG4-CBfVN6X9.js} +1 -1
- package/dist-embed/chunks/{xychartDiagram-3f383b91-DzyuxW4K.js → xychartDiagram-3f383b91-CyeoV8HA.js} +1 -1
- package/dist-embed/chunks/{xychartDiagram-S5SC5T6Z-p6pYRkk6.js → xychartDiagram-S5SC5T6Z-BdfPJ1NZ.js} +1 -1
- package/dist-embed/chunks/{xychartDiagram-S5SC5T6Z-BIeFUHrS.js → xychartDiagram-S5SC5T6Z-DOiTJUlh.js} +1 -1
- package/dist-embed/chunks/{zh-CN-LNUGB5OW-Cx1Azgu2.js → zh-CN-LNUGB5OW-BhtQOj8w.js} +1 -1
- package/dist-embed/chunks/{zh-HK-E62DVLB3-DMjy1d4Z.js → zh-HK-E62DVLB3-BwejmqFd.js} +1 -1
- package/dist-embed/chunks/{zh-TW-RAJ6MFWO-J-YjINmR.js → zh-TW-RAJ6MFWO-CXYEZutZ.js} +1 -1
- package/dist-embed/datalayer-app-main.js +67 -67
- package/lib/apps/plugins/chat/ChatView.js +10 -2
- package/lib/hooks/ownRoutes.d.ts +27 -0
- package/lib/hooks/ownRoutes.js +33 -0
- package/lib/hooks/useAgentRuntimes.d.ts +5 -0
- package/lib/hooks/useAgentRuntimes.js +29 -26
- package/lib/specs/voices.d.ts +2 -0
- package/lib/specs/voices.js +5 -0
- package/lib/voice/hearing.js +5 -3
- package/lib/voice/pinned.d.ts +3 -1
- package/lib/voice/pinned.js +17 -3
- package/package.json +1 -1
- package/scripts/codegen/generate_voices.py +3 -0
- package/scripts/voice/measure.py +9 -4
- package/scripts/voice/pin_store.py +11 -5
- package/scripts/voice/serve_store.py +2 -2
- package/dist-embed/chunks/ChatView-Bz0eyWo6.js +0 -32
- package/dist-embed/chunks/isEqual-CGLTk7wU.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{v as te,r as z,j as e,B as n,H as F,cu as ae,T as i,c as L,e7 as Re,ek as le,el as He,em as Ve,en as me,eo as De,ep as qe,eq as Be,er as Ge,es as Ke,et as Je,eu as H,n as ce,bf as Ye,ct as Xe,L as A,aH as Qe,ev as Ze,ew as et,ex as tt,ey as Pe,cs as nt,ez as st,d5 as ot,cq as it,I as Oe,e4 as rt,eA as lt,eB as at,eC as ct,eD as dt,eE as ut,eF as pt,eG as ft,eH as ht,eI as gt,eJ as xt,eK as ne,eL as se,cr as mt,eM as bt}from"../datalayer-app-main.js";import{A as yt}from"./ArrowLeftIcon-Y3PTljcl.js";import{A as jt,T as St,M as Me,U as We,F as wt}from"./UnlinkIcon-DuVqPyB-.js";import Ie from"./index-
|
|
1
|
+
import{v as te,r as z,j as e,B as n,H as F,cu as ae,T as i,c as L,e7 as Re,ek as le,el as He,em as Ve,en as me,eo as De,ep as qe,eq as Be,er as Ge,es as Ke,et as Je,eu as H,n as ce,bf as Ye,ct as Xe,L as A,aH as Qe,ev as Ze,ew as et,ex as tt,ey as Pe,cs as nt,ez as st,d5 as ot,cq as it,I as Oe,e4 as rt,eA as lt,eB as at,eC as ct,eD as dt,eE as ut,eF as pt,eG as ft,eH as ht,eI as gt,eJ as xt,eK as ne,eL as se,cr as mt,eM as bt}from"../datalayer-app-main.js";import{A as yt}from"./ArrowLeftIcon-Y3PTljcl.js";import{A as jt,T as St,M as Me,U as We,F as wt}from"./UnlinkIcon-DuVqPyB-.js";import Ie from"./index-BlBHM8M3.js";import{P as $e}from"./index-BJhxZF_K.js";import{L as de}from"./LinkIcon-DUI0jw25.js";import{A as kt}from"./Avatar-9MpXENSs.js";function vt(t,s){if(Object.is(t,s))return!0;if(typeof t!="object"||t===null||typeof s!="object"||s===null)return!1;if(t instanceof Map&&s instanceof Map){if(t.size!==s.size)return!1;for(const[l,o]of t)if(!Object.is(o,s.get(l)))return!1;return!0}if(t instanceof Set&&s instanceof Set){if(t.size!==s.size)return!1;for(const l of t)if(!s.has(l))return!1;return!0}const r=Object.keys(t);if(r.length!==Object.keys(s).length)return!1;for(const l of r)if(!Object.prototype.hasOwnProperty.call(s,l)||!Object.is(t[l],s[l]))return!1;return!0}const{useRef:zt}=te;function Ne(t){const s=zt();return r=>{const l=t(r);return vt(s.current,l)?s.current:s.current=l}}function D(t){return t>=1e6?`${(t/1e6).toFixed(1)}M`:t>=1e3?`${(t/1e3).toFixed(1)}K`:t.toString()}function Te(t){if(!Number.isFinite(t)||Number.isNaN(t)||t<0)return"0ms";if(t<1)return`${Math.max(0,Math.round(t*1e3))}ms`;if(t<60)return`${t.toFixed(1)}s`;const s=Math.floor(t/60),r=Math.round(t%60);return`${s}m ${r}s`}function Ct(t){const s=String(t??"");return/[",\n]/.test(s)?`"${s.replace(/"/g,'""')}"`:s}function It(t){const s=[];s.push(["Context Usage Snapshot for Agent",t.agentId]),s.push(["Generated At",new Date().toISOString()]),s.push([]),s.push(["Summary"]),s.push(["Total Tokens",t.totalTokens]),s.push(["Context Window",t.contextWindow]),s.push(["System Prompt Tokens",t.systemPromptTokens]),s.push(["Tool Tokens",t.toolTokens]),s.push(["History Tokens",t.historyTokens]),s.push(["Current Message Tokens",t.currentMessageTokens]),s.push(["User Message Tokens",t.userMessageTokens]),s.push(["Assistant Message Tokens",t.assistantMessageTokens]),s.push([]),t.sessionUsage&&(s.push(["Session Usage"]),s.push(["Input Tokens",t.sessionUsage.inputTokens]),s.push(["Output Tokens",t.sessionUsage.outputTokens]),s.push(["Requests",t.sessionUsage.requests]),s.push(["Tool Calls",t.sessionUsage.toolCalls]),s.push(["Turns",t.sessionUsage.turns]),s.push(["Duration Seconds",t.sessionUsage.durationSeconds]),s.push([])),t.turnUsage&&(s.push(["Last Turn Usage"]),s.push(["Input Tokens",t.turnUsage.inputTokens]),s.push(["Output Tokens",t.turnUsage.outputTokens]),s.push(["Requests",t.turnUsage.requests]),s.push(["Tool Calls",t.turnUsage.toolCalls]),s.push(["Duration Seconds",t.turnUsage.durationSeconds]),s.push([])),s.push(["Distribution"]),s.push(["Category","Tokens"]);for(const c of t.distribution?.children??[])s.push([c.name,c.value]);if(s.push([]),t.perRequestUsage.length>0){s.push(["Per Request Usage"]),s.push(["Request #","Input Tokens","Output Tokens","Duration Ms","Tool Names","Timestamp","Turn ID"]);for(const c of t.perRequestUsage)s.push([c.requestNum,c.inputTokens,c.outputTokens,c.durationMs,c.toolNames.join("; "),c.timestamp??"",c.turnId??""])}const r=s.map(c=>c.map(Ct).join(",")).join(`
|
|
2
2
|
`),l=new Blob([r],{type:"text/csv;charset=utf-8;"}),o=URL.createObjectURL(l),a=document.createElement("a");a.href=o;const d=new Date().toISOString().replace(/[:.]/g,"-");a.download=`context-usage-${t.agentId}-${d}.csv`,a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(o)}function Tt(t){switch(t.toLowerCase()){case"messages":case"history":return Ge;case"tools":case"tool definitions":return Be;case"system":case"system prompts":return qe;case"cache":return De;default:return me}}function At({agentId:t,apiBase:s,liveData:r,messageCount:l=0,defaultView:o="overview",chartHeight:a="200px"}){const[d,c]=z.useState(o),[h,p]=z.useState(!1),S=r!==void 0,u=r,b=!S,m=z.useMemo(()=>{if(!u?.perRequestUsage||u.perRequestUsage.length===0)return null;const g=u.perRequestUsage;let C=0,N=0;const B=[],M=[],w=[],X=[];return g.forEach(W=>{C+=W.inputTokens,N+=W.outputTokens,B.push(`#${W.requestNum}`),M.push(C),w.push(N),X.push(C+N)}),{tooltip:{trigger:"axis",formatter:W=>{let U=`<strong>${W[0]?.axisValue||""}</strong><br/>`;return W.forEach($=>{U+=`${$.marker} ${$.seriesName}: ${D($.value)}<br/>`}),U}},legend:{data:["Input","Output","Total"],bottom:0,textStyle:{fontSize:10}},grid:{left:45,right:15,top:10,bottom:35},xAxis:{type:"category",data:B,axisLabel:{fontSize:10}},yAxis:{type:"value",axisLabel:{fontSize:10,formatter:W=>D(W)}},series:[{name:"Input",type:"line",data:M,smooth:!0,lineStyle:{width:2},areaStyle:{opacity:.2},itemStyle:{color:"#3B82F6"}},{name:"Output",type:"line",data:w,smooth:!0,lineStyle:{width:2},areaStyle:{opacity:.2},itemStyle:{color:"#10B981"}},{name:"Total",type:"line",data:X,smooth:!0,lineStyle:{width:2,type:"dashed"},itemStyle:{color:"#8B5CF6"}}]}},[u?.perRequestUsage]),R=z.useMemo(()=>{if(!u?.distribution)return null;const{distribution:g}=u,C=g.children&&g.children.length>0;return{tooltip:{formatter:N=>`${N.name}: ${D(N.value)} tokens`},series:[{type:"treemap",data:C?g.children:[{name:"No data",value:1}],roam:!1,breadcrumb:{show:!1},label:{show:!0,formatter:"{b}",fontSize:11},itemStyle:{borderColor:"#fff",borderWidth:2},levels:[{itemStyle:{borderColor:"#777",borderWidth:0,gapWidth:1}},{itemStyle:{borderColor:"#555",borderWidth:5,gapWidth:1},colorSaturation:[.35,.5]},{colorSaturation:[.35,.5]}]}]}},[u?.distribution]);if(b)return e.jsxs(n,{children:[e.jsx(F,{as:"h4",sx:{fontSize:1,fontWeight:"semibold",mb:2,color:"fg.muted"},children:"Context Usage"}),e.jsxs(n,{p:3,bg:"canvas.subtle",borderRadius:2,border:"1px solid",borderColor:"border.default",display:"flex",alignItems:"center",gap:2,children:[e.jsx(ae,{size:"small"}),e.jsx(i,{sx:{fontSize:1,color:"fg.muted"},children:"Loading context details..."})]})]});if(!u)return e.jsxs(n,{children:[e.jsx(F,{as:"h4",sx:{fontSize:1,fontWeight:"semibold",mb:2,color:"fg.muted"},children:"Context Usage"}),e.jsx(n,{p:3,bg:"attention.subtle",borderRadius:2,border:"1px solid",borderColor:"attention.muted",children:e.jsx(i,{sx:{fontSize:1,color:"attention.fg"},children:"Waiting for context data from WebSocket stream..."})})]});const{totalTokens:P,contextWindow:y,sessionUsage:f,turnUsage:j,distribution:E}=u,I=l>0?l:Math.max(f?.turns??0,u.perRequestUsage?.length>0?1:0),O=E?.children&&E.children.length>0;return e.jsxs(n,{children:[e.jsxs(n,{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2,children:[e.jsx(F,{as:"h4",sx:{fontSize:1,fontWeight:"semibold",color:"fg.muted"},children:"Context Usage"}),e.jsxs(n,{display:"flex",alignItems:"center",gap:2,children:[I>0&&e.jsxs(i,{sx:{fontSize:0,color:"fg.muted"},children:[I," ",I===1?"message sent":"messages sent"]}),e.jsx(L,{size:"small",variant:"invisible",leadingVisual:Re,onClick:()=>It(u),children:"Download"})]})]}),e.jsxs(n,{p:3,bg:"canvas.subtle",borderRadius:2,border:"1px solid",borderColor:"border.default",children:[e.jsx(n,{mb:3,children:e.jsxs(i,{sx:{fontSize:1,fontWeight:"semibold"},children:["Total usage: ",D(P)]})}),(f||j)&&e.jsxs(n,{display:"flex",gap:3,mb:3,flexWrap:"wrap",children:[f&&e.jsxs(n,{flex:1,minWidth:120,p:2,bg:"canvas.default",borderRadius:2,border:"1px solid",borderColor:"border.muted",children:[e.jsxs(i,{sx:{fontSize:0,color:"fg.muted",display:"block"},children:["Session (",f.turns," turns)"]}),e.jsx(i,{sx:{fontSize:1,fontWeight:"semibold"},children:D(f.inputTokens+f.outputTokens)}),e.jsxs(i,{sx:{fontSize:0,color:"fg.muted"},children:[" ","in ",Te(f.durationSeconds)]})]}),j&&e.jsxs(n,{flex:1,minWidth:120,p:2,bg:"canvas.default",borderRadius:2,border:"1px solid",borderColor:"border.muted",children:[e.jsxs(i,{sx:{fontSize:0,color:"fg.muted",display:"block"},children:["Last Turn (",j.requests," reqs)"]}),e.jsx(i,{sx:{fontSize:1,fontWeight:"semibold"},children:D(j.inputTokens+j.outputTokens)}),e.jsxs(i,{sx:{fontSize:0,color:"fg.muted"},children:[" ","in ",Te(j.durationSeconds)]})]})]}),e.jsxs(n,{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2,children:[e.jsxs(le,{"aria-label":"View mode",size:"small",onChange:g=>{c(["overview","distribution","history"][g])},children:[e.jsx(le.IconButton,{"aria-label":"Overview",selected:d==="overview",icon:He}),e.jsx(le.IconButton,{"aria-label":"Distribution",selected:d==="distribution",icon:jt,disabled:!O}),e.jsx(le.IconButton,{"aria-label":"History",selected:d==="history",icon:Ve})]}),d==="overview"&&e.jsx(L,{size:"small",variant:"invisible",onClick:()=>p(!h),children:h?"Less":"More"})]}),d==="overview"&&e.jsxs(n,{children:[e.jsxs(n,{display:"flex",flexDirection:"column",gap:2,children:[O&&E.children.map(g=>{const C=Tt(g.name),N=g.value/y*100;return e.jsxs(n,{display:"flex",alignItems:"center",gap:2,children:[e.jsx(n,{color:"fg.muted",width:20,children:e.jsx(C,{size:16})}),e.jsx(i,{sx:{fontSize:1,flex:1},children:g.name}),e.jsx(i,{sx:{fontSize:0,color:"fg.muted",minWidth:60},children:D(g.value)}),e.jsx(n,{width:80,children:e.jsx($e,{progress:N,sx:{height:4}})})]},g.name)}),!O&&e.jsx(i,{sx:{color:"fg.muted",fontSize:1,textAlign:"center",py:2},children:"No context data yet. Start a conversation to see usage."})]}),h&&O&&e.jsxs(n,{mt:3,p:2,bg:"canvas.default",borderRadius:2,border:"1px solid",borderColor:"border.muted",fontSize:0,children:[u.systemPromptTokens>0&&e.jsxs(n,{mb:2,children:[e.jsxs(i,{sx:{fontWeight:"semibold"},children:["System Prompts:"," ",D(u.systemPromptTokens)," tokens"]}),u.systemPrompts.slice(0,2).map((g,C)=>e.jsxs(i,{sx:{display:"block",ml:2,mt:1,color:"fg.muted"},children:["•"," ",g.length>80?g.slice(0,80)+"...":g]},C))]}),u.toolTokens>0&&e.jsxs(n,{mb:2,children:[e.jsxs(i,{sx:{fontWeight:"semibold"},children:["Tools: ",D(u.toolTokens)," tokens (",u.tools.length," tools)"]}),e.jsxs(n,{ml:2,mt:1,children:[u.tools.slice(0,4).map((g,C)=>e.jsxs(i,{sx:{display:"block",color:"fg.muted"},children:["• ",g.name,": ",D(g.totalTokens)]},C)),u.tools.length>4&&e.jsxs(i,{sx:{color:"fg.muted",fontStyle:"italic"},children:["...and ",u.tools.length-4," more"]})]})]}),(u.userMessageTokens>0||u.assistantMessageTokens>0)&&e.jsxs(n,{mb:2,children:[e.jsxs(i,{sx:{fontWeight:"semibold"},children:["Messages:"," ",D(u.userMessageTokens+u.assistantMessageTokens)," ","tokens"]}),e.jsxs(n,{ml:2,mt:1,children:[e.jsxs(i,{sx:{display:"block",color:"fg.muted"},children:["• User: ",D(u.userMessageTokens)]}),e.jsxs(i,{sx:{display:"block",color:"fg.muted"},children:["• Assistant:"," ",D(u.assistantMessageTokens)]}),u.toolCallTokens>0&&e.jsxs(i,{sx:{display:"block",color:"fg.muted"},children:["• Tool calls:"," ",D(u.toolCallTokens)]})]})]})]})]}),d==="distribution"&&R&&e.jsx(Ie,{option:R,style:{height:a},opts:{renderer:"svg"}}),d==="history"&&m&&e.jsxs(n,{children:[e.jsx(Ie,{option:m,style:{height:a},opts:{renderer:"svg"}}),h&&u.perRequestUsage.length>0&&e.jsx(n,{mt:2,maxHeight:"150px",overflowY:"auto",fontSize:0,children:u.perRequestUsage.slice(-10).reverse().map((g,C)=>e.jsxs(n,{display:"flex",gap:2,py:1,borderBottom:C<9?"1px solid":"none",borderColor:"border.muted",children:[e.jsxs(i,{sx:{fontWeight:"semibold",minWidth:30},children:["#",g.requestNum]}),e.jsxs(i,{sx:{color:"#3B82F6"},children:["↓",D(g.inputTokens)]}),e.jsxs(i,{sx:{color:"#10B981"},children:["↑",D(g.outputTokens)]}),g.toolNames.length>0&&e.jsxs(i,{sx:{color:"fg.muted"},children:["🔧 ",g.toolNames.join(", ")]})]},g.requestNum))})]}),d==="history"&&!m&&e.jsx(n,{py:3,children:e.jsx(i,{sx:{color:"fg.muted",fontSize:1},children:"No history"})})]})]})}function q(t){return t>=1e6?`${(t/1e6).toFixed(1)}M`:t>=1e3?`${(t/1e3).toFixed(1)}K`:t.toString()}function ee({title:t,icon:s,count:r,tokens:l,defaultExpanded:o=!1,children:a}){const[d,c]=z.useState(o);return e.jsxs(n,{mb:2,children:[e.jsxs(n,{as:"button",onClick:()=>c(!d),display:"flex",alignItems:"center",gap:2,width:"100%",p:2,bg:"canvas.subtle",border:"1px solid",borderColor:"border.default",borderRadius:2,cursor:"pointer",hover:{bg:"canvas.inset"},children:[d?e.jsx(Ye,{size:16}):e.jsx(Xe,{size:16}),te.createElement(s,{size:16}),e.jsx(i,{sx:{fontWeight:"semibold",flex:1,textAlign:"left"},children:t}),r!==void 0&&e.jsx(A,{variant:"secondary",size:"small",children:r}),l!==void 0&&l>0&&e.jsxs(i,{sx:{fontSize:0,color:"fg.muted"},children:[q(l)," tokens"]})]}),d&&e.jsx(n,{border:"1px solid",borderColor:"border.default",borderTop:"none",borderRadius:"0 0 6px 6px",p:2,children:a})]})}function Et({tool:t}){const[s,r]=z.useState(!1),[l,o]=z.useState(!1);return e.jsxs(n,{p:2,mb:2,bg:"canvas.default",border:"1px solid",borderColor:"border.muted",borderRadius:2,children:[e.jsxs(n,{display:"flex",alignItems:"center",gap:2,mb:1,children:[e.jsx(i,{sx:{fontWeight:"bold",fontFamily:"mono",fontSize:1},children:t.name}),e.jsx(A,{size:"small",variant:"secondary",children:t.sourceType}),t.isAsync&&e.jsx(A,{size:"small",variant:"accent",children:"async"}),t.requiresApproval&&e.jsx(A,{size:"small",variant:"attention",children:"requires approval"}),e.jsxs(i,{sx:{fontSize:0,color:"fg.muted",ml:"auto"},children:[q(t.totalTokens)," tokens"]})]}),t.description&&e.jsx(i,{sx:{fontSize:1,color:"fg.muted",display:"block",mb:2},children:t.description}),e.jsxs(n,{display:"flex",gap:2,children:[e.jsxs(L,{size:"small",variant:"invisible",onClick:()=>r(!s),children:[s?"Hide":"Show"," Schema"]}),t.sourceCode&&e.jsxs(L,{size:"small",variant:"invisible",onClick:()=>o(!l),children:[l?"Hide":"Show"," Source"]})]}),s&&e.jsx(n,{as:"pre",mt:2,p:2,bg:"canvas.inset",borderRadius:2,fontSize:0,overflow:"auto",maxHeight:200,children:JSON.stringify(t.parametersSchema,null,2)}),l&&t.sourceCode&&e.jsx(n,{as:"pre",mt:2,p:2,bg:"canvas.inset",borderRadius:2,fontSize:0,overflow:"auto",maxHeight:300,children:t.sourceCode})]})}function Ut({agentId:t,apiBase:s,liveData:r}){const l=r!==void 0,o=r;if(!l)return e.jsx(n,{p:3,display:"flex",alignItems:"center",justifyContent:"center",children:e.jsx(i,{sx:{color:"fg.muted"},children:"Waiting for context data from WebSocket stream..."})});if(!o)return e.jsx(n,{p:3,bg:"attention.subtle",borderRadius:2,border:"1px solid",borderColor:"attention.muted",children:e.jsx(i,{sx:{color:"attention.fg"},children:"No context data available."})});if(o.error)return e.jsx(n,{p:3,bg:"attention.subtle",borderRadius:2,border:"1px solid",borderColor:"attention.muted",children:e.jsx(i,{sx:{color:"attention.fg"},children:o.error})});const{tokenSummary:a,modelConfiguration:d}=o;return e.jsxs(n,{children:[e.jsxs(n,{mb:3,children:[e.jsxs(i,{sx:{fontSize:1,fontWeight:"semibold"},children:["Total usage: ",q(a.total)," /"," ",q(a.contextWindow)," (",Math.round(a.usagePercent),"%)"]}),e.jsx($e,{progress:Math.min(a.usagePercent,100),sx:{mt:2,height:8},bg:a.usagePercent>90?"danger.emphasis":a.usagePercent>70?"attention.emphasis":"success.emphasis"}),e.jsxs(n,{display:"flex",gap:3,mt:2,flexWrap:"wrap",fontSize:0,color:"fg.muted",children:[e.jsxs(i,{children:["System: ",q(a.systemPrompts)]}),e.jsxs(i,{children:["Tools: ",q(a.tools)]}),a.memory>0&&e.jsxs(i,{children:["Memory: ",q(a.memory)]}),e.jsxs(i,{children:["History: ",q(a.history)]}),e.jsxs(i,{children:["Current: ",q(a.current)]})]})]}),e.jsx(ee,{title:"Model Configuration",icon:Ke,defaultExpanded:!1,children:e.jsxs(n,{display:"grid",gridTemplateColumns:"1fr 2fr",gap:2,children:[e.jsx(i,{sx:{fontWeight:"semibold",fontSize:1},children:"Model:"}),e.jsx(i,{sx:{fontSize:1,fontFamily:"mono"},children:d.modelName||"Not specified"}),e.jsx(i,{sx:{fontWeight:"semibold",fontSize:1},children:"Context Window:"}),e.jsxs(i,{sx:{fontSize:1},children:[q(d.contextWindow)," tokens"]}),Object.keys(d.settings).length>0&&e.jsxs(e.Fragment,{children:[e.jsx(i,{sx:{fontWeight:"semibold",fontSize:1},children:"Settings:"}),e.jsx(n,{as:"pre",fontSize:0,p:2,bg:"canvas.inset",borderRadius:2,overflow:"auto",children:JSON.stringify(d.settings,null,2)})]})]})}),e.jsx(ee,{title:"System Prompts",icon:Je,count:o.systemPrompts.length,tokens:o.systemPromptTokens,children:o.systemPrompts.length===0?e.jsx(i,{sx:{color:"fg.muted",fontSize:1},children:"No system prompts configured"}):o.systemPrompts.map((c,h)=>e.jsxs(n,{p:2,mb:2,bg:"canvas.inset",borderRadius:2,border:"1px solid",borderColor:"border.muted",children:[e.jsxs(n,{display:"flex",justifyContent:"space-between",mb:1,children:[e.jsxs(i,{sx:{fontWeight:"semibold",fontSize:0},children:["Prompt ",h+1]}),e.jsxs(i,{sx:{fontSize:0,color:"fg.muted"},children:[q(c.tokens)," tokens"]})]}),e.jsx(i,{as:"pre",sx:{fontSize:0,whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:200,overflow:"auto"},children:c.content})]},h))}),e.jsx(ee,{title:"Tool Definitions",icon:St,count:o.tools.length,tokens:o.toolTokens,children:o.tools.length===0?e.jsx(i,{sx:{color:"fg.muted",fontSize:1},children:"No tools configured"}):o.tools.map((c,h)=>e.jsx(Et,{tool:c},h))}),o.memoryBlocks.length>0&&e.jsx(ee,{title:"Memory Blocks",icon:De,count:o.memoryBlocks.length,tokens:o.memoryTokens,children:o.memoryBlocks.map((c,h)=>e.jsx(n,{as:"pre",p:2,mb:2,bg:"canvas.inset",borderRadius:2,fontSize:0,overflow:"auto",children:JSON.stringify(c,null,2)},h))}),Object.keys(o.toolEnvironment).length>0&&e.jsx(ee,{title:"Tool Environment",icon:H,count:Object.keys(o.toolEnvironment).length,children:e.jsx(n,{display:"grid",gridTemplateColumns:"1fr 2fr",gap:2,children:Object.entries(o.toolEnvironment).map(([c,h])=>e.jsxs(te.Fragment,{children:[e.jsx(i,{sx:{fontFamily:"mono",fontSize:1,fontWeight:"semibold"},children:c}),e.jsx(i,{sx:{fontFamily:"mono",fontSize:1,color:"fg.muted"},children:h})]},c))})}),o.toolRules.length>0&&e.jsx(ee,{title:"Tool Rules",icon:ce,count:o.toolRules.length,children:o.toolRules.map((c,h)=>e.jsx(n,{as:"pre",p:2,mb:2,bg:"canvas.inset",borderRadius:2,fontSize:0,overflow:"auto",children:JSON.stringify(c,null,2)},h))})]})}const ye={provider:"github",displayName:"GitHub",iconUrl:"https://github.githubassets.com/favicons/favicon.svg",authorizationUrl:"https://github.com/login/oauth/authorize",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",revocationUrl:"https://api.github.com/applications/{client_id}/token",defaultScopes:["read:user","user:email"]},je={provider:"google",displayName:"Google",iconUrl:"https://www.google.com/favicon.ico",authorizationUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v2/userinfo",revocationUrl:"https://oauth2.googleapis.com/revoke",defaultScopes:["openid","email","profile"],additionalParams:{access_type:"offline",prompt:"consent"}},Se={provider:"kaggle",displayName:"Kaggle",iconUrl:"https://www.kaggle.com/static/images/favicon.ico",authorizationUrl:"https://www.kaggle.com/oauth/authorize",tokenUrl:"https://www.kaggle.com/oauth/token",userInfoUrl:"https://www.kaggle.com/api/v1/me",defaultScopes:["datasets:read","notebooks:read"]};function _t(t=64){const s=Math.max(43,Math.min(128,t)),r=new Uint8Array(s);return crypto.getRandomValues(r),we(r)}async function Rt(t){const r=new TextEncoder().encode(t),l=await crypto.subtle.digest("SHA-256",r);return we(new Uint8Array(l))}function Dt(){const t=new Uint8Array(32);return crypto.getRandomValues(t),we(t)}function we(t){let s="";const r=new Uint8Array(t);for(let l=0;l<r.length;l++)s+=String.fromCharCode(r[l]);return s=btoa(s),s.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}async function Pt(){const t=_t(),s=await Rt(t);return{codeVerifier:t,codeChallenge:s}}const Ot="datalayer-agent-identities",Ae="/api/v1/identity/oauth/token",Mt="/api/v1/identity/oauth/userinfo",Wt="/api/v1/identity/oauth/revoke",$t={identities:new Map,pendingAuthorization:null,providerConfigs:new Map,isLoading:!1,error:null};function Nt(t,s,r,l){const o=new URLSearchParams({client_id:t.clientId,redirect_uri:t.redirectUri,response_type:"code",scope:s.join(" "),state:r,code_challenge:l,code_challenge_method:"S256",...t.additionalParams});return`${t.authorizationUrl}?${o.toString()}`}const T=Qe()(Ze(et(tt((t,s)=>({...$t,configureProvider:r=>{t(l=>{const o=new Map(l.providerConfigs);return o.set(r.provider,r),{providerConfigs:o}})},startAuthorization:async(r,l,o)=>{const d=s().providerConfigs.get(r);if(!d)throw new Error(`Provider ${r} is not configured`);const{codeVerifier:c,codeChallenge:h}=await Pt(),p=Dt(),S=l||d.defaultScopes,u=Nt(d,S,p,h),b={requestId:`auth-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,provider:r,authUrl:u,state:p,codeVerifier:c,scopes:S,requestedAt:Date.now(),onComplete:o?.onComplete,onError:o?.onError};return t({pendingAuthorization:b,error:null}),u},completeAuthorization:async r=>{const l=s(),o=l.pendingAuthorization;if(!o)throw new Error("No pending authorization request");if(r.state!==o.state){const a=new Error("State mismatch - possible CSRF attack");throw o.onError?.(a),t({pendingAuthorization:null,error:a}),a}if(r.error){const a=new Error(r.errorDescription||r.error);throw o.onError?.(a),t({pendingAuthorization:null,error:a}),a}t({isLoading:!0});try{const a=l.providerConfigs.get(o.provider);if(!a)throw new Error(`Provider ${o.provider} is not configured`);const d=a.redirectUri.split("/").slice(0,3).join("/"),c=await fetch(`${d}${Ae}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:o.provider,code:r.code,code_verifier:o.codeVerifier,redirect_uri:a.redirectUri})});if(!c.ok){const b=await c.json().catch(()=>({}));throw new Error(b.detail||`Token exchange failed: ${c.status}`)}const h=await c.json(),p={accessToken:h.access_token,tokenType:h.token_type||"Bearer",expiresAt:h.expires_in?Date.now()+h.expires_in*1e3:void 0,refreshToken:h.refresh_token,scopes:o.scopes};let S;if(a.userInfoUrl)try{const b=await fetch(`${d}${Mt}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:o.provider,access_token:p.accessToken})});if(b.ok){const m=await b.json();S={id:m.id?.toString()||m.sub,username:m.login||m.username,name:m.name,email:m.email,avatarUrl:m.avatar_url||m.picture,profileUrl:m.html_url||m.profile,raw:m}}}catch(b){console.warn("Failed to fetch user info:",b)}const u={provider:o.provider,displayName:a.displayName,iconUrl:a.iconUrl,scopes:o.scopes,isConnected:!0,connectedAt:Date.now(),userInfo:S,token:p};return t(b=>{const m=new Map(b.identities);return m.set(o.provider,u),{identities:m,pendingAuthorization:null,isLoading:!1,error:null}}),o.onComplete?.(u),u}catch(a){const d=a instanceof Error?a:new Error(String(a));throw o.onError?.(d),t({isLoading:!1,error:d,pendingAuthorization:null}),d}},cancelAuthorization:()=>{const r=s().pendingAuthorization;r?.onError&&r.onError(new Error("Authorization cancelled")),t({pendingAuthorization:null})},connectWithToken:async(r,l,o)=>{t({isLoading:!0,error:null});try{const a={accessToken:l,tokenType:"Bearer",scopes:[]},d={kaggle:{displayName:"Kaggle",iconUrl:"https://www.kaggle.com/static/images/favicon.ico"}}[r]||{displayName:r,iconUrl:void 0},c={provider:r,authType:"token",displayName:o?.displayName||d.displayName,iconUrl:o?.iconUrl||d.iconUrl,scopes:[],isConnected:!0,connectedAt:Date.now(),userInfo:o?.userInfo,token:a};return t(h=>{const p=new Map(h.identities);return p.set(r,c),{identities:p,isLoading:!1,error:null}}),c}catch(a){const d=a instanceof Error?a:new Error(String(a));throw t({isLoading:!1,error:d}),d}},disconnect:async r=>{const l=s(),o=l.identities.get(r),a=l.providerConfigs.get(r);if(!o||!o.token){t(d=>{const c=new Map(d.identities);return c.delete(r),{identities:c}});return}if(o.authType==="token"){t(d=>{const c=new Map(d.identities);return c.delete(r),{identities:c}});return}if(a?.revocationUrl)try{const d=a.redirectUri.split("/").slice(0,3).join("/");await fetch(`${d}${Wt}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:r,access_token:o.token.accessToken})})}catch(d){console.warn("Failed to revoke token:",d)}t(d=>{const c=new Map(d.identities);return c.delete(r),{identities:c}})},refreshToken:async r=>{const l=s(),o=l.identities.get(r),a=l.providerConfigs.get(r);if(!o||!o.token?.refreshToken)throw new Error(`No refresh token available for ${r}`);if(!a)throw new Error(`Provider ${r} is not configured`);const d=a.redirectUri.split("/").slice(0,3).join("/"),c=await fetch(`${d}${Ae}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:r,grant_type:"refresh_token",refresh_token:o.token.refreshToken})});if(!c.ok)throw new Error(`Token refresh failed: ${c.status}`);const h=await c.json(),p={accessToken:h.access_token,tokenType:h.token_type||"Bearer",expiresAt:h.expires_in?Date.now()+h.expires_in*1e3:void 0,refreshToken:h.refresh_token||o.token.refreshToken,scopes:o.scopes};return t(S=>{const u=new Map(S.identities);return u.set(r,{...o,token:p}),{identities:u}}),p},getIdentity:r=>s().identities.get(r),isConnected:r=>s().identities.get(r)?.isConnected??!1,getToken:async r=>{const o=s().identities.get(r);if(!o||!o.token)return null;const a=o.token.expiresAt;if(a&&a-Date.now()<300*1e3){if(o.token.refreshToken)try{return await s().refreshToken(r)}catch(d){return console.warn("Token refresh failed:",d),null}return null}return o.token},clearAll:()=>{t({identities:new Map,pendingAuthorization:null,error:null})},setError:r=>{t({error:r})}}),{name:Ot,storage:{getItem:t=>{const s=localStorage.getItem(t);if(!s)return null;const r=JSON.parse(s),l=new URLSearchParams(window.location.search),o=l.has("code")&&l.has("state");return{state:{...r.state,identities:new Map(r.state.identities||[]),providerConfigs:new Map(r.state.providerConfigs||[]),pendingAuthorization:o&&r.state.pendingAuthorization||null,isLoading:!1,error:null}}},setItem:(t,s)=>{const r={state:{...s.state,identities:Array.from(s.state.identities.entries()),providerConfigs:Array.from(s.state.providerConfigs.entries()),pendingAuthorization:s.state.pendingAuthorization?{...s.state.pendingAuthorization,onComplete:void 0,onError:void 0}:null,isLoading:!1,error:null}};localStorage.setItem(t,JSON.stringify(r))},removeItem:t=>localStorage.removeItem(t)},partialize:t=>({identities:t.identities,providerConfigs:t.providerConfigs,pendingAuthorization:t.pendingAuthorization})})),{name:"IdentityStore"}));function Lt(){return T(Ne(t=>Array.from(t.identities.values()).filter(s=>s.isConnected)))}function Ft(){return T(Ne(t=>Array.from(t.identities.entries()).filter(([s,r])=>r.isConnected).map(([s])=>s)))}function Ht(){return T(t=>t.pendingAuthorization)}function Vt(){return T(t=>t.isLoading)}function qt(){return T(t=>t.error)}function fe(t){const s=T.getState();t.github&&s.configureProvider({...ye,clientId:t.github.clientId,redirectUri:t.github.redirectUri}),t.google&&s.configureProvider({...je,clientId:t.google.clientId,redirectUri:t.google.redirectUri}),t.kaggle&&s.configureProvider({...Se,clientId:t.kaggle.clientId,redirectUri:t.kaggle.redirectUri})}function ke(t={}){const{providers:s,baseUrl:r=typeof window<"u"?window.location.origin:"",callbackPath:l=typeof window<"u"?window.location.pathname:"/oauth/callback",autoHandleCallback:o=!0}=t,a=Lt(),d=Ft(),c=Ht(),h=Vt(),p=qt(),S=T(x=>x.startAuthorization),u=T(x=>x.completeAuthorization),b=T(x=>x.cancelAuthorization),m=T(x=>x.disconnect),R=T(x=>x.getIdentity),P=T(x=>x.isConnected),y=T(x=>x.getToken),f=T(x=>x.configureProvider);z.useEffect(()=>{if(!s)return;const x=`${r}${l}`;s.github&&fe({github:{clientId:s.github.clientId,redirectUri:s.github.redirectUri||x}}),s.google&&fe({google:{clientId:s.google.clientId,redirectUri:s.google.redirectUri||x}}),s.kaggle&&fe({kaggle:{clientId:s.kaggle.clientId,redirectUri:s.kaggle.redirectUri||x}}),s.custom&&s.custom.forEach(U=>{f(U)})},[s,r,l,f]),z.useEffect(()=>{if(!o||typeof window>"u")return;const x=new URLSearchParams(window.location.search),U=x.get("code"),$=x.get("state"),G=x.get("error"),V=x.get("error_description");(U&&$||G)&&u({code:U||"",state:$||"",error:G||void 0,errorDescription:V||void 0}).then(()=>{const K=window.location.pathname;window.history.replaceState({},"",K)}).catch(K=>{console.error("OAuth callback error:",K);const Q=window.location.pathname;window.history.replaceState({},"",Q)})},[o,u]);const j=z.useCallback(async(x,U)=>{const $=await S(x,U);window.location.href=$},[S]),E=z.useCallback(async(x,U)=>{const $=await S(x,U,{onComplete:()=>{},onError:()=>{}});return new Promise((G,V)=>{const K=T.getState();K.pendingAuthorization&&(K.pendingAuthorization.onComplete=G,K.pendingAuthorization.onError=V);const Q=600,k=700,ue=window.screenX+(window.outerWidth-Q)/2,v=window.screenY+(window.outerHeight-k)/2,_=window.open($,"oauth_popup",`width=${Q},height=${k},left=${ue},top=${v},toolbar=no,menubar=no`);if(!_){V(new Error("Failed to open popup window"));return}const J=Y=>{if(Y.origin===window.location.origin)if(Y.data?.type==="oauth-callback-success"){window.removeEventListener("message",J),clearInterval(oe),_.close();const ie=Y.data.provider,re=Y.data.identity;if(console.debug("[Identity] Received oauth-callback-success for provider:",ie),console.debug("[Identity] Identity from popup:",re),re){const ve=T.getState().identities,Z=new Map(ve);Z.set(ie,re),T.setState({identities:Z,pendingAuthorization:null}),console.debug("[Identity] Store updated with identity from popup, identities count:",Z.size),G(re);return}setTimeout(()=>{const Z=localStorage.getItem("agent-runtimes-identity");if(console.debug("[Identity] Fallback: reading from localStorage"),Z)try{const Le=JSON.parse(Z).state?.identities||[],pe=new Map(Le).get(ie);if(pe){const Fe=T.getState().identities,Ce=new Map(Fe);Ce.set(ie,pe),T.setState({identities:Ce,pendingAuthorization:null}),G(pe);return}}catch(ze){console.error("[Identity] Failed to parse identity from localStorage:",ze)}T.setState({pendingAuthorization:null}),V(new Error("Identity not found after OAuth success"))},100)}else Y.data?.type==="oauth-callback-error"?(window.removeEventListener("message",J),clearInterval(oe),_.close(),T.setState({pendingAuthorization:null}),V(new Error(Y.data.error||"OAuth authentication failed"))):Y.data?.type==="oauth_callback"&&(window.removeEventListener("message",J),clearInterval(oe),_.close(),u(Y.data.payload).then(G).catch(V))};window.addEventListener("message",J);const oe=setInterval(()=>{_.closed&&(clearInterval(oe),window.removeEventListener("message",J),T.getState().pendingAuthorization&&(b(),V(new Error("Popup closed by user"))))},500)})},[S,u,b]),I=T(x=>x.connectWithToken),O=z.useCallback(async(x,U,$)=>I(x,U,$),[I]),g=z.useCallback(async x=>{await m(x)},[m]),C=z.useCallback(async x=>u(x),[u]),N=z.useCallback(()=>{b()},[b]),B=z.useCallback(x=>P(x),[P]),M=z.useCallback(x=>R(x),[R]),w=z.useCallback(async x=>(await y(x))?.accessToken??null,[y]),X=z.useCallback(x=>{f(x)},[f]),W=c!==null;return z.useMemo(()=>({identities:a,connectedProviders:d,isAuthorizing:W,isLoading:h,error:p,pendingAuthorization:c,connect:j,connectWithPopup:E,connectWithToken:O,disconnect:g,completeAuthorization:C,cancelAuthorization:N,isConnected:B,getIdentity:M,getAccessToken:w,configureProvider:X}),[a,d,W,h,p,c,j,E,O,g,C,N,B,M,w,X])}const Ee={github:{name:"GitHub",icon:Me,color:"#24292f",description:"Access GitHub repositories and APIs"},google:{name:"Google",icon:H,color:"#4285f4",description:"Access Google services and APIs"},kaggle:{name:"Kaggle",icon:H,color:"#20beff",description:"Access Kaggle datasets and notebooks"},linkedin:{name:"LinkedIn",icon:H,color:"#0077b5",description:"Access LinkedIn profile and connections"},slack:{name:"Slack",icon:H,color:"#4a154b",description:"Access Slack workspaces and channels"},notion:{name:"Notion",icon:H,color:"#000000",description:"Access Notion pages and databases"},custom:{name:"Custom",icon:de,color:"#6f42c1",description:"Custom OAuth provider"}},Bt={github:["read:user","user:email"],google:["openid","profile","email"],kaggle:["read"],linkedin:["r_liteprofile","r_emailaddress"],slack:["users:read","channels:read"],notion:["read_content"],custom:[]},Gt=({provider:t,clientId:s,providerConfig:r,scopes:l,disabled:o=!1,size:a="medium",variant:d="full",onConnect:c,onDisconnect:h,onError:p})=>{const{identities:S,isAuthorizing:u,error:b,connectWithPopup:m,disconnect:R,configureProvider:P}=ke(),y=Ee[t]||Ee.custom,f=S.find(g=>g.provider===t),j=!!f,E=u;te.useEffect(()=>{if(s){const g=t==="github"?ye:t==="google"?je:t==="kaggle"?Se:void 0;if(g){const C=r?.redirectUri||(typeof window<"u"?`${window.location.origin}${window.location.pathname}`:"");P({...g,...r,provider:t,clientId:s,redirectUri:C})}}},[s,t,r,P]);const I=z.useCallback(async()=>{try{if(j)await R(t),h?.(t);else{const g=await m(t,l||Bt[t]);c?.(g)}}catch(g){const C=g instanceof Error?g.message:String(g);C!=="Popup closed by user"&&p?.(g instanceof Error?g:new Error(C))}},[j,t,l,m,R,c,h,p]);te.useEffect(()=>{b&&p?.(b instanceof Error?b:new Error(String(b)))},[b,p]);const O={onClick:I,disabled:o||E||!s&&!j,size:a==="large"?"large":a==="small"?"small":"medium"};return d==="icon"?e.jsx(L,{...O,variant:j?"primary":"default","aria-label":j?`Disconnect ${y.name}`:`Connect ${y.name}`,sx:{width:a==="small"?28:a==="large"?44:36,height:a==="small"?28:a==="large"?44:36,p:0},children:E?e.jsx(n,{as:"span",className:"anim-rotate",display:"inline-block",children:"⏳"}):e.jsx(y.icon,{size:a==="small"?14:18})}):d==="compact"?e.jsx(L,{...O,variant:j?"primary":"default",leadingVisual:y.icon,trailingVisual:j?Pe:void 0,children:E?"Connecting...":y.name}):e.jsxs(n,{display:"flex",flexDirection:"column",gap:2,p:2,border:"1px solid",borderColor:j?"success.muted":"border.default",borderRadius:2,backgroundColor:j?"success.subtle":"canvas.subtle",children:[e.jsxs(n,{display:"flex",alignItems:"center",gap:2,children:[e.jsx(n,{width:40,height:40,borderRadius:2,display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:y.color,color:"white",children:e.jsx(y.icon,{size:20})}),e.jsxs(n,{flex:1,children:[e.jsx(i,{sx:{fontWeight:"bold",display:"block"},children:y.name}),e.jsx(i,{sx:{fontSize:0,color:"fg.muted",display:"block"},children:j&&f?.userInfo?`Connected as ${f.userInfo.name||f.userInfo.email}`:y.description})]}),!j&&e.jsx(L,{...O,variant:"primary",leadingVisual:de,children:E?"Working...":"Connect"})]}),j&&f&&e.jsxs(n,{display:"flex",flexDirection:"column",gap:2,children:[e.jsxs(n,{display:"flex",alignItems:"center",gap:2,pl:1,children:[f.userInfo?.avatarUrl&&e.jsx("a",{href:f.userInfo.profileUrl||`https://github.com/${f.userInfo.username}`,target:"_blank",rel:"noopener noreferrer",style:{display:"block",lineHeight:0},children:e.jsx("img",{src:f.userInfo.avatarUrl,alt:f.userInfo.name||"User avatar",style:{width:32,height:32,borderRadius:"50%",cursor:"pointer"}})}),e.jsxs(n,{flex:1,children:[f.userInfo?.username&&e.jsx("a",{href:f.userInfo.profileUrl||`https://github.com/${f.userInfo.username}`,target:"_blank",rel:"noopener noreferrer",style:{textDecoration:"none"},children:e.jsxs(i,{sx:{fontSize:1,color:"fg.muted",display:"block",":hover":{textDecoration:"underline"}},children:["@",f.userInfo.username]})}),e.jsx(i,{sx:{fontSize:0,color:"fg.muted",display:"block"},children:f.token?.expiresAt?`Expires ${new Date(f.token.expiresAt).toLocaleDateString()}`:"Token does not expire"})]})]}),f.scopes&&f.scopes.length>0&&e.jsx(n,{display:"flex",flexWrap:"wrap",gap:1,pl:1,children:f.scopes.map(g=>e.jsx(i,{sx:{fontSize:0,px:2,py:1,bg:"neutral.muted",borderRadius:2,color:"fg.muted"},children:g},g))}),e.jsxs(L,{...O,variant:"danger",leadingVisual:We,children:["Disconnect from ",y.name]})]})]})},Ue={github:{name:"GitHub",icon:Me,color:"#24292f",description:"Access GitHub repositories and APIs"},google:{name:"Google",icon:H,color:"#4285f4",description:"Access Google services and APIs"},kaggle:{name:"Kaggle",icon:H,color:"#20beff",description:"Access Kaggle datasets and notebooks"},linkedin:{name:"LinkedIn",icon:H,color:"#0077b5",description:"Access LinkedIn profile"},slack:{name:"Slack",icon:H,color:"#4a154b",description:"Access Slack workspaces"},notion:{name:"Notion",icon:H,color:"#000000",description:"Access Notion pages"},custom:{name:"Custom",icon:de,color:"#6f42c1",description:"Custom OAuth provider"}},Kt={github:["read:user","user:email","repo"],google:["openid","profile","email"],kaggle:["read"],linkedin:["r_liteprofile","r_emailaddress"],slack:["users:read","channels:read"],notion:["read_content"],custom:[]};function Jt(t){if(!t)return{isExpired:!1,isExpiringSoon:!1};const s=Date.now(),r=new Date(t),l=t-s,o=s-t,a=300*1e3;return{isExpired:l<0,isExpiringSoon:l>0&&l<a,expiresAt:r,timeUntilExpiry:l>0?l:void 0,timeSinceExpiry:l<0?o:void 0}}function he(t){const s=Math.floor(t/1e3),r=Math.floor(s/60),l=Math.floor(r/60),o=Math.floor(l/24);return o>0?o===1?"1 day":`${o} days`:l>0?l===1?"1 hour":`${l} hours`:r>0?r===1?"1 minute":`${r} minutes`:s===1?"1 second":`${s} seconds`}function Yt(t){return t.isExpired&&t.timeSinceExpiry?`Expired ${he(t.timeSinceExpiry)} ago`:t.timeUntilExpiry?t.isExpiringSoon?`Expires in ${he(t.timeUntilExpiry)}`:`Expires in ${he(t.timeUntilExpiry)}`:"Token does not expire"}function Xt({identity:t,providerConfig:s,showExpirationDetails:r=!0,allowReconnect:l=!0,onConnect:o,onDisconnect:a,onError:d}){const{connect:c,disconnect:h,configureProvider:p,isAuthorizing:S}=ke(),u=t.provider,b=Ue[u]||Ue.custom,m=z.useMemo(()=>Jt(t.token?.expiresAt),[t.token?.expiresAt]);te.useEffect(()=>{if(s?.clientId){const y=u==="github"?ye:u==="google"?je:u==="kaggle"?Se:void 0;if(y){const f=s.config?.redirectUri||(typeof window<"u"?`${window.location.origin}${window.location.pathname}`:"");p({...y,...s.config,provider:u,clientId:s.clientId,redirectUri:f})}}},[s,u,p]);const R=z.useCallback(async()=>{try{const y=s?.scopes||Kt[u];await c(u,y)}catch(y){d?.(y instanceof Error?y:new Error(String(y)))}},[u,s?.scopes,c,d]),P=z.useCallback(async()=>{try{await h(u),a?.(u)}catch(y){d?.(y instanceof Error?y:new Error(String(y)))}},[u,h,a,d]);return e.jsxs(n,{display:"flex",flexDirection:"column",gap:2,p:3,border:"1px solid",borderColor:m.isExpired?"danger.muted":m.isExpiringSoon?"attention.muted":"success.muted",borderRadius:2,backgroundColor:m.isExpired?"danger.subtle":m.isExpiringSoon?"attention.subtle":"success.subtle",children:[e.jsxs(n,{display:"flex",alignItems:"center",gap:2,children:[e.jsx(n,{width:32,height:32,borderRadius:2,display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:b.color,color:"white",children:e.jsx(b.icon,{size:16})}),e.jsxs(n,{flex:1,display:"flex",alignItems:"center",gap:2,children:[e.jsx(i,{sx:{fontWeight:"semibold",fontSize:1},children:b.name}),e.jsx(A,{size:"small",variant:"secondary",children:t.authType==="token"?"API Key":"OAuth"})]}),m.isExpired?e.jsx(A,{variant:"danger",size:"small",children:e.jsxs(n,{display:"inline-flex",alignItems:"center",gap:1,children:[e.jsx(st,{size:12})," Expired"]})}):m.isExpiringSoon?e.jsx(A,{variant:"attention",size:"small",children:e.jsxs(n,{display:"inline-flex",alignItems:"center",gap:1,children:[e.jsx(me,{size:12})," Expiring Soon"]})}):e.jsx(A,{variant:"success",size:"small",children:e.jsxs(n,{display:"inline-flex",alignItems:"center",gap:1,children:[e.jsx(Pe,{size:12})," Connected"]})})]}),e.jsxs(n,{display:"flex",alignItems:"center",gap:2,children:[t.userInfo?.avatarUrl&&e.jsx("a",{href:t.userInfo.profileUrl||(u==="github"?`https://github.com/${t.userInfo.username}`:void 0),target:"_blank",rel:"noopener noreferrer",style:{display:"block",lineHeight:0},children:e.jsx(kt,{src:t.userInfo.avatarUrl,size:32,alt:t.userInfo.name||t.userInfo.username||b.name,sx:{cursor:"pointer"}})}),e.jsxs(n,{flex:1,minWidth:0,children:[t.userInfo?.name&&e.jsx(i,{sx:{fontWeight:"semibold",fontSize:1,display:"block"},children:t.userInfo.name}),(t.userInfo?.username||t.userInfo?.email)&&e.jsx("a",{href:t.userInfo.profileUrl||(u==="github"?`https://github.com/${t.userInfo.username}`:void 0),target:"_blank",rel:"noopener noreferrer",style:{textDecoration:"none"},children:e.jsx(i,{sx:{fontSize:0,color:"fg.muted",display:"block",":hover":{textDecoration:"underline"}},children:t.userInfo.username?`@${t.userInfo.username}`:t.userInfo.email})})]})]}),r&&e.jsxs(n,{display:"flex",alignItems:"center",gap:1,children:[e.jsx(me,{size:12}),e.jsx(i,{sx:{fontSize:0,color:m.isExpired?"danger.fg":m.isExpiringSoon?"attention.fg":"fg.muted"},children:Yt(m)})]}),t.scopes&&t.scopes.length>0&&e.jsx(n,{display:"flex",flexWrap:"wrap",gap:1,children:t.scopes.map(y=>e.jsx(A,{size:"small",variant:"secondary",children:y},y))}),e.jsxs(n,{display:"flex",gap:2,mt:1,children:[m.isExpired&&l&&s?.clientId&&e.jsx(ot,{text:"Reconnect to refresh token",children:e.jsx(L,{variant:"primary",size:"small",leadingVisual:it,onClick:R,disabled:S,children:S?"Connecting...":"Reconnect"})}),e.jsxs(L,{variant:m.isExpired?"invisible":"danger",size:"small",leadingVisual:We,onClick:P,disabled:S,children:["Disconnect from ",b.name]})]})]})}function Qt({providers:t,title:s="Connected Accounts",showHeader:r=!0,showDescription:l=!0,description:o="Connected identities for this agent. Agents can use these to access external services on your behalf.",showExpirationDetails:a=!0,allowReconnect:d=!0,onConnect:c,onDisconnect:h,onError:p}){const{identities:S,error:u}=ke(),b=z.useMemo(()=>{if(t){const f=Object.keys(t);return S.filter(j=>f.includes(j.provider)||j.authType==="token"&&j.isConnected)}return S},[S,t]),m=z.useMemo(()=>new Set(S.map(f=>f.provider)),[S]),R=z.useMemo(()=>{if(!t)return{};const f=Object.keys(t),j={};for(const E of f)m.has(E)||(j[E]=t[E]);return j},[t,m]),P=Object.keys(R).length>0,y=z.useCallback(f=>j=>{p?.(f,j)},[p]);return b.length===0&&!t?null:e.jsxs(n,{children:[r&&e.jsxs(n,{display:"flex",alignItems:"center",gap:2,mb:2,children:[e.jsx(H,{size:16}),e.jsx(i,{sx:{fontSize:1,fontWeight:"semibold",color:"fg.muted"},children:s})]}),e.jsxs(n,{p:3,bg:"canvas.subtle",borderRadius:2,border:"1px solid",borderColor:"border.default",children:[l&&e.jsx(i,{sx:{fontSize:0,color:"fg.muted",display:"block",mb:b.length>0?3:0},children:o}),u&&e.jsx(nt,{variant:"danger",sx:{mb:3},children:u instanceof Error?u.message:String(u)}),b.length>0?e.jsx(n,{display:"flex",flexDirection:"column",gap:2,children:b.map(f=>e.jsx(Xt,{identity:f,providerConfig:t?.[f.provider],showExpirationDetails:a,allowReconnect:d,onConnect:c,onDisconnect:h,onError:y(f.provider)},f.provider))}):P?null:e.jsxs(n,{display:"flex",alignItems:"center",gap:2,color:"fg.muted",children:[e.jsx(de,{size:16}),e.jsx(i,{sx:{fontSize:1},children:"No connected accounts"})]}),P&&e.jsxs(n,{mt:b.length>0?3:0,children:[b.length>0&&e.jsx(i,{sx:{fontSize:0,color:"fg.muted",display:"block",mb:2},children:"Connect additional accounts:"}),e.jsx(n,{display:"flex",flexDirection:"column",gap:2,children:Object.keys(R).map(f=>{const j=R[f];return e.jsx(Gt,{provider:f,clientId:j.clientId,scopes:j.scopes,providerConfig:j.config,size:"medium",variant:"full",onConnect:c,onDisconnect:h,onError:y(f)},f)})})]})]})]})}const ge=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),xe=t=>{if(t==null)return"null";if(typeof t=="number"||typeof t=="boolean")return String(t);const s=String(t);return s===""?"''":/^[a-zA-Z0-9._/-]+$/.test(s)?s:JSON.stringify(s)},be=(t,s=0)=>{const r=" ".repeat(s);if(Array.isArray(t))return t.length===0?"[]":t.map(l=>ge(l)||Array.isArray(l)?`${r}-
|
|
3
3
|
${be(l,s+1)}`:`${r}- ${xe(l)}`).join(`
|
|
4
4
|
`);if(ge(t)){const l=Object.entries(t).filter(([,o])=>o!==void 0);return l.length===0?"{}":l.map(([o,a])=>ge(a)||Array.isArray(a)?`${r}${o}:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as n,Q as l,j as s,D as o,a as m}from"../datalayer-app-main.js";import{AgentDetails as p}from"./AgentDetails-
|
|
1
|
+
import{r as n,Q as l,j as s,D as o,a as m}from"../datalayer-app-main.js";import{AgentDetails as p}from"./AgentDetails-jDVTZOUO.js";import"./ArrowLeftIcon-Y3PTljcl.js";import"./UnlinkIcon-DuVqPyB-.js";import"./index-BlBHM8M3.js";import"./index-BJhxZF_K.js";import"./LinkIcon-DUI0jw25.js";import"./Avatar-9MpXENSs.js";function B({about:e,name:r,onClose:t}){const a=n.useMemo(()=>new l,[]),i=!!(e.agentId&&e.apiBase);return s.jsx(o,{title:`${e.name??r} · Agent Details`,onClose:t,width:"xlarge",height:"large",children:s.jsx("div",{"data-assistant-agent-details":"",children:s.jsx(m,{client:a,children:s.jsx(p,{name:e.name??r,protocol:e.protocol??(i?"agent-runtimes":"browser"),url:e.url??"",messageCount:0,agentId:e.agentId,apiBase:e.apiBase,onBack:t,showBackHeader:!1,showUsage:i,padded:!1,runtime:i,summary:{spec:e.spec,model:e.model,where:e.where,description:e.description,skills:e.skills}})})})})}export{B as AgentDetailsDialog,B as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as f,j as e,B as l,cu as ie,e3 as se,T as c,bf as F,ct as L,L as D,I as oe,e4 as le,e5 as V,c as U,P as ae,e6 as de,k as ce,e7 as ue,d6 as H,b6 as M,e8 as xe,e9 as fe,ea as K,eb as pe,ec as he}from"../datalayer-app-main.js";import{B,U as $}from"./index-jh9S19of.js";function R(t){const n=Number(t);return!isNaN(n)&&n>1e15?n/1e6:!isNaN(n)&&n>1e12?n/1e3:isNaN(n)?new Date(String(t)).getTime():n}function G(t){return t==null?"—":t<.001?"<1µs":t<1?`${(t*1e3).toFixed(0)}µs`:t<1e3?`${t.toFixed(1)}ms`:t<6e4?`${(t/1e3).toFixed(2)}s`:`${(t/6e4).toFixed(1)}m`}function me(t){if(t==null||t==="")return"—";try{const n=R(t),r=new Date(n);return isNaN(r.getTime())?String(t):r.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",fractionalSecondDigits:3})}catch{return String(t)}}const X=["#0969da","#1a7f37","#cf222e","#8250df","#bf8700","#0550ae","#116329","#a40e26","#6639ba","#953800","#0e8a16","#e36209"];function ge(t){let n=0;for(let r=0;r<t.length;r++)n=n*31+t.charCodeAt(r)|0;return X[Math.abs(n)%X.length]}function Q(t){const n=new Map,r=t.map(o=>({...o,children:[],depth:0}));for(const o of r)n.set(o.span_id,o);const i=[];for(const o of r)if(o.parent_span_id&&n.has(o.parent_span_id)){const x=n.get(o.parent_span_id);x.children=x.children??[],x.children.push(o)}else i.push(o);function a(o,x){o.depth=x;for(const p of o.children??[])a(p,x+1)}for(const o of i)a(o,0);return i}const be="peer.service";function je(t,n){return t.service_name===n||t.attributes?.[be]===n}function Se(t,n){return n?t.filter(r=>je(r,n)):[...t]}const Y=[],_e=()=>()=>{};function we(t){return f.useSyncExternalStore(t?t.subscribe:_e,()=>t?t.spans():Y,()=>t?t.spans():Y)}const ye="140px 1fr 160px 90px",ve="96px minmax(0, 1fr) 96px 64px";function ke(t){const n=t.attributes;if(!n)return null;const r=n["gen_ai.usage.input_tokens"]!=null?Number(n["gen_ai.usage.input_tokens"]):void 0,i=n["gen_ai.usage.output_tokens"]!=null?Number(n["gen_ai.usage.output_tokens"]):void 0;return r==null&&i==null?null:{input:r,output:i}}const Ce=({spans:t,loading:n,selectedSpanId:r,onSelectSpan:i,emptyText:a,compact:o=!1,defaultExpanded:x=!1,renderSpanMark:p,describeSpan:u})=>{const[h,d]=f.useState(new Set),m=f.useMemo(()=>({has:s=>x?!h.has(s):h.has(s)}),[h,x]),j=o?ve:ye,S=f.useMemo(()=>Q(t),[t]),g=f.useMemo(()=>{const s=[];function y(b,O){const v=b.children??[];if(s.push({span:b,depth:O,hasChildren:v.length>0}),m.has(b.span_id))for(const T of v)y(T,O+1)}for(const b of S)y(b,0);return s},[S,m]),A=f.useCallback(s=>{d(y=>{const b=new Set(y);return b.has(s)?b.delete(s):b.add(s),b})},[]);return n?e.jsx(l,{display:"flex",justifyContent:"center",p:5,children:e.jsx(ie,{size:"medium"})}):t.length===0?e.jsxs(B,{children:[e.jsx(B.Visual,{children:e.jsx(se,{size:24})}),e.jsx(B.Heading,{children:"No traces found"}),e.jsx(B.Description,{children:a??"Send some telemetry data first."})]}):e.jsxs(l,{width:"100%",flex:1,minHeight:0,overflow:"auto",children:[e.jsx(l,{display:"grid",gridTemplateColumns:j,gap:2,px:3,position:"sticky",top:0,bg:"canvas.subtle",zIndex:1,borderBottom:"2px solid",borderColor:"border.default",children:["Time","Message","Scope","Duration"].map(s=>e.jsx(c,{sx:{fontWeight:"bold",fontSize:0,color:"fg.muted",textTransform:"uppercase",letterSpacing:"0.05em",py:2,...s==="Duration"?{textAlign:"right"}:{}},children:s},s))}),g.map(({span:s,depth:y,hasChildren:b},O)=>{const v=r===s.span_id,T=m.has(s.span_id),C=y*(o?12:20),k=u?.(s);return e.jsxs(l,{"data-otel-span":s.span_id,"data-otel-span-name":s.span_name,onClick:()=>{b&&A(s.span_id),i?.(s)},display:"grid",gridTemplateColumns:j,gap:2,px:3,py:"5px",cursor:"pointer",bg:v?"accent.subtle":y>0?"canvas.inset":"canvas.default",borderBottom:"1px solid",borderColor:"border.muted",hover:{bg:v?"accent.subtle":"canvas.subtle"},children:[e.jsx(c,{sx:{fontSize:o?0:1,fontFamily:"mono",color:"fg.muted",whiteSpace:"nowrap",lineHeight:"22px"},children:me(s.start_time)}),e.jsxs(l,{display:"flex",alignItems:"center",gap:1,overflow:"hidden",lineHeight:"22px",pl:`${C}px`,children:[b?e.jsx(l,{flexShrink:0,color:"fg.muted",display:"flex",alignItems:"center",children:T?e.jsx(F,{size:14}):e.jsx(L,{size:14})}):y>0?e.jsx(l,{flexShrink:0,width:"14px",display:"flex",alignItems:"center",justifyContent:"center",color:"fg.subtle",fontSize:0,children:"─"}):null,p?.(s),e.jsx(c,{sx:{fontSize:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flexShrink:k?0:1,maxWidth:k?"60%":void 0},title:s.span_name,children:s.span_name}),s.in_progress&&e.jsx(D,{variant:"attention",size:"small",children:"running"}),s.status_code==="ERROR"&&e.jsx(D,{variant:"danger",size:"small",children:"ERROR"}),(()=>{const I=ke(s);return I?e.jsxs(l,{display:"inline-flex",alignItems:"center",gap:"2px",border:"1px solid",borderColor:"border.default",borderRadius:2,px:1,fontSize:"10px",fontFamily:"mono",color:"fg.muted",flexShrink:0,lineHeight:"16px",children:[I.input!=null&&e.jsxs(l,{display:"inline-flex",alignItems:"center",gap:"1px",children:[e.jsx(c,{sx:{fontSize:"9px",color:"fg.subtle"},children:"↗"}),e.jsx(c,{children:I.input})]}),I.output!=null&&e.jsxs(l,{display:"inline-flex",alignItems:"center",gap:"1px",children:[e.jsx(c,{sx:{fontSize:"9px",color:"fg.subtle"},children:"↙"}),e.jsx(c,{children:I.output})]})]}):null})(),k&&e.jsx(c,{sx:{fontSize:1,color:"fg.muted",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},title:k,"data-otel-span-description":"",children:k}),s.otel_scope_name&&!o&&e.jsx(D,{size:"small",variant:"secondary",sx:{flexShrink:0,fontSize:"10px"},children:s.otel_scope_name})]}),e.jsx(c,{sx:{fontSize:1,color:"fg.muted",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",lineHeight:"22px"},title:`${s.service_name} / ${s.otel_scope_name??""}`,children:s.service_name}),e.jsx(c,{sx:{fontSize:1,fontFamily:"mono",textAlign:"right",lineHeight:"22px",color:s.duration_ms!=null&&s.duration_ms>1e3?"danger.fg":"fg.default"},children:s.in_progress?"…":G(s.duration_ms)})]},`${s.trace_id}-${s.span_id}-${O}`)})]})},ze=20,Z=({span:t,depth:n,selectedSpanId:r,onSelectSpan:i,expandedIds:a,toggleExpanded:o,traceMinTime:x,traceDuration:p})=>{const u=(t.children?.length??0)>0,h=a.has(t.span_id),d=r===t.span_id,m=ge(t.service_name),j=(R(t.start_time)-x)/p*100,S=Math.max((t.duration_ms||0)/p*100,.5);return e.jsxs(e.Fragment,{children:[e.jsxs(l,{display:"flex",alignItems:"center",height:28,pl:`${n*ze}px`,pr:2,cursor:"pointer",bg:d?"accent.subtle":"canvas.default",borderBottom:"1px solid",borderColor:"border.muted",hover:{bg:d?"accent.subtle":"canvas.subtle"},onClick:()=>i?.(t),children:[e.jsx(l,{width:20,textAlign:"center",color:"fg.muted",userSelect:"none",flexShrink:0,cursor:u?"pointer":"default",onClick:g=>{g.stopPropagation(),u&&o(t.span_id)},children:u?h?e.jsx(F,{size:12}):e.jsx(L,{size:12}):e.jsx(c,{sx:{color:"fg.subtle",fontSize:0},children:"·"})}),e.jsx(l,{width:8,height:8,borderRadius:"50%",bg:m,flexShrink:0,mr:1}),e.jsx(c,{sx:{flex:"0 0 200px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:1,fontWeight:d?"bold":"normal"},title:`${t.service_name} / ${t.span_name}`,children:t.span_name}),e.jsx(l,{flex:1,position:"relative",height:12,bg:"canvas.subtle",borderRadius:1,mx:2,overflow:"hidden",children:e.jsx(l,{position:"absolute",left:`${j}%`,width:`${S}%`,height:"100%",bg:m,borderRadius:1,opacity:d?1:.7})}),e.jsx(c,{sx:{minWidth:60,textAlign:"right",fontSize:0,fontFamily:"mono",color:"fg.muted",flexShrink:0},children:G(t.duration_ms)})]}),u&&h&&t.children.map(g=>e.jsx(Z,{span:g,depth:n+1,selectedSpanId:r,onSelectSpan:i,expandedIds:a,toggleExpanded:o,traceMinTime:x,traceDuration:p},g.span_id))]})},Ie=({spans:t,selectedSpanId:n,onSelectSpan:r,defaultExpandDepth:i=2})=>{const a=f.useMemo(()=>{const d=new Set;function m(j,S){for(const g of j)S<i&&d.add(g.span_id),g.children&&m(g.children,S+1)}return m(t,0),d},[t,i]),[o,x]=f.useState(a),p=f.useCallback(d=>{x(m=>{const j=new Set(m);return j.has(d)?j.delete(d):j.add(d),j})},[]),{traceMinTime:u,traceDuration:h}=f.useMemo(()=>{let d=1/0,m=-1/0;function j(S){for(const g of S){const A=R(g.start_time),s=R(g.end_time);A<d&&(d=A),s>m&&(m=s),g.children&&j(g.children)}}return j(t),d===1/0?{traceMinTime:0,traceDuration:1}:{traceMinTime:d,traceDuration:m-d||1}},[t]);return t.length===0?e.jsx(l,{p:3,color:"fg.muted",textAlign:"center",children:e.jsx(c,{children:"No span tree to display."})}):e.jsxs(l,{width:"100%",overflow:"auto",children:[e.jsxs(l,{display:"flex",alignItems:"center",height:28,px:2,borderBottom:"2px solid",borderColor:"border.default",bg:"canvas.subtle",children:[e.jsx(l,{width:20}),e.jsx(l,{width:8,mr:1}),e.jsx(c,{sx:{flex:"0 0 200px",fontSize:0,fontWeight:"bold",color:"fg.muted",textTransform:"uppercase",letterSpacing:"0.05em"},children:"Span"}),e.jsx(c,{sx:{flex:1,mx:2,fontSize:0,fontWeight:"bold",color:"fg.muted",textTransform:"uppercase",letterSpacing:"0.05em"},children:"Timeline"}),e.jsx(c,{sx:{minWidth:60,textAlign:"right",fontSize:0,fontWeight:"bold",color:"fg.muted",textTransform:"uppercase",letterSpacing:"0.05em"},children:"Duration"})]}),t.map(d=>e.jsx(Z,{span:d,depth:0,selectedSpanId:n,onSelectSpan:r,expandedIds:o,toggleExpanded:p,traceMinTime:u,traceDuration:h},d.span_id))]})},w=({label:t,value:n,mono:r=!1})=>n==null||n===""?null:e.jsxs(l,{display:"flex",py:1,borderBottom:"1px solid",borderColor:"border.muted",gap:2,children:[e.jsx(c,{sx:{width:140,minWidth:140,color:"fg.muted",fontSize:1,fontWeight:"bold"},children:t}),e.jsx(c,{sx:{fontSize:1,fontFamily:r?"mono":"normal",wordBreak:"break-all"},children:String(n)})]}),q=({title:t,data:n,defaultOpen:r=!1})=>{const[i,a]=f.useState(r);return!n||Object.keys(n).length===0?null:e.jsxs(l,{mt:3,children:[e.jsxs(l,{display:"flex",alignItems:"center",gap:1,cursor:"pointer",py:1,userSelect:"none",onClick:()=>a(!i),children:[i?e.jsx(F,{size:16}):e.jsx(L,{size:16}),e.jsx(c,{sx:{fontSize:1,fontWeight:"bold"},children:t}),e.jsx(V,{children:Object.keys(n).length})]}),i&&e.jsx(l,{bg:"canvas.subtle",borderRadius:2,border:"1px solid",borderColor:"border.default",p:2,mt:1,overflowX:"auto",children:Object.entries(n).map(([o,x])=>e.jsx(W,{attrKey:o,value:x,depth:0},o))})]})};function Te(t){if(typeof t!="string")return t;const n=t.trim();if(!/^[[{]/.test(n))return t;try{const r=JSON.parse(n);return typeof r=="object"&&r!==null?r:t}catch{return t}}const W=({attrKey:t,value:n,depth:r})=>{const i=f.useMemo(()=>Te(n),[n]),[a,o]=f.useState(r<1),x=typeof i=="object"&&i!==null&&!Array.isArray(i),p=Array.isArray(i),u=x||p;return e.jsxs(l,{borderBottom:r===0?"1px solid":"none",borderColor:"border.muted",pb:r===0?1:0,mb:r===0?1:0,children:[e.jsxs(l,{display:"flex",gap:2,py:1,pl:r*16+"px",alignItems:"flex-start",children:[u?e.jsx(l,{cursor:"pointer",color:"fg.muted",userSelect:"none",width:16,flexShrink:0,onClick:()=>o(!a),children:a?e.jsx(F,{size:12}):e.jsx(L,{size:12})}):e.jsx(l,{width:16,flexShrink:0}),e.jsx(c,{sx:{color:"accent.fg",fontSize:1,fontFamily:"mono",minWidth:180,wordBreak:"break-all",flexShrink:0},children:t}),!u&&e.jsx(c,{sx:{fontSize:1,fontFamily:"mono",whiteSpace:"pre-wrap",wordBreak:"break-word",color:typeof i=="string"?"accent.emphasis":"attention.fg"},children:typeof i=="string"?i:JSON.stringify(i)}),u&&!a&&e.jsx(c,{sx:{fontSize:0,color:"fg.muted",fontFamily:"mono"},children:p?`[${i.length} items]`:`{${Object.keys(i).length} keys}`})]}),u&&a&&e.jsx(l,{children:p?i.map((h,d)=>e.jsx(W,{attrKey:`[${d}]`,value:h,depth:r+1},d)):Object.entries(i).map(([h,d])=>e.jsx(W,{attrKey:h,value:d,depth:r+1},h))})]})},Ae=({span:t,traceSpans:n,onClose:r})=>{const[i,a]=f.useState("details");if(!t)return e.jsx(l,{p:5,color:"fg.muted",textAlign:"center",children:e.jsx(c,{children:"Select a span to view details."})});const o={},x={};if(t.attributes)for(const[u,h]of Object.entries(t.attributes))u.startsWith("gen_ai.")||u.startsWith("model_request")?o[u]=h:x[u]=h;const p=n&&n.length>0?Q(n):void 0;return e.jsxs(l,{height:"100%",overflow:"auto",borderLeft:"1px solid",borderColor:"border.default",bg:"canvas.default",display:"flex",flexDirection:"column",children:[e.jsxs(l,{px:3,py:2,borderBottom:"1px solid",borderColor:"border.default",display:"flex",justifyContent:"space-between",alignItems:"center",bg:"canvas.subtle",flexShrink:0,children:[e.jsx(c,{sx:{fontSize:2,fontWeight:"bold"},children:t.span_name}),r&&e.jsx(oe,{icon:le,"aria-label":"Close detail panel",variant:"invisible",size:"small",onClick:r})]}),e.jsxs($,{"aria-label":"Span detail tabs",children:[e.jsx($.Item,{"aria-current":i==="details"?"page":void 0,onClick:()=>a("details"),children:"Details"}),p&&e.jsx($.Item,{"aria-current":i==="tree"?"page":void 0,onClick:()=>a("tree"),children:"Trace Tree"}),e.jsx($.Item,{"aria-current":i==="raw"?"page":void 0,onClick:()=>a("raw"),children:"Raw Data"})]}),e.jsxs(l,{flex:1,overflow:"auto",children:[i==="details"&&e.jsxs(l,{p:3,children:[e.jsx(w,{label:"span_name",value:t.span_name}),e.jsx(w,{label:"service_name",value:t.service_name}),e.jsx(w,{label:"otel_scope_name",value:t.otel_scope_name}),e.jsx(w,{label:"kind",value:t.kind}),e.jsx(w,{label:"trace_id",value:t.trace_id,mono:!0}),e.jsx(w,{label:"span_id",value:t.span_id,mono:!0}),e.jsx(w,{label:"parent_span_id",value:t.parent_span_id,mono:!0}),e.jsx(w,{label:"duration",value:G(t.duration_ms)}),e.jsx(w,{label:"start_time",value:t.start_time,mono:!0}),e.jsx(w,{label:"end_time",value:t.end_time,mono:!0}),e.jsx(w,{label:"status_code",value:t.status_code}),e.jsx(w,{label:"status_message",value:t.status_message}),e.jsx(q,{title:"Arguments",data:o,defaultOpen:Object.keys(o).length>0}),e.jsx(q,{title:"Attributes",data:x}),t.events&&t.events.length>0&&e.jsxs(l,{mt:3,children:[e.jsxs(l,{display:"flex",alignItems:"center",gap:1,children:[e.jsx(c,{sx:{fontWeight:"bold",fontSize:1},children:"Events"}),e.jsx(V,{children:t.events.length})]}),t.events.map((u,h)=>e.jsxs(l,{bg:"canvas.subtle",borderRadius:2,border:"1px solid",borderColor:"border.default",p:2,mt:2,children:[e.jsxs(l,{display:"flex",gap:2,children:[e.jsx(D,{children:u.name}),e.jsx(c,{sx:{fontSize:0,color:"fg.muted",fontFamily:"mono"},children:u.timestamp})]}),u.attributes&&Object.keys(u.attributes).length>0&&e.jsx(l,{mt:1,children:Object.entries(u.attributes).map(([d,m])=>e.jsx(W,{attrKey:d,value:m,depth:0},d))})]},h))]}),t.links&&t.links.length>0&&e.jsxs(l,{mt:3,children:[e.jsxs(l,{display:"flex",alignItems:"center",gap:1,children:[e.jsx(c,{sx:{fontWeight:"bold",fontSize:1},children:"Links"}),e.jsx(V,{children:t.links.length})]}),t.links.map((u,h)=>e.jsxs(c,{sx:{display:"block",fontSize:1,fontFamily:"mono",py:1,borderBottom:"1px solid",borderColor:"border.muted"},children:["trace: ",u.trace_id," → span: ",u.span_id]},h))]})]}),i==="tree"&&p&&e.jsx(Ie,{spans:p,selectedSpanId:t.span_id,defaultExpandDepth:4}),i==="raw"&&e.jsx(l,{as:"pre",p:3,fontSize:0,fontFamily:"mono",whiteSpace:"pre-wrap",wordBreak:"break-word",m:0,bg:"canvas.subtle",children:JSON.stringify(t,null,2)})]})]})},Oe=[{label:"Service",value:t=>t.service_name},{label:"Kind",value:t=>t.kind}];function Ne(t,n,r){return t.filter(i=>n.every((a,o)=>{const x=r[o];if(!x?.size)return!0;const p=a.value(i);return p!==void 0&&x.has(p)}))}function Ee(t,n){const r=new Set(t);return r.has(n)?r.delete(n):r.add(n),r}function Re({facet:t,options:n,selected:r,onChange:i}){const a=t.name??(o=>o);return e.jsxs(H,{children:[e.jsxs(H.Button,{size:"small","data-otel-facet":t.label.toLowerCase(),children:[t.label,r.size?` · ${r.size}`:""]}),e.jsx(H.Overlay,{width:"auto",children:e.jsxs(M,{selectionVariant:"multiple","aria-label":t.label,children:[e.jsx(M.Item,{selected:!r.size,onSelect:()=>i(new Set),children:"All"}),e.jsx(M.Divider,{}),n.map(o=>e.jsx(M.Item,{selected:r.has(o),onSelect:()=>i(Ee(r,o)),children:a(o)},o))]})})]})}function Me(t,n){const r=new Blob([JSON.stringify(n,null,2)],{type:"application/json"}),i=URL.createObjectURL(r),a=document.createElement("a");a.href=i,a.download=`${t}.json`,a.click(),setTimeout(()=>URL.revokeObjectURL(i),1e3)}const Be=({tracer:t,spans:n,service:r,facets:i=Oe,compact:a=!1,maxHeight:o=420,detailPlacement:x="below",emptyText:p="Nothing recorded yet.",exportName:u="otel-spans",label:h="Spans",renderSpanMark:d,describeSpan:m})=>{const j=we(n?null:t),S=n??j,[g,A]=f.useState(0),[s,y]=f.useState(null),[b,O]=f.useState(()=>i.map(()=>new Set)),[v,T]=f.useState(null),C=f.useMemo(()=>{const _=Se(S,r);return g?_.filter(z=>R(z.start_time)>=g):_},[S,r,g]),k=s??C,I=s?C.length-s.length:0,ee=f.useMemo(()=>i.map(_=>[...new Set(C.map(z=>_.value(z)).filter(z=>z!==void 0))].sort()),[i,C]),N=f.useMemo(()=>Ne(k,i,b),[k,i,b]),E=f.useMemo(()=>v?S.find(_=>_.span_id===v)??null:null,[S,v]),te=f.useMemo(()=>E?S.filter(_=>_.trace_id===E.trace_id):[],[S,E]),P=x==="side"&&!a;return e.jsxs(l,{"data-otel-live-spans":"",border:"1px solid",borderColor:"border.default",borderRadius:2,bg:"canvas.default",color:"fg.default",minWidth:0,children:[e.jsxs(l,{role:"toolbar","aria-label":h,display:"flex",flexWrap:"wrap",gap:2,alignItems:"center",p:2,borderBottom:"1px solid",borderColor:"border.default",children:[i.map((_,z)=>e.jsx(Re,{facet:_,options:ee[z]??[],selected:b[z]??new Set,onChange:ne=>O(re=>i.map((We,J)=>J===z?ne:re[J]??new Set))},_.label)),e.jsx(l,{flex:1}),e.jsxs(c,{sx:{fontSize:0,color:"fg.muted"},"data-otel-span-count":"",children:[N.length===k.length?`${N.length} ${N.length===1?"span":"spans"}`:`${N.length} of ${k.length}`,I>0?` · ${I} new`:""]}),e.jsx(U,{size:"small",leadingVisual:s?ae:de,"aria-pressed":s!==null,onClick:()=>y(s?null:C),"data-otel-pause":"",children:s?"Resume":"Pause"}),e.jsx(U,{size:"small",leadingVisual:ce,onClick:()=>{y(null),T(null),t&&!n&&!r?t.clear():A(Date.now())},"data-otel-clear":"",children:"Clear"}),e.jsx(U,{size:"small",leadingVisual:ue,disabled:!C.length,onClick:()=>Me(u,{exportedAt:new Date().toISOString(),spans:[...C]}),"data-otel-export":"",children:"Export"})]}),e.jsxs(l,{display:P?"grid":"block",gridTemplateColumns:P?"minmax(0, 3fr) minmax(0, 2fr)":void 0,children:[e.jsx(l,{maxHeight:o,overflowY:"auto",minWidth:0,children:e.jsx(Ce,{spans:N,selectedSpanId:v,onSelectSpan:_=>T(_.span_id),emptyText:p,compact:a,defaultExpanded:!0,renderSpanMark:d,describeSpan:m})}),E&&e.jsx(l,{"data-otel-live-detail":"",maxHeight:o,overflowY:"auto",minWidth:0,borderTop:P?"none":"1px solid",borderColor:"border.default",children:e.jsx(Ae,{span:E,traceSpans:te,onClose:()=>T(null)})})]})]})},$e=[{label:"Source",value:fe,name:t=>xe[t]??t},{label:"Operation",value:t=>{const n=t.attributes??{},r=n[K.operation]??n["rpc.method"];return r===void 0?void 0:String(r)}},{label:"Agent",value:t=>t.service_name}];function De(t){const n=t.attributes?.[K.markIcon],r=t.attributes?.[K.markEmoji];return n||r?e.jsx(he,{icon:typeof n=="string"?n:void 0,emoji:typeof r=="string"?r:void 0,size:14}):null}function Pe({tracer:t,spans:n,agent:r,maxHeight:i=420,compact:a=!1,emptyText:o="Nothing recorded yet.",exportName:x="agent-inspector"}){return e.jsx("div",{"data-agent-inspector":r??"",children:e.jsx(Be,{tracer:t,spans:n,service:r,facets:$e,compact:a,maxHeight:i,detailPlacement:"side",emptyText:o,exportName:x,label:r?`${r}'s Agent Inspector`:"Agent Inspector",renderSpanMark:De,describeSpan:pe})})}export{$e as AGENT_INSPECTOR_FACETS,Pe as AgentInspector,Pe as default};
|
|
1
|
+
import{r as f,j as e,B as l,cu as ie,e3 as se,T as c,bf as F,ct as L,L as D,I as oe,e4 as le,e5 as V,c as U,P as ae,e6 as de,k as ce,e7 as ue,d6 as H,b6 as M,e8 as xe,e9 as fe,ea as K,eb as pe,ec as he}from"../datalayer-app-main.js";import{B,U as $}from"./index-Crj6AD3D.js";function R(t){const n=Number(t);return!isNaN(n)&&n>1e15?n/1e6:!isNaN(n)&&n>1e12?n/1e3:isNaN(n)?new Date(String(t)).getTime():n}function G(t){return t==null?"—":t<.001?"<1µs":t<1?`${(t*1e3).toFixed(0)}µs`:t<1e3?`${t.toFixed(1)}ms`:t<6e4?`${(t/1e3).toFixed(2)}s`:`${(t/6e4).toFixed(1)}m`}function me(t){if(t==null||t==="")return"—";try{const n=R(t),r=new Date(n);return isNaN(r.getTime())?String(t):r.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",fractionalSecondDigits:3})}catch{return String(t)}}const X=["#0969da","#1a7f37","#cf222e","#8250df","#bf8700","#0550ae","#116329","#a40e26","#6639ba","#953800","#0e8a16","#e36209"];function ge(t){let n=0;for(let r=0;r<t.length;r++)n=n*31+t.charCodeAt(r)|0;return X[Math.abs(n)%X.length]}function Q(t){const n=new Map,r=t.map(o=>({...o,children:[],depth:0}));for(const o of r)n.set(o.span_id,o);const i=[];for(const o of r)if(o.parent_span_id&&n.has(o.parent_span_id)){const x=n.get(o.parent_span_id);x.children=x.children??[],x.children.push(o)}else i.push(o);function a(o,x){o.depth=x;for(const p of o.children??[])a(p,x+1)}for(const o of i)a(o,0);return i}const be="peer.service";function je(t,n){return t.service_name===n||t.attributes?.[be]===n}function Se(t,n){return n?t.filter(r=>je(r,n)):[...t]}const Y=[],_e=()=>()=>{};function we(t){return f.useSyncExternalStore(t?t.subscribe:_e,()=>t?t.spans():Y,()=>t?t.spans():Y)}const ye="140px 1fr 160px 90px",ve="96px minmax(0, 1fr) 96px 64px";function ke(t){const n=t.attributes;if(!n)return null;const r=n["gen_ai.usage.input_tokens"]!=null?Number(n["gen_ai.usage.input_tokens"]):void 0,i=n["gen_ai.usage.output_tokens"]!=null?Number(n["gen_ai.usage.output_tokens"]):void 0;return r==null&&i==null?null:{input:r,output:i}}const Ce=({spans:t,loading:n,selectedSpanId:r,onSelectSpan:i,emptyText:a,compact:o=!1,defaultExpanded:x=!1,renderSpanMark:p,describeSpan:u})=>{const[h,d]=f.useState(new Set),m=f.useMemo(()=>({has:s=>x?!h.has(s):h.has(s)}),[h,x]),j=o?ve:ye,S=f.useMemo(()=>Q(t),[t]),g=f.useMemo(()=>{const s=[];function y(b,O){const v=b.children??[];if(s.push({span:b,depth:O,hasChildren:v.length>0}),m.has(b.span_id))for(const T of v)y(T,O+1)}for(const b of S)y(b,0);return s},[S,m]),A=f.useCallback(s=>{d(y=>{const b=new Set(y);return b.has(s)?b.delete(s):b.add(s),b})},[]);return n?e.jsx(l,{display:"flex",justifyContent:"center",p:5,children:e.jsx(ie,{size:"medium"})}):t.length===0?e.jsxs(B,{children:[e.jsx(B.Visual,{children:e.jsx(se,{size:24})}),e.jsx(B.Heading,{children:"No traces found"}),e.jsx(B.Description,{children:a??"Send some telemetry data first."})]}):e.jsxs(l,{width:"100%",flex:1,minHeight:0,overflow:"auto",children:[e.jsx(l,{display:"grid",gridTemplateColumns:j,gap:2,px:3,position:"sticky",top:0,bg:"canvas.subtle",zIndex:1,borderBottom:"2px solid",borderColor:"border.default",children:["Time","Message","Scope","Duration"].map(s=>e.jsx(c,{sx:{fontWeight:"bold",fontSize:0,color:"fg.muted",textTransform:"uppercase",letterSpacing:"0.05em",py:2,...s==="Duration"?{textAlign:"right"}:{}},children:s},s))}),g.map(({span:s,depth:y,hasChildren:b},O)=>{const v=r===s.span_id,T=m.has(s.span_id),C=y*(o?12:20),k=u?.(s);return e.jsxs(l,{"data-otel-span":s.span_id,"data-otel-span-name":s.span_name,onClick:()=>{b&&A(s.span_id),i?.(s)},display:"grid",gridTemplateColumns:j,gap:2,px:3,py:"5px",cursor:"pointer",bg:v?"accent.subtle":y>0?"canvas.inset":"canvas.default",borderBottom:"1px solid",borderColor:"border.muted",hover:{bg:v?"accent.subtle":"canvas.subtle"},children:[e.jsx(c,{sx:{fontSize:o?0:1,fontFamily:"mono",color:"fg.muted",whiteSpace:"nowrap",lineHeight:"22px"},children:me(s.start_time)}),e.jsxs(l,{display:"flex",alignItems:"center",gap:1,overflow:"hidden",lineHeight:"22px",pl:`${C}px`,children:[b?e.jsx(l,{flexShrink:0,color:"fg.muted",display:"flex",alignItems:"center",children:T?e.jsx(F,{size:14}):e.jsx(L,{size:14})}):y>0?e.jsx(l,{flexShrink:0,width:"14px",display:"flex",alignItems:"center",justifyContent:"center",color:"fg.subtle",fontSize:0,children:"─"}):null,p?.(s),e.jsx(c,{sx:{fontSize:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flexShrink:k?0:1,maxWidth:k?"60%":void 0},title:s.span_name,children:s.span_name}),s.in_progress&&e.jsx(D,{variant:"attention",size:"small",children:"running"}),s.status_code==="ERROR"&&e.jsx(D,{variant:"danger",size:"small",children:"ERROR"}),(()=>{const I=ke(s);return I?e.jsxs(l,{display:"inline-flex",alignItems:"center",gap:"2px",border:"1px solid",borderColor:"border.default",borderRadius:2,px:1,fontSize:"10px",fontFamily:"mono",color:"fg.muted",flexShrink:0,lineHeight:"16px",children:[I.input!=null&&e.jsxs(l,{display:"inline-flex",alignItems:"center",gap:"1px",children:[e.jsx(c,{sx:{fontSize:"9px",color:"fg.subtle"},children:"↗"}),e.jsx(c,{children:I.input})]}),I.output!=null&&e.jsxs(l,{display:"inline-flex",alignItems:"center",gap:"1px",children:[e.jsx(c,{sx:{fontSize:"9px",color:"fg.subtle"},children:"↙"}),e.jsx(c,{children:I.output})]})]}):null})(),k&&e.jsx(c,{sx:{fontSize:1,color:"fg.muted",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},title:k,"data-otel-span-description":"",children:k}),s.otel_scope_name&&!o&&e.jsx(D,{size:"small",variant:"secondary",sx:{flexShrink:0,fontSize:"10px"},children:s.otel_scope_name})]}),e.jsx(c,{sx:{fontSize:1,color:"fg.muted",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",lineHeight:"22px"},title:`${s.service_name} / ${s.otel_scope_name??""}`,children:s.service_name}),e.jsx(c,{sx:{fontSize:1,fontFamily:"mono",textAlign:"right",lineHeight:"22px",color:s.duration_ms!=null&&s.duration_ms>1e3?"danger.fg":"fg.default"},children:s.in_progress?"…":G(s.duration_ms)})]},`${s.trace_id}-${s.span_id}-${O}`)})]})},ze=20,Z=({span:t,depth:n,selectedSpanId:r,onSelectSpan:i,expandedIds:a,toggleExpanded:o,traceMinTime:x,traceDuration:p})=>{const u=(t.children?.length??0)>0,h=a.has(t.span_id),d=r===t.span_id,m=ge(t.service_name),j=(R(t.start_time)-x)/p*100,S=Math.max((t.duration_ms||0)/p*100,.5);return e.jsxs(e.Fragment,{children:[e.jsxs(l,{display:"flex",alignItems:"center",height:28,pl:`${n*ze}px`,pr:2,cursor:"pointer",bg:d?"accent.subtle":"canvas.default",borderBottom:"1px solid",borderColor:"border.muted",hover:{bg:d?"accent.subtle":"canvas.subtle"},onClick:()=>i?.(t),children:[e.jsx(l,{width:20,textAlign:"center",color:"fg.muted",userSelect:"none",flexShrink:0,cursor:u?"pointer":"default",onClick:g=>{g.stopPropagation(),u&&o(t.span_id)},children:u?h?e.jsx(F,{size:12}):e.jsx(L,{size:12}):e.jsx(c,{sx:{color:"fg.subtle",fontSize:0},children:"·"})}),e.jsx(l,{width:8,height:8,borderRadius:"50%",bg:m,flexShrink:0,mr:1}),e.jsx(c,{sx:{flex:"0 0 200px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:1,fontWeight:d?"bold":"normal"},title:`${t.service_name} / ${t.span_name}`,children:t.span_name}),e.jsx(l,{flex:1,position:"relative",height:12,bg:"canvas.subtle",borderRadius:1,mx:2,overflow:"hidden",children:e.jsx(l,{position:"absolute",left:`${j}%`,width:`${S}%`,height:"100%",bg:m,borderRadius:1,opacity:d?1:.7})}),e.jsx(c,{sx:{minWidth:60,textAlign:"right",fontSize:0,fontFamily:"mono",color:"fg.muted",flexShrink:0},children:G(t.duration_ms)})]}),u&&h&&t.children.map(g=>e.jsx(Z,{span:g,depth:n+1,selectedSpanId:r,onSelectSpan:i,expandedIds:a,toggleExpanded:o,traceMinTime:x,traceDuration:p},g.span_id))]})},Ie=({spans:t,selectedSpanId:n,onSelectSpan:r,defaultExpandDepth:i=2})=>{const a=f.useMemo(()=>{const d=new Set;function m(j,S){for(const g of j)S<i&&d.add(g.span_id),g.children&&m(g.children,S+1)}return m(t,0),d},[t,i]),[o,x]=f.useState(a),p=f.useCallback(d=>{x(m=>{const j=new Set(m);return j.has(d)?j.delete(d):j.add(d),j})},[]),{traceMinTime:u,traceDuration:h}=f.useMemo(()=>{let d=1/0,m=-1/0;function j(S){for(const g of S){const A=R(g.start_time),s=R(g.end_time);A<d&&(d=A),s>m&&(m=s),g.children&&j(g.children)}}return j(t),d===1/0?{traceMinTime:0,traceDuration:1}:{traceMinTime:d,traceDuration:m-d||1}},[t]);return t.length===0?e.jsx(l,{p:3,color:"fg.muted",textAlign:"center",children:e.jsx(c,{children:"No span tree to display."})}):e.jsxs(l,{width:"100%",overflow:"auto",children:[e.jsxs(l,{display:"flex",alignItems:"center",height:28,px:2,borderBottom:"2px solid",borderColor:"border.default",bg:"canvas.subtle",children:[e.jsx(l,{width:20}),e.jsx(l,{width:8,mr:1}),e.jsx(c,{sx:{flex:"0 0 200px",fontSize:0,fontWeight:"bold",color:"fg.muted",textTransform:"uppercase",letterSpacing:"0.05em"},children:"Span"}),e.jsx(c,{sx:{flex:1,mx:2,fontSize:0,fontWeight:"bold",color:"fg.muted",textTransform:"uppercase",letterSpacing:"0.05em"},children:"Timeline"}),e.jsx(c,{sx:{minWidth:60,textAlign:"right",fontSize:0,fontWeight:"bold",color:"fg.muted",textTransform:"uppercase",letterSpacing:"0.05em"},children:"Duration"})]}),t.map(d=>e.jsx(Z,{span:d,depth:0,selectedSpanId:n,onSelectSpan:r,expandedIds:o,toggleExpanded:p,traceMinTime:u,traceDuration:h},d.span_id))]})},w=({label:t,value:n,mono:r=!1})=>n==null||n===""?null:e.jsxs(l,{display:"flex",py:1,borderBottom:"1px solid",borderColor:"border.muted",gap:2,children:[e.jsx(c,{sx:{width:140,minWidth:140,color:"fg.muted",fontSize:1,fontWeight:"bold"},children:t}),e.jsx(c,{sx:{fontSize:1,fontFamily:r?"mono":"normal",wordBreak:"break-all"},children:String(n)})]}),q=({title:t,data:n,defaultOpen:r=!1})=>{const[i,a]=f.useState(r);return!n||Object.keys(n).length===0?null:e.jsxs(l,{mt:3,children:[e.jsxs(l,{display:"flex",alignItems:"center",gap:1,cursor:"pointer",py:1,userSelect:"none",onClick:()=>a(!i),children:[i?e.jsx(F,{size:16}):e.jsx(L,{size:16}),e.jsx(c,{sx:{fontSize:1,fontWeight:"bold"},children:t}),e.jsx(V,{children:Object.keys(n).length})]}),i&&e.jsx(l,{bg:"canvas.subtle",borderRadius:2,border:"1px solid",borderColor:"border.default",p:2,mt:1,overflowX:"auto",children:Object.entries(n).map(([o,x])=>e.jsx(W,{attrKey:o,value:x,depth:0},o))})]})};function Te(t){if(typeof t!="string")return t;const n=t.trim();if(!/^[[{]/.test(n))return t;try{const r=JSON.parse(n);return typeof r=="object"&&r!==null?r:t}catch{return t}}const W=({attrKey:t,value:n,depth:r})=>{const i=f.useMemo(()=>Te(n),[n]),[a,o]=f.useState(r<1),x=typeof i=="object"&&i!==null&&!Array.isArray(i),p=Array.isArray(i),u=x||p;return e.jsxs(l,{borderBottom:r===0?"1px solid":"none",borderColor:"border.muted",pb:r===0?1:0,mb:r===0?1:0,children:[e.jsxs(l,{display:"flex",gap:2,py:1,pl:r*16+"px",alignItems:"flex-start",children:[u?e.jsx(l,{cursor:"pointer",color:"fg.muted",userSelect:"none",width:16,flexShrink:0,onClick:()=>o(!a),children:a?e.jsx(F,{size:12}):e.jsx(L,{size:12})}):e.jsx(l,{width:16,flexShrink:0}),e.jsx(c,{sx:{color:"accent.fg",fontSize:1,fontFamily:"mono",minWidth:180,wordBreak:"break-all",flexShrink:0},children:t}),!u&&e.jsx(c,{sx:{fontSize:1,fontFamily:"mono",whiteSpace:"pre-wrap",wordBreak:"break-word",color:typeof i=="string"?"accent.emphasis":"attention.fg"},children:typeof i=="string"?i:JSON.stringify(i)}),u&&!a&&e.jsx(c,{sx:{fontSize:0,color:"fg.muted",fontFamily:"mono"},children:p?`[${i.length} items]`:`{${Object.keys(i).length} keys}`})]}),u&&a&&e.jsx(l,{children:p?i.map((h,d)=>e.jsx(W,{attrKey:`[${d}]`,value:h,depth:r+1},d)):Object.entries(i).map(([h,d])=>e.jsx(W,{attrKey:h,value:d,depth:r+1},h))})]})},Ae=({span:t,traceSpans:n,onClose:r})=>{const[i,a]=f.useState("details");if(!t)return e.jsx(l,{p:5,color:"fg.muted",textAlign:"center",children:e.jsx(c,{children:"Select a span to view details."})});const o={},x={};if(t.attributes)for(const[u,h]of Object.entries(t.attributes))u.startsWith("gen_ai.")||u.startsWith("model_request")?o[u]=h:x[u]=h;const p=n&&n.length>0?Q(n):void 0;return e.jsxs(l,{height:"100%",overflow:"auto",borderLeft:"1px solid",borderColor:"border.default",bg:"canvas.default",display:"flex",flexDirection:"column",children:[e.jsxs(l,{px:3,py:2,borderBottom:"1px solid",borderColor:"border.default",display:"flex",justifyContent:"space-between",alignItems:"center",bg:"canvas.subtle",flexShrink:0,children:[e.jsx(c,{sx:{fontSize:2,fontWeight:"bold"},children:t.span_name}),r&&e.jsx(oe,{icon:le,"aria-label":"Close detail panel",variant:"invisible",size:"small",onClick:r})]}),e.jsxs($,{"aria-label":"Span detail tabs",children:[e.jsx($.Item,{"aria-current":i==="details"?"page":void 0,onClick:()=>a("details"),children:"Details"}),p&&e.jsx($.Item,{"aria-current":i==="tree"?"page":void 0,onClick:()=>a("tree"),children:"Trace Tree"}),e.jsx($.Item,{"aria-current":i==="raw"?"page":void 0,onClick:()=>a("raw"),children:"Raw Data"})]}),e.jsxs(l,{flex:1,overflow:"auto",children:[i==="details"&&e.jsxs(l,{p:3,children:[e.jsx(w,{label:"span_name",value:t.span_name}),e.jsx(w,{label:"service_name",value:t.service_name}),e.jsx(w,{label:"otel_scope_name",value:t.otel_scope_name}),e.jsx(w,{label:"kind",value:t.kind}),e.jsx(w,{label:"trace_id",value:t.trace_id,mono:!0}),e.jsx(w,{label:"span_id",value:t.span_id,mono:!0}),e.jsx(w,{label:"parent_span_id",value:t.parent_span_id,mono:!0}),e.jsx(w,{label:"duration",value:G(t.duration_ms)}),e.jsx(w,{label:"start_time",value:t.start_time,mono:!0}),e.jsx(w,{label:"end_time",value:t.end_time,mono:!0}),e.jsx(w,{label:"status_code",value:t.status_code}),e.jsx(w,{label:"status_message",value:t.status_message}),e.jsx(q,{title:"Arguments",data:o,defaultOpen:Object.keys(o).length>0}),e.jsx(q,{title:"Attributes",data:x}),t.events&&t.events.length>0&&e.jsxs(l,{mt:3,children:[e.jsxs(l,{display:"flex",alignItems:"center",gap:1,children:[e.jsx(c,{sx:{fontWeight:"bold",fontSize:1},children:"Events"}),e.jsx(V,{children:t.events.length})]}),t.events.map((u,h)=>e.jsxs(l,{bg:"canvas.subtle",borderRadius:2,border:"1px solid",borderColor:"border.default",p:2,mt:2,children:[e.jsxs(l,{display:"flex",gap:2,children:[e.jsx(D,{children:u.name}),e.jsx(c,{sx:{fontSize:0,color:"fg.muted",fontFamily:"mono"},children:u.timestamp})]}),u.attributes&&Object.keys(u.attributes).length>0&&e.jsx(l,{mt:1,children:Object.entries(u.attributes).map(([d,m])=>e.jsx(W,{attrKey:d,value:m,depth:0},d))})]},h))]}),t.links&&t.links.length>0&&e.jsxs(l,{mt:3,children:[e.jsxs(l,{display:"flex",alignItems:"center",gap:1,children:[e.jsx(c,{sx:{fontWeight:"bold",fontSize:1},children:"Links"}),e.jsx(V,{children:t.links.length})]}),t.links.map((u,h)=>e.jsxs(c,{sx:{display:"block",fontSize:1,fontFamily:"mono",py:1,borderBottom:"1px solid",borderColor:"border.muted"},children:["trace: ",u.trace_id," → span: ",u.span_id]},h))]})]}),i==="tree"&&p&&e.jsx(Ie,{spans:p,selectedSpanId:t.span_id,defaultExpandDepth:4}),i==="raw"&&e.jsx(l,{as:"pre",p:3,fontSize:0,fontFamily:"mono",whiteSpace:"pre-wrap",wordBreak:"break-word",m:0,bg:"canvas.subtle",children:JSON.stringify(t,null,2)})]})]})},Oe=[{label:"Service",value:t=>t.service_name},{label:"Kind",value:t=>t.kind}];function Ne(t,n,r){return t.filter(i=>n.every((a,o)=>{const x=r[o];if(!x?.size)return!0;const p=a.value(i);return p!==void 0&&x.has(p)}))}function Ee(t,n){const r=new Set(t);return r.has(n)?r.delete(n):r.add(n),r}function Re({facet:t,options:n,selected:r,onChange:i}){const a=t.name??(o=>o);return e.jsxs(H,{children:[e.jsxs(H.Button,{size:"small","data-otel-facet":t.label.toLowerCase(),children:[t.label,r.size?` · ${r.size}`:""]}),e.jsx(H.Overlay,{width:"auto",children:e.jsxs(M,{selectionVariant:"multiple","aria-label":t.label,children:[e.jsx(M.Item,{selected:!r.size,onSelect:()=>i(new Set),children:"All"}),e.jsx(M.Divider,{}),n.map(o=>e.jsx(M.Item,{selected:r.has(o),onSelect:()=>i(Ee(r,o)),children:a(o)},o))]})})]})}function Me(t,n){const r=new Blob([JSON.stringify(n,null,2)],{type:"application/json"}),i=URL.createObjectURL(r),a=document.createElement("a");a.href=i,a.download=`${t}.json`,a.click(),setTimeout(()=>URL.revokeObjectURL(i),1e3)}const Be=({tracer:t,spans:n,service:r,facets:i=Oe,compact:a=!1,maxHeight:o=420,detailPlacement:x="below",emptyText:p="Nothing recorded yet.",exportName:u="otel-spans",label:h="Spans",renderSpanMark:d,describeSpan:m})=>{const j=we(n?null:t),S=n??j,[g,A]=f.useState(0),[s,y]=f.useState(null),[b,O]=f.useState(()=>i.map(()=>new Set)),[v,T]=f.useState(null),C=f.useMemo(()=>{const _=Se(S,r);return g?_.filter(z=>R(z.start_time)>=g):_},[S,r,g]),k=s??C,I=s?C.length-s.length:0,ee=f.useMemo(()=>i.map(_=>[...new Set(C.map(z=>_.value(z)).filter(z=>z!==void 0))].sort()),[i,C]),N=f.useMemo(()=>Ne(k,i,b),[k,i,b]),E=f.useMemo(()=>v?S.find(_=>_.span_id===v)??null:null,[S,v]),te=f.useMemo(()=>E?S.filter(_=>_.trace_id===E.trace_id):[],[S,E]),P=x==="side"&&!a;return e.jsxs(l,{"data-otel-live-spans":"",border:"1px solid",borderColor:"border.default",borderRadius:2,bg:"canvas.default",color:"fg.default",minWidth:0,children:[e.jsxs(l,{role:"toolbar","aria-label":h,display:"flex",flexWrap:"wrap",gap:2,alignItems:"center",p:2,borderBottom:"1px solid",borderColor:"border.default",children:[i.map((_,z)=>e.jsx(Re,{facet:_,options:ee[z]??[],selected:b[z]??new Set,onChange:ne=>O(re=>i.map((We,J)=>J===z?ne:re[J]??new Set))},_.label)),e.jsx(l,{flex:1}),e.jsxs(c,{sx:{fontSize:0,color:"fg.muted"},"data-otel-span-count":"",children:[N.length===k.length?`${N.length} ${N.length===1?"span":"spans"}`:`${N.length} of ${k.length}`,I>0?` · ${I} new`:""]}),e.jsx(U,{size:"small",leadingVisual:s?ae:de,"aria-pressed":s!==null,onClick:()=>y(s?null:C),"data-otel-pause":"",children:s?"Resume":"Pause"}),e.jsx(U,{size:"small",leadingVisual:ce,onClick:()=>{y(null),T(null),t&&!n&&!r?t.clear():A(Date.now())},"data-otel-clear":"",children:"Clear"}),e.jsx(U,{size:"small",leadingVisual:ue,disabled:!C.length,onClick:()=>Me(u,{exportedAt:new Date().toISOString(),spans:[...C]}),"data-otel-export":"",children:"Export"})]}),e.jsxs(l,{display:P?"grid":"block",gridTemplateColumns:P?"minmax(0, 3fr) minmax(0, 2fr)":void 0,children:[e.jsx(l,{maxHeight:o,overflowY:"auto",minWidth:0,children:e.jsx(Ce,{spans:N,selectedSpanId:v,onSelectSpan:_=>T(_.span_id),emptyText:p,compact:a,defaultExpanded:!0,renderSpanMark:d,describeSpan:m})}),E&&e.jsx(l,{"data-otel-live-detail":"",maxHeight:o,overflowY:"auto",minWidth:0,borderTop:P?"none":"1px solid",borderColor:"border.default",children:e.jsx(Ae,{span:E,traceSpans:te,onClose:()=>T(null)})})]})]})},$e=[{label:"Source",value:fe,name:t=>xe[t]??t},{label:"Operation",value:t=>{const n=t.attributes??{},r=n[K.operation]??n["rpc.method"];return r===void 0?void 0:String(r)}},{label:"Agent",value:t=>t.service_name}];function De(t){const n=t.attributes?.[K.markIcon],r=t.attributes?.[K.markEmoji];return n||r?e.jsx(he,{icon:typeof n=="string"?n:void 0,emoji:typeof r=="string"?r:void 0,size:14}):null}function Pe({tracer:t,spans:n,agent:r,maxHeight:i=420,compact:a=!1,emptyText:o="Nothing recorded yet.",exportName:x="agent-inspector"}){return e.jsx("div",{"data-agent-inspector":r??"",children:e.jsx(Be,{tracer:t,spans:n,service:r,facets:$e,compact:a,maxHeight:i,detailPlacement:"side",emptyText:o,exportName:x,label:r?`${r}'s Agent Inspector`:"Agent Inspector",renderSpanMark:De,describeSpan:pe})})}export{$e as AGENT_INSPECTOR_FACETS,Pe as AgentInspector,Pe as default};
|
package/dist-embed/chunks/{AgentInspectorDialog-BJUgBPAE.js → AgentInspectorDialog-xW2BjxJT.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e,D as n,r as t,T as i,_ as c}from"../datalayer-app-main.js";const g=t.lazy(()=>c(()=>import("./AgentInspector-
|
|
1
|
+
import{j as e,D as n,r as t,T as i,_ as c}from"../datalayer-app-main.js";const g=t.lazy(()=>c(()=>import("./AgentInspector-DBI8tAJ0.js"),[],import.meta.url));function d({tracer:r,title:a="Agent Inspector",agent:o,onClose:s}){return e.jsx(n,{title:a,onClose:s,width:"xlarge",height:"large","data-agent-inspector-dialog":"",children:e.jsx(t.Suspense,{fallback:e.jsx(i,{sx:{color:"fg.muted"},children:"Loading the Agent Inspector…"}),children:e.jsx(g,{tracer:r,agent:o,maxHeight:"calc(80vh - 140px)",emptyText:"Nothing recorded yet: what the agent does shows here as it does it."})})})}export{d as AgentInspectorDialog,d as default};
|
package/dist-embed/chunks/{CellSidebarExtension-CYOVwk1t.js → CellSidebarExtension-D4_DkfUV.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as _,v as Ue,j as u,iH as Pt,I as q,e4 as Ge,cm as pe,b7 as ge,c as J,ez as Tt,et as qe,eK as Dt,iI as At,iJ as jt,iK as Je,iL as Ye,c1 as W,iM as It,iN as Nt,iO as Lt,bx as De,iP as ct,iQ as ht,iR as Rt,iS as fe,ar as Ot,by as ut,iT as ft,iU as Ft,iV as Xe,J as j,iW as Ze,iX as me,iY as Bt,iZ as Wt,i_ as Vt,ak as _e,i$ as Ie,j0 as Qe,ci as ke,ch as ee,aW as $t,dK as Gt,b_ as z,iD as Ht,ae as zt,c6 as Kt,ag as Z,cy as Ut,cZ as qt,hl as Fe,hj as mt,j1 as xe,j2 as de,j3 as Jt,am as Yt,ah as Xt,iB as Zt,j4 as pt,h6 as H,j5 as Qt,j6 as R,j7 as en,cS as tn,j8 as gt,j9 as nn,ja as sn,jb as on,o as ne,B as ue,cG as rn,dv as et,_ as an,aa as ln,dz as tt,dA as ce,dB as dn,cb as cn,l as hn,jc as un,jd as _t,eT as fn,je as ae,b6 as D,C as le,co as nt,bi as vt,d6 as mn,ct as pn,bf as Se,i as gn,P as _n,an as vn,au as yn}from"../datalayer-app-main.js";import{b as Cn,c as bn,f as he,P as Ne,d as wn,W as kn,r as xn,g as Sn,h as Mn,i as En,C as Pn,a as Tn}from"./index-DQQXY-7d.js";import{c as Dn,N as Be}from"./NotebookSkeleton-CI7ovjNW.js";import{H as An}from"./hoverbox-CStlKQWE.js";import{R as yt,L as jn}from"./index-BqMoyzEk.js";import{a as In,W as st}from"./renderer-Ba0Cwb4p.js";import{C as Me,S as Ee}from"./SquareIcon-e3ygcjpv.js";function Nn(...r){return _.useCallback(e=>{for(const t of r)typeof t=="function"?t(e):t&&(t.current=e)},r)}var Q={Banner:"prc-Banner-Banner-IR8eJ",BannerContainer:"prc-Banner-BannerContainer-lbx3d",BannerContent:"prc-Banner-BannerContent-zTITK",BannerActions:"prc-Banner-BannerActions-XCfHL",BannerTitle:"prc-Banner-BannerTitle-TcuJl",BannerIcon:"prc-Banner-BannerIcon-WuOyf",BannerDismiss:"prc-Banner-BannerDismiss-uBZVm",BannerActionsContainer:"prc-Banner-BannerActionsContainer-ukGMH"};const Ln={critical:u.jsx(At,{}),info:u.jsx(qe,{}),success:u.jsx(Dt,{}),upsell:u.jsx(qe,{}),warning:u.jsx(Tt,{})},Rn={critical:"Critical",info:"Information",success:"Success",upsell:"Recommendation",warning:"Warning"},On=Ue.forwardRef(function({"aria-label":e,children:t,className:n,description:s,hideTitle:o,icon:i,onDismiss:a,primaryAction:l,secondaryAction:d,title:c,variant:h="info",...f},m){const C=!!a,x=l||d,I=Ue.useRef(null),L=Nn(m,I),g=h==="info"||h==="upsell";return u.jsxs("section",{...f,"aria-label":e??Rn[h],className:pe(n,Q.Banner),"data-dismissible":a?"":void 0,"data-title-hidden":o?"":void 0,"data-variant":h,tabIndex:-1,ref:L,children:[u.jsx("div",{className:Q.BannerIcon,children:i&&g?i:Ln[h]}),u.jsxs("div",{className:Q.BannerContainer,children:[u.jsxs("div",{className:Q.BannerContent,children:[c?o?u.jsx(Pt,{children:u.jsx(We,{children:c})}):u.jsx(We,{children:c}):null,s?u.jsx(Ct,{children:s}):null,t]}),x?u.jsx(Fn,{primaryAction:l,secondaryAction:d}):null]}),C?u.jsx(q,{"aria-label":"Dismiss banner",onClick:a,className:Q.BannerDismiss,icon:Ge,variant:"invisible"}):null]})});function We(r){const e=ge.c(12);let t,n,s,o;e[0]!==r?({as:o,className:n,children:t,...s}=r,e[0]=r,e[1]=t,e[2]=n,e[3]=s,e[4]=o):(t=e[1],n=e[2],s=e[3],o=e[4]);const i=o===void 0?"h2":o;let a;e[5]!==n?(a=pe(n,Q.BannerTitle),e[5]=n,e[6]=a):a=e[6];let l;return e[7]!==i||e[8]!==t||e[9]!==s||e[10]!==a?(l=u.jsx(i,{...s,className:a,"data-banner-title":"",children:t}),e[7]=i,e[8]=t,e[9]=s,e[10]=a,e[11]=l):l=e[11],l}function Ct(r){const e=ge.c(10);let t,n,s;e[0]!==r?({children:t,className:n,...s}=r,e[0]=r,e[1]=t,e[2]=n,e[3]=s):(t=e[1],n=e[2],s=e[3]);let o;e[4]!==n?(o=pe("BannerDescription",n),e[4]=n,e[5]=o):o=e[5];let i;return e[6]!==t||e[7]!==s||e[8]!==o?(i=u.jsx("div",{...s,className:o,children:t}),e[6]=t,e[7]=s,e[8]=o,e[9]=i):i=e[9],i}function Fn(r){const e=ge.c(9),{primaryAction:t,secondaryAction:n}=r,s=n??null,o=t??null;let i;e[0]!==s||e[1]!==o?(i=u.jsxs("div",{className:Q.BannerActionsContainer,"data-primary-action":"trailing",children:[s,o]}),e[0]=s,e[1]=o,e[2]=i):i=e[2];const a=t??null,l=n??null;let d;e[3]!==a||e[4]!==l?(d=u.jsxs("div",{className:Q.BannerActionsContainer,"data-primary-action":"leading",children:[a,l]}),e[3]=a,e[4]=l,e[5]=d):d=e[5];let c;return e[6]!==i||e[7]!==d?(c=u.jsxs("div",{className:Q.BannerActions,children:[i,d]}),e[6]=i,e[7]=d,e[8]=c):c=e[8],c}const bt=_.forwardRef((r,e)=>{const t=ge.c(11);let n,s,o;t[0]!==r?({children:n,className:s,...o}=r,t[0]=r,t[1]=n,t[2]=s,t[3]=o):(n=t[1],s=t[2],o=t[3]);let i;t[4]!==s?(i=pe("BannerPrimaryAction",s),t[4]=s,t[5]=i):i=t[5];let a;return t[6]!==n||t[7]!==e||t[8]!==o||t[9]!==i?(a=u.jsx(J,{ref:e,className:i,variant:"default",...o,children:n}),t[6]=n,t[7]=e,t[8]=o,t[9]=i,t[10]=a):a=t[10],a});bt.displayName="BannerPrimaryAction";const wt=_.forwardRef((r,e)=>{const t=ge.c(11);let n,s,o;t[0]!==r?({children:n,className:s,...o}=r,t[0]=r,t[1]=n,t[2]=s,t[3]=o):(n=t[1],s=t[2],o=t[3]);let i;t[4]!==s?(i=pe("BannerPrimaryAction",s),t[4]=s,t[5]=i):i=t[5];let a;return t[6]!==n||t[7]!==e||t[8]!==o||t[9]!==i?(a=u.jsx(J,{ref:e,className:i,variant:"link",...o,children:n}),t[6]=n,t[7]=e,t[8]=o,t[9]=i,t[10]=a):a=t[10],a});wt.displayName="BannerSecondaryAction";const Bn=Object.assign(On,{Title:We,Description:Ct,PrimaryAction:bt,SecondaryAction:wt}),ve=Nt.define({combine(r){return r[r.length-1]}}),Wn=De.baseTheme({".jp-remote-cursor":{borderLeft:"1px solid black",marginLeft:"-1px"},".jp-remote-cursor.jp-mod-primary":{borderLeftWidth:"2px"},".jp-remote-selection":{opacity:.5},".cm-tooltip":{border:"none"},".cm-tooltip.jp-remote-userInfo":{color:"var(--fgColor-onEmphasis, #ffffff)",padding:"0px 2px"}});function He(r,e){const t=r?.username||r?.display_name||r?.name||String(e),{theme:n,colorMode:s}=Ot.getState(),o=s==="auto"?typeof window<"u"&&window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light":s;return Dn(t,n,o)}const Ae=Lt.define();class kt{style;marker;constructor(e,t){this.style=e,this.marker=t}draw(){const e=this.marker.draw();for(const[t,n]of Object.entries(this.style))e.style[t]=n;return e}eq(e){return this.marker.eq(e.marker)&&W.deepEqual(this.style,e.style)}update(e,t){for(const[n,s]of Object.entries(this.style))e.style[n]=s;return this.marker.update(e,t.marker)}}const Vn=ct({above:!0,markers(r){const{awareness:e,ytext:t}=r.state.facet(ve),n=t.doc,s=[];return e.getStates().forEach((o,i)=>{if(i===e.doc.clientID)return;const a=o.cursors;for(const l of a??[]){if(!l?.anchor||!l?.head)return;const d=fe(l.anchor,n),c=fe(l.head,n);if(d?.type!==t||c?.type!==t)return;const h=l.primary??!0?"jp-remote-cursor jp-mod-primary":"jp-remote-cursor",f=ut.cursor(c.index,c.index>d.index?-1:1);for(const m of ft.forRange(r,h,f))s.push(new kt({borderLeftColor:He(o.user,i)},m))}}),s},update(r,e){return!!r.transactions.find(t=>t.annotation(Ae))},class:"jp-remote-cursors"});function ot(r){const e=new Array,{awareness:t,ytext:n}=r.facet(ve),s=n.doc;for(const[o,i]of t.getStates())if(o!==t.doc.clientID)for(const a of i.cursors??[]){if(!a?.head)continue;const l=fe(a.head,s);l?.type===n&&e.push({pos:l.index,above:!0,create:()=>{const d=document.createElement("div");return d.classList.add("jp-remote-userInfo"),d.style.backgroundColor=He(i.user,o),d.textContent=i.user?.display_name??"Anonymous",{dom:d}}})}return e}const $n=ht.define({create:ot,update(r,e){return e.annotation(Ae)?ot(e.state):r},provide(r){return Rt.computeN([r],e=>e.field(r))}}),Gn=ct({above:!1,markers(r){const{awareness:e,ytext:t}=r.state.facet(ve),n=t.doc,s=[];return e.getStates().forEach((o,i)=>{if(i===e.doc.clientID)return;const a=o.cursors;for(const l of a??[]){if((l.empty??!0)||!l?.anchor||!l?.head)return;const d=fe(l.anchor,n),c=fe(l.head,n);if(d?.type!==t||c?.type!==t)return;const h="jp-remote-selection";for(const f of ft.forRange(r,h,ut.range(d.index,c.index)))s.push(new kt({backgroundColor:He(o.user,i)},f))}}),s},update(r,e){return!!r.transactions.find(t=>t.annotation(Ae))},class:"jp-remote-selections"}),Hn=jt.fromClass(class{editorAwareness;_listener;constructor(r){this.editorAwareness=r.state.facet(ve),this._listener=({added:e,updated:t,removed:n})=>{e.concat(t).concat(n).findIndex(o=>o!==this.editorAwareness.awareness.doc.clientID)>=0&&r.dispatch({annotations:[Ae.of([])]})},this.editorAwareness.awareness.on("change",this._listener)}destroy(){this.editorAwareness.awareness.off("change",this._listener)}update(r){if(!r.docChanged&&!r.selectionSet)return;const{awareness:e,ytext:t}=this.editorAwareness,n=e.getLocalState();if(n){const s=r.view.hasFocus&&r.view.dom.ownerDocument.hasFocus(),o=r.state.selection,i=new Array;if(s&&o){for(const a of o.ranges){const l=a===o.main,d=Je(t,a.anchor),c=Je(t,a.head);i.push({anchor:d,head:c,primary:l,empty:a.empty})}if(!n.cursors||i.length>0){const a=n.cursors?.map(l=>({...l,anchor:l?.anchor?Ye(l.anchor):null,head:l?.head?Ye(l.head):null}));W.deepEqual(i,a)||e.setLocalStateField("cursors",i)}}}}},{provide:()=>[Wn,Vn,Gn,$n,It({position:"absolute",parent:document.body})]});function zn(r){return[ve.of(r),Hn]}class je extends Ft{constructor(e={}){var t;super(),this.version="2.0.0",this.ymeta=this.ydoc.getMap("meta"),this._onMetaChanged=n=>{const s=n.find(i=>i.target===this.ymeta.get("metadata"));if(s){const i=s.changes.keys,a=this.ymeta.get("metadata");s.changes.keys.forEach((l,d)=>{switch(l.action){case"add":this._metadataChanged.emit({key:d,type:"add",newValue:a.get(d)});break;case"delete":this._metadataChanged.emit({key:d,type:"remove",oldValue:l.oldValue});break;case"update":{const c=a.get(d),h=l.oldValue;let f=!0;typeof h=="object"&&typeof c=="object"?f=W.deepEqual(h,c):f=h===c,f||this._metadataChanged.emit({key:d,type:"change",oldValue:h,newValue:c})}break}}),this._changed.emit({metadataChange:i})}const o=n.find(i=>i.target===this.ymeta);if(o){if(o.keysChanged.has("metadata")){const i=o.changes.keys.get("metadata");if(i?.action==="add"&&!i.oldValue){const a=new Map;for(const l of Object.keys(this.metadata))a.set(l,{action:"add",oldValue:void 0}),this._metadataChanged.emit({key:l,type:"add",newValue:this.getMetadata(l)});this._changed.emit({metadataChange:a})}}if(o.keysChanged.has("nbformat")){const i=o.changes.keys.get("nbformat"),a={key:"nbformat",oldValue:i?.oldValue?i.oldValue:void 0,newValue:this.nbformat};this._changed.emit({nbformatChanged:a})}if(o.keysChanged.has("nbformat_minor")){const i=o.changes.keys.get("nbformat_minor"),a={key:"nbformat_minor",oldValue:i?.oldValue?i.oldValue:void 0,newValue:this.nbformat_minor};this._changed.emit({nbformatChanged:a})}}},this._onYCellsChanged=n=>{n.changes.added.forEach(i=>{const a=i.content.type;if(!this._ycellMapping.has(a)){const l=Xe(a,{notebook:this});this._ycellMapping.set(a,l)}}),n.changes.deleted.forEach(i=>{const a=i.content.type,l=this._ycellMapping.get(a);l&&(l.dispose(),this._ycellMapping.delete(a))});let s=0;const o=[];n.changes.delta.forEach(i=>{if(i.insert!=null){const a=i.insert.map(l=>this._ycellMapping.get(l));o.push({insert:a}),this.cells.splice(s,0,...a),s+=i.insert.length}else i.delete!=null?(o.push(i),this.cells.splice(s,i.delete)):i.retain!=null&&(o.push(i),s+=i.retain)}),this._changed.emit({cellsChange:o})},this._metadataChanged=new j(this),this._ycells=this.ydoc.getArray("cells"),this._ycellMapping=new WeakMap,this._disableDocumentWideUndoRedo=(t=e.disableDocumentWideUndoRedo)!==null&&t!==void 0?t:!1,this.cells=this._ycells.toArray().map(n=>(this._ycellMapping.has(n)||this._ycellMapping.set(n,Xe(n,{notebook:this})),this._ycellMapping.get(n))),this.undoManager.addToScope(this._ycells),this._ycells.observe(this._onYCellsChanged),this.ymeta.observeDeep(this._onMetaChanged)}static create(e={}){var t,n,s,o,i,a,l,d,c;const h=new je({disableDocumentWideUndoRedo:(t=e.disableDocumentWideUndoRedo)!==null&&t!==void 0?t:!1}),f={cells:(s=(n=e.data)===null||n===void 0?void 0:n.cells)!==null&&s!==void 0?s:[],nbformat:(i=(o=e.data)===null||o===void 0?void 0:o.nbformat)!==null&&i!==void 0?i:4,nbformat_minor:(l=(a=e.data)===null||a===void 0?void 0:a.nbformat_minor)!==null&&l!==void 0?l:5,metadata:(c=(d=e.data)===null||d===void 0?void 0:d.metadata)!==null&&c!==void 0?c:{}};return h.setSource(f),h}get disableDocumentWideUndoRedo(){return this._disableDocumentWideUndoRedo}get metadata(){return this.getMetadata()}set metadata(e){this.setMetadata(e)}get metadataChanged(){return this._metadataChanged}get nbformat(){return this.ymeta.get("nbformat")}set nbformat(e){this.transact(()=>{this.ymeta.set("nbformat",e)},!1)}get nbformat_minor(){return this.ymeta.get("nbformat_minor")}set nbformat_minor(e){this.transact(()=>{this.ymeta.set("nbformat_minor",e)},!1)}dispose(){this.isDisposed||(this._ycells.unobserve(this._onYCellsChanged),this.ymeta.unobserveDeep(this._onMetaChanged),super.dispose())}getCell(e){return this.cells[e]}addCell(e){return this.insertCell(this._ycells.length,e)}insertCell(e,t){return this.insertCells(e,[t])[0]}insertCells(e,t){const n=t.map(s=>{const o=Ze(s,this);return this._ycellMapping.set(o.ymodel,o),o});return this.transact(()=>{this._ycells.insert(e,n.map(s=>s.ymodel))}),this.dirty=!0,n}moveCell(e,t){this.moveCells(e,t)}moveCells(e,t,n=1){const s=new Array(n).fill(!0).map((o,i)=>this.getCell(e+i).toJSON());this.transact(()=>{this._ycells.delete(e,n),this._ycells.insert(e>t?t:t-n+1,s.map(o=>Ze(o,this).ymodel))}),this.dirty=!0}deleteCell(e){this.deleteCellRange(e,e+1)}deleteCellRange(e,t){this.transact(()=>{this._ycells.delete(e,t-e)}),this.dirty=!0}deleteMetadata(e){if(typeof this.getMetadata(e)>"u")return;const t=this.metadata;delete t[e],this.setMetadata(t)}getMetadata(e){const t=this.ymeta.get("metadata");if(t!==void 0)if(typeof e=="string"){const n=t.get(e);return typeof n>"u"?void 0:W.deepCopy(n)}else return W.deepCopy(t.toJSON())}setMetadata(e,t){var n;if(typeof e=="string"){if(typeof t>"u")throw new TypeError(`Metadata value for ${e} cannot be 'undefined'; use deleteMetadata.`);if(W.deepEqual((n=this.getMetadata(e))!==null&&n!==void 0?n:null,t))return;const s={};s[e]=t,this.updateMetadata(s)}else if(!this.metadata||!W.deepEqual(this.metadata,e)){const s=W.deepCopy(e),o=this.ymeta.get("metadata");if(o===void 0)return;this.transact(()=>{o.clear();for(const[i,a]of Object.entries(s))o.set(i,a)}),this.dirty=!0}}updateMetadata(e){const t=W.deepCopy(e),n=this.ymeta.get("metadata");n!==void 0&&(this.transact(()=>{for(const[s,o]of Object.entries(t))n.set(s,o)}),this.dirty=!0)}getSource(){return this.toJSON()}setSource(e){this.fromJSON(e),this.dirty=!1}fromJSON(e){this.transact(()=>{this.nbformat=e.nbformat,this.nbformat_minor=e.nbformat_minor;const t=e.metadata;if(t.orig_nbformat!==void 0&&delete t.orig_nbformat,this.metadata)this.metadata=t;else{const o=new me;for(const[i,a]of Object.entries(t))o.set(i,a);this.ymeta.set("metadata",o)}const n=e.nbformat===4&&e.nbformat_minor>=5,s=e.cells.map(o=>(n||delete o.id,o));this.insertCells(this.cells.length,s),this.deleteCellRange(0,this.cells.length)})}toJSON(){const e=this.nbformat===4&&this.nbformat_minor<=4;return{metadata:this.metadata,nbformat_minor:this.nbformat_minor,nbformat:this.nbformat,cells:this.cells.map(t=>{const n=t.toJSON();return e&&delete n.id,n})}}}class Kn{constructor(e){this.model=e,this._cellMap=new WeakMap,this._changed=new j(this),this._isDisposed=!1,this._insertCells(0,this.model.cells),this.model.changed.connect(this._onSharedModelChanged,this)}get changed(){return this._changed}get isDisposed(){return this._isDisposed}get length(){return this.model.cells.length}*[Symbol.iterator](){for(const e of this.model.cells)yield this._cellMap.get(e)}dispose(){var e;if(!this._isDisposed){this._isDisposed=!0;for(const t of this.model.cells)(e=this._cellMap.get(t))===null||e===void 0||e.dispose();j.clearData(this)}}get(e){return this._cellMap.get(this.model.cells[e])}_insertCells(e,t){return t.forEach(n=>{let s;switch(n.cell_type){case"code":{s=new Vt({sharedModel:n});break}case"markdown":{s=new Wt({sharedModel:n});break}default:s=new Bt({sharedModel:n})}this._cellMap.set(n,s),n.disposed.connect(()=>{s.dispose(),this._cellMap.delete(n)})}),this.length}_onSharedModelChanged(e,t){var n;let s=0;const o=new Array;(n=t.cellsChange)===null||n===void 0||n.forEach(i=>{i.insert!=null?(this._insertCells(s,i.insert),o.push({type:"add",newIndex:s,newValues:i.insert.map(a=>this._cellMap.get(a)),oldIndex:-2,oldValues:[]}),s+=i.insert.length):i.delete!=null?o.push({type:"remove",newIndex:-1,newValues:[],oldIndex:s,oldValues:new Array(i.delete).fill(void 0)}):i.retain!=null&&(s+=i.retain)}),o.forEach(i=>this._changed.emit(i))}}class Un{constructor(e){this._requestBatchSize=10,this._cursor=0,this._hasSession=!1,this._history=[],this._placeholder="",this._kernelSession="",this._setByHistory=!1,this._isDisposed=!1,this._editor=null,this._filtered=[],this._kernel=null,this._sessionContext=e.sessionContext,this._trans=(e.translator||_e).load("jupyterlab"),this._handleKernel().then(()=>{this._sessionContext.kernelChanged.connect(this._handleKernel,this)}),this._toRequest=this._requestBatchSize}get editor(){return this._editor}set editor(e){if(this._editor===e)return;const t=this._editor;t&&t.model.sharedModel.changed.disconnect(this.onTextChange,this),this._editor=e,e&&e.model.sharedModel.changed.connect(this.onTextChange,this)}get placeholder(){return this._placeholder}get kernelSession(){return this._kernelSession}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed=!0,this._history.length=0,j.clearData(this)}async checkSession(e){var t;this._hasSession||(await this._retrieveHistory(),this._hasSession=!0,this.editor=e.editor,this._placeholder=((t=this._editor)===null||t===void 0?void 0:t.model.sharedModel.getSource())||"",this.setFilter(this._placeholder),this._cursor=this._filtered.length-1)}async back(e){return await this.checkSession(e),--this._cursor,this._cursor<0&&await this.fetchBatch(),this._cursor=Math.max(0,this._cursor),this._filtered[this._cursor]}async forward(e){return await this.checkSession(e),++this._cursor,this._cursor=Math.min(this._filtered.length-1,this._cursor),this._filtered[this._cursor]}updateEditor(e,t){var n,s;if(e){const o=(n=e.editor)===null||n===void 0?void 0:n.model,i=o?.sharedModel.getSource();if(this.isDisposed||!t||i===t)return;this._setByHistory=!0,o?.sharedModel.setSource(t);let a=0;a=t.indexOf(`
|
|
1
|
+
import{r as _,v as Ue,j as u,iI as Pt,I as q,e4 as Ge,cm as pe,b7 as ge,c as J,ez as Tt,et as qe,eK as Dt,iJ as At,iK as jt,iL as Je,iM as Ye,c1 as W,iN as It,iO as Nt,iP as Lt,bx as De,iQ as ct,iR as ht,iS as Rt,iT as fe,ar as Ot,by as ut,iU as ft,iV as Ft,iW as Xe,J as j,iX as Ze,iY as me,iZ as Bt,i_ as Wt,i$ as Vt,ak as _e,j0 as Ie,j1 as Qe,ci as ke,ch as ee,aW as $t,dK as Gt,b_ as z,iE as Ht,ae as zt,c6 as Kt,ag as Z,cy as Ut,cZ as qt,hm as Fe,hk as mt,j2 as xe,j3 as de,j4 as Jt,am as Yt,ah as Xt,iC as Zt,j5 as pt,h7 as H,j6 as Qt,j7 as R,j8 as en,cS as tn,j9 as gt,ja as nn,jb as sn,jc as on,o as ne,B as ue,cG as rn,dv as et,_ as an,aa as ln,dz as tt,dA as ce,dB as dn,cb as cn,l as hn,jd as un,je as _t,eT as fn,jf as ae,b6 as D,C as le,co as nt,bi as vt,d6 as mn,ct as pn,bf as Se,i as gn,P as _n,an as vn,au as yn}from"../datalayer-app-main.js";import{b as Cn,c as bn,f as he,P as Ne,d as wn,W as kn,r as xn,g as Sn,h as Mn,i as En,C as Pn,a as Tn}from"./index-TzvZ9g2T.js";import{c as Dn,N as Be}from"./NotebookSkeleton-CI7ovjNW.js";import{H as An}from"./hoverbox-CStlKQWE.js";import{R as yt,L as jn}from"./index-I5uUezOA.js";import{a as In,W as st}from"./renderer-B7ulbNbj.js";import{C as Me,S as Ee}from"./SquareIcon-e3ygcjpv.js";function Nn(...r){return _.useCallback(e=>{for(const t of r)typeof t=="function"?t(e):t&&(t.current=e)},r)}var Q={Banner:"prc-Banner-Banner-IR8eJ",BannerContainer:"prc-Banner-BannerContainer-lbx3d",BannerContent:"prc-Banner-BannerContent-zTITK",BannerActions:"prc-Banner-BannerActions-XCfHL",BannerTitle:"prc-Banner-BannerTitle-TcuJl",BannerIcon:"prc-Banner-BannerIcon-WuOyf",BannerDismiss:"prc-Banner-BannerDismiss-uBZVm",BannerActionsContainer:"prc-Banner-BannerActionsContainer-ukGMH"};const Ln={critical:u.jsx(At,{}),info:u.jsx(qe,{}),success:u.jsx(Dt,{}),upsell:u.jsx(qe,{}),warning:u.jsx(Tt,{})},Rn={critical:"Critical",info:"Information",success:"Success",upsell:"Recommendation",warning:"Warning"},On=Ue.forwardRef(function({"aria-label":e,children:t,className:n,description:s,hideTitle:o,icon:i,onDismiss:a,primaryAction:l,secondaryAction:d,title:c,variant:h="info",...f},m){const C=!!a,x=l||d,I=Ue.useRef(null),L=Nn(m,I),g=h==="info"||h==="upsell";return u.jsxs("section",{...f,"aria-label":e??Rn[h],className:pe(n,Q.Banner),"data-dismissible":a?"":void 0,"data-title-hidden":o?"":void 0,"data-variant":h,tabIndex:-1,ref:L,children:[u.jsx("div",{className:Q.BannerIcon,children:i&&g?i:Ln[h]}),u.jsxs("div",{className:Q.BannerContainer,children:[u.jsxs("div",{className:Q.BannerContent,children:[c?o?u.jsx(Pt,{children:u.jsx(We,{children:c})}):u.jsx(We,{children:c}):null,s?u.jsx(Ct,{children:s}):null,t]}),x?u.jsx(Fn,{primaryAction:l,secondaryAction:d}):null]}),C?u.jsx(q,{"aria-label":"Dismiss banner",onClick:a,className:Q.BannerDismiss,icon:Ge,variant:"invisible"}):null]})});function We(r){const e=ge.c(12);let t,n,s,o;e[0]!==r?({as:o,className:n,children:t,...s}=r,e[0]=r,e[1]=t,e[2]=n,e[3]=s,e[4]=o):(t=e[1],n=e[2],s=e[3],o=e[4]);const i=o===void 0?"h2":o;let a;e[5]!==n?(a=pe(n,Q.BannerTitle),e[5]=n,e[6]=a):a=e[6];let l;return e[7]!==i||e[8]!==t||e[9]!==s||e[10]!==a?(l=u.jsx(i,{...s,className:a,"data-banner-title":"",children:t}),e[7]=i,e[8]=t,e[9]=s,e[10]=a,e[11]=l):l=e[11],l}function Ct(r){const e=ge.c(10);let t,n,s;e[0]!==r?({children:t,className:n,...s}=r,e[0]=r,e[1]=t,e[2]=n,e[3]=s):(t=e[1],n=e[2],s=e[3]);let o;e[4]!==n?(o=pe("BannerDescription",n),e[4]=n,e[5]=o):o=e[5];let i;return e[6]!==t||e[7]!==s||e[8]!==o?(i=u.jsx("div",{...s,className:o,children:t}),e[6]=t,e[7]=s,e[8]=o,e[9]=i):i=e[9],i}function Fn(r){const e=ge.c(9),{primaryAction:t,secondaryAction:n}=r,s=n??null,o=t??null;let i;e[0]!==s||e[1]!==o?(i=u.jsxs("div",{className:Q.BannerActionsContainer,"data-primary-action":"trailing",children:[s,o]}),e[0]=s,e[1]=o,e[2]=i):i=e[2];const a=t??null,l=n??null;let d;e[3]!==a||e[4]!==l?(d=u.jsxs("div",{className:Q.BannerActionsContainer,"data-primary-action":"leading",children:[a,l]}),e[3]=a,e[4]=l,e[5]=d):d=e[5];let c;return e[6]!==i||e[7]!==d?(c=u.jsxs("div",{className:Q.BannerActions,children:[i,d]}),e[6]=i,e[7]=d,e[8]=c):c=e[8],c}const bt=_.forwardRef((r,e)=>{const t=ge.c(11);let n,s,o;t[0]!==r?({children:n,className:s,...o}=r,t[0]=r,t[1]=n,t[2]=s,t[3]=o):(n=t[1],s=t[2],o=t[3]);let i;t[4]!==s?(i=pe("BannerPrimaryAction",s),t[4]=s,t[5]=i):i=t[5];let a;return t[6]!==n||t[7]!==e||t[8]!==o||t[9]!==i?(a=u.jsx(J,{ref:e,className:i,variant:"default",...o,children:n}),t[6]=n,t[7]=e,t[8]=o,t[9]=i,t[10]=a):a=t[10],a});bt.displayName="BannerPrimaryAction";const wt=_.forwardRef((r,e)=>{const t=ge.c(11);let n,s,o;t[0]!==r?({children:n,className:s,...o}=r,t[0]=r,t[1]=n,t[2]=s,t[3]=o):(n=t[1],s=t[2],o=t[3]);let i;t[4]!==s?(i=pe("BannerPrimaryAction",s),t[4]=s,t[5]=i):i=t[5];let a;return t[6]!==n||t[7]!==e||t[8]!==o||t[9]!==i?(a=u.jsx(J,{ref:e,className:i,variant:"link",...o,children:n}),t[6]=n,t[7]=e,t[8]=o,t[9]=i,t[10]=a):a=t[10],a});wt.displayName="BannerSecondaryAction";const Bn=Object.assign(On,{Title:We,Description:Ct,PrimaryAction:bt,SecondaryAction:wt}),ve=Nt.define({combine(r){return r[r.length-1]}}),Wn=De.baseTheme({".jp-remote-cursor":{borderLeft:"1px solid black",marginLeft:"-1px"},".jp-remote-cursor.jp-mod-primary":{borderLeftWidth:"2px"},".jp-remote-selection":{opacity:.5},".cm-tooltip":{border:"none"},".cm-tooltip.jp-remote-userInfo":{color:"var(--fgColor-onEmphasis, #ffffff)",padding:"0px 2px"}});function He(r,e){const t=r?.username||r?.display_name||r?.name||String(e),{theme:n,colorMode:s}=Ot.getState(),o=s==="auto"?typeof window<"u"&&window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light":s;return Dn(t,n,o)}const Ae=Lt.define();class kt{style;marker;constructor(e,t){this.style=e,this.marker=t}draw(){const e=this.marker.draw();for(const[t,n]of Object.entries(this.style))e.style[t]=n;return e}eq(e){return this.marker.eq(e.marker)&&W.deepEqual(this.style,e.style)}update(e,t){for(const[n,s]of Object.entries(this.style))e.style[n]=s;return this.marker.update(e,t.marker)}}const Vn=ct({above:!0,markers(r){const{awareness:e,ytext:t}=r.state.facet(ve),n=t.doc,s=[];return e.getStates().forEach((o,i)=>{if(i===e.doc.clientID)return;const a=o.cursors;for(const l of a??[]){if(!l?.anchor||!l?.head)return;const d=fe(l.anchor,n),c=fe(l.head,n);if(d?.type!==t||c?.type!==t)return;const h=l.primary??!0?"jp-remote-cursor jp-mod-primary":"jp-remote-cursor",f=ut.cursor(c.index,c.index>d.index?-1:1);for(const m of ft.forRange(r,h,f))s.push(new kt({borderLeftColor:He(o.user,i)},m))}}),s},update(r,e){return!!r.transactions.find(t=>t.annotation(Ae))},class:"jp-remote-cursors"});function ot(r){const e=new Array,{awareness:t,ytext:n}=r.facet(ve),s=n.doc;for(const[o,i]of t.getStates())if(o!==t.doc.clientID)for(const a of i.cursors??[]){if(!a?.head)continue;const l=fe(a.head,s);l?.type===n&&e.push({pos:l.index,above:!0,create:()=>{const d=document.createElement("div");return d.classList.add("jp-remote-userInfo"),d.style.backgroundColor=He(i.user,o),d.textContent=i.user?.display_name??"Anonymous",{dom:d}}})}return e}const $n=ht.define({create:ot,update(r,e){return e.annotation(Ae)?ot(e.state):r},provide(r){return Rt.computeN([r],e=>e.field(r))}}),Gn=ct({above:!1,markers(r){const{awareness:e,ytext:t}=r.state.facet(ve),n=t.doc,s=[];return e.getStates().forEach((o,i)=>{if(i===e.doc.clientID)return;const a=o.cursors;for(const l of a??[]){if((l.empty??!0)||!l?.anchor||!l?.head)return;const d=fe(l.anchor,n),c=fe(l.head,n);if(d?.type!==t||c?.type!==t)return;const h="jp-remote-selection";for(const f of ft.forRange(r,h,ut.range(d.index,c.index)))s.push(new kt({backgroundColor:He(o.user,i)},f))}}),s},update(r,e){return!!r.transactions.find(t=>t.annotation(Ae))},class:"jp-remote-selections"}),Hn=jt.fromClass(class{editorAwareness;_listener;constructor(r){this.editorAwareness=r.state.facet(ve),this._listener=({added:e,updated:t,removed:n})=>{e.concat(t).concat(n).findIndex(o=>o!==this.editorAwareness.awareness.doc.clientID)>=0&&r.dispatch({annotations:[Ae.of([])]})},this.editorAwareness.awareness.on("change",this._listener)}destroy(){this.editorAwareness.awareness.off("change",this._listener)}update(r){if(!r.docChanged&&!r.selectionSet)return;const{awareness:e,ytext:t}=this.editorAwareness,n=e.getLocalState();if(n){const s=r.view.hasFocus&&r.view.dom.ownerDocument.hasFocus(),o=r.state.selection,i=new Array;if(s&&o){for(const a of o.ranges){const l=a===o.main,d=Je(t,a.anchor),c=Je(t,a.head);i.push({anchor:d,head:c,primary:l,empty:a.empty})}if(!n.cursors||i.length>0){const a=n.cursors?.map(l=>({...l,anchor:l?.anchor?Ye(l.anchor):null,head:l?.head?Ye(l.head):null}));W.deepEqual(i,a)||e.setLocalStateField("cursors",i)}}}}},{provide:()=>[Wn,Vn,Gn,$n,It({position:"absolute",parent:document.body})]});function zn(r){return[ve.of(r),Hn]}class je extends Ft{constructor(e={}){var t;super(),this.version="2.0.0",this.ymeta=this.ydoc.getMap("meta"),this._onMetaChanged=n=>{const s=n.find(i=>i.target===this.ymeta.get("metadata"));if(s){const i=s.changes.keys,a=this.ymeta.get("metadata");s.changes.keys.forEach((l,d)=>{switch(l.action){case"add":this._metadataChanged.emit({key:d,type:"add",newValue:a.get(d)});break;case"delete":this._metadataChanged.emit({key:d,type:"remove",oldValue:l.oldValue});break;case"update":{const c=a.get(d),h=l.oldValue;let f=!0;typeof h=="object"&&typeof c=="object"?f=W.deepEqual(h,c):f=h===c,f||this._metadataChanged.emit({key:d,type:"change",oldValue:h,newValue:c})}break}}),this._changed.emit({metadataChange:i})}const o=n.find(i=>i.target===this.ymeta);if(o){if(o.keysChanged.has("metadata")){const i=o.changes.keys.get("metadata");if(i?.action==="add"&&!i.oldValue){const a=new Map;for(const l of Object.keys(this.metadata))a.set(l,{action:"add",oldValue:void 0}),this._metadataChanged.emit({key:l,type:"add",newValue:this.getMetadata(l)});this._changed.emit({metadataChange:a})}}if(o.keysChanged.has("nbformat")){const i=o.changes.keys.get("nbformat"),a={key:"nbformat",oldValue:i?.oldValue?i.oldValue:void 0,newValue:this.nbformat};this._changed.emit({nbformatChanged:a})}if(o.keysChanged.has("nbformat_minor")){const i=o.changes.keys.get("nbformat_minor"),a={key:"nbformat_minor",oldValue:i?.oldValue?i.oldValue:void 0,newValue:this.nbformat_minor};this._changed.emit({nbformatChanged:a})}}},this._onYCellsChanged=n=>{n.changes.added.forEach(i=>{const a=i.content.type;if(!this._ycellMapping.has(a)){const l=Xe(a,{notebook:this});this._ycellMapping.set(a,l)}}),n.changes.deleted.forEach(i=>{const a=i.content.type,l=this._ycellMapping.get(a);l&&(l.dispose(),this._ycellMapping.delete(a))});let s=0;const o=[];n.changes.delta.forEach(i=>{if(i.insert!=null){const a=i.insert.map(l=>this._ycellMapping.get(l));o.push({insert:a}),this.cells.splice(s,0,...a),s+=i.insert.length}else i.delete!=null?(o.push(i),this.cells.splice(s,i.delete)):i.retain!=null&&(o.push(i),s+=i.retain)}),this._changed.emit({cellsChange:o})},this._metadataChanged=new j(this),this._ycells=this.ydoc.getArray("cells"),this._ycellMapping=new WeakMap,this._disableDocumentWideUndoRedo=(t=e.disableDocumentWideUndoRedo)!==null&&t!==void 0?t:!1,this.cells=this._ycells.toArray().map(n=>(this._ycellMapping.has(n)||this._ycellMapping.set(n,Xe(n,{notebook:this})),this._ycellMapping.get(n))),this.undoManager.addToScope(this._ycells),this._ycells.observe(this._onYCellsChanged),this.ymeta.observeDeep(this._onMetaChanged)}static create(e={}){var t,n,s,o,i,a,l,d,c;const h=new je({disableDocumentWideUndoRedo:(t=e.disableDocumentWideUndoRedo)!==null&&t!==void 0?t:!1}),f={cells:(s=(n=e.data)===null||n===void 0?void 0:n.cells)!==null&&s!==void 0?s:[],nbformat:(i=(o=e.data)===null||o===void 0?void 0:o.nbformat)!==null&&i!==void 0?i:4,nbformat_minor:(l=(a=e.data)===null||a===void 0?void 0:a.nbformat_minor)!==null&&l!==void 0?l:5,metadata:(c=(d=e.data)===null||d===void 0?void 0:d.metadata)!==null&&c!==void 0?c:{}};return h.setSource(f),h}get disableDocumentWideUndoRedo(){return this._disableDocumentWideUndoRedo}get metadata(){return this.getMetadata()}set metadata(e){this.setMetadata(e)}get metadataChanged(){return this._metadataChanged}get nbformat(){return this.ymeta.get("nbformat")}set nbformat(e){this.transact(()=>{this.ymeta.set("nbformat",e)},!1)}get nbformat_minor(){return this.ymeta.get("nbformat_minor")}set nbformat_minor(e){this.transact(()=>{this.ymeta.set("nbformat_minor",e)},!1)}dispose(){this.isDisposed||(this._ycells.unobserve(this._onYCellsChanged),this.ymeta.unobserveDeep(this._onMetaChanged),super.dispose())}getCell(e){return this.cells[e]}addCell(e){return this.insertCell(this._ycells.length,e)}insertCell(e,t){return this.insertCells(e,[t])[0]}insertCells(e,t){const n=t.map(s=>{const o=Ze(s,this);return this._ycellMapping.set(o.ymodel,o),o});return this.transact(()=>{this._ycells.insert(e,n.map(s=>s.ymodel))}),this.dirty=!0,n}moveCell(e,t){this.moveCells(e,t)}moveCells(e,t,n=1){const s=new Array(n).fill(!0).map((o,i)=>this.getCell(e+i).toJSON());this.transact(()=>{this._ycells.delete(e,n),this._ycells.insert(e>t?t:t-n+1,s.map(o=>Ze(o,this).ymodel))}),this.dirty=!0}deleteCell(e){this.deleteCellRange(e,e+1)}deleteCellRange(e,t){this.transact(()=>{this._ycells.delete(e,t-e)}),this.dirty=!0}deleteMetadata(e){if(typeof this.getMetadata(e)>"u")return;const t=this.metadata;delete t[e],this.setMetadata(t)}getMetadata(e){const t=this.ymeta.get("metadata");if(t!==void 0)if(typeof e=="string"){const n=t.get(e);return typeof n>"u"?void 0:W.deepCopy(n)}else return W.deepCopy(t.toJSON())}setMetadata(e,t){var n;if(typeof e=="string"){if(typeof t>"u")throw new TypeError(`Metadata value for ${e} cannot be 'undefined'; use deleteMetadata.`);if(W.deepEqual((n=this.getMetadata(e))!==null&&n!==void 0?n:null,t))return;const s={};s[e]=t,this.updateMetadata(s)}else if(!this.metadata||!W.deepEqual(this.metadata,e)){const s=W.deepCopy(e),o=this.ymeta.get("metadata");if(o===void 0)return;this.transact(()=>{o.clear();for(const[i,a]of Object.entries(s))o.set(i,a)}),this.dirty=!0}}updateMetadata(e){const t=W.deepCopy(e),n=this.ymeta.get("metadata");n!==void 0&&(this.transact(()=>{for(const[s,o]of Object.entries(t))n.set(s,o)}),this.dirty=!0)}getSource(){return this.toJSON()}setSource(e){this.fromJSON(e),this.dirty=!1}fromJSON(e){this.transact(()=>{this.nbformat=e.nbformat,this.nbformat_minor=e.nbformat_minor;const t=e.metadata;if(t.orig_nbformat!==void 0&&delete t.orig_nbformat,this.metadata)this.metadata=t;else{const o=new me;for(const[i,a]of Object.entries(t))o.set(i,a);this.ymeta.set("metadata",o)}const n=e.nbformat===4&&e.nbformat_minor>=5,s=e.cells.map(o=>(n||delete o.id,o));this.insertCells(this.cells.length,s),this.deleteCellRange(0,this.cells.length)})}toJSON(){const e=this.nbformat===4&&this.nbformat_minor<=4;return{metadata:this.metadata,nbformat_minor:this.nbformat_minor,nbformat:this.nbformat,cells:this.cells.map(t=>{const n=t.toJSON();return e&&delete n.id,n})}}}class Kn{constructor(e){this.model=e,this._cellMap=new WeakMap,this._changed=new j(this),this._isDisposed=!1,this._insertCells(0,this.model.cells),this.model.changed.connect(this._onSharedModelChanged,this)}get changed(){return this._changed}get isDisposed(){return this._isDisposed}get length(){return this.model.cells.length}*[Symbol.iterator](){for(const e of this.model.cells)yield this._cellMap.get(e)}dispose(){var e;if(!this._isDisposed){this._isDisposed=!0;for(const t of this.model.cells)(e=this._cellMap.get(t))===null||e===void 0||e.dispose();j.clearData(this)}}get(e){return this._cellMap.get(this.model.cells[e])}_insertCells(e,t){return t.forEach(n=>{let s;switch(n.cell_type){case"code":{s=new Vt({sharedModel:n});break}case"markdown":{s=new Wt({sharedModel:n});break}default:s=new Bt({sharedModel:n})}this._cellMap.set(n,s),n.disposed.connect(()=>{s.dispose(),this._cellMap.delete(n)})}),this.length}_onSharedModelChanged(e,t){var n;let s=0;const o=new Array;(n=t.cellsChange)===null||n===void 0||n.forEach(i=>{i.insert!=null?(this._insertCells(s,i.insert),o.push({type:"add",newIndex:s,newValues:i.insert.map(a=>this._cellMap.get(a)),oldIndex:-2,oldValues:[]}),s+=i.insert.length):i.delete!=null?o.push({type:"remove",newIndex:-1,newValues:[],oldIndex:s,oldValues:new Array(i.delete).fill(void 0)}):i.retain!=null&&(s+=i.retain)}),o.forEach(i=>this._changed.emit(i))}}class Un{constructor(e){this._requestBatchSize=10,this._cursor=0,this._hasSession=!1,this._history=[],this._placeholder="",this._kernelSession="",this._setByHistory=!1,this._isDisposed=!1,this._editor=null,this._filtered=[],this._kernel=null,this._sessionContext=e.sessionContext,this._trans=(e.translator||_e).load("jupyterlab"),this._handleKernel().then(()=>{this._sessionContext.kernelChanged.connect(this._handleKernel,this)}),this._toRequest=this._requestBatchSize}get editor(){return this._editor}set editor(e){if(this._editor===e)return;const t=this._editor;t&&t.model.sharedModel.changed.disconnect(this.onTextChange,this),this._editor=e,e&&e.model.sharedModel.changed.connect(this.onTextChange,this)}get placeholder(){return this._placeholder}get kernelSession(){return this._kernelSession}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed=!0,this._history.length=0,j.clearData(this)}async checkSession(e){var t;this._hasSession||(await this._retrieveHistory(),this._hasSession=!0,this.editor=e.editor,this._placeholder=((t=this._editor)===null||t===void 0?void 0:t.model.sharedModel.getSource())||"",this.setFilter(this._placeholder),this._cursor=this._filtered.length-1)}async back(e){return await this.checkSession(e),--this._cursor,this._cursor<0&&await this.fetchBatch(),this._cursor=Math.max(0,this._cursor),this._filtered[this._cursor]}async forward(e){return await this.checkSession(e),++this._cursor,this._cursor=Math.min(this._filtered.length-1,this._cursor),this._filtered[this._cursor]}updateEditor(e,t){var n,s;if(e){const o=(n=e.editor)===null||n===void 0?void 0:n.model,i=o?.sharedModel.getSource();if(this.isDisposed||!t||i===t)return;this._setByHistory=!0,o?.sharedModel.setSource(t);let a=0;a=t.indexOf(`
|
|
2
2
|
`),a<0&&(a=t.length),(s=e.editor)===null||s===void 0||s.setCursorPosition({line:0,column:a})}}reset(){this._hasSession=!1,this._placeholder="",this._toRequest=this._requestBatchSize}async fetchBatch(){this._toRequest+=this._requestBatchSize;let e=this._filtered.slice().reverse(),t=this._history.slice();await this._retrieveHistory().then(()=>{this.setFilter(this._placeholder);let n=0,s=this._filtered.slice().reverse();for(let o=0;o<e.length;o++){let i=e[o];for(let a=o+n;a<s.length&&i!==s[a];a++)n+=1}this._cursor=this._filtered.length-(e.length+1)-n}),this._cursor<0&&this._history.length>t.length&&await this.fetchBatch()}onHistory(e,t){this._history.length=0;let n=["","",""],s=["","",""],o="";if(e.content.status==="ok"){for(let i=0;i<e.content.history.length;i++)s=e.content.history[i],s!==n&&(o=e.content.history[i][0],this._history.push(n=s));this.kernelSession||s[2]==t?.model.sharedModel.getSource()&&(this._kernelSession=o)}}onTextChange(){if(this._setByHistory){this._setByHistory=!1;return}this.reset()}async _handleKernel(){var e;if(this._kernel=(e=this._sessionContext.session)===null||e===void 0?void 0:e.kernel,!this._kernel){this._history.length=0;return}await this._retrieveHistory().catch()}async _retrieveHistory(e){var t;return await((t=this._kernel)===null||t===void 0?void 0:t.requestHistory(qn(this._toRequest)).then(n=>{this.onHistory(n,e)}).catch(()=>{console.warn(this._trans.__("History was unable to be retrieved"))}))}setFilter(e=""){this._filtered.length=0;let t="",n="";for(let s=0;s<this._history.length;s++)n=this._history[s][2],n!==t&&e!==n&&this._filtered.push(t=n);this._filtered.push(e)}}function qn(r){return{output:!1,raw:!0,hist_access_type:"tail",n:r}}class Ve{constructor(e={}){var t,n;this.standaloneModel=!1,this._readOnly=!1,this._contentChanged=new j(this),this._stateChanged=new j(this),this._isDisposed=!1,this._metadataChanged=new j(this),this.standaloneModel=typeof e.sharedModel>"u",e.sharedModel?this.sharedModel=e.sharedModel:this.sharedModel=je.create({disableDocumentWideUndoRedo:(t=e.disableDocumentWideUndoRedo)!==null&&t!==void 0?t:!0,data:{nbformat:Qe,nbformat_minor:Ie,metadata:{kernelspec:{name:"",display_name:""},language_info:{name:(n=e.languagePreference)!==null&&n!==void 0?n:""}}}}),this._cells=new Kn(this.sharedModel),this._trans=(e.translator||_e).load("jupyterlab"),this._deletedCells=[],this._collaborationEnabled=!!e?.collaborationEnabled,this._cells.changed.connect(this._onCellsChanged,this),this.sharedModel.changed.connect(this._onStateChanged,this),this.sharedModel.metadataChanged.connect(this._onMetadataChanged,this)}get contentChanged(){return this._contentChanged}get metadataChanged(){return this._metadataChanged}get stateChanged(){return this._stateChanged}get cells(){return this._cells}get dirty(){return this.sharedModel.dirty}set dirty(e){const t=this.dirty;e!==t&&(this.sharedModel.dirty=e)}get readOnly(){return this._readOnly}set readOnly(e){if(e===this._readOnly)return;const t=this._readOnly;this._readOnly=e,this.triggerStateChange({name:"readOnly",oldValue:t,newValue:e})}get metadata(){return this.sharedModel.metadata}get nbformat(){return this.sharedModel.nbformat}get nbformatMinor(){return this.sharedModel.nbformat_minor}get defaultKernelName(){var e;const t=this.getMetadata("kernelspec");return(e=t?.name)!==null&&e!==void 0?e:""}get deletedCells(){return this._deletedCells}get defaultKernelLanguage(){var e;const t=this.getMetadata("language_info");return(e=t?.name)!==null&&e!==void 0?e:""}get collaborative(){return this._collaborationEnabled}dispose(){if(this.isDisposed)return;this._isDisposed=!0;const e=this.cells;this._cells=null,e.dispose(),this.standaloneModel&&this.sharedModel.dispose(),j.clearData(this)}deleteMetadata(e){return this.sharedModel.deleteMetadata(e)}getMetadata(e){return this.sharedModel.getMetadata(e)}setMetadata(e,t){typeof t>"u"?this.sharedModel.deleteMetadata(e):this.sharedModel.setMetadata(e,t)}toString(){return JSON.stringify(this.toJSON())}fromString(e){this.fromJSON(JSON.parse(e))}toJSON(){return this._ensureMetadata(),this.sharedModel.toJSON()}fromJSON(e){var t,n;const s=W.deepCopy(e),o=e.metadata.orig_nbformat;if(s.nbformat=Math.max(e.nbformat,Qe),(s.nbformat!==e.nbformat||s.nbformat_minor<Ie)&&(s.nbformat_minor=Ie),o!==void 0&&s.nbformat!==o){const i=s.nbformat>o;let a;i?a=this._trans.__(`This notebook has been converted from an older notebook format (v%1)
|
|
3
3
|
to the current notebook format (v%2).
|
|
4
4
|
The next time you save this notebook, the current notebook format (v%2) will be used.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import{E as N,eN as fo,r as o,j as t,eO as po,eP as mo,b_ as Cn,B as f,H as dt,T as H,c as G,cu as Ut,eu as Bt,eQ as ie,co as ut,e as go,eR as ho,eS as bo,e3 as xo,eT as So,aH as vo,dX as Un,dV as yo,dY as Vt,eU as wo,eV as Co,eW as jo,eX as ko,eY as jn,eZ as Eo,e_ as Io,e$ as To,d3 as Ro,a_ as Ao,f0 as Po,f1 as Mo,f2 as $o,f3 as Oo,f4 as Uo,f5 as Fo,x as Ft,f6 as Lo,f7 as _o,f8 as zo,f9 as No,fa as Bo,fb as Vo,fc as Ho,fd as Wo,fe as Do,ff as Go,fg as Ko,fh as Yo,fi as qo,fj as Jo,fk as Qo,fl as Xo,fm as Zo,fn as es,fo as ts,fp as ns,fq as Ge,fr as os,fs as ss,ft as as,fu as is,fv as kn,fw as rs,fx as Pe,fy as ls,fz as cs,a$ as ft,fA as ds,fB as us,fC as En,fD as fs,fE as ps,eC as ms,fF as Lt,fG as ye,fH as gs,fI as hs,fJ as In,fK as bs,fL as xs,fM as Ss,fN as vs,fO as ys,fP as ws,fQ as Cs,fR as js,fS as ks,fT as Es,fU as pt,fV as Is,fW as Ts,I as Rs,fX as As,fY as Ps,fZ as Tn,f_ as Ms,f$ as $s,g0 as Os,g1 as Ht,g2 as Us,g3 as Fs,ek as _t,g4 as Ls,g5 as _s}from"../datalayer-app-main.js";import{S as zs,E as Ns,a as Bs}from"./SignInIcon-4HkE48mS.js";import{F as Vs,a as Hs,b as Ws}from"./LinkedInGreyIcon-BoWXE-HS.js";function Fn(){const n=N(fo);return o.useMemo(()=>n.map(s=>s.value),[n])}const zt={github:{name:"github",oauth2CallbackServerRoute:"jupyter_iam/oauth2/callback",oauth2CallbackUIRoute:"/iam/oauth2/github/callback"},google:{name:"google",oauth2CallbackServerRoute:"jupyter_iam/oauth2/callback",oauth2CallbackUIRoute:"/iam/oauth2/google/callback"},linkedin:{name:"linkedin",oauth2CallbackServerRoute:"jupyter_iam/oauth2/callback",oauth2CallbackUIRoute:"/iam/oauth2/linkedin/callback"}},Rn=()=>{if(typeof document>"u")return"";const n=document.getElementById("datalayer-config-data");if(!n?.textContent)return"";try{const s=JSON.parse(n.textContent);return String(s?.iamUrl||"").replace(/\/$/,"")}catch{return""}},Ds=(n,s="Unable to start social sign-in.")=>{if(n instanceof Error&&n.message)return n.message;if(typeof n=="string"&&n.trim())return n;if(n&&typeof n=="object"&&"message"in n){const c=n.message;if(typeof c=="string"&&c.trim())return c}return s},Gs=So`
|
|
2
|
+
.signin-input-theme-scope input:-webkit-autofill,
|
|
3
|
+
.signin-input-theme-scope input:-webkit-autofill:hover,
|
|
4
|
+
.signin-input-theme-scope input:-webkit-autofill:focus,
|
|
5
|
+
.signin-input-theme-scope input:-webkit-autofill:active,
|
|
6
|
+
.signin-input-theme-scope input:-webkit-autofill:disabled,
|
|
7
|
+
.signin-input-theme-scope textarea:-webkit-autofill,
|
|
8
|
+
.signin-input-theme-scope textarea:-webkit-autofill:hover,
|
|
9
|
+
.signin-input-theme-scope textarea:-webkit-autofill:focus,
|
|
10
|
+
.signin-input-theme-scope textarea:-webkit-autofill:active,
|
|
11
|
+
.signin-input-theme-scope textarea:-webkit-autofill:disabled {
|
|
12
|
+
-webkit-text-fill-color: var(--fgColor-default) !important;
|
|
13
|
+
caret-color: var(--fgColor-default) !important;
|
|
14
|
+
-webkit-box-shadow: 0 0 0 1000px var(--bgColor-default) inset !important;
|
|
15
|
+
box-shadow: 0 0 0 1000px var(--bgColor-default) inset !important;
|
|
16
|
+
background-color: var(--bgColor-default) !important;
|
|
17
|
+
transition: background-color 9999s ease-in-out 0s !important;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.signin-input-theme-scope input:disabled,
|
|
21
|
+
.signin-input-theme-scope textarea:disabled {
|
|
22
|
+
-webkit-text-fill-color: var(--fgColor-muted) !important;
|
|
23
|
+
-webkit-box-shadow: 0 0 0 1000px var(--bgColor-default) inset !important;
|
|
24
|
+
box-shadow: 0 0 0 1000px var(--bgColor-default) inset !important;
|
|
25
|
+
background-color: var(--bgColor-default) !important;
|
|
26
|
+
opacity: 1 !important;
|
|
27
|
+
}
|
|
28
|
+
`,Ks=({onSignIn:n,onApiKeySignIn:s,loginUrl:c,name:i,title:d="Datalayer OTEL",description:b="Sign in to access the observability dashboard.",icon:S,leadingIcon:w=t.jsx(xo,{size:24}),github:p=!1,google:K=!1,linkedin:B=!1,apiKey:Ke=!1,signUp:F=!0,socialSignInNavigationTarget:Z,asDoc:v=!1,fillHeight:I=!0,hideHero:ee=!1,calloutTitle:Me,calloutDescription:Ye,passwordToggleLabel:re="Sign in with a password",signUpTitle:Wt="Don't have an account?",signUpDescription:Y="Create a free Datalayer account with your email address.",signUpLabel:mt="Sign up with email",signUpHref:$e="https://datalayer.ai/signup",onSignUp:V,forgotPasswordHref:q="/password",forgotPasswordLabel:Oe="Forgot password?",showForgotPassword:gt=!0,socialButtonMarginTop:x=3,actionButtonMaxWidth:J=320})=>{const te=v&&!ee,qe=i??(v&&d==="Datalayer OTEL"?"Datalayer Sign In":d),ht=S??(v?t.jsx(zs,{size:24}):w),L=o.useMemo(()=>{if(c)return c;const r=Rn();return r?`${r}/api/iam/v1/login`:"/api/iam/v1/login"},[c]),[W,we]=o.useState(""),[le,bt]=o.useState(""),[Je,ce]=o.useState(!1),[de,Qe]=o.useState(!1),[j,Ce]=o.useState(!1),[ue,je]=o.useState(!1),[Ue,Xe]=o.useState(null),[_,ke]=o.useState(null),[ne,Ze]=o.useState(""),[fe,et]=o.useState(null),[Fe,M]=o.useState(null),{enqueueToast:pe}=po(),[me,E]=o.useState(!1),[Q,oe]=o.useState(""),D=o.useRef(null),Le=o.useCallback(r=>mo()?Cn.URLExt.join(Cn.PageConfig.getBaseUrl(),r.oauth2CallbackServerRoute):`${window.location.protocol}//${window.location.hostname}${window.location.port?`:${window.location.port}`:""}${r.oauth2CallbackUIRoute}`,[]),ge=o.useMemo(()=>{if(typeof window>"u")return"/";const r=`${window.location.pathname}${window.location.search}${window.location.hash}`;return r.startsWith("/")?r:"/"},[]),Ee=o.useCallback(async r=>{if(!ue){M(null),Xe(r.name),je(!0);try{const g=Rn(),m=new URLSearchParams({provider:r.name,callback_uri:Le(r)}),R=Z===void 0?void 0:String(Z||"").trim(),y=R===void 0?ge&&ge!=="/"?ge:void 0:R&&R.startsWith("/")&&!R.startsWith("//")?R:void 0;y&&m.set("post_auth_redirect",y);const ze=`${g||""}/api/iam/v1/oauth2/authz/url?${m.toString()}`,k=await fetch(ze),se=await k.json(),Ne=se?.autorization_url;if(!k.ok||!Ne)throw new Error(se?.message||"Unable to start social sign-in.");window.location.assign(Ne)}catch(g){const m=Ds(g);M(m),pe(m,{variant:"error"}),Xe(null),je(!1)}}},[Le,ge,pe,ue,Z]);o.useEffect(()=>{me&&D.current?.focus()},[me]);const $=o.useCallback(()=>{E(!1),oe("")},[]),xt=o.useCallback(()=>{!Q.trim()||!s||(s(Q.trim()),$())},[Q,s,$]),St=o.useCallback(()=>{if(V){V();return}window.location.assign($e)},[V,$e]),vt=o.useCallback(()=>{if(q){if(q.startsWith("http://")||q.startsWith("https://")){window.open(q,"_blank","noopener,noreferrer");return}window.location.assign(q)}},[q]),_e=o.useCallback(async()=>{if(!(v||!W||!le||j)){Ce(!0),M(null);try{const r=await fetch(L,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({handle:W,password:le})});if(!r.ok)throw new Error(`HTTP ${r.status}`);const g=await r.json();if(g.success&&g.token){const m=String(g?.user?.id||g?.user?.uid||"").trim();if(!!g?.user?.mfaUrl&&m){ke(m),et(g.token),M(null);return}n&&n(g.token,W)}else M(g.message||"Invalid username or password.")}catch(r){M(r instanceof Error?r.message:String(r))}finally{Ce(!1)}}},[v,W,le,j,L,n]),he=o.useCallback(async()=>{if(!(v||j||!_||!ne.trim()||!fe)){Ce(!0),M(null);try{const r=new URL(L,window.location.origin),g=r.pathname.endsWith("/api/iam/v1/login")?r.href.replace(/\/api\/iam\/v1\/login$/,""):`${r.origin}`,m=await fetch(`${g}/api/iam/v1/users/${_}/mfa/validate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userUid:_,code:ne.trim()})}),R=await m.json();if(!m.ok||!R?.success)throw new Error(R?.message||"Failed to validate your MFA code.");n&&n(fe,W)}catch(r){const g=r instanceof Error?r.message:String(r);M(g),pe(g,{variant:"error"})}finally{Ce(!1)}}},[v,pe,W,j,L,ne,fe,_,n]),Ie=o.useCallback(r=>{r.key==="Enter"&&(_?he():_e())},[_,_e,he]),be=ue||j||v;return t.jsxs(f,{className:"signin-input-theme-scope",display:"flex",alignItems:ee||te||!I?"flex-start":"center",justifyContent:"center",minHeight:ee||te||!I?"auto":"100vh",bg:ee?"transparent":"canvas.default",color:"fg.default",py:ee?0:te?2:4,children:[t.jsx(Gs,{}),t.jsxs(f,{width:"100%",maxWidth:440,p:0,children:[!ee&&t.jsxs(t.Fragment,{children:[t.jsxs(f,{display:"flex",alignItems:"center",gap:2,mb:te?2:3,justifyContent:"center",children:[ht,t.jsx(dt,{sx:{fontSize:3},children:qe})]}),t.jsx(H,{as:"p",sx:{fontSize:1,color:"fg.muted",mb:te?2:3,textAlign:"center"},children:b})]}),(Me||Ye)&&t.jsxs(f,{mb:3,textAlign:"center",children:[Me&&t.jsx(dt,{as:"h3",sx:{fontSize:2,mb:1},children:Me}),Ye&&t.jsx(H,{sx:{color:"fg.muted",fontSize:1},children:Ye})]}),!_&&(p||K||B)&&t.jsxs(t.Fragment,{children:[p&&t.jsx(G,{block:!0,size:"large",leadingVisual:Ue==="github"?()=>t.jsx(Ut,{size:"small"}):Vs,disabled:be,onClick:()=>Ee(zt.github),sx:{mt:x,maxWidth:J,mx:"auto"},children:"Sign in with GitHub"}),K&&t.jsx(G,{block:!0,size:"large",leadingVisual:Ue==="google"?()=>t.jsx(Ut,{size:"small"}):Hs,disabled:be,onClick:()=>Ee(zt.google),sx:{mt:x,maxWidth:J,mx:"auto"},children:"Sign in with Google"}),B&&t.jsx(G,{block:!0,size:"large",leadingVisual:Ue==="linkedin"?()=>t.jsx(Ut,{size:"small"}):Ws,disabled:be,onClick:()=>Ee(zt.linkedin),sx:{mt:x,maxWidth:J,mx:"auto"},children:"Sign in with LinkedIn"})]}),!_&&!Je&&t.jsx(f,{mt:3,display:"flex",justifyContent:"center",children:t.jsx(G,{leadingVisual:Bt,size:"large",block:!0,disabled:v||j||ue,onClick:()=>ce(!0),sx:{maxWidth:J,mx:"auto"},children:re})}),!_&&Je&&t.jsxs(f,{mt:4,children:[t.jsxs(ie,{required:!0,sx:{mb:3},children:[t.jsx(ie.Label,{children:"Username"}),t.jsx(ut,{autoFocus:!0,block:!0,placeholder:"Your username",value:W,disabled:j||v,onChange:r=>we(r.target.value),onKeyDown:Ie})]}),t.jsxs(ie,{required:!0,sx:{mb:3},children:[t.jsx(ie.Label,{children:"Password"}),t.jsx(ut,{block:!0,placeholder:"Your password",type:de?"text":"password",value:le,disabled:j||v,onChange:r=>bt(r.target.value),onKeyDown:Ie,trailingAction:t.jsx(ut.Action,{onClick:()=>Qe(!de),disabled:j||v,icon:de?Ns:Bs,"aria-label":de?"Hide password":"Show password",sx:{color:"var(--fgColor-muted)"}})})]}),t.jsxs(f,{display:"flex",alignItems:"center",justifyContent:"space-between",mt:3,children:[t.jsx(G,{variant:"primary",disabled:j||v||!W||!le,onClick:_e,children:j?"Signing in…":"Sign In"}),gt&&t.jsx(go,{as:"button",sx:{fontSize:1,cursor:v?"not-allowed":"pointer",background:"none",border:"none",opacity:v?.6:1},onClick:()=>{v||j||vt()},children:Oe})]})]}),_&&t.jsxs(t.Fragment,{children:[t.jsxs(ie,{required:!0,sx:{mb:3,mt:2},children:[t.jsx(ie.Label,{children:"MFA Code"}),t.jsx(ut,{autoFocus:!0,block:!0,placeholder:"Your MFA code",value:ne,disabled:j||v,onChange:r=>Ze(r.target.value),onKeyDown:Ie})]}),t.jsx(G,{variant:"primary",block:!0,disabled:j||v||!ne.trim(),onClick:he,sx:{maxWidth:J,mx:"auto"},children:j?"Validating…":"Validate MFA Code"})]}),Fe&&t.jsx(H,{sx:{color:"danger.fg",fontSize:1,mt:3,display:"block"},children:Fe}),F&&t.jsxs(f,{mt:4,pt:4,textAlign:"center",borderTop:"1px solid",borderColor:"border.muted",children:[t.jsx(dt,{as:"h3",sx:{fontSize:2,mb:2},children:Wt}),t.jsx(H,{as:"p",sx:{color:"fg.muted",fontSize:1,mb:3},children:Y}),t.jsx(f,{display:"flex",justifyContent:"center",children:t.jsx(G,{variant:"primary",size:"large",leadingVisual:ho,disabled:v||j,onClick:St,children:mt})})]}),Ke&&s&&t.jsxs(t.Fragment,{children:[t.jsxs(f,{display:"flex",alignItems:"center",gap:2,my:3,children:[t.jsx(f,{flex:1,height:"1px",bg:"border.default"}),t.jsx(H,{sx:{fontSize:0,color:"fg.muted"},children:"or"}),t.jsx(f,{flex:1,height:"1px",bg:"border.default"})]}),t.jsx(G,{block:!0,leadingVisual:Bt,disabled:v||j||ue,onClick:()=>E(!0),sx:{maxWidth:J,mx:"auto"},children:"Sign in with an API Key"}),me&&t.jsx(f,{role:"dialog","aria-modal":"true","aria-labelledby":"signin-api-key-title",onKeyDown:r=>{r.key==="Escape"&&$()},onClick:$,position:"fixed",inset:0,zIndex:200,p:3,bg:"canvas.backdrop",display:"flex",alignItems:"center",justifyContent:"center",children:t.jsxs(f,{as:"form",onClick:r=>r.stopPropagation(),onSubmit:r=>{r.preventDefault(),xt()},width:"min(560px, 100%)",p:3,borderRadius:2,border:"1px solid",borderColor:"border.default",bg:"canvas.overlay",color:"fg.default",boxShadow:"shadow.large",children:[t.jsx(dt,{id:"signin-api-key-title",sx:{fontSize:2,mb:2},children:"Enter your API Key"}),t.jsxs(ie,{required:!0,children:[t.jsx(ie.Label,{children:"API Key"}),t.jsx(bo,{block:!0,required:!0,autoFocus:!0,placeholder:"Paste your API key here",value:Q,onInput:r=>oe(r.currentTarget.value),ref:D})]}),t.jsxs(f,{mt:3,display:"flex",justifyContent:"flex-end",gap:2,children:[t.jsx(G,{type:"button",onClick:$,children:"Cancel"}),t.jsx(G,{type:"submit",variant:"primary",disabled:!Q.trim(),children:"Authenticate"})]})]})})]})]})]})};function Ys(n){const{agentId:s,instructions:c,model:i,frontendTools:d,inference:b,subagents:S,sharing:w,onSubagentEvent:p,modeEffect:K}=n;return{type:"browser-vercel-ai",endpoint:"",agentId:s,enableConfigQuery:!1,options:{instructions:c,model:i,frontendTools:d,inference:b,subagents:S,sharing:w,onSubagentEvent:p,modeEffect:K}}}const An=vo((n,s)=>({pending:void 0,suggest:(c,i)=>{const d=c.trim();d&&n({pending:{text:d,submit:i?.submit??!1,nonce:(s().pending?.nonce??0)+1}})},consume:()=>n({pending:void 0})}));function qs({agentName:n,sandboxStillRuns:s=!1,temporary:c=!0,onSignedIn:i,onSignUp:d}){const{configuration:b}=Un(),S=o.useCallback(w=>{yo.getState().checkIAMToken(w),i?.()},[i]);return t.jsx(f,{height:"100%",minHeight:0,overflowY:"auto",bg:"canvas.default",px:4,py:4,children:t.jsxs(f,{maxWidth:440,mx:"auto",children:[t.jsxs(f,{display:"flex",alignItems:"center",justifyContent:"center",gap:2,color:"attention.fg",mb:2,children:[t.jsx(Bt,{size:20}),t.jsx(H,{sx:{fontSize:2,fontWeight:"semibold",color:"fg.default"},children:c?"This demo runs on a shared key":"Your key has expired"})]}),t.jsxs(H,{as:"p",sx:{fontSize:1,color:"fg.muted",textAlign:"center",mb:3},children:[c?`${n??"The agent"} has used the time this key allows. Sign in to point your own agent at it, use your own data, and drop the time limit.`:`${n??"The agent"} stopped because your session ran out.`,s?" Your notebook is still running in this page.":""]}),t.jsx(Ks,{hideHero:!0,fillHeight:!1,calloutTitle:"Sign in to keep going",github:!0,google:!0,linkedin:!0,socialSignInNavigationTarget:typeof window>"u"?void 0:`${window.location.pathname}${window.location.search}`,loginUrl:b?.iamUrl?`${b.iamUrl}/api/iam/v1/login`:void 0,onSignIn:S,onSignUp:d})]})})}const Js="https://r1.datalayer.run";function Qs(n=!0){const{configuration:s}=Un(),c=Vt(w=>w.token),i=s?.aiInferenceUrl||Js,d=wo(i,n&&!c),b=c||d.token,S=o.useMemo(()=>({inferenceUrl:i,token:b||void 0}),[i,b]);return{inference:S,needsSignIn:Co(S),anonymous:d,inferenceUrl:i}}const Xs={name:"general-purpose",description:"A capable generalist for a task none of the specialists covers: research, reasoning, drafting, checking.",instructions:"You are a capable general-purpose assistant. Carry out the task you are given completely and report the result plainly, saying what you could not do."};function Pn(n){const s=n?.subagents;if(!s)return[];const c=(s.subagents??[]).map(i=>{const d=i.ref?jo(i.ref):void 0;return{name:i.name,description:i.description||d?.description||i.name,instructions:i.instructions??d?.systemPrompt,model:i.model??d?.model??s.defaultModel,icon:d?.icon}});return s.includeGeneralPurpose?[...c,Xs]:c}function Zs(n){return n.replace(/^datalayer_/,"").replace(/_lexical$/,"")}function ea(n){const s=Zs(n);return/^executeCodeIn(Notebook|Document)$/.test(s)||/^(read|list)[A-Z]/.test(s)}function ta(n,s){return n.filter(c=>s?.has(c.name)||ea(c.name))}function na(n,s){const c=i=>s&&i.value.id===`${s}-tools`?0:i.value.id==="notebook-tools"?1:2;return n.map((i,d)=>({entry:i,index:d,rank:c(i)})).sort((i,d)=>i.rank-d.rank||i.index-d.index).map(i=>i.entry)}function oa(n,s,c){if(!c||!n.endsWith("-tools"))return!1;const i=n.slice(0,-6);return s.has(i)&&i!==c}const sa={type:"object",properties:{}};function aa(n,s){const c=new Set(n.toolset);return n.commands.filter(i=>c.has(i.name)).map(i=>({name:i.name,description:i.description,parameters:i.parameters??sa,location:"frontend",handler:async d=>{if(!s)throw new Error(`${i.name}: the ${n.plugin??n.id} plugin is not mounted on this page.`);const b=Object.keys(d??{}).length>0?d:void 0,S=await s.executeCommand(i.command,b);return S===void 0?{ok:!0,command:i.command,argument:b}:S}}))}function Ln(n,s){return n.flatMap(c=>aa(c,s))}function ia(){const n=ko(),s=Fn();return o.useMemo(()=>Ln(s,n),[s,n])}const Mn={opening:"Opening your conversation…",notOpened:n=>`Your conversation could not be opened, so this is a new one: ${n}`};function ra(n){const s=n?.app_instance;if(!s||typeof s!="object")return"";const c=s.deployment_uid;return typeof c=="string"?c.trim():""}function la(n,s,c){return n||!s?n:{id:c,messages:[]}}function ca(n){let s;for(const c of n.split(/\r?\n\r?\n/)){const i=c.split(/\r?\n/).filter(d=>d.startsWith("data:")).map(d=>d.slice(5).trim()).join("");if(i)try{const d=JSON.parse(i);d.type==="MESSAGES_SNAPSHOT"&&Array.isArray(d.messages)&&(s=d.messages)}catch{}}return s}async function $n(n){try{const s=await n.json();if(typeof s.detail=="string"&&s.detail)return s.detail}catch{}return`${n.status}`}async function da({agentBaseUrl:n,agentId:s,uid:c,token:i,fetcher:d=fetch}){const b=`${n.replace(/\/+$/,"")}/api/v1/apps/sessions/${encodeURIComponent(c)}`,S=i?{Authorization:`Bearer ${i}`}:{},w=await d(`${b}/messages`,{headers:S});if(w.ok){const B=await w.json();return jn(B.messages)}if(w.status!==404)throw new Error(await $n(w));const p=await d(`${b}/resume`,{method:"POST",headers:{"Content-Type":"application/json",...S},body:JSON.stringify({agent:s})});if(!p.ok)throw new Error(await $n(p));const K=ca(await p.text());if(!K)throw new Error(`The runtime said nothing of session ${c}.`);return jn(K)}const ua="var(--theme-accent)";function _n({face:n,size:s}){return typeof n=="string"?t.jsx(Eo,{emoji:n,size:s,label:""}):t.jsx(t.Fragment,{children:n})}function fa({face:n,size:s,state:c}){const i=c==="thinking"||c==="working",d=c==="paused";return t.jsxs(f,{as:"span","aria-hidden":!0,"data-presence":c,position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",width:s+8,height:s+8,flexShrink:0,fontSize:s,lineHeight:1,children:[t.jsx(f,{as:"span",position:"absolute",inset:0,borderRadius:"50%",boxShadow:d?"none":`0 0 0 2px ${ua}`,border:d?"2px dashed":"none",borderColor:"border.default",opacity:i||c==="waiting"||d?.9:0,transition:"opacity var(--theme-motion-status, 0ms) var(--theme-motion-easing, ease)",animation:i?"loopPresenceBreath 1.8s ease-in-out infinite":"none",reducedMotion:{animation:"none"},sx:{"@keyframes loopPresenceBreath":{"0%, 100%":{transform:"scale(0.92)",opacity:.35},"50%":{transform:"scale(1.06)",opacity:.9}}}}),t.jsx(f,{as:"span",display:"inline-flex",opacity:d?.55:1,filter:d?"grayscale(0.6)":"none",transition:"opacity var(--theme-motion-status, 0ms) var(--theme-motion-easing, ease)",children:t.jsx(_n,{face:n,size:s})})]})}function pa({state:n}){return t.jsx(H,{role:"status","aria-live":"polite","data-presence-line":n,sx:{fontSize:0,color:n==="waiting"?"fg.default":"fg.muted",fontWeight:n==="waiting"?"semibold":"normal",whiteSpace:"nowrap",flexShrink:0},children:Io[n]})}const ma=Ht(void 0),ga=Ht(""),ha=Ht({}),X="",ba=1400,On=parseInt(Ls["--loop-face-large"],10);function wa({workspace:n}){const s=To(),c=Ro(),i=o.useRef(null),{setViewControls:d}=n,[b,S]=o.useState(null),w=Ao(),p=w.getConfig(Po),K=p?.placeholder||s.placeholder,B=p?.defaultSurface??"notebook",Ke=w.getConfig(Mo),[F,Z]=o.useState(X),v=o.useRef(!1),I=N($o),ee=N(Oo),Me=N(Uo),re=N(Fo)[0]?.value,Y=Ft(re?.promptStance??ma)??re?.prompt,mt=N(Lo),$e=_o(mt[0]?.value),V=o.useRef($e);V.current=$e;const q=o.useRef(""),Oe=N(zo),gt=o.useMemo(()=>No(()=>Oe.reduce((e,l)=>({...e,...l.value.extras.value}),{})),[Oe]),x=Ft(Oe.length>0?gt:ha),J=o.useRef(new Set),te=Bo(Us,n),qe=!te.allowed,ht=qe?te.reason??"Chat is unavailable for this sandbox":void 0,[L,W]=o.useState(!1),[we,le]=o.useState(!1),[bt,Je]=o.useState({open:!1,pendingApproval:!1}),ce=Vo(L,bt,p?.presence?.paused===!0),de=p?.presence?.onPresence;o.useEffect(()=>{de?.(ce),V.current?.setPresence(ce)},[de,ce]);const Qe=o.useRef(p?.presence?.onSaying);Qe.current=p?.presence?.onSaying;const j=o.useRef({answering:!1}),Ce=o.useCallback(e=>{i.current=e,le(!!e)},[]),ue=o.useCallback(e=>{const{open:l,pendingApproval:a}=Ho(e);Je(ve=>ve.open===l&&ve.pendingApproval===a?ve:{open:l,pendingApproval:a});const h={saying:Do(e),answering:Wo(e)},u=j.current;(u.saying?.id!==h.saying?.id||u.saying?.text!==h.saying?.text||u.answering!==h.answering)&&(j.current=h,Qe.current?.(h));const U=V.current;if(!U)return;U.items(e);const P=new Set(["complete","completed","done","error","failed","cancelled","canceled","rejected","denied","stopped"]),A={insertcell:"adding a cell",updatecell:"editing a cell",runcell:"running a cell",deletecells:"removing cells",readallcells:"reading the notebook",readcell:"reading a cell",executecode:"running code",insertblock:"adding a block",updateblock:"editing a block",runblock:"running a block",readdocument:"reading the document"};let C;for(let ve=e.length-1;ve>=0;ve-=1){const ct=e[ve];if(typeof ct.toolName=="string"&&ct.toolCallId){P.has(String(ct.status).toLowerCase())||(C=ct);break}}if(!C){U.activity(void 0);return}const Ot=C.toolName.toLowerCase().replace(/^datalayer_/,"").replace(/_lexical$/,"").replace(/[^a-z]/g,""),uo=A[Ot]??`using ${C.toolName}`;U.activity(`${q.current||"The agent"} is ${uo}…`)},[]),je=o.useRef(x);je.current=x;const Ue=o.useCallback(e=>{Yn(e),V.current?.usage(e),je.current.onUsage?.(e)},[]),Xe=o.useCallback(e=>{W(e),e||V.current?.end("done")},[]),_=o.useCallback(e=>{const l=V.current;if(!l)return;let a=-1;for(let u=e.length-1;u>=0;u-=1)if(e[u].role==="user"){a=u;break}const h=e.slice(a+1).filter(u=>u.role==="assistant").map(Go).filter(u=>u.trim().length>0).join(`
|
|
29
|
+
|
|
30
|
+
`);l.assistant(h)},[]),ke=o.useRef([]),ne=o.useRef(!1),Ze=o.useRef(void 0),fe=o.useRef(void 0),et=N(Ko),Fe=o.useRef(et);Fe.current=et;const M=o.useCallback((e,l)=>{if(fe.current)return fe.current;const a=Yo(Fe.current.map(U=>U.value),l),h=a?.loop;if(ne.current&&h?.files&&h.files.length>0){const U=Ze.current;if(!U)return"A file is given to an application running on a runtime: run it on Datalayer or on your machine to give it one.";let P;try{P=h.files.map(A=>({file:Jo(String(A.name??"")),base64:qo(String(A.data_url??""))}))}catch(A){return A instanceof Error?A.message:String(A)}U.execute(Qo(P)).then(A=>{if(!A.success){S(`The files could not be put in the sandbox: ${A.error??"it failed"}.`);return}M(`${e}
|
|
31
|
+
|
|
32
|
+
${Xo(P.map(C=>C.file))}`,{...a,loop:Object.fromEntries(Object.entries(h).filter(([C])=>C!=="files"))})});return}V.current?.begin(e,i.current?.thread());const u=i.current?.send;if(!u){ke.current.push([e,a]);return}u(e,a)},[]);o.useEffect(()=>{d(we?{busy:L,stop:i.current?.stop,newChat:i.current?.newChat,send:M}:null)},[L,we,d,M]),o.useEffect(()=>()=>d(null),[d]),o.useEffect(()=>n.prompts.subscribe(M),[n.prompts,M]),o.useEffect(()=>{if(!we||ke.current.length===0)return;const e=ke.current.splice(0,ke.current.length);for(const[l,a]of e)i.current?.send(l,a)},[we]);const pe=o.useRef(!1),me=o.useCallback(async e=>{S(null);const l=await Zo(je.current,e);if(l){l.sent?st(""):S(l.refused);return}pe.current||(pe.current=!0,Ke?.firstPromptHook?.());const a=await n.submit(e);if(!a.handled){S(a.reason??null);return}st(""),a.result?.content&&S(a.result.content)},[n,Ke?.firstPromptHook]),E=o.useMemo(()=>I.find(e=>e.value.surfaceId===F)?.value,[I,F]),Q=o.useCallback(e=>{v.current=!0,Z(e)},[]);o.useEffect(()=>es(Q),[Q]),o.useEffect(()=>{ts(I.map(e=>e.value.surfaceId))},[I]),o.useEffect(()=>{ns(F&&F!==X?F:_s)},[F]);const oe=o.useMemo(()=>B===X||B==="none"?void 0:I.find(e=>e.value.surfaceId===B),[I,B]);o.useEffect(()=>{v.current||!oe||Ge(oe.value,n)&&Z(B)},[oe,n,B]);const[D,Le]=o.useState(null),ge=o.useRef(null),Ee=p?.fullScreenTopOffset??0,{fullScreen:$,usingApi:xt,toggle:St,topOffsetPx:vt}=os(ge,{forceOverlay:!!Ee,topOffset:Ee}),[_e,he]=o.useState(!1),Ie=o.useRef(!1);o.useEffect(()=>{!L||Ie.current||$||(Ie.current=!0,he(!0))},[L,$]),o.useEffect(()=>{$&&he(!1)},[$]),o.useEffect(()=>{E&&!Ge(E,n)&&(Le(E.surfaceId),Z(X))},[E,n]);const be=o.useMemo(()=>{if(D)return I.find(e=>e.value.surfaceId===D)?.value;if(!v.current&&F===X)return oe?.value},[I,D,F,oe]);o.useEffect(()=>{if(!D||F!==X)return;const e=I.find(l=>l.value.surfaceId===D);e&&Ge(e.value,n)&&(Le(null),Z(D))},[I,F,D,n]);const r=n.agentId?.trim()||"default",g=ss(n.sandbox.target??"local");ne.current=g;const m=as(),R=Ft(m?.selected??ga),y=m?.members.find(e=>e.id===R),yt=N(is)[0]?.value,ze=yt?.specId,k=kn(y?.specId??r)??(ze?kn(ze):void 0),se=y?void 0:yt,Ne=g&&!y?Os(ze,k):void 0;q.current=y?.name??k?.name??r;const Dt=N(rs),Gt=x.hiddenOpeners,Kt=x.hideOpeners,wt=x.openers,Ct=o.useMemo(()=>{if(Kt)return[];const e=new Set(Gt??[]),l=C=>e.size===0?C:C.filter(Ot=>!e.has(Ot.text));if(wt)return l(wt);const a=Dt.flatMap(C=>C.value.suggestions);if(a.length>0)return l(a);const h=l(k?.suggestions??[]),u=l(m?.team.suggestions??[]);if(u.length===0)return h;const U=new Set(u.map(C=>C.text)),P=m?.team.name??"Team",A=y?.name??k?.name??r;return[...u.map(C=>({...C,group:P})),...h.filter(C=>!U.has(C.text)).map(C=>({...C,group:A}))]},[Dt,m,k,y,r,Gt,Kt,wt]),tt=o.useMemo(()=>Ct.map(e=>({title:e.summary??e.text,message:e.message??e.text,group:e.group})),[Ct]),jt=Pe(k?.icon),z=p?.presence,zn=Pe(m?.team.icon),Yt=N(ls),nt=o.useMemo(()=>{const e=[],l=new Map,a=new Set,h=new Set(I.map(u=>u.value.surfaceId));for(const u of na(Yt,E?.surfaceId)){if(oa(u.value.id,h,E?.surfaceId))continue;let U;try{U=u.value.tools(n)}catch(P){console.warn(`[loop] frontend tools from '${u.plugin}' failed:`,P);continue}for(const P of U){const A=l.get(P.name);if(A){console.warn(`[loop] frontend tool '${P.name}' from '${u.plugin}' is shadowed by the one from '${A}'.`);continue}l.set(P.name,u.plugin),e.push(P),u.value.chatView&&a.add(P.name)}}for(const u of x.frontendTools??[])l.has(u.name)||(l.set(u.name,"chat-extras"),e.push(u),a.add(u.name));return E?e:ta(e,a)},[Yt,n.surfaceId,n.agentId,x.frontendTools,E?.surfaceId,I]),kt=ia(),Be=o.useMemo(()=>{if(kt.length===0)return nt;const e=new Set(nt.map(l=>l.name));return[...nt,...kt.filter(l=>!e.has(l.name))]},[nt,kt]),qt=Fn(),Et=x.agentToolBundles,Nn=o.useMemo(()=>{const e=x.frontendTools??[];if(!Et?.length)return x.frontendTools;const l=Ln(qt.filter(h=>Et.includes(h.id)),w),a=new Set(e.map(h=>h.name));return[...e,...l.filter(h=>!a.has(h.name))]},[x.frontendTools,Et,qt,w]);Ze.current=g&&Be.some(e=>e.name===cs)?w.getOutput(ft)?.sandbox:void 0;const T=ds(n.sandbox,n.serverUrl),Jt=N(us),Bn=o.useMemo(()=>Jt.filter(e=>e.value.composer).map(e=>({name:e.value.name,description:e.value.description})),[Jt]),Vn=o.useMemo(()=>{if(!m||!y)return Pn(k).map(a=>({name:a.name,description:a.description,icon:Pe(a.icon)}));const e=m.members.map(a=>({name:a.name,description:a.description,emoji:a.emoji,icon:Pe(a.icon),disabled:a.id===y.id,disabledReason:a.id===y.id?`You are already talking to ${a.name}`:void 0})),l=En(m.team,y.id).filter(a=>!m.members.some(h=>h.name===a.name)).map(a=>({name:a.name,description:a.description,icon:Pe(a.icon)}));return[...e,...l]},[m,y,k]),{inference:Qt,anonymous:Hn}=Qs(g),Wn=Vt(e=>e.user),It=g&&Hn.status==="expired",Xt=!Wn,Ve=fs();fe.current=Ve.disabled?Ve.disableReason||"This conversation is closed here.":void 0;const Tt=T===void 0?ps(n.sandbox,s):void 0,ot=qe||It||!!Ne||!!Tt||Ve.disabled,Zt=It?Xt?s.demoKeyExpired:s.keyExpired:Ne??Tt??ht??(Ve.disabled?Ve.disableReason:void 0),[en,st]=o.useState(""),[Dn,tn]=o.useState(),at=Dn??se?.model??k?.model??n.model??"",Te=ms(),nn=o.useRef(Te),on=o.useRef(R),sn=o.useRef(Te);sn.current=Te,o.useEffect(()=>{on.current!==R&&(on.current=R,nn.current=sn.current,tn(void 0))},[R]);const Gn=Te&&Te!==nn.current?Te:null,[Kn,Yn]=o.useState(),qn=Gn??Kn??null,Jn=Lt(ye.inpromptMenu),Qn=Lt(ye.promptAction),an=Lt(ye.chatHeader),Xn=o.useMemo(()=>m?.members.map(e=>({id:e.id,name:e.name,description:e.description,icon:Pe(e.icon)}))??[],[m]),xe=An(e=>e.pending),[rn,Zn]=o.useState(0);o.useEffect(()=>gs(()=>Zn(e=>e+1)),[]),o.useEffect(()=>{xe&&(st(xe.text),An.getState().consume(),xe.submit&&me(xe.text))},[xe]);const ln=w.getConfig(ft)?.datalayerCreatePayload,Se=!!(se?.createPayload?.app_spec||ln?.app_spec),Rt=ra(ln),eo=Vt(e=>e.token),At=w.getConfig(ft)?.datalayerVisitors,to=hs(At),no=w.getConfig(ft)?.embedToken,He=At?to.token:no||eo,ae=!!(Rt||At);if(ae&&!Se)throw new Error("A deployment’s page runs its application: its host gave no app_spec.");const[cn]=o.useState(In),O=o.useMemo(()=>la(p?.thread,Rt,cn),[p?.thread,Rt,cn]),[Re,dn]=o.useState(null),oo=!!(O?.fromRuntime&&Re?.given!==O.id);o.useEffect(()=>{if(!O?.fromRuntime||!Se||!T)return;let e=!0;return(async()=>{let l="";for(let a=0;a<4&&e;a+=1)try{const h=await da({agentBaseUrl:T,agentId:r,uid:O.id,token:He});e&&dn({given:O.id,thread:{...O,fromRuntime:!1,messages:h}});return}catch(h){l=h instanceof Error?h.message:String(h),await new Promise(u=>setTimeout(u,1500))}e&&dn({given:O.id,thread:{id:In(),messages:[],onStarted:O.onStarted},said:Mn.notOpened(l)})})(),()=>{e=!1}},[O?.id,O?.fromRuntime,Se,T,r,He]);const un=O?.fromRuntime?Re?.given===O.id?Re.thread:void 0:O,Pt=o.useMemo(()=>g?Ys({agentId:y?.specId??r,instructions:bs(k,se?.instructions),model:at||void 0,inference:Qt,frontendTools:Be,subagents:m&&y?En(m.team,y.id):Pn(k),sharing:m?.sharing,onSubagentEvent:e=>Fs.getState().appendSubagentEvent(e),modeEffect:se?.modeEffect}):T!==void 0?{type:"ag-ui",endpoint:Se?`${T}/api/v1/apps/agents/${encodeURIComponent(r)}/ag-ui/`:`${T}/api/v1/ag-ui/${r}/`,...Se&&He?{authToken:He}:{},...Se?{uiSocket:`${T.replace(/^http/,"ws")}/api/v1/apps/ui`,uiFiles:`${T}/api/v1/apps/agents/${encodeURIComponent(r)}/files`,appSessions:`${T}/api/v1/apps/sessions`,...ae?{ownRoutesOnly:!0}:{}}:{},agentId:r,configEndpoint:`${T}/api/v1/configure`,enableConfigQuery:!0}:void 0,[r,g,Qt,y,Be,m,k,se,at,T,Se,He,ae]),it=xs(!g,Pt?.type==="ag-ui"?Pt.configEndpoint:void 0,void 0,r),We=Ss(),rt=vs(r),[fn,Mt]=o.useState(void 0),[so,ao]=o.useState(void 0);o.useEffect(()=>{if(g||T===void 0)return;const e=ys(T,r,ae);if(!e){Mt([]);return}let l=!1;return fetch(e).then(a=>a.ok?a.json():null).then(a=>{l||(Mt(a?ws(a):[]),ao(a?Cs(a):void 0))}).catch(()=>{l||Mt([])}),()=>{l=!0}},[T,r,g,ae]);const io=o.useMemo(()=>js(fn,()=>Object.values(ks).filter(e=>e.available&&Es(e)).map(e=>({id:e.id,name:e.name,provider:e.provider}))),[fn]),pn=o.useMemo(()=>{const e=it.data?.builtinTools??[],l=new Set(e.map(a=>a.name));return{runtime:e,frontend:Be.filter(a=>!l.has(a.name)).map(a=>({id:a.name,name:a.name}))}},[it.data?.builtinTools,Be]),mn=o.useMemo(()=>new Set((We.data?.skills??[]).filter(e=>e.status==="enabled"||e.status==="loaded").map(e=>e.id)),[We.data]),ro=o.useCallback(async e=>{if(ae)throw new Error("A deployment’s chat does not switch its runtime’s model.");tn(e),!(g||T===void 0)&&await fetch(`${T}/api/v1/configure/inference/provider`,{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({model:e})}).catch(()=>{})},[T,g,ae]),gn=p?.promptPlacement==="bottom-chat",lo=p?.promptPlacement==="floating",Ae=p?.promptPlacement==="top",De=p?.hidePrompt===!0||x.hidePrompt===!0,co={onSend:()=>{me(en)},input:en,setInput:st,focusTrigger:xe||rn?(xe?.nonce??0)+rn:void 0,placement:lo||Y==="floating"||Y==="floating-top"||Y==="floating-bottom"?"floating":"docked",floatingAnchor:Y==="floating-top"?"top":"bottom",isLoading:L,onStop:()=>n.viewControls.stop?.(),placeholder:Zt??x.sendInstead?.says??K,typingSuggestions:Ct.map(e=>e.text),suggestions:tt,disableInputPrompt:ot,connectionConfirmed:!ot,padding:Ae||Y==="floating-top"||Y==="floating-bottom"||Y==="docked-top"?2:3,promptVariant:"lexical",autoFocus:p?.autoFocusPrompt??!0,mentionableAgents:Vn,promptCommands:Bn,headerContent:Jn.length>0?t.jsx(pt,{slot:ye.inpromptMenu,props:{workspace:n}}):void 0,footerExtras:Qn.length>0?t.jsx(pt,{slot:ye.promptAction,props:{workspace:n}}):void 0,showAgentsMenu:!z,showInlineAgentsMenu:!1,agents:Xn,selectedAgentId:R,onSelectAgent:e=>m?.select(e),showTokenUsage:x.showTokenUsage??p?.showTokenUsage??!0,showContextRing:!0,agentUsage:qn??void 0,showModelSelector:!z&&!ae,models:io,decisions:so,selectedModel:at,onModelSelect:e=>{ro(e)},showToolsMenu:!z,availableTools:pn.runtime,availableFrontendTools:pn.frontend,mcpServers:it.data?.mcpServers??[],mcpStatusData:x.mcpStatusData??void 0,showSkillsMenu:!z,skills:We.data?.skills??[],skillsLoading:We.isLoading,enabledSkills:mn,onToggleSkill:e=>mn.has(e)?rt.disableSkill(e):rt.enableSkill(e),onToggleAllSkills:(e,l)=>e.forEach(a=>l?rt.enableSkill(a):rt.disableSkill(a)),codemodeEnabled:x.codemodeEnabled??!1,onToggleCodemode:x.onToggleCodemode,isA2AProtocol:!1,hasConfigData:!!it.data,hasSkillsData:!!We.data},hn=ee[0]?.value.Component,$t=Me[0]?.value.Component,bn=!p?.hideHeader&&!!$t,lt=hn?t.jsx(hn,{workspace:n,composer:co}):null,xn=I.length>0&&p?.showSurfaceSelector!==!1?t.jsx(xa,{surfaces:I.map(e=>e.value),active:E?.surfaceId??be?.surfaceId??X,onChange:Q,workspace:n}):null,Sn=t.jsxs(t.Fragment,{children:[I.map(e=>{const l=e.value,a=E?.surfaceId===l.surfaceId;return a||J.current.has(l.surfaceId)||Ge(l,n)?(J.current.add(l.surfaceId),t.jsx(f,{sx:a?{flex:"1 1 0",minWidth:0,minHeight:0}:{position:"absolute",inset:0,visibility:"hidden",pointerEvents:"none",zIndex:-1},children:t.jsx(Is,{load:l.load,props:{surfaceId:l.surfaceId,workspace:n},fallback:t.jsxs(Nt,{children:["Loading ",l.title,"…"]}),errorFallback:u=>t.jsxs(Nt,{children:[l.title," failed to load: ",u.message]})})},l.surfaceId)):null}),!E&&be?t.jsx(f,{flex:"1 1 0",minWidth:0,minHeight:0,children:t.jsxs(Nt,{children:["Starting ",be.title,"…"]})}):null]}),vn=t.jsx(t.Fragment,{children:t.jsxs(f,{flex:Ae&&E?"0 0 34%":"1 1 0",maxWidth:Ae&&E?460:void 0,minWidth:0,minHeight:0,display:"flex",flexDirection:"column",borderLeft:E?"1px solid":void 0,borderColor:"border.default",position:"relative",children:[x.errorBanner?t.jsx(f,{flexShrink:0,px:3,py:2,fontSize:1,borderBottom:"1px solid",bg:x.errorBanner.variant==="warning"?"attention.subtle":"danger.subtle",color:x.errorBanner.variant==="warning"?"attention.fg":"danger.fg",borderColor:x.errorBanner.variant==="warning"?"attention.muted":"danger.muted",children:x.errorBanner.message}):null,Re?.said&&Re.given===O?.id?t.jsx(H,{as:"p",role:"status",sx:{m:0,px:3,py:2,fontSize:1,color:"fg.muted"},children:Re.said}):null,t.jsx(f,{flex:"1 1 auto",minHeight:0,display:"flex",children:oo?t.jsx(H,{as:"p",role:"status",sx:{m:0,p:3,fontSize:1,color:"fg.muted"},children:Mn.opening}):t.jsx(Ts,{themeVariant:p?.themeVariant,themeOverrides:p?.themeOverrides,colorMode:p?.colorMode,thread:un,disabled:ot,disableReason:Zt,protocol:Pt,frontendTools:g?void 0:Nn,initialModel:at||void 0,title:z?.name??y?.name??k?.name??r,description:z?.welcome??k?.description,brandIcon:z?.face?t.jsx(fa,{face:z.face,size:20,state:ce}):t.jsx(jt,{size:20}),headerContent:z&&!Tt?t.jsx(pa,{state:ce}):void 0,emptyState:{icon:z?.face?t.jsx("span",{"aria-hidden":!0,style:{fontSize:On,lineHeight:1},children:t.jsx(_n,{face:z.face,size:On})}):t.jsx(jt,{size:48}),title:z?.name??y?.name??k?.name??r,...m&&y?{sections:[{group:m.team.name,icon:t.jsx(zn,{size:48}),title:m.team.name,subtitle:m.team.description},{group:y.name,icon:t.jsx(jt,{size:32}),title:y.name,subtitle:k?.description}]}:null},suggestions:Ae||re||p?.suggestionLabels===!1?[]:tt,showHeader:bn,headerButtons:{showNewChat:p?.headerButtons?.newChat??!1,showClear:p?.headerButtons?.clear??!1},renderHeader:$t?e=>t.jsx($t,{workspace:n,header:n.chatViewModes?{...e,chatViewMode:n.chatViewModes.value,onChatViewModeChange:n.chatViewModes.onChange,offeredViewModes:n.chatViewModes.offered}:e}):void 0,showInformation:!0,headerActions:t.jsxs(f,{display:"inline-flex",alignItems:"center",gap:2,children:[n.chatHeaderActions,an.length>0?t.jsx(pt,{slot:ye.chatHeader,props:{workspace:n}}):null,t.jsx(Rs,{icon:$?As:Ps,"aria-label":$?"Exit full screen":"Enter full screen",variant:"invisible",size:"small",onClick:()=>{he(!1),St()},sx:_e?{"@keyframes dla-fullscreen-hint":{"0%, 100%":{opacity:1},"50%":{opacity:.4}},"&&":{bg:`color-mix(in srgb, ${c.primary} 16%, transparent)`,boxShadow:`inset 0 0 0 1.5px ${c.primary}`,animation:`dla-fullscreen-hint ${ba}ms ease-in-out infinite`},"@media (prefers-reduced-motion: reduce)":{"&&":{animation:"none"}}}:void 0})]}),showInput:!1,onSendReady:Ce,notebookToolSurfacesId:E?void 0:n.surfaceId,showTurnFooter:x.showTokenUsage??p?.showTokenUsage??!0,onContextSnapshot:Ue,onLoadingChange:Xe,onItemsChange:_,onDisplayItemsChange:ue,enableStreaming:!0},un?.id)}),!bn&&an.length>0?t.jsx(f,{hidden:!0,children:t.jsx(pt,{slot:ye.chatHeader,props:{workspace:n}})}):null,gn&&!De?lt:null]})}),yn=p?.suggestionLabels!==!1&&tt.length>0?t.jsx(f,{"aria-label":s.suggestedPrompts,display:"flex",flexWrap:"wrap",gap:2,px:2,pb:"6px",children:tt.map(e=>t.jsx(f,{as:"button",type:"button",title:e.message,disabled:L||ot,onClick:()=>{me(e.message)},appearance:"none",font:"inherit",fontSize:0,fontWeight:"semibold",lineHeight:1.25,px:"10px",py:"5px",width:Tn,flex:`0 0 ${Tn}px`,borderRadius:"999px",border:"1px solid",bg:"canvas.subtle",whiteSpace:"nowrap",sx:{borderColor:"border.default",color:"fg.default",cursor:"pointer","&:hover:not(:disabled)":{borderColor:"accent.fg",color:"accent.fg"},"&:disabled":{opacity:.5,cursor:"default"}},children:t.jsx(Ms,{title:e.title,maxWidth:"100%",sx:{minWidth:0},children:e.title})},e.title))}):null,wn=b?t.jsx(f,{flex:"0 0 auto",px:3,py:2,borderTop:"1px solid",borderColor:"border.default",bg:"canvas.subtle",fontSize:1,maxHeight:"40%",overflowY:"auto",children:b}):null;return t.jsxs(f,{ref:ge,sx:{height:"100%",minHeight:0,display:"flex",flexDirection:"column",position:"relative",...$?{bg:"canvas.default"}:null,...$&&!xt.current?{position:"fixed",top:vt,right:0,bottom:0,left:0,height:"auto",zIndex:1e3}:null},children:[re?t.jsx(re.Component,{workspace:n,editors:Sn,hasEditor:!!E,transcript:vn,prompt:De?null:lt,chips:De?null:yn,picker:xn,transient:wn}):t.jsxs(t.Fragment,{children:[Ae&&!De?t.jsxs(f,{flex:"0 0 auto",borderBottom:"1px solid",borderColor:"border.default",children:[lt,yn]}):null,xn,t.jsxs(f,{flex:"1 1 auto",minHeight:0,display:"flex",position:"relative",children:[Sn,vn]}),wn,gn||De||Ae?null:lt]}),It?t.jsx(f,{position:"absolute",inset:0,zIndex:5,bg:"canvas.default",display:"flex",flexDirection:"column",minHeight:0,children:t.jsx(qs,{agentName:y?.name??k?.name,sandboxStillRuns:g,temporary:Xt,onSignedIn:()=>$s.getState().clear()})}):null]})}function xa({surfaces:n,active:s,onChange:c,workspace:i}){const d=[...n].sort((b,S)=>(b.order??100)-(S.order??100));return t.jsxs(f,{flex:"0 0 auto",display:"flex",alignItems:"center",gap:2,px:3,py:2,borderBottom:"1px solid",borderColor:"border.default",children:[t.jsx(H,{sx:{fontSize:0,color:"fg.muted"},children:"Beside the chat"}),t.jsxs(_t,{"aria-label":"Editor beside the chat",size:"small",children:[t.jsx(_t.Button,{selected:s===X,onClick:()=>c(X),children:"Chat"}),d.map(b=>{const S=Ge(b,i),w=S?void 0:b.unavailableReason?.(i)??"Not available right now";return t.jsx(_t.Button,{selected:s===b.surfaceId,"aria-disabled":!S,title:w??b.title,leadingIcon:b.icon,onClick:()=>{S&&c(b.surfaceId)},children:b.title},b.surfaceId)})]})]})}function Nt({children:n}){return t.jsx(f,{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"fg.muted",fontSize:1,px:3,textAlign:"center",children:n})}export{wa as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as x,j as e,B as n,T as s,q as i}from"../datalayer-app-main.js";import j from"./index-
|
|
1
|
+
import{r as x,j as e,B as n,T as s,q as i}from"../datalayer-app-main.js";import j from"./index-BlBHM8M3.js";function A({agentUsage:o,padding:y,showContextRing:T=!1}){const[k,h]=x.useState(!1),v=x.useRef(null),c=x.useRef(null),g=!!o.turnUsage,C=!!o.sessionUsage,w=!!o.costUsage&&(o.costUsage.cumulativeCostUsd>0||o.costUsage.lastTurnCostUsd>0),m=o.sessionUsage,p=o.turnUsage,b=o.costUsage,d=t=>t<.01?`$${t.toFixed(4)}`:t<1?`$${t.toFixed(3)}`:`$${t.toFixed(2)}`,f=o.totalTokens,u=o.contextWindow,S=Math.max(0,u-f),a=u>0?f/u*100:0,r=[];if(o.distribution?.children?.length){const t={"System Prompts":"#8250df","Tool Definitions":"#bf8700","User Messages":"#16A085","Assistant Messages":"#1a7f37","Tool Usage":"#cf222e"};for(const l of o.distribution.children)r.push({name:l.name,value:l.value,color:t[l.name]||"#6e7781"})}else{o.systemPromptTokens>0&&r.push({name:"System Prompts",value:o.systemPromptTokens,color:"#8250df"}),o.toolTokens>0&&r.push({name:"Tool Definitions",value:o.toolTokens,color:"#bf8700"});const t=(o.userMessageTokens||0)+(o.assistantMessageTokens||0);t>0&&r.push({name:"Messages",value:t,color:"#16A085"});const l=(o.toolCallTokens||0)+(o.toolReturnTokens||0);l>0&&r.push({name:"Tool Results",value:l,color:"#cf222e"})}const z=a>90?"#cf222e":a>70?"#bf8700":"#16A085",W="var(--bgColor-muted, #f6f8fa)",R="var(--borderColor-default, #d1d9e0)",M={animation:!1,series:[{type:"pie",radius:[0,"90%"],center:["50%","50%"],silent:!0,label:{show:!1},labelLine:{show:!1},data:[{value:f,itemStyle:{color:z}},{value:S,itemStyle:{color:W}}]}]},P={animation:!1,series:[{type:"pie",radius:["45%","80%"],center:["50%","50%"],silent:!0,label:{show:!1},labelLine:{show:!1},itemStyle:{borderColor:"var(--bgColor-default, #ffffff)",borderWidth:1},data:[...r.map(t=>({value:t.value,itemStyle:{color:t.color}})),{value:S,itemStyle:{color:R}}]}]};return e.jsxs(n,{display:"flex",alignItems:"center",justifyContent:"flex-start",gap:2,py:1,px:y,bg:"canvas.subtle",flexWrap:"nowrap",overflow:"visible",whiteSpace:"nowrap",minWidth:0,children:[T&&e.jsxs(n,{position:"relative",flexShrink:0,onMouseEnter:()=>{c.current&&clearTimeout(c.current),c.current=setTimeout(()=>h(!0),150)},onMouseLeave:()=>{c.current&&clearTimeout(c.current),c.current=setTimeout(()=>h(!1),250)},children:[e.jsx(n,{ref:v,cursor:"pointer",width:20,height:20,display:"flex",alignItems:"center",justifyContent:"center",border:"1px solid",borderColor:"border.default",borderRadius:"50%",children:e.jsx(j,{option:M,style:{width:18,height:18},opts:{renderer:"svg"}})}),k&&e.jsxs(n,{position:"absolute",bottom:"100%",left:0,mb:1,p:3,width:260,bg:"canvas.overlay",borderRadius:2,boxShadow:"shadow.large",border:"1px solid",borderColor:"border.default",zIndex:100,children:[e.jsx(s,{sx:{fontWeight:"bold",fontSize:1,color:"fg.default",display:"block",mb:2},children:"Context"}),e.jsxs(s,{sx:{fontSize:0,color:"fg.muted",display:"block",mb:1},children:[e.jsx(s,{as:"span",sx:{fontWeight:"semibold",color:"fg.default"},children:i(f)})," / ",i(u)," tokens"]}),o.costUsage&&e.jsxs(s,{sx:{fontSize:0,color:"fg.muted",display:"block",mb:2},children:["cost ",e.jsx(s,{as:"span",sx:{fontWeight:"semibold",color:"fg.default"},children:d(o.costUsage.lastTurnCostUsd)})," turn · ",e.jsx(s,{as:"span",sx:{fontWeight:"semibold",color:"fg.default"},children:d(o.costUsage.cumulativeCostUsd)})," total"]}),e.jsxs(s,{sx:{fontSize:0,color:a>90?"danger.fg":a>70?"attention.fg":"fg.muted",fontWeight:"semibold",display:"block",mb:2},children:["• ",a.toFixed(0),"%"]}),e.jsx(n,{display:"flex",justifyContent:"center",mb:2,children:e.jsx(j,{option:P,style:{width:80,height:80},opts:{renderer:"svg"}})}),e.jsx(n,{display:"flex",flexDirection:"column",gap:1,children:r.map(t=>{const l=f>0?t.value/f*100:0;return e.jsxs(n,{display:"flex",alignItems:"center",gap:2,children:[e.jsx(n,{width:8,height:8,borderRadius:"50%",bg:t.color,flexShrink:0}),e.jsx(s,{sx:{fontSize:0,color:"fg.muted",flex:1},children:t.name}),e.jsxs(s,{sx:{fontSize:0,color:"fg.default",fontWeight:"semibold"},children:[l.toFixed(1),"%"]})]},t.name)})}),a>70&&e.jsx(s,{sx:{fontSize:0,color:"attention.fg",display:"block",mt:2,fontStyle:"italic"},children:"Quality may decline as limit nears."})]})]}),e.jsxs(s,{sx:{fontSize:0,color:"fg.muted",flexShrink:0},children:[e.jsx(s,{as:"span",sx:{fontWeight:"semibold",color:"fg.default",fontSize:0},children:i(o.totalTokens)})," / ",i(o.contextWindow)," ctx"]}),w&&e.jsxs(s,{sx:{fontSize:0,color:"fg.muted",flexShrink:0},children:["· cost ",e.jsx(s,{as:"span",sx:{fontWeight:"semibold",color:"fg.default",fontSize:0},children:d(b?.lastTurnCostUsd??0)})," turn / ",e.jsx(s,{as:"span",sx:{fontWeight:"semibold",color:"fg.default",fontSize:0},children:d(b?.cumulativeCostUsd??0)})]}),C&&e.jsxs(s,{sx:{fontSize:0,color:"fg.muted",flexShrink:0},children:["· session ",i(m?.inputTokens??0),e.jsx(s,{as:"span",sx:{color:"success.fg",fontSize:0},children:"▲"})," ",i(m?.outputTokens??0),e.jsx(s,{as:"span",sx:{color:"attention.fg",fontSize:0},children:"▼"})]}),g&&e.jsxs(s,{sx:{fontSize:0,color:"fg.muted",flexShrink:0},children:["· turn ",i(p?.inputTokens??0),e.jsx(s,{as:"span",sx:{color:"success.fg",fontSize:0},children:"▲"})," ",i(p?.outputTokens??0),e.jsx(s,{as:"span",sx:{color:"attention.fg",fontSize:0},children:"▼"})]})]})}export{A as ContextPie};
|