n8n-nodes-hol-agents 1.0.0

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 ADDED
@@ -0,0 +1,67 @@
1
+ # n8n-nodes-hol-agents
2
+
3
+ [![npm version](https://badge.fury.io/js/n8n-nodes-hol-agents.svg)](https://badge.fury.io/js/n8n-nodes-hol-agents)
4
+ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
5
+
6
+ n8n community node for discovering and interacting with AI agents on the [Hashgraph Online](https://hol.org) registry.
7
+
8
+ ## Features
9
+
10
+ - **Search Agents**: Find AI agents by capability, skill, or description
11
+ - **Get Agent Details**: Retrieve detailed information about a specific agent
12
+ - **Find Similar Agents**: Discover agents with similar capabilities
13
+
14
+ ## Installation
15
+
16
+ ### In n8n Desktop
17
+ 1. Go to **Settings** → **Community Nodes**
18
+ 2. Search for `n8n-nodes-hol-agents`
19
+ 3. Click **Install**
20
+
21
+ ### In n8n Cloud/Self-hosted
22
+ 1. Go to **Settings** → **Community Nodes**
23
+ 2. Select **Install from npm**
24
+ 3. Enter: `n8n-nodes-hol-agents`
25
+ 4. Click **Install**
26
+
27
+ ### Manual Installation
28
+ ```bash
29
+ cd /path/to/n8n
30
+ npm install n8n-nodes-hol-agents
31
+ n8n restart
32
+ ```
33
+
34
+ ## Usage
35
+
36
+ After installation, you'll find the **HOL Agents** node in your node palette under the "Transform" category.
37
+
38
+ ### Search Agents
39
+ Search for AI agents by keyword:
40
+ - **Query**: Search terms (e.g., "trading", "image generation")
41
+ - **Limit**: Maximum number of results (default: 10)
42
+
43
+ ### Get Agent
44
+ Retrieve details for a specific agent:
45
+ - **UAID**: Universal Agent ID (e.g., `uaid:aid:xxx`)
46
+
47
+ ### Find Similar Agents
48
+ Discover agents with similar capabilities:
49
+ - **UAID**: Universal Agent ID to find similar agents for
50
+
51
+ ## About HOL
52
+
53
+ Hashgraph Online is the "Trust Engine for the Agentic Internet":
54
+ - **187K+** verified AI agents
55
+ - **33M+** HCS operations daily
56
+ - **Cross-protocol**: A2A, MCP, NANDA, Virtuals, ERC-8004
57
+
58
+ ## Links
59
+
60
+ - [Website](https://hol.org)
61
+ - [Registry](https://hol.org/registry)
62
+ - [GitHub](https://github.com/hashgraph-online)
63
+ - [Discord](https://discord.gg/clawd)
64
+
65
+ ## License
66
+
67
+ Apache 2.0
@@ -0,0 +1,10 @@
1
+ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class HolAgentsApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ properties: INodeProperties[];
7
+ authenticate: IAuthenticateGeneric;
8
+ test: ICredentialTestRequest;
9
+ }
10
+ //# sourceMappingURL=HolAgentsApi.credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HolAgentsApi.credentials.d.ts","sourceRoot":"","sources":["../../credentials/HolAgentsApi.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,MAAM,cAAc,CAAC;AAEtB,qBAAa,YAAa,YAAW,eAAe;IACnD,IAAI,SAAkB;IACtB,WAAW,SAAoB;IAC/B,gBAAgB,SAA0B;IAC1C,UAAU,EAAE,eAAe,EAAE,CAW3B;IAEF,YAAY,EAAE,oBAAoB,CAOhC;IAEF,IAAI,EAAE,sBAAsB,CAK1B;CACF"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HolAgentsApi = void 0;
4
+ class HolAgentsApi {
5
+ name = 'holAgentsApi';
6
+ displayName = 'HOL Agents API';
7
+ documentationUrl = 'https://hol.org/docs';
8
+ properties = [
9
+ {
10
+ displayName: 'API Key',
11
+ name: 'apiKey',
12
+ type: 'string',
13
+ typeOptions: {
14
+ password: true,
15
+ },
16
+ default: '',
17
+ description: 'Optional HOL Registry API key for higher rate limits. Leave empty for public access.',
18
+ },
19
+ ];
20
+ authenticate = {
21
+ type: 'generic',
22
+ properties: {
23
+ headers: {
24
+ Authorization: '=Bearer {{$credentials.apiKey}}',
25
+ },
26
+ },
27
+ };
28
+ test = {
29
+ request: {
30
+ baseURL: 'https://hol.org/registry/api/v1',
31
+ url: '/search?limit=1',
32
+ },
33
+ };
34
+ }
35
+ exports.HolAgentsApi = HolAgentsApi;
36
+ //# sourceMappingURL=HolAgentsApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HolAgentsApi.credentials.js","sourceRoot":"","sources":["../../credentials/HolAgentsApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,YAAY;IACxB,IAAI,GAAG,cAAc,CAAC;IACtB,WAAW,GAAG,gBAAgB,CAAC;IAC/B,gBAAgB,GAAG,sBAAsB,CAAC;IAC1C,UAAU,GAAsB;QAC/B;YACC,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE;gBACZ,QAAQ,EAAE,IAAI;aACd;YACD,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,sFAAsF;SACnG;KACD,CAAC;IAEF,YAAY,GAAyB;QACpC,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACX,OAAO,EAAE;gBACR,aAAa,EAAE,iCAAiC;aAChD;SACD;KACD,CAAC;IAEF,IAAI,GAA2B;QAC9B,OAAO,EAAE;YACR,OAAO,EAAE,iCAAiC;YAC1C,GAAG,EAAE,iBAAiB;SACtB;KACD,CAAC;CACF;AAhCD,oCAgCC"}
@@ -0,0 +1,6 @@
1
+ import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class HolAgents implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }
6
+ //# sourceMappingURL=HolAgents.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HolAgents.node.d.ts","sourceRoot":"","sources":["../../../nodes/HolAgents/HolAgents.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EAEpB,MAAM,cAAc,CAAC;AAEtB,qBAAa,SAAU,YAAW,SAAS;IAC1C,WAAW,EAAE,oBAAoB,CAyF/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAqEvE"}
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HolAgents = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ class HolAgents {
6
+ description = {
7
+ displayName: 'HOL Agents',
8
+ name: 'holAgents',
9
+ icon: 'file:hol-agents.svg',
10
+ group: ['transform'],
11
+ version: 1,
12
+ subtitle: '={{$parameter["operation"]}}',
13
+ description: 'Discover and interact with AI agents on the Hashgraph Online registry',
14
+ defaults: {
15
+ name: 'HOL Agents',
16
+ },
17
+ usableAsTool: true,
18
+ inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
19
+ outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
20
+ credentials: [
21
+ {
22
+ name: 'holAgentsApi',
23
+ required: false,
24
+ },
25
+ ],
26
+ properties: [
27
+ {
28
+ displayName: 'Operation',
29
+ name: 'operation',
30
+ type: 'options',
31
+ noDataExpression: true,
32
+ options: [
33
+ {
34
+ name: 'Search Agents',
35
+ value: 'search',
36
+ description: 'Search for AI agents by query',
37
+ action: 'Search for agents',
38
+ },
39
+ {
40
+ name: 'Get Agent',
41
+ value: 'get',
42
+ description: 'Get detailed information about a specific agent',
43
+ action: 'Get agent details',
44
+ },
45
+ {
46
+ name: 'Find Similar Agents',
47
+ value: 'similar',
48
+ description: 'Find agents similar to a given agent',
49
+ action: 'Find similar agents',
50
+ },
51
+ ],
52
+ default: 'search',
53
+ },
54
+ // Search parameters
55
+ {
56
+ displayName: 'Query',
57
+ name: 'query',
58
+ type: 'string',
59
+ default: '',
60
+ required: true,
61
+ displayOptions: {
62
+ show: {
63
+ operation: ['search'],
64
+ },
65
+ },
66
+ description: 'Search query to find agents',
67
+ },
68
+ {
69
+ displayName: 'Limit',
70
+ name: 'limit',
71
+ type: 'number',
72
+ default: 10,
73
+ displayOptions: {
74
+ show: {
75
+ operation: ['search'],
76
+ },
77
+ },
78
+ description: 'Maximum number of results to return',
79
+ },
80
+ // UAID for get/similar
81
+ {
82
+ displayName: 'Agent UAID',
83
+ name: 'uaid',
84
+ type: 'string',
85
+ default: '',
86
+ required: true,
87
+ displayOptions: {
88
+ show: {
89
+ operation: ['get', 'similar'],
90
+ },
91
+ },
92
+ description: 'The Universal Agent ID (with or without uaid: prefix)',
93
+ },
94
+ ],
95
+ };
96
+ async execute() {
97
+ const items = this.getInputData();
98
+ const returnData = [];
99
+ const operation = this.getNodeParameter('operation', 0);
100
+ const baseUrl = 'https://hol.org/registry/api/v1';
101
+ // Get optional API key from credentials
102
+ let apiKey = '';
103
+ try {
104
+ const credentials = await this.getCredentials('holAgentsApi');
105
+ apiKey = credentials.apiKey || '';
106
+ }
107
+ catch {
108
+ // Credentials are optional
109
+ }
110
+ for (let i = 0; i < items.length; i++) {
111
+ let url = '';
112
+ switch (operation) {
113
+ case 'search': {
114
+ const query = this.getNodeParameter('query', i);
115
+ const limit = this.getNodeParameter('limit', i);
116
+ url = `${baseUrl}/search?q=${encodeURIComponent(query)}&limit=${limit}`;
117
+ break;
118
+ }
119
+ case 'get': {
120
+ let uaid = this.getNodeParameter('uaid', i);
121
+ if (!uaid.startsWith('uaid:')) {
122
+ uaid = `uaid:${uaid}`;
123
+ }
124
+ url = `${baseUrl}/agents/${encodeURIComponent(uaid)}`;
125
+ break;
126
+ }
127
+ case 'similar': {
128
+ let uaid = this.getNodeParameter('uaid', i);
129
+ if (!uaid.startsWith('uaid:')) {
130
+ uaid = `uaid:${uaid}`;
131
+ }
132
+ url = `${baseUrl}/agents/${encodeURIComponent(uaid)}/similar`;
133
+ break;
134
+ }
135
+ }
136
+ const headers = {
137
+ 'Accept': 'application/json',
138
+ 'Content-Type': 'application/json',
139
+ 'User-Agent': 'HOL-n8n-Node/1.0',
140
+ };
141
+ if (apiKey) {
142
+ headers['Authorization'] = `Bearer ${apiKey}`;
143
+ }
144
+ const response = await this.helpers.httpRequest({
145
+ method: 'GET',
146
+ url,
147
+ headers,
148
+ json: true,
149
+ });
150
+ returnData.push({
151
+ json: response,
152
+ pairedItem: { item: i },
153
+ });
154
+ }
155
+ return [returnData];
156
+ }
157
+ }
158
+ exports.HolAgents = HolAgents;
159
+ //# sourceMappingURL=HolAgents.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HolAgents.node.js","sourceRoot":"","sources":["../../../nodes/HolAgents/HolAgents.node.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "n8n-nodes-hol-agents",
3
+ "version": "1.0.0",
4
+ "description": "n8n node for discovering and interacting with AI agents on the Hashgraph Online registry",
5
+ "keywords": [
6
+ "n8n",
7
+ "n8n-node",
8
+ "n8n-community-node-package",
9
+ "hol",
10
+ "hashgraph",
11
+ "ai-agents",
12
+ "agent-discovery",
13
+ "hedera",
14
+ "a2a",
15
+ "mcp"
16
+ ],
17
+ "license": "Apache-2.0",
18
+ "homepage": "https://hol.org",
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git+https://github.com/internet-dot/n8n-nodes-hol-agents.git"
22
+ },
23
+ "bugs": {
24
+ "url": "https://github.com/internet-dot/n8n-nodes-hol-agents/issues"
25
+ },
26
+ "author": {
27
+ "name": "Hashgraph Online",
28
+ "email": "support@hol.org",
29
+ "url": "https://hol.org"
30
+ },
31
+ "main": "dist/index.js",
32
+ "scripts": {
33
+ "build": "tsc",
34
+ "lint": "eslint nodes credentials --ext .ts",
35
+ "lintfix": "eslint nodes credentials --ext .ts --fix",
36
+ "prepublishOnly": "npm run build"
37
+ },
38
+ "files": [
39
+ "dist"
40
+ ],
41
+ "n8n": {
42
+ "n8nNodesApiVersion": 1,
43
+ "credentials": [
44
+ "dist/credentials/HolAgentsApi.credentials.js"
45
+ ],
46
+ "nodes": [
47
+ "dist/nodes/HolAgents/HolAgents.node.js"
48
+ ]
49
+ },
50
+ "publishConfig": {
51
+ "access": "public"
52
+ },
53
+ "dependencies": {
54
+ "n8n-workflow": "^1.0.0"
55
+ },
56
+ "devDependencies": {
57
+ "@types/node": "^20.0.0",
58
+ "typescript": "^5.0.0"
59
+ },
60
+ "engines": {
61
+ "node": ">=18.0.0"
62
+ }
63
+ }