npm

@wix/agent-platform-bm-sdk
TypeScript icon, indicating that this package has built-in type declarations

1.18.0 • Public • Published

Introduction

agent-platform-bm-sdk is a library designed to facilitate interaction with a platform's agent within a Domain Assistant Tool. It provides a way to report events and errors to the platform, and to invoke side effects.

Prerequisites

Add to your Assistant App, the GENIE.PUBLISH_ASSISTANT_SIDE_EFFECT permission

Usage in Domain Assistant Tool

In the tools execute function use this:

execute: async (params, ctx) => {
 const APP_SECRET = ctx.getConfig('app-secret')!
 ctx.apiGatewayClient.signWith('<PASTE_APP_DEF_ID>', APP_SECRET)

 const signedAspects = await ctx.apiGatewayClient.addServiceIdentitySafe(ctx.aspects)

 const data = {
   url: 'http://www.wix.com'
 }

 await ctx.invokeSideEffect(
   'your-event-name', //Like 'navigate-to' - must match this regex `^[A-Za-z0-9_-]+$`
   data,
   signedAspects
 )

Usage in BM Client

Add this code to your BM app when you want to receive event on the client (like navigate)

import { useAssistantEffect } from '@wix/agent-platform-bm-sdk';

// ...

useAssistantEffect<{url: string}>(
  ({url}) => {
    console.log({url});
    window.open(url);
  },
  'your-app-def-id',
  'your-event-name', //like 'navigate-to'
);

Example Code

Domain Assistant Code (emit)

https://github.com/wix-private/assistant-domains/blob/0db203f34094fb862eed27f65b4e243da6971a93/packages/time-assistant/src/tools/getCurrentTime.ts#L22

Client Code (listen)

https://github.com/wix-private/genie/blob/2027541202f6330157ddb682c8037f7c50138985/packages/business-assistant-bm-app/src/pages/index.tsx#L28

Testing in AI Assistant Playground

  1. In Advanced Assistant Configuration (initial screen) register a side effect listener.
  2. In chat trigger side effect from the tool or widget.
  3. Expect browser alert with emitted side effect data.

Readme

Keywords

none

Package Sidebar

Install

npm i @wix/agent-platform-bm-sdk

Weekly Downloads

57

Version

1.18.0

License

UNLICENSED

Unpacked Size

42.8 kB

Total Files

14

Last publish

Collaborators

  • haimbrum-wix
  • mayaco
  • itaytay
  • amitde007
  • oferb-wix
  • varzager
  • youngshinobi
  • tombenezra
  • domasmak
  • yurynix
  • tuvit.wix
  • usability-sessions
  • yoav
  • wix-ci
  • shahata
  • wixnpm
  • wix-ambassador
  • netanelgilad
  • wix-ci-publisher
  • wix-bi-publisher
  • galil-team
  • lxgreen
  • ariki
  • liorgwix
  • arielh
  • falconci
  • itai.benda