@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
|
@@ -0,0 +1,578 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Session file format (MH-12).
|
|
7
|
+
*
|
|
8
|
+
* The datalayer-session/1 JSONL file: its caps, the states, the entry kinds,
|
|
9
|
+
* the redaction rules and the refusal sentences, as agentspecs says them.
|
|
10
|
+
*
|
|
11
|
+
* This file is AUTO-GENERATED from YAML specifications.
|
|
12
|
+
* DO NOT EDIT MANUALLY - run 'make specs' to regenerate.
|
|
13
|
+
*/
|
|
14
|
+
/** The format: what a file's first line says. */
|
|
15
|
+
export const SESSION_FILE_FORMAT = 'datalayer-session/1';
|
|
16
|
+
export const SESSION_FILE_MEDIA_TYPE = 'application/x-ndjson';
|
|
17
|
+
export const SESSION_FILE_EXTENSION = '.session.jsonl';
|
|
18
|
+
/** A file over either is refused with its counts. */
|
|
19
|
+
export const SESSION_FILE_MAX_BYTES = 67108864;
|
|
20
|
+
export const SESSION_FILE_MAX_ENTRIES = 20000;
|
|
21
|
+
/** A session's state, as the record says it. */
|
|
22
|
+
export const SESSION_STATES = ['open', 'paused', 'ended'];
|
|
23
|
+
/** The kinds an entry line may carry: the record's, and the session's audit rows. */
|
|
24
|
+
export const SESSION_ENTRY_KINDS = [
|
|
25
|
+
'session',
|
|
26
|
+
'run',
|
|
27
|
+
'tool_call',
|
|
28
|
+
'decision',
|
|
29
|
+
'check',
|
|
30
|
+
'approval',
|
|
31
|
+
'output',
|
|
32
|
+
'feedback',
|
|
33
|
+
'turn',
|
|
34
|
+
'notification',
|
|
35
|
+
'step',
|
|
36
|
+
'thread',
|
|
37
|
+
'asked',
|
|
38
|
+
'audio',
|
|
39
|
+
'diff',
|
|
40
|
+
'terminal',
|
|
41
|
+
'file',
|
|
42
|
+
'rule',
|
|
43
|
+
'paused',
|
|
44
|
+
'ended',
|
|
45
|
+
'swapped',
|
|
46
|
+
'cloned',
|
|
47
|
+
'imported',
|
|
48
|
+
'exported',
|
|
49
|
+
'titled',
|
|
50
|
+
];
|
|
51
|
+
/** The redaction rules applied at export, by id, each with what it does. */
|
|
52
|
+
export const SESSION_REDACTION_RULES = {
|
|
53
|
+
authorization_header: 'A header or key named Authorization, Proxy-Authorization or Cookie, whatever its value.',
|
|
54
|
+
bearer_token: 'A value that reads `Bearer …`, `Basic …` or `token …`, or a key, secret or password field.',
|
|
55
|
+
declared_secret: "The value of a secret the application or its harness declares (`requires.secrets`, the Appspec's env), by name.",
|
|
56
|
+
url_userinfo: 'A URL with userinfo (`https://user:pass@host`): the userinfo is dropped.',
|
|
57
|
+
signed_user: "The user an embed's host signed for the session (`signed`): dropped, with the entry's `user`.",
|
|
58
|
+
runtime_address: "The runtime's uid and addresses (`runs_on`, the sandbox's host): dropped from every entry.",
|
|
59
|
+
};
|
|
60
|
+
/** Said, word for word, by whoever refuses a file; `{…}` are filled in. */
|
|
61
|
+
export const SESSION_FILE_REFUSALS = {
|
|
62
|
+
unversioned: "A session file's first line is a session line that says its format, datalayer-session/1; this file's first line does not.",
|
|
63
|
+
other_version: 'The file is {format}; this runtime reads datalayer-session/1.',
|
|
64
|
+
not_a_line: 'Line {line} of the file is not a session, team_session or entry line: it says record_type {record_type!r}.',
|
|
65
|
+
unknown_kind: 'Line {line} is an entry of kind {kind!r}, which the record does not have: one of {kinds}.',
|
|
66
|
+
entry_without_at: 'Line {line} is an entry that does not say when it was recorded (`at`).',
|
|
67
|
+
team_without_seats: 'A team session line names its seats, in order, each with its session uid; this one names none.',
|
|
68
|
+
too_large: 'The file has {entries} entries over {megabytes} MB; a session file holds at most 20 000 entries in 64 MB.',
|
|
69
|
+
not_json: 'Line {line} of the file is not JSON.',
|
|
70
|
+
};
|
|
71
|
+
/** The spec's sentence for a refusal, its facts filled in. */
|
|
72
|
+
export function sessionFileRefusal(name, facts = {}) {
|
|
73
|
+
return SESSION_FILE_REFUSALS[name].replace(/\{(\w+)(?:!r)?\}/g, (whole, key) => key in facts
|
|
74
|
+
? whole.endsWith('!r}')
|
|
75
|
+
? JSON.stringify(String(facts[key])).replace(/^"|"$/g, "'")
|
|
76
|
+
: String(facts[key])
|
|
77
|
+
: whole);
|
|
78
|
+
}
|
|
79
|
+
/** The JSON Schema of one line of the file. */
|
|
80
|
+
export const SESSION_FILE_SCHEMA = {
|
|
81
|
+
$defs: {
|
|
82
|
+
EntryLine: {
|
|
83
|
+
additionalProperties: false,
|
|
84
|
+
description: 'One entry of the record, as the record holds it, redacted.',
|
|
85
|
+
properties: {
|
|
86
|
+
at: {
|
|
87
|
+
description: 'When it was recorded, ISO 8601',
|
|
88
|
+
minLength: 1,
|
|
89
|
+
title: 'At',
|
|
90
|
+
type: 'string',
|
|
91
|
+
},
|
|
92
|
+
kind: {
|
|
93
|
+
enum: [
|
|
94
|
+
'session',
|
|
95
|
+
'run',
|
|
96
|
+
'tool_call',
|
|
97
|
+
'decision',
|
|
98
|
+
'check',
|
|
99
|
+
'approval',
|
|
100
|
+
'output',
|
|
101
|
+
'feedback',
|
|
102
|
+
'turn',
|
|
103
|
+
'notification',
|
|
104
|
+
'step',
|
|
105
|
+
'thread',
|
|
106
|
+
'asked',
|
|
107
|
+
'audio',
|
|
108
|
+
'diff',
|
|
109
|
+
'terminal',
|
|
110
|
+
'file',
|
|
111
|
+
'rule',
|
|
112
|
+
'paused',
|
|
113
|
+
'ended',
|
|
114
|
+
'swapped',
|
|
115
|
+
'cloned',
|
|
116
|
+
'imported',
|
|
117
|
+
'exported',
|
|
118
|
+
'titled',
|
|
119
|
+
],
|
|
120
|
+
title: 'Kind',
|
|
121
|
+
type: 'string',
|
|
122
|
+
},
|
|
123
|
+
payload: {
|
|
124
|
+
additionalProperties: true,
|
|
125
|
+
title: 'Payload',
|
|
126
|
+
type: 'object',
|
|
127
|
+
},
|
|
128
|
+
record_type: {
|
|
129
|
+
pattern: '^entry$',
|
|
130
|
+
title: 'Record Type',
|
|
131
|
+
type: 'string',
|
|
132
|
+
},
|
|
133
|
+
summary: {
|
|
134
|
+
default: '',
|
|
135
|
+
title: 'Summary',
|
|
136
|
+
type: 'string',
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
required: ['record_type', 'kind', 'at'],
|
|
140
|
+
title: 'EntryLine',
|
|
141
|
+
type: 'object',
|
|
142
|
+
},
|
|
143
|
+
ForkedFrom: {
|
|
144
|
+
additionalProperties: false,
|
|
145
|
+
description: "A clone's source: the session, and the turn it was cut at.",
|
|
146
|
+
properties: {
|
|
147
|
+
at_turn: {
|
|
148
|
+
minimum: 0,
|
|
149
|
+
title: 'At Turn',
|
|
150
|
+
type: 'integer',
|
|
151
|
+
},
|
|
152
|
+
uid: {
|
|
153
|
+
minLength: 1,
|
|
154
|
+
title: 'Uid',
|
|
155
|
+
type: 'string',
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
required: ['uid', 'at_turn'],
|
|
159
|
+
title: 'ForkedFrom',
|
|
160
|
+
type: 'object',
|
|
161
|
+
},
|
|
162
|
+
ImportedFrom: {
|
|
163
|
+
additionalProperties: false,
|
|
164
|
+
description: "An import's source: the file's digest, when and by whom it was exported.\n\n``exported_by`` is the exporter's uid, a string — the shape the record's\n``imported`` entry and the services' listing say it in (one shape, no\nsecond one for older readers).",
|
|
165
|
+
properties: {
|
|
166
|
+
digest: {
|
|
167
|
+
pattern: '^sha256:[0-9a-f]{64}$',
|
|
168
|
+
title: 'Digest',
|
|
169
|
+
type: 'string',
|
|
170
|
+
},
|
|
171
|
+
exported_at: {
|
|
172
|
+
minLength: 1,
|
|
173
|
+
title: 'Exported At',
|
|
174
|
+
type: 'string',
|
|
175
|
+
},
|
|
176
|
+
exported_by: {
|
|
177
|
+
description: "The exporter's uid",
|
|
178
|
+
minLength: 1,
|
|
179
|
+
title: 'Exported By',
|
|
180
|
+
type: 'string',
|
|
181
|
+
},
|
|
182
|
+
},
|
|
183
|
+
required: ['digest', 'exported_at', 'exported_by'],
|
|
184
|
+
title: 'ImportedFrom',
|
|
185
|
+
type: 'object',
|
|
186
|
+
},
|
|
187
|
+
Lineage: {
|
|
188
|
+
additionalProperties: false,
|
|
189
|
+
description: 'Where a session came from: both keys said, each ``null`` when it did not.',
|
|
190
|
+
properties: {
|
|
191
|
+
forked_from: {
|
|
192
|
+
anyOf: [
|
|
193
|
+
{
|
|
194
|
+
$ref: '#/$defs/ForkedFrom',
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
type: 'null',
|
|
198
|
+
},
|
|
199
|
+
],
|
|
200
|
+
},
|
|
201
|
+
imported_from: {
|
|
202
|
+
anyOf: [
|
|
203
|
+
{
|
|
204
|
+
$ref: '#/$defs/ImportedFrom',
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
type: 'null',
|
|
208
|
+
},
|
|
209
|
+
],
|
|
210
|
+
},
|
|
211
|
+
},
|
|
212
|
+
required: ['forked_from', 'imported_from'],
|
|
213
|
+
title: 'Lineage',
|
|
214
|
+
type: 'object',
|
|
215
|
+
},
|
|
216
|
+
Owner: {
|
|
217
|
+
additionalProperties: false,
|
|
218
|
+
description: "Who a session is: a uid, never a handle (a handle is the target's to resolve).",
|
|
219
|
+
properties: {
|
|
220
|
+
uid: {
|
|
221
|
+
minLength: 1,
|
|
222
|
+
title: 'Uid',
|
|
223
|
+
type: 'string',
|
|
224
|
+
},
|
|
225
|
+
},
|
|
226
|
+
required: ['uid'],
|
|
227
|
+
title: 'Owner',
|
|
228
|
+
type: 'object',
|
|
229
|
+
},
|
|
230
|
+
SessionApp: {
|
|
231
|
+
additionalProperties: false,
|
|
232
|
+
description: 'The application a session is of, and the version it was had on.',
|
|
233
|
+
properties: {
|
|
234
|
+
id: {
|
|
235
|
+
minLength: 1,
|
|
236
|
+
title: 'Id',
|
|
237
|
+
type: 'string',
|
|
238
|
+
},
|
|
239
|
+
version: {
|
|
240
|
+
minimum: 0,
|
|
241
|
+
title: 'Version',
|
|
242
|
+
type: 'integer',
|
|
243
|
+
},
|
|
244
|
+
},
|
|
245
|
+
required: ['id', 'version'],
|
|
246
|
+
title: 'SessionApp',
|
|
247
|
+
type: 'object',
|
|
248
|
+
},
|
|
249
|
+
SessionLine: {
|
|
250
|
+
additionalProperties: false,
|
|
251
|
+
description: 'The first line: the session.',
|
|
252
|
+
properties: {
|
|
253
|
+
agent: {
|
|
254
|
+
description: 'The agentspec bound to it when exported',
|
|
255
|
+
minLength: 1,
|
|
256
|
+
title: 'Agent',
|
|
257
|
+
type: 'string',
|
|
258
|
+
},
|
|
259
|
+
app: {
|
|
260
|
+
$ref: '#/$defs/SessionApp',
|
|
261
|
+
},
|
|
262
|
+
archived: {
|
|
263
|
+
title: 'Archived',
|
|
264
|
+
type: 'boolean',
|
|
265
|
+
},
|
|
266
|
+
entries: {
|
|
267
|
+
description: 'How many entry lines follow',
|
|
268
|
+
minimum: 0,
|
|
269
|
+
title: 'Entries',
|
|
270
|
+
type: 'integer',
|
|
271
|
+
},
|
|
272
|
+
exported_at: {
|
|
273
|
+
minLength: 1,
|
|
274
|
+
title: 'Exported At',
|
|
275
|
+
type: 'string',
|
|
276
|
+
},
|
|
277
|
+
exported_by: {
|
|
278
|
+
$ref: '#/$defs/Owner',
|
|
279
|
+
},
|
|
280
|
+
format: {
|
|
281
|
+
pattern: '^datalayer-session/1$',
|
|
282
|
+
title: 'Format',
|
|
283
|
+
type: 'string',
|
|
284
|
+
},
|
|
285
|
+
harness: {
|
|
286
|
+
anyOf: [
|
|
287
|
+
{
|
|
288
|
+
type: 'string',
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
type: 'null',
|
|
292
|
+
},
|
|
293
|
+
],
|
|
294
|
+
description: 'Its harness when the agent is one; null otherwise',
|
|
295
|
+
title: 'Harness',
|
|
296
|
+
},
|
|
297
|
+
kinds: {
|
|
298
|
+
description: "The kinds the application's record keeps: what is in the file",
|
|
299
|
+
items: {
|
|
300
|
+
enum: [
|
|
301
|
+
'session',
|
|
302
|
+
'run',
|
|
303
|
+
'tool_call',
|
|
304
|
+
'decision',
|
|
305
|
+
'check',
|
|
306
|
+
'approval',
|
|
307
|
+
'output',
|
|
308
|
+
'feedback',
|
|
309
|
+
'turn',
|
|
310
|
+
'notification',
|
|
311
|
+
'step',
|
|
312
|
+
'thread',
|
|
313
|
+
'asked',
|
|
314
|
+
'audio',
|
|
315
|
+
'diff',
|
|
316
|
+
'terminal',
|
|
317
|
+
'file',
|
|
318
|
+
'rule',
|
|
319
|
+
'paused',
|
|
320
|
+
'ended',
|
|
321
|
+
'swapped',
|
|
322
|
+
'cloned',
|
|
323
|
+
'imported',
|
|
324
|
+
'exported',
|
|
325
|
+
'titled',
|
|
326
|
+
],
|
|
327
|
+
type: 'string',
|
|
328
|
+
},
|
|
329
|
+
title: 'Kinds',
|
|
330
|
+
type: 'array',
|
|
331
|
+
},
|
|
332
|
+
lineage: {
|
|
333
|
+
$ref: '#/$defs/Lineage',
|
|
334
|
+
},
|
|
335
|
+
owner: {
|
|
336
|
+
$ref: '#/$defs/Owner',
|
|
337
|
+
},
|
|
338
|
+
record_type: {
|
|
339
|
+
pattern: '^session$',
|
|
340
|
+
title: 'Record Type',
|
|
341
|
+
type: 'string',
|
|
342
|
+
},
|
|
343
|
+
redactions: {
|
|
344
|
+
description: 'How many values redaction replaced or dropped',
|
|
345
|
+
minimum: 0,
|
|
346
|
+
title: 'Redactions',
|
|
347
|
+
type: 'integer',
|
|
348
|
+
},
|
|
349
|
+
state: {
|
|
350
|
+
$ref: '#/$defs/SessionState',
|
|
351
|
+
},
|
|
352
|
+
title: {
|
|
353
|
+
maxLength: 200,
|
|
354
|
+
title: 'Title',
|
|
355
|
+
type: 'string',
|
|
356
|
+
},
|
|
357
|
+
turns: {
|
|
358
|
+
description: "The person's turns in the file: up to the last complete one",
|
|
359
|
+
minimum: 0,
|
|
360
|
+
title: 'Turns',
|
|
361
|
+
type: 'integer',
|
|
362
|
+
},
|
|
363
|
+
uid: {
|
|
364
|
+
title: 'Uid',
|
|
365
|
+
type: 'string',
|
|
366
|
+
},
|
|
367
|
+
},
|
|
368
|
+
required: [
|
|
369
|
+
'record_type',
|
|
370
|
+
'format',
|
|
371
|
+
'uid',
|
|
372
|
+
'app',
|
|
373
|
+
'agent',
|
|
374
|
+
'harness',
|
|
375
|
+
'owner',
|
|
376
|
+
'state',
|
|
377
|
+
'turns',
|
|
378
|
+
'title',
|
|
379
|
+
'archived',
|
|
380
|
+
'lineage',
|
|
381
|
+
'kinds',
|
|
382
|
+
'entries',
|
|
383
|
+
'exported_at',
|
|
384
|
+
'exported_by',
|
|
385
|
+
'redactions',
|
|
386
|
+
],
|
|
387
|
+
title: 'SessionLine',
|
|
388
|
+
type: 'object',
|
|
389
|
+
},
|
|
390
|
+
SessionState: {
|
|
391
|
+
description: "A session's state.",
|
|
392
|
+
enum: ['open', 'paused', 'ended'],
|
|
393
|
+
title: 'SessionState',
|
|
394
|
+
type: 'string',
|
|
395
|
+
},
|
|
396
|
+
TeamForkedFrom: {
|
|
397
|
+
additionalProperties: false,
|
|
398
|
+
description: "A team session clone's source: the run.",
|
|
399
|
+
properties: {
|
|
400
|
+
execution_id: {
|
|
401
|
+
minLength: 1,
|
|
402
|
+
title: 'Execution Id',
|
|
403
|
+
type: 'string',
|
|
404
|
+
},
|
|
405
|
+
},
|
|
406
|
+
required: ['execution_id'],
|
|
407
|
+
title: 'TeamForkedFrom',
|
|
408
|
+
type: 'object',
|
|
409
|
+
},
|
|
410
|
+
TeamLine: {
|
|
411
|
+
additionalProperties: false,
|
|
412
|
+
description: "The first line of a team session's file: the run, then each seat's session follows.",
|
|
413
|
+
properties: {
|
|
414
|
+
execution_id: {
|
|
415
|
+
minLength: 1,
|
|
416
|
+
title: 'Execution Id',
|
|
417
|
+
type: 'string',
|
|
418
|
+
},
|
|
419
|
+
exported_at: {
|
|
420
|
+
minLength: 1,
|
|
421
|
+
title: 'Exported At',
|
|
422
|
+
type: 'string',
|
|
423
|
+
},
|
|
424
|
+
exported_by: {
|
|
425
|
+
$ref: '#/$defs/Owner',
|
|
426
|
+
},
|
|
427
|
+
format: {
|
|
428
|
+
pattern: '^datalayer-session/1$',
|
|
429
|
+
title: 'Format',
|
|
430
|
+
type: 'string',
|
|
431
|
+
},
|
|
432
|
+
lineage: {
|
|
433
|
+
$ref: '#/$defs/TeamLineage',
|
|
434
|
+
},
|
|
435
|
+
owner: {
|
|
436
|
+
$ref: '#/$defs/Owner',
|
|
437
|
+
},
|
|
438
|
+
record_type: {
|
|
439
|
+
pattern: '^team_session$',
|
|
440
|
+
title: 'Record Type',
|
|
441
|
+
type: 'string',
|
|
442
|
+
},
|
|
443
|
+
redactions: {
|
|
444
|
+
minimum: 0,
|
|
445
|
+
title: 'Redactions',
|
|
446
|
+
type: 'integer',
|
|
447
|
+
},
|
|
448
|
+
seats: {
|
|
449
|
+
description: 'In order, each with its session uid; never empty',
|
|
450
|
+
items: {
|
|
451
|
+
$ref: '#/$defs/TeamSeat',
|
|
452
|
+
},
|
|
453
|
+
title: 'Seats',
|
|
454
|
+
type: 'array',
|
|
455
|
+
},
|
|
456
|
+
state: {
|
|
457
|
+
$ref: '#/$defs/SessionState',
|
|
458
|
+
},
|
|
459
|
+
team: {
|
|
460
|
+
$ref: '#/$defs/TeamSpecRef',
|
|
461
|
+
},
|
|
462
|
+
},
|
|
463
|
+
required: [
|
|
464
|
+
'record_type',
|
|
465
|
+
'format',
|
|
466
|
+
'execution_id',
|
|
467
|
+
'team',
|
|
468
|
+
'owner',
|
|
469
|
+
'state',
|
|
470
|
+
'seats',
|
|
471
|
+
'lineage',
|
|
472
|
+
'exported_at',
|
|
473
|
+
'exported_by',
|
|
474
|
+
'redactions',
|
|
475
|
+
],
|
|
476
|
+
title: 'TeamLine',
|
|
477
|
+
type: 'object',
|
|
478
|
+
},
|
|
479
|
+
TeamLineage: {
|
|
480
|
+
additionalProperties: false,
|
|
481
|
+
description: 'Where a team session came from.',
|
|
482
|
+
properties: {
|
|
483
|
+
forked_from: {
|
|
484
|
+
anyOf: [
|
|
485
|
+
{
|
|
486
|
+
$ref: '#/$defs/TeamForkedFrom',
|
|
487
|
+
},
|
|
488
|
+
{
|
|
489
|
+
type: 'null',
|
|
490
|
+
},
|
|
491
|
+
],
|
|
492
|
+
},
|
|
493
|
+
imported_from: {
|
|
494
|
+
anyOf: [
|
|
495
|
+
{
|
|
496
|
+
$ref: '#/$defs/ImportedFrom',
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
type: 'null',
|
|
500
|
+
},
|
|
501
|
+
],
|
|
502
|
+
},
|
|
503
|
+
},
|
|
504
|
+
required: ['forked_from', 'imported_from'],
|
|
505
|
+
title: 'TeamLineage',
|
|
506
|
+
type: 'object',
|
|
507
|
+
},
|
|
508
|
+
TeamSeat: {
|
|
509
|
+
additionalProperties: false,
|
|
510
|
+
description: 'One seat of a team session, with its session.',
|
|
511
|
+
properties: {
|
|
512
|
+
agent: {
|
|
513
|
+
minLength: 1,
|
|
514
|
+
title: 'Agent',
|
|
515
|
+
type: 'string',
|
|
516
|
+
},
|
|
517
|
+
harness: {
|
|
518
|
+
anyOf: [
|
|
519
|
+
{
|
|
520
|
+
type: 'string',
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
type: 'null',
|
|
524
|
+
},
|
|
525
|
+
],
|
|
526
|
+
title: 'Harness',
|
|
527
|
+
},
|
|
528
|
+
id: {
|
|
529
|
+
minLength: 1,
|
|
530
|
+
title: 'Id',
|
|
531
|
+
type: 'string',
|
|
532
|
+
},
|
|
533
|
+
session_uid: {
|
|
534
|
+
minLength: 1,
|
|
535
|
+
title: 'Session Uid',
|
|
536
|
+
type: 'string',
|
|
537
|
+
},
|
|
538
|
+
},
|
|
539
|
+
required: ['id', 'session_uid', 'agent', 'harness'],
|
|
540
|
+
title: 'TeamSeat',
|
|
541
|
+
type: 'object',
|
|
542
|
+
},
|
|
543
|
+
TeamSpecRef: {
|
|
544
|
+
additionalProperties: false,
|
|
545
|
+
description: 'The team spec a run was of.',
|
|
546
|
+
properties: {
|
|
547
|
+
id: {
|
|
548
|
+
minLength: 1,
|
|
549
|
+
title: 'Id',
|
|
550
|
+
type: 'string',
|
|
551
|
+
},
|
|
552
|
+
version: {
|
|
553
|
+
minLength: 1,
|
|
554
|
+
title: 'Version',
|
|
555
|
+
type: 'string',
|
|
556
|
+
},
|
|
557
|
+
},
|
|
558
|
+
required: ['id', 'version'],
|
|
559
|
+
title: 'TeamSpecRef',
|
|
560
|
+
type: 'object',
|
|
561
|
+
},
|
|
562
|
+
},
|
|
563
|
+
$id: 'https://agentspecs.datalayer.tech/schemas/session-file.json',
|
|
564
|
+
$schema: 'https://json-schema.org/draft/2020-12/schema',
|
|
565
|
+
description: 'One line of a datalayer-session/1 file: the session, the team session, or an entry.',
|
|
566
|
+
oneOf: [
|
|
567
|
+
{
|
|
568
|
+
$ref: '#/$defs/SessionLine',
|
|
569
|
+
},
|
|
570
|
+
{
|
|
571
|
+
$ref: '#/$defs/EntryLine',
|
|
572
|
+
},
|
|
573
|
+
{
|
|
574
|
+
$ref: '#/$defs/TeamLine',
|
|
575
|
+
},
|
|
576
|
+
],
|
|
577
|
+
title: 'SessionFileLine',
|
|
578
|
+
};
|
|
@@ -219,6 +219,8 @@ export interface HarnessAcpSpec {
|
|
|
219
219
|
modes: string[];
|
|
220
220
|
/** Plain variables the launch needs, never a secret. */
|
|
221
221
|
env: Record<string, string>;
|
|
222
|
+
/** Whether the adapter exposes the vendor's own session id (`meta`) or not (`none`). */
|
|
223
|
+
nativeSession: 'meta' | 'none';
|
|
222
224
|
}
|
|
223
225
|
/**
|
|
224
226
|
* An agent program driven over the Agent Client Protocol
|
|
@@ -380,6 +382,25 @@ export interface ListedHarness {
|
|
|
380
382
|
servedToThirdParties: 'api_key_only' | 'permitted' | 'refused' | 'unknown';
|
|
381
383
|
note: string;
|
|
382
384
|
}
|
|
385
|
+
/** The capabilities table of a harness (`capabilities:` in `agentspecs/harnesses`). */
|
|
386
|
+
export interface HarnessCapabilitiesSpec {
|
|
387
|
+
/** How its own session comes back after its process ended. */
|
|
388
|
+
resume: 'none' | 'load' | 'native';
|
|
389
|
+
/** What a clone carries of its history. */
|
|
390
|
+
forkHistory: 'none' | 'replay' | 'rebuild';
|
|
391
|
+
/** Whether a running turn can be cancelled. */
|
|
392
|
+
interrupt: boolean;
|
|
393
|
+
/** Whether it takes input mid-turn (false for every ACP harness). */
|
|
394
|
+
steering: boolean;
|
|
395
|
+
/** Whether a prompt may carry an image. */
|
|
396
|
+
images: boolean;
|
|
397
|
+
/** Who compacts the context window. */
|
|
398
|
+
compaction: 'own' | 'none';
|
|
399
|
+
/** The session modes a swap or a clone may set, as `acp.modes` names them. */
|
|
400
|
+
modes: string[];
|
|
401
|
+
/** The commands it runs without asking its client, one anchored regular expression per family; empty when it asks about every command. */
|
|
402
|
+
autoRun: string[];
|
|
403
|
+
}
|
|
383
404
|
export interface HarnessSpec {
|
|
384
405
|
/** What `harness:` names (e.g. 'claude-code'). */
|
|
385
406
|
id: string;
|
|
@@ -414,6 +435,11 @@ export interface HarnessSpec {
|
|
|
414
435
|
model: boolean;
|
|
415
436
|
subagents: boolean;
|
|
416
437
|
};
|
|
438
|
+
/**
|
|
439
|
+
* What a session may rely on of it (MH-20): read by swap, clone and
|
|
440
|
+
* resume instead of branching on the harness's id.
|
|
441
|
+
*/
|
|
442
|
+
capabilities: HarnessCapabilitiesSpec;
|
|
417
443
|
/** The workspace file it reads its instructions from. */
|
|
418
444
|
instructionsFile: string;
|
|
419
445
|
/** The register's line: what was checked, and where. */
|
package/lib/types/chat.d.ts
CHANGED
|
@@ -62,6 +62,22 @@ export interface ToolCallCompleteContext {
|
|
|
62
62
|
/** Error message, if the tool call failed */
|
|
63
63
|
error?: string;
|
|
64
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* A tool call said again while it runs (VSCODE VS-24): a coding agent's
|
|
67
|
+
* terminal output so far, a diff as it grows — the display its update
|
|
68
|
+
* carries (`datalayer.harness.tool_call`, SH-13), handed to the host as
|
|
69
|
+
* the stream brings it, before `onToolCallComplete`.
|
|
70
|
+
*/
|
|
71
|
+
export interface ToolCallUpdateContext {
|
|
72
|
+
/** The tool name as declared by the agent */
|
|
73
|
+
toolName: string;
|
|
74
|
+
/** Unique identifier for this tool invocation */
|
|
75
|
+
toolCallId: string;
|
|
76
|
+
/** Arguments passed to the tool, as far as they are known */
|
|
77
|
+
args: Record<string, unknown>;
|
|
78
|
+
/** The display the update carries, read strictly (`portable/displays`) */
|
|
79
|
+
display: import('../portable/displays').ProtocolDisplay;
|
|
80
|
+
}
|
|
65
81
|
/**
|
|
66
82
|
* View mode for the chat component.
|
|
67
83
|
* - 'floating': Full-height floating panel (pinned to the right edge with offset)
|
|
@@ -528,6 +544,12 @@ export interface ChatCommonProps {
|
|
|
528
544
|
onToolCallStart?: (context: ToolCallStartContext) => void;
|
|
529
545
|
/** Post-hook: fires when a tool result is received */
|
|
530
546
|
onToolCallComplete?: (context: ToolCallCompleteContext) => void;
|
|
547
|
+
/**
|
|
548
|
+
* Fires each time a running tool call's display is updated by the
|
|
549
|
+
* stream (a terminal's output as it streams, VS-24): a host drawing the
|
|
550
|
+
* display elsewhere — an editor's terminal — follows it as it comes.
|
|
551
|
+
*/
|
|
552
|
+
onToolCallUpdate?: (context: ToolCallUpdateContext) => void;
|
|
531
553
|
/** Suggestions to show in empty state */
|
|
532
554
|
suggestions?: Suggestion[];
|
|
533
555
|
/**
|
|
@@ -997,6 +1019,16 @@ export interface ChatBaseProps {
|
|
|
997
1019
|
* over. False for a host that wants the transcript bare.
|
|
998
1020
|
*/
|
|
999
1021
|
showTurnFooter?: boolean;
|
|
1022
|
+
/**
|
|
1023
|
+
* The host's row under a message, beside the chat's own (*interrupted*,
|
|
1024
|
+
* read aloud): nothing when it draws nothing. `at.turn` is the person's
|
|
1025
|
+
* turn the message belongs to — the count of their messages up to and
|
|
1026
|
+
* including it — so that an action on a turn's row names the turn
|
|
1027
|
+
* (*Clone from here*).
|
|
1028
|
+
*/
|
|
1029
|
+
renderMessageFooter?: (message: ChatMessage, at: {
|
|
1030
|
+
turn: number;
|
|
1031
|
+
}) => ReactNode;
|
|
1000
1032
|
/**
|
|
1001
1033
|
* Show notebook tool results as read-only surfaces in the transcript,
|
|
1002
1034
|
* addressed to this notebook document id.
|
|
@@ -1308,6 +1340,12 @@ export interface ChatBaseProps {
|
|
|
1308
1340
|
* ```
|
|
1309
1341
|
*/
|
|
1310
1342
|
onToolCallComplete?: (context: ToolCallCompleteContext) => void;
|
|
1343
|
+
/**
|
|
1344
|
+
* Fires each time a running tool call's display is updated by the
|
|
1345
|
+
* stream (a terminal's output as it streams, VS-24): a host drawing the
|
|
1346
|
+
* display elsewhere — an editor's terminal — follows it as it comes.
|
|
1347
|
+
*/
|
|
1348
|
+
onToolCallUpdate?: (context: ToolCallUpdateContext) => void;
|
|
1311
1349
|
/**
|
|
1312
1350
|
* The Agent Inspector's tracer: the agent's turns (`invoke_agent` spans:
|
|
1313
1351
|
* its model, its tokens) and its tool calls (`execute_tool` spans), from
|