ekoai-sdk
v0.11.1
Published
`pnpm install`
Downloads
165
Readme
Installation
pnpm install
Command
- pnpm dev – Start the development server.
- pnpm build – Build the project for production.
Caution!
- Avoid using [fileName].css because when Vite bundles the project, it generates a separate CSS file that needs to be manually included in the HTML file. This could potentially affect the parent application. Use CSS-in-JS instead. However, if you have a better solution, feel free to suggest one.
SDK Observer
The SDK includes an Observer pattern implementation for handling events within the SDK. The observer pattern allows components to subscribe to specific events and be notified when those events occur.
Basic Usage
import { SDKObserver } from "@libs/sdk-observer";
// Get the singleton instance
const observer = SDKObserver.getInstance();
// Set observers for different event types
observer.setObserver({
onNewMessage: (message) => {
console.log("Message received:", message);
},
onAppAction: async (action) => {
console.log("App action triggered:", action);
return "Action processed";
},
onConfigChange: (config) => {
console.log("Config changed:", config);
},
/**
* Set observers for various events
* message: string
* code: number
*/
onError: (err) => {
console.log(err.message);
console.log(err.code);
},
});
// When you no longer need an observer, remove it
observer.removeObserver("onConfigChange");Supported Event Types
onNewMessage: Triggered when a new message is receivedonAppAction: Triggered when an app action is performed (returns a Promise)onConfigChange: Triggered when the app configuration changesonError: Triggered when an error occurs in the SDK
Data Types
The observer functions receive typed data based on the event type:
onNewMessage: Receives message dataonAppAction: Receives an object withaction_nameandaction_argumentpropertiesonConfigChange: Receives a partial config object that conforms to theIAppConfiginterfaceonError: Receives an error object withmessageandcodeproperties
Question
- Do we need to publish this to npm? I'm not sure whether all of our customers use React, Vue, or other frameworks. If they do, publishing to npm would be beneficial, as it would allow them to install it easily.
URL For Dev
- https://dtbnwho7n6mc0.cloudfront.net/ekoai-sdk.js
- https://dtbnwho7n6mc0.cloudfront.net/ekoai-sdk.umd.cjs
