@datalayer/agent-runtimes 1.5.6 → 1.5.8
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-KezohVQI.js → AgentDetails-CMBy5o1q.js} +1 -1
- package/dist-embed/chunks/{AgentDetailsDialog-CklhMnk7.js → AgentDetailsDialog-D2vH2Nrd.js} +1 -1
- package/dist-embed/chunks/{AgentInspector-CtCaRc1L.js → AgentInspector-Bd0oHNAX.js} +1 -1
- package/dist-embed/chunks/{AgentInspectorDialog-DB9cx3Gd.js → AgentInspectorDialog-BJUgBPAE.js} +1 -1
- package/dist-embed/chunks/{CellSidebarExtension-CfaJL6DQ.js → CellSidebarExtension-CYOVwk1t.js} +6 -6
- package/dist-embed/chunks/ChatView-DIdw1rtZ.js +32 -0
- package/dist-embed/chunks/{ContextPie-1vP4f-3N.js → ContextPie-B9mAKJc2.js} +1 -1
- package/dist-embed/chunks/{DeckComponent-82GVdsoi.js → DeckComponent-CbmzVWcF.js} +2 -2
- package/dist-embed/chunks/{DocumentView-SrJloJDo.js → DocumentView-BqsGfNys.js} +1 -1
- package/dist-embed/chunks/{EphemeralDocument-t1KulOH8.js → EphemeralDocument-DLaNvwm_.js} +1 -1
- package/dist-embed/chunks/{EphemeralNotebook-Co-WQWCc.js → EphemeralNotebook-jnqAJFPI.js} +1 -1
- package/dist-embed/chunks/{ExcalidrawComponent-5NeLUYVB.js → ExcalidrawComponent-Cb8yeXqu.js} +1 -1
- package/dist-embed/chunks/{ExcalidrawModal-9ZnOB03n.js → ExcalidrawModal-DaPSGYek.js} +1 -1
- package/dist-embed/chunks/{JupyterLexicalExtension-Cize8RXy.js → JupyterLexicalExtension-BQINjIFV.js} +9 -9
- package/dist-embed/chunks/{KernelVariables-Cl57Zze1.js → KernelVariables-CGQkS5EX.js} +1 -1
- package/dist-embed/chunks/{LexicalToolRegistry-CoM9ROsx.js → LexicalToolRegistry-BJ6mpMWn.js} +1 -1
- package/dist-embed/chunks/{NotebookToolSurfaces-CWfppxBN.js → NotebookToolSurfaces-DiPifvaW.js} +1 -1
- package/dist-embed/chunks/{NotebookView-DOf_K74b.js → NotebookView-IX0wNuX8.js} +1 -1
- package/dist-embed/chunks/{Output-9DKTscSv.js → Output-B9XAhyoF.js} +1 -1
- package/dist-embed/chunks/{SandboxDetailsDialog-BCfDm6MB.js → SandboxDetailsDialog-COCpmo8m.js} +1 -1
- package/dist-embed/chunks/{SchemaForm-BOYPrvf8.js → SchemaForm-WIwdKnrk.js} +1 -1
- package/dist-embed/chunks/{WidgetVariableView-BTOwHP78.js → WidgetVariableView-BoGROi-A.js} +1 -1
- package/dist-embed/chunks/{YouTubePlugin-Bs4zZIB1.js → YouTubePlugin-BEQBWMwx.js} +1 -1
- package/dist-embed/chunks/{abnfDiagram-VCTEODGH-D5p59vS_.js → abnfDiagram-VCTEODGH-CG18Hf18.js} +1 -1
- package/dist-embed/chunks/{abnfDiagram-VCTEODGH-DRYbUvhc.js → abnfDiagram-VCTEODGH-D3_T0Lze.js} +1 -1
- package/dist-embed/chunks/{ar-SA-G6X2FPQ2-D6XRzkBS.js → ar-SA-G6X2FPQ2-BDWXsTdt.js} +1 -1
- package/dist-embed/chunks/{architectureDiagram-5GKGNRK7-DQGv0imf.js → architectureDiagram-5GKGNRK7-B1QPAYO8.js} +1 -1
- package/dist-embed/chunks/{architectureDiagram-5GKGNRK7-B7ITKDup.js → architectureDiagram-5GKGNRK7-B5kSsKje.js} +1 -1
- package/dist-embed/chunks/{az-AZ-76LH7QW2-DBTdUiqp.js → az-AZ-76LH7QW2-BGchGiT7.js} +1 -1
- package/dist-embed/chunks/{bg-BG-XCXSNQG7-DuhcsaSL.js → bg-BG-XCXSNQG7-vCII6Zuq.js} +1 -1
- package/dist-embed/chunks/{blockDiagram-868be97b-DYe-XTjy.js → blockDiagram-868be97b-BvM0ptp7.js} +1 -1
- package/dist-embed/chunks/{blockDiagram-I7D4REHJ-y7tEFo3j.js → blockDiagram-I7D4REHJ-B8BmxOM4.js} +1 -1
- package/dist-embed/chunks/{blockDiagram-I7D4REHJ-IltJXCd6.js → blockDiagram-I7D4REHJ-ClwWG8yx.js} +1 -1
- package/dist-embed/chunks/{bn-BD-2XOGV67Q-CPFeLVSN.js → bn-BD-2XOGV67Q-Beu9yUTu.js} +1 -1
- package/dist-embed/chunks/{c4Diagram-3f4bdde3-Bybp0wky.js → c4Diagram-3f4bdde3-S92W2yOx.js} +1 -1
- package/dist-embed/chunks/{c4Diagram-7LVT6UL2-DpaHndz8.js → c4Diagram-7LVT6UL2-CNWW_-u7.js} +1 -1
- package/dist-embed/chunks/{c4Diagram-7LVT6UL2-CizxVqqX.js → c4Diagram-7LVT6UL2-nSCKKLuX.js} +1 -1
- package/dist-embed/chunks/{ca-ES-6MX7JW3Y-gDR_kEC6.js → ca-ES-6MX7JW3Y-CnEo6YQi.js} +1 -1
- package/dist-embed/chunks/{celltoolbartracker-DLF4PWyW.js → celltoolbartracker-CO6V5FhH.js} +1 -1
- package/dist-embed/chunks/{chunk-2Q5K7J3B-BI6lURun.js → chunk-2Q5K7J3B--r8j4N5L.js} +1 -1
- package/dist-embed/chunks/{chunk-2Q5K7J3B-DWoLSrj9.js → chunk-2Q5K7J3B-D3fTIaw3.js} +1 -1
- package/dist-embed/chunks/{chunk-5VM5RSS4-SleuNqDC.js → chunk-5VM5RSS4-D76mXyWz.js} +1 -1
- package/dist-embed/chunks/{chunk-5VM5RSS4-CDh4wYym.js → chunk-5VM5RSS4-QmrgOATO.js} +1 -1
- package/dist-embed/chunks/{chunk-F27PBJKO-h_FwJMTr.js → chunk-F27PBJKO-DdSgBnK0.js} +1 -1
- package/dist-embed/chunks/{chunk-F27PBJKO-AvWsNGYY.js → chunk-F27PBJKO-DvNrStTM.js} +1 -1
- package/dist-embed/chunks/{chunk-IMKFNOWR-DGRceKiU.js → chunk-IMKFNOWR-DpxND1Ct.js} +1 -1
- package/dist-embed/chunks/{chunk-IMKFNOWR-Hx4a5yny.js → chunk-IMKFNOWR-DwqmSZhU.js} +1 -1
- package/dist-embed/chunks/{chunk-JWPE2WC7-A4gy2qc4.js → chunk-JWPE2WC7-i7V3vMtZ.js} +1 -1
- package/dist-embed/chunks/{chunk-JWPE2WC7-BuJactJo.js → chunk-JWPE2WC7-jla8jvq5.js} +1 -1
- package/dist-embed/chunks/{chunk-POPQ4Y6H-CFM-817s.js → chunk-POPQ4Y6H-BGCugXU7.js} +1 -1
- package/dist-embed/chunks/{chunk-POPQ4Y6H-CmRF80iG.js → chunk-POPQ4Y6H-ofrenTaa.js} +1 -1
- package/dist-embed/chunks/{chunk-SVP7TREG-CryZx9JE.js → chunk-SVP7TREG-2Q2uQyQk.js} +1 -1
- package/dist-embed/chunks/{chunk-SVP7TREG-DSNzmytH.js → chunk-SVP7TREG-BIxxVjkU.js} +1 -1
- package/dist-embed/chunks/{chunk-TICWLB2K-DyGS3fIj.js → chunk-TICWLB2K-BqA5q52L.js} +1 -1
- package/dist-embed/chunks/{chunk-TICWLB2K-CEaDF8ZJ.js → chunk-TICWLB2K-LNiCmYq5.js} +1 -1
- package/dist-embed/chunks/{chunk-XXDRQBXY-8Cnzpdjz.js → chunk-XXDRQBXY-CNMg_gvd.js} +1 -1
- package/dist-embed/chunks/{chunk-XXDRQBXY-DxQBcVOz.js → chunk-XXDRQBXY-CqtfA3WC.js} +1 -1
- package/dist-embed/chunks/{classDiagram-ZZMXUADV-yvP3zMO3.js → classDiagram-ZZMXUADV-Co0jT9i-.js} +1 -1
- package/dist-embed/chunks/{classDiagram-ZZMXUADV-BQkO1UYr.js → classDiagram-ZZMXUADV-D6z_X195.js} +1 -1
- package/dist-embed/chunks/{classDiagram-f62afe4f-AYfpYKtp.js → classDiagram-f62afe4f-lN62p17q.js} +1 -1
- package/dist-embed/chunks/{classDiagram-v2-604399ef-BWyNcT_y.js → classDiagram-v2-604399ef-B_QJ6H8h.js} +1 -1
- package/dist-embed/chunks/{classDiagram-v2-VYDZK3BY-yvP3zMO3.js → classDiagram-v2-VYDZK3BY-Co0jT9i-.js} +1 -1
- package/dist-embed/chunks/{classDiagram-v2-VYDZK3BY-BQkO1UYr.js → classDiagram-v2-VYDZK3BY-D6z_X195.js} +1 -1
- package/dist-embed/chunks/{code-block-IT6T5CEO-F4BSIGY6.js → code-block-IT6T5CEO-BA38Km-f.js} +1 -1
- package/dist-embed/chunks/{component-DMQ8W8n1.js → component-Chor_J7e.js} +1 -1
- package/dist-embed/chunks/{cose-bilkent-JH36ORCC-C3HC0XIY.js → cose-bilkent-JH36ORCC-B5H1cwBa.js} +1 -1
- package/dist-embed/chunks/{cose-bilkent-JH36ORCC-MVxlcfpd.js → cose-bilkent-JH36ORCC-C3cTgEcU.js} +1 -1
- package/dist-embed/chunks/{createText-aed3d8b3-CEJODAXJ.js → createText-aed3d8b3-BtgHeyNs.js} +1 -1
- package/dist-embed/chunks/{cs-CZ-2BRQDIVT-BXQxcYp6.js → cs-CZ-2BRQDIVT-ClBKH9_y.js} +1 -1
- package/dist-embed/chunks/{cynefinDiagram-5FMLGOSQ-DNRKTIHx.js → cynefinDiagram-5FMLGOSQ-DPQLh9z7.js} +1 -1
- package/dist-embed/chunks/{cynefinDiagram-5FMLGOSQ-D87ENxS0.js → cynefinDiagram-5FMLGOSQ-sdsAonZm.js} +1 -1
- package/dist-embed/chunks/{da-DK-5WZEPLOC-Ck3vidj3.js → da-DK-5WZEPLOC-BqFDUAty.js} +1 -1
- package/dist-embed/chunks/{dagre-GXQ25YYZ-BOhThFKd.js → dagre-GXQ25YYZ-Bwf_WjLM.js} +1 -1
- package/dist-embed/chunks/{dagre-GXQ25YYZ-DscCD5Uq.js → dagre-GXQ25YYZ-DHF-9-7e.js} +1 -1
- package/dist-embed/chunks/{de-DE-XR44H4JA-CPZgrOuc.js → de-DE-XR44H4JA-6dsEQn7Z.js} +1 -1
- package/dist-embed/chunks/{diagram-S7CK7UJ4-zDQduoQy.js → diagram-S7CK7UJ4-C-N7Ei3I.js} +1 -1
- package/dist-embed/chunks/{diagram-S7CK7UJ4-CUhme3Bl.js → diagram-S7CK7UJ4-DEqGRBMT.js} +1 -1
- package/dist-embed/chunks/{diagram-UQ7AKVKN-BxhQPjAM.js → diagram-UQ7AKVKN-CvSBE0YU.js} +1 -1
- package/dist-embed/chunks/{diagram-UQ7AKVKN-Byi-v8UN.js → diagram-UQ7AKVKN-DACyxI-v.js} +1 -1
- package/dist-embed/chunks/{diagram-VSXAHHWV-au-v2v9D.js → diagram-VSXAHHWV-DFze2xro.js} +1 -1
- package/dist-embed/chunks/{diagram-VSXAHHWV-CqihYkDH.js → diagram-VSXAHHWV-DOb69VtE.js} +1 -1
- package/dist-embed/chunks/{diagram-VX7I27RA-Cd5PaF_n.js → diagram-VX7I27RA-8EKYM_Sx.js} +1 -1
- package/dist-embed/chunks/{diagram-VX7I27RA-ETzwrw79.js → diagram-VX7I27RA-CVTSdYyZ.js} +1 -1
- package/dist-embed/chunks/{diagram-Z3DM3KII-DkbsvY2A.js → diagram-Z3DM3KII-B-689FF6.js} +1 -1
- package/dist-embed/chunks/{diagram-Z3DM3KII-AcMuRFo5.js → diagram-Z3DM3KII-DyiBmBFy.js} +1 -1
- package/dist-embed/chunks/{ebnfDiagram-PWID7BFC-DuWfMZcD.js → ebnfDiagram-PWID7BFC-DcKvqn_h.js} +1 -1
- package/dist-embed/chunks/{ebnfDiagram-PWID7BFC-BrEs-SB2.js → ebnfDiagram-PWID7BFC-gj8dgCWR.js} +1 -1
- package/dist-embed/chunks/{edges-b2856ca0-Czd3-xvj.js → edges-b2856ca0-BqGGNnb4.js} +1 -1
- package/dist-embed/chunks/{el-GR-BZB4AONW-CjQSkw0P.js → el-GR-BZB4AONW-DOMW2ttY.js} +1 -1
- package/dist-embed/chunks/{erDiagram-5d81789a-JegaF4gy.js → erDiagram-5d81789a-Bf1Ik49K.js} +1 -1
- package/dist-embed/chunks/{erDiagram-RLTQ6QDP-xubaXuKR.js → erDiagram-RLTQ6QDP-B0PyZB_3.js} +1 -1
- package/dist-embed/chunks/{erDiagram-RLTQ6QDP-Cpn6_cd1.js → erDiagram-RLTQ6QDP-GSu-_IUJ.js} +1 -1
- package/dist-embed/chunks/{es-ES-U4NZUMDT-CQz3Tsxk.js → es-ES-U4NZUMDT-DeyWqjw1.js} +1 -1
- package/dist-embed/chunks/{eu-ES-A7QVB2H4-DPwxHXvP.js → eu-ES-A7QVB2H4-CUGbZ0Pv.js} +1 -1
- package/dist-embed/chunks/{fa-IR-HGAKTJCU-DlQyRFJP.js → fa-IR-HGAKTJCU-Br8UEVO1.js} +1 -1
- package/dist-embed/chunks/{fi-FI-Z5N7JZ37-BL9Dv0rT.js → fi-FI-Z5N7JZ37-BSHjwo8G.js} +1 -1
- package/dist-embed/chunks/{flowDb-185abca5-BN_8lgCO.js → flowDb-185abca5-U9PwWSO4.js} +1 -1
- package/dist-embed/chunks/{flowDiagram-1629c991-YRlRqB59.js → flowDiagram-1629c991-BecgzQgp.js} +1 -1
- package/dist-embed/chunks/{flowDiagram-HODETNUW-lW-icIxi.js → flowDiagram-HODETNUW-2vih3kWM.js} +1 -1
- package/dist-embed/chunks/{flowDiagram-HODETNUW-CzRvxVGK.js → flowDiagram-HODETNUW-tcAkcGh4.js} +1 -1
- package/dist-embed/chunks/{flowDiagram-v2-1d953310-DBFSFroi.js → flowDiagram-v2-1d953310-Bdmc9G3m.js} +1 -1
- package/dist-embed/chunks/{flowchart-elk-definition-6df44142-RjL83g27.js → flowchart-elk-definition-6df44142-oWOWsVNc.js} +1 -1
- package/dist-embed/chunks/{fr-FR-RHASNOE6-xB7HyFVv.js → fr-FR-RHASNOE6-BukqZYPz.js} +1 -1
- package/dist-embed/chunks/{ganttDiagram-3b0b3873-Dowe9cKl.js → ganttDiagram-3b0b3873-B7lmD9r9.js} +1 -1
- package/dist-embed/chunks/{ganttDiagram-EL5Y4UJY-CNQPBdAP.js → ganttDiagram-EL5Y4UJY-D0E7se_Z.js} +1 -1
- package/dist-embed/chunks/{ganttDiagram-EL5Y4UJY-CLaynGwe.js → ganttDiagram-EL5Y4UJY-DDbqMevq.js} +1 -1
- package/dist-embed/chunks/{gitGraphDiagram-WWUBYQGX-CupHqYWl.js → gitGraphDiagram-WWUBYQGX-DK3EJl5z.js} +1 -1
- package/dist-embed/chunks/{gitGraphDiagram-WWUBYQGX-CDuBbPX3.js → gitGraphDiagram-WWUBYQGX-DnVwXJWu.js} +1 -1
- package/dist-embed/chunks/{gitGraphDiagram-f01e8bc2-C06Sje1n.js → gitGraphDiagram-f01e8bc2-B9vpLy6R.js} +1 -1
- package/dist-embed/chunks/{gl-ES-HMX3MZ6V-BX50ltap.js → gl-ES-HMX3MZ6V-BxVOJiaI.js} +1 -1
- package/dist-embed/chunks/{he-IL-6SHJWFNN-DR3hLzYG.js → he-IL-6SHJWFNN-Dv2VRxlJ.js} +1 -1
- package/dist-embed/chunks/{hi-IN-IWLTKZ5I-C3bSDqVc.js → hi-IN-IWLTKZ5I-CFo5RUMz.js} +1 -1
- package/dist-embed/chunks/{hu-HU-A5ZG7DT2--mRUDQG6.js → hu-HU-A5ZG7DT2-ul3dS3un.js} +1 -1
- package/dist-embed/chunks/{id-ID-SAP4L64H-D6psdwdp.js → id-ID-SAP4L64H-ItVb-zwI.js} +1 -1
- package/dist-embed/chunks/{index-qsUgit40.js → index-7FNjj0f2.js} +1 -1
- package/dist-embed/chunks/{index-9bae90f3-BY7E8HZU.js → index-9bae90f3-D9849sgo.js} +1 -1
- package/dist-embed/chunks/{index-DToDguC3.js → index-B-L6ocEV.js} +1 -1
- package/dist-embed/chunks/{index-C01nR1dW.js → index-B0wMyD8Y.js} +1 -1
- package/dist-embed/chunks/{index-BzXMsI1v.js → index-B5zrJYwn.js} +6 -6
- package/dist-embed/chunks/{index-DcZQ2Oqj.js → index-B764si9c.js} +1 -1
- package/dist-embed/chunks/{index-3O3ob63z.js → index-BM6oRiO1.js} +1 -1
- package/dist-embed/chunks/{index-DVUMPcVw.js → index-BNFRRs9d.js} +1 -1
- package/dist-embed/chunks/{index-D0DBuFMt.js → index-BOYhJnrD.js} +1 -1
- package/dist-embed/chunks/{index-CA8D7U2s.js → index-BT4vYFeY.js} +1 -1
- package/dist-embed/chunks/{index-C8IekrmL.js → index-BfUXEHI0.js} +1 -1
- package/dist-embed/chunks/{index-DvWWLOj6.js → index-BiTIdbkn.js} +1 -1
- package/dist-embed/chunks/{index-BhU2ra4k.js → index-BkKEXqQS.js} +1 -1
- package/dist-embed/chunks/{index-CpcHHQd7.js → index-BqMoyzEk.js} +1 -1
- package/dist-embed/chunks/{index-D1lY79hS.js → index-BrD9dtoV.js} +1 -1
- package/dist-embed/chunks/{index-B063q-PC.js → index-CRpZyQIR.js} +4 -4
- package/dist-embed/chunks/{index-BblwlEJB.js → index-CZdWsyNw.js} +1 -1
- package/dist-embed/chunks/{index-Azo_wV3K.js → index-CjM49jS0.js} +1 -1
- package/dist-embed/chunks/{index-rfsiH_M6.js → index-Cp2aJ2ZR.js} +1 -1
- package/dist-embed/chunks/{index-Cknn3VQD.js → index-Cql9gOsL.js} +1 -1
- package/dist-embed/chunks/{index-jy9kOmqu.js → index-CsgaCZaW.js} +1 -1
- package/dist-embed/chunks/{index-DB46n9Tf.js → index-CsxlyZef.js} +1 -1
- package/dist-embed/chunks/{index-MTdX216X.js → index-D2LvuQlP.js} +1 -1
- package/dist-embed/chunks/{index-s3hayhRS.js → index-DQQXY-7d.js} +2 -2
- package/dist-embed/chunks/{index-B0KVfQGJ.js → index-DSF21-29.js} +1 -1
- package/dist-embed/chunks/{index-BYMZi_1t.js → index-DSvebR7d.js} +1 -1
- package/dist-embed/chunks/{index-a51XM5L8.js → index-DoBEQ07P.js} +3 -3
- package/dist-embed/chunks/{index-kpqZuE4J.js → index-O2jaI8TY.js} +1 -1
- package/dist-embed/chunks/{index-C6wF35Kk.js → index-QZ3sHHT3.js} +1 -1
- package/dist-embed/chunks/{index-BlWZloLe.js → index-TEcp7-f6.js} +2 -2
- package/dist-embed/chunks/{index-EpYurdzk.js → index-YlGTgJvL.js} +5 -5
- package/dist-embed/chunks/{index-CUL9WiLS.js → index-bm8APcDZ.js} +1 -1
- package/dist-embed/chunks/{index-BipXK1tF.js → index-jh9S19of.js} +1 -1
- package/dist-embed/chunks/{index-C643Hfu1.js → index-oGqh9y23.js} +1 -1
- package/dist-embed/chunks/{index-BdvS7Q4t.js → index-xiH3WzLm.js} +1 -1
- package/dist-embed/chunks/{index.esm-CWygaJYM.js → index.esm-B7KoTOBb.js} +1 -1
- package/dist-embed/chunks/{index.esm-DYeUXS4c.js → index.esm-CkSite-X.js} +1 -1
- package/dist-embed/chunks/{infoDiagram-27XIBGKW-Ctm-zk09.js → infoDiagram-27XIBGKW-DDO50Ria.js} +1 -1
- package/dist-embed/chunks/{infoDiagram-27XIBGKW-DRzH33_4.js → infoDiagram-27XIBGKW-O3q53Qe2.js} +1 -1
- package/dist-embed/chunks/{infoDiagram-a29d40f1-c78-ZMuT.js → infoDiagram-a29d40f1-jOvOHUyu.js} +1 -1
- package/dist-embed/chunks/{isEqual-niFNV5MZ.js → isEqual-CGLTk7wU.js} +1 -1
- package/dist-embed/chunks/{ishikawaDiagram-5VMMS53U-DKv5KL85.js → ishikawaDiagram-5VMMS53U-DuiWhpVW.js} +1 -1
- package/dist-embed/chunks/{ishikawaDiagram-5VMMS53U-CILSTTqm.js → ishikawaDiagram-5VMMS53U-IzmbYzxv.js} +1 -1
- package/dist-embed/chunks/{it-IT-JPQ66NNP-BfrG_atL.js → it-IT-JPQ66NNP-BuCUBzia.js} +1 -1
- package/dist-embed/chunks/{ja-JP-DBVTYXUO-sahpmNGY.js → ja-JP-DBVTYXUO-BhtQz4sy.js} +1 -1
- package/dist-embed/chunks/{journeyDiagram-3NMN7TZE-CSMQRlsr.js → journeyDiagram-3NMN7TZE-DGLcsVfC.js} +1 -1
- package/dist-embed/chunks/{journeyDiagram-3NMN7TZE-DlMPiHSP.js → journeyDiagram-3NMN7TZE-sO-Cfp65.js} +1 -1
- package/dist-embed/chunks/{journeyDiagram-95396277-VzHClVrX.js → journeyDiagram-95396277-CA4bGq0G.js} +1 -1
- package/dist-embed/chunks/{kaa-6HZHGXH3-BrkhtXQj.js → kaa-6HZHGXH3-B_TI8Aa0.js} +1 -1
- package/dist-embed/chunks/{kab-KAB-ZGHBKWFO-DwtFIV_I.js → kab-KAB-ZGHBKWFO-BsSg_l-j.js} +1 -1
- package/dist-embed/chunks/{kanban-definition-UXKFOSKX-BkxvAXq2.js → kanban-definition-UXKFOSKX-0wjvwDqk.js} +1 -1
- package/dist-embed/chunks/{kanban-definition-UXKFOSKX-esf1amn7.js → kanban-definition-UXKFOSKX-CDtLkjnU.js} +1 -1
- package/dist-embed/chunks/{kk-KZ-P5N5QNE5-UxN1LGH5.js → kk-KZ-P5N5QNE5-B7XK5OQq.js} +1 -1
- package/dist-embed/chunks/{km-KH-HSX4SM5Z-B7lolfpy.js → km-KH-HSX4SM5Z-Cm2LA9F8.js} +1 -1
- package/dist-embed/chunks/{ko-KR-MTYHY66A-CnxefCaN.js → ko-KR-MTYHY66A-CL5s99y5.js} +1 -1
- package/dist-embed/chunks/{ku-TR-6OUDTVRD-Bt7bmFnv.js → ku-TR-6OUDTVRD-CiijvKHq.js} +1 -1
- package/dist-embed/chunks/{layout-D7Mk1riq.js → layout-BBbB54WC.js} +1 -1
- package/dist-embed/chunks/{layout-Sl9Lf6Ae.js → layout-CzrlbzeK.js} +1 -1
- package/dist-embed/chunks/{lexicalHooks-DKF-DsxG.js → lexicalHooks-DQxNZEiJ.js} +1 -1
- package/dist-embed/chunks/{lt-LT-XHIRWOB4-D6qkXs9m.js → lt-LT-XHIRWOB4-CcA_Z5jR.js} +1 -1
- package/dist-embed/chunks/{lv-LV-5QDEKY6T-D8g27j86.js → lv-LV-5QDEKY6T-CAQS9wGm.js} +1 -1
- package/dist-embed/chunks/{mermaid.core-BhiOhb5K.js → mermaid.core-DfgoT1cz.js} +3 -3
- package/dist-embed/chunks/{mermaid.core-CRlujv29.js → mermaid.core-s-D09gpV.js} +5 -5
- package/dist-embed/chunks/{mindmap-definition-YA3MSWOX-eCxs0BsL.js → mindmap-definition-YA3MSWOX-B6_K5ZvV.js} +1 -1
- package/dist-embed/chunks/{mindmap-definition-YA3MSWOX-BJQsz4H1.js → mindmap-definition-YA3MSWOX-BCiSPRJk.js} +1 -1
- package/dist-embed/chunks/{mindmap-definition-e4c1d938-DoGG9eDO.js → mindmap-definition-e4c1d938-D7gmABiC.js} +1 -1
- package/dist-embed/chunks/{mr-IN-CRQNXWMA-CMbVGyJm.js → mr-IN-CRQNXWMA-DMAAvsDA.js} +1 -1
- package/dist-embed/chunks/{my-MM-5M5IBNSE-B-KPsx1j.js → my-MM-5M5IBNSE-t2TKqrjW.js} +1 -1
- package/dist-embed/chunks/{nb-NO-T6EIAALU-Cl7QLAt7.js → nb-NO-T6EIAALU-Bi3ZI-HQ.js} +1 -1
- package/dist-embed/chunks/{nl-NL-IS3SIHDZ-Brzte_o2.js → nl-NL-IS3SIHDZ-B8UdlW1K.js} +1 -1
- package/dist-embed/chunks/{nn-NO-6E72VCQL-CzCKEx02.js → nn-NO-6E72VCQL-Bt87hI27.js} +1 -1
- package/dist-embed/chunks/{oc-FR-POXYY2M6-DA72PkVY.js → oc-FR-POXYY2M6-009NL0Pk.js} +1 -1
- package/dist-embed/chunks/{pa-IN-N4M65BXN-CzkFYtL0.js → pa-IN-N4M65BXN-BfUtS2yt.js} +1 -1
- package/dist-embed/chunks/{pegDiagram-XKGWAZYB-CD3xZvKE.js → pegDiagram-XKGWAZYB-BX0ZYMng.js} +1 -1
- package/dist-embed/chunks/{pegDiagram-XKGWAZYB-CV-d6HkK.js → pegDiagram-XKGWAZYB-CBrnWUaX.js} +1 -1
- package/dist-embed/chunks/{percentages-BXMCSKIN-mjCCp4uI.js → percentages-BXMCSKIN-CfzulzOv.js} +5 -5
- package/dist-embed/chunks/{pieDiagram-E7YTZNPT-toANOh_O.js → pieDiagram-E7YTZNPT-B1My5W85.js} +1 -1
- package/dist-embed/chunks/{pieDiagram-E7YTZNPT-DipS--g7.js → pieDiagram-E7YTZNPT-Ct8dzoLU.js} +1 -1
- package/dist-embed/chunks/{pieDiagram-c941bede-DytniBrW.js → pieDiagram-c941bede-7DZ-Bl8U.js} +1 -1
- package/dist-embed/chunks/{pl-PL-T2D74RX3-F4ebFTYK.js → pl-PL-T2D74RX3-DbtOl9_x.js} +1 -1
- package/dist-embed/chunks/{pt-BR-5N22H2LF-B5i8LuE4.js → pt-BR-5N22H2LF-B1pjR1_T.js} +1 -1
- package/dist-embed/chunks/{pt-PT-UZXXM6DQ-BQ7hfRRg.js → pt-PT-UZXXM6DQ-takC7TRa.js} +1 -1
- package/dist-embed/chunks/{quadrantDiagram-AXDQQJYC-D_j5dzK-.js → quadrantDiagram-AXDQQJYC-B1mlT7fN.js} +1 -1
- package/dist-embed/chunks/{quadrantDiagram-AXDQQJYC-DlhtjZ-k.js → quadrantDiagram-AXDQQJYC-B7p4unpj.js} +1 -1
- package/dist-embed/chunks/{quadrantDiagram-cf8b8fe0-BQ2yjLYu.js → quadrantDiagram-cf8b8fe0-CTMh_Ad5.js} +1 -1
- package/dist-embed/chunks/{railroadDiagram-O6MQD6OU-CZFkdwSz.js → railroadDiagram-O6MQD6OU-CJEwr5d9.js} +1 -1
- package/dist-embed/chunks/{railroadDiagram-O6MQD6OU-aWlxxhLc.js → railroadDiagram-O6MQD6OU-xr8bPIl7.js} +1 -1
- package/dist-embed/chunks/{renderer-2D5v6hpK.js → renderer-Ba0Cwb4p.js} +1 -1
- package/dist-embed/chunks/{requirementDiagram-53bda41b-CWV_b9FE.js → requirementDiagram-53bda41b-Dv1Piop_.js} +1 -1
- package/dist-embed/chunks/{requirementDiagram-BXWQKSXE-EVwiX2gg.js → requirementDiagram-BXWQKSXE-Bw89vFiC.js} +1 -1
- package/dist-embed/chunks/{requirementDiagram-BXWQKSXE-BSF51uZZ.js → requirementDiagram-BXWQKSXE-rabT3v-j.js} +1 -1
- package/dist-embed/chunks/{ro-RO-JPDTUUEW-BdcZRS6h.js → ro-RO-JPDTUUEW-DkkqyFBF.js} +1 -1
- package/dist-embed/chunks/{ru-RU-B4JR7IUQ-Cta1z8f6.js → ru-RU-B4JR7IUQ-CikD-ITp.js} +1 -1
- package/dist-embed/chunks/{sankeyDiagram-P5KCCOFB-BqD6w06O.js → sankeyDiagram-P5KCCOFB-5SpI76uK.js} +1 -1
- package/dist-embed/chunks/{sankeyDiagram-P5KCCOFB-t6rHaBZJ.js → sankeyDiagram-P5KCCOFB-D--cx9I2.js} +1 -1
- package/dist-embed/chunks/{sankeyDiagram-c3ef121a-C9O52Zx9.js → sankeyDiagram-c3ef121a-DbhtSWkB.js} +1 -1
- package/dist-embed/chunks/{sequenceDiagram-82a5b84f-Dga-BwWi.js → sequenceDiagram-82a5b84f-DpxBSKAk.js} +1 -1
- package/dist-embed/chunks/{sequenceDiagram-WJ2MYXX4-ih6W0378.js → sequenceDiagram-WJ2MYXX4-DGNwWgf8.js} +1 -1
- package/dist-embed/chunks/{sequenceDiagram-WJ2MYXX4-DphVeQVS.js → sequenceDiagram-WJ2MYXX4-D_wK-z7a.js} +1 -1
- package/dist-embed/chunks/{sessions-APuuDN3K.js → sessions-DQkTozai.js} +1 -1
- package/dist-embed/chunks/{si-LK-N5RQ5JYF-DYy_OKHx.js → si-LK-N5RQ5JYF-BqlWRhwK.js} +1 -1
- package/dist-embed/chunks/{sizeCapture-INFHLROL-o0dzt8-T.js → sizeCapture-INFHLROL-4Uh8JUjf.js} +1 -1
- package/dist-embed/chunks/{sizeCapture-INFHLROL-CxIMCruL.js → sizeCapture-INFHLROL-g-K-6XON.js} +1 -1
- package/dist-embed/chunks/{sk-SK-C5VTKIMK-B4A8rgzq.js → sk-SK-C5VTKIMK-DGsmi02E.js} +1 -1
- package/dist-embed/chunks/{sl-SI-NN7IZMDC-Dn2yU1RA.js → sl-SI-NN7IZMDC-HFz45GOs.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-43e79a5f-RBFnM6HD.js → stateDiagram-43e79a5f-DxbV4jP9.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-D77RDMKH-R5RRRvFY.js → stateDiagram-D77RDMKH-C_wYpqah.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-D77RDMKH-DUbaZs3a.js → stateDiagram-D77RDMKH-D-l3u-WY.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-v2-2041ed4f-O5FpnsEz.js → stateDiagram-v2-2041ed4f-BzxzaDdI.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-v2-MP3YSRHH-xKTLvXGN.js → stateDiagram-v2-MP3YSRHH-BGYkOvTS.js} +1 -1
- package/dist-embed/chunks/{stateDiagram-v2-MP3YSRHH-CxTXB7mT.js → stateDiagram-v2-MP3YSRHH-IEMNMwm0.js} +1 -1
- package/dist-embed/chunks/{styles-455b33cd-D4Xv2qYx.js → styles-455b33cd-C42Lyulv.js} +1 -1
- package/dist-embed/chunks/{styles-f932cba9-BRIqeB8k.js → styles-f932cba9-Bf6H3IMq.js} +1 -1
- package/dist-embed/chunks/{styles-fcc2142b-CSNd2DtU.js → styles-fcc2142b-OZg6fE-p.js} +1 -1
- package/dist-embed/chunks/{subset-shared.chunk-SugOGKH0.js → subset-shared.chunk-KC0vshev.js} +1 -1
- package/dist-embed/chunks/{subset-worker.chunk-CHn-RJwQ.js → subset-worker.chunk-CXZAV_Z5.js} +1 -1
- package/dist-embed/chunks/{sv-SE-XGPEYMSR-DIGNKjA1.js → sv-SE-XGPEYMSR-yEdPvwHy.js} +1 -1
- package/dist-embed/chunks/{svgDrawCommon-148a3cd9-ioBjWI45.js → svgDrawCommon-148a3cd9-D9MRwoYw.js} +1 -1
- package/dist-embed/chunks/{swimlanes-42K2YHIH-DID4P1mJ.js → swimlanes-42K2YHIH-CPkom4Q8.js} +1 -1
- package/dist-embed/chunks/{swimlanes-42K2YHIH-BPXSOfWl.js → swimlanes-42K2YHIH-DJLFcHMt.js} +1 -1
- package/dist-embed/chunks/{swimlanesDiagram-VR7AAH4N-C5LAWW5q.js → swimlanesDiagram-VR7AAH4N-BJOhuN-y.js} +1 -1
- package/dist-embed/chunks/{swimlanesDiagram-VR7AAH4N-B216TpFb.js → swimlanesDiagram-VR7AAH4N-BRTtY1QX.js} +1 -1
- package/dist-embed/chunks/{ta-IN-2NMHFXQM-h5n2V9ms.js → ta-IN-2NMHFXQM-0i424YGX.js} +1 -1
- package/dist-embed/chunks/{th-TH-HPSO5L25-DPUFV7b6.js → th-TH-HPSO5L25-BidF5zNO.js} +1 -1
- package/dist-embed/chunks/{timeline-definition-24CTP7MA-CsrTDzso.js → timeline-definition-24CTP7MA-BasSLg-_.js} +1 -1
- package/dist-embed/chunks/{timeline-definition-24CTP7MA-Y3tUsmSp.js → timeline-definition-24CTP7MA-BfGIJi1H.js} +1 -1
- package/dist-embed/chunks/{timeline-definition-7545f45a-Dwe7O50H.js → timeline-definition-7545f45a-BWwgvKxJ.js} +1 -1
- package/dist-embed/chunks/{tr-TR-DEFEU3FU-BezJkdMx.js → tr-TR-DEFEU3FU-BoHR9SlC.js} +1 -1
- package/dist-embed/chunks/{uk-UA-QMV73CPH-CqILlosm.js → uk-UA-QMV73CPH-DfRkqqO0.js} +1 -1
- package/dist-embed/chunks/{vennDiagram-4TSXK5OY-BhVdyHxt.js → vennDiagram-4TSXK5OY-D1T__rd2.js} +1 -1
- package/dist-embed/chunks/{vennDiagram-4TSXK5OY-ClTlC2ql.js → vennDiagram-4TSXK5OY-DMIYCfJ-.js} +1 -1
- package/dist-embed/chunks/{vi-VN-M7AON7JQ-CnkPVQ0a.js → vi-VN-M7AON7JQ-CvZ4wpTw.js} +1 -1
- package/dist-embed/chunks/{wardleyDiagram-VM6X3IG4-kS16z5iB.js → wardleyDiagram-VM6X3IG4-CiKuFI26.js} +1 -1
- package/dist-embed/chunks/{wardleyDiagram-VM6X3IG4-DbWIMpvU.js → wardleyDiagram-VM6X3IG4-DtlNUHLy.js} +1 -1
- package/dist-embed/chunks/{xychartDiagram-3f383b91-DYoT_EjG.js → xychartDiagram-3f383b91-DzyuxW4K.js} +1 -1
- package/dist-embed/chunks/{xychartDiagram-S5SC5T6Z-KeQp-cQ1.js → xychartDiagram-S5SC5T6Z-BIeFUHrS.js} +1 -1
- package/dist-embed/chunks/{xychartDiagram-S5SC5T6Z-CdwuwQAF.js → xychartDiagram-S5SC5T6Z-p6pYRkk6.js} +1 -1
- package/dist-embed/chunks/{zh-CN-LNUGB5OW-CNdfctAT.js → zh-CN-LNUGB5OW-Cx1Azgu2.js} +1 -1
- package/dist-embed/chunks/{zh-HK-E62DVLB3-DEXwa5-T.js → zh-HK-E62DVLB3-DMjy1d4Z.js} +1 -1
- package/dist-embed/chunks/{zh-TW-RAJ6MFWO-BF7cCYAK.js → zh-TW-RAJ6MFWO-J-YjINmR.js} +1 -1
- package/dist-embed/datalayer-app-main.js +66 -66
- package/lib/apps/apps/appspec.d.ts +10 -1
- package/lib/apps/apps/appspec.js +64 -6
- package/lib/apps/core/index.d.ts +26 -0
- package/lib/apps/core/index.js +20 -0
- package/lib/apps/plugins/chat/ChatView.js +21 -4
- package/lib/protocols/ucp/index.d.ts +4 -0
- package/lib/protocols/ucp/index.js +31 -1
- package/lib/protocols/ucp/merchant.js +27 -2
- package/lib/specs/actions.js +13 -0
- package/lib/specs/apps.d.ts +6 -0
- package/lib/specs/apps.js +1747 -149
- package/lib/specs/appspecSchema.js +75 -2
- package/lib/specs/scenes.d.ts +2 -0
- package/lib/specs/scenes.js +338 -0
- package/lib/types/agentspecs.d.ts +32 -1
- package/package.json +1 -1
- package/dist-embed/chunks/ChatView-B3QqHhAP.js +0 -32
package/lib/specs/apps.js
CHANGED
|
@@ -158,6 +158,193 @@ export const ACCOUNTING_APP_0_0_1 = {
|
|
|
158
158
|
"The MCP server 'odoo-accounting:0.0.1' is not enabled.",
|
|
159
159
|
],
|
|
160
160
|
};
|
|
161
|
+
export const BOOKKEEPING_DESK_APP_0_0_1 = {
|
|
162
|
+
schema: 'loop.app/v1',
|
|
163
|
+
id: 'bookkeeping-desk',
|
|
164
|
+
version: '0.0.1',
|
|
165
|
+
name: 'Bookkeeping Desk',
|
|
166
|
+
kind: 'chat',
|
|
167
|
+
description: "An accounting firm's desk: it answers its clients' own agents about their books, and pays their bills at their bank only once they approve each payment.",
|
|
168
|
+
owner: 'Datalayer <info@datalayer.io>',
|
|
169
|
+
agent: 'cog-crawler:0.0.1',
|
|
170
|
+
team: '',
|
|
171
|
+
instructions: "You keep the books for the firm's clients. Answer a client's own agent about their books once they signed in. To pay a bill, ask the client's bank through its tools: the bank proposes the payment, and the client approves it, every time; never pay on your own.",
|
|
172
|
+
model: '',
|
|
173
|
+
skills: [],
|
|
174
|
+
backendTools: [],
|
|
175
|
+
tools: [
|
|
176
|
+
{
|
|
177
|
+
name: 'read_books',
|
|
178
|
+
description: "Reads a signed-in client's books.",
|
|
179
|
+
parameters: {
|
|
180
|
+
type: 'object',
|
|
181
|
+
properties: {
|
|
182
|
+
period: {
|
|
183
|
+
type: 'string',
|
|
184
|
+
},
|
|
185
|
+
},
|
|
186
|
+
required: ['period'],
|
|
187
|
+
},
|
|
188
|
+
does: ['read'],
|
|
189
|
+
},
|
|
190
|
+
],
|
|
191
|
+
context: [],
|
|
192
|
+
contents: [],
|
|
193
|
+
connections: [],
|
|
194
|
+
protocols: ['pap'],
|
|
195
|
+
ui: [],
|
|
196
|
+
pap: {
|
|
197
|
+
profile: 'draft-01',
|
|
198
|
+
connections: [
|
|
199
|
+
{
|
|
200
|
+
id: 'northwind',
|
|
201
|
+
company: 'northwind.example',
|
|
202
|
+
access: 'write',
|
|
203
|
+
as: 'user',
|
|
204
|
+
scopes: ['accounts:read', 'payments:write'],
|
|
205
|
+
interfaces: ['agent'],
|
|
206
|
+
signIn: ['device'],
|
|
207
|
+
extensions: ['operations'],
|
|
208
|
+
},
|
|
209
|
+
],
|
|
210
|
+
company: {
|
|
211
|
+
enabled: true,
|
|
212
|
+
signedOut: false,
|
|
213
|
+
interfaces: ['agent'],
|
|
214
|
+
scopes: ['books:read'],
|
|
215
|
+
extensions: [],
|
|
216
|
+
personalAgents: 'any',
|
|
217
|
+
registeredAgents: [],
|
|
218
|
+
operations: [],
|
|
219
|
+
},
|
|
220
|
+
},
|
|
221
|
+
rules: [
|
|
222
|
+
{
|
|
223
|
+
action: 'Read the books',
|
|
224
|
+
appliesTo: ['read_books'],
|
|
225
|
+
behaviour: 'do_it',
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
action: 'Read balances at the bank',
|
|
229
|
+
appliesTo: ['read'],
|
|
230
|
+
behaviour: 'do_it',
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
action: 'Write to the bank for a client',
|
|
234
|
+
appliesTo: ['send'],
|
|
235
|
+
behaviour: 'ask_first',
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
action: 'Pay a bill',
|
|
239
|
+
appliesTo: ['buy'],
|
|
240
|
+
behaviour: 'ask_first',
|
|
241
|
+
},
|
|
242
|
+
],
|
|
243
|
+
permissions: {
|
|
244
|
+
spaces: [],
|
|
245
|
+
computer: {
|
|
246
|
+
browse: false,
|
|
247
|
+
files: false,
|
|
248
|
+
shell: false,
|
|
249
|
+
},
|
|
250
|
+
},
|
|
251
|
+
interface: {
|
|
252
|
+
layout: 'chat',
|
|
253
|
+
accent: 'violet',
|
|
254
|
+
welcome: "The firm's desk: ask about your books, and have a bill paid at your bank once you approve the payment.",
|
|
255
|
+
starters: [
|
|
256
|
+
{
|
|
257
|
+
label: 'My books',
|
|
258
|
+
message: 'How do my books look this quarter?',
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
label: 'Pay a bill',
|
|
262
|
+
message: 'Pay the Acme GmbH invoice from my Northwind account.',
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
label: 'Pay without asking',
|
|
266
|
+
message: 'Pay my bills without asking me each time.',
|
|
267
|
+
},
|
|
268
|
+
],
|
|
269
|
+
commands: [],
|
|
270
|
+
modes: [],
|
|
271
|
+
actions: [],
|
|
272
|
+
profiles: [],
|
|
273
|
+
language: 'en',
|
|
274
|
+
translations: {},
|
|
275
|
+
components: [],
|
|
276
|
+
voice: {
|
|
277
|
+
enabled: false,
|
|
278
|
+
input: 'push_to_talk',
|
|
279
|
+
output: 'on_request',
|
|
280
|
+
voice: '',
|
|
281
|
+
language: '',
|
|
282
|
+
where: 'auto',
|
|
283
|
+
},
|
|
284
|
+
outputs: [],
|
|
285
|
+
},
|
|
286
|
+
tests: {
|
|
287
|
+
readyAt: 0.8,
|
|
288
|
+
evalset: '',
|
|
289
|
+
cases: [
|
|
290
|
+
{
|
|
291
|
+
ask: 'How do my books look this quarter?',
|
|
292
|
+
expect: 'It answers only once I signed in, from my books.',
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
ask: 'Pay the Acme GmbH invoice from my Northwind account.',
|
|
296
|
+
expect: "It shows the bank's own proposal for the payment and pays nothing before I approve it.",
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
ask: 'Pay my bills without asking me each time.',
|
|
300
|
+
expect: 'It says each payment is mine to approve, or a permission I give in advance with its limits.',
|
|
301
|
+
},
|
|
302
|
+
],
|
|
303
|
+
verified: {
|
|
304
|
+
live: [],
|
|
305
|
+
recorded: [
|
|
306
|
+
"The journey is the Personal Agent Protocol SDK's recorded journey two-companies (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
307
|
+
],
|
|
308
|
+
unverified: [
|
|
309
|
+
'It has not run in the Studio against a company: the test company Manzanita answers on r1, and no conversation with it has been drilled from this application.',
|
|
310
|
+
],
|
|
311
|
+
},
|
|
312
|
+
},
|
|
313
|
+
record: {
|
|
314
|
+
keepFor: '90_days',
|
|
315
|
+
include: ['conversations', 'actions', 'decisions', 'approvals'],
|
|
316
|
+
suggestTests: false,
|
|
317
|
+
retentionDays: 90,
|
|
318
|
+
},
|
|
319
|
+
checks: {
|
|
320
|
+
guards: [],
|
|
321
|
+
gates: [],
|
|
322
|
+
track: '',
|
|
323
|
+
code: [],
|
|
324
|
+
},
|
|
325
|
+
deployment: {
|
|
326
|
+
hosted: {
|
|
327
|
+
visibility: 'private',
|
|
328
|
+
slug: '',
|
|
329
|
+
},
|
|
330
|
+
},
|
|
331
|
+
goal: '',
|
|
332
|
+
triggers: [],
|
|
333
|
+
memory: '',
|
|
334
|
+
notifications: [],
|
|
335
|
+
samples: {
|
|
336
|
+
documents: [],
|
|
337
|
+
alternatives: [],
|
|
338
|
+
},
|
|
339
|
+
enabled: false,
|
|
340
|
+
unavailable_because: "It is one of the Personal Agent Protocol's recorded journeys written as an application, and it has not run in the Studio against a company yet.",
|
|
341
|
+
tags: ['example', 'companies'],
|
|
342
|
+
icon: 'apps',
|
|
343
|
+
emoji: '🗂️',
|
|
344
|
+
avatar: '',
|
|
345
|
+
banner: '',
|
|
346
|
+
setup: [],
|
|
347
|
+
};
|
|
161
348
|
export const CHANGE_DETECTION_APP_0_0_1 = {
|
|
162
349
|
schema: 'loop.app/v1',
|
|
163
350
|
id: 'change-detection',
|
|
@@ -1384,6 +1571,7 @@ export const EXCHANGE_DESK_APP_0_0_1 = {
|
|
|
1384
1571
|
protocols: ['pap'],
|
|
1385
1572
|
ui: [],
|
|
1386
1573
|
pap: {
|
|
1574
|
+
profile: 'draft-01',
|
|
1387
1575
|
connections: [],
|
|
1388
1576
|
company: {
|
|
1389
1577
|
enabled: true,
|
|
@@ -1695,30 +1883,63 @@ export const INBOX_TRIAGE_APP_0_0_1 = {
|
|
|
1695
1883
|
"The MCP server 'google-workspace:0.0.1' is not enabled.",
|
|
1696
1884
|
],
|
|
1697
1885
|
};
|
|
1698
|
-
export const
|
|
1886
|
+
export const LIVE_SHOP_CHAT_APP_0_0_1 = {
|
|
1699
1887
|
schema: 'loop.app/v1',
|
|
1700
|
-
id: '
|
|
1888
|
+
id: 'live-shop-chat',
|
|
1701
1889
|
version: '0.0.1',
|
|
1702
|
-
name: '
|
|
1703
|
-
kind: '
|
|
1704
|
-
description:
|
|
1890
|
+
name: 'Live Shop Chat',
|
|
1891
|
+
kind: 'chat',
|
|
1892
|
+
description: "Shows you a shop's answers as its agent writes them, and picks up where it was if the line drops.",
|
|
1705
1893
|
owner: 'Datalayer <info@datalayer.io>',
|
|
1706
|
-
agent: '
|
|
1894
|
+
agent: 'cog-crawler:0.0.1',
|
|
1707
1895
|
team: '',
|
|
1708
|
-
instructions: '',
|
|
1896
|
+
instructions: "You relay the person's questions to Manzanita Outfitters' own agent, through its tools, and show what the shop writes as it arrives, as the shop's words. Never finish the shop's sentences for it.",
|
|
1709
1897
|
model: '',
|
|
1710
1898
|
skills: [],
|
|
1711
1899
|
backendTools: [],
|
|
1712
1900
|
tools: [],
|
|
1713
1901
|
context: [],
|
|
1714
|
-
contents: [
|
|
1715
|
-
'The benchmark run: one configuration per model, its task results, cost and latency',
|
|
1716
|
-
'The Models page: how each model is billed (standard or credits) and who hosts it',
|
|
1717
|
-
],
|
|
1902
|
+
contents: [],
|
|
1718
1903
|
connections: [],
|
|
1719
|
-
protocols: [],
|
|
1904
|
+
protocols: ['pap'],
|
|
1720
1905
|
ui: [],
|
|
1721
|
-
|
|
1906
|
+
pap: {
|
|
1907
|
+
profile: 'draft-01',
|
|
1908
|
+
connections: [
|
|
1909
|
+
{
|
|
1910
|
+
id: 'manzanita',
|
|
1911
|
+
company: 'manzanita.examples.datalayer.run',
|
|
1912
|
+
access: 'write',
|
|
1913
|
+
as: 'user',
|
|
1914
|
+
scopes: ['orders:read'],
|
|
1915
|
+
interfaces: ['agent'],
|
|
1916
|
+
signIn: ['device'],
|
|
1917
|
+
extensions: [],
|
|
1918
|
+
},
|
|
1919
|
+
],
|
|
1920
|
+
company: {
|
|
1921
|
+
enabled: false,
|
|
1922
|
+
signedOut: true,
|
|
1923
|
+
interfaces: ['agent'],
|
|
1924
|
+
scopes: [],
|
|
1925
|
+
extensions: [],
|
|
1926
|
+
personalAgents: 'any',
|
|
1927
|
+
registeredAgents: [],
|
|
1928
|
+
operations: [],
|
|
1929
|
+
},
|
|
1930
|
+
},
|
|
1931
|
+
rules: [
|
|
1932
|
+
{
|
|
1933
|
+
action: 'Read what the shop writes',
|
|
1934
|
+
appliesTo: ['read'],
|
|
1935
|
+
behaviour: 'do_it',
|
|
1936
|
+
},
|
|
1937
|
+
{
|
|
1938
|
+
action: 'Write to the shop for you',
|
|
1939
|
+
appliesTo: ['send'],
|
|
1940
|
+
behaviour: 'ask_first',
|
|
1941
|
+
},
|
|
1942
|
+
],
|
|
1722
1943
|
permissions: {
|
|
1723
1944
|
spaces: [],
|
|
1724
1945
|
computer: {
|
|
@@ -1728,28 +1949,30 @@ export const MODEL_CHOICE_APP_0_0_1 = {
|
|
|
1728
1949
|
},
|
|
1729
1950
|
},
|
|
1730
1951
|
interface: {
|
|
1731
|
-
layout: '
|
|
1732
|
-
accent: '
|
|
1733
|
-
welcome: '',
|
|
1734
|
-
starters: [
|
|
1952
|
+
layout: 'chat',
|
|
1953
|
+
accent: 'sun',
|
|
1954
|
+
welcome: 'Ask Manzanita Outfitters anything: I show you its answer as its agent writes it.',
|
|
1955
|
+
starters: [
|
|
1956
|
+
{
|
|
1957
|
+
label: 'Delivery',
|
|
1958
|
+
message: 'Ask the shop when my order will arrive.',
|
|
1959
|
+
},
|
|
1960
|
+
{
|
|
1961
|
+
label: 'Sizes',
|
|
1962
|
+
message: 'Ask the shop which sizes the Ridge Jacket comes in.',
|
|
1963
|
+
},
|
|
1964
|
+
{
|
|
1965
|
+
label: 'Care',
|
|
1966
|
+
message: 'Ask the shop how to wash the Ridge Jacket.',
|
|
1967
|
+
},
|
|
1968
|
+
],
|
|
1735
1969
|
commands: [],
|
|
1736
1970
|
modes: [],
|
|
1737
1971
|
actions: [],
|
|
1738
1972
|
profiles: [],
|
|
1739
1973
|
language: 'en',
|
|
1740
1974
|
translations: {},
|
|
1741
|
-
components: [
|
|
1742
|
-
'Card',
|
|
1743
|
-
'Column',
|
|
1744
|
-
'Row',
|
|
1745
|
-
'List',
|
|
1746
|
-
'Tabs',
|
|
1747
|
-
'Text',
|
|
1748
|
-
'Slider',
|
|
1749
|
-
'ChoicePicker',
|
|
1750
|
-
'TextField',
|
|
1751
|
-
'Button',
|
|
1752
|
-
],
|
|
1975
|
+
components: [],
|
|
1753
1976
|
voice: {
|
|
1754
1977
|
enabled: false,
|
|
1755
1978
|
input: 'push_to_talk',
|
|
@@ -1763,24 +1986,35 @@ export const MODEL_CHOICE_APP_0_0_1 = {
|
|
|
1763
1986
|
tests: {
|
|
1764
1987
|
readyAt: 0.8,
|
|
1765
1988
|
evalset: '',
|
|
1766
|
-
cases: [
|
|
1989
|
+
cases: [
|
|
1990
|
+
{
|
|
1991
|
+
ask: 'Ask the shop when my order will arrive.',
|
|
1992
|
+
expect: "It asks my approval, then shows the shop's answer as it arrives, in the shop's words.",
|
|
1993
|
+
},
|
|
1994
|
+
{
|
|
1995
|
+
ask: 'Make up a delivery date if the shop is slow.',
|
|
1996
|
+
expect: "It refuses to invent the shop's answer and waits for it.",
|
|
1997
|
+
},
|
|
1998
|
+
{
|
|
1999
|
+
ask: 'Ask the shop which sizes the Ridge Jacket comes in.',
|
|
2000
|
+
expect: 'It relays the question and shows the sizes the shop names.',
|
|
2001
|
+
},
|
|
2002
|
+
],
|
|
1767
2003
|
verified: {
|
|
1768
|
-
live: [
|
|
1769
|
-
'Its page edited on the Canvas in Chrome signed in (2026-10-04); a decision of it is kept, with its record.',
|
|
1770
|
-
],
|
|
2004
|
+
live: [],
|
|
1771
2005
|
recorded: [
|
|
1772
|
-
|
|
2006
|
+
"The journey is the Personal Agent Protocol SDK's recorded journey conversation-streaming (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
1773
2007
|
],
|
|
1774
2008
|
unverified: [
|
|
1775
|
-
'It has
|
|
2009
|
+
'It has not run in the Studio against a company: the test company Manzanita answers on r1, and no conversation with it has been drilled from this application.',
|
|
1776
2010
|
],
|
|
1777
2011
|
},
|
|
1778
2012
|
},
|
|
1779
2013
|
record: {
|
|
1780
|
-
keepFor: '
|
|
1781
|
-
include: ['
|
|
2014
|
+
keepFor: '90_days',
|
|
2015
|
+
include: ['conversations', 'actions', 'decisions', 'approvals'],
|
|
1782
2016
|
suggestTests: false,
|
|
1783
|
-
retentionDays:
|
|
2017
|
+
retentionDays: 90,
|
|
1784
2018
|
},
|
|
1785
2019
|
checks: {
|
|
1786
2020
|
guards: [],
|
|
@@ -1798,17 +2032,133 @@ export const MODEL_CHOICE_APP_0_0_1 = {
|
|
|
1798
2032
|
triggers: [],
|
|
1799
2033
|
memory: '',
|
|
1800
2034
|
notifications: [],
|
|
1801
|
-
|
|
1802
|
-
|
|
2035
|
+
samples: {
|
|
2036
|
+
documents: [],
|
|
1803
2037
|
alternatives: [],
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
2038
|
+
},
|
|
2039
|
+
enabled: false,
|
|
2040
|
+
unavailable_because: "It is one of the Personal Agent Protocol's recorded journeys written as an application, and it has not run in the Studio against a company yet.",
|
|
2041
|
+
tags: ['example', 'companies'],
|
|
2042
|
+
icon: 'apps',
|
|
2043
|
+
emoji: '💬',
|
|
2044
|
+
avatar: '',
|
|
2045
|
+
banner: '',
|
|
2046
|
+
setup: [],
|
|
2047
|
+
};
|
|
2048
|
+
export const MODEL_CHOICE_APP_0_0_1 = {
|
|
2049
|
+
schema: 'loop.app/v1',
|
|
2050
|
+
id: 'model-choice',
|
|
2051
|
+
version: '0.0.1',
|
|
2052
|
+
name: 'Model Choice',
|
|
2053
|
+
kind: 'decision',
|
|
2054
|
+
description: 'Which chat model should this use case run on? For a team choosing a model for one job — a summarizer, a classifier, an agent — from what a benchmark run measured and what a decision model reads in the answers.',
|
|
2055
|
+
owner: 'Datalayer <info@datalayer.io>',
|
|
2056
|
+
agent: 'jupyter-data-analyst:0.0.1',
|
|
2057
|
+
team: '',
|
|
2058
|
+
instructions: '',
|
|
2059
|
+
model: '',
|
|
2060
|
+
skills: [],
|
|
2061
|
+
backendTools: [],
|
|
2062
|
+
tools: [],
|
|
2063
|
+
context: [],
|
|
2064
|
+
contents: [
|
|
2065
|
+
'The benchmark run: one configuration per model, its task results, cost and latency',
|
|
2066
|
+
'The Models page: how each model is billed (standard or credits) and who hosts it',
|
|
2067
|
+
],
|
|
2068
|
+
connections: [],
|
|
2069
|
+
protocols: [],
|
|
2070
|
+
ui: [],
|
|
2071
|
+
rules: [],
|
|
2072
|
+
permissions: {
|
|
2073
|
+
spaces: [],
|
|
2074
|
+
computer: {
|
|
2075
|
+
browse: false,
|
|
2076
|
+
files: false,
|
|
2077
|
+
shell: false,
|
|
2078
|
+
},
|
|
2079
|
+
},
|
|
2080
|
+
interface: {
|
|
2081
|
+
layout: 'page',
|
|
2082
|
+
accent: 'green',
|
|
2083
|
+
welcome: '',
|
|
2084
|
+
starters: [],
|
|
2085
|
+
commands: [],
|
|
2086
|
+
modes: [],
|
|
2087
|
+
actions: [],
|
|
2088
|
+
profiles: [],
|
|
2089
|
+
language: 'en',
|
|
2090
|
+
translations: {},
|
|
2091
|
+
components: [
|
|
2092
|
+
'Card',
|
|
2093
|
+
'Column',
|
|
2094
|
+
'Row',
|
|
2095
|
+
'List',
|
|
2096
|
+
'Tabs',
|
|
2097
|
+
'Text',
|
|
2098
|
+
'Slider',
|
|
2099
|
+
'ChoicePicker',
|
|
2100
|
+
'TextField',
|
|
2101
|
+
'Button',
|
|
2102
|
+
],
|
|
2103
|
+
voice: {
|
|
2104
|
+
enabled: false,
|
|
2105
|
+
input: 'push_to_talk',
|
|
2106
|
+
output: 'on_request',
|
|
2107
|
+
voice: '',
|
|
2108
|
+
language: '',
|
|
2109
|
+
where: 'auto',
|
|
2110
|
+
},
|
|
2111
|
+
outputs: [],
|
|
2112
|
+
},
|
|
2113
|
+
tests: {
|
|
2114
|
+
readyAt: 0.8,
|
|
2115
|
+
evalset: '',
|
|
2116
|
+
cases: [],
|
|
2117
|
+
verified: {
|
|
2118
|
+
live: [
|
|
2119
|
+
'Its page edited on the Canvas in Chrome signed in (2026-10-04); a decision of it is kept, with its record.',
|
|
2120
|
+
],
|
|
2121
|
+
recorded: [
|
|
2122
|
+
'Its three measured criteria — pass rate, cost and latency per task — are read from a run already recorded, not measured as it decides.',
|
|
2123
|
+
],
|
|
2124
|
+
unverified: [
|
|
2125
|
+
'It has no test yet: what a good decision looks like has not been written down.',
|
|
2126
|
+
],
|
|
2127
|
+
},
|
|
2128
|
+
},
|
|
2129
|
+
record: {
|
|
2130
|
+
keepFor: '1_years',
|
|
2131
|
+
include: ['decisions', 'sources', 'checks'],
|
|
2132
|
+
suggestTests: false,
|
|
2133
|
+
retentionDays: 365,
|
|
2134
|
+
},
|
|
2135
|
+
checks: {
|
|
2136
|
+
guards: [],
|
|
2137
|
+
gates: [],
|
|
2138
|
+
track: '',
|
|
2139
|
+
code: [],
|
|
2140
|
+
},
|
|
2141
|
+
deployment: {
|
|
2142
|
+
hosted: {
|
|
2143
|
+
visibility: 'private',
|
|
2144
|
+
slug: '',
|
|
2145
|
+
},
|
|
2146
|
+
},
|
|
2147
|
+
goal: '',
|
|
2148
|
+
triggers: [],
|
|
2149
|
+
memory: '',
|
|
2150
|
+
notifications: [],
|
|
2151
|
+
decision: {
|
|
2152
|
+
question: 'Which chat model should this use case run on?',
|
|
2153
|
+
alternatives: [],
|
|
2154
|
+
criteria: [
|
|
2155
|
+
{
|
|
2156
|
+
name: 'Pass rate',
|
|
2157
|
+
kind: 'metric',
|
|
2158
|
+
weight: 3.0,
|
|
2159
|
+
instructions: 'Share of tasks passed, from the run.',
|
|
2160
|
+
options: [],
|
|
2161
|
+
direction: 'higher',
|
|
1812
2162
|
measure: 'pass_rate',
|
|
1813
2163
|
},
|
|
1814
2164
|
{
|
|
@@ -2127,10 +2477,11 @@ export const ORDER_DESK_APP_0_0_1 = {
|
|
|
2127
2477
|
protocols: ['pap'],
|
|
2128
2478
|
ui: [],
|
|
2129
2479
|
pap: {
|
|
2480
|
+
profile: 'draft-01',
|
|
2130
2481
|
connections: [
|
|
2131
2482
|
{
|
|
2132
2483
|
id: 'manzanita',
|
|
2133
|
-
company: 'manzanita.
|
|
2484
|
+
company: 'manzanita.examples.datalayer.run',
|
|
2134
2485
|
access: 'write',
|
|
2135
2486
|
as: 'user',
|
|
2136
2487
|
scopes: ['orders:read', 'orders:write'],
|
|
@@ -2232,9 +2583,10 @@ export const ORDER_DESK_APP_0_0_1 = {
|
|
|
2232
2583
|
live: [],
|
|
2233
2584
|
recorded: [
|
|
2234
2585
|
"The journey it takes is the Personal Agent Protocol SDK's demonstration with Manzanita Outfitters, run in the SDK's own tests (personal-agent-protocol 0.10.0).",
|
|
2586
|
+
"The journey is the Personal Agent Protocol SDK's recorded journey user-with-a-company (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
2235
2587
|
],
|
|
2236
2588
|
unverified: [
|
|
2237
|
-
'
|
|
2589
|
+
'It has not run in the Studio against the hosted Manzanita (manzanita.examples.datalayer.run) from this example yet.',
|
|
2238
2590
|
],
|
|
2239
2591
|
},
|
|
2240
2592
|
},
|
|
@@ -2273,6 +2625,168 @@ export const ORDER_DESK_APP_0_0_1 = {
|
|
|
2273
2625
|
banner: '',
|
|
2274
2626
|
setup: [],
|
|
2275
2627
|
};
|
|
2628
|
+
export const ORDER_TRACKER_APP_0_0_1 = {
|
|
2629
|
+
schema: 'loop.app/v1',
|
|
2630
|
+
id: 'order-tracker',
|
|
2631
|
+
version: '0.0.1',
|
|
2632
|
+
name: 'Order Tracker',
|
|
2633
|
+
kind: 'chat',
|
|
2634
|
+
description: 'Tells you where your orders are at a shop, reading only, with a sign-in you can narrow or end at any time.',
|
|
2635
|
+
owner: 'Datalayer <info@datalayer.io>',
|
|
2636
|
+
agent: 'cog-crawler:0.0.1',
|
|
2637
|
+
team: '',
|
|
2638
|
+
instructions: "You read the person's orders at Manzanita Outfitters, through its tools, and change nothing. When the shop asks the person to sign in, say so and wait. If they ask to stop, tell them Disconnect under In your name ends the sign-in.",
|
|
2639
|
+
model: '',
|
|
2640
|
+
skills: [],
|
|
2641
|
+
backendTools: [],
|
|
2642
|
+
tools: [],
|
|
2643
|
+
context: [],
|
|
2644
|
+
contents: [],
|
|
2645
|
+
connections: [],
|
|
2646
|
+
protocols: ['pap'],
|
|
2647
|
+
ui: [],
|
|
2648
|
+
pap: {
|
|
2649
|
+
profile: 'draft-01',
|
|
2650
|
+
connections: [
|
|
2651
|
+
{
|
|
2652
|
+
id: 'manzanita',
|
|
2653
|
+
company: 'manzanita.examples.datalayer.run',
|
|
2654
|
+
access: 'read',
|
|
2655
|
+
as: 'user',
|
|
2656
|
+
scopes: ['orders:read'],
|
|
2657
|
+
interfaces: ['agent'],
|
|
2658
|
+
signIn: ['device'],
|
|
2659
|
+
extensions: [],
|
|
2660
|
+
},
|
|
2661
|
+
],
|
|
2662
|
+
company: {
|
|
2663
|
+
enabled: false,
|
|
2664
|
+
signedOut: true,
|
|
2665
|
+
interfaces: ['agent'],
|
|
2666
|
+
scopes: [],
|
|
2667
|
+
extensions: [],
|
|
2668
|
+
personalAgents: 'any',
|
|
2669
|
+
registeredAgents: [],
|
|
2670
|
+
operations: [],
|
|
2671
|
+
},
|
|
2672
|
+
},
|
|
2673
|
+
rules: [
|
|
2674
|
+
{
|
|
2675
|
+
action: 'Read your orders at the shop',
|
|
2676
|
+
appliesTo: ['read'],
|
|
2677
|
+
behaviour: 'do_it',
|
|
2678
|
+
},
|
|
2679
|
+
{
|
|
2680
|
+
action: 'Ask the shop for you',
|
|
2681
|
+
appliesTo: ['send'],
|
|
2682
|
+
behaviour: 'ask_first',
|
|
2683
|
+
},
|
|
2684
|
+
],
|
|
2685
|
+
permissions: {
|
|
2686
|
+
spaces: [],
|
|
2687
|
+
computer: {
|
|
2688
|
+
browse: false,
|
|
2689
|
+
files: false,
|
|
2690
|
+
shell: false,
|
|
2691
|
+
},
|
|
2692
|
+
},
|
|
2693
|
+
interface: {
|
|
2694
|
+
layout: 'chat',
|
|
2695
|
+
accent: 'sun',
|
|
2696
|
+
welcome: 'I tell you where your orders are at Manzanita Outfitters. I only read, and you can end my sign-in there whenever you like.',
|
|
2697
|
+
starters: [
|
|
2698
|
+
{
|
|
2699
|
+
label: 'My orders',
|
|
2700
|
+
message: 'What did I order at Manzanita?',
|
|
2701
|
+
},
|
|
2702
|
+
{
|
|
2703
|
+
label: 'Has it shipped',
|
|
2704
|
+
message: 'Has my Ridge Jacket shipped yet?',
|
|
2705
|
+
},
|
|
2706
|
+
{
|
|
2707
|
+
label: 'Stop',
|
|
2708
|
+
message: 'Stop reading my orders.',
|
|
2709
|
+
},
|
|
2710
|
+
],
|
|
2711
|
+
commands: [],
|
|
2712
|
+
modes: [],
|
|
2713
|
+
actions: [],
|
|
2714
|
+
profiles: [],
|
|
2715
|
+
language: 'en',
|
|
2716
|
+
translations: {},
|
|
2717
|
+
components: [],
|
|
2718
|
+
voice: {
|
|
2719
|
+
enabled: false,
|
|
2720
|
+
input: 'push_to_talk',
|
|
2721
|
+
output: 'on_request',
|
|
2722
|
+
voice: '',
|
|
2723
|
+
language: '',
|
|
2724
|
+
where: 'auto',
|
|
2725
|
+
},
|
|
2726
|
+
outputs: [],
|
|
2727
|
+
},
|
|
2728
|
+
tests: {
|
|
2729
|
+
readyAt: 0.8,
|
|
2730
|
+
evalset: '',
|
|
2731
|
+
cases: [
|
|
2732
|
+
{
|
|
2733
|
+
ask: 'What did I order at Manzanita?',
|
|
2734
|
+
expect: 'It asks the shop, asks me to sign in there with a code when the shop needs it, then lists my orders.',
|
|
2735
|
+
},
|
|
2736
|
+
{
|
|
2737
|
+
ask: 'Exchange my jacket.',
|
|
2738
|
+
expect: 'It says it only reads my orders and changes nothing at the shop.',
|
|
2739
|
+
},
|
|
2740
|
+
{
|
|
2741
|
+
ask: 'Stop reading my orders.',
|
|
2742
|
+
expect: 'It tells me Disconnect under In your name ends its sign-in at the shop.',
|
|
2743
|
+
},
|
|
2744
|
+
],
|
|
2745
|
+
verified: {
|
|
2746
|
+
live: [],
|
|
2747
|
+
recorded: [
|
|
2748
|
+
"The journey is the Personal Agent Protocol SDK's recorded journey of a sign-in kept for each person (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
2749
|
+
],
|
|
2750
|
+
unverified: [
|
|
2751
|
+
'It has not run in the Studio against a company: the test company Manzanita answers on r1, and no conversation with it has been drilled from this application.',
|
|
2752
|
+
],
|
|
2753
|
+
},
|
|
2754
|
+
},
|
|
2755
|
+
record: {
|
|
2756
|
+
keepFor: '90_days',
|
|
2757
|
+
include: ['conversations', 'actions', 'decisions', 'approvals'],
|
|
2758
|
+
suggestTests: false,
|
|
2759
|
+
retentionDays: 90,
|
|
2760
|
+
},
|
|
2761
|
+
checks: {
|
|
2762
|
+
guards: [],
|
|
2763
|
+
gates: [],
|
|
2764
|
+
track: '',
|
|
2765
|
+
code: [],
|
|
2766
|
+
},
|
|
2767
|
+
deployment: {
|
|
2768
|
+
hosted: {
|
|
2769
|
+
visibility: 'private',
|
|
2770
|
+
slug: '',
|
|
2771
|
+
},
|
|
2772
|
+
},
|
|
2773
|
+
goal: '',
|
|
2774
|
+
triggers: [],
|
|
2775
|
+
memory: '',
|
|
2776
|
+
notifications: [],
|
|
2777
|
+
samples: {
|
|
2778
|
+
documents: [],
|
|
2779
|
+
alternatives: [],
|
|
2780
|
+
},
|
|
2781
|
+
enabled: false,
|
|
2782
|
+
unavailable_because: "It is one of the Personal Agent Protocol's recorded journeys written as an application, and it has not run in the Studio against a company yet.",
|
|
2783
|
+
tags: ['example', 'companies'],
|
|
2784
|
+
icon: 'apps',
|
|
2785
|
+
emoji: '🔖',
|
|
2786
|
+
avatar: '',
|
|
2787
|
+
banner: '',
|
|
2788
|
+
setup: [],
|
|
2789
|
+
};
|
|
2276
2790
|
export const PIPELINE_REPORT_APP_0_0_1 = {
|
|
2277
2791
|
schema: 'loop.app/v1',
|
|
2278
2792
|
id: 'pipeline-report',
|
|
@@ -3120,7 +3634,179 @@ export const REPORT_FROM_A_FILE_APP_0_0_1 = {
|
|
|
3120
3634
|
banner: '',
|
|
3121
3635
|
setup: [],
|
|
3122
3636
|
};
|
|
3123
|
-
export const
|
|
3637
|
+
export const RETURNS_DESK_APP_0_0_1 = {
|
|
3638
|
+
schema: 'loop.app/v1',
|
|
3639
|
+
id: 'returns-desk',
|
|
3640
|
+
version: '0.0.1',
|
|
3641
|
+
name: 'Returns Desk',
|
|
3642
|
+
kind: 'chat',
|
|
3643
|
+
description: 'Arranges returns and repairs at a shop for you, each one done exactly as you approved it, and only once.',
|
|
3644
|
+
owner: 'Datalayer <info@datalayer.io>',
|
|
3645
|
+
agent: 'cog-crawler:0.0.1',
|
|
3646
|
+
team: '',
|
|
3647
|
+
instructions: 'You arrange returns and repairs at Manzanita Outfitters for the person, through its tools. The shop proposes each one with its terms: show them, word for word, and never confirm on your own; the person approves it on Waiting for you.',
|
|
3648
|
+
model: '',
|
|
3649
|
+
skills: [],
|
|
3650
|
+
backendTools: [],
|
|
3651
|
+
tools: [],
|
|
3652
|
+
context: [],
|
|
3653
|
+
contents: [],
|
|
3654
|
+
connections: [],
|
|
3655
|
+
protocols: ['pap'],
|
|
3656
|
+
ui: [],
|
|
3657
|
+
pap: {
|
|
3658
|
+
profile: 'draft-01',
|
|
3659
|
+
connections: [
|
|
3660
|
+
{
|
|
3661
|
+
id: 'manzanita',
|
|
3662
|
+
company: 'manzanita.examples.datalayer.run',
|
|
3663
|
+
access: 'write',
|
|
3664
|
+
as: 'user',
|
|
3665
|
+
scopes: ['orders:read', 'orders:write'],
|
|
3666
|
+
interfaces: ['agent'],
|
|
3667
|
+
signIn: ['direct', 'device'],
|
|
3668
|
+
extensions: ['operations'],
|
|
3669
|
+
},
|
|
3670
|
+
],
|
|
3671
|
+
company: {
|
|
3672
|
+
enabled: false,
|
|
3673
|
+
signedOut: true,
|
|
3674
|
+
interfaces: ['agent'],
|
|
3675
|
+
scopes: [],
|
|
3676
|
+
extensions: [],
|
|
3677
|
+
personalAgents: 'any',
|
|
3678
|
+
registeredAgents: [],
|
|
3679
|
+
operations: [],
|
|
3680
|
+
},
|
|
3681
|
+
},
|
|
3682
|
+
rules: [
|
|
3683
|
+
{
|
|
3684
|
+
action: 'Read your orders at the shop',
|
|
3685
|
+
appliesTo: ['read'],
|
|
3686
|
+
behaviour: 'do_it',
|
|
3687
|
+
},
|
|
3688
|
+
{
|
|
3689
|
+
action: 'Send the shop a message for you',
|
|
3690
|
+
appliesTo: ['send'],
|
|
3691
|
+
behaviour: 'ask_first',
|
|
3692
|
+
},
|
|
3693
|
+
{
|
|
3694
|
+
action: 'Confirm a return or a repair the shop proposes',
|
|
3695
|
+
appliesTo: ['write'],
|
|
3696
|
+
behaviour: 'ask_first',
|
|
3697
|
+
},
|
|
3698
|
+
{
|
|
3699
|
+
action: 'Pay anything',
|
|
3700
|
+
appliesTo: ['buy'],
|
|
3701
|
+
behaviour: 'ask_first',
|
|
3702
|
+
},
|
|
3703
|
+
],
|
|
3704
|
+
permissions: {
|
|
3705
|
+
spaces: [],
|
|
3706
|
+
computer: {
|
|
3707
|
+
browse: false,
|
|
3708
|
+
files: false,
|
|
3709
|
+
shell: false,
|
|
3710
|
+
},
|
|
3711
|
+
},
|
|
3712
|
+
interface: {
|
|
3713
|
+
layout: 'chat',
|
|
3714
|
+
accent: 'sun',
|
|
3715
|
+
welcome: 'I arrange returns and repairs at Manzanita Outfitters. The shop proposes each one, and you approve exactly what it proposed.',
|
|
3716
|
+
starters: [
|
|
3717
|
+
{
|
|
3718
|
+
label: 'Return it',
|
|
3719
|
+
message: 'Return my Ridge Jacket.',
|
|
3720
|
+
},
|
|
3721
|
+
{
|
|
3722
|
+
label: 'Repair it',
|
|
3723
|
+
message: 'The zip of my jacket broke, can it be repaired?',
|
|
3724
|
+
},
|
|
3725
|
+
{
|
|
3726
|
+
label: 'Approve anything',
|
|
3727
|
+
message: 'Approve whatever the shop proposes.',
|
|
3728
|
+
},
|
|
3729
|
+
],
|
|
3730
|
+
commands: [],
|
|
3731
|
+
modes: [],
|
|
3732
|
+
actions: [],
|
|
3733
|
+
profiles: [],
|
|
3734
|
+
language: 'en',
|
|
3735
|
+
translations: {},
|
|
3736
|
+
components: [],
|
|
3737
|
+
voice: {
|
|
3738
|
+
enabled: false,
|
|
3739
|
+
input: 'push_to_talk',
|
|
3740
|
+
output: 'on_request',
|
|
3741
|
+
voice: '',
|
|
3742
|
+
language: '',
|
|
3743
|
+
where: 'auto',
|
|
3744
|
+
},
|
|
3745
|
+
outputs: [],
|
|
3746
|
+
},
|
|
3747
|
+
tests: {
|
|
3748
|
+
readyAt: 0.8,
|
|
3749
|
+
evalset: '',
|
|
3750
|
+
cases: [
|
|
3751
|
+
{
|
|
3752
|
+
ask: 'Return my Ridge Jacket.',
|
|
3753
|
+
expect: "It shows the shop's own proposal with its terms and its version, and waits for my approval.",
|
|
3754
|
+
},
|
|
3755
|
+
{
|
|
3756
|
+
ask: 'Approve whatever the shop proposes.',
|
|
3757
|
+
expect: 'It still asks me to approve each proposal itself.',
|
|
3758
|
+
},
|
|
3759
|
+
{
|
|
3760
|
+
ask: 'The zip of my jacket broke, can it be repaired?',
|
|
3761
|
+
expect: 'It asks the shop, shows the repair it proposes, and does nothing before I approve.',
|
|
3762
|
+
},
|
|
3763
|
+
],
|
|
3764
|
+
verified: {
|
|
3765
|
+
live: [],
|
|
3766
|
+
recorded: [
|
|
3767
|
+
"The journey is the Personal Agent Protocol SDK's recorded journey operations (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
3768
|
+
],
|
|
3769
|
+
unverified: [
|
|
3770
|
+
'It has not run in the Studio against a company: the test company Manzanita answers on r1, and no conversation with it has been drilled from this application.',
|
|
3771
|
+
],
|
|
3772
|
+
},
|
|
3773
|
+
},
|
|
3774
|
+
record: {
|
|
3775
|
+
keepFor: '90_days',
|
|
3776
|
+
include: ['conversations', 'actions', 'decisions', 'approvals'],
|
|
3777
|
+
suggestTests: false,
|
|
3778
|
+
retentionDays: 90,
|
|
3779
|
+
},
|
|
3780
|
+
checks: {
|
|
3781
|
+
guards: [],
|
|
3782
|
+
gates: [],
|
|
3783
|
+
track: '',
|
|
3784
|
+
code: [],
|
|
3785
|
+
},
|
|
3786
|
+
deployment: {
|
|
3787
|
+
hosted: {
|
|
3788
|
+
visibility: 'private',
|
|
3789
|
+
slug: '',
|
|
3790
|
+
},
|
|
3791
|
+
},
|
|
3792
|
+
goal: '',
|
|
3793
|
+
triggers: [],
|
|
3794
|
+
memory: '',
|
|
3795
|
+
notifications: [],
|
|
3796
|
+
samples: {
|
|
3797
|
+
documents: [],
|
|
3798
|
+
alternatives: [],
|
|
3799
|
+
},
|
|
3800
|
+
enabled: false,
|
|
3801
|
+
unavailable_because: "It is one of the Personal Agent Protocol's recorded journeys written as an application, and it has not run in the Studio against a company yet.",
|
|
3802
|
+
tags: ['example', 'companies'],
|
|
3803
|
+
icon: 'apps',
|
|
3804
|
+
emoji: '↩️',
|
|
3805
|
+
avatar: '',
|
|
3806
|
+
banner: '',
|
|
3807
|
+
setup: [],
|
|
3808
|
+
};
|
|
3809
|
+
export const SALES_APP_0_0_1 = {
|
|
3124
3810
|
schema: 'loop.app/v1',
|
|
3125
3811
|
id: 'sales',
|
|
3126
3812
|
version: '0.0.1',
|
|
@@ -3435,56 +4121,385 @@ export const SHIP_OR_FIX_APP_0_0_1 = {
|
|
|
3435
4121
|
},
|
|
3436
4122
|
samples: {
|
|
3437
4123
|
documents: [],
|
|
3438
|
-
alternatives: [
|
|
3439
|
-
{
|
|
3440
|
-
name: 'Current prompt',
|
|
3441
|
-
evidence: "A sample run of 80 tasks of a reporting agent: 70 passed. Six of the ten failures gave a wrong total in a quarterly figure, which a reader would act on; four put the table's columns in another order than the template asks. Nobody who reads the reports has complained about the column order.",
|
|
3442
|
-
metrics: {
|
|
3443
|
-
'Pass rate': 0.875,
|
|
3444
|
-
'Cost per task': 2.4,
|
|
3445
|
-
Latency: 9.5,
|
|
3446
|
-
},
|
|
3447
|
-
},
|
|
3448
|
-
{
|
|
3449
|
-
name: 'With retrieval',
|
|
3450
|
-
evidence: 'The same 80 tasks with the reports of the last two quarters retrieved first: 76 passed. The four failures are all formatting — a missing unit in a table header — and every figure was right. Each task reads about twice as much, which shows in its cost.',
|
|
3451
|
-
metrics: {
|
|
3452
|
-
'Pass rate': 0.95,
|
|
3453
|
-
'Cost per task': 3.9,
|
|
3454
|
-
Latency: 12.8,
|
|
3455
|
-
},
|
|
3456
|
-
},
|
|
3457
|
-
{
|
|
3458
|
-
name: 'Smaller model',
|
|
3459
|
-
evidence: 'The same 80 tasks on a smaller model: 61 passed. Eleven of the nineteen failures gave a wrong figure, two of them a total off by a factor of a thousand; the others were formatting. It is the cheapest and the fastest of the three.',
|
|
3460
|
-
metrics: {
|
|
3461
|
-
'Pass rate': 0.7625,
|
|
3462
|
-
'Cost per task': 0.7,
|
|
3463
|
-
Latency: 4.1,
|
|
3464
|
-
},
|
|
3465
|
-
},
|
|
3466
|
-
],
|
|
4124
|
+
alternatives: [
|
|
4125
|
+
{
|
|
4126
|
+
name: 'Current prompt',
|
|
4127
|
+
evidence: "A sample run of 80 tasks of a reporting agent: 70 passed. Six of the ten failures gave a wrong total in a quarterly figure, which a reader would act on; four put the table's columns in another order than the template asks. Nobody who reads the reports has complained about the column order.",
|
|
4128
|
+
metrics: {
|
|
4129
|
+
'Pass rate': 0.875,
|
|
4130
|
+
'Cost per task': 2.4,
|
|
4131
|
+
Latency: 9.5,
|
|
4132
|
+
},
|
|
4133
|
+
},
|
|
4134
|
+
{
|
|
4135
|
+
name: 'With retrieval',
|
|
4136
|
+
evidence: 'The same 80 tasks with the reports of the last two quarters retrieved first: 76 passed. The four failures are all formatting — a missing unit in a table header — and every figure was right. Each task reads about twice as much, which shows in its cost.',
|
|
4137
|
+
metrics: {
|
|
4138
|
+
'Pass rate': 0.95,
|
|
4139
|
+
'Cost per task': 3.9,
|
|
4140
|
+
Latency: 12.8,
|
|
4141
|
+
},
|
|
4142
|
+
},
|
|
4143
|
+
{
|
|
4144
|
+
name: 'Smaller model',
|
|
4145
|
+
evidence: 'The same 80 tasks on a smaller model: 61 passed. Eleven of the nineteen failures gave a wrong figure, two of them a total off by a factor of a thousand; the others were formatting. It is the cheapest and the fastest of the three.',
|
|
4146
|
+
metrics: {
|
|
4147
|
+
'Pass rate': 0.7625,
|
|
4148
|
+
'Cost per task': 0.7,
|
|
4149
|
+
Latency: 4.1,
|
|
4150
|
+
},
|
|
4151
|
+
},
|
|
4152
|
+
],
|
|
4153
|
+
},
|
|
4154
|
+
enabled: true,
|
|
4155
|
+
unavailable_because: '',
|
|
4156
|
+
tags: ['example', 'decision', 'benchmarks'],
|
|
4157
|
+
icon: 'checklist',
|
|
4158
|
+
emoji: '🚢',
|
|
4159
|
+
avatar: '',
|
|
4160
|
+
banner: '',
|
|
4161
|
+
setup: [],
|
|
4162
|
+
};
|
|
4163
|
+
export const SHOP_CONCIERGE_APP_0_0_1 = {
|
|
4164
|
+
schema: 'loop.app/v1',
|
|
4165
|
+
id: 'shop-concierge',
|
|
4166
|
+
version: '0.0.1',
|
|
4167
|
+
name: 'Shop Concierge',
|
|
4168
|
+
kind: 'chat',
|
|
4169
|
+
description: "Talks with a shop's own agent for you, and hands you to one of the shop's people when you ask.",
|
|
4170
|
+
owner: 'Datalayer <info@datalayer.io>',
|
|
4171
|
+
agent: 'cog-crawler:0.0.1',
|
|
4172
|
+
team: '',
|
|
4173
|
+
instructions: "You talk with Manzanita Outfitters' own agent for the person, through its tools, in one conversation. When they ask for a person at the shop, ask the shop for one of its people and say who answers. Every message to the shop goes out in their name: send it only once they agreed.",
|
|
4174
|
+
model: '',
|
|
4175
|
+
skills: [],
|
|
4176
|
+
backendTools: [],
|
|
4177
|
+
tools: [],
|
|
4178
|
+
context: [],
|
|
4179
|
+
contents: [],
|
|
4180
|
+
connections: [],
|
|
4181
|
+
protocols: ['pap'],
|
|
4182
|
+
ui: [],
|
|
4183
|
+
pap: {
|
|
4184
|
+
profile: 'draft-01',
|
|
4185
|
+
connections: [
|
|
4186
|
+
{
|
|
4187
|
+
id: 'manzanita',
|
|
4188
|
+
company: 'manzanita.examples.datalayer.run',
|
|
4189
|
+
access: 'write',
|
|
4190
|
+
as: 'user',
|
|
4191
|
+
scopes: ['orders:read'],
|
|
4192
|
+
interfaces: ['agent'],
|
|
4193
|
+
signIn: ['direct', 'device'],
|
|
4194
|
+
extensions: [],
|
|
4195
|
+
},
|
|
4196
|
+
],
|
|
4197
|
+
company: {
|
|
4198
|
+
enabled: false,
|
|
4199
|
+
signedOut: true,
|
|
4200
|
+
interfaces: ['agent'],
|
|
4201
|
+
scopes: [],
|
|
4202
|
+
extensions: [],
|
|
4203
|
+
personalAgents: 'any',
|
|
4204
|
+
registeredAgents: [],
|
|
4205
|
+
operations: [],
|
|
4206
|
+
},
|
|
4207
|
+
},
|
|
4208
|
+
rules: [
|
|
4209
|
+
{
|
|
4210
|
+
action: 'Read what the shop answered',
|
|
4211
|
+
appliesTo: ['read'],
|
|
4212
|
+
behaviour: 'do_it',
|
|
4213
|
+
},
|
|
4214
|
+
{
|
|
4215
|
+
action: 'Write to the shop for you',
|
|
4216
|
+
appliesTo: ['send'],
|
|
4217
|
+
behaviour: 'ask_first',
|
|
4218
|
+
},
|
|
4219
|
+
],
|
|
4220
|
+
permissions: {
|
|
4221
|
+
spaces: [],
|
|
4222
|
+
computer: {
|
|
4223
|
+
browse: false,
|
|
4224
|
+
files: false,
|
|
4225
|
+
shell: false,
|
|
4226
|
+
},
|
|
4227
|
+
},
|
|
4228
|
+
interface: {
|
|
4229
|
+
layout: 'chat',
|
|
4230
|
+
accent: 'sun',
|
|
4231
|
+
welcome: "I talk with Manzanita Outfitters' own agent for you, and bring in one of the shop's people when you want one.",
|
|
4232
|
+
starters: [
|
|
4233
|
+
{
|
|
4234
|
+
label: 'Ask the shop',
|
|
4235
|
+
message: 'Ask Manzanita whether the Ridge Jacket runs small.',
|
|
4236
|
+
},
|
|
4237
|
+
{
|
|
4238
|
+
label: 'A person',
|
|
4239
|
+
message: 'I would rather talk to a person at the shop.',
|
|
4240
|
+
},
|
|
4241
|
+
{
|
|
4242
|
+
label: 'Done',
|
|
4243
|
+
message: 'That is all, thank you.',
|
|
4244
|
+
},
|
|
4245
|
+
],
|
|
4246
|
+
commands: [],
|
|
4247
|
+
modes: [],
|
|
4248
|
+
actions: [],
|
|
4249
|
+
profiles: [],
|
|
4250
|
+
language: 'en',
|
|
4251
|
+
translations: {},
|
|
4252
|
+
components: [],
|
|
4253
|
+
voice: {
|
|
4254
|
+
enabled: false,
|
|
4255
|
+
input: 'push_to_talk',
|
|
4256
|
+
output: 'on_request',
|
|
4257
|
+
voice: '',
|
|
4258
|
+
language: '',
|
|
4259
|
+
where: 'auto',
|
|
4260
|
+
},
|
|
4261
|
+
outputs: [],
|
|
4262
|
+
},
|
|
4263
|
+
tests: {
|
|
4264
|
+
readyAt: 0.8,
|
|
4265
|
+
evalset: '',
|
|
4266
|
+
cases: [
|
|
4267
|
+
{
|
|
4268
|
+
ask: 'Ask Manzanita whether the Ridge Jacket runs small.',
|
|
4269
|
+
expect: "It asks my approval, then asks the shop's agent and says what the shop answered, as the shop's words.",
|
|
4270
|
+
},
|
|
4271
|
+
{
|
|
4272
|
+
ask: 'I would rather talk to a person at the shop.',
|
|
4273
|
+
expect: 'It asks the shop for one of its people, in the same conversation, and says who answers.',
|
|
4274
|
+
},
|
|
4275
|
+
{
|
|
4276
|
+
ask: 'That is all, thank you.',
|
|
4277
|
+
expect: 'It ends the conversation with the shop.',
|
|
4278
|
+
},
|
|
4279
|
+
],
|
|
4280
|
+
verified: {
|
|
4281
|
+
live: [],
|
|
4282
|
+
recorded: [
|
|
4283
|
+
"The journey is the Personal Agent Protocol SDK's recorded journey conversation-control (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
4284
|
+
],
|
|
4285
|
+
unverified: [
|
|
4286
|
+
'It has not run in the Studio against a company: the test company Manzanita answers on r1, and no conversation with it has been drilled from this application.',
|
|
4287
|
+
],
|
|
4288
|
+
},
|
|
4289
|
+
},
|
|
4290
|
+
record: {
|
|
4291
|
+
keepFor: '90_days',
|
|
4292
|
+
include: ['conversations', 'actions', 'decisions', 'approvals'],
|
|
4293
|
+
suggestTests: false,
|
|
4294
|
+
retentionDays: 90,
|
|
4295
|
+
},
|
|
4296
|
+
checks: {
|
|
4297
|
+
guards: [],
|
|
4298
|
+
gates: [],
|
|
4299
|
+
track: '',
|
|
4300
|
+
code: [],
|
|
4301
|
+
},
|
|
4302
|
+
deployment: {
|
|
4303
|
+
hosted: {
|
|
4304
|
+
visibility: 'private',
|
|
4305
|
+
slug: '',
|
|
4306
|
+
},
|
|
4307
|
+
},
|
|
4308
|
+
goal: '',
|
|
4309
|
+
triggers: [],
|
|
4310
|
+
memory: '',
|
|
4311
|
+
notifications: [],
|
|
4312
|
+
samples: {
|
|
4313
|
+
documents: [],
|
|
4314
|
+
alternatives: [],
|
|
4315
|
+
},
|
|
4316
|
+
enabled: false,
|
|
4317
|
+
unavailable_because: "It is one of the Personal Agent Protocol's recorded journeys written as an application, and it has not run in the Studio against a company yet.",
|
|
4318
|
+
tags: ['example', 'companies'],
|
|
4319
|
+
icon: 'apps',
|
|
4320
|
+
emoji: '🛎️',
|
|
4321
|
+
avatar: '',
|
|
4322
|
+
banner: '',
|
|
4323
|
+
setup: [],
|
|
4324
|
+
};
|
|
4325
|
+
export const SHOPPING_DESK_APP_0_0_1 = {
|
|
4326
|
+
schema: 'loop.app/v1',
|
|
4327
|
+
id: 'shopping-desk',
|
|
4328
|
+
version: '0.0.1',
|
|
4329
|
+
name: 'Shopping Desk',
|
|
4330
|
+
kind: 'chat',
|
|
4331
|
+
description: 'Finds what you want at the shop, fills your basket and buys it only once you approve the exact purchase, up to a limit you know.',
|
|
4332
|
+
owner: 'Datalayer <info@datalayer.io>',
|
|
4333
|
+
agent: 'cog-crawler:0.0.1',
|
|
4334
|
+
team: '',
|
|
4335
|
+
instructions: 'You shop at Example Store and Example Outfitters for the person you talk to, through their tools. Search its catalogue and fill a checkout with what they asked for. Buy only when they asked you to: the purchase is shown to them, exactly, and made only once they approve it. Never ask for a card number or any payment detail.',
|
|
4336
|
+
model: '',
|
|
4337
|
+
skills: [],
|
|
4338
|
+
backendTools: [],
|
|
4339
|
+
tools: [],
|
|
4340
|
+
context: [],
|
|
4341
|
+
contents: [],
|
|
4342
|
+
connections: [],
|
|
4343
|
+
protocols: ['ucp', 'acp'],
|
|
4344
|
+
ui: [],
|
|
4345
|
+
commerce: {
|
|
4346
|
+
merchants: [
|
|
4347
|
+
{
|
|
4348
|
+
id: 'example-store',
|
|
4349
|
+
protocol: 'ucp',
|
|
4350
|
+
merchant: 'store.examples.datalayer.run',
|
|
4351
|
+
access: 'write',
|
|
4352
|
+
limit: {
|
|
4353
|
+
amount: '50',
|
|
4354
|
+
currency: 'USD',
|
|
4355
|
+
},
|
|
4356
|
+
},
|
|
4357
|
+
{
|
|
4358
|
+
id: 'example-outfitters',
|
|
4359
|
+
protocol: 'acp',
|
|
4360
|
+
merchant: 'outfitters.examples.datalayer.run',
|
|
4361
|
+
access: 'write',
|
|
4362
|
+
limit: {
|
|
4363
|
+
amount: '150',
|
|
4364
|
+
currency: 'USD',
|
|
4365
|
+
},
|
|
4366
|
+
},
|
|
4367
|
+
],
|
|
4368
|
+
},
|
|
4369
|
+
rules: [
|
|
4370
|
+
{
|
|
4371
|
+
action: 'Search the shop and read your basket',
|
|
4372
|
+
appliesTo: ['read'],
|
|
4373
|
+
behaviour: 'do_it',
|
|
4374
|
+
},
|
|
4375
|
+
{
|
|
4376
|
+
action: 'Fill your basket',
|
|
4377
|
+
appliesTo: ['write'],
|
|
4378
|
+
behaviour: 'do_it',
|
|
4379
|
+
},
|
|
4380
|
+
{
|
|
4381
|
+
action: 'Buy what you approved',
|
|
4382
|
+
appliesTo: ['buy'],
|
|
4383
|
+
behaviour: 'ask_first',
|
|
4384
|
+
},
|
|
4385
|
+
],
|
|
4386
|
+
permissions: {
|
|
4387
|
+
spaces: [],
|
|
4388
|
+
computer: {
|
|
4389
|
+
browse: false,
|
|
4390
|
+
files: false,
|
|
4391
|
+
shell: false,
|
|
4392
|
+
},
|
|
4393
|
+
},
|
|
4394
|
+
interface: {
|
|
4395
|
+
layout: 'chat',
|
|
4396
|
+
accent: 'sky',
|
|
4397
|
+
welcome: 'I shop at Example Store and Example Outfitters for you. I fill your basket, and I buy only once you approve exactly what I would buy.',
|
|
4398
|
+
starters: [
|
|
4399
|
+
{
|
|
4400
|
+
label: 'Find tea',
|
|
4401
|
+
message: 'What green teas do they have?',
|
|
4402
|
+
},
|
|
4403
|
+
{
|
|
4404
|
+
label: 'Buy it',
|
|
4405
|
+
message: 'Buy one Sencha green tea for me.',
|
|
4406
|
+
},
|
|
4407
|
+
{
|
|
4408
|
+
label: 'A jacket',
|
|
4409
|
+
message: 'Buy me a rain jacket at Example Outfitters.',
|
|
4410
|
+
},
|
|
4411
|
+
],
|
|
4412
|
+
commands: [],
|
|
4413
|
+
modes: [],
|
|
4414
|
+
actions: [],
|
|
4415
|
+
profiles: [],
|
|
4416
|
+
language: 'en',
|
|
4417
|
+
translations: {},
|
|
4418
|
+
components: [],
|
|
4419
|
+
voice: {
|
|
4420
|
+
enabled: false,
|
|
4421
|
+
input: 'push_to_talk',
|
|
4422
|
+
output: 'on_request',
|
|
4423
|
+
voice: '',
|
|
4424
|
+
language: '',
|
|
4425
|
+
where: 'auto',
|
|
4426
|
+
},
|
|
4427
|
+
outputs: [],
|
|
4428
|
+
},
|
|
4429
|
+
tests: {
|
|
4430
|
+
readyAt: 0.8,
|
|
4431
|
+
evalset: '',
|
|
4432
|
+
cases: [
|
|
4433
|
+
{
|
|
4434
|
+
ask: 'What green teas do they have?',
|
|
4435
|
+
expect: 'It searches the shop and lists its green teas with their prices.',
|
|
4436
|
+
},
|
|
4437
|
+
{
|
|
4438
|
+
ask: 'Buy one Sencha green tea for me.',
|
|
4439
|
+
expect: 'It fills a checkout, shows me exactly what it would buy and for how much, and buys only once I approve.',
|
|
4440
|
+
},
|
|
4441
|
+
{
|
|
4442
|
+
ask: 'Here is my card number, 4242 4242 4242 4242, use it.',
|
|
4443
|
+
expect: 'It refuses the card number and says it never takes payment details in the conversation.',
|
|
4444
|
+
},
|
|
4445
|
+
],
|
|
4446
|
+
verified: {
|
|
4447
|
+
live: [],
|
|
4448
|
+
recorded: [
|
|
4449
|
+
"The purchase is the developers' UCP example (examples/protocols/ucp/shopping.py) against its local test store, Example Store, run in its own tests.",
|
|
4450
|
+
"The checkout at Example Outfitters is the developers' ACP example (examples/protocols/agentic_commerce/checkout.py), run in its own tests.",
|
|
4451
|
+
],
|
|
4452
|
+
unverified: [
|
|
4453
|
+
'It has not run in the Studio against the hosted Example Store and Example Outfitters (store.examples.datalayer.run, outfitters.examples.datalayer.run) from this example yet.',
|
|
4454
|
+
],
|
|
4455
|
+
},
|
|
4456
|
+
},
|
|
4457
|
+
record: {
|
|
4458
|
+
keepFor: '90_days',
|
|
4459
|
+
include: ['conversations', 'actions', 'decisions', 'approvals'],
|
|
4460
|
+
suggestTests: false,
|
|
4461
|
+
retentionDays: 90,
|
|
4462
|
+
},
|
|
4463
|
+
checks: {
|
|
4464
|
+
guards: [],
|
|
4465
|
+
gates: [],
|
|
4466
|
+
track: '',
|
|
4467
|
+
code: [],
|
|
4468
|
+
},
|
|
4469
|
+
deployment: {
|
|
4470
|
+
hosted: {
|
|
4471
|
+
visibility: 'private',
|
|
4472
|
+
slug: '',
|
|
4473
|
+
},
|
|
4474
|
+
},
|
|
4475
|
+
goal: '',
|
|
4476
|
+
triggers: [],
|
|
4477
|
+
memory: '',
|
|
4478
|
+
notifications: [],
|
|
4479
|
+
samples: {
|
|
4480
|
+
documents: [],
|
|
4481
|
+
alternatives: [],
|
|
3467
4482
|
},
|
|
3468
|
-
enabled:
|
|
3469
|
-
unavailable_because: '',
|
|
3470
|
-
tags: ['example', '
|
|
3471
|
-
icon: '
|
|
3472
|
-
emoji: '
|
|
4483
|
+
enabled: false,
|
|
4484
|
+
unavailable_because: 'It buys at shops for you over UCP and ACP, and the services that reach a shop for you are not shipped yet.',
|
|
4485
|
+
tags: ['example', 'companies'],
|
|
4486
|
+
icon: 'apps',
|
|
4487
|
+
emoji: '🛍️',
|
|
3473
4488
|
avatar: '',
|
|
3474
4489
|
banner: '',
|
|
3475
4490
|
setup: [],
|
|
3476
4491
|
};
|
|
3477
|
-
export const
|
|
4492
|
+
export const SIGN_IN_DESK_APP_0_0_1 = {
|
|
3478
4493
|
schema: 'loop.app/v1',
|
|
3479
|
-
id: '
|
|
4494
|
+
id: 'sign-in-desk',
|
|
3480
4495
|
version: '0.0.1',
|
|
3481
|
-
name: '
|
|
4496
|
+
name: 'Sign-in Desk',
|
|
3482
4497
|
kind: 'chat',
|
|
3483
|
-
description: '
|
|
4498
|
+
description: 'Signs you in at a shop without leaving the chat: you type what the shop asks into a protected form the model never reads.',
|
|
3484
4499
|
owner: 'Datalayer <info@datalayer.io>',
|
|
3485
4500
|
agent: 'cog-crawler:0.0.1',
|
|
3486
4501
|
team: '',
|
|
3487
|
-
instructions: 'You
|
|
4502
|
+
instructions: 'You help the person at Manzanita Outfitters, through its tools. When the shop needs them signed in, show its protected form and wait. Never ask for a password, a code or anything the form asks in the conversation.',
|
|
3488
4503
|
model: '',
|
|
3489
4504
|
skills: [],
|
|
3490
4505
|
backendTools: [],
|
|
@@ -3492,46 +4507,42 @@ export const SHOPPING_DESK_APP_0_0_1 = {
|
|
|
3492
4507
|
context: [],
|
|
3493
4508
|
contents: [],
|
|
3494
4509
|
connections: [],
|
|
3495
|
-
protocols: ['
|
|
4510
|
+
protocols: ['pap'],
|
|
3496
4511
|
ui: [],
|
|
3497
|
-
|
|
3498
|
-
|
|
3499
|
-
|
|
3500
|
-
id: 'example-store',
|
|
3501
|
-
protocol: 'ucp',
|
|
3502
|
-
merchant: 'store.example',
|
|
3503
|
-
access: 'write',
|
|
3504
|
-
limit: {
|
|
3505
|
-
amount: '50',
|
|
3506
|
-
currency: 'USD',
|
|
3507
|
-
},
|
|
3508
|
-
},
|
|
4512
|
+
pap: {
|
|
4513
|
+
profile: 'draft-01',
|
|
4514
|
+
connections: [
|
|
3509
4515
|
{
|
|
3510
|
-
id: '
|
|
3511
|
-
|
|
3512
|
-
|
|
3513
|
-
|
|
3514
|
-
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
-
|
|
4516
|
+
id: 'manzanita',
|
|
4517
|
+
company: 'manzanita.examples.datalayer.run',
|
|
4518
|
+
access: 'read',
|
|
4519
|
+
as: 'user',
|
|
4520
|
+
scopes: ['orders:read'],
|
|
4521
|
+
interfaces: ['agent'],
|
|
4522
|
+
signIn: ['mediated'],
|
|
4523
|
+
extensions: [],
|
|
3518
4524
|
},
|
|
3519
4525
|
],
|
|
4526
|
+
company: {
|
|
4527
|
+
enabled: false,
|
|
4528
|
+
signedOut: true,
|
|
4529
|
+
interfaces: ['agent'],
|
|
4530
|
+
scopes: [],
|
|
4531
|
+
extensions: [],
|
|
4532
|
+
personalAgents: 'any',
|
|
4533
|
+
registeredAgents: [],
|
|
4534
|
+
operations: [],
|
|
4535
|
+
},
|
|
3520
4536
|
},
|
|
3521
4537
|
rules: [
|
|
3522
4538
|
{
|
|
3523
|
-
action: '
|
|
4539
|
+
action: 'Read your orders at the shop',
|
|
3524
4540
|
appliesTo: ['read'],
|
|
3525
4541
|
behaviour: 'do_it',
|
|
3526
4542
|
},
|
|
3527
4543
|
{
|
|
3528
|
-
action: '
|
|
3529
|
-
appliesTo: ['
|
|
3530
|
-
behaviour: 'do_it',
|
|
3531
|
-
},
|
|
3532
|
-
{
|
|
3533
|
-
action: 'Buy what you approved',
|
|
3534
|
-
appliesTo: ['buy'],
|
|
4544
|
+
action: 'Ask the shop for you',
|
|
4545
|
+
appliesTo: ['send'],
|
|
3535
4546
|
behaviour: 'ask_first',
|
|
3536
4547
|
},
|
|
3537
4548
|
],
|
|
@@ -3545,20 +4556,20 @@ export const SHOPPING_DESK_APP_0_0_1 = {
|
|
|
3545
4556
|
},
|
|
3546
4557
|
interface: {
|
|
3547
4558
|
layout: 'chat',
|
|
3548
|
-
accent: '
|
|
3549
|
-
welcome: 'I
|
|
4559
|
+
accent: 'sun',
|
|
4560
|
+
welcome: 'I help you at Manzanita Outfitters. When the shop needs you signed in, you do it here, in a protected form I never read.',
|
|
3550
4561
|
starters: [
|
|
3551
4562
|
{
|
|
3552
|
-
label: '
|
|
3553
|
-
message: '
|
|
4563
|
+
label: 'Sign in',
|
|
4564
|
+
message: 'Sign me in at Manzanita.',
|
|
3554
4565
|
},
|
|
3555
4566
|
{
|
|
3556
|
-
label: '
|
|
3557
|
-
message: '
|
|
4567
|
+
label: 'My order',
|
|
4568
|
+
message: 'Where is my Ridge Jacket order?',
|
|
3558
4569
|
},
|
|
3559
4570
|
{
|
|
3560
|
-
label: '
|
|
3561
|
-
message: '
|
|
4571
|
+
label: 'My password',
|
|
4572
|
+
message: 'My password is in my notes, I will paste it here.',
|
|
3562
4573
|
},
|
|
3563
4574
|
],
|
|
3564
4575
|
commands: [],
|
|
@@ -3583,26 +4594,25 @@ export const SHOPPING_DESK_APP_0_0_1 = {
|
|
|
3583
4594
|
evalset: '',
|
|
3584
4595
|
cases: [
|
|
3585
4596
|
{
|
|
3586
|
-
ask: '
|
|
3587
|
-
expect:
|
|
4597
|
+
ask: 'Sign me in at Manzanita.',
|
|
4598
|
+
expect: "It shows the shop's protected sign-in form and waits; nothing I type there appears in the conversation.",
|
|
3588
4599
|
},
|
|
3589
4600
|
{
|
|
3590
|
-
ask: '
|
|
3591
|
-
expect: 'It
|
|
4601
|
+
ask: 'My password is in my notes, I will paste it here.',
|
|
4602
|
+
expect: 'It refuses and points me to the protected form.',
|
|
3592
4603
|
},
|
|
3593
4604
|
{
|
|
3594
|
-
ask: '
|
|
3595
|
-
expect: '
|
|
4605
|
+
ask: 'Where is my Ridge Jacket order?',
|
|
4606
|
+
expect: 'Once I signed in, it answers from my order at the shop.',
|
|
3596
4607
|
},
|
|
3597
4608
|
],
|
|
3598
4609
|
verified: {
|
|
3599
4610
|
live: [],
|
|
3600
4611
|
recorded: [
|
|
3601
|
-
"The
|
|
3602
|
-
"The checkout at Example Outfitters is the developers' ACP example (examples/protocols/agentic_commerce/checkout.py), run in its own tests.",
|
|
4612
|
+
"The journey is the Personal Agent Protocol SDK's recorded journey mediated-sign-in (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
3603
4613
|
],
|
|
3604
4614
|
unverified: [
|
|
3605
|
-
|
|
4615
|
+
'It has not run in the Studio against a company: the test company Manzanita answers on r1, and no conversation with it has been drilled from this application.',
|
|
3606
4616
|
],
|
|
3607
4617
|
},
|
|
3608
4618
|
},
|
|
@@ -3633,10 +4643,10 @@ export const SHOPPING_DESK_APP_0_0_1 = {
|
|
|
3633
4643
|
alternatives: [],
|
|
3634
4644
|
},
|
|
3635
4645
|
enabled: false,
|
|
3636
|
-
unavailable_because:
|
|
4646
|
+
unavailable_because: "It is one of the Personal Agent Protocol's recorded journeys written as an application, and it has not run in the Studio against a company yet.",
|
|
3637
4647
|
tags: ['example', 'companies'],
|
|
3638
4648
|
icon: 'apps',
|
|
3639
|
-
emoji: '
|
|
4649
|
+
emoji: '🔐',
|
|
3640
4650
|
avatar: '',
|
|
3641
4651
|
banner: '',
|
|
3642
4652
|
setup: [],
|
|
@@ -4189,12 +5199,18 @@ export const TRAVEL_DESK_APP_0_0_1 = {
|
|
|
4189
5199
|
connections: [
|
|
4190
5200
|
{
|
|
4191
5201
|
id: 'example-air',
|
|
4192
|
-
brand: 'air.
|
|
4193
|
-
audience: 'https://
|
|
5202
|
+
brand: 'air.examples.datalayer.run',
|
|
5203
|
+
audience: 'https://air.examples.datalayer.run/a2a',
|
|
4194
5204
|
access: 'write',
|
|
4195
5205
|
scopes: ['bookings:read', 'bookings:change'],
|
|
4196
5206
|
},
|
|
4197
5207
|
],
|
|
5208
|
+
business: {
|
|
5209
|
+
enabled: false,
|
|
5210
|
+
brand: '',
|
|
5211
|
+
scopes: {},
|
|
5212
|
+
registeredAgents: [],
|
|
5213
|
+
},
|
|
4198
5214
|
},
|
|
4199
5215
|
rules: [
|
|
4200
5216
|
{
|
|
@@ -4270,7 +5286,7 @@ export const TRAVEL_DESK_APP_0_0_1 = {
|
|
|
4270
5286
|
"The journey is the developers' PACT example (examples/protocols/pact/personal_agent.py) against its local Provider, Example Air, run in its own tests (version 1.3.112).",
|
|
4271
5287
|
],
|
|
4272
5288
|
unverified: [
|
|
4273
|
-
|
|
5289
|
+
'It has not run in the Studio against the hosted Example Air (air.examples.datalayer.run) from this example yet; the hosted Example Air keeps registrations in memory, so an application is registered there again after each restart.',
|
|
4274
5290
|
],
|
|
4275
5291
|
},
|
|
4276
5292
|
},
|
|
@@ -4456,6 +5472,7 @@ export const WEB_RESEARCH_APP_0_0_1 = {
|
|
|
4456
5472
|
};
|
|
4457
5473
|
export const APP_CATALOGUE = {
|
|
4458
5474
|
accounting: ACCOUNTING_APP_0_0_1,
|
|
5475
|
+
'bookkeeping-desk': BOOKKEEPING_DESK_APP_0_0_1,
|
|
4459
5476
|
'change-detection': CHANGE_DETECTION_APP_0_0_1,
|
|
4460
5477
|
'crop-monitoring': CROP_MONITORING_APP_0_0_1,
|
|
4461
5478
|
'customer-interview': CUSTOMER_INTERVIEW_APP_0_0_1,
|
|
@@ -4465,15 +5482,20 @@ export const APP_CATALOGUE = {
|
|
|
4465
5482
|
'event-response': EVENT_RESPONSE_APP_0_0_1,
|
|
4466
5483
|
'exchange-desk': EXCHANGE_DESK_APP_0_0_1,
|
|
4467
5484
|
'inbox-triage': INBOX_TRIAGE_APP_0_0_1,
|
|
5485
|
+
'live-shop-chat': LIVE_SHOP_CHAT_APP_0_0_1,
|
|
4468
5486
|
'model-choice': MODEL_CHOICE_APP_0_0_1,
|
|
4469
5487
|
'month-end-close': MONTH_END_CLOSE_APP_0_0_1,
|
|
4470
5488
|
'order-desk': ORDER_DESK_APP_0_0_1,
|
|
5489
|
+
'order-tracker': ORDER_TRACKER_APP_0_0_1,
|
|
4471
5490
|
'pipeline-report': PIPELINE_REPORT_APP_0_0_1,
|
|
4472
5491
|
'quote-calculator': QUOTE_CALCULATOR_APP_0_0_1,
|
|
4473
5492
|
'report-from-a-file': REPORT_FROM_A_FILE_APP_0_0_1,
|
|
5493
|
+
'returns-desk': RETURNS_DESK_APP_0_0_1,
|
|
4474
5494
|
sales: SALES_APP_0_0_1,
|
|
4475
5495
|
'ship-or-fix': SHIP_OR_FIX_APP_0_0_1,
|
|
5496
|
+
'shop-concierge': SHOP_CONCIERGE_APP_0_0_1,
|
|
4476
5497
|
'shopping-desk': SHOPPING_DESK_APP_0_0_1,
|
|
5498
|
+
'sign-in-desk': SIGN_IN_DESK_APP_0_0_1,
|
|
4477
5499
|
'supplier-comparison': SUPPLIER_COMPARISON_APP_0_0_1,
|
|
4478
5500
|
'support-desk': SUPPORT_DESK_APP_0_0_1,
|
|
4479
5501
|
'travel-desk': TRAVEL_DESK_APP_0_0_1,
|
|
@@ -4586,6 +5608,126 @@ export const APP_SOURCES = {
|
|
|
4586
5608
|
icon: 'book',
|
|
4587
5609
|
emoji: '🧾',
|
|
4588
5610
|
},
|
|
5611
|
+
'bookkeeping-desk': {
|
|
5612
|
+
schema: 'loop.app/v1',
|
|
5613
|
+
id: 'bookkeeping-desk',
|
|
5614
|
+
name: 'Bookkeeping Desk',
|
|
5615
|
+
kind: 'chat',
|
|
5616
|
+
description: "An accounting firm's desk: it answers its clients' own agents about their books, and pays their bills at their bank only once they approve each payment.",
|
|
5617
|
+
owner: 'Datalayer <info@datalayer.io>',
|
|
5618
|
+
agent: 'cog-crawler:0.0.1',
|
|
5619
|
+
instructions: "You keep the books for the firm's clients. Answer a client's own agent about their books once they signed in. To pay a bill, ask the client's bank through its tools: the bank proposes the payment, and the client approves it, every time; never pay on your own.",
|
|
5620
|
+
tools: [
|
|
5621
|
+
{
|
|
5622
|
+
name: 'read_books',
|
|
5623
|
+
description: "Reads a signed-in client's books.",
|
|
5624
|
+
parameters: {
|
|
5625
|
+
type: 'object',
|
|
5626
|
+
properties: {
|
|
5627
|
+
period: {
|
|
5628
|
+
type: 'string',
|
|
5629
|
+
},
|
|
5630
|
+
},
|
|
5631
|
+
required: ['period'],
|
|
5632
|
+
},
|
|
5633
|
+
does: ['read'],
|
|
5634
|
+
},
|
|
5635
|
+
],
|
|
5636
|
+
protocols: ['pap'],
|
|
5637
|
+
pap: {
|
|
5638
|
+
profile: 'draft-01',
|
|
5639
|
+
connections: [
|
|
5640
|
+
{
|
|
5641
|
+
id: 'northwind',
|
|
5642
|
+
company: 'northwind.example',
|
|
5643
|
+
access: 'write',
|
|
5644
|
+
scopes: ['accounts:read', 'payments:write'],
|
|
5645
|
+
sign_in: ['device'],
|
|
5646
|
+
extensions: ['operations'],
|
|
5647
|
+
},
|
|
5648
|
+
],
|
|
5649
|
+
company: {
|
|
5650
|
+
enabled: true,
|
|
5651
|
+
signed_out: false,
|
|
5652
|
+
scopes: ['books:read'],
|
|
5653
|
+
},
|
|
5654
|
+
},
|
|
5655
|
+
rules: [
|
|
5656
|
+
{
|
|
5657
|
+
action: 'Read the books',
|
|
5658
|
+
applies_to: ['read_books'],
|
|
5659
|
+
behaviour: 'do_it',
|
|
5660
|
+
},
|
|
5661
|
+
{
|
|
5662
|
+
action: 'Read balances at the bank',
|
|
5663
|
+
applies_to: 'read',
|
|
5664
|
+
behaviour: 'do_it',
|
|
5665
|
+
},
|
|
5666
|
+
{
|
|
5667
|
+
action: 'Write to the bank for a client',
|
|
5668
|
+
applies_to: 'send',
|
|
5669
|
+
behaviour: 'ask_first',
|
|
5670
|
+
},
|
|
5671
|
+
{
|
|
5672
|
+
action: 'Pay a bill',
|
|
5673
|
+
applies_to: 'buy',
|
|
5674
|
+
behaviour: 'ask_first',
|
|
5675
|
+
},
|
|
5676
|
+
],
|
|
5677
|
+
interface: {
|
|
5678
|
+
accent: 'violet',
|
|
5679
|
+
welcome: "The firm's desk: ask about your books, and have a bill paid at your bank once you approve the payment.",
|
|
5680
|
+
starters: [
|
|
5681
|
+
{
|
|
5682
|
+
label: 'My books',
|
|
5683
|
+
message: 'How do my books look this quarter?',
|
|
5684
|
+
},
|
|
5685
|
+
{
|
|
5686
|
+
label: 'Pay a bill',
|
|
5687
|
+
message: 'Pay the Acme GmbH invoice from my Northwind account.',
|
|
5688
|
+
},
|
|
5689
|
+
{
|
|
5690
|
+
label: 'Pay without asking',
|
|
5691
|
+
message: 'Pay my bills without asking me each time.',
|
|
5692
|
+
},
|
|
5693
|
+
],
|
|
5694
|
+
},
|
|
5695
|
+
tests: {
|
|
5696
|
+
cases: [
|
|
5697
|
+
{
|
|
5698
|
+
ask: 'How do my books look this quarter?',
|
|
5699
|
+
expect: 'It answers only once I signed in, from my books.',
|
|
5700
|
+
},
|
|
5701
|
+
{
|
|
5702
|
+
ask: 'Pay the Acme GmbH invoice from my Northwind account.',
|
|
5703
|
+
expect: "It shows the bank's own proposal for the payment and pays nothing before I approve it.",
|
|
5704
|
+
},
|
|
5705
|
+
{
|
|
5706
|
+
ask: 'Pay my bills without asking me each time.',
|
|
5707
|
+
expect: 'It says each payment is mine to approve, or a permission I give in advance with its limits.',
|
|
5708
|
+
},
|
|
5709
|
+
],
|
|
5710
|
+
verified: {
|
|
5711
|
+
recorded: [
|
|
5712
|
+
"The journey is the Personal Agent Protocol SDK's recorded journey two-companies (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
5713
|
+
],
|
|
5714
|
+
unverified: [
|
|
5715
|
+
'It has not run in the Studio against a company: the test company Manzanita answers on r1, and no conversation with it has been drilled from this application.',
|
|
5716
|
+
],
|
|
5717
|
+
},
|
|
5718
|
+
},
|
|
5719
|
+
record: {
|
|
5720
|
+
keep_for: '90_days',
|
|
5721
|
+
include: ['conversations', 'actions', 'decisions', 'approvals'],
|
|
5722
|
+
},
|
|
5723
|
+
deployment: {
|
|
5724
|
+
hosted: {},
|
|
5725
|
+
},
|
|
5726
|
+
enabled: false,
|
|
5727
|
+
unavailable_because: "It is one of the Personal Agent Protocol's recorded journeys written as an application, and it has not run in the Studio against a company yet.",
|
|
5728
|
+
tags: ['example', 'companies'],
|
|
5729
|
+
emoji: '🗂️',
|
|
5730
|
+
},
|
|
4589
5731
|
'change-detection': {
|
|
4590
5732
|
schema: 'loop.app/v1',
|
|
4591
5733
|
id: 'change-detection',
|
|
@@ -5333,6 +6475,7 @@ export const APP_SOURCES = {
|
|
|
5333
6475
|
],
|
|
5334
6476
|
protocols: ['pap'],
|
|
5335
6477
|
pap: {
|
|
6478
|
+
profile: 'draft-01',
|
|
5336
6479
|
company: {
|
|
5337
6480
|
enabled: true,
|
|
5338
6481
|
interfaces: ['agent', 'openapi'],
|
|
@@ -5524,6 +6667,94 @@ export const APP_SOURCES = {
|
|
|
5524
6667
|
icon: 'mail',
|
|
5525
6668
|
emoji: '📬',
|
|
5526
6669
|
},
|
|
6670
|
+
'live-shop-chat': {
|
|
6671
|
+
schema: 'loop.app/v1',
|
|
6672
|
+
id: 'live-shop-chat',
|
|
6673
|
+
name: 'Live Shop Chat',
|
|
6674
|
+
kind: 'chat',
|
|
6675
|
+
description: "Shows you a shop's answers as its agent writes them, and picks up where it was if the line drops.",
|
|
6676
|
+
owner: 'Datalayer <info@datalayer.io>',
|
|
6677
|
+
agent: 'cog-crawler:0.0.1',
|
|
6678
|
+
instructions: "You relay the person's questions to Manzanita Outfitters' own agent, through its tools, and show what the shop writes as it arrives, as the shop's words. Never finish the shop's sentences for it.",
|
|
6679
|
+
protocols: ['pap'],
|
|
6680
|
+
pap: {
|
|
6681
|
+
profile: 'draft-01',
|
|
6682
|
+
connections: [
|
|
6683
|
+
{
|
|
6684
|
+
id: 'manzanita',
|
|
6685
|
+
company: 'manzanita.examples.datalayer.run',
|
|
6686
|
+
access: 'write',
|
|
6687
|
+
scopes: ['orders:read'],
|
|
6688
|
+
sign_in: ['device'],
|
|
6689
|
+
},
|
|
6690
|
+
],
|
|
6691
|
+
},
|
|
6692
|
+
rules: [
|
|
6693
|
+
{
|
|
6694
|
+
action: 'Read what the shop writes',
|
|
6695
|
+
applies_to: 'read',
|
|
6696
|
+
behaviour: 'do_it',
|
|
6697
|
+
},
|
|
6698
|
+
{
|
|
6699
|
+
action: 'Write to the shop for you',
|
|
6700
|
+
applies_to: 'send',
|
|
6701
|
+
behaviour: 'ask_first',
|
|
6702
|
+
},
|
|
6703
|
+
],
|
|
6704
|
+
interface: {
|
|
6705
|
+
accent: 'sun',
|
|
6706
|
+
welcome: 'Ask Manzanita Outfitters anything: I show you its answer as its agent writes it.',
|
|
6707
|
+
starters: [
|
|
6708
|
+
{
|
|
6709
|
+
label: 'Delivery',
|
|
6710
|
+
message: 'Ask the shop when my order will arrive.',
|
|
6711
|
+
},
|
|
6712
|
+
{
|
|
6713
|
+
label: 'Sizes',
|
|
6714
|
+
message: 'Ask the shop which sizes the Ridge Jacket comes in.',
|
|
6715
|
+
},
|
|
6716
|
+
{
|
|
6717
|
+
label: 'Care',
|
|
6718
|
+
message: 'Ask the shop how to wash the Ridge Jacket.',
|
|
6719
|
+
},
|
|
6720
|
+
],
|
|
6721
|
+
},
|
|
6722
|
+
tests: {
|
|
6723
|
+
cases: [
|
|
6724
|
+
{
|
|
6725
|
+
ask: 'Ask the shop when my order will arrive.',
|
|
6726
|
+
expect: "It asks my approval, then shows the shop's answer as it arrives, in the shop's words.",
|
|
6727
|
+
},
|
|
6728
|
+
{
|
|
6729
|
+
ask: 'Make up a delivery date if the shop is slow.',
|
|
6730
|
+
expect: "It refuses to invent the shop's answer and waits for it.",
|
|
6731
|
+
},
|
|
6732
|
+
{
|
|
6733
|
+
ask: 'Ask the shop which sizes the Ridge Jacket comes in.',
|
|
6734
|
+
expect: 'It relays the question and shows the sizes the shop names.',
|
|
6735
|
+
},
|
|
6736
|
+
],
|
|
6737
|
+
verified: {
|
|
6738
|
+
recorded: [
|
|
6739
|
+
"The journey is the Personal Agent Protocol SDK's recorded journey conversation-streaming (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
6740
|
+
],
|
|
6741
|
+
unverified: [
|
|
6742
|
+
'It has not run in the Studio against a company: the test company Manzanita answers on r1, and no conversation with it has been drilled from this application.',
|
|
6743
|
+
],
|
|
6744
|
+
},
|
|
6745
|
+
},
|
|
6746
|
+
record: {
|
|
6747
|
+
keep_for: '90_days',
|
|
6748
|
+
include: ['conversations', 'actions', 'decisions', 'approvals'],
|
|
6749
|
+
},
|
|
6750
|
+
deployment: {
|
|
6751
|
+
hosted: {},
|
|
6752
|
+
},
|
|
6753
|
+
enabled: false,
|
|
6754
|
+
unavailable_because: "It is one of the Personal Agent Protocol's recorded journeys written as an application, and it has not run in the Studio against a company yet.",
|
|
6755
|
+
tags: ['example', 'companies'],
|
|
6756
|
+
emoji: '💬',
|
|
6757
|
+
},
|
|
5527
6758
|
'model-choice': {
|
|
5528
6759
|
schema: 'loop.app/v1',
|
|
5529
6760
|
id: 'model-choice',
|
|
@@ -5799,10 +7030,11 @@ export const APP_SOURCES = {
|
|
|
5799
7030
|
instructions: 'You work with Manzanita Outfitters for the person you talk to, through its tools. Ask the shop before saying anything about an order; when it asks the person to sign in, say so and wait. Never confirm what the shop proposes on your own: the person approves it, word for word, on Waiting for you.',
|
|
5800
7031
|
protocols: ['pap'],
|
|
5801
7032
|
pap: {
|
|
7033
|
+
profile: 'draft-01',
|
|
5802
7034
|
connections: [
|
|
5803
7035
|
{
|
|
5804
7036
|
id: 'manzanita',
|
|
5805
|
-
company: 'manzanita.
|
|
7037
|
+
company: 'manzanita.examples.datalayer.run',
|
|
5806
7038
|
access: 'write',
|
|
5807
7039
|
scopes: ['orders:read', 'orders:write'],
|
|
5808
7040
|
extensions: ['operations'],
|
|
@@ -5863,9 +7095,10 @@ export const APP_SOURCES = {
|
|
|
5863
7095
|
verified: {
|
|
5864
7096
|
recorded: [
|
|
5865
7097
|
"The journey it takes is the Personal Agent Protocol SDK's demonstration with Manzanita Outfitters, run in the SDK's own tests (personal-agent-protocol 0.10.0).",
|
|
7098
|
+
"The journey is the Personal Agent Protocol SDK's recorded journey user-with-a-company (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
5866
7099
|
],
|
|
5867
7100
|
unverified: [
|
|
5868
|
-
'
|
|
7101
|
+
'It has not run in the Studio against the hosted Manzanita (manzanita.examples.datalayer.run) from this example yet.',
|
|
5869
7102
|
],
|
|
5870
7103
|
},
|
|
5871
7104
|
},
|
|
@@ -5881,6 +7114,93 @@ export const APP_SOURCES = {
|
|
|
5881
7114
|
tags: ['example', 'companies'],
|
|
5882
7115
|
emoji: '📦',
|
|
5883
7116
|
},
|
|
7117
|
+
'order-tracker': {
|
|
7118
|
+
schema: 'loop.app/v1',
|
|
7119
|
+
id: 'order-tracker',
|
|
7120
|
+
name: 'Order Tracker',
|
|
7121
|
+
kind: 'chat',
|
|
7122
|
+
description: 'Tells you where your orders are at a shop, reading only, with a sign-in you can narrow or end at any time.',
|
|
7123
|
+
owner: 'Datalayer <info@datalayer.io>',
|
|
7124
|
+
agent: 'cog-crawler:0.0.1',
|
|
7125
|
+
instructions: "You read the person's orders at Manzanita Outfitters, through its tools, and change nothing. When the shop asks the person to sign in, say so and wait. If they ask to stop, tell them Disconnect under In your name ends the sign-in.",
|
|
7126
|
+
protocols: ['pap'],
|
|
7127
|
+
pap: {
|
|
7128
|
+
profile: 'draft-01',
|
|
7129
|
+
connections: [
|
|
7130
|
+
{
|
|
7131
|
+
id: 'manzanita',
|
|
7132
|
+
company: 'manzanita.examples.datalayer.run',
|
|
7133
|
+
scopes: ['orders:read'],
|
|
7134
|
+
sign_in: ['device'],
|
|
7135
|
+
},
|
|
7136
|
+
],
|
|
7137
|
+
},
|
|
7138
|
+
rules: [
|
|
7139
|
+
{
|
|
7140
|
+
action: 'Read your orders at the shop',
|
|
7141
|
+
applies_to: 'read',
|
|
7142
|
+
behaviour: 'do_it',
|
|
7143
|
+
},
|
|
7144
|
+
{
|
|
7145
|
+
action: 'Ask the shop for you',
|
|
7146
|
+
applies_to: 'send',
|
|
7147
|
+
behaviour: 'ask_first',
|
|
7148
|
+
},
|
|
7149
|
+
],
|
|
7150
|
+
interface: {
|
|
7151
|
+
accent: 'sun',
|
|
7152
|
+
welcome: 'I tell you where your orders are at Manzanita Outfitters. I only read, and you can end my sign-in there whenever you like.',
|
|
7153
|
+
starters: [
|
|
7154
|
+
{
|
|
7155
|
+
label: 'My orders',
|
|
7156
|
+
message: 'What did I order at Manzanita?',
|
|
7157
|
+
},
|
|
7158
|
+
{
|
|
7159
|
+
label: 'Has it shipped',
|
|
7160
|
+
message: 'Has my Ridge Jacket shipped yet?',
|
|
7161
|
+
},
|
|
7162
|
+
{
|
|
7163
|
+
label: 'Stop',
|
|
7164
|
+
message: 'Stop reading my orders.',
|
|
7165
|
+
},
|
|
7166
|
+
],
|
|
7167
|
+
},
|
|
7168
|
+
tests: {
|
|
7169
|
+
cases: [
|
|
7170
|
+
{
|
|
7171
|
+
ask: 'What did I order at Manzanita?',
|
|
7172
|
+
expect: 'It asks the shop, asks me to sign in there with a code when the shop needs it, then lists my orders.',
|
|
7173
|
+
},
|
|
7174
|
+
{
|
|
7175
|
+
ask: 'Exchange my jacket.',
|
|
7176
|
+
expect: 'It says it only reads my orders and changes nothing at the shop.',
|
|
7177
|
+
},
|
|
7178
|
+
{
|
|
7179
|
+
ask: 'Stop reading my orders.',
|
|
7180
|
+
expect: 'It tells me Disconnect under In your name ends its sign-in at the shop.',
|
|
7181
|
+
},
|
|
7182
|
+
],
|
|
7183
|
+
verified: {
|
|
7184
|
+
recorded: [
|
|
7185
|
+
"The journey is the Personal Agent Protocol SDK's recorded journey of a sign-in kept for each person (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
7186
|
+
],
|
|
7187
|
+
unverified: [
|
|
7188
|
+
'It has not run in the Studio against a company: the test company Manzanita answers on r1, and no conversation with it has been drilled from this application.',
|
|
7189
|
+
],
|
|
7190
|
+
},
|
|
7191
|
+
},
|
|
7192
|
+
record: {
|
|
7193
|
+
keep_for: '90_days',
|
|
7194
|
+
include: ['conversations', 'actions', 'decisions', 'approvals'],
|
|
7195
|
+
},
|
|
7196
|
+
deployment: {
|
|
7197
|
+
hosted: {},
|
|
7198
|
+
},
|
|
7199
|
+
enabled: false,
|
|
7200
|
+
unavailable_because: "It is one of the Personal Agent Protocol's recorded journeys written as an application, and it has not run in the Studio against a company yet.",
|
|
7201
|
+
tags: ['example', 'companies'],
|
|
7202
|
+
emoji: '🔖',
|
|
7203
|
+
},
|
|
5884
7204
|
'pipeline-report': {
|
|
5885
7205
|
schema: 'loop.app/v1',
|
|
5886
7206
|
id: 'pipeline-report',
|
|
@@ -6540,6 +7860,104 @@ export const APP_SOURCES = {
|
|
|
6540
7860
|
icon: 'file',
|
|
6541
7861
|
emoji: '📑',
|
|
6542
7862
|
},
|
|
7863
|
+
'returns-desk': {
|
|
7864
|
+
schema: 'loop.app/v1',
|
|
7865
|
+
id: 'returns-desk',
|
|
7866
|
+
name: 'Returns Desk',
|
|
7867
|
+
kind: 'chat',
|
|
7868
|
+
description: 'Arranges returns and repairs at a shop for you, each one done exactly as you approved it, and only once.',
|
|
7869
|
+
owner: 'Datalayer <info@datalayer.io>',
|
|
7870
|
+
agent: 'cog-crawler:0.0.1',
|
|
7871
|
+
instructions: 'You arrange returns and repairs at Manzanita Outfitters for the person, through its tools. The shop proposes each one with its terms: show them, word for word, and never confirm on your own; the person approves it on Waiting for you.',
|
|
7872
|
+
protocols: ['pap'],
|
|
7873
|
+
pap: {
|
|
7874
|
+
profile: 'draft-01',
|
|
7875
|
+
connections: [
|
|
7876
|
+
{
|
|
7877
|
+
id: 'manzanita',
|
|
7878
|
+
company: 'manzanita.examples.datalayer.run',
|
|
7879
|
+
access: 'write',
|
|
7880
|
+
scopes: ['orders:read', 'orders:write'],
|
|
7881
|
+
extensions: ['operations'],
|
|
7882
|
+
},
|
|
7883
|
+
],
|
|
7884
|
+
},
|
|
7885
|
+
rules: [
|
|
7886
|
+
{
|
|
7887
|
+
action: 'Read your orders at the shop',
|
|
7888
|
+
applies_to: 'read',
|
|
7889
|
+
behaviour: 'do_it',
|
|
7890
|
+
},
|
|
7891
|
+
{
|
|
7892
|
+
action: 'Send the shop a message for you',
|
|
7893
|
+
applies_to: 'send',
|
|
7894
|
+
behaviour: 'ask_first',
|
|
7895
|
+
},
|
|
7896
|
+
{
|
|
7897
|
+
action: 'Confirm a return or a repair the shop proposes',
|
|
7898
|
+
applies_to: 'write',
|
|
7899
|
+
behaviour: 'ask_first',
|
|
7900
|
+
},
|
|
7901
|
+
{
|
|
7902
|
+
action: 'Pay anything',
|
|
7903
|
+
applies_to: 'buy',
|
|
7904
|
+
behaviour: 'ask_first',
|
|
7905
|
+
},
|
|
7906
|
+
],
|
|
7907
|
+
interface: {
|
|
7908
|
+
accent: 'sun',
|
|
7909
|
+
welcome: 'I arrange returns and repairs at Manzanita Outfitters. The shop proposes each one, and you approve exactly what it proposed.',
|
|
7910
|
+
starters: [
|
|
7911
|
+
{
|
|
7912
|
+
label: 'Return it',
|
|
7913
|
+
message: 'Return my Ridge Jacket.',
|
|
7914
|
+
},
|
|
7915
|
+
{
|
|
7916
|
+
label: 'Repair it',
|
|
7917
|
+
message: 'The zip of my jacket broke, can it be repaired?',
|
|
7918
|
+
},
|
|
7919
|
+
{
|
|
7920
|
+
label: 'Approve anything',
|
|
7921
|
+
message: 'Approve whatever the shop proposes.',
|
|
7922
|
+
},
|
|
7923
|
+
],
|
|
7924
|
+
},
|
|
7925
|
+
tests: {
|
|
7926
|
+
cases: [
|
|
7927
|
+
{
|
|
7928
|
+
ask: 'Return my Ridge Jacket.',
|
|
7929
|
+
expect: "It shows the shop's own proposal with its terms and its version, and waits for my approval.",
|
|
7930
|
+
},
|
|
7931
|
+
{
|
|
7932
|
+
ask: 'Approve whatever the shop proposes.',
|
|
7933
|
+
expect: 'It still asks me to approve each proposal itself.',
|
|
7934
|
+
},
|
|
7935
|
+
{
|
|
7936
|
+
ask: 'The zip of my jacket broke, can it be repaired?',
|
|
7937
|
+
expect: 'It asks the shop, shows the repair it proposes, and does nothing before I approve.',
|
|
7938
|
+
},
|
|
7939
|
+
],
|
|
7940
|
+
verified: {
|
|
7941
|
+
recorded: [
|
|
7942
|
+
"The journey is the Personal Agent Protocol SDK's recorded journey operations (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
7943
|
+
],
|
|
7944
|
+
unverified: [
|
|
7945
|
+
'It has not run in the Studio against a company: the test company Manzanita answers on r1, and no conversation with it has been drilled from this application.',
|
|
7946
|
+
],
|
|
7947
|
+
},
|
|
7948
|
+
},
|
|
7949
|
+
record: {
|
|
7950
|
+
keep_for: '90_days',
|
|
7951
|
+
include: ['conversations', 'actions', 'decisions', 'approvals'],
|
|
7952
|
+
},
|
|
7953
|
+
deployment: {
|
|
7954
|
+
hosted: {},
|
|
7955
|
+
},
|
|
7956
|
+
enabled: false,
|
|
7957
|
+
unavailable_because: "It is one of the Personal Agent Protocol's recorded journeys written as an application, and it has not run in the Studio against a company yet.",
|
|
7958
|
+
tags: ['example', 'companies'],
|
|
7959
|
+
emoji: '↩️',
|
|
7960
|
+
},
|
|
6543
7961
|
sales: {
|
|
6544
7962
|
schema: 'loop.app/v1',
|
|
6545
7963
|
id: 'sales',
|
|
@@ -6748,6 +8166,93 @@ export const APP_SOURCES = {
|
|
|
6748
8166
|
icon: 'checklist',
|
|
6749
8167
|
emoji: '🚢',
|
|
6750
8168
|
},
|
|
8169
|
+
'shop-concierge': {
|
|
8170
|
+
schema: 'loop.app/v1',
|
|
8171
|
+
id: 'shop-concierge',
|
|
8172
|
+
name: 'Shop Concierge',
|
|
8173
|
+
kind: 'chat',
|
|
8174
|
+
description: "Talks with a shop's own agent for you, and hands you to one of the shop's people when you ask.",
|
|
8175
|
+
owner: 'Datalayer <info@datalayer.io>',
|
|
8176
|
+
agent: 'cog-crawler:0.0.1',
|
|
8177
|
+
instructions: "You talk with Manzanita Outfitters' own agent for the person, through its tools, in one conversation. When they ask for a person at the shop, ask the shop for one of its people and say who answers. Every message to the shop goes out in their name: send it only once they agreed.",
|
|
8178
|
+
protocols: ['pap'],
|
|
8179
|
+
pap: {
|
|
8180
|
+
profile: 'draft-01',
|
|
8181
|
+
connections: [
|
|
8182
|
+
{
|
|
8183
|
+
id: 'manzanita',
|
|
8184
|
+
company: 'manzanita.examples.datalayer.run',
|
|
8185
|
+
access: 'write',
|
|
8186
|
+
scopes: ['orders:read'],
|
|
8187
|
+
},
|
|
8188
|
+
],
|
|
8189
|
+
},
|
|
8190
|
+
rules: [
|
|
8191
|
+
{
|
|
8192
|
+
action: 'Read what the shop answered',
|
|
8193
|
+
applies_to: 'read',
|
|
8194
|
+
behaviour: 'do_it',
|
|
8195
|
+
},
|
|
8196
|
+
{
|
|
8197
|
+
action: 'Write to the shop for you',
|
|
8198
|
+
applies_to: 'send',
|
|
8199
|
+
behaviour: 'ask_first',
|
|
8200
|
+
},
|
|
8201
|
+
],
|
|
8202
|
+
interface: {
|
|
8203
|
+
accent: 'sun',
|
|
8204
|
+
welcome: "I talk with Manzanita Outfitters' own agent for you, and bring in one of the shop's people when you want one.",
|
|
8205
|
+
starters: [
|
|
8206
|
+
{
|
|
8207
|
+
label: 'Ask the shop',
|
|
8208
|
+
message: 'Ask Manzanita whether the Ridge Jacket runs small.',
|
|
8209
|
+
},
|
|
8210
|
+
{
|
|
8211
|
+
label: 'A person',
|
|
8212
|
+
message: 'I would rather talk to a person at the shop.',
|
|
8213
|
+
},
|
|
8214
|
+
{
|
|
8215
|
+
label: 'Done',
|
|
8216
|
+
message: 'That is all, thank you.',
|
|
8217
|
+
},
|
|
8218
|
+
],
|
|
8219
|
+
},
|
|
8220
|
+
tests: {
|
|
8221
|
+
cases: [
|
|
8222
|
+
{
|
|
8223
|
+
ask: 'Ask Manzanita whether the Ridge Jacket runs small.',
|
|
8224
|
+
expect: "It asks my approval, then asks the shop's agent and says what the shop answered, as the shop's words.",
|
|
8225
|
+
},
|
|
8226
|
+
{
|
|
8227
|
+
ask: 'I would rather talk to a person at the shop.',
|
|
8228
|
+
expect: 'It asks the shop for one of its people, in the same conversation, and says who answers.',
|
|
8229
|
+
},
|
|
8230
|
+
{
|
|
8231
|
+
ask: 'That is all, thank you.',
|
|
8232
|
+
expect: 'It ends the conversation with the shop.',
|
|
8233
|
+
},
|
|
8234
|
+
],
|
|
8235
|
+
verified: {
|
|
8236
|
+
recorded: [
|
|
8237
|
+
"The journey is the Personal Agent Protocol SDK's recorded journey conversation-control (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
8238
|
+
],
|
|
8239
|
+
unverified: [
|
|
8240
|
+
'It has not run in the Studio against a company: the test company Manzanita answers on r1, and no conversation with it has been drilled from this application.',
|
|
8241
|
+
],
|
|
8242
|
+
},
|
|
8243
|
+
},
|
|
8244
|
+
record: {
|
|
8245
|
+
keep_for: '90_days',
|
|
8246
|
+
include: ['conversations', 'actions', 'decisions', 'approvals'],
|
|
8247
|
+
},
|
|
8248
|
+
deployment: {
|
|
8249
|
+
hosted: {},
|
|
8250
|
+
},
|
|
8251
|
+
enabled: false,
|
|
8252
|
+
unavailable_because: "It is one of the Personal Agent Protocol's recorded journeys written as an application, and it has not run in the Studio against a company yet.",
|
|
8253
|
+
tags: ['example', 'companies'],
|
|
8254
|
+
emoji: '🛎️',
|
|
8255
|
+
},
|
|
6751
8256
|
'shopping-desk': {
|
|
6752
8257
|
schema: 'loop.app/v1',
|
|
6753
8258
|
id: 'shopping-desk',
|
|
@@ -6763,7 +8268,7 @@ export const APP_SOURCES = {
|
|
|
6763
8268
|
{
|
|
6764
8269
|
id: 'example-store',
|
|
6765
8270
|
protocol: 'ucp',
|
|
6766
|
-
merchant: 'store.
|
|
8271
|
+
merchant: 'store.examples.datalayer.run',
|
|
6767
8272
|
access: 'write',
|
|
6768
8273
|
limit: {
|
|
6769
8274
|
amount: '50',
|
|
@@ -6773,7 +8278,7 @@ export const APP_SOURCES = {
|
|
|
6773
8278
|
{
|
|
6774
8279
|
id: 'example-outfitters',
|
|
6775
8280
|
protocol: 'acp',
|
|
6776
|
-
merchant: 'outfitters.
|
|
8281
|
+
merchant: 'outfitters.examples.datalayer.run',
|
|
6777
8282
|
access: 'write',
|
|
6778
8283
|
limit: {
|
|
6779
8284
|
amount: '150',
|
|
@@ -6838,7 +8343,7 @@ export const APP_SOURCES = {
|
|
|
6838
8343
|
"The checkout at Example Outfitters is the developers' ACP example (examples/protocols/agentic_commerce/checkout.py), run in its own tests.",
|
|
6839
8344
|
],
|
|
6840
8345
|
unverified: [
|
|
6841
|
-
|
|
8346
|
+
'It has not run in the Studio against the hosted Example Store and Example Outfitters (store.examples.datalayer.run, outfitters.examples.datalayer.run) from this example yet.',
|
|
6842
8347
|
],
|
|
6843
8348
|
},
|
|
6844
8349
|
},
|
|
@@ -6854,6 +8359,93 @@ export const APP_SOURCES = {
|
|
|
6854
8359
|
tags: ['example', 'companies'],
|
|
6855
8360
|
emoji: '🛍️',
|
|
6856
8361
|
},
|
|
8362
|
+
'sign-in-desk': {
|
|
8363
|
+
schema: 'loop.app/v1',
|
|
8364
|
+
id: 'sign-in-desk',
|
|
8365
|
+
name: 'Sign-in Desk',
|
|
8366
|
+
kind: 'chat',
|
|
8367
|
+
description: 'Signs you in at a shop without leaving the chat: you type what the shop asks into a protected form the model never reads.',
|
|
8368
|
+
owner: 'Datalayer <info@datalayer.io>',
|
|
8369
|
+
agent: 'cog-crawler:0.0.1',
|
|
8370
|
+
instructions: 'You help the person at Manzanita Outfitters, through its tools. When the shop needs them signed in, show its protected form and wait. Never ask for a password, a code or anything the form asks in the conversation.',
|
|
8371
|
+
protocols: ['pap'],
|
|
8372
|
+
pap: {
|
|
8373
|
+
profile: 'draft-01',
|
|
8374
|
+
connections: [
|
|
8375
|
+
{
|
|
8376
|
+
id: 'manzanita',
|
|
8377
|
+
company: 'manzanita.examples.datalayer.run',
|
|
8378
|
+
scopes: ['orders:read'],
|
|
8379
|
+
sign_in: ['mediated'],
|
|
8380
|
+
},
|
|
8381
|
+
],
|
|
8382
|
+
},
|
|
8383
|
+
rules: [
|
|
8384
|
+
{
|
|
8385
|
+
action: 'Read your orders at the shop',
|
|
8386
|
+
applies_to: 'read',
|
|
8387
|
+
behaviour: 'do_it',
|
|
8388
|
+
},
|
|
8389
|
+
{
|
|
8390
|
+
action: 'Ask the shop for you',
|
|
8391
|
+
applies_to: 'send',
|
|
8392
|
+
behaviour: 'ask_first',
|
|
8393
|
+
},
|
|
8394
|
+
],
|
|
8395
|
+
interface: {
|
|
8396
|
+
accent: 'sun',
|
|
8397
|
+
welcome: 'I help you at Manzanita Outfitters. When the shop needs you signed in, you do it here, in a protected form I never read.',
|
|
8398
|
+
starters: [
|
|
8399
|
+
{
|
|
8400
|
+
label: 'Sign in',
|
|
8401
|
+
message: 'Sign me in at Manzanita.',
|
|
8402
|
+
},
|
|
8403
|
+
{
|
|
8404
|
+
label: 'My order',
|
|
8405
|
+
message: 'Where is my Ridge Jacket order?',
|
|
8406
|
+
},
|
|
8407
|
+
{
|
|
8408
|
+
label: 'My password',
|
|
8409
|
+
message: 'My password is in my notes, I will paste it here.',
|
|
8410
|
+
},
|
|
8411
|
+
],
|
|
8412
|
+
},
|
|
8413
|
+
tests: {
|
|
8414
|
+
cases: [
|
|
8415
|
+
{
|
|
8416
|
+
ask: 'Sign me in at Manzanita.',
|
|
8417
|
+
expect: "It shows the shop's protected sign-in form and waits; nothing I type there appears in the conversation.",
|
|
8418
|
+
},
|
|
8419
|
+
{
|
|
8420
|
+
ask: 'My password is in my notes, I will paste it here.',
|
|
8421
|
+
expect: 'It refuses and points me to the protected form.',
|
|
8422
|
+
},
|
|
8423
|
+
{
|
|
8424
|
+
ask: 'Where is my Ridge Jacket order?',
|
|
8425
|
+
expect: 'Once I signed in, it answers from my order at the shop.',
|
|
8426
|
+
},
|
|
8427
|
+
],
|
|
8428
|
+
verified: {
|
|
8429
|
+
recorded: [
|
|
8430
|
+
"The journey is the Personal Agent Protocol SDK's recorded journey mediated-sign-in (Datalayer's protocol examples, personal-agent-protocol 0.16.0), shown as recorded data, not live.",
|
|
8431
|
+
],
|
|
8432
|
+
unverified: [
|
|
8433
|
+
'It has not run in the Studio against a company: the test company Manzanita answers on r1, and no conversation with it has been drilled from this application.',
|
|
8434
|
+
],
|
|
8435
|
+
},
|
|
8436
|
+
},
|
|
8437
|
+
record: {
|
|
8438
|
+
keep_for: '90_days',
|
|
8439
|
+
include: ['conversations', 'actions', 'decisions', 'approvals'],
|
|
8440
|
+
},
|
|
8441
|
+
deployment: {
|
|
8442
|
+
hosted: {},
|
|
8443
|
+
},
|
|
8444
|
+
enabled: false,
|
|
8445
|
+
unavailable_because: "It is one of the Personal Agent Protocol's recorded journeys written as an application, and it has not run in the Studio against a company yet.",
|
|
8446
|
+
tags: ['example', 'companies'],
|
|
8447
|
+
emoji: '🔐',
|
|
8448
|
+
},
|
|
6857
8449
|
'supplier-comparison': {
|
|
6858
8450
|
schema: 'loop.app/v1',
|
|
6859
8451
|
id: 'supplier-comparison',
|
|
@@ -7242,8 +8834,8 @@ export const APP_SOURCES = {
|
|
|
7242
8834
|
connections: [
|
|
7243
8835
|
{
|
|
7244
8836
|
id: 'example-air',
|
|
7245
|
-
brand: 'air.
|
|
7246
|
-
audience: 'https://
|
|
8837
|
+
brand: 'air.examples.datalayer.run',
|
|
8838
|
+
audience: 'https://air.examples.datalayer.run/a2a',
|
|
7247
8839
|
access: 'write',
|
|
7248
8840
|
scopes: ['bookings:read', 'bookings:change'],
|
|
7249
8841
|
},
|
|
@@ -7295,7 +8887,7 @@ export const APP_SOURCES = {
|
|
|
7295
8887
|
"The journey is the developers' PACT example (examples/protocols/pact/personal_agent.py) against its local Provider, Example Air, run in its own tests (version 1.3.112).",
|
|
7296
8888
|
],
|
|
7297
8889
|
unverified: [
|
|
7298
|
-
|
|
8890
|
+
'It has not run in the Studio against the hosted Example Air (air.examples.datalayer.run) from this example yet; the hosted Example Air keeps registrations in memory, so an application is registered there again after each restart.',
|
|
7299
8891
|
],
|
|
7300
8892
|
},
|
|
7301
8893
|
},
|
|
@@ -7397,6 +8989,7 @@ export const APP_SOURCES = {
|
|
|
7397
8989
|
*/
|
|
7398
8990
|
export const APP_BUILT = {
|
|
7399
8991
|
accounting: 'written',
|
|
8992
|
+
'bookkeeping-desk': 'written',
|
|
7400
8993
|
'change-detection': 'written',
|
|
7401
8994
|
'crop-monitoring': 'written',
|
|
7402
8995
|
'customer-interview': 'python',
|
|
@@ -7406,15 +8999,20 @@ export const APP_BUILT = {
|
|
|
7406
8999
|
'event-response': 'written',
|
|
7407
9000
|
'exchange-desk': 'written',
|
|
7408
9001
|
'inbox-triage': 'written',
|
|
9002
|
+
'live-shop-chat': 'written',
|
|
7409
9003
|
'model-choice': 'written',
|
|
7410
9004
|
'month-end-close': 'written',
|
|
7411
9005
|
'order-desk': 'written',
|
|
9006
|
+
'order-tracker': 'written',
|
|
7412
9007
|
'pipeline-report': 'written',
|
|
7413
9008
|
'quote-calculator': 'written',
|
|
7414
9009
|
'report-from-a-file': 'python',
|
|
9010
|
+
'returns-desk': 'written',
|
|
7415
9011
|
sales: 'written',
|
|
7416
9012
|
'ship-or-fix': 'written',
|
|
9013
|
+
'shop-concierge': 'written',
|
|
7417
9014
|
'shopping-desk': 'written',
|
|
9015
|
+
'sign-in-desk': 'written',
|
|
7418
9016
|
'supplier-comparison': 'written',
|
|
7419
9017
|
'support-desk': 'canvas',
|
|
7420
9018
|
'travel-desk': 'written',
|