@easynet/agent-tool-hub 1.0.6
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 +132 -0
- package/dist/N8nLocalAdapter-6RKQJXJP.js +4 -0
- package/dist/N8nLocalAdapter-6RKQJXJP.js.map +1 -0
- package/dist/N8nLocalAdapter-MDWME5ZG.cjs +13 -0
- package/dist/N8nLocalAdapter-MDWME5ZG.cjs.map +1 -0
- package/dist/chunk-57LVNNHL.js +19 -0
- package/dist/chunk-57LVNNHL.js.map +1 -0
- package/dist/chunk-6QTWECRD.cjs +23 -0
- package/dist/chunk-6QTWECRD.cjs.map +1 -0
- package/dist/chunk-HPDQEW2P.js +5251 -0
- package/dist/chunk-HPDQEW2P.js.map +1 -0
- package/dist/chunk-MHEFFZBB.js +134 -0
- package/dist/chunk-MHEFFZBB.js.map +1 -0
- package/dist/chunk-NTTBDQUF.cjs +118 -0
- package/dist/chunk-NTTBDQUF.cjs.map +1 -0
- package/dist/chunk-TIKHPRMB.cjs +5313 -0
- package/dist/chunk-TIKHPRMB.cjs.map +1 -0
- package/dist/chunk-X53WXBKX.cjs +136 -0
- package/dist/chunk-X53WXBKX.cjs.map +1 -0
- package/dist/chunk-YSYEED4K.js +114 -0
- package/dist/chunk-YSYEED4K.js.map +1 -0
- package/dist/cli.cjs +194 -0
- package/dist/cli.cjs.map +1 -0
- package/dist/cli.d.cts +10 -0
- package/dist/cli.d.ts +10 -0
- package/dist/cli.js +186 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.cjs +592 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +552 -0
- package/dist/index.d.ts +552 -0
- package/dist/index.js +358 -0
- package/dist/index.js.map +1 -0
- package/dist/toolhub-runtime-CQkP4QVW.d.cts +1564 -0
- package/dist/toolhub-runtime-CQkP4QVW.d.ts +1564 -0
- package/dist/toolhub-runtime.cjs +30 -0
- package/dist/toolhub-runtime.cjs.map +1 -0
- package/dist/toolhub-runtime.d.cts +4 -0
- package/dist/toolhub-runtime.d.ts +4 -0
- package/dist/toolhub-runtime.js +5 -0
- package/dist/toolhub-runtime.js.map +1 -0
- package/package.json +77 -0
package/README.md
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# Agent Tool Hub
|
|
2
|
+
|
|
3
|
+
**One registry, many protocols** — discover and run tools from MCP, LangChain, n8n, ComfyUI, and SKILL through a single PTC runtime.
|
|
4
|
+
|
|
5
|
+
Define tools with simple, familiar formats: drop a folder under a configured root and use the protocol you like. One tool can be exposed in multiple protocols in the same folder.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
### SKILL
|
|
10
|
+
|
|
11
|
+
Markdown spec + JS handler. Put under `skill/`:
|
|
12
|
+
|
|
13
|
+
```yaml
|
|
14
|
+
# skill/SKILL.md
|
|
15
|
+
---
|
|
16
|
+
name: my-tool
|
|
17
|
+
description: What your tool does.
|
|
18
|
+
---
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
```js
|
|
22
|
+
// skill/handler.js
|
|
23
|
+
async function handler(args) {
|
|
24
|
+
const { x, y } = args ?? {};
|
|
25
|
+
return { result: { sum: Number(x) + Number(y) } };
|
|
26
|
+
}
|
|
27
|
+
export default handler;
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
### LangChain
|
|
33
|
+
|
|
34
|
+
Export a LangChain tool (e.g. `StructuredTool`). Put under `langchain/`:
|
|
35
|
+
|
|
36
|
+
```js
|
|
37
|
+
// langchain/calculator.js
|
|
38
|
+
import { StructuredTool } from "@langchain/core/tools";
|
|
39
|
+
import { z } from "zod";
|
|
40
|
+
|
|
41
|
+
class CalculatorTool extends StructuredTool {
|
|
42
|
+
name = "calculator";
|
|
43
|
+
description = "Evaluates arithmetic expressions";
|
|
44
|
+
schema = z.object({ expression: z.string() });
|
|
45
|
+
async _call({ expression }) {
|
|
46
|
+
return String(Function(`"use strict"; return (${expression})`)());
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export default new CalculatorTool();
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
### MCP
|
|
55
|
+
|
|
56
|
+
Declare MCP server in JSON. Put under `mcp/`; the server process is started by the hub:
|
|
57
|
+
|
|
58
|
+
```json
|
|
59
|
+
// mcp/mcp.json
|
|
60
|
+
{
|
|
61
|
+
"mcpServers": {
|
|
62
|
+
"calculator": {
|
|
63
|
+
"command": "node",
|
|
64
|
+
"args": ["./server.js"]
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
### n8n
|
|
73
|
+
|
|
74
|
+
Drop an n8n workflow JSON. Put under `n8n/`; the hub runs it (local or via API):
|
|
75
|
+
|
|
76
|
+
```json
|
|
77
|
+
// n8n/workflow.json
|
|
78
|
+
{
|
|
79
|
+
"name": "My Workflow",
|
|
80
|
+
"nodes": [
|
|
81
|
+
{
|
|
82
|
+
"id": "webhook",
|
|
83
|
+
"type": "n8n-nodes-base.webhook",
|
|
84
|
+
"parameters": { "path": "my-tool", "httpMethod": "POST" }
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
"connections": {}
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
## Install
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
npm install @easynet/agent-tool-hub
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Node 18+ required.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Use
|
|
105
|
+
|
|
106
|
+
### CLI
|
|
107
|
+
|
|
108
|
+
Add a `toolhub.yaml` in your project, then:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
npx agent-tool-hub scan # load tools from configured roots
|
|
112
|
+
npx agent-tool-hub verify # scan and exit 1 on errors
|
|
113
|
+
npx agent-tool-hub list # list discovered tools
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### In code
|
|
117
|
+
|
|
118
|
+
Load from config, init, then invoke:
|
|
119
|
+
|
|
120
|
+
```ts
|
|
121
|
+
import { createToolHubAndInitFromConfig } from "@easynet/agent-tool-hub";
|
|
122
|
+
|
|
123
|
+
const hub = await createToolHubAndInitFromConfig("toolhub.yaml");
|
|
124
|
+
const result = await hub.invokeTool("utils.calculator", { expression: "1 + 2" });
|
|
125
|
+
// result.ok, result.data, result.error, etc.
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Or build the hub yourself: `createToolHub(options)` → `await hub.initAllTools()`; run tools with `hub.invokeTool(name, args, options)`.
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
See `toolhub.yaml` for config and `examples/` for full tool layouts.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"N8nLocalAdapter-6RKQJXJP.js"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkX53WXBKX_cjs = require('./chunk-X53WXBKX.cjs');
|
|
4
|
+
require('./chunk-NTTBDQUF.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, "N8nLocalAdapter", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return chunkX53WXBKX_cjs.N8nLocalAdapter; }
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=N8nLocalAdapter-MDWME5ZG.cjs.map
|
|
13
|
+
//# sourceMappingURL=N8nLocalAdapter-MDWME5ZG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"N8nLocalAdapter-MDWME5ZG.cjs"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createToolHub, loadToolHubConfig } from './chunk-HPDQEW2P.js';
|
|
2
|
+
|
|
3
|
+
// src/toolhub-runtime.ts
|
|
4
|
+
async function createToolHubAndInit(options) {
|
|
5
|
+
const hub = createToolHub(options);
|
|
6
|
+
await hub.initAllTools();
|
|
7
|
+
return hub;
|
|
8
|
+
}
|
|
9
|
+
async function createToolHubAndInitFromConfig(configPath) {
|
|
10
|
+
const { options } = await loadToolHubConfig(configPath);
|
|
11
|
+
return createToolHubAndInit(options);
|
|
12
|
+
}
|
|
13
|
+
async function createAgentToolHub(configPath) {
|
|
14
|
+
return createToolHubAndInitFromConfig(configPath);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { createAgentToolHub, createToolHubAndInit, createToolHubAndInitFromConfig };
|
|
18
|
+
//# sourceMappingURL=chunk-57LVNNHL.js.map
|
|
19
|
+
//# sourceMappingURL=chunk-57LVNNHL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/toolhub-runtime.ts"],"names":[],"mappings":";;;AAKA,eAAsB,qBACpB,OAAA,EACA;AACA,EAAA,MAAM,GAAA,GAAM,cAAc,OAAO,CAAA;AACjC,EAAA,MAAM,IAAI,YAAA,EAAa;AACvB,EAAA,OAAO,GAAA;AACT;AAEA,eAAsB,+BAA+B,UAAA,EAAoB;AACvE,EAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,MAAM,kBAAkB,UAAU,CAAA;AACtD,EAAA,OAAO,qBAAqB,OAAO,CAAA;AACrC;AAEA,eAAsB,mBAAmB,UAAA,EAAoB;AAC3D,EAAA,OAAO,+BAA+B,UAAU,CAAA;AAClD","file":"chunk-57LVNNHL.js","sourcesContent":["import { ToolHub, createToolHub } from \"./tool-hub/ToolHub.js\";\nimport { loadToolHubConfig } from \"./config/ToolHubConfig.js\";\nexport { ToolHub, createToolHub };\nexport type { ToolHubInitOptions, InvokeOptions } from \"./tool-hub/ToolHub.js\";\n\nexport async function createToolHubAndInit(\n options: import(\"./tool-hub/ToolHub.js\").ToolHubInitOptions,\n) {\n const hub = createToolHub(options);\n await hub.initAllTools();\n return hub;\n}\n\nexport async function createToolHubAndInitFromConfig(configPath: string) {\n const { options } = await loadToolHubConfig(configPath);\n return createToolHubAndInit(options);\n}\n\nexport async function createAgentToolHub(configPath: string) {\n return createToolHubAndInitFromConfig(configPath);\n}\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkTIKHPRMB_cjs = require('./chunk-TIKHPRMB.cjs');
|
|
4
|
+
|
|
5
|
+
// src/toolhub-runtime.ts
|
|
6
|
+
async function createToolHubAndInit(options) {
|
|
7
|
+
const hub = chunkTIKHPRMB_cjs.createToolHub(options);
|
|
8
|
+
await hub.initAllTools();
|
|
9
|
+
return hub;
|
|
10
|
+
}
|
|
11
|
+
async function createToolHubAndInitFromConfig(configPath) {
|
|
12
|
+
const { options } = await chunkTIKHPRMB_cjs.loadToolHubConfig(configPath);
|
|
13
|
+
return createToolHubAndInit(options);
|
|
14
|
+
}
|
|
15
|
+
async function createAgentToolHub(configPath) {
|
|
16
|
+
return createToolHubAndInitFromConfig(configPath);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
exports.createAgentToolHub = createAgentToolHub;
|
|
20
|
+
exports.createToolHubAndInit = createToolHubAndInit;
|
|
21
|
+
exports.createToolHubAndInitFromConfig = createToolHubAndInitFromConfig;
|
|
22
|
+
//# sourceMappingURL=chunk-6QTWECRD.cjs.map
|
|
23
|
+
//# sourceMappingURL=chunk-6QTWECRD.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/toolhub-runtime.ts"],"names":["createToolHub","loadToolHubConfig"],"mappings":";;;;;AAKA,eAAsB,qBACpB,OAAA,EACA;AACA,EAAA,MAAM,GAAA,GAAMA,gCAAc,OAAO,CAAA;AACjC,EAAA,MAAM,IAAI,YAAA,EAAa;AACvB,EAAA,OAAO,GAAA;AACT;AAEA,eAAsB,+BAA+B,UAAA,EAAoB;AACvE,EAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,MAAMC,oCAAkB,UAAU,CAAA;AACtD,EAAA,OAAO,qBAAqB,OAAO,CAAA;AACrC;AAEA,eAAsB,mBAAmB,UAAA,EAAoB;AAC3D,EAAA,OAAO,+BAA+B,UAAU,CAAA;AAClD","file":"chunk-6QTWECRD.cjs","sourcesContent":["import { ToolHub, createToolHub } from \"./tool-hub/ToolHub.js\";\nimport { loadToolHubConfig } from \"./config/ToolHubConfig.js\";\nexport { ToolHub, createToolHub };\nexport type { ToolHubInitOptions, InvokeOptions } from \"./tool-hub/ToolHub.js\";\n\nexport async function createToolHubAndInit(\n options: import(\"./tool-hub/ToolHub.js\").ToolHubInitOptions,\n) {\n const hub = createToolHub(options);\n await hub.initAllTools();\n return hub;\n}\n\nexport async function createToolHubAndInitFromConfig(configPath: string) {\n const { options } = await loadToolHubConfig(configPath);\n return createToolHubAndInit(options);\n}\n\nexport async function createAgentToolHub(configPath: string) {\n return createToolHubAndInitFromConfig(configPath);\n}\n"]}
|