RPC interface of AI agent listener.

IAgenticaRpcListener is an interface defining an AI agent listener provided from the client to server through the RPC (Remote Procedure Call) paradigm in the websocket protocol.

It has defined the event listener functions of AgenticaEvent types. If you skip some event typed functions' implementations, the skipped event would be ignored.

Also, the event like listener functions of IAgenticaRpcListener type are remotely called when a client calls the IAgenticaRpcService.conversate function remotely, so that the server responses to the client by the event listener functions.

You can connect to the WebSocket server of the AI agent like below:

import { IAgenticaRpcListener, IAgenticaRpcService } from "@agentica/core";
import { Driver, WebSocketConnector } from "tgrid";

const connector: WebSocketConnector<
null,
IAgenticaRpcListener,
IAgenticaRpcService
> = new WebSocketConnector(null, {
text: async (evt) => {
console.log(evt.role, evt.text);
},
describe: async (evt) => {
console.log("describer", evt.text);
},
});
await connector.connect("ws://localhost:3001");

const driver: Driver<IAgenticaRpcService> = connector.getDriver();
await driver.conversate("Hello, what you can do?");

Samchon

interface IAgenticaRpcListener {
    call(evt: ICall): Promise<undefined | null | object>;
    cancel(evt: IAgenticaEventJson.ICancel): Promise<void>;
    describe(evt: IAgenticaEventJson.IDescribe): Promise<void>;
    execute(evt: IAgenticaEventJson.IExecute): Promise<void>;
    initialize(evt: IInitialize): Promise<void>;
    select(evt: IAgenticaEventJson.ISelect): Promise<void>;
    text(evt: IAgenticaEventJson.IText): Promise<void>;
}

Methods

  • Call a function.

    Informs a function calling from the AI agent server to client.

    This event comes before the function execution, so that if you return a different value from the original IAgenticaEventJson.ICall.arguments, you can modify the arguments of the function calling.

    Otherwise you do not return anything (undefined) or null value, the arguments of the function calling would not be modified. Also, if you are not interested in the function calling event, you can skit its implementation.

    Parameters

    • evt: ICall

      Event of a function calling

    Returns Promise<undefined | null | object>

    New arguments if you want to modify, otherwise null or undefined

  • Initialize the AI agent.

    Informs an initialization of controller functions from the AI agent server to client.

    Parameters

    Returns Promise<void>