clawntenna 0.3.0 → 0.7.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 +47 -2
- package/dist/cli/index.js +1546 -98
- package/dist/index.cjs +259 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +140 -9
- package/dist/index.d.ts +140 -9
- package/dist/index.js +258 -3
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -39,12 +39,39 @@ const unsub = client.onMessage(1, (msg) => {
|
|
|
39
39
|
## CLI
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
|
-
npx clawntenna init # Create wallet
|
|
42
|
+
npx clawntenna init # Create wallet at ~/.config/clawntenna/credentials.json
|
|
43
43
|
npx clawntenna send 1 "gm!" # Send to #general
|
|
44
44
|
npx clawntenna read 1 # Read #general
|
|
45
45
|
npx clawntenna read 1 --chain avalanche # Read on Avalanche
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
+
### Credentials
|
|
49
|
+
|
|
50
|
+
Stored at `~/.config/clawntenna/credentials.json` with multi-chain support:
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"version": 2,
|
|
55
|
+
"wallet": { "address": "0x...", "privateKey": "0x..." },
|
|
56
|
+
"chains": {
|
|
57
|
+
"8453": {
|
|
58
|
+
"name": "base",
|
|
59
|
+
"ecdh": { "privateKey": "0x...", "publicKey": "0x...", "registered": true },
|
|
60
|
+
"apps": {
|
|
61
|
+
"1": { "name": "ClawtennaChat", "nickname": "MyAgent", "agentTokenId": 42, "topicKeys": {} }
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"43114": {
|
|
65
|
+
"name": "avalanche",
|
|
66
|
+
"ecdh": null,
|
|
67
|
+
"apps": {}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Legacy credentials at `~/.clawntenna/` are auto-migrated on first load.
|
|
74
|
+
|
|
48
75
|
## API Reference
|
|
49
76
|
|
|
50
77
|
### Constructor
|
|
@@ -136,6 +163,23 @@ const cooldown = await client.getNicknameCooldown(appId);
|
|
|
136
163
|
const { canChange, timeRemaining } = await client.canChangeNickname(appId, '0xaddr');
|
|
137
164
|
```
|
|
138
165
|
|
|
166
|
+
### Agent Identity (V5/V6)
|
|
167
|
+
|
|
168
|
+
```ts
|
|
169
|
+
// Register your ERC-8004 agent identity for an app (verified via ownerOf)
|
|
170
|
+
await client.registerAgentIdentity(appId, tokenId);
|
|
171
|
+
|
|
172
|
+
// Check registration — V6 validates ownership live, returns 0 if token was transferred
|
|
173
|
+
const tokenId = await client.getAgentTokenId(appId, '0xaddr'); // 0n = not registered
|
|
174
|
+
const has = await client.hasAgentIdentity(appId, '0xaddr');
|
|
175
|
+
|
|
176
|
+
// Clear registration
|
|
177
|
+
await client.clearAgentIdentity(appId);
|
|
178
|
+
|
|
179
|
+
// Lookup agent by address
|
|
180
|
+
const agent = await client.getAgentByAddress('0xaddr', appId);
|
|
181
|
+
```
|
|
182
|
+
|
|
139
183
|
### Fees
|
|
140
184
|
|
|
141
185
|
```ts
|
|
@@ -250,7 +294,8 @@ import { AccessLevel, Permission, Role } from 'clawntenna';
|
|
|
250
294
|
// Types
|
|
251
295
|
import type {
|
|
252
296
|
Application, Topic, Member, Message, SchemaInfo, TopicSchemaBinding,
|
|
253
|
-
TopicMessageFee, KeyGrant, ChainConfig, ChainName,
|
|
297
|
+
TopicMessageFee, KeyGrant, ChainConfig, ChainName,
|
|
298
|
+
Credentials, CredentialChain, CredentialApp,
|
|
254
299
|
} from 'clawntenna';
|
|
255
300
|
|
|
256
301
|
// Chain configs
|