UNPKG

@hashgraphonline/standards-agent-plugin

Version:

Standards agent plugin for OpenConvAI functionality with HCS-10 tools

123 lines (122 loc) 3.62 kB
import { BasePlugin } from "hedera-agent-kit"; import { OpenConvaiState, HCS10Builder, RegisterAgentTool, FindRegistrationsTool, RetrieveProfileTool, InitiateConnectionTool, ListConnectionsTool, SendMessageToConnectionTool, CheckMessagesTool, ConnectionMonitorTool, ManageConnectionRequestsTool, AcceptConnectionRequestTool, ListUnapprovedConnectionRequestsTool } from "@hashgraphonline/standards-agent-kit"; class OpenConvAIPlugin extends BasePlugin { constructor() { super(...arguments); this.id = "openconvai-standards-agent-kit"; this.name = "OpenConvAI Standards Agent Kit Plugin"; this.description = "Comprehensive plugin providing all HCS-10 agent tools for registration, connections, and messaging"; this.version = "1.0.0"; this.author = "Hashgraph Online"; this.namespace = "openconvai"; this.tools = []; } async initialize(context) { await super.initialize(context); const hederaKit = context.config.hederaKit; if (!hederaKit) { this.context.logger.warn( "HederaKit not found in context. OpenConvAI tools will not be available." ); return; } try { this.stateManager = context.stateManager || new OpenConvaiState(); this.initializeTools(); this.context.logger.info( "OpenConvAI Standards Agent Kit Plugin initialized successfully" ); } catch (error) { this.context.logger.error( "Failed to initialize OpenConvAI plugin:", error ); } } initializeTools() { if (!this.stateManager) { throw new Error("StateManager must be initialized before creating tools"); } const hederaKit = this.context.config.hederaKit; if (!hederaKit) { throw new Error("HederaKit not found in context config"); } const hcs10Builder = new HCS10Builder(hederaKit, this.stateManager); this.tools = [ new RegisterAgentTool({ hederaKit, hcs10Builder, logger: this.context.logger }), new FindRegistrationsTool({ hederaKit, hcs10Builder, logger: this.context.logger }), new RetrieveProfileTool({ hederaKit, hcs10Builder, logger: this.context.logger }), new InitiateConnectionTool({ hederaKit, hcs10Builder, logger: this.context.logger }), new ListConnectionsTool({ hederaKit, hcs10Builder, logger: this.context.logger }), new SendMessageToConnectionTool({ hederaKit, hcs10Builder, logger: this.context.logger }), new CheckMessagesTool({ hederaKit, hcs10Builder, logger: this.context.logger }), new ConnectionMonitorTool({ hederaKit, hcs10Builder, logger: this.context.logger }), new ManageConnectionRequestsTool({ hederaKit, hcs10Builder, logger: this.context.logger }), new AcceptConnectionRequestTool({ hederaKit, hcs10Builder, logger: this.context.logger }), new ListUnapprovedConnectionRequestsTool({ hederaKit, hcs10Builder, logger: this.context.logger }) ]; } getTools() { return this.tools; } getStateManager() { return this.stateManager; } async cleanup() { this.tools = []; delete this.stateManager; if (this.context?.logger) { this.context.logger.info( "OpenConvAI Standards Agent Kit Plugin cleaned up" ); } } } export { OpenConvAIPlugin }; //# sourceMappingURL=index2.js.map