@hashgraphonline/standards-agent-kit
Version:
A modular SDK for building on-chain autonomous agents using Hashgraph Online Standards, including HCS-10 for agent discovery and communication.
65 lines (64 loc) • 1.5 kB
TypeScript
import { StructuredTool } from '@langchain/core/tools';
import { HCS10Client } from '../hcs10/HCS10Client';
import { IStateManager } from '../state/state-types';
import { Logger } from '@hashgraphonline/standards-sdk';
/**
* Context provided to plugins during initialization
*/
export interface PluginContext {
/**
* The HCS10Client instance
*/
client: HCS10Client;
/**
* Optional state manager
*/
stateManager?: IStateManager;
/**
* Logger instance
*/
logger: Logger;
/**
* Configuration options
*/
config: Record<string, any>;
}
/**
* Standard interface that all plugins must implement
*/
export interface IPlugin {
/**
* Unique identifier for the plugin
*/
id: string;
/**
* Human-readable name of the plugin
*/
name: string;
/**
* Description of what the plugin does
*/
description: string;
/**
* Version of the plugin
*/
version: string;
/**
* Author of the plugin
*/
author: string;
/**
* Initialize the plugin with the provided context
* @param context The context containing shared resources
*/
initialize(context: PluginContext): Promise<void>;
/**
* Get the tools provided by this plugin
* @returns Array of tools provided by this plugin
*/
getTools(): StructuredTool[];
/**
* Clean up resources when the plugin is unloaded
*/
cleanup?(): Promise<void>;
}