UNPKG

@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.

61 lines (60 loc) 2.12 kB
import { z } from "zod"; import { AIAgentCapability } from "@hashgraphonline/standards-sdk"; import { BaseHCS10QueryTool } from "./standards-agent-kit.es7.js"; import { NaturalLanguageMapper } from "./standards-agent-kit.es19.js"; const FindRegistrationsZodSchema = z.object({ accountId: z.string().optional().describe( "Optional: Filter registrations by a specific Hedera account ID (e.g., 0.0.12345)." ), tags: z.union([ z.array(z.nativeEnum(AIAgentCapability)), z.array(z.string()), z.string() ]).optional().transform((val) => { if (!val) return void 0; if (typeof val === "string") { return NaturalLanguageMapper.parseCapabilities(val); } if (Array.isArray(val) && val.length > 0 && typeof val[0] === "string") { return NaturalLanguageMapper.parseTagsOrCapabilities(val); } return val; }).describe( 'Optional: Filter by capabilities/tags like "ai", "data", "analytics". Can be natural language terms or capability numbers.' ) }); class FindRegistrationsTool extends BaseHCS10QueryTool { constructor(params) { super(params); this.name = "find_registrations"; this.description = 'Searches the configured agent registry for HCS-10 agents. You can filter by account ID or tags/capabilities using natural language like "ai", "data processing", "analytics". Returns basic registration info.'; this.specificInputSchema = FindRegistrationsZodSchema; } async executeQuery({ accountId, tags }) { const hcs10Builder = this.hcs10Builder; const params = {}; if (accountId) { params.accountId = accountId; } if (tags) { params.tags = tags; } await hcs10Builder.findRegistrations(params); const result = await hcs10Builder.execute(); if (result.success && "rawResult" in result && result.rawResult) { const raw = result.rawResult; return { success: true, data: raw.formattedOutput || raw.message || "Registrations searched" }; } return result; } } export { FindRegistrationsTool }; //# sourceMappingURL=standards-agent-kit.es13.js.map