@datalayer/agent-runtimes 1.5.65 → 1.5.70
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-RIFH8RAg.js → AgentDetails-BriiIXid.js} +1 -1
- package/dist-embed/chunks/{AgentDetailsDialog-CK7jVPSc.js → AgentDetailsDialog-Bh3yhb7O.js} +1 -1
- package/dist-embed/chunks/{AgentInspector-DwZk4yjT.js → AgentInspector-Dd-G3TvL.js} +1 -1
- package/dist-embed/chunks/{AgentInspectorDialog-Ct12Hqc-.js → AgentInspectorDialog-CQEiBqOl.js} +1 -1
- package/dist-embed/chunks/{CellSidebarExtension-CbVVhhaO.js → CellSidebarExtension-DbbW8AJP.js} +1 -1
- package/dist-embed/chunks/ChatView-LzqHHAEe.js +32 -0
- package/dist-embed/chunks/{ContextPie-DLR5REbp.js → ContextPie-I90j658q.js} +1 -1
- package/dist-embed/chunks/{DeckComponent-C_ZaO_iF.js → DeckComponent-DAnUabRV.js} +2 -2
- package/dist-embed/chunks/{DocumentView-DP-dxfpu.js → DocumentView-BKFitqiB.js} +1 -1
- package/dist-embed/chunks/{EphemeralDocument-D3rfKBME.js → EphemeralDocument-BRzYMd8Z.js} +1 -1
- package/dist-embed/chunks/{EphemeralNotebook-Dn3ku5jr.js → EphemeralNotebook-COnqhW7Q.js} +1 -1
- package/dist-embed/chunks/{ExcalidrawComponent-B7I0SoHM.js → ExcalidrawComponent-VnKcai35.js} +1 -1
- package/dist-embed/chunks/{ExcalidrawModal-B2VIt9DT.js → ExcalidrawModal-DrntFjbe.js} +1 -1
- package/dist-embed/chunks/{JupyterLexicalExtension-LpJ6Rj9h.js → JupyterLexicalExtension-BBivQZvX.js} +9 -9
- package/dist-embed/chunks/{KernelVariables-ZFnygJ4R.js → KernelVariables-CNEfUsyt.js} +1 -1
- package/dist-embed/chunks/{LexicalToolRegistry-BRMKFkxC.js → LexicalToolRegistry-B8ccPURu.js} +4 -4
- package/dist-embed/chunks/{NotebookToolSurfaces-Dz_cxy8L.js → NotebookToolSurfaces-B8Rmjy_m.js} +1 -1
- package/dist-embed/chunks/{NotebookView-DG-pAyOq.js → NotebookView-BDChKuA9.js} +1 -1
- package/dist-embed/chunks/{Output-Cnq5i-bK.js → Output-CEoYDjwn.js} +1 -1
- package/dist-embed/chunks/{SandboxDetailsDialog-BzGdQmTQ.js → SandboxDetailsDialog-DuavSJSL.js} +1 -1
- package/dist-embed/chunks/SchemaForm-C6wDxDrg.js +1 -0
- package/dist-embed/chunks/{WidgetVariableView-kRHeKnmD.js → WidgetVariableView-Tm5SSEKf.js} +1 -1
- package/dist-embed/chunks/{YouTubePlugin-ChwsOfjj.js → YouTubePlugin-C209681s.js} +1 -1
- package/dist-embed/chunks/{abnfDiagram-VCTEODGH-sr3TJAkV.js → abnfDiagram-VCTEODGH-CsKFU4Ej.js} +1 -1
- package/dist-embed/chunks/{abnfDiagram-VCTEODGH-Byz1QYm8.js → abnfDiagram-VCTEODGH-m7LJLYga.js} +1 -1
- package/dist-embed/chunks/{ar-SA-G6X2FPQ2-D1OmbW2u.js → ar-SA-G6X2FPQ2-Dypu3IcK.js} +1 -1
- package/dist-embed/chunks/{architectureDiagram-5GKGNRK7-B7rDWQh9.js → architectureDiagram-5GKGNRK7-C22xzf-o.js} +1 -1
- package/dist-embed/chunks/{architectureDiagram-5GKGNRK7-DOxpBf54.js → architectureDiagram-5GKGNRK7-iDgRBR0a.js} +1 -1
- package/dist-embed/chunks/{az-AZ-76LH7QW2-CmSoFd5x.js → az-AZ-76LH7QW2-D8CzfKb1.js} +1 -1
- package/dist-embed/chunks/{bg-BG-XCXSNQG7-D7b2U9I0.js → bg-BG-XCXSNQG7-_NVFEM1_.js} +1 -1
- package/dist-embed/chunks/{blockDiagram-868be97b-CKmWpImQ.js → blockDiagram-868be97b-D3BurtSN.js} +1 -1
- package/dist-embed/chunks/{blockDiagram-I7D4REHJ-_fDDlpCe.js → blockDiagram-I7D4REHJ-CHicgYkf.js} +1 -1
- package/dist-embed/chunks/{blockDiagram-I7D4REHJ-bzZkd0c3.js → blockDiagram-I7D4REHJ-oDRNhSU2.js} +1 -1
- package/dist-embed/chunks/{bn-BD-2XOGV67Q-CG3iRJ8B.js → bn-BD-2XOGV67Q-DMgdNi-k.js} +1 -1
- package/dist-embed/chunks/{c4Diagram-3f4bdde3-zvlk6Xm2.js → c4Diagram-3f4bdde3-Dmbl9p6m.js} +1 -1
- package/dist-embed/chunks/{c4Diagram-7LVT6UL2-NpmtOeoK.js → c4Diagram-7LVT6UL2-CR3iQQ6O.js} +1 -1
- package/dist-embed/chunks/{c4Diagram-7LVT6UL2-vHp7kFMG.js → c4Diagram-7LVT6UL2-auJZQjpw.js} +1 -1
- package/dist-embed/chunks/{ca-ES-6MX7JW3Y-BW4zf4cd.js → ca-ES-6MX7JW3Y-DpOQhzr4.js} +1 -1
- package/dist-embed/chunks/{celltoolbartracker-DDVXLR_l.js → celltoolbartracker-DCR86wxV.js} +1 -1
- package/dist-embed/chunks/{chunk-2Q5K7J3B-Blqxrfai.js → chunk-2Q5K7J3B-DpFWUcsT.js} +1 -1
- package/dist-embed/chunks/{chunk-2Q5K7J3B-D26LTlFj.js → chunk-2Q5K7J3B-H_DA_jTG.js} +1 -1
- package/dist-embed/chunks/{chunk-5VM5RSS4-CdbSD_M8.js → chunk-5VM5RSS4-BhWUyelG.js} +1 -1
- package/dist-embed/chunks/{chunk-5VM5RSS4-BcO1XpWr.js → chunk-5VM5RSS4-CaowF8Al.js} +1 -1
- package/dist-embed/chunks/{chunk-F27PBJKO-BQ-ZIw-1.js → chunk-F27PBJKO-B9wgW70d.js} +1 -1
- package/dist-embed/chunks/{chunk-F27PBJKO-BRe2RwsD.js → chunk-F27PBJKO-D7PuEggc.js} +1 -1
- package/dist-embed/chunks/{chunk-IMKFNOWR-D-RO-dCd.js → chunk-IMKFNOWR-DhXkXQPV.js} +1 -1
- package/dist-embed/chunks/{chunk-IMKFNOWR-CLFrksv5.js → chunk-IMKFNOWR-jZNuNkCa.js} +1 -1
- package/dist-embed/chunks/{chunk-JWPE2WC7-wyMu098x.js → chunk-JWPE2WC7-BIShIUcJ.js} +1 -1
- package/dist-embed/chunks/{chunk-JWPE2WC7-DbtWvNSt.js → chunk-JWPE2WC7-DaBG37yC.js} +1 -1
- package/dist-embed/chunks/{chunk-POPQ4Y6H-OgpU0qcq.js → chunk-POPQ4Y6H-DG5Q2OKT.js} +1 -1
- package/dist-embed/chunks/{chunk-POPQ4Y6H-lwXXWwpD.js → chunk-POPQ4Y6H-WjTzJISs.js} +1 -1
- package/dist-embed/chunks/{chunk-SVP7TREG-CtOO_gz8.js → chunk-SVP7TREG-ERRaAh-x.js} +1 -1
- package/dist-embed/chunks/{chunk-SVP7TREG-C1pZJEUL.js → chunk-SVP7TREG-bq0J6tH_.js} +1 -1
- package/dist-embed/chunks/{chunk-TICWLB2K-BUeW_P5i.js → chunk-TICWLB2K-B91fA6Jd.js} +1 -1
- package/dist-embed/chunks/{chunk-TICWLB2K-B2id4fS-.js → chunk-TICWLB2K-BV_9f6ak.js} +1 -1
- package/dist-embed/chunks/{chunk-XXDRQBXY-6emV99Se.js → chunk-XXDRQBXY-BAy0lBJk.js} +1 -1
- package/dist-embed/chunks/{chunk-XXDRQBXY-DASCZDLb.js → chunk-XXDRQBXY-fV8doVJJ.js} +1 -1
- package/dist-embed/chunks/{classDiagram-ZZMXUADV-BUcYJSYu.js → classDiagram-ZZMXUADV-B0pbDswj.js} +1 -1
- package/dist-embed/chunks/{classDiagram-ZZMXUADV-DXK_VS6x.js → classDiagram-ZZMXUADV-CGdcKCOI.js} +1 -1
- package/dist-embed/chunks/{classDiagram-f62afe4f-D_XtspOB.js → classDiagram-f62afe4f-tD890DEl.js} +1 -1
- package/dist-embed/chunks/{classDiagram-v2-604399ef-DmVGURP4.js → classDiagram-v2-604399ef-DReIuoeI.js} +1 -1
- package/dist-embed/chunks/{classDiagram-v2-VYDZK3BY-BUcYJSYu.js → classDiagram-v2-VYDZK3BY-B0pbDswj.js} +1 -1
- package/dist-embed/chunks/{classDiagram-v2-VYDZK3BY-DXK_VS6x.js → classDiagram-v2-VYDZK3BY-CGdcKCOI.js} +1 -1
- package/dist-embed/chunks/{code-block-IT6T5CEO-CLFy43wi.js → code-block-IT6T5CEO-DD7hwbHA.js} +1 -1
- package/dist-embed/chunks/{component-BABP_IeE.js → component-BWDcVpKW.js} +1 -1
- package/dist-embed/chunks/{cose-bilkent-JH36ORCC-DkllT3uc.js → cose-bilkent-JH36ORCC-BS_pJML-.js} +1 -1
- package/dist-embed/chunks/{cose-bilkent-JH36ORCC-zloY56Dd.js → cose-bilkent-JH36ORCC-BsK2pWDL.js} +1 -1
- package/dist-embed/chunks/{createText-aed3d8b3-B_AmUgWn.js → createText-aed3d8b3-1eVJ8jxH.js} +2 -2
- package/dist-embed/chunks/{cs-CZ-2BRQDIVT-DzWWfN4P.js → cs-CZ-2BRQDIVT-Fr-SpqHD.js} +1 -1
- package/dist-embed/chunks/{cynefinDiagram-5FMLGOSQ-CT11o-tV.js → cynefinDiagram-5FMLGOSQ-AxJwZ7KT.js} +1 -1
- package/dist-embed/chunks/{cynefinDiagram-5FMLGOSQ-Benlx8nr.js → cynefinDiagram-5FMLGOSQ-vmheD_S2.js} +1 -1
- package/dist-embed/chunks/{da-DK-5WZEPLOC-CaeirLFF.js → da-DK-5WZEPLOC-DO_sAXvt.js} +1 -1
- package/dist-embed/chunks/{dagre-GXQ25YYZ-B2PPWFKB.js → dagre-GXQ25YYZ-B8Ip03td.js} +1 -1
- package/dist-embed/chunks/{dagre-GXQ25YYZ-qys4evHY.js → dagre-GXQ25YYZ-BgrGEY09.js} +1 -1
- package/dist-embed/chunks/{de-DE-XR44H4JA-DBkebtzo.js → de-DE-XR44H4JA-4JnXB_iM.js} +1 -1
- package/dist-embed/chunks/{diagram-S7CK7UJ4-C1EHbNes.js → diagram-S7CK7UJ4-BxRBCYVP.js} +1 -1
- package/dist-embed/chunks/{diagram-S7CK7UJ4-CBkf-BrM.js → diagram-S7CK7UJ4-hQvZziAN.js} +1 -1
- package/dist-embed/chunks/{diagram-UQ7AKVKN-CKsxaZCe.js → diagram-UQ7AKVKN-BFkOO3Wu.js} +1 -1
- package/dist-embed/chunks/{diagram-UQ7AKVKN-C9zuKZ5Y.js → diagram-UQ7AKVKN-BvgP6_rf.js} +1 -1
- package/dist-embed/chunks/{diagram-VSXAHHWV-Cd8pBAf-.js → diagram-VSXAHHWV-Cy8iWh4H.js} +1 -1
- package/dist-embed/chunks/{diagram-VSXAHHWV-Dd_PlC0S.js → diagram-VSXAHHWV-WVuzjdxU.js} +1 -1
- package/dist-embed/chunks/{diagram-VX7I27RA-DZTLEsKe.js → diagram-VX7I27RA-CCx8R8FK.js} +1 -1
- package/dist-embed/chunks/{diagram-VX7I27RA-D5qf5Kw-.js → diagram-VX7I27RA-_LUOsaBb.js} +1 -1
- package/dist-embed/chunks/{diagram-Z3DM3KII-DlsBShb0.js → diagram-Z3DM3KII-CY856Sry.js} +1 -1
- package/dist-embed/chunks/{diagram-Z3DM3KII-B2zosfsY.js → diagram-Z3DM3KII-Dqcrl8-1.js} +1 -1
- package/dist-embed/chunks/{ebnfDiagram-PWID7BFC-VhBXkHc8.js → ebnfDiagram-PWID7BFC-DC-Zam6d.js} +1 -1
- package/dist-embed/chunks/{ebnfDiagram-PWID7BFC-sUXnKXhD.js → ebnfDiagram-PWID7BFC-kqD9RLAA.js} +1 -1
- package/dist-embed/chunks/{edges-b2856ca0-cYsFYCgh.js → edges-b2856ca0-B3ybuHDU.js} +1 -1
- package/dist-embed/chunks/{el-GR-BZB4AONW-DkmsSwGL.js → el-GR-BZB4AONW-MydAlwHl.js} +1 -1
- package/dist-embed/chunks/{erDiagram-5d81789a-DHzqp69u.js → erDiagram-5d81789a-HZ-VLc2f.js} +1 -1
- package/dist-embed/chunks/{erDiagram-RLTQ6QDP-DPzcAUZq.js → erDiagram-RLTQ6QDP-CNO4pVhU.js} +1 -1
- package/dist-embed/chunks/{erDiagram-RLTQ6QDP-BRf7HEXF.js → erDiagram-RLTQ6QDP-zwXEFcAp.js} +1 -1
- package/dist-embed/chunks/{es-ES-U4NZUMDT-Dvnvh6dW.js → es-ES-U4NZUMDT-rQmnr_uu.js} +1 -1
- package/dist-embed/chunks/{eu-ES-A7QVB2H4-DYX6hpyz.js → eu-ES-A7QVB2H4-j5Hf8ngk.js} +1 -1
- package/dist-embed/chunks/{fa-IR-HGAKTJCU-Dmlm1ZjK.js → fa-IR-HGAKTJCU-DMJRRSBp.js} +1 -1
- package/dist-embed/chunks/{fi-FI-Z5N7JZ37-2ov9-9H3.js → fi-FI-Z5N7JZ37-BFLC0BFd.js} +1 -1
- package/dist-embed/chunks/{flowDb-185abca5-vnPYmNxZ.js → flowDb-185abca5-7Nn2obHG.js} +1 -1
- package/dist-embed/chunks/{flowDiagram-1629c991-D_P7IhnT.js → flowDiagram-1629c991-CnvM_psw.js} +1 -1
- package/dist-embed/chunks/{flowDiagram-HODETNUW-BUuZtbKx.js → flowDiagram-HODETNUW-BrbR1EkW.js} +1 -1
- package/dist-embed/chunks/{flowDiagram-HODETNUW-Dqms2kHK.js → flowDiagram-HODETNUW-Bsl5oOFb.js} +1 -1
- package/dist-embed/chunks/{flowDiagram-v2-1d953310-jyYNkbVD.js → flowDiagram-v2-1d953310-TkF25UVC.js} +1 -1
- package/dist-embed/chunks/{flowchart-elk-definition-6df44142-CkUTQpED.js → flowchart-elk-definition-6df44142-CwiGfEuJ.js} +1 -1
- package/dist-embed/chunks/{fr-FR-RHASNOE6-BUlHGdL2.js → fr-FR-RHASNOE6-CxjhSJC1.js} +1 -1
- package/dist-embed/chunks/{ganttDiagram-3b0b3873-CDk8PUcC.js → ganttDiagram-3b0b3873-DeouFDZE.js} +1 -1
- package/dist-embed/chunks/{ganttDiagram-EL5Y4UJY-D4fzILsk.js → ganttDiagram-EL5Y4UJY-BeK3rGHM.js} +1 -1
- package/dist-embed/chunks/{ganttDiagram-EL5Y4UJY-Tsk8dNyJ.js → ganttDiagram-EL5Y4UJY-DfJDZVnm.js} +1 -1
- package/dist-embed/chunks/{gitGraphDiagram-WWUBYQGX-DSJR8KGU.js → gitGraphDiagram-WWUBYQGX-BujqTwbf.js} +1 -1
- package/dist-embed/chunks/{gitGraphDiagram-WWUBYQGX-XOpfU7hY.js → gitGraphDiagram-WWUBYQGX-DkYi8eWr.js} +1 -1
- package/dist-embed/chunks/{gitGraphDiagram-f01e8bc2-C7QWh6IZ.js → gitGraphDiagram-f01e8bc2-mCCRVzIs.js} +1 -1
- package/dist-embed/chunks/{gl-ES-HMX3MZ6V-T3hKsmlm.js → gl-ES-HMX3MZ6V-BuuMpTaX.js} +1 -1
- package/dist-embed/chunks/{he-IL-6SHJWFNN-DoePgaFj.js → he-IL-6SHJWFNN-Cv3Nrcgu.js} +1 -1
- package/dist-embed/chunks/{hi-IN-IWLTKZ5I-B_E7TPlk.js → hi-IN-IWLTKZ5I-Sddst60F.js} +1 -1
- package/dist-embed/chunks/{hu-HU-A5ZG7DT2-Bu8X3BrR.js → hu-HU-A5ZG7DT2-ehrXVpD0.js} +1 -1
- package/dist-embed/chunks/{id-ID-SAP4L64H-jOs7pgj2.js → id-ID-SAP4L64H-Gfb1UYxZ.js} +1 -1
- package/dist-embed/chunks/{index-JF61_zqs.js → index-5NOGMVjz.js} +1 -1
- package/dist-embed/chunks/{index-BzgczmKp.js → index-6zxVHKca.js} +10 -10
- package/dist-embed/chunks/{index-9bae90f3-BywpAnlj.js → index-9bae90f3-CzUk5Hhq.js} +1 -1
- package/dist-embed/chunks/{index-DvHqo_Qj.js → index-AHAhJxOc.js} +1 -1
- package/dist-embed/chunks/{index-7hNcqUR-.js → index-B9Ya6z2n.js} +1 -1
- package/dist-embed/chunks/{index-BwyZ8O-M.js → index-BOEhatkt.js} +1 -1
- package/dist-embed/chunks/{index-BYo3uv0g.js → index-BOGJMsUN.js} +2 -2
- package/dist-embed/chunks/{index-Bmo-OFNb.js → index-BaBNw6X5.js} +4 -4
- package/dist-embed/chunks/{index-BR58wzgU.js → index-BfvZMC2B.js} +1 -1
- package/dist-embed/chunks/{index-DnqWNX5L.js → index-BiuABva5.js} +1 -1
- package/dist-embed/chunks/{index-0m4vhMAR.js → index-BjfpYq_l.js} +1 -1
- package/dist-embed/chunks/{index-BI_0cBab.js → index-BuXVVl_h.js} +7 -7
- package/dist-embed/chunks/{index-fBSCurWE.js → index-By5Ku2wm.js} +4 -4
- package/dist-embed/chunks/{index-Bw1BRX9C.js → index-CNpJ8Y2y.js} +1 -1
- package/dist-embed/chunks/{index-zrM_sbHt.js → index-Cw1r0WFc.js} +1 -1
- package/dist-embed/chunks/{index-CS3mm6qN.js → index-D8x0MQWQ.js} +1 -1
- package/dist-embed/chunks/{index-BqpOM6Mx.js → index-DDnf06e_.js} +1 -1
- package/dist-embed/chunks/{index-B3fpdUTu.js → index-DGefzKhT.js} +1 -1
- package/dist-embed/chunks/{index-CgCcVxV_.js → index-DN6Cori6.js} +1 -1
- package/dist-embed/chunks/{index-_z7rhr9l.js → index-DQ-v6JVz.js} +4 -4
- package/dist-embed/chunks/{index-C2JsK59r.js → index-DTYZzbES.js} +1 -1
- package/dist-embed/chunks/{index-MfJ2dN-o.js → index-DWkIO3YS.js} +1 -1
- package/dist-embed/chunks/{index-CL2J1VY_.js → index-DZwyICkp.js} +1 -1
- package/dist-embed/chunks/{index-CoVJiT-h.js → index-D_vehxcD.js} +1 -1
- package/dist-embed/chunks/{index-wqOJuJys.js → index-DiTcTB7Y.js} +1 -1
- package/dist-embed/chunks/{index-COPak822.js → index-DmpLE1d4.js} +1 -1
- package/dist-embed/chunks/{index-Ca5wn1F-.js → index-Do4nOAaR.js} +1 -1
- package/dist-embed/chunks/{index-DBRbrQr1.js → index-DobaF_Ee.js} +1 -1
- package/dist-embed/chunks/{index-BfuxhQsr.js → index-DvwQdrde.js} +1 -1
- package/dist-embed/chunks/{index-KC9furSU.js → index-DzMYyq8T.js} +1 -1
- package/dist-embed/chunks/{index-Cz0vwY93.js → index-QHmZQlKN.js} +6 -6
- package/dist-embed/chunks/{index-C00mEIpi.js → index-hxIHgkzg.js} +1 -1
- package/dist-embed/chunks/{index-B27olYsx.js → index-nMwnYxTd.js} +1 -1
- package/dist-embed/chunks/{index-NvC9D0Mh.js → index-umwkqggg.js} +1 -1
- package/dist-embed/chunks/{index-3JfFVSno.js → index-yMppJWrQ.js} +1 -1
- package/dist-embed/chunks/{index.esm-BbIi4n-Y.js → index.esm-CC457Cyg.js} +1 -1
- package/dist-embed/chunks/{index.esm-ePira_es.js → index.esm-DFDbLGof.js} +1 -1
- package/dist-embed/chunks/{infoDiagram-27XIBGKW-CvSw0Uqm.js → infoDiagram-27XIBGKW-C18Zz25F.js} +1 -1
- package/dist-embed/chunks/{infoDiagram-27XIBGKW-BagqSEKB.js → infoDiagram-27XIBGKW-DiC5_yjB.js} +1 -1
- package/dist-embed/chunks/{infoDiagram-a29d40f1-CY6P-RB2.js → infoDiagram-a29d40f1-DRVyx4Bf.js} +1 -1
- package/dist-embed/chunks/{ishikawaDiagram-5VMMS53U-CJjl4-N0.js → ishikawaDiagram-5VMMS53U-3WGbru46.js} +1 -1
- package/dist-embed/chunks/{ishikawaDiagram-5VMMS53U-DQfqd5pn.js → ishikawaDiagram-5VMMS53U-DrEzfSK9.js} +1 -1
- package/dist-embed/chunks/{it-IT-JPQ66NNP-CrGtxCjf.js → it-IT-JPQ66NNP-BehLHkar.js} +1 -1
- package/dist-embed/chunks/{ja-JP-DBVTYXUO-MhHoMhnM.js → ja-JP-DBVTYXUO-BZvqIigI.js} +1 -1
- package/dist-embed/chunks/{journeyDiagram-3NMN7TZE-B186toLf.js → journeyDiagram-3NMN7TZE-BZWmkUfk.js} +1 -1
- package/dist-embed/chunks/{journeyDiagram-3NMN7TZE-fMuL5yIV.js → journeyDiagram-3NMN7TZE-DpWKIFIN.js} +1 -1
- package/dist-embed/chunks/{journeyDiagram-95396277-Bt2VFr_f.js → journeyDiagram-95396277-D_QLiVq4.js} +1 -1
- package/dist-embed/chunks/{kaa-6HZHGXH3-otexWzw0.js → kaa-6HZHGXH3-DgAIF6rN.js} +1 -1
- package/dist-embed/chunks/{kab-KAB-ZGHBKWFO-Bk_pPM_n.js → kab-KAB-ZGHBKWFO-DW4thPSJ.js} +1 -1
- package/dist-embed/chunks/{kanban-definition-UXKFOSKX-tkyZOsyz.js → kanban-definition-UXKFOSKX-B84ZaZEy.js} +1 -1
- package/dist-embed/chunks/{kanban-definition-UXKFOSKX-DyX3lLGq.js → kanban-definition-UXKFOSKX-DxbTprYr.js} +1 -1
- package/dist-embed/chunks/{kk-KZ-P5N5QNE5-DuPx0Ivn.js → kk-KZ-P5N5QNE5-CCy_nSJ7.js} +1 -1
- package/dist-embed/chunks/{km-KH-HSX4SM5Z-DfW3Tv6Q.js → km-KH-HSX4SM5Z-kpXyoxjS.js} +1 -1
- package/dist-embed/chunks/{ko-KR-MTYHY66A-CWeM03UD.js → ko-KR-MTYHY66A-CFm6WtQG.js} +1 -1
- package/dist-embed/chunks/{ku-TR-6OUDTVRD-BpZVGVBG.js → ku-TR-6OUDTVRD-CKF85mOv.js} +1 -1
- package/dist-embed/chunks/{layout-i1FLEqsi.js → layout-DYytgC9r.js} +1 -1
- package/dist-embed/chunks/{layout-P_H-0ax9.js → layout-Dx5Hzkor.js} +1 -1
- package/dist-embed/chunks/{lexicalHooks-BjTCfdUi.js → lexicalHooks-DbTGOMyq.js} +1 -1
- package/dist-embed/chunks/{lt-LT-XHIRWOB4-LavcVuZR.js → lt-LT-XHIRWOB4-CO9Bo5qJ.js} +1 -1
- package/dist-embed/chunks/{lv-LV-5QDEKY6T-DWoheFP4.js → lv-LV-5QDEKY6T-CvZszc5p.js} +1 -1
- package/dist-embed/chunks/{mermaid.core-Cltl6__q.js → mermaid.core-D0955PCw.js} +5 -5
- package/dist-embed/chunks/{mermaid.core-Bd5egiDP.js → mermaid.core-D98kc0OO.js} +3 -3
- package/dist-embed/chunks/{mindmap-definition-YA3MSWOX-BmuUH3a3.js → mindmap-definition-YA3MSWOX-D86IPkt3.js} +1 -1
- package/dist-embed/chunks/{mindmap-definition-YA3MSWOX-Di0Xac42.js → mindmap-definition-YA3MSWOX-_1SBIPav.js} +1 -1
- package/dist-embed/chunks/{mindmap-definition-e4c1d938-D0Ep5LxZ.js → mindmap-definition-e4c1d938-UbbfpF-a.js} +1 -1
- package/dist-embed/chunks/{mr-IN-CRQNXWMA-G-1tBL4-.js → mr-IN-CRQNXWMA-Cio_dB9M.js} +1 -1
- package/dist-embed/chunks/{my-MM-5M5IBNSE-DpmzmQ2W.js → my-MM-5M5IBNSE-Z0RQ5Vbz.js} +1 -1
- package/dist-embed/chunks/{nb-NO-T6EIAALU-DFU_SPCx.js → nb-NO-T6EIAALU-BEQ0YP9J.js} +1 -1
- package/dist-embed/chunks/{nl-NL-IS3SIHDZ-Dlz_okxD.js → nl-NL-IS3SIHDZ-YtkJnS_J.js} +1 -1
- package/dist-embed/chunks/{nn-NO-6E72VCQL-D9E-BpHw.js → nn-NO-6E72VCQL-C1j2s3qO.js} +1 -1
- package/dist-embed/chunks/{oc-FR-POXYY2M6-CVonm6mx.js → oc-FR-POXYY2M6-CinnjccW.js} +1 -1
- package/dist-embed/chunks/{pa-IN-N4M65BXN-a5ExTB9v.js → pa-IN-N4M65BXN-c_6OtC6L.js} +1 -1
- package/dist-embed/chunks/{pegDiagram-XKGWAZYB-BYznG-ZK.js → pegDiagram-XKGWAZYB-BBVcHZ8T.js} +1 -1
- package/dist-embed/chunks/{pegDiagram-XKGWAZYB-Cptotyez.js → pegDiagram-XKGWAZYB-BJAdJVqh.js} +1 -1
- package/dist-embed/chunks/{percentages-BXMCSKIN-C2-svgs_.js → percentages-BXMCSKIN-VqMxh8LK.js} +5 -5
- package/dist-embed/chunks/{pieDiagram-E7YTZNPT-BYEkkWvq.js → pieDiagram-E7YTZNPT-C55wHgO0.js} +1 -1
- package/dist-embed/chunks/{pieDiagram-E7YTZNPT-D51avc4V.js → pieDiagram-E7YTZNPT-EvMxJb2S.js} +1 -1
- package/dist-embed/chunks/{pieDiagram-c941bede-Bcau8_Gm.js → pieDiagram-c941bede-DTmViAsB.js} +1 -1
- package/dist-embed/chunks/{pl-PL-T2D74RX3-BaHKKcOg.js → pl-PL-T2D74RX3-Cn_9xZgM.js} +1 -1
- package/dist-embed/chunks/{pt-BR-5N22H2LF-DZEHszX8.js → pt-BR-5N22H2LF-Da6r-Pp1.js} +1 -1
- package/dist-embed/chunks/{pt-PT-UZXXM6DQ-BbJKz8vE.js → pt-PT-UZXXM6DQ-D6lhcuX9.js} +1 -1
- package/dist-embed/chunks/{quadrantDiagram-AXDQQJYC-BfWK8wgJ.js → quadrantDiagram-AXDQQJYC-BCeMrGXB.js} +1 -1
- package/dist-embed/chunks/{quadrantDiagram-AXDQQJYC-CcMIo23m.js → quadrantDiagram-AXDQQJYC-rFaTvNlk.js} +1 -1
- package/dist-embed/chunks/{quadrantDiagram-cf8b8fe0-Db1y7cGB.js → quadrantDiagram-cf8b8fe0-BZAbhmbg.js} +1 -1
- package/dist-embed/chunks/{railroadDiagram-O6MQD6OU-BzqhRF47.js → railroadDiagram-O6MQD6OU-BAXhb26s.js} +1 -1
- package/dist-embed/chunks/{railroadDiagram-O6MQD6OU-DCRFdpxj.js → railroadDiagram-O6MQD6OU-bR7xXZGS.js} +1 -1
- package/dist-embed/chunks/{renderer-CM-Z_1Uj.js → renderer-DfML3j-s.js} +1 -1
- package/dist-embed/chunks/{requirementDiagram-53bda41b-Dj564NwS.js → requirementDiagram-53bda41b-DNqx3JRF.js} +1 -1
- package/dist-embed/chunks/{requirementDiagram-BXWQKSXE-dma0a-bN.js → requirementDiagram-BXWQKSXE-B0SL6Gqb.js} +1 -1
- package/dist-embed/chunks/{requirementDiagram-BXWQKSXE-CIFZt_cP.js → requirementDiagram-BXWQKSXE-DHLQ_9Lw.js} +1 -1
- package/dist-embed/chunks/{ro-RO-JPDTUUEW-szdAFgjr.js → ro-RO-JPDTUUEW-BFss9e8X.js} +1 -1
- package/dist-embed/chunks/{ru-RU-B4JR7IUQ-CbdtKkxy.js → ru-RU-B4JR7IUQ-DIruW2gS.js} +1 -1
- package/dist-embed/chunks/{sankeyDiagram-P5KCCOFB-8ur8k-HP.js → sankeyDiagram-P5KCCOFB-CktuQIU1.js} +1 -1
- package/dist-embed/chunks/{sankeyDiagram-P5KCCOFB-DRxZFl9I.js → sankeyDiagram-P5KCCOFB-Nk71fRsK.js} +1 -1
- package/dist-embed/chunks/{sankeyDiagram-c3ef121a-Da81kIDr.js → sankeyDiagram-c3ef121a-4-5C_fXA.js} +1 -1
- package/dist-embed/chunks/{sequenceDiagram-82a5b84f-DM8BTW5K.js → sequenceDiagram-82a5b84f-DedJ5qnD.js} +1 -1
- package/dist-embed/chunks/{sequenceDiagram-WJ2MYXX4-BH0Y4uG3.js → sequenceDiagram-WJ2MYXX4-BBGHED3s.js} +1 -1
- package/dist-embed/chunks/{sequenceDiagram-WJ2MYXX4-CNwXBdZi.js → sequenceDiagram-WJ2MYXX4-Dm3QM01Z.js} +1 -1
- package/dist-embed/chunks/{sessions-DlvFLGbP.js → sessions-lT1zQJEG.js} +2 -2
- package/dist-embed/chunks/{si-LK-N5RQ5JYF-DfCWfEQf.js → si-LK-N5RQ5JYF-Dom-aTTE.js} +1 -1
- package/dist-embed/chunks/{sizeCapture-INFHLROL-D-nX-7Hv.js → sizeCapture-INFHLROL-BNuVN7vX.js} +1 -1
- package/dist-embed/chunks/{sizeCapture-INFHLROL-Tw2tvJ1W.js → sizeCapture-INFHLROL-BW7unDBA.js} +1 -1
- package/dist-embed/chunks/{sk-SK-C5VTKIMK-CTeAwA1b.js → sk-SK-C5VTKIMK-CLRU9TNq.js} +1 -1
- package/dist-embed/chunks/{sl-SI-NN7IZMDC-eFw2lQcd.js → sl-SI-NN7IZMDC-BKLCNVXA.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-43e79a5f-H8oVn7EH.js → stateDiagram-43e79a5f-C-TVhCrM.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-D77RDMKH-DS-byRyy.js → stateDiagram-D77RDMKH-mLSMGpPQ.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-D77RDMKH-CGEuq_3Z.js → stateDiagram-D77RDMKH-tqnmMQUf.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-v2-2041ed4f-D7zd-PeH.js → stateDiagram-v2-2041ed4f-TVcKzajK.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-v2-MP3YSRHH-Bbn7CxXx.js → stateDiagram-v2-MP3YSRHH-C3MNIg5B.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-v2-MP3YSRHH-CllCmLuo.js → stateDiagram-v2-MP3YSRHH-C6TftAzE.js} +1 -1
- package/dist-embed/chunks/{styles-455b33cd-CYP0pxwM.js → styles-455b33cd-CIILXOoF.js} +1 -1
- package/dist-embed/chunks/{styles-f932cba9-dXHjU5Mc.js → styles-f932cba9-CVBMDsh6.js} +1 -1
- package/dist-embed/chunks/{styles-fcc2142b-CrgFTq7b.js → styles-fcc2142b-CTOmFTKK.js} +1 -1
- package/dist-embed/chunks/{subset-shared.chunk-BCNcfBdp.js → subset-shared.chunk-zIH7OLsP.js} +1 -1
- package/dist-embed/chunks/{subset-worker.chunk-nY71AE9b.js → subset-worker.chunk-b9j7PKPe.js} +1 -1
- package/dist-embed/chunks/{sv-SE-XGPEYMSR-B3BAd7ic.js → sv-SE-XGPEYMSR-D0UV0HV7.js} +1 -1
- package/dist-embed/chunks/{svgDrawCommon-148a3cd9-DY-6e2w2.js → svgDrawCommon-148a3cd9-BCgvh5nL.js} +1 -1
- package/dist-embed/chunks/{swimlanes-42K2YHIH-CpFqKR23.js → swimlanes-42K2YHIH-BQTDK2Ta.js} +1 -1
- package/dist-embed/chunks/{swimlanes-42K2YHIH-BoshoQYI.js → swimlanes-42K2YHIH-DHcV40DB.js} +1 -1
- package/dist-embed/chunks/{swimlanesDiagram-VR7AAH4N-BNalU-se.js → swimlanesDiagram-VR7AAH4N-BV8Vb5g2.js} +1 -1
- package/dist-embed/chunks/{swimlanesDiagram-VR7AAH4N-CUEoZUeR.js → swimlanesDiagram-VR7AAH4N-CQ7d-sbG.js} +1 -1
- package/dist-embed/chunks/{ta-IN-2NMHFXQM-Ch7Coorh.js → ta-IN-2NMHFXQM-C-EJ3jDE.js} +1 -1
- package/dist-embed/chunks/{th-TH-HPSO5L25-gmc7tguq.js → th-TH-HPSO5L25-CfQh62Qa.js} +1 -1
- package/dist-embed/chunks/{timeline-definition-24CTP7MA-BD_Hd7OM.js → timeline-definition-24CTP7MA-CKtubk73.js} +1 -1
- package/dist-embed/chunks/{timeline-definition-24CTP7MA-CLQC5Soj.js → timeline-definition-24CTP7MA-DJcFE1jT.js} +1 -1
- package/dist-embed/chunks/{timeline-definition-7545f45a-CBNPBc2S.js → timeline-definition-7545f45a-CLycxRtq.js} +1 -1
- package/dist-embed/chunks/{tr-TR-DEFEU3FU-DoKmjhCn.js → tr-TR-DEFEU3FU-Lz7Ka2Zr.js} +1 -1
- package/dist-embed/chunks/{uk-UA-QMV73CPH-uzMCDuv6.js → uk-UA-QMV73CPH-DU0hsGUJ.js} +1 -1
- package/dist-embed/chunks/{vennDiagram-4TSXK5OY-Clhmiu8L.js → vennDiagram-4TSXK5OY-BMmQ-DIV.js} +1 -1
- package/dist-embed/chunks/{vennDiagram-4TSXK5OY-BxbIHKUM.js → vennDiagram-4TSXK5OY-Bq0xMhnH.js} +1 -1
- package/dist-embed/chunks/{vi-VN-M7AON7JQ-UC9RyOt8.js → vi-VN-M7AON7JQ-CDvS0SiL.js} +1 -1
- package/dist-embed/chunks/{wardleyDiagram-VM6X3IG4-HuiHAtr-.js → wardleyDiagram-VM6X3IG4-C1VKw6YX.js} +1 -1
- package/dist-embed/chunks/{wardleyDiagram-VM6X3IG4-un-PuqHe.js → wardleyDiagram-VM6X3IG4-DL5LgQWr.js} +1 -1
- package/dist-embed/chunks/{xychartDiagram-3f383b91-3k3NdPbU.js → xychartDiagram-3f383b91-B-BTwetN.js} +1 -1
- package/dist-embed/chunks/{xychartDiagram-S5SC5T6Z-CIDOTVoZ.js → xychartDiagram-S5SC5T6Z-BQHFHk-x.js} +1 -1
- package/dist-embed/chunks/{xychartDiagram-S5SC5T6Z-CvZAV0KM.js → xychartDiagram-S5SC5T6Z-BXkM4beH.js} +1 -1
- package/dist-embed/chunks/{zh-CN-LNUGB5OW-DFA0PCzk.js → zh-CN-LNUGB5OW-CWE-bF0d.js} +1 -1
- package/dist-embed/chunks/{zh-HK-E62DVLB3-WzEwoBkd.js → zh-HK-E62DVLB3-pEfL2bds.js} +1 -1
- package/dist-embed/chunks/{zh-TW-RAJ6MFWO-B7w1h39x.js → zh-TW-RAJ6MFWO-Cp6UFUuD.js} +1 -1
- package/dist-embed/datalayer-app-main.js +107 -106
- package/lib/apps/apps/records.d.ts +21 -4
- package/lib/apps/apps/records.js +8 -6
- package/lib/apps/apps/threads.d.ts +11 -1
- package/lib/apps/apps/threads.js +17 -0
- package/lib/apps/core/index.d.ts +71 -0
- package/lib/apps/core/index.js +22 -0
- package/lib/apps/plugins/app-activity/AppActivity.js +10 -4
- package/lib/apps/plugins/chat/ChatView.js +123 -6
- package/lib/apps/plugins/chat/SessionActionsMenu.d.ts +40 -0
- package/lib/apps/plugins/chat/SessionActionsMenu.js +73 -0
- package/lib/apps/plugins/chat/SessionChooseDialog.d.ts +22 -0
- package/lib/apps/plugins/chat/SessionChooseDialog.js +39 -0
- package/lib/apps/plugins/chat/index.js +8 -1
- package/lib/apps/plugins/chat/sessionActions.d.ts +65 -0
- package/lib/apps/plugins/chat/sessionActions.js +184 -0
- package/lib/chat/Chat.d.ts +42 -2
- package/lib/chat/Chat.js +148 -2
- package/lib/chat/base/ChatBase.js +33 -6
- package/lib/chat/index.d.ts +1 -1
- package/lib/chat/messages/ChatMessageList.d.ts +3 -1
- package/lib/chat/messages/ChatMessageList.js +21 -2
- package/lib/portable/activity.d.ts +91 -2
- package/lib/portable/activity.js +143 -4
- package/lib/portable/fixtures.d.ts +1 -1
- package/lib/portable/fixtures.js +17 -7
- package/lib/portable/index.d.ts +1 -1
- package/lib/portable/index.js +3 -2
- package/lib/portable/sessions.d.ts +25 -1
- package/lib/portable/sessions.js +62 -4
- package/lib/specs/harnesses.js +96 -0
- package/lib/specs/index.d.ts +1 -0
- package/lib/specs/index.js +1 -0
- package/lib/specs/sessionFiles.d.ts +123 -0
- package/lib/specs/sessionFiles.js +578 -0
- package/lib/types/agentspecs.d.ts +26 -0
- package/lib/types/chat.d.ts +38 -0
- package/package.json +1 -1
- package/scripts/codegen/generate_agents.py +1 -0
- package/scripts/codegen/generate_harnesses.py +70 -0
- package/scripts/codegen/generate_session_files.py +296 -0
- package/dist-embed/chunks/ChatView-B_EEvtKi.js +0 -32
- package/dist-embed/chunks/SchemaForm-Dg9uk6m3.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{F as te,r as z,j as e,B as n,H as F,cN as ae,T as i,v as L,eq as Re,eD as le,eE as Ve,eF as He,eG as me,eH as De,eI as qe,eJ as Ge,eK as Be,eL as Ke,eM as Je,eN as V,W as ce,by as Ye,cM as Xe,L as A,a_ as Qe,eO as Ze,eP as et,eQ as tt,eR as Pe,cL as nt,eS as st,dp as ot,cJ as it,I as Oe,en as rt,eT as lt,eU as at,eV as ct,eW as dt,eX as ut,eY as ft,eZ as pt,e_ as ht,e$ as gt,f0 as xt,f1 as ne,f2 as se,cK as mt,f3 as bt}from"../datalayer-app-main.js";import{A as yt}from"./ArrowLeftIcon-BBfEoi5Y.js";import{A as jt,T as St,M as Me,U as We,F as wt}from"./UnlinkIcon-CxYnYiR3.js";import Ie from"./index-
|
|
1
|
+
import{F as te,r as z,j as e,B as n,H as F,cN as ae,T as i,v as L,eq as Re,eD as le,eE as Ve,eF as He,eG as me,eH as De,eI as qe,eJ as Ge,eK as Be,eL as Ke,eM as Je,eN as V,W as ce,by as Ye,cM as Xe,L as A,a_ as Qe,eO as Ze,eP as et,eQ as tt,eR as Pe,cL as nt,eS as st,dp as ot,cJ as it,I as Oe,en as rt,eT as lt,eU as at,eV as ct,eW as dt,eX as ut,eY as ft,eZ as pt,e_ as ht,e$ as gt,f0 as xt,f1 as ne,f2 as se,cK as mt,f3 as bt}from"../datalayer-app-main.js";import{A as yt}from"./ArrowLeftIcon-BBfEoi5Y.js";import{A as jt,T as St,M as Me,U as We,F as wt}from"./UnlinkIcon-CxYnYiR3.js";import Ie from"./index-BjfpYq_l.js";import{P as $e}from"./index-aWforeu6.js";import{L as de}from"./LinkIcon-D2NHA8tm.js";import{A as kt}from"./Avatar-BdEm_dq2.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 Be;case"tools":case"tool definitions":return Ge;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,f]=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 G=[],M=[],w=[],X=[];return g.forEach(W=>{C+=W.inputTokens,N+=W.outputTokens,G.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:G,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:p,turnUsage:j,distribution:E}=u,I=l>0?l:Math.max(p?.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)]})}),(p||j)&&e.jsxs(n,{display:"flex",gap:3,mb:3,flexWrap:"wrap",children:[p&&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 (",p.turns," turns)"]}),e.jsx(i,{sx:{fontSize:1,fontWeight:"semibold"},children:D(p.inputTokens+p.outputTokens)}),e.jsxs(i,{sx:{fontSize:0,color:"fg.muted"},children:[" ","in ",Te(p.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:Ve}),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:He})]}),d==="overview"&&e.jsx(L,{size:"small",variant:"invisible",onClick:()=>f(!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:V,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(),f=Dt(),S=l||d.defaultScopes,u=Nt(d,S,f,h),b={requestId:`auth-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,provider:r,authUrl:u,state:f,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(),f={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:f.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:f};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 f=new Map(h.identities);return f.set(r,c),{identities:f,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(),f={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:f}),{identities:u}}),f},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 Vt(){return T(t=>t.pendingAuthorization)}function Ht(){return T(t=>t.isLoading)}function qt(){return T(t=>t.error)}function pe(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=Vt(),h=Ht(),f=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),p=T(x=>x.configureProvider);z.useEffect(()=>{if(!s)return;const x=`${r}${l}`;s.github&&pe({github:{clientId:s.github.clientId,redirectUri:s.github.redirectUri||x}}),s.google&&pe({google:{clientId:s.google.clientId,redirectUri:s.google.redirectUri||x}}),s.kaggle&&pe({kaggle:{clientId:s.kaggle.clientId,redirectUri:s.kaggle.redirectUri||x}}),s.custom&&s.custom.forEach(U=>{p(U)})},[s,r,l,p]),z.useEffect(()=>{if(!o||typeof window>"u")return;const x=new URLSearchParams(window.location.search),U=x.get("code"),$=x.get("state"),B=x.get("error"),H=x.get("error_description");(U&&$||B)&&u({code:U||"",state:$||"",error:B||void 0,errorDescription:H||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((B,H)=>{const K=T.getState();K.pendingAuthorization&&(K.pendingAuthorization.onComplete=B,K.pendingAuthorization.onError=H);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(!_){H(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),B(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||[],fe=new Map(Le).get(ie);if(fe){const Fe=T.getState().identities,Ce=new Map(Fe);Ce.set(ie,fe),T.setState({identities:Ce,pendingAuthorization:null}),B(fe);return}}catch(ze){console.error("[Identity] Failed to parse identity from localStorage:",ze)}T.setState({pendingAuthorization:null}),H(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}),H(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(B).catch(H))};window.addEventListener("message",J);const oe=setInterval(()=>{_.closed&&(clearInterval(oe),window.removeEventListener("message",J),T.getState().pendingAuthorization&&(b(),H(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]),G=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=>{p(x)},[p]),W=c!==null;return z.useMemo(()=>({identities:a,connectedProviders:d,isAuthorizing:W,isLoading:h,error:f,pendingAuthorization:c,connect:j,connectWithPopup:E,connectWithToken:O,disconnect:g,completeAuthorization:C,cancelAuthorization:N,isConnected:G,getIdentity:M,getAccessToken:w,configureProvider:X}),[a,d,W,h,f,c,j,E,O,g,C,N,G,M,w,X])}const Ee={github:{name:"GitHub",icon:Me,color:"#24292f",description:"Access GitHub repositories and APIs"},google:{name:"Google",icon:V,color:"#4285f4",description:"Access Google services and APIs"},kaggle:{name:"Kaggle",icon:V,color:"#20beff",description:"Access Kaggle datasets and notebooks"},linkedin:{name:"LinkedIn",icon:V,color:"#0077b5",description:"Access LinkedIn profile and connections"},slack:{name:"Slack",icon:V,color:"#4a154b",description:"Access Slack workspaces and channels"},notion:{name:"Notion",icon:V,color:"#000000",description:"Access Notion pages and databases"},custom:{name:"Custom",icon:de,color:"#6f42c1",description:"Custom OAuth provider"}},Gt={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:[]},Bt=({provider:t,clientId:s,providerConfig:r,scopes:l,disabled:o=!1,size:a="medium",variant:d="full",onConnect:c,onDisconnect:h,onError:f})=>{const{identities:S,isAuthorizing:u,error:b,connectWithPopup:m,disconnect:R,configureProvider:P}=ke(),y=Ee[t]||Ee.custom,p=S.find(g=>g.provider===t),j=!!p,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||Gt[t]);c?.(g)}}catch(g){const C=g instanceof Error?g.message:String(g);C!=="Popup closed by user"&&f?.(g instanceof Error?g:new Error(C))}},[j,t,l,m,R,c,h,f]);te.useEffect(()=>{b&&f?.(b instanceof Error?b:new Error(String(b)))},[b,f]);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&&p?.userInfo?`Connected as ${p.userInfo.name||p.userInfo.email}`:y.description})]}),!j&&e.jsx(L,{...O,variant:"primary",leadingVisual:de,children:E?"Working...":"Connect"})]}),j&&p&&e.jsxs(n,{display:"flex",flexDirection:"column",gap:2,children:[e.jsxs(n,{display:"flex",alignItems:"center",gap:2,pl:1,children:[p.userInfo?.avatarUrl&&e.jsx("a",{href:p.userInfo.profileUrl||`https://github.com/${p.userInfo.username}`,target:"_blank",rel:"noopener noreferrer",style:{display:"block",lineHeight:0},children:e.jsx("img",{src:p.userInfo.avatarUrl,alt:p.userInfo.name||"User avatar",style:{width:32,height:32,borderRadius:"50%",cursor:"pointer"}})}),e.jsxs(n,{flex:1,children:[p.userInfo?.username&&e.jsx("a",{href:p.userInfo.profileUrl||`https://github.com/${p.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:["@",p.userInfo.username]})}),e.jsx(i,{sx:{fontSize:0,color:"fg.muted",display:"block"},children:p.token?.expiresAt?`Expires ${new Date(p.token.expiresAt).toLocaleDateString()}`:"Token does not expire"})]})]}),p.scopes&&p.scopes.length>0&&e.jsx(n,{display:"flex",flexWrap:"wrap",gap:1,pl:1,children:p.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:V,color:"#4285f4",description:"Access Google services and APIs"},kaggle:{name:"Kaggle",icon:V,color:"#20beff",description:"Access Kaggle datasets and notebooks"},linkedin:{name:"LinkedIn",icon:V,color:"#0077b5",description:"Access LinkedIn profile"},slack:{name:"Slack",icon:V,color:"#4a154b",description:"Access Slack workspaces"},notion:{name:"Notion",icon:V,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:f,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 p=s.config?.redirectUri||(typeof window<"u"?`${window.location.origin}${window.location.pathname}`:"");f({...y,...s.config,provider:u,clientId:s.clientId,redirectUri:p})}}},[s,u,f]);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:f}){const{identities:S,error:u}=ke(),b=z.useMemo(()=>{if(t){const p=Object.keys(t);return S.filter(j=>p.includes(j.provider)||j.authType==="token"&&j.isConnected)}return S},[S,t]),m=z.useMemo(()=>new Set(S.map(p=>p.provider)),[S]),R=z.useMemo(()=>{if(!t)return{};const p=Object.keys(t),j={};for(const E of p)m.has(E)||(j[E]=t[E]);return j},[t,m]),P=Object.keys(R).length>0,y=z.useCallback(p=>j=>{f?.(p,j)},[f]);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(V,{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(p=>e.jsx(Xt,{identity:p,providerConfig:t?.[p.provider],showExpirationDetails:a,allowReconnect:d,onConnect:c,onDisconnect:h,onError:y(p.provider)},p.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(p=>{const j=R[p];return e.jsx(Bt,{provider:p,clientId:j.clientId,scopes:j.scopes,providerConfig:j.config,size:"medium",variant:"full",onConnect:c,onDisconnect:h,onError:y(p)},p)})})]})]})]})}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 a,Q as l,j as s,D as o,h as m}from"../datalayer-app-main.js";import{AgentDetails as p}from"./AgentDetails-
|
|
1
|
+
import{r as a,Q as l,j as s,D as o,h as m}from"../datalayer-app-main.js";import{AgentDetails as p}from"./AgentDetails-BriiIXid.js";import"./ArrowLeftIcon-BBfEoi5Y.js";import"./UnlinkIcon-CxYnYiR3.js";import"./index-BjfpYq_l.js";import"./index-aWforeu6.js";import"./LinkIcon-D2NHA8tm.js";import"./Avatar-BdEm_dq2.js";function B({about:e,name:r,onClose:t}){const n=a.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:n,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,cN as ie,em as se,T as c,by as F,cM as L,L as D,I as oe,en as le,eo as V,v as U,P as ae,ep as de,U as ce,eq as ue,dq as H,bp as M,er as xe,es as fe,et as K,eu as pe,ev as he}from"../datalayer-app-main.js";import{B,U as $}from"./index-Ca5wn1F-.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 q=["#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 q[Math.abs(n)%q.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 X=[],_e=()=>()=>{};function we(t){return f.useSyncExternalStore(t?t.subscribe:_e,()=>t?t.spans():X,()=>t?t.spans():X)}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)})]}),Y=({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(Y,{title:"Arguments",data:o,defaultOpen:Object.keys(o).length>0}),e.jsx(Y,{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,cN as ie,em as se,T as c,by as F,cM as L,L as D,I as oe,en as le,eo as V,v as U,P as ae,ep as de,U as ce,eq as ue,dq as H,bp as M,er as xe,es as fe,et as K,eu as pe,ev as he}from"../datalayer-app-main.js";import{B,U as $}from"./index-Do4nOAaR.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 q=["#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 q[Math.abs(n)%q.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 X=[],_e=()=>()=>{};function we(t){return f.useSyncExternalStore(t?t.subscribe:_e,()=>t?t.spans():X,()=>t?t.spans():X)}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)})]}),Y=({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(Y,{title:"Arguments",data:o,defaultOpen:Object.keys(o).length>0}),e.jsx(Y,{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-Ct12Hqc-.js → AgentInspectorDialog-CQEiBqOl.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-Dd-G3TvL.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-CbVVhhaO.js → CellSidebarExtension-DbbW8AJP.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as _,F as qe,j as u,j4 as Pt,I as U,en as $e,cF as pe,bq as ge,v as J,eS as Tt,eM as Ue,f1 as jt,j5 as Dt,j6 as At,j7 as Je,j8 as Ye,ck as W,j9 as It,ja as Nt,jb as Lt,bQ as je,jc as ct,jd as ht,je as Rt,jf as fe,aK as Ot,bR as ut,jg as ft,jh as Ft,ji as Xe,a8 as A,jj as Ze,jk as me,jl as Bt,jm as Wt,jn as Vt,aD as _e,jo as Ie,jp as Qe,cB as ke,cA as ee,bd as Gt,e1 as $t,ch as z,j0 as Ht,ax as zt,cp as Kt,az as Z,cR as qt,dg as Ut,hK as Fe,hI as mt,jq as xe,jr as de,js as Jt,aF as Yt,aA as Xt,i_ as Zt,jt as pt,hv as H,ju as Qt,jv as R,jw as en,d9 as tn,jx as gt,jy as nn,jz as sn,jA as on,X as ne,B as ue,cZ as rn,dO as et,_ as an,at as ln,dS as tt,dT as ce,dU as dn,cu as cn,k as hn,jB as un,jC as _t,fo as fn,jD as ae,bp as j,z as le,cH as nt,bB as vt,dq as mn,cM as pn,by as Me,M as gn,P as _n,aG as vn,aN 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 Mn,h as Sn,i as En,C as Pn,a as Tn}from"./index-BI_0cBab.js";import{c as jn,N as Be}from"./NotebookSkeleton-CMjtj893.js";import{H as Dn}from"./hoverbox-CStlKQWE.js";import{R as yt,L as An}from"./index-BR58wzgU.js";import{a as In,W as st}from"./renderer-CM-Z_1Uj.js";import{C as Se,S as Ee}from"./SquareIcon-C4G5_a9Y.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(Dt,{}),info:u.jsx(Ue,{}),success:u.jsx(jt,{}),upsell:u.jsx(Ue,{}),warning:u.jsx(Tt,{})},Rn={critical:"Critical",info:"Information",success:"Success",upsell:"Recommendation",warning:"Warning"},On=qe.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=qe.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(U,{"aria-label":"Dismiss banner",onClick:a,className:Q.BannerDismiss,icon:$e,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=je.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 jn(t,n,o)}const De=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(De))},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 Gn=ht.define({create:ot,update(r,e){return e.annotation(De)?ot(e.state):r},provide(r){return Rt.computeN([r],e=>e.field(r))}}),$n=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(De))},class:"jp-remote-selections"}),Hn=At.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:[De.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,$n,Gn,It({position:"absolute",parent:document.body})]});function zn(r){return[ve.of(r),Hn]}class Ae 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 A(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 Ae({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 A(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();A.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 qn{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,A.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 _,F as qe,j as u,je as Pt,I as U,en as $e,cF as pe,bq as ge,v as J,eS as Tt,eM as Ue,f1 as jt,jf as Dt,jg as At,jh as Je,ji as Ye,ck as W,jj as It,jk as Nt,jl as Lt,bQ as je,jm as ct,jn as ht,jo as Rt,jp as fe,aK as Ot,bR as ut,jq as ft,jr as Ft,js as Xe,a8 as A,jt as Ze,ju as me,jv as Bt,jw as Wt,jx as Vt,aD as _e,jy as Ie,jz as Qe,cB as ke,cA as ee,bd as Gt,e1 as $t,ch as z,ja as Ht,ax as zt,cp as Kt,az as Z,cR as qt,dg as Ut,hU as Fe,hS as mt,jA as xe,jB as de,jC as Jt,aF as Yt,aA as Xt,j8 as Zt,jD as pt,hF as H,jE as Qt,jF as R,jG as en,d9 as tn,jH as gt,jI as nn,jJ as sn,jK as on,X as ne,B as ue,cZ as rn,dO as et,_ as an,at as ln,dS as tt,dT as ce,dU as dn,cu as cn,k as hn,jL as un,jM as _t,fZ as fn,jN as ae,bp as j,z as le,cH as nt,bB as vt,dq as mn,cM as pn,by as Me,M as gn,P as _n,aG as vn,aN 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 Mn,h as Sn,i as En,C as Pn,a as Tn}from"./index-BuXVVl_h.js";import{c as jn,N as Be}from"./NotebookSkeleton-CMjtj893.js";import{H as Dn}from"./hoverbox-CStlKQWE.js";import{R as yt,L as An}from"./index-BfvZMC2B.js";import{a as In,W as st}from"./renderer-DfML3j-s.js";import{C as Se,S as Ee}from"./SquareIcon-C4G5_a9Y.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(Dt,{}),info:u.jsx(Ue,{}),success:u.jsx(jt,{}),upsell:u.jsx(Ue,{}),warning:u.jsx(Tt,{})},Rn={critical:"Critical",info:"Information",success:"Success",upsell:"Recommendation",warning:"Warning"},On=qe.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=qe.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(U,{"aria-label":"Dismiss banner",onClick:a,className:Q.BannerDismiss,icon:$e,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=je.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 jn(t,n,o)}const De=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(De))},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 Gn=ht.define({create:ot,update(r,e){return e.annotation(De)?ot(e.state):r},provide(r){return Rt.computeN([r],e=>e.field(r))}}),$n=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(De))},class:"jp-remote-selections"}),Hn=At.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:[De.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,$n,Gn,It({position:"absolute",parent:document.body})]});function zn(r){return[ve.of(r),Hn]}class Ae 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 A(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 Ae({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 A(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();A.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 qn{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,A.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(Un(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 Un(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 A(this),this._stateChanged=new A(this),this._isDisposed=!1,this._metadataChanged=new A(this),this.standaloneModel=typeof e.sharedModel>"u",e.sharedModel?this.sharedModel=e.sharedModel:this.sharedModel=Ae.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(),A.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{a5 as _,fT as Ks,r as s,j as t,fU as Gs,fV as Ys,ch as Jn,B as h,H as xt,T as F,v as q,cN as qt,eN as nn,fW as se,cH as bt,y as qs,fX as Js,fY as Qs,em as Zs,fZ as Xs,a_ as eo,f_ as to,f$ as no,g0 as so,g1 as oo,g2 as ao,g3 as io,ee as ls,ec as ro,ef as sn,g4 as lo,g5 as co,g6 as uo,g7 as fo,g8 as cs,g9 as ds,ga as po,L as mo,gb as go,dq as Jt,I as us,bp as st,D as ho,gc as Qn,gd as xo,ge as bo,dm as vo,bh as So,gf as yo,gg as Co,gh as wo,gi as jo,gj as ko,gk as To,a0 as Qt,gl as Ro,gm as Io,gn as Eo,go as Ao,gp as Po,gq as $o,gr as Uo,gs as Mo,gt as Oo,gu as Lo,gv as Fo,gw as zo,gx as _o,gy as No,gz as Bo,gA as Vo,gB as Ho,gC as Do,gD as Wo,gE as Ko,gF as ot,gG as Go,gH as Yo,gI as qo,gJ as Jo,gK as Zn,gL as Qo,gM as Ne,gN as Zo,gO as Xo,bi as vt,gP as ea,gQ as ta,gR as Xn,gS as na,gT as sa,gU as oa,gV as aa,eV as ia,gW as Zt,gX as Ae,gY as ra,gZ as la,g_ as ca,g$ as es,h0 as da,h1 as ts,h2 as ua,h3 as fa,h4 as pa,h5 as ma,h6 as ga,h7 as ha,h8 as xa,h9 as ba,ha as va,hb as Sa,hc as St,hd as ya,he as Ca,hf as wa,hg as ja,hh as ka,hi as ns,hj as Ta,hk as Ra,hl as Ia,hm as on,hn as Ea,ho as Aa,eD as Xt,hp as Pa,hq as $a}from"../datalayer-app-main.js";import{S as Ua,E as Ma,a as Oa}from"./SignInIcon-B9ZNyM4_.js";import{F as La,a as Fa,b as za}from"./LinkedInGreyIcon-BoWXE-HS.js";import{K as _a}from"./KebabHorizontalIcon-DD3W5tPT.js";function fs(){const n=_(Ks);return s.useMemo(()=>n.map(o=>o.value),[n])}const en={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"}},ss=()=>{if(typeof document>"u")return"";const n=document.getElementById("datalayer-config-data");if(!n?.textContent)return"";try{const o=JSON.parse(n.textContent);return String(o?.iamUrl||"").replace(/\/$/,"")}catch{return""}},Na=(n,o="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 l=n.message;if(typeof l=="string"&&l.trim())return l}return o},Ba=Xs`
|
|
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
|
+
`,Va=({onSignIn:n,onApiKeySignIn:o,loginUrl:l,name:i,title:d="Datalayer OTEL",description:p="Sign in to access the observability dashboard.",icon:v,leadingIcon:c=t.jsx(Zs,{size:24}),github:f=!1,google:x=!1,linkedin:C=!1,apiKey:u=!1,signUp:ue=!0,socialSignInNavigationTarget:w,asDoc:y=!1,fillHeight:N=!0,hideHero:J=!1,calloutTitle:xe,calloutDescription:A,passwordToggleLabel:yt="Sign in with a password",signUpTitle:Ct="Don't have an account?",signUpDescription:an="Create a free Datalayer account with your email address.",signUpLabel:be="Sign up with email",signUpHref:wt="https://datalayer.ai/signup",onSignUp:Q,forgotPasswordHref:fe="/password",forgotPasswordLabel:at="Forgot password?",showForgotPassword:oe=!0,socialButtonMarginTop:Pe=3,actionButtonMaxWidth:te=320})=>{const ve=y&&!J,j=i??(y&&d==="Datalayer OTEL"?"Datalayer Sign In":d),it=v??(y?t.jsx(Ua,{size:24}):c),Se=s.useMemo(()=>{if(l)return l;const m=ss();return m?`${m}/api/iam/v1/login`:"/api/iam/v1/login"},[l]),[Z,jt]=s.useState(""),[O,kt]=s.useState(""),[ye,Tt]=s.useState(!1),[$e,Rt]=s.useState(!1),[P,Ue]=s.useState(!1),[X,Be]=s.useState(!1),[Me,Ve]=s.useState(null),[W,It]=s.useState(null),[ae,Et]=s.useState(""),[He,At]=s.useState(null),[Ce,ee]=s.useState(null),{enqueueToast:we}=Gs(),[je,ke]=s.useState(!1),[pe,De]=s.useState(""),me=s.useRef(null),We=s.useCallback(m=>Ys()?Jn.URLExt.join(Jn.PageConfig.getBaseUrl(),m.oauth2CallbackServerRoute):`${window.location.protocol}//${window.location.hostname}${window.location.port?`:${window.location.port}`:""}${m.oauth2CallbackUIRoute}`,[]),ie=s.useMemo(()=>{if(typeof window>"u")return"/";const m=`${window.location.pathname}${window.location.search}${window.location.hash}`;return m.startsWith("/")?m:"/"},[]),I=s.useCallback(async m=>{if(!X){ee(null),Ve(m.name),Be(!0);try{const $=ss(),B=new URLSearchParams({provider:m.name,callback_uri:We(m)}),V=w===void 0?void 0:String(w||"").trim(),Ge=V===void 0?ie&&ie!=="/"?ie:void 0:V&&V.startsWith("/")&&!V.startsWith("//")?V:void 0;Ge&&B.set("post_auth_redirect",Ge);const E=`${$||""}/api/iam/v1/oauth2/authz/url?${B.toString()}`,U=await fetch(E),k=await U.json(),ce=k?.autorization_url;if(!U.ok||!ce)throw new Error(k?.message||"Unable to start social sign-in.");window.location.assign(ce)}catch($){const B=Na($);ee(B),we(B,{variant:"error"}),Ve(null),Be(!1)}}},[We,ie,we,X,w]);s.useEffect(()=>{je&&me.current?.focus()},[je]);const re=s.useCallback(()=>{ke(!1),De("")},[]),Te=s.useCallback(()=>{!pe.trim()||!o||(o(pe.trim()),re())},[pe,o,re]),le=s.useCallback(()=>{if(Q){Q();return}window.location.assign(wt)},[Q,wt]),rt=s.useCallback(()=>{if(fe){if(fe.startsWith("http://")||fe.startsWith("https://")){window.open(fe,"_blank","noopener,noreferrer");return}window.location.assign(fe)}},[fe]),Oe=s.useCallback(async()=>{if(!(y||!Z||!O||P)){Ue(!0),ee(null);try{const m=await fetch(Se,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({handle:Z,password:O})});if(!m.ok)throw new Error(`HTTP ${m.status}`);const $=await m.json();if($.success&&$.token){const B=String($?.user?.id||$?.user?.uid||"").trim();if(!!$?.user?.mfaUrl&&B){It(B),At($.token),ee(null);return}n&&n($.token,Z)}else ee($.message||"Invalid username or password.")}catch(m){ee(m instanceof Error?m.message:String(m))}finally{Ue(!1)}}},[y,Z,O,P,Se,n]),Le=s.useCallback(async()=>{if(!(y||P||!W||!ae.trim()||!He)){Ue(!0),ee(null);try{const m=new URL(Se,window.location.origin),$=m.pathname.endsWith("/api/iam/v1/login")?m.href.replace(/\/api\/iam\/v1\/login$/,""):`${m.origin}`,B=await fetch(`${$}/api/iam/v1/users/${W}/mfa/validate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userUid:W,code:ae.trim()})}),V=await B.json();if(!B.ok||!V?.success)throw new Error(V?.message||"Failed to validate your MFA code.");n&&n(He,Z)}catch(m){const $=m instanceof Error?m.message:String(m);ee($),we($,{variant:"error"})}finally{Ue(!1)}}},[y,we,Z,P,Se,ae,He,W,n]),K=s.useCallback(m=>{m.key==="Enter"&&(W?Le():Oe())},[W,Oe,Le]),Ke=X||P||y;return t.jsxs(h,{className:"signin-input-theme-scope",display:"flex",alignItems:J||ve||!N?"flex-start":"center",justifyContent:"center",minHeight:J||ve||!N?"auto":"100vh",bg:J?"transparent":"canvas.default",color:"fg.default",py:J?0:ve?2:4,children:[t.jsx(Ba,{}),t.jsxs(h,{width:"100%",maxWidth:440,p:0,children:[!J&&t.jsxs(t.Fragment,{children:[t.jsxs(h,{display:"flex",alignItems:"center",gap:2,mb:ve?2:3,justifyContent:"center",children:[it,t.jsx(xt,{sx:{fontSize:3},children:j})]}),t.jsx(F,{as:"p",sx:{fontSize:1,color:"fg.muted",mb:ve?2:3,textAlign:"center"},children:p})]}),(xe||A)&&t.jsxs(h,{mb:3,textAlign:"center",children:[xe&&t.jsx(xt,{as:"h3",sx:{fontSize:2,mb:1},children:xe}),A&&t.jsx(F,{sx:{color:"fg.muted",fontSize:1},children:A})]}),!W&&(f||x||C)&&t.jsxs(t.Fragment,{children:[f&&t.jsx(q,{block:!0,size:"large",leadingVisual:Me==="github"?()=>t.jsx(qt,{size:"small"}):La,disabled:Ke,onClick:()=>I(en.github),sx:{mt:Pe,maxWidth:te,mx:"auto"},children:"Sign in with GitHub"}),x&&t.jsx(q,{block:!0,size:"large",leadingVisual:Me==="google"?()=>t.jsx(qt,{size:"small"}):Fa,disabled:Ke,onClick:()=>I(en.google),sx:{mt:Pe,maxWidth:te,mx:"auto"},children:"Sign in with Google"}),C&&t.jsx(q,{block:!0,size:"large",leadingVisual:Me==="linkedin"?()=>t.jsx(qt,{size:"small"}):za,disabled:Ke,onClick:()=>I(en.linkedin),sx:{mt:Pe,maxWidth:te,mx:"auto"},children:"Sign in with LinkedIn"})]}),!W&&!ye&&t.jsx(h,{mt:3,display:"flex",justifyContent:"center",children:t.jsx(q,{leadingVisual:nn,size:"large",block:!0,disabled:y||P||X,onClick:()=>Tt(!0),sx:{maxWidth:te,mx:"auto"},children:yt})}),!W&&ye&&t.jsxs(h,{mt:4,children:[t.jsxs(se,{required:!0,sx:{mb:3},children:[t.jsx(se.Label,{children:"Username"}),t.jsx(bt,{autoFocus:!0,block:!0,placeholder:"Your username",value:Z,disabled:P||y,onChange:m=>jt(m.target.value),onKeyDown:K})]}),t.jsxs(se,{required:!0,sx:{mb:3},children:[t.jsx(se.Label,{children:"Password"}),t.jsx(bt,{block:!0,placeholder:"Your password",type:$e?"text":"password",value:O,disabled:P||y,onChange:m=>kt(m.target.value),onKeyDown:K,trailingAction:t.jsx(bt.Action,{onClick:()=>Rt(!$e),disabled:P||y,icon:$e?Ma:Oa,"aria-label":$e?"Hide password":"Show password",sx:{color:"var(--fgColor-muted)"}})})]}),t.jsxs(h,{display:"flex",alignItems:"center",justifyContent:"space-between",mt:3,children:[t.jsx(q,{variant:"primary",disabled:P||y||!Z||!O,onClick:Oe,children:P?"Signing in…":"Sign In"}),oe&&t.jsx(qs,{as:"button",sx:{fontSize:1,cursor:y?"not-allowed":"pointer",background:"none",border:"none",opacity:y?.6:1},onClick:()=>{y||P||rt()},children:at})]})]}),W&&t.jsxs(t.Fragment,{children:[t.jsxs(se,{required:!0,sx:{mb:3,mt:2},children:[t.jsx(se.Label,{children:"MFA Code"}),t.jsx(bt,{autoFocus:!0,block:!0,placeholder:"Your MFA code",value:ae,disabled:P||y,onChange:m=>Et(m.target.value),onKeyDown:K})]}),t.jsx(q,{variant:"primary",block:!0,disabled:P||y||!ae.trim(),onClick:Le,sx:{maxWidth:te,mx:"auto"},children:P?"Validating…":"Validate MFA Code"})]}),Ce&&t.jsx(F,{sx:{color:"danger.fg",fontSize:1,mt:3,display:"block"},children:Ce}),ue&&t.jsxs(h,{mt:4,pt:4,textAlign:"center",borderTop:"1px solid",borderColor:"border.muted",children:[t.jsx(xt,{as:"h3",sx:{fontSize:2,mb:2},children:Ct}),t.jsx(F,{as:"p",sx:{color:"fg.muted",fontSize:1,mb:3},children:an}),t.jsx(h,{display:"flex",justifyContent:"center",children:t.jsx(q,{variant:"primary",size:"large",leadingVisual:Js,disabled:y||P,onClick:le,children:be})})]}),u&&o&&t.jsxs(t.Fragment,{children:[t.jsxs(h,{display:"flex",alignItems:"center",gap:2,my:3,children:[t.jsx(h,{flex:1,height:"1px",bg:"border.default"}),t.jsx(F,{sx:{fontSize:0,color:"fg.muted"},children:"or"}),t.jsx(h,{flex:1,height:"1px",bg:"border.default"})]}),t.jsx(q,{block:!0,leadingVisual:nn,disabled:y||P||X,onClick:()=>ke(!0),sx:{maxWidth:te,mx:"auto"},children:"Sign in with an API Key"}),je&&t.jsx(h,{role:"dialog","aria-modal":"true","aria-labelledby":"signin-api-key-title",onKeyDown:m=>{m.key==="Escape"&&re()},onClick:re,position:"fixed",inset:0,zIndex:200,p:3,bg:"canvas.backdrop",display:"flex",alignItems:"center",justifyContent:"center",children:t.jsxs(h,{as:"form",onClick:m=>m.stopPropagation(),onSubmit:m=>{m.preventDefault(),Te()},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(xt,{id:"signin-api-key-title",sx:{fontSize:2,mb:2},children:"Enter your API Key"}),t.jsxs(se,{required:!0,children:[t.jsx(se.Label,{children:"API Key"}),t.jsx(Qs,{block:!0,required:!0,autoFocus:!0,placeholder:"Paste your API key here",value:pe,onInput:m=>De(m.currentTarget.value),ref:me})]}),t.jsxs(h,{mt:3,display:"flex",justifyContent:"flex-end",gap:2,children:[t.jsx(q,{type:"button",onClick:re,children:"Cancel"}),t.jsx(q,{type:"submit",variant:"primary",disabled:!pe.trim(),children:"Authenticate"})]})]})})]})]})]})};function Ha(n){const{agentId:o,instructions:l,model:i,frontendTools:d,inference:p,subagents:v,sharing:c,onSubagentEvent:f,modeEffect:x}=n;return{type:"browser-vercel-ai",endpoint:"",agentId:o,enableConfigQuery:!1,options:{instructions:l,model:i,frontendTools:d,inference:p,subagents:v,sharing:c,onSubagentEvent:f,modeEffect:x}}}const os=eo((n,o)=>({pending:void 0,suggest:(l,i)=>{const d=l.trim();d&&n({pending:{text:d,submit:i?.submit??!1,nonce:(o().pending?.nonce??0)+1}})},consume:()=>n({pending:void 0})})),Da=({state:n})=>to[n];class Wa extends Error{constructor(o,l){super(l),this.status=o,this.name="RuntimeRefusal"}status}function Ka({baseUrl:n,getAccessToken:o,fetch:l}){const i=n.replace(/\/+$/,""),d=(f={})=>{const x=o();return{...f,...x?{Authorization:`Bearer ${x}`}:{}}},p=async f=>{throw new Wa(f.status,oo(f.status,f.statusText,await ao(f)))};return{json:async(f,x="GET",C)=>{const u=await l(`${i}${f}`,{method:x,headers:d({Accept:"application/json",...C===void 0?{}:{"Content-Type":"application/json"}}),...C===void 0?{}:{body:JSON.stringify(C)}});return u.ok?await u.json():p(u)},stream:async(f,x,{onEvent:C,signal:u},ue="POST")=>{const w=await l(`${i}${f}`,{method:ue,headers:d({"Content-Type":"application/json",Accept:"text/event-stream"}),body:JSON.stringify(x),signal:u});if(!w.ok)return p(w);await io(w,C)},refused:p,headers:d,root:i,fetcher:l}}const D=n=>`/api/v1/apps/sessions/${encodeURIComponent(n)}`;function Ga(n){const{json:o,stream:l,fetcher:i,headers:d,refused:p,root:v}=Ka(n);return{start:(c,f)=>l("/api/v1/apps/sessions",{agent:c.agent,...c.deploymentUid?{deployment_uid:c.deploymentUid}:{},...c.appUid?{app_uid:c.appUid}:{},...c.version?{version:c.version}:{},...c.session?{session:c.session}:{},opener:c.opener},f),message:(c,f,x)=>l(`${D(c)}/messages`,{text:f},x),changeSettings:(c,f,x)=>l(`${D(c)}/settings`,{values:f},x,"PUT"),resume:(c,f,x)=>l(`${D(c)}/resume`,{agent:f},x),stop:c=>o(`${D(c)}/stop`,"POST"),end:c=>o(`${D(c)}/end`,"POST"),describe:c=>o(D(c)),described:async c=>so(await o(D(c))),list:(c={})=>{const f=new URLSearchParams;for(const[C,u]of Object.entries(c))u!==""&&u!==void 0&&u!==!1&&f.set(C,String(u));const x=f.toString();return o(`/api/v1/apps/sessions${x?`?${x}`:""}`)},swap:(c,f)=>o(`${D(c)}/agent`,"POST",{agent:f}),clone:(c,f={})=>o(`${D(c)}/clone`,"POST",{up_to_turn:f.upToTurn??null,agent:f.agent??null,title:f.title??""}),exportFile:async(c,f="")=>{const x=await i(`${v}${D(c)}/export${f?`?format=${encodeURIComponent(f)}`:""}`,{method:"GET",headers:d()});return x.ok?x.text():p(x)},importFile:async(c,f={})=>{const x=new URLSearchParams;f.agent&&x.set("agent",f.agent),f.format&&x.set("format",f.format);const C=x.toString(),u=await i(`${v}/api/v1/apps/sessions/import${C?`?${C}`:""}`,{method:"POST",headers:d({"Content-Type":"application/x-ndjson"}),body:c});return u.ok?await u.json():p(u)},rename:(c,f)=>o(`${D(c)}/title`,"PUT",{title:f}),archive:(c,f)=>o(`${D(c)}/archived`,"PUT",{archived:f}),messages:async c=>no((await o(`${D(c)}/messages`)).messages)}}function Ya({agentName:n,sandboxStillRuns:o=!1,temporary:l=!0,onSignedIn:i,onSignUp:d}){const{configuration:p}=ls(),v=s.useCallback(c=>{ro.getState().checkIAMToken(c),i?.()},[i]);return t.jsx(h,{height:"100%",minHeight:0,overflowY:"auto",bg:"canvas.default",px:4,py:4,children:t.jsxs(h,{maxWidth:440,mx:"auto",children:[t.jsxs(h,{display:"flex",alignItems:"center",justifyContent:"center",gap:2,color:"attention.fg",mb:2,children:[t.jsx(nn,{size:20}),t.jsx(F,{sx:{fontSize:2,fontWeight:"semibold",color:"fg.default"},children:l?"This demo runs on a shared key":"Your key has expired"})]}),t.jsxs(F,{as:"p",sx:{fontSize:1,color:"fg.muted",textAlign:"center",mb:3},children:[l?`${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.`,o?" Your notebook is still running in this page.":""]}),t.jsx(Va,{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:p?.iamUrl?`${p.iamUrl}/api/iam/v1/login`:void 0,onSignIn:v,onSignUp:d})]})})}const qa="https://r1.datalayer.run";function Ja(n=!0){const{configuration:o}=ls(),l=sn(c=>c.token),i=o?.aiInferenceUrl||qa,d=lo(i,n&&!l),p=l||d.token,v=s.useMemo(()=>({inferenceUrl:i,token:p||void 0}),[i,p]);return{inference:v,needsSignIn:co(v),anonymous:d,inferenceUrl:i}}const Qa={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 as(n){const o=n?.subagents;if(!o)return[];const l=(o.subagents??[]).map(i=>{const d=i.ref?uo(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??o.defaultModel,icon:d?.icon}});return o.includeGeneralPurpose?[...l,Qa]:l}function Za(n){return n.replace(/^datalayer_/,"").replace(/_lexical$/,"")}function Xa(n){const o=Za(n);return/^executeCodeIn(Notebook|Document)$/.test(o)||/^(read|list)[A-Z]/.test(o)}function ei(n,o){return n.filter(l=>o?.has(l.name)||Xa(l.name))}function ti(n,o){const l=i=>o&&i.value.id===`${o}-tools`?0:i.value.id==="notebook-tools"?1:2;return n.map((i,d)=>({entry:i,index:d,rank:l(i)})).sort((i,d)=>i.rank-d.rank||i.index-d.index).map(i=>i.entry)}function ni(n,o,l){if(!l||!n.endsWith("-tools"))return!1;const i=n.slice(0,-6);return o.has(i)&&i!==l}const si={type:"object",properties:{}};function oi(n,o){const l=new Set(n.toolset);return n.commands.filter(i=>l.has(i.name)).map(i=>({name:i.name,description:i.description,parameters:i.parameters??si,location:"frontend",handler:async d=>{if(!o)throw new Error(`${i.name}: the ${n.plugin??n.id} plugin is not mounted on this page.`);const p=Object.keys(d??{}).length>0?d:void 0,v=await o.executeCommand(i.command,p);return v===void 0?{ok:!0,command:i.command,argument:p}:v}}))}function ps(n,o){return n.flatMap(l=>oi(l,o))}function ai(){const n=fo(),o=fs();return s.useMemo(()=>ps(o,n),[o,n])}function ii(n){const o=n?.app_instance;if(!o||typeof o!="object")return"";const l=o.deployment_uid;return typeof l=="string"?l.trim():""}function ri(n,o,l){return n||!o?n:{id:l,messages:[]}}function li(n){const o=(new URLSearchParams(n).get("session")??"").trim();if(!o)return"";if(!/^[A-Za-z0-9_-]{8,128}$/.test(o))throw new Error(`?session=${o} names no session: a session uid is 8 to 128 letters, digits, hyphens or underscores.`);return o}function ci({facts:n}){if(!n)return null;const o=po(n);return t.jsxs(h,{display:"inline-flex",alignItems:"center",gap:2,"data-session-state":n.state,children:[t.jsx(mo,{size:"small",variant:n.state==="open"?"accent":n.state==="paused"?"attention":"secondary",children:go(n)}),o?t.jsx(F,{sx:{fontSize:0,color:"fg.muted"},"data-session-lineage":"",children:o}):null]})}function di({facts:n,turn:o,context:l}){const i=_(cs),d=ds(i,n,"turn");return!n||d.length===0||o<1?null:t.jsx(h,{display:"inline-flex",gap:1,"data-turn-actions":o,children:d.map(p=>t.jsx(q,{size:"small",variant:"invisible","data-turn-action":p.id,onClick:()=>{Promise.resolve(p.run(n,{...l,atTurn:o})).catch(v=>l.say(String(v.message??v)))},children:p.label},p.id))})}function ui({uid:n,describe:o,context:l}){const i=_(cs),[d,p]=s.useState(void 0),[v,c]=s.useState(!1),[f,x]=s.useState(""),C={...l,say:w=>{x(w),l.say(w)}},u=s.useCallback(w=>{c(w),w&&n&&o(n).then(p,()=>p(void 0))},[o,n]);if(!n||i.length===0)return null;const ue=ds(i,d);return t.jsxs(Jt,{open:v,onOpenChange:u,children:[t.jsx(Jt.Anchor,{children:t.jsx(us,{icon:_a,"aria-label":"Session actions",variant:"invisible",size:"small","data-testid":"session-actions"})}),t.jsx(Jt.Overlay,{width:"small",children:t.jsxs(st,{children:[ue.length===0?t.jsx(st.Item,{disabled:!0,children:d?"Nothing applies to this session now.":"Reading the session…"}):ue.map(w=>t.jsx(st.Item,{"data-session-action":w.id,onSelect:()=>{d&&Promise.resolve(w.run(d,C)).catch(y=>C.say(String(y.message??y)))},children:w.label},w.id)),f?t.jsxs(t.Fragment,{children:[t.jsx(st.Divider,{}),t.jsx(st.Item,{disabled:!0,"data-testid":"session-actions-said",children:f})]}):null]})})]})}const is={confirm:"Switch",cancel:"Keep it"};function fi({question:n,onPick:o}){const[l,i]=s.useState(n.options[0]?.id??""),[d,p]=s.useState("");s.useEffect(()=>{let c=!0;if(!n.says||!l){p("");return}return n.says(l).then(f=>c&&p(f),()=>c&&p("")),()=>{c=!1}},[l,n]);const v=n.options.find(c=>c.id===l);return t.jsx(ho,{title:n.title,onClose:()=>o(void 0),width:"medium",footerButtons:[{buttonType:"default",content:is.cancel,onClick:()=>o(void 0)},{buttonType:"primary",content:is.confirm,disabled:!l,onClick:()=>o(l||void 0)}],children:t.jsxs(h,{display:"grid",gap:3,"data-session-choose":"",children:[t.jsxs(se,{children:[t.jsx(se.Label,{children:n.title}),t.jsx(Qn,{value:l,onChange:c=>i(c.target.value),block:!0,children:n.options.map(c=>t.jsx(Qn.Option,{value:c.id,children:c.label},c.id))})]}),v?.description?t.jsx(F,{sx:{fontSize:1,color:"fg.muted"},children:v.description}):null,d?t.jsx(F,{as:"p",sx:{m:0,fontSize:1,fontStyle:"italic"},"data-session-choose-says":"",children:d}):null]})})}const pi="var(--theme-accent)";function ms({face:n,size:o}){return typeof n=="string"?t.jsx(xo,{emoji:n,size:o,label:""}):t.jsx(t.Fragment,{children:n})}function mi({face:n,size:o,state:l}){const i=l==="thinking"||l==="working",d=l==="paused";return t.jsxs(h,{as:"span","aria-hidden":!0,"data-presence":l,position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",width:o+8,height:o+8,flexShrink:0,fontSize:o,lineHeight:1,children:[t.jsx(h,{as:"span",position:"absolute",inset:0,borderRadius:"50%",boxShadow:d?"none":`0 0 0 2px ${pi}`,border:d?"2px dashed":"none",borderColor:"border.default",opacity:i||l==="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(h,{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(ms,{face:n,size:o})})]})}function gi({state:n}){return t.jsx(F,{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:Da({state:n})})}const hi=on(void 0),xi=on(""),bi=on({}),de="",vi=1400,rs=parseInt(Pa["--loop-face-large"],10);function ki({workspace:n}){const o=bo(),l=vo(),i=s.useRef(null),d=s.useRef(void 0),{setViewControls:p}=n,v=s.useRef(n.setThread);v.current=n.setThread;const c=s.useCallback(()=>{const e=i.current?.thread();return e&&v.current?.(e),e},[]),[f,x]=s.useState(null),C=So(),u=C.getConfig(yo),ue=u?.placeholder||o.placeholder,w=u?.defaultSurface??"notebook",y=C.getConfig(Co),[N,J]=s.useState(de),xe=s.useRef(!1),A=_(wo),yt=_(jo),Ct=_(ko),be=_(To)[0]?.value,Q=Qt(be?.promptStance??hi)??be?.prompt,fe=_(Ro),at=Io(fe[0]?.value),oe=s.useRef(at);oe.current=at;const Pe=s.useRef(""),te=_(Eo),ve=s.useMemo(()=>Ao(()=>te.reduce((e,a)=>({...e,...a.value.extras.value}),{})),[te]),j=Qt(te.length>0?ve:bi),it=s.useRef(new Set),Se=Po(Ea,n),Z=!Se.allowed,jt=Z?Se.reason??"Chat is unavailable for this sandbox":void 0,[O,kt]=s.useState(!1),[ye,Tt]=s.useState(!1),[$e,Rt]=s.useState(!1),[P,Ue]=s.useState({open:!1,pendingApproval:!1}),X=$o(O,P,u?.presence?.paused===!0),Be=u?.presence?.onPresence;s.useEffect(()=>{Be?.(X),oe.current?.setPresence(X)},[Be,X]);const Me=s.useRef(u?.presence?.onSaying);Me.current=u?.presence?.onSaying;const Ve=s.useRef({answering:!1}),W=s.useCallback(e=>{i.current=e,Tt(!!e)},[]),It=s.useCallback(e=>{const{open:a,pendingApproval:r}=Uo(e);Ue(Ee=>Ee.open===a&&Ee.pendingApproval===r?Ee:{open:a,pendingApproval:r});const b={saying:Oo(e),answering:Mo(e)},g=Ve.current;(g.saying?.id!==b.saying?.id||g.saying?.text!==b.saying?.text||g.answering!==b.answering)&&(Ve.current=b,Me.current?.(b));const Y=oe.current;if(!Y)return;Y.items(e);const L=new Set(["complete","completed","done","error","failed","cancelled","canceled","rejected","denied","stopped"]),ne={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 S;for(let Ee=e.length-1;Ee>=0;Ee-=1){const ht=e[Ee];if(typeof ht.toolName=="string"&&ht.toolCallId){L.has(String(ht.status).toLowerCase())||(S=ht);break}}if(!S){Y.activity(void 0);return}const Ie=S.toolName.toLowerCase().replace(/^datalayer_/,"").replace(/_lexical$/,"").replace(/[^a-z]/g,""),Ws=ne[Ie]??`using ${S.toolName}`;Y.activity(`${Pe.current||"The agent"} is ${Ws}…`)},[]),ae=s.useRef(j);ae.current=j;const Et=s.useCallback(e=>{Ts(e),oe.current?.usage(e),ae.current.onUsage?.(e)},[]),He=s.useCallback(e=>{kt(e),e||oe.current?.end("done")},[]),At=s.useCallback(e=>{const a=oe.current;if(!a)return;let r=-1;for(let g=e.length-1;g>=0;g-=1)if(e[g].role==="user"){r=g;break}const b=e.slice(r+1).filter(g=>g.role==="assistant").map(Lo).filter(g=>g.trim().length>0).join(`
|
|
29
|
+
|
|
30
|
+
`);a.assistant(b)},[]),Ce=s.useRef([]),ee=s.useRef(!1),we=s.useRef(void 0),je=s.useRef(void 0),ke=s.useRef(void 0),pe=_(Fo),De=s.useRef(pe);De.current=pe;const me=s.useCallback((e,a)=>{if(je.current)return je.current;const r=ke.current;ke.current=void 0;const b=zo(De.current.map(L=>L.value),r?{...a??{},voice:r}:a),g=b?.loop;if(ee.current&&g?.files&&g.files.length>0){const L=we.current;if(!L)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 ne;try{ne=g.files.map(S=>({file:No(String(S.name??"")),base64:_o(String(S.data_url??""))}))}catch(S){return S instanceof Error?S.message:String(S)}L.execute(Bo(ne)).then(S=>{if(!S.success){x(`The files could not be put in the sandbox: ${S.error??"it failed"}.`);return}me(`${e}
|
|
31
|
+
|
|
32
|
+
${Vo(ne.map(Ie=>Ie.file))}`,{...b,loop:Object.fromEntries(Object.entries(g).filter(([Ie])=>Ie!=="files"))})});return}oe.current?.begin(e,c());const Y=i.current?.send;if(!Y){Ce.current.push([e,b]);return}Y(e,b)},[c]);s.useEffect(()=>{p(ye?{busy:O,stop:i.current?.stop,newChat:i.current?.newChat,send:me}:null)},[O,ye,p,me]),s.useEffect(()=>()=>p(null),[p]),s.useEffect(()=>n.prompts.subscribe(me),[n.prompts,me]),s.useEffect(()=>{if(!ye||Ce.current.length===0)return;const e=Ce.current.splice(0,Ce.current.length);for(const[a,r]of e)c(),i.current?.send(a,r)},[ye,c]);const We=s.useRef(!1),ie=s.useCallback(async e=>{x(null);const a=await Ho(ae.current,e);if(a){a.sent?Xe(""):x(a.refused);return}We.current||(We.current=!0,y?.firstPromptHook?.());const r=await n.submit(e);if(!r.handled){x(r.reason??null);return}Xe(""),r.result?.content&&x(r.result.content)},[n,y?.firstPromptHook]),I=s.useMemo(()=>A.find(e=>e.value.surfaceId===N)?.value,[A,N]),re=s.useCallback(e=>{xe.current=!0,J(e)},[]);s.useEffect(()=>Do(re),[re]),s.useEffect(()=>{Wo(A.map(e=>e.value.surfaceId))},[A]),s.useEffect(()=>{Ko(N&&N!==de?N:$a)},[N]);const Te=s.useMemo(()=>w===de||w==="none"?void 0:A.find(e=>e.value.surfaceId===w),[A,w]);s.useEffect(()=>{xe.current||!Te||ot(Te.value,n)&&J(w)},[Te,n,w]);const[le,rt]=s.useState(null),Oe=s.useRef(null),Le=u?.fullScreenTopOffset??0,{fullScreen:K,usingApi:Ke,toggle:m,topOffsetPx:$}=Go(Oe,{forceOverlay:!!Le,topOffset:Le}),[B,V]=s.useState(!1),Ge=s.useRef(!1);s.useEffect(()=>{!O||Ge.current||K||(Ge.current=!0,V(!0))},[O,K]),s.useEffect(()=>{K&&V(!1)},[K]),s.useEffect(()=>{I&&!ot(I,n)&&(rt(I.surfaceId),J(de))},[I,n]);const lt=s.useMemo(()=>{if(le)return A.find(e=>e.value.surfaceId===le)?.value;if(!xe.current&&N===de)return Te?.value},[A,le,N,Te]);s.useEffect(()=>{if(!le||N!==de)return;const e=A.find(a=>a.value.surfaceId===le);e&&ot(e.value,n)&&(rt(null),J(le))},[A,N,le,n]);const E=n.agentId?.trim()||"default",U=Yo(n.sandbox.target??"local");ee.current=U;const k=qo(),ce=Qt(k?.selected??xi),R=k?.members.find(e=>e.id===ce),rn=_(Jo)[0]?.value,Pt=rn?.specId,M=Zn(R?.specId??E)??(Pt?Zn(Pt):void 0),Ye=R?void 0:rn,ln=U&&!R?Ia(Pt,M):void 0;Pe.current=R?.name??M?.name??E;const cn=_(Qo),dn=j.hiddenOpeners,un=j.hideOpeners,$t=j.openers,Ut=s.useMemo(()=>{if(un)return[];const e=new Set(dn??[]),a=S=>e.size===0?S:S.filter(Ie=>!e.has(Ie.text));if($t)return a($t);const r=cn.flatMap(S=>S.value.suggestions);if(r.length>0)return a(r);const b=a(M?.suggestions??[]),g=a(k?.team.suggestions??[]);if(g.length===0)return b;const Y=new Set(g.map(S=>S.text)),L=k?.team.name??"Team",ne=R?.name??M?.name??E;return[...g.map(S=>({...S,group:L})),...b.filter(S=>!Y.has(S.text)).map(S=>({...S,group:ne}))]},[cn,k,M,R,E,dn,un,$t]),ct=s.useMemo(()=>Ut.map(e=>({title:e.summary??e.text,message:e.message??e.text,group:e.group})),[Ut]),Mt=Ne(M?.icon),G=u?.presence,gs=Ne(k?.team.icon),fn=_(Zo),dt=s.useMemo(()=>{const e=[],a=new Map,r=new Set,b=new Set(A.map(g=>g.value.surfaceId));for(const g of ti(fn,I?.surfaceId)){if(ni(g.value.id,b,I?.surfaceId))continue;let Y;try{Y=g.value.tools(n)}catch(L){console.warn(`[loop] frontend tools from '${g.plugin}' failed:`,L);continue}for(const L of Y){const ne=a.get(L.name);if(ne){console.warn(`[loop] frontend tool '${L.name}' from '${g.plugin}' is shadowed by the one from '${ne}'.`);continue}a.set(L.name,g.plugin),e.push(L),g.value.chatView&&r.add(L.name)}}for(const g of j.frontendTools??[])a.has(g.name)||(a.set(g.name,"chat-extras"),e.push(g),r.add(g.name));return I?e:ei(e,r)},[fn,n.surfaceId,n.agentId,j.frontendTools,I?.surfaceId,A]),Ot=ai(),qe=s.useMemo(()=>{if(Ot.length===0)return dt;const e=new Set(dt.map(a=>a.name));return[...dt,...Ot.filter(a=>!e.has(a.name))]},[dt,Ot]),pn=fs(),Lt=j.agentToolBundles,hs=s.useMemo(()=>{const e=j.frontendTools??[];if(!Lt?.length)return j.frontendTools;const a=ps(pn.filter(b=>Lt.includes(b.id)),C),r=new Set(e.map(b=>b.name));return[...e,...a.filter(b=>!r.has(b.name))]},[j.frontendTools,Lt,pn,C]);we.current=U&&qe.some(e=>e.name===Xo)?C.getOutput(vt)?.sandbox:void 0;const T=ea(n.sandbox,n.serverUrl),Je=s.useMemo(()=>Ga({baseUrl:T??"",getAccessToken:()=>d.current,fetch:(e,a)=>fetch(e,a)}),[T]),mn=_(ta),xs=s.useMemo(()=>mn.filter(e=>e.value.composer).map(e=>({name:e.value.name,description:e.value.description})),[mn]),bs=s.useMemo(()=>{if(!k||!R)return as(M).map(r=>({name:r.name,description:r.description,icon:Ne(r.icon)}));const e=k.members.map(r=>({name:r.name,description:r.description,emoji:r.emoji,icon:Ne(r.icon),disabled:r.id===R.id,disabledReason:r.id===R.id?`You are already talking to ${r.name}`:void 0})),a=Xn(k.team,R.id).filter(r=>!k.members.some(b=>b.name===r.name)).map(r=>({name:r.name,description:r.description,icon:Ne(r.icon)}));return[...e,...a]},[k,R,M]),{inference:gn,anonymous:vs}=Ja(U),Ss=sn(e=>e.user),Ft=U&&vs.status==="expired",hn=!Ss,Qe=na();je.current=Qe.disabled?Qe.disableReason||"This conversation is closed here.":void 0;const zt=T===void 0?sa(n.sandbox,o):void 0,Ze=Z||Ft||!!ln||!!zt||Qe.disabled,xn=Ft?hn?o.demoKeyExpired:o.keyExpired:ln??zt??jt??(Qe.disabled?Qe.disableReason:void 0),[_t,Xe]=s.useState(""),[bn]=oa(),et=s.useMemo(()=>u?.voice?aa(u.voice,bn):void 0,[u?.voice,bn]),[ys,Cs]=s.useState(!1),[ws,vn]=s.useState(),ut=ws??Ye?.model??M?.model??n.model??"",Fe=ia(),Sn=s.useRef(Fe),yn=s.useRef(ce),Cn=s.useRef(Fe);Cn.current=Fe,s.useEffect(()=>{yn.current!==ce&&(yn.current=ce,Sn.current=Cn.current,vn(void 0))},[ce]);const js=Fe&&Fe!==Sn.current?Fe:null,[ks,Ts]=s.useState(),Rs=js??ks??null,Is=Zt(Ae.inpromptMenu),wn=Zt(Ae.promptAction),jn=Zt(Ae.chatHeader),Es=s.useMemo(()=>k?.members.map(e=>({id:e.id,name:e.name,description:e.description,icon:Ne(e.icon)}))??[],[k]),Re=os(e=>e.pending),[kn,As]=s.useState(0);s.useEffect(()=>ra(()=>As(e=>e+1)),[]),s.useEffect(()=>{Re&&(Xe(Re.text),os.getState().consume(),Re.submit&&ie(Re.text))},[Re]);const Tn=C.getConfig(vt)?.datalayerCreatePayload,H=!!(Ye?.createPayload?.app_spec||Tn?.app_spec),Nt=ii(Tn),Ps=sn(e=>e.token),Bt=C.getConfig(vt)?.datalayerVisitors,$s=la(Bt),Us=C.getConfig(vt)?.embedToken,ge=Bt?$s.token:Us||Ps;d.current=ge||void 0;const Ms=s.useMemo(()=>ca(u?.voice,ge||void 0),[u?.voice,ge]),he=!!(Nt||Bt);if(he&&!H)throw new Error("A deployment’s page runs its application: its host gave no app_spec.");const[Rn]=s.useState(es),[Vt,Os]=s.useMemo(()=>{try{return[li(typeof window>"u"?"":window.location.search),""]}catch(e){return["",e instanceof Error?e.message:String(e)]}},[]),[In,Ls]=s.useState(void 0),z=s.useMemo(()=>In??ri(u?.thread??(Vt&&H?{id:Vt,messages:[],fromRuntime:!0}:void 0),Nt,Rn),[In,u?.thread,Vt,H,Nt,Rn]),[ze,En]=s.useState(null),Fs=!!(z?.fromRuntime&&ze?.given!==z.id);s.useEffect(()=>{if(!z?.fromRuntime||!H||!T)return;let e=!0;return(async()=>{let a="";for(let r=0;r<4&&e;r+=1)try{const b=await da({agentBaseUrl:T,agentId:E,uid:z.id,token:ge});e&&En({given:z.id,thread:{...z,fromRuntime:!1,messages:b}});return}catch(b){a=b instanceof Error?b.message:String(b),await new Promise(g=>setTimeout(g,1500))}e&&En({given:z.id,thread:{id:es(),messages:[],onStarted:z.onStarted},said:ts.notOpened(a)})})(),()=>{e=!1}},[z?.id,z?.fromRuntime,H,T,E,ge]);const Ht=z?.fromRuntime?ze?.given===z.id?ze.thread:void 0:z,ft=n.thread||Ht?.id||"",[An,Pn]=s.useState(void 0),[zs,$n]=s.useState(0);s.useEffect(()=>{if(!H||!T||!ft||O)return;let e=!0;return Je.described(ft).then(a=>e&&Pn(a),()=>e&&Pn(void 0)),()=>{e=!1}},[H,T,ft,O,zs,Je]);const[Un,Mn]=s.useState(Os),[On,Ln]=s.useState(null),Dt=s.useRef(null),Wt=s.useRef(null),Fn=s.useRef(null),zn=s.useMemo(()=>({client:Je,say:e=>{Mn(e),$n(a=>a+1)},openThread:e=>{Ls({id:e,messages:[],fromRuntime:!0}),$n(a=>a+1)},download:(e,a,r)=>{const b=URL.createObjectURL(new Blob([a],{type:r})),g=document.createElement("a");g.href=b,g.download=e,g.click(),URL.revokeObjectURL(b)},choose:e=>new Promise(a=>{Dt.current=a,Ln(e)}),pickFile:e=>new Promise(a=>{const r=Fn.current;if(!r){a(void 0);return}Wt.current=a,r.accept=e,r.value="",r.click()})}),[Je]),Kt=s.useMemo(()=>U?Ha({agentId:R?.specId??E,instructions:ua(M,Ye?.instructions),model:ut||void 0,inference:gn,frontendTools:qe,subagents:k&&R?Xn(k.team,R.id):as(M),sharing:k?.sharing,onSubagentEvent:e=>Aa.getState().appendSubagentEvent(e),modeEffect:Ye?.modeEffect}):T!==void 0?{type:"ag-ui",endpoint:H?`${T}/api/v1/apps/agents/${encodeURIComponent(E)}/ag-ui/`:`${T}/api/v1/ag-ui/${E}/`,...H&&ge?{authToken:ge}:{},...H?{uiSocket:`${T.replace(/^http/,"ws")}/api/v1/apps/ui`,uiFiles:`${T}/api/v1/apps/agents/${encodeURIComponent(E)}/files`,appSessions:`${T}/api/v1/apps/sessions`,...he?{ownRoutesOnly:!0}:{}}:{},agentId:E,configEndpoint:`${T}/api/v1/configure`,enableConfigQuery:!0}:void 0,[E,U,gn,R,qe,k,M,Ye,ut,T,H,ge,he]),pt=fa(!U,Kt?.type==="ag-ui"?Kt.configEndpoint:void 0,void 0,E),tt=pa(),mt=ma(E),[_n,Gt]=s.useState(void 0),[_s,Ns]=s.useState(void 0);s.useEffect(()=>{if(U||T===void 0)return;const e=ga(T,E,he);if(!e){Gt([]);return}let a=!1;return fetch(e).then(r=>r.ok?r.json():null).then(r=>{a||(Gt(r?ha(r):[]),Ns(r?xa(r):void 0))}).catch(()=>{a||Gt([])}),()=>{a=!0}},[T,E,U,he]);const Bs=s.useMemo(()=>ba(_n,()=>Object.values(va).filter(e=>e.available&&Sa(e)).map(e=>({id:e.id,name:e.name,provider:e.provider}))),[_n]),Nn=s.useMemo(()=>{const e=pt.data?.builtinTools??[],a=new Set(e.map(r=>r.name));return{runtime:e,frontend:qe.filter(r=>!a.has(r.name)).map(r=>({id:r.name,name:r.name}))}},[pt.data?.builtinTools,qe]),Bn=s.useMemo(()=>new Set((tt.data?.skills??[]).filter(e=>e.status==="enabled"||e.status==="loaded").map(e=>e.id)),[tt.data]),Vs=s.useCallback(async e=>{if(he)throw new Error("A deployment’s chat does not switch its runtime’s model.");vn(e),!(U||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,U,he]),Vn=u?.promptPlacement==="bottom-chat",Hs=u?.promptPlacement==="floating",_e=u?.promptPlacement==="top",nt=u?.hidePrompt===!0||j.hidePrompt===!0,Ds={onSend:()=>{ie(_t)},input:_t,setInput:Xe,focusTrigger:Re||kn?(Re?.nonce??0)+kn:void 0,placement:Hs||Q==="floating"||Q==="floating-top"||Q==="floating-bottom"?"floating":"docked",floatingAnchor:Q==="floating-top"?"top":"bottom",isLoading:O,onStop:()=>n.viewControls.stop?.(),placeholder:xn??j.sendInstead?.says??ue,typingSuggestions:Ut.map(e=>e.text),suggestions:ct,disableInputPrompt:Ze,connectionConfirmed:!Ze,interim:ys,padding:_e||Q==="floating-top"||Q==="floating-bottom"||Q==="docked-top"?2:3,promptVariant:"lexical",autoFocus:u?.autoFocusPrompt??!0,mentionableAgents:bs,promptCommands:xs,headerContent:Is.length>0?t.jsx(St,{slot:Ae.inpromptMenu,props:{workspace:n}}):void 0,footerExtras:wn.length>0||et&&et.input!=="off"?t.jsxs(t.Fragment,{children:[wn.length>0?t.jsx(St,{slot:Ae.promptAction,props:{workspace:n}}):null,et&&et.input!=="off"?t.jsx(ya,{voice:et,input:_t,setInput:Xe,disabled:Ze,speaking:$e,onStopSpeaking:()=>i.current?.stopSpeaking?.(),playbackLevel:()=>i.current?.voiceLevel?.()??0,running:O,onStopRun:()=>(i.current?.interrupt??i.current?.stop)?.(),onInterrupted:()=>i.current?.markInterrupted(),onInterimChange:Cs,answers:!!(u?.voice?.output&&u.voice.output!=="off"&&u.voice.speechUrl),onSpoken:e=>{ke.current=e},send:(e,a)=>{ke.current=a,ie(e)}}):null]}):void 0,showAgentsMenu:!G,showInlineAgentsMenu:!1,agents:Es,selectedAgentId:ce,onSelectAgent:e=>k?.select(e),showTokenUsage:j.showTokenUsage??u?.showTokenUsage??!0,showContextRing:!0,agentUsage:Rs??void 0,showModelSelector:!G&&!he,models:Bs,decisions:_s,selectedModel:ut,onModelSelect:e=>{Vs(e)},showToolsMenu:!G,availableTools:Nn.runtime,availableFrontendTools:Nn.frontend,mcpServers:pt.data?.mcpServers??[],mcpStatusData:j.mcpStatusData??void 0,showSkillsMenu:!G,skills:tt.data?.skills??[],skillsLoading:tt.isLoading,enabledSkills:Bn,onToggleSkill:e=>Bn.has(e)?mt.disableSkill(e):mt.enableSkill(e),onToggleAllSkills:(e,a)=>e.forEach(r=>a?mt.enableSkill(r):mt.disableSkill(r)),codemodeEnabled:j.codemodeEnabled??!1,onToggleCodemode:j.onToggleCodemode,isA2AProtocol:!1,hasConfigData:!!pt.data,hasSkillsData:!!tt.data},Hn=yt[0]?.value.Component,Yt=Ct[0]?.value.Component,Dn=!u?.hideHeader&&!!Yt,gt=Hn?t.jsx(Hn,{workspace:n,composer:Ds}):null,Wn=A.length>0&&u?.showSurfaceSelector!==!1?t.jsx(Si,{surfaces:A.map(e=>e.value),active:I?.surfaceId??lt?.surfaceId??de,onChange:re,workspace:n}):null,Kn=t.jsxs(t.Fragment,{children:[A.map(e=>{const a=e.value,r=I?.surfaceId===a.surfaceId;return r||it.current.has(a.surfaceId)||ot(a,n)?(it.current.add(a.surfaceId),t.jsx(h,{sx:r?{flex:"1 1 0",minWidth:0,minHeight:0}:{position:"absolute",inset:0,visibility:"hidden",pointerEvents:"none",zIndex:-1},children:t.jsx(Ca,{load:a.load,props:{surfaceId:a.surfaceId,workspace:n},fallback:t.jsxs(tn,{children:["Loading ",a.title,"…"]}),errorFallback:g=>t.jsxs(tn,{children:[a.title," failed to load: ",g.message]})})},a.surfaceId)):null}),!I&<?t.jsx(h,{flex:"1 1 0",minWidth:0,minHeight:0,children:t.jsxs(tn,{children:["Starting ",lt.title,"…"]})}):null]}),Gn=t.jsx(t.Fragment,{children:t.jsxs(h,{flex:_e&&I?"0 0 34%":"1 1 0",maxWidth:_e&&I?460:void 0,minWidth:0,minHeight:0,display:"flex",flexDirection:"column",borderLeft:I?"1px solid":void 0,borderColor:"border.default",position:"relative",children:[j.errorBanner?t.jsx(h,{flexShrink:0,px:3,py:2,fontSize:1,borderBottom:"1px solid",bg:j.errorBanner.variant==="warning"?"attention.subtle":"danger.subtle",color:j.errorBanner.variant==="warning"?"attention.fg":"danger.fg",borderColor:j.errorBanner.variant==="warning"?"attention.muted":"danger.muted",children:j.errorBanner.message}):null,ze?.said&&ze.given===z?.id?t.jsx(F,{as:"p",role:"status",sx:{m:0,px:3,py:2,fontSize:1,color:"fg.muted"},children:ze.said}):null,Un?t.jsxs(h,{display:"flex",alignItems:"baseline",gap:2,px:3,py:2,fontSize:1,color:"fg.muted",role:"status","data-session-said":"",children:[t.jsx(F,{sx:{flex:1},children:Un}),t.jsx(q,{size:"small",variant:"invisible",onClick:()=>Mn(""),children:"Dismiss"})]}):null,On?t.jsx(fi,{question:On,onPick:e=>{Ln(null),Dt.current?.(e),Dt.current=null}}):null,t.jsx("input",{ref:Fn,type:"file",hidden:!0,"data-session-file":"",onChange:async e=>{const a=e.target.files?.[0],r=a?await a.text():void 0;Wt.current?.(r),Wt.current=null}}),t.jsx(h,{flex:"1 1 auto",minHeight:0,display:"flex",children:Fs?t.jsx(F,{as:"p",role:"status",sx:{m:0,p:3,fontSize:1,color:"fg.muted"},children:ts.opening}):t.jsx(wa,{themeVariant:u?.themeVariant,themeOverrides:u?.themeOverrides,colorMode:u?.colorMode,thread:Ht,voice:Ms,disabled:Ze,disableReason:xn,protocol:Kt,frontendTools:U?void 0:hs,initialModel:ut||void 0,title:G?.name??R?.name??M?.name??E,description:G?.welcome??M?.description,brandIcon:G?.face?t.jsx(mi,{face:G.face,size:20,state:X}):t.jsx(Mt,{size:20}),headerContent:G&&!zt?t.jsx(gi,{state:X}):void 0,emptyState:{icon:G?.face?t.jsx("span",{"aria-hidden":!0,style:{fontSize:rs,lineHeight:1},children:t.jsx(ms,{face:G.face,size:rs})}):t.jsx(Mt,{size:48}),title:G?.name??R?.name??M?.name??E,...k&&R?{sections:[{group:k.team.name,icon:t.jsx(gs,{size:48}),title:k.team.name,subtitle:k.team.description},{group:R.name,icon:t.jsx(Mt,{size:32}),title:R.name,subtitle:M?.description}]}:null},suggestions:_e||be||u?.suggestionLabels===!1?[]:ct,showHeader:Dn,headerButtons:{showNewChat:u?.headerButtons?.newChat??!1,showClear:u?.headerButtons?.clear??!1},renderHeader:Yt?e=>t.jsx(Yt,{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(h,{display:"inline-flex",alignItems:"center",gap:2,children:[n.chatHeaderActions,H&&T?t.jsxs(t.Fragment,{children:[t.jsx(ci,{facts:An}),t.jsx(ui,{uid:ft||void 0,describe:e=>Je.described(e),context:zn})]}):null,jn.length>0?t.jsx(St,{slot:Ae.chatHeader,props:{workspace:n}}):null,t.jsx(us,{icon:K?ja:ka,"aria-label":K?"Exit full screen":"Enter full screen",variant:"invisible",size:"small",onClick:()=>{V(!1),m()},sx:B?{"@keyframes dla-fullscreen-hint":{"0%, 100%":{opacity:1},"50%":{opacity:.4}},"&&":{bg:`color-mix(in srgb, ${l.primary} 16%, transparent)`,boxShadow:`inset 0 0 0 1.5px ${l.primary}`,animation:`dla-fullscreen-hint ${vi}ms ease-in-out infinite`},"@media (prefers-reduced-motion: reduce)":{"&&":{animation:"none"}}}:void 0})]}),showInput:!1,onSendReady:W,notebookToolSurfacesId:I?void 0:n.surfaceId,showTurnFooter:j.showTokenUsage??u?.showTokenUsage??!0,onContextSnapshot:Et,onLoadingChange:He,renderMessageFooter:H&&T?(e,a)=>e.role==="user"?t.jsx(di,{facts:An,turn:a.turn,context:zn}):null:void 0,onSpeakingChange:Rt,onItemsChange:At,onDisplayItemsChange:It,enableStreaming:!0},Ht?.id)}),!Dn&&jn.length>0?t.jsx(h,{hidden:!0,children:t.jsx(St,{slot:Ae.chatHeader,props:{workspace:n}})}):null,Vn&&!nt?gt:null]})}),Yn=u?.suggestionLabels!==!1&&ct.length>0?t.jsx(h,{"aria-label":o.suggestedPrompts,display:"flex",flexWrap:"wrap",gap:2,px:2,pb:"6px",children:ct.map(e=>t.jsx(h,{as:"button",type:"button",title:e.message,disabled:O||Ze,onClick:()=>{ie(e.message)},appearance:"none",font:"inherit",fontSize:0,fontWeight:"semibold",lineHeight:1.25,px:"10px",py:"5px",width:ns,flex:`0 0 ${ns}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(Ta,{title:e.title,maxWidth:"100%",sx:{minWidth:0},children:e.title})},e.title))}):null,qn=f?t.jsx(h,{flex:"0 0 auto",px:3,py:2,borderTop:"1px solid",borderColor:"border.default",bg:"canvas.subtle",fontSize:1,maxHeight:"40%",overflowY:"auto",children:f}):null;return t.jsxs(h,{ref:Oe,sx:{height:"100%",minHeight:0,display:"flex",flexDirection:"column",position:"relative",...K?{bg:"canvas.default"}:null,...K&&!Ke.current?{position:"fixed",top:$,right:0,bottom:0,left:0,height:"auto",zIndex:1e3}:null},children:[be?t.jsx(be.Component,{workspace:n,editors:Kn,hasEditor:!!I,transcript:Gn,prompt:nt?null:gt,chips:nt?null:Yn,picker:Wn,transient:qn}):t.jsxs(t.Fragment,{children:[_e&&!nt?t.jsxs(h,{flex:"0 0 auto",borderBottom:"1px solid",borderColor:"border.default",children:[gt,Yn]}):null,Wn,t.jsxs(h,{flex:"1 1 auto",minHeight:0,display:"flex",position:"relative",children:[Kn,Gn]}),qn,Vn||nt||_e?null:gt]}),Ft?t.jsx(h,{position:"absolute",inset:0,zIndex:5,bg:"canvas.default",display:"flex",flexDirection:"column",minHeight:0,children:t.jsx(Ya,{agentName:R?.name??M?.name,sandboxStillRuns:U,temporary:hn,onSignedIn:()=>Ra.getState().clear()})}):null]})}function Si({surfaces:n,active:o,onChange:l,workspace:i}){const d=[...n].sort((p,v)=>(p.order??100)-(v.order??100));return t.jsxs(h,{flex:"0 0 auto",display:"flex",alignItems:"center",gap:2,px:3,py:2,borderBottom:"1px solid",borderColor:"border.default",children:[t.jsx(F,{sx:{fontSize:0,color:"fg.muted"},children:"Beside the chat"}),t.jsxs(Xt,{"aria-label":"Editor beside the chat",size:"small",children:[t.jsx(Xt.Button,{selected:o===de,onClick:()=>l(de),children:"Chat"}),d.map(p=>{const v=ot(p,i),c=v?void 0:p.unavailableReason?.(i)??"Not available right now";return t.jsx(Xt.Button,{selected:o===p.surfaceId,"aria-disabled":!v,title:c??p.title,leadingIcon:p.icon,onClick:()=>{v&&l(p.surfaceId)},children:p.title},p.surfaceId)})]})]})}function tn({children:n}){return t.jsx(h,{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"fg.muted",fontSize:1,px:3,textAlign:"center",children:n})}export{ki as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as x,j as e,B as n,T as s,Z 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,Z as i}from"../datalayer-app-main.js";import j from"./index-BjfpYq_l.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};
|