@hashgraphonline/standards-agent-kit 0.2.0 → 0.2.101
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +137 -170
- package/dist/cjs/builders/hcs10/hcs10-builder.d.ts +4 -0
- package/dist/cjs/standards-agent-kit.cjs +1 -1
- package/dist/cjs/standards-agent-kit.cjs.map +1 -1
- package/dist/cjs/tools/hcs10/RegisterAgentTool.d.ts +14 -4
- package/dist/es/builders/hcs10/hcs10-builder.d.ts +4 -0
- package/dist/es/standards-agent-kit.es2.js +27 -13
- package/dist/es/standards-agent-kit.es2.js.map +1 -1
- package/dist/es/standards-agent-kit.es5.js +75 -2
- package/dist/es/standards-agent-kit.es5.js.map +1 -1
- package/dist/es/tools/hcs10/RegisterAgentTool.d.ts +14 -4
- package/dist/umd/builders/hcs10/hcs10-builder.d.ts +4 -0
- package/dist/umd/standards-agent-kit.umd.js +1 -1
- package/dist/umd/standards-agent-kit.umd.js.map +1 -1
- package/dist/umd/tools/hcs10/RegisterAgentTool.d.ts +14 -4
- package/package.json +4 -4
- package/src/builders/hcs10/hcs10-builder.ts +37 -16
- package/src/tools/hcs10/RegisterAgentTool.ts +111 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-agent-kit.es5.js","sources":["../../src/tools/hcs10/RegisterAgentTool.ts"],"sourcesContent":["import { AIAgentCapability } from '@hashgraphonline/standards-sdk';\nimport { z } from 'zod';\nimport { BaseServiceBuilder } from 'hedera-agent-kit';\nimport { HCS10Builder, RegisterAgentParams } from '../../builders/hcs10/hcs10-builder';\nimport { BaseHCS10TransactionTool } from './base-hcs10-tools';\nimport { HCS10TransactionToolParams } from './hcs10-tool-params';\n\nconst RegisterAgentZodSchema = z.object({\n name: z\n .string()\n .min(1)\n .max(50)\n .describe('A unique name for the agent (1-50 characters)'),\n description: z\n .string()\n .max(500)\n .optional()\n .describe('Optional bio description for the agent (max 500 characters)'),\n alias: z\n .string()\n .optional()\n .describe('Optional custom username/alias for the agent'),\n type: z\n .enum(['autonomous', 'manual'])\n .optional()\n .describe('Agent type (default: autonomous)'),\n model: z\n .string()\n .optional()\n .describe('AI model identifier (default: agent-model-2024)'),\n capabilities: z\n .array(z.nativeEnum(AIAgentCapability))\n .optional()\n .describe('Array of agent capabilities (default: [TEXT_GENERATION])'),\n creator: z.string().optional().describe('Creator attribution for the agent'),\n socials: z\n .record(\n z.enum([\n 'twitter',\n 'github',\n 'discord',\n 'telegram',\n 'linkedin',\n 'youtube',\n 'website',\n 'x',\n ] as const),\n z.string()\n )\n .optional()\n .describe(\n 'Social media links (e.g., {\"twitter\": \"@handle\", \"discord\": \"username\"})'\n ),\n properties: z\n .record(z.unknown())\n .optional()\n .describe('Custom metadata properties for the agent'),\n profilePicture: z\n .union([\n z.string().describe('URL or local file path to profile picture'),\n z.object({\n url: z.string().optional(),\n path: z.string().optional(),\n filename: z.string().optional(),\n }),\n ])\n .optional()\n .describe(\n 'Optional profile picture as URL, file path, or object with url/path/filename'\n ),\n existingProfilePictureTopicId: z\n .string()\n .optional()\n .describe(\n 'Topic ID of an existing profile picture to reuse (e.g., 0.0.12345)'\n ),\n initialBalance: z\n .number()\n .positive()\n .optional()\n .describe(\n 'Optional initial HBAR balance for the new agent account (will create new account if provided)'\n ),\n userAccountId: z\n .string()\n .optional()\n .describe(\n 'Optional account ID (e.g., 0.0.12345) to use as the agent account instead of creating a new one'\n ),\n hbarFee: z\n .number()\n .positive()\n .optional()\n .describe(\n 'Optional HBAR fee amount to charge per message on the inbound topic'\n ),\n tokenFees: z\n .array(\n z.object({\n amount: z.number().positive(),\n tokenId: z.string(),\n })\n )\n .optional()\n .describe('Optional token fees to charge per message'),\n exemptAccountIds: z\n .array(z.string())\n .optional()\n .describe('Optional account IDs to exempt from fees'),\n setAsCurrent: z\n .boolean()\n .optional()\n .describe('Whether to set as current agent (default: true)'),\n persistence: z\n .object({\n prefix: z.string().optional(),\n })\n .optional()\n .describe('Optional persistence configuration'),\n});\n\nexport class RegisterAgentTool extends BaseHCS10TransactionTool<\n typeof RegisterAgentZodSchema\n> {\n name = 'register_agent';\n description =\n 'Creates and registers the AI agent on the Hedera network. Returns JSON string with agent details (accountId, privateKey, topics) on success. Note: This tool requires multiple transactions and cannot be used in returnBytes mode.';\n specificInputSchema = RegisterAgentZodSchema;\n\n constructor(params: HCS10TransactionToolParams) {\n super(params);\n this.neverScheduleThisTool = true;\n this.requiresMultipleTransactions = true;\n }\n\n protected async callBuilderMethod(\n builder: BaseServiceBuilder,\n specificArgs: z.infer<typeof RegisterAgentZodSchema>\n ): Promise<void> {\n const hcs10Builder = builder as HCS10Builder;\n\n const params: RegisterAgentParams = {\n name: specificArgs.name,\n };\n\n if (specificArgs.description !== undefined) {\n params.bio = specificArgs.description;\n }\n if (specificArgs.alias !== undefined) {\n params.alias = specificArgs.alias;\n }\n if (specificArgs.type !== undefined) {\n params.type = specificArgs.type;\n }\n if (specificArgs.model !== undefined) {\n params.model = specificArgs.model;\n }\n if (specificArgs.capabilities !== undefined) {\n params.capabilities = specificArgs.capabilities;\n }\n if (specificArgs.creator !== undefined) {\n params.creator = specificArgs.creator;\n }\n if (specificArgs.socials !== undefined) {\n params.socials = specificArgs.socials;\n }\n if (specificArgs.properties !== undefined) {\n params.properties = specificArgs.properties;\n }\n if (specificArgs.profilePicture !== undefined) {\n if (typeof specificArgs.profilePicture === 'string') {\n params.profilePicture = specificArgs.profilePicture;\n } else {\n const profilePicObj: {\n url?: string;\n path?: string;\n filename?: string;\n } = {};\n if (specificArgs.profilePicture.url !== undefined) {\n profilePicObj.url = specificArgs.profilePicture.url;\n }\n if (specificArgs.profilePicture.path !== undefined) {\n profilePicObj.path = specificArgs.profilePicture.path;\n }\n if (specificArgs.profilePicture.filename !== undefined) {\n profilePicObj.filename = specificArgs.profilePicture.filename;\n }\n params.profilePicture = profilePicObj;\n }\n }\n if (specificArgs.existingProfilePictureTopicId !== undefined) {\n params.existingProfilePictureTopicId =\n specificArgs.existingProfilePictureTopicId;\n }\n if (specificArgs.userAccountId !== undefined) {\n params.userAccountId = specificArgs.userAccountId;\n }\n if (specificArgs.hbarFee !== undefined) {\n params.hbarFee = specificArgs.hbarFee;\n }\n if (specificArgs.tokenFees !== undefined) {\n params.tokenFees = specificArgs.tokenFees;\n }\n if (specificArgs.exemptAccountIds !== undefined) {\n params.exemptAccountIds = specificArgs.exemptAccountIds;\n }\n if (specificArgs.initialBalance !== undefined) {\n params.initialBalance = specificArgs.initialBalance;\n }\n\n await hcs10Builder.registerAgent(params);\n }\n}"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es5.js","sources":["../../src/tools/hcs10/RegisterAgentTool.ts"],"sourcesContent":["import { AIAgentCapability } from '@hashgraphonline/standards-sdk';\nimport { z } from 'zod';\nimport { BaseServiceBuilder } from 'hedera-agent-kit';\nimport { CallbackManagerForToolRun } from '@langchain/core/callbacks/manager';\nimport {\n HCS10Builder,\n RegisterAgentParams,\n} from '../../builders/hcs10/hcs10-builder';\nimport { BaseHCS10TransactionTool } from './base-hcs10-tools';\nimport { HCS10TransactionToolParams } from './hcs10-tool-params';\nimport { RegisteredAgent } from '../../state/state-types';\n\nconst RegisterAgentZodSchema = z.object({\n name: z\n .string()\n .min(1)\n .max(50)\n .describe('A unique name for the agent (1-50 characters)'),\n description: z\n .string()\n .max(500)\n .optional()\n .describe('Optional bio description for the agent (max 500 characters)'),\n alias: z\n .string()\n .optional()\n .transform((val) => {\n if (!val || val.toLowerCase().includes('random')) {\n const timestamp = Date.now().toString(36);\n const randomChars = Math.random().toString(36);\n return `bot${timestamp}${randomChars}`;\n }\n return val;\n })\n .describe(\n 'Optional custom username/alias for the agent. Use \"random\" to generate a unique alias'\n ),\n type: z\n .enum(['autonomous', 'manual'])\n .optional()\n .describe('Agent type (default: autonomous)'),\n model: z\n .string()\n .optional()\n .describe('AI model identifier (default: agent-model-2024)'),\n capabilities: z\n .array(z.nativeEnum(AIAgentCapability))\n .optional()\n .describe('Array of agent capabilities (default: [TEXT_GENERATION])'),\n creator: z.string().optional().describe('Creator attribution for the agent'),\n socials: z\n .record(\n z.enum([\n 'twitter',\n 'github',\n 'discord',\n 'telegram',\n 'linkedin',\n 'youtube',\n 'website',\n 'x',\n ] as const),\n z.string()\n )\n .optional()\n .describe(\n 'Social media links (e.g., {\"twitter\": \"@handle\", \"discord\": \"username\"})'\n ),\n properties: z\n .record(z.unknown())\n .optional()\n .describe('Custom metadata properties for the agent'),\n profilePicture: z\n .union([\n z.string().describe('URL or local file path to profile picture'),\n z.object({\n url: z.string().optional(),\n path: z.string().optional(),\n filename: z.string().optional(),\n }),\n ])\n .optional()\n .describe(\n 'Optional profile picture as URL, file path, or object with url/path/filename'\n ),\n existingProfilePictureTopicId: z\n .string()\n .optional()\n .describe(\n 'Topic ID of an existing profile picture to reuse (e.g., 0.0.12345)'\n ),\n initialBalance: z\n .number()\n .positive()\n .optional()\n .describe(\n 'Optional initial HBAR balance for the new agent account (will create new account if provided)'\n ),\n userAccountId: z\n .string()\n .optional()\n .describe(\n 'Optional account ID (e.g., 0.0.12345) to use as the agent account instead of creating a new one'\n ),\n hbarFee: z\n .number()\n .positive()\n .optional()\n .describe(\n 'Optional HBAR fee amount to charge per message on the inbound topic'\n ),\n tokenFees: z\n .array(\n z.object({\n amount: z.number().positive(),\n tokenId: z.string(),\n })\n )\n .optional()\n .describe('Optional token fees to charge per message'),\n exemptAccountIds: z\n .array(z.string())\n .optional()\n .describe('Optional account IDs to exempt from fees'),\n setAsCurrent: z\n .boolean()\n .optional()\n .describe('Whether to set as current agent (default: true)'),\n persistence: z\n .object({\n prefix: z.string().optional(),\n })\n .optional()\n .describe('Optional persistence configuration'),\n});\n\nexport class RegisterAgentTool extends BaseHCS10TransactionTool<\n typeof RegisterAgentZodSchema\n> {\n name = 'register_agent';\n description =\n 'Creates and registers the AI agent on the Hedera network. Returns JSON string with agent details (accountId, privateKey, topics) on success. Note: This tool requires multiple transactions and cannot be used in returnBytes mode. If alias is set to \"random\" or contains \"random\", a unique alias will be generated.';\n specificInputSchema = RegisterAgentZodSchema;\n private specificArgs: z.infer<typeof RegisterAgentZodSchema> | undefined;\n\n constructor(params: HCS10TransactionToolParams) {\n super(params);\n this.neverScheduleThisTool = true;\n this.requiresMultipleTransactions = true;\n }\n\n protected async callBuilderMethod(\n builder: BaseServiceBuilder,\n specificArgs: z.infer<typeof RegisterAgentZodSchema>\n ): Promise<void> {\n const hcs10Builder = builder as HCS10Builder;\n this.specificArgs = specificArgs;\n const params: RegisterAgentParams = {\n name: specificArgs.name,\n };\n\n if (specificArgs.description !== undefined) {\n params.bio = specificArgs.description;\n }\n if (specificArgs.alias !== undefined) {\n params.alias = specificArgs.alias;\n } else {\n const randomSuffix = Date.now().toString(36);\n params.alias = `${specificArgs.name}${randomSuffix}`;\n }\n if (specificArgs.type !== undefined) {\n params.type = specificArgs.type;\n }\n if (specificArgs.model !== undefined) {\n params.model = specificArgs.model;\n }\n if (specificArgs.capabilities !== undefined) {\n params.capabilities = specificArgs.capabilities;\n }\n if (specificArgs.creator !== undefined) {\n params.creator = specificArgs.creator;\n }\n if (specificArgs.socials !== undefined) {\n params.socials = specificArgs.socials;\n }\n if (specificArgs.properties !== undefined) {\n params.properties = specificArgs.properties;\n }\n if (specificArgs.profilePicture !== undefined) {\n if (typeof specificArgs.profilePicture === 'string') {\n params.profilePicture = specificArgs.profilePicture;\n } else {\n const profilePicObj: {\n url?: string;\n path?: string;\n filename?: string;\n } = {};\n if (specificArgs.profilePicture.url !== undefined) {\n profilePicObj.url = specificArgs.profilePicture.url;\n }\n if (specificArgs.profilePicture.path !== undefined) {\n profilePicObj.path = specificArgs.profilePicture.path;\n }\n if (specificArgs.profilePicture.filename !== undefined) {\n profilePicObj.filename = specificArgs.profilePicture.filename;\n }\n params.profilePicture = profilePicObj;\n }\n }\n if (specificArgs.existingProfilePictureTopicId !== undefined) {\n params.existingProfilePictureTopicId =\n specificArgs.existingProfilePictureTopicId;\n }\n if (specificArgs.userAccountId !== undefined) {\n params.userAccountId = specificArgs.userAccountId;\n }\n if (specificArgs.hbarFee !== undefined) {\n params.hbarFee = specificArgs.hbarFee;\n }\n if (specificArgs.tokenFees !== undefined) {\n params.tokenFees = specificArgs.tokenFees;\n }\n if (specificArgs.exemptAccountIds !== undefined) {\n params.exemptAccountIds = specificArgs.exemptAccountIds;\n }\n if (specificArgs.initialBalance !== undefined) {\n params.initialBalance = specificArgs.initialBalance;\n }\n\n await hcs10Builder.registerAgent(params);\n }\n\n /**\n * Override _call to intercept the result and save agent to state if needed\n */\n protected override async _call(\n args: z.infer<ReturnType<this['schema']>>,\n runManager?: CallbackManagerForToolRun\n ): Promise<string> {\n const result = await super._call(args, runManager);\n\n const shouldSetAsCurrent = this.specificArgs?.setAsCurrent !== false;\n\n if (this.specificArgs && shouldSetAsCurrent) {\n try {\n const parsed = JSON.parse(result);\n if (parsed.rawResult) {\n this._handleRegistrationResult(parsed.rawResult);\n } else if (parsed.state || parsed.accountId || parsed.metadata) {\n this._handleRegistrationResult(parsed);\n }\n } catch (e) {}\n }\n\n return result;\n }\n\n /**\n * Extract agent data from registration result and save to state\n */\n private _handleRegistrationResult(rawResult: any): void {\n let accountId = rawResult.accountId || rawResult.metadata?.accountId;\n\n if (!accountId && rawResult.state?.createdResources) {\n const accountResource = rawResult.state.createdResources.find(\n (r: string) => r.startsWith('account:')\n );\n if (accountResource) {\n accountId = accountResource.split(':')[1];\n }\n }\n\n const inboundTopicId =\n rawResult.inboundTopicId ||\n rawResult.metadata?.inboundTopicId ||\n rawResult.state?.inboundTopicId;\n\n const outboundTopicId =\n rawResult.outboundTopicId ||\n rawResult.metadata?.outboundTopicId ||\n rawResult.state?.outboundTopicId;\n\n const profileTopicId =\n rawResult.profileTopicId ||\n rawResult.metadata?.profileTopicId ||\n rawResult.state?.profileTopicId;\n\n const privateKey = rawResult.privateKey || rawResult.metadata?.privateKey;\n\n if (accountId && inboundTopicId && outboundTopicId && this.specificArgs) {\n const registeredAgent: RegisteredAgent = {\n name: this.specificArgs.name,\n accountId,\n inboundTopicId,\n outboundTopicId,\n profileTopicId,\n privateKey,\n };\n\n const hcs10Builder = this.getServiceBuilder() as HCS10Builder;\n const stateManager = hcs10Builder.getStateManager();\n if (stateManager) {\n stateManager.setCurrentAgent(registeredAgent);\n\n if (stateManager.persistAgentData) {\n const prefix =\n this.specificArgs.persistence?.prefix ||\n this.specificArgs.name.toUpperCase().replace(/[^A-Z0-9]/g, '_');\n stateManager\n .persistAgentData(registeredAgent, {\n type: 'env-file',\n prefix: prefix,\n })\n .catch(() => {});\n }\n }\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { AIAgentCapability } from '@hashgraphonline/standards-sdk';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { BaseServiceBuilder } from 'hedera-agent-kit';
|
|
4
|
+
import { CallbackManagerForToolRun } from '@langchain/core/callbacks/manager';
|
|
4
5
|
import { BaseHCS10TransactionTool } from './base-hcs10-tools';
|
|
5
6
|
import { HCS10TransactionToolParams } from './hcs10-tool-params';
|
|
6
7
|
declare const RegisterAgentZodSchema: z.ZodObject<{
|
|
7
8
|
name: z.ZodString;
|
|
8
9
|
description: z.ZodOptional<z.ZodString>;
|
|
9
|
-
alias: z.ZodOptional<z.ZodString>;
|
|
10
|
+
alias: z.ZodEffects<z.ZodOptional<z.ZodString>, string, string | undefined>;
|
|
10
11
|
type: z.ZodOptional<z.ZodEnum<["autonomous", "manual"]>>;
|
|
11
12
|
model: z.ZodOptional<z.ZodString>;
|
|
12
13
|
capabilities: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof AIAgentCapability>, "many">>;
|
|
@@ -51,6 +52,7 @@ declare const RegisterAgentZodSchema: z.ZodObject<{
|
|
|
51
52
|
}>>;
|
|
52
53
|
}, "strip", z.ZodTypeAny, {
|
|
53
54
|
name: string;
|
|
55
|
+
alias: string;
|
|
54
56
|
tokenFees?: {
|
|
55
57
|
amount: number;
|
|
56
58
|
tokenId: string;
|
|
@@ -58,7 +60,6 @@ declare const RegisterAgentZodSchema: z.ZodObject<{
|
|
|
58
60
|
exemptAccountIds?: string[] | undefined;
|
|
59
61
|
type?: "autonomous" | "manual" | undefined;
|
|
60
62
|
description?: string | undefined;
|
|
61
|
-
alias?: string | undefined;
|
|
62
63
|
model?: string | undefined;
|
|
63
64
|
capabilities?: AIAgentCapability[] | undefined;
|
|
64
65
|
creator?: string | undefined;
|
|
@@ -112,7 +113,7 @@ export declare class RegisterAgentTool extends BaseHCS10TransactionTool<typeof R
|
|
|
112
113
|
specificInputSchema: z.ZodObject<{
|
|
113
114
|
name: z.ZodString;
|
|
114
115
|
description: z.ZodOptional<z.ZodString>;
|
|
115
|
-
alias: z.ZodOptional<z.ZodString>;
|
|
116
|
+
alias: z.ZodEffects<z.ZodOptional<z.ZodString>, string, string | undefined>;
|
|
116
117
|
type: z.ZodOptional<z.ZodEnum<["autonomous", "manual"]>>;
|
|
117
118
|
model: z.ZodOptional<z.ZodString>;
|
|
118
119
|
capabilities: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof AIAgentCapability>, "many">>;
|
|
@@ -157,6 +158,7 @@ export declare class RegisterAgentTool extends BaseHCS10TransactionTool<typeof R
|
|
|
157
158
|
}>>;
|
|
158
159
|
}, "strip", z.ZodTypeAny, {
|
|
159
160
|
name: string;
|
|
161
|
+
alias: string;
|
|
160
162
|
tokenFees?: {
|
|
161
163
|
amount: number;
|
|
162
164
|
tokenId: string;
|
|
@@ -164,7 +166,6 @@ export declare class RegisterAgentTool extends BaseHCS10TransactionTool<typeof R
|
|
|
164
166
|
exemptAccountIds?: string[] | undefined;
|
|
165
167
|
type?: "autonomous" | "manual" | undefined;
|
|
166
168
|
description?: string | undefined;
|
|
167
|
-
alias?: string | undefined;
|
|
168
169
|
model?: string | undefined;
|
|
169
170
|
capabilities?: AIAgentCapability[] | undefined;
|
|
170
171
|
creator?: string | undefined;
|
|
@@ -212,7 +213,16 @@ export declare class RegisterAgentTool extends BaseHCS10TransactionTool<typeof R
|
|
|
212
213
|
prefix?: string | undefined;
|
|
213
214
|
} | undefined;
|
|
214
215
|
}>;
|
|
216
|
+
private specificArgs;
|
|
215
217
|
constructor(params: HCS10TransactionToolParams);
|
|
216
218
|
protected callBuilderMethod(builder: BaseServiceBuilder, specificArgs: z.infer<typeof RegisterAgentZodSchema>): Promise<void>;
|
|
219
|
+
/**
|
|
220
|
+
* Override _call to intercept the result and save agent to state if needed
|
|
221
|
+
*/
|
|
222
|
+
protected _call(args: z.infer<ReturnType<this['schema']>>, runManager?: CallbackManagerForToolRun): Promise<string>;
|
|
223
|
+
/**
|
|
224
|
+
* Extract agent data from registration result and save to state
|
|
225
|
+
*/
|
|
226
|
+
private _handleRegistrationResult;
|
|
217
227
|
}
|
|
218
228
|
export {};
|
|
@@ -104,6 +104,10 @@ export declare class HCS10Builder extends BaseServiceBuilder {
|
|
|
104
104
|
* Get the network type
|
|
105
105
|
*/
|
|
106
106
|
getNetwork(): StandardNetworkType;
|
|
107
|
+
/**
|
|
108
|
+
* Get state manager instance
|
|
109
|
+
*/
|
|
110
|
+
getStateManager(): IStateManager | undefined;
|
|
107
111
|
/**
|
|
108
112
|
* Get account and signer information
|
|
109
113
|
*/
|