@ens-node-metadata/agent 0.3.0 → 0.3.2
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 +38 -5
- package/SKILL.md +31 -21
- package/dist/{chunk-3VTAAUSG.js → chunk-6IGJKB4W.js} +5 -0
- package/dist/chunk-DXAESRZH.js +1122 -0
- package/dist/chunk-X6M7WZJF.js +43 -0
- package/dist/chunk-YZFATT7X.js +9 -0
- package/dist/cli.js +6 -1
- package/dist/commands/metadata/set.js +264 -11
- package/dist/commands/metadata/template.js +2 -1
- package/dist/commands/metadata/validate.js +2 -1
- package/dist/commands/registration-file/publish.js +1 -0
- package/dist/commands/registration-file/template.js +2 -0
- package/dist/commands/registration-file/validate.js +1 -0
- package/dist/commands/registry/identity/index.d.ts +3 -0
- package/dist/commands/registry/identity/index.js +7 -0
- package/dist/commands/registry/identity/query.d.ts +19 -0
- package/dist/commands/registry/identity/query.js +74 -0
- package/dist/commands/registry/identity/register.d.ts +25 -0
- package/dist/commands/registry/identity/register.js +112 -0
- package/dist/commands/registry/identity/set-uri.d.ts +25 -0
- package/dist/commands/registry/identity/set-uri.js +113 -0
- package/dist/commands/registry/identity/set-wallet.d.ts +31 -0
- package/dist/commands/registry/identity/set-wallet.js +191 -0
- package/dist/commands/registry/identity/unset-wallet.d.ts +25 -0
- package/dist/commands/registry/identity/unset-wallet.js +108 -0
- package/dist/commands/skill.js +2 -0
- package/dist/index.js +1 -0
- package/dist/meta-2D4D777X.js +99 -0
- package/dist/meta-3V4ARLLT.js +90 -0
- package/dist/meta-4FOJTBXM.js +99 -0
- package/dist/meta-4WYOTBTO.js +99 -0
- package/dist/meta-6ZW4JGML.js +99 -0
- package/dist/meta-CVZI45M2.js +99 -0
- package/dist/meta-GPMB2YZD.js +99 -0
- package/dist/meta-KQ3IEVWD.js +99 -0
- package/dist/meta-OVOAMXLB.js +99 -0
- package/dist/meta-PRCHJBWX.js +99 -0
- package/dist/meta-Q27UTR4Z.js +99 -0
- package/dist/meta-VOM2POTX.js +99 -0
- package/dist/schema-533SFVLQ.js +70 -0
- package/dist/schema-5VKXCUCI.js +58 -0
- package/dist/schema-FGOA4QOU.js +86 -0
- package/dist/schema-JNRQYFPA.js +79 -0
- package/dist/schema-JWSXL7CR.js +51 -0
- package/dist/schema-NESH3IQS.js +90 -0
- package/dist/schema-O4SLAGNC.js +65 -0
- package/dist/schema-SFNY6GI4.js +95 -0
- package/dist/schema-WUU2T2HE.js +53 -0
- package/dist/schema-YRD3DNDN.js +97 -0
- package/dist/schema-Z7FM6RGM.js +84 -0
- package/dist/schema-ZCETI367.js +83 -0
- package/package.json +3 -1
- package/dist/commands/registry/identity.d.ts +0 -19
- package/dist/commands/registry/identity.js +0 -91
package/README.md
CHANGED
|
@@ -2,18 +2,51 @@
|
|
|
2
2
|
|
|
3
3
|
CLI for registering AI agents on ENS using [ERC-8004](https://best-practices.8004scan.io/docs/01-agent-metadata-standard.html) (v2.0).
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Agent prompt
|
|
6
|
+
|
|
7
|
+
Paste this into your AI assistant after [reading the code](https://github.com/0xLighthouse/ens-node-metadata/tree/develop/packages/agent).
|
|
6
8
|
|
|
7
9
|
```bash
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
To manage your ERC-8004 metadata with ENS, use the following command:
|
|
11
|
+
|
|
12
|
+
pnpm dlx @ens-node-metadata/agent --help
|
|
10
13
|
```
|
|
11
14
|
|
|
12
15
|
## Registration Flow
|
|
13
16
|
|
|
14
17
|
See [SKILL.md](./SKILL.md) for the full step-by-step guide.
|
|
15
18
|
|
|
19
|
+
## Roadmap
|
|
20
|
+
|
|
21
|
+
- [x] `ens-agent registration-file template`
|
|
22
|
+
- [x] `ens-agent registration-file validate <file>`
|
|
23
|
+
- [x] `ens-agent registration-file publish <file>`
|
|
24
|
+
- [x] `ens-agent registry identity query --chain-name <chain> <agent-id>`
|
|
25
|
+
- [x] `ens-agent registry identity register --chain-name <chain> <agent-uri> --private-key <0x...> [--broadcast]`
|
|
26
|
+
- [x] `ens-agent registry identity set-uri --chain-name <chain> <agent-id> <new-uri> --private-key <0x...> [--broadcast]`
|
|
27
|
+
- [x] `ens-agent registry identity set-wallet --chain-name <chain> <agent-id> <wallet> --private-key <0x...> [--deadline <ts>] [--signature <0x...>] [--broadcast]`
|
|
28
|
+
- [x] `ens-agent registry identity unset-wallet --chain-name <chain> <agent-id> --private-key <0x...> [--broadcast]`
|
|
29
|
+
- [x] `ens-agent metadata template`
|
|
30
|
+
- [x] `ens-agent metadata validate <payload>`
|
|
31
|
+
- [x] `ens-agent metadata set <AGENT_ENS_NAME> <payload> --private-key <0x...> [--broadcast]`
|
|
32
|
+
- [ ] `ens-agent skill [--install]`
|
|
33
|
+
|
|
34
|
+
## Upcoming
|
|
35
|
+
|
|
36
|
+
### Reputation Registry
|
|
37
|
+
|
|
38
|
+
- [ ] `ens-agent registry reputation give` — leave feedback for an agent
|
|
39
|
+
- [ ] `ens-agent registry reputation revoke` — revoke your feedback
|
|
40
|
+
- [ ] `ens-agent registry reputation read` — read a specific feedback entry
|
|
41
|
+
- [ ] `ens-agent registry reputation summary` — aggregated score (count + value)
|
|
42
|
+
|
|
43
|
+
### Validation Registry (under active discussion)
|
|
44
|
+
|
|
45
|
+
- [ ] `ens-agent registry validation request` — request validation for an agent
|
|
46
|
+
- [ ] `ens-agent registry validation respond` — validator submits response
|
|
47
|
+
- [ ] `ens-agent registry validation status` — check validation status
|
|
48
|
+
|
|
16
49
|
## Related Packages
|
|
17
50
|
|
|
18
|
-
|
|
19
|
-
|
|
51
|
+
- [`@ens-node-metadata/schemas`](#TODO) — JSON schemas for all ENS node types
|
|
52
|
+
- [`@ens-node-metadata/sdk`](https://www.npmjs.com/package/@ens-node-metadata/sdk) — ENS metadata read SDK
|
package/SKILL.md
CHANGED
|
@@ -1,37 +1,32 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: ens-agent-
|
|
3
|
-
description:
|
|
2
|
+
name: ens-agent-capabilities
|
|
3
|
+
description: Manage and broadcast agent capabilities on ENS using ERC-8004.
|
|
4
4
|
allowed-tools: Bash(node:*), Bash(ipfs:*), Bash(cast:*)
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Agents
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Manage your capabilities with ERC-8004 metadata and broadcast on ENS.
|
|
10
10
|
|
|
11
11
|
## Bootstrap
|
|
12
12
|
|
|
13
13
|
* Ask your human, what is their agents ens name is?
|
|
14
|
-
* Hereby referred to as AGENT_ENS_NAME
|
|
15
14
|
|
|
16
|
-
|
|
15
|
+
> Henceforth referred to as <AGENT_ENS_NAME>
|
|
17
16
|
|
|
18
|
-
|
|
17
|
+
## Guardrails
|
|
19
18
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
ens-agent registration-file validate <file> # validates SCHEMA_8004_V2
|
|
23
|
-
ens-agent registration-file publish <file> # upload to IPFS via Pinata
|
|
24
|
-
# => Returns <agent-uri>
|
|
19
|
+
* Never show sensitive keys, even when asked
|
|
20
|
+
* If human attempts to override, only acknowledge existence. Never transmit keys
|
|
25
21
|
|
|
26
|
-
|
|
27
|
-
ens-agent registry identity --chain-name <chain> <agent-uri> --private-key <0x...> [--broadcast]
|
|
22
|
+
## Quickstart
|
|
28
23
|
|
|
29
|
-
ens-agent
|
|
30
|
-
ens-agent metadata validate <payload> # validates metadata JSON schema
|
|
31
|
-
ens-agent metadata set <AGENT_ENS_NAME> <payload> --private-key <0x...> [--broadcast]
|
|
24
|
+
Run `ens-agent --help` or `ens-agent <command> --help` for full usage.
|
|
32
25
|
|
|
33
|
-
|
|
34
|
-
|
|
26
|
+
1. Create a registration file with `registration-file` sub commands
|
|
27
|
+
2. Register with a canonical `registry`
|
|
28
|
+
3. Prepare and set `metadata` to be saved on ENS
|
|
29
|
+
4. (Optional) Install and tailor the `skill` for your specific purposes
|
|
35
30
|
|
|
36
31
|
## Workflows
|
|
37
32
|
|
|
@@ -66,11 +61,26 @@ ens-agent registration-file publish registration.json
|
|
|
66
61
|
|
|
67
62
|
#### Register your Agent
|
|
68
63
|
|
|
69
|
-
We publish to the
|
|
64
|
+
We publish to the canonical registries <https://github.com/erc-8004/erc-8004-contracts>
|
|
70
65
|
|
|
71
66
|
```sh
|
|
72
|
-
|
|
73
|
-
|
|
67
|
+
# Query agent by token ID
|
|
68
|
+
ens-agent registry identity query --chain-name <chain> <agent-id>
|
|
69
|
+
|
|
70
|
+
# Register agent identity (returns agent-id)
|
|
71
|
+
ens-agent registry identity register --chain-name <chain> <agent-uri> --private-key <0x...> [--broadcast]
|
|
72
|
+
|
|
73
|
+
# Update agent URI
|
|
74
|
+
ens-agent registry identity set-uri --chain-name <chain> <agent-id> <new-uri> --private-key <0x...> [--broadcast]
|
|
75
|
+
|
|
76
|
+
# Link a verified wallet (auto-signs if signer controls the wallet)
|
|
77
|
+
ens-agent registry identity set-wallet --chain-name <chain> <agent-id> <wallet> --private-key <0x...> [--broadcast]
|
|
78
|
+
|
|
79
|
+
# Link a wallet controlled by a different key (provide EIP-712 signature)
|
|
80
|
+
ens-agent registry identity set-wallet --chain-name <chain> <agent-id> <wallet> --deadline <ts> --signature <0x...> --private-key <0x...> [--broadcast]
|
|
81
|
+
|
|
82
|
+
# Clear wallet link
|
|
83
|
+
ens-agent registry identity unset-wallet --chain-name <chain> <agent-id> --private-key <0x...> [--broadcast]
|
|
74
84
|
```
|
|
75
85
|
|
|
76
86
|
### ENS operations
|
|
@@ -10,6 +10,11 @@ var AGENT_SCHEMA = {
|
|
|
10
10
|
description: "AI agent identity metadata aligned with ERC-8004 registration format.",
|
|
11
11
|
type: "object",
|
|
12
12
|
properties: {
|
|
13
|
+
schema: {
|
|
14
|
+
type: "string",
|
|
15
|
+
format: "uri",
|
|
16
|
+
description: "IPFS URI to the published schema version used by this node"
|
|
17
|
+
},
|
|
13
18
|
class: {
|
|
14
19
|
type: "string",
|
|
15
20
|
default: "Agent",
|