@q00bs/agent-sdk 1.0.5 → 1.1.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 +74 -84
- package/dist/Q00bsAgent.d.ts +69 -60
- package/dist/Q00bsAgent.d.ts.map +1 -1
- package/dist/Q00bsAgent.js +236 -149
- package/dist/Q00bsAgent.js.map +1 -1
- package/dist/abis/Q00bFactory.d.ts +90 -1
- package/dist/abis/Q00bFactory.d.ts.map +1 -1
- package/dist/abis/Q00bFactory.js +66 -1
- package/dist/abis/Q00bFactory.js.map +1 -1
- package/dist/index.d.ts +6 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -11
- package/dist/index.js.map +1 -1
- package/dist/privy.js +2 -2
- package/dist/privy.js.map +1 -1
- package/dist/types.d.ts +33 -17
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/Q00bsAgent.js
CHANGED
|
@@ -6,18 +6,18 @@
|
|
|
6
6
|
* modules (trust, escrow, consensus, discovery) behind a clean interface.
|
|
7
7
|
*
|
|
8
8
|
* WHAT THIS CLASS DOES:
|
|
9
|
-
* -
|
|
9
|
+
* - Creates a Privy wallet via the Q00bs Trust API (wallets managed by Q00bs).
|
|
10
10
|
* - Registers the agent on-chain as an ERC-721 on the owner's q00b.
|
|
11
11
|
* - Provides methods for trust verification, agent discovery, payments, and consensus.
|
|
12
12
|
* - Enforces spend limits and trust-path checks BEFORE sending transactions.
|
|
13
13
|
*
|
|
14
|
-
* WALLET MODE —
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
14
|
+
* WALLET MODE — Q00bs Trust API:
|
|
15
|
+
* All wallets are created and managed through the Q00bs Trust API, which
|
|
16
|
+
* uses Q00bs' own Privy infrastructure. You NEVER need to supply Privy
|
|
17
|
+
* credentials — just point the SDK at the Trust API URL.
|
|
18
18
|
*
|
|
19
19
|
* SECURITY GUARANTEES:
|
|
20
|
-
* - Private keys are held by
|
|
20
|
+
* - Private keys are held by Q00bs' Privy HSM and NEVER appear in your code.
|
|
21
21
|
* - All state-changing operations go through on-chain contracts.
|
|
22
22
|
* - Spend limits are enforced at 3 layers: Privy policy → SDK pre-check → on-chain.
|
|
23
23
|
* - Trust paths are verified on-chain through the q00b graph before communication.
|
|
@@ -25,28 +25,25 @@
|
|
|
25
25
|
* USAGE:
|
|
26
26
|
* ```ts
|
|
27
27
|
* const agent = new Q00bsAgent({
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* appSecret: process.env.PRIVY_APP_SECRET!,
|
|
31
|
-
* walletId: process.env.PRIVY_WALLET_ID, // optional, creates new if omitted
|
|
32
|
-
* },
|
|
33
|
-
* rpcUrl: process.env.BASE_RPC_URL!,
|
|
34
|
-
* registryAddress: '0x...',
|
|
28
|
+
* trustApiUrl: 'https://q00bs-trust-api.onrender.com',
|
|
29
|
+
* walletId: process.env.Q00BS_WALLET_ID, // optional — creates new if omitted
|
|
35
30
|
* });
|
|
36
31
|
* await agent.initialize();
|
|
32
|
+
* // → Wallet created under Q00bs' Privy app
|
|
33
|
+
* // → Store agent.walletId for next session
|
|
37
34
|
* ```
|
|
38
35
|
*/
|
|
39
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
37
|
exports.Q00bsAgent = void 0;
|
|
41
38
|
const viem_1 = require("viem");
|
|
39
|
+
const chains_1 = require("viem/chains");
|
|
42
40
|
const client_1 = require("./client");
|
|
43
41
|
const trust_1 = require("./trust");
|
|
44
|
-
const escrow_1 = require("./escrow");
|
|
45
|
-
const consensus_1 = require("./consensus");
|
|
46
42
|
const discovery_1 = require("./discovery");
|
|
47
43
|
const privy_1 = require("./privy");
|
|
48
44
|
const erc8004_1 = require("./erc8004");
|
|
49
45
|
const AgentRegistry_1 = require("./abis/AgentRegistry");
|
|
46
|
+
const constants_1 = require("./constants");
|
|
50
47
|
const errors_1 = require("./errors");
|
|
51
48
|
// ─────────────────────────────────────────────────────────────
|
|
52
49
|
// Q00BS AGENT
|
|
@@ -59,9 +56,9 @@ class Q00bsAgent {
|
|
|
59
56
|
publicClient;
|
|
60
57
|
walletClient;
|
|
61
58
|
walletAddress;
|
|
62
|
-
|
|
59
|
+
_walletId;
|
|
60
|
+
// ── Privy wallet (internal/API-server mode only) ───────────
|
|
63
61
|
privyManager;
|
|
64
|
-
_walletMode = 'privateKey';
|
|
65
62
|
// ── Sub-modules ─────────────────────────────────────────────
|
|
66
63
|
trustResolver;
|
|
67
64
|
escrowManager;
|
|
@@ -79,21 +76,13 @@ class Q00bsAgent {
|
|
|
79
76
|
get initialized() {
|
|
80
77
|
return this._initialized;
|
|
81
78
|
}
|
|
82
|
-
/** The agent's wallet address (
|
|
79
|
+
/** The agent's wallet address (created by Q00bs' Privy infrastructure). */
|
|
83
80
|
get address() {
|
|
84
81
|
return this.walletAddress;
|
|
85
82
|
}
|
|
86
|
-
/**
|
|
87
|
-
get
|
|
88
|
-
return this.
|
|
89
|
-
}
|
|
90
|
-
/** Whether this agent uses a Privy-managed wallet (Mode 2). */
|
|
91
|
-
get isPrivyMode() {
|
|
92
|
-
return this._walletMode === 'privy';
|
|
93
|
-
}
|
|
94
|
-
/** The Privy wallet manager (only available in Mode 2). */
|
|
95
|
-
get privyWallet() {
|
|
96
|
-
return this.privyManager;
|
|
83
|
+
/** The wallet ID for this agent. Store this to reuse the wallet across sessions. */
|
|
84
|
+
get walletId() {
|
|
85
|
+
return this._walletId;
|
|
97
86
|
}
|
|
98
87
|
/** The ERC-8004 manager (available if erc8004 config is set or after initialize). */
|
|
99
88
|
get erc8004() {
|
|
@@ -105,32 +94,104 @@ class Q00bsAgent {
|
|
|
105
94
|
/**
|
|
106
95
|
* Create a new Q00bsAgent.
|
|
107
96
|
*
|
|
108
|
-
* @param config - Agent configuration. Must include `
|
|
97
|
+
* @param config - Agent configuration. Must include `trustApiUrl`.
|
|
109
98
|
*
|
|
110
99
|
* NOTE: This does NOT connect to the blockchain yet. Call initialize() next.
|
|
111
100
|
*/
|
|
112
101
|
constructor(config) {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
'
|
|
117
|
-
' appId: process.env.PRIVY_APP_ID!,\n' +
|
|
118
|
-
' appSecret: process.env.PRIVY_APP_SECRET!,\n' +
|
|
119
|
-
' walletId: process.env.PRIVY_WALLET_ID, // optional\n' +
|
|
120
|
-
' }\n' +
|
|
121
|
-
'See: https://privy.io/blog/securely-equipping-openclaw-agents-with-privy-wallets');
|
|
102
|
+
if (!config.trustApiUrl && !config.privy && !config.privateKey) {
|
|
103
|
+
throw new Error('Agent requires a Trust API URL. Provide `trustApiUrl`:\n' +
|
|
104
|
+
' trustApiUrl: "https://q00bs-trust-api.onrender.com"\n' +
|
|
105
|
+
'Wallets are created and managed by Q00bs — no Privy credentials needed.');
|
|
122
106
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
this._walletMode = config.privy ? 'privy' : 'privateKey';
|
|
131
|
-
this.config = config;
|
|
107
|
+
this.config = {
|
|
108
|
+
...config,
|
|
109
|
+
registryAddress: config.registryAddress || constants_1.AGENT_REGISTRY_ADDRESS,
|
|
110
|
+
escrowAddress: config.escrowAddress || constants_1.AGENT_ESCROW_ADDRESS,
|
|
111
|
+
consensusAddress: config.consensusAddress || constants_1.CONSENSUS_MODULE_ADDRESS,
|
|
112
|
+
rpcUrl: config.rpcUrl || constants_1.DEFAULT_RPC_URL,
|
|
113
|
+
};
|
|
132
114
|
this.logger = (0, client_1.createLogger)(config.logLevel || 'info');
|
|
133
115
|
this._agentId = config.agentId;
|
|
116
|
+
this._walletId = config.walletId;
|
|
117
|
+
}
|
|
118
|
+
// ─────────────────────────────────────────────────────────────
|
|
119
|
+
// TRUST API CLIENT (INTERNAL)
|
|
120
|
+
// ─────────────────────────────────────────────────────────────
|
|
121
|
+
// ── x402 payment hash queue ─────────────────────────────────
|
|
122
|
+
// Each paid API call consumes one tx hash. This queue allows
|
|
123
|
+
// pre-loading multiple hashes so sequential calls don't block.
|
|
124
|
+
_x402TxHashQueue = [];
|
|
125
|
+
/**
|
|
126
|
+
* Add one or more x402 payment tx hashes to the queue.
|
|
127
|
+
* Each paid API call (write/create tier) consumes one hash.
|
|
128
|
+
* Free endpoints (reads, bootstrap routes) don't consume hashes.
|
|
129
|
+
*
|
|
130
|
+
* @param hashes - One or more Base mainnet USDC tx hashes.
|
|
131
|
+
*/
|
|
132
|
+
addPaymentHashes(...hashes) {
|
|
133
|
+
this._x402TxHashQueue.push(...hashes);
|
|
134
|
+
this.logger.debug(`Added ${hashes.length} payment hash(es) to queue (total: ${this._x402TxHashQueue.length})`);
|
|
135
|
+
}
|
|
136
|
+
/** Number of unused payment hashes remaining. */
|
|
137
|
+
get paymentHashesRemaining() {
|
|
138
|
+
return this._x402TxHashQueue.length;
|
|
139
|
+
}
|
|
140
|
+
// ── Routes that the server exempts from x402 ────────────────
|
|
141
|
+
// These routes are in the server's FREE_ROUTES set and never
|
|
142
|
+
// require an X-Payment header, even for POST requests.
|
|
143
|
+
static FREE_PATHS = new Set([
|
|
144
|
+
'/api/v1/wallet/create',
|
|
145
|
+
'/api/v1/onboard/whitelist-wallet',
|
|
146
|
+
'/api/v1/onboard/create-q00b',
|
|
147
|
+
'/api/v1/agents/register',
|
|
148
|
+
]);
|
|
149
|
+
/**
|
|
150
|
+
* Make an authenticated request to the Q00bs Trust API.
|
|
151
|
+
*
|
|
152
|
+
* Payment handling:
|
|
153
|
+
* - GET requests and FREE_PATHS never send a payment header.
|
|
154
|
+
* - Paid POST/PUT/DELETE requests consume one hash from the queue.
|
|
155
|
+
* - If no hash is available for a paid endpoint, the request still
|
|
156
|
+
* goes through — the server will return 402 with instructions.
|
|
157
|
+
*
|
|
158
|
+
* @internal
|
|
159
|
+
*/
|
|
160
|
+
async apiCall(method, path, body) {
|
|
161
|
+
const url = `${this.config.trustApiUrl}${path}`;
|
|
162
|
+
const headers = {
|
|
163
|
+
'Content-Type': 'application/json',
|
|
164
|
+
};
|
|
165
|
+
// Determine if this is a free route (no payment needed)
|
|
166
|
+
const isFreeRoute = method === 'GET' ||
|
|
167
|
+
Q00bsAgent.FREE_PATHS.has(path) ||
|
|
168
|
+
path.startsWith('/api/v1/onboard/whitelist-check/');
|
|
169
|
+
// Add x402 payment hash for paid routes
|
|
170
|
+
if (!isFreeRoute) {
|
|
171
|
+
// Try queue first, then fall back to legacy config
|
|
172
|
+
const txHash = this._x402TxHashQueue.shift() || this.config.x402TxHash;
|
|
173
|
+
if (txHash) {
|
|
174
|
+
headers['X-Payment'] = txHash;
|
|
175
|
+
this.logger.debug(`Using payment hash for ${path} (${this._x402TxHashQueue.length} remaining)`);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
this.logger.debug(`API ${method} ${path}`);
|
|
179
|
+
const response = await fetch(url, {
|
|
180
|
+
method,
|
|
181
|
+
headers,
|
|
182
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
183
|
+
});
|
|
184
|
+
const data = await response.json();
|
|
185
|
+
if (!response.ok) {
|
|
186
|
+
if (response.status === 402) {
|
|
187
|
+
const paymentInfo = data.payment || data.x402 || data;
|
|
188
|
+
throw new Error(`Payment required for ${path}. ` +
|
|
189
|
+
`This is a paid endpoint — add payment hashes via agent.addPaymentHashes(txHash).\n` +
|
|
190
|
+
`Details: ${JSON.stringify(paymentInfo)}`);
|
|
191
|
+
}
|
|
192
|
+
throw new Error(`Trust API error (${response.status}): ${data.message || data.error || JSON.stringify(data)}`);
|
|
193
|
+
}
|
|
194
|
+
return data;
|
|
134
195
|
}
|
|
135
196
|
// ─────────────────────────────────────────────────────────────
|
|
136
197
|
// INITIALIZATION
|
|
@@ -139,16 +200,43 @@ class Q00bsAgent {
|
|
|
139
200
|
* Initialize blockchain connections and sub-modules.
|
|
140
201
|
* Must be called before any other method.
|
|
141
202
|
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
203
|
+
* If no walletId is set, creates a new wallet via the Q00bs Trust API.
|
|
204
|
+
* All wallets are managed by Q00bs' Privy infrastructure — you never
|
|
205
|
+
* need Privy credentials.
|
|
144
206
|
*
|
|
145
|
-
* @
|
|
146
|
-
* @throws If configuration is invalid.
|
|
207
|
+
* @throws If configuration is invalid or API is unreachable.
|
|
147
208
|
*/
|
|
148
|
-
async initialize(
|
|
149
|
-
this.logger.info(
|
|
150
|
-
|
|
151
|
-
|
|
209
|
+
async initialize() {
|
|
210
|
+
this.logger.info('Initializing Q00bs Agent...');
|
|
211
|
+
// ── Create publicClient for on-chain reads ────────────────
|
|
212
|
+
this.publicClient = (0, viem_1.createPublicClient)({
|
|
213
|
+
chain: chains_1.base,
|
|
214
|
+
transport: (0, viem_1.http)(this.config.rpcUrl),
|
|
215
|
+
});
|
|
216
|
+
// ── Create or load wallet via Trust API ───────────────────
|
|
217
|
+
if (this.config.trustApiUrl) {
|
|
218
|
+
if (this._walletId) {
|
|
219
|
+
// Load existing wallet
|
|
220
|
+
this.logger.info(`Loading wallet ${this._walletId}...`);
|
|
221
|
+
const walletInfo = await this.apiCall('GET', `/api/v1/wallet/${this._walletId}`);
|
|
222
|
+
this.walletAddress = walletInfo.address;
|
|
223
|
+
this.logger.info(`Loaded wallet: ${this.walletAddress}`);
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
// Create a new wallet
|
|
227
|
+
this.logger.info('Creating new wallet via Trust API...');
|
|
228
|
+
const walletInfo = await this.apiCall('POST', '/api/v1/wallet/create', {
|
|
229
|
+
maxTransactionValue: this.config.maxTransactionValue || '0.1',
|
|
230
|
+
dailySpendLimit: this.config.dailySpendLimit || '1.0',
|
|
231
|
+
});
|
|
232
|
+
this._walletId = walletInfo.walletId;
|
|
233
|
+
this.walletAddress = walletInfo.address;
|
|
234
|
+
this.logger.info(`Wallet created: ${this.walletAddress}\n` +
|
|
235
|
+
` → Store this walletId for next session: ${this._walletId}`);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
else if (this.config.privy) {
|
|
239
|
+
// ── INTERNAL: Direct Privy mode (API server only) ──────
|
|
152
240
|
const clients = (0, client_1.createPrivyClients)({
|
|
153
241
|
privy: this.config.privy,
|
|
154
242
|
rpcUrl: this.config.rpcUrl,
|
|
@@ -156,20 +244,17 @@ class Q00bsAgent {
|
|
|
156
244
|
});
|
|
157
245
|
this.publicClient = clients.publicClient;
|
|
158
246
|
this.privyManager = clients.privyWalletManager;
|
|
159
|
-
|
|
160
|
-
const defaultPolicy = walletPolicy || privy_1.PrivyWalletManager.buildDefaultPolicy(this.config.maxTransactionValue || '0.1', this.config.dailySpendLimit || '1.0',
|
|
161
|
-
// Whitelist all configured contract addresses
|
|
162
|
-
[
|
|
247
|
+
const walletInfo = await this.privyManager.initialize(privy_1.PrivyWalletManager.buildDefaultPolicy(this.config.maxTransactionValue || '0.1', this.config.dailySpendLimit || '1.0', [
|
|
163
248
|
this.config.registryAddress,
|
|
164
249
|
this.config.escrowAddress,
|
|
165
250
|
this.config.consensusAddress,
|
|
166
|
-
].filter(Boolean));
|
|
167
|
-
|
|
251
|
+
].filter(Boolean)));
|
|
252
|
+
this._walletId = walletInfo.walletId;
|
|
168
253
|
this.walletAddress = walletInfo.address;
|
|
169
|
-
this.logger.info(`Privy wallet ${walletInfo.isNew ? 'created' : 'loaded'}: ${this.walletAddress}`);
|
|
170
254
|
}
|
|
171
|
-
else {
|
|
172
|
-
// ──
|
|
255
|
+
else if (this.config.privateKey) {
|
|
256
|
+
// ── DEPRECATED: Raw private key ────────────────────────
|
|
257
|
+
console.warn('[Q00BS] WARNING: Raw private key mode is DEPRECATED.');
|
|
173
258
|
const clients = (0, client_1.createClients)({
|
|
174
259
|
privateKey: this.config.privateKey,
|
|
175
260
|
rpcUrl: this.config.rpcUrl,
|
|
@@ -179,27 +264,11 @@ class Q00bsAgent {
|
|
|
179
264
|
this.walletClient = clients.walletClient;
|
|
180
265
|
this.walletAddress = clients.account.address;
|
|
181
266
|
}
|
|
182
|
-
// Initialize sub-modules
|
|
267
|
+
// Initialize sub-modules for on-chain reads
|
|
183
268
|
this.trustResolver = new trust_1.TrustResolver(this.publicClient, this.config.registryAddress, this.logger);
|
|
184
269
|
this.agentDiscovery = new discovery_1.AgentDiscovery(this.publicClient, this.config.registryAddress, this.trustResolver, this.logger);
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
this.escrowManager = new escrow_1.EscrowManager(this.publicClient, this.walletClient, this.config.escrowAddress, this.logger);
|
|
188
|
-
}
|
|
189
|
-
// In Privy mode, escrow transactions are routed through PrivyWalletManager
|
|
190
|
-
// instead of the walletClient — the escrow methods handle this internally.
|
|
191
|
-
}
|
|
192
|
-
if (this.config.consensusAddress) {
|
|
193
|
-
if (this._walletMode === 'privateKey' && this.walletClient) {
|
|
194
|
-
this.consensusManager = new consensus_1.ConsensusManager(this.publicClient, this.walletClient, this.config.consensusAddress, this.logger);
|
|
195
|
-
}
|
|
196
|
-
// In Privy mode, consensus transactions are routed through PrivyWalletManager.
|
|
197
|
-
}
|
|
198
|
-
// ── Initialize ERC-8004 (if configured or by default) ──
|
|
199
|
-
// ERC-8004 reads are always available (publicClient only).
|
|
200
|
-
// Writes require walletClient (Mode 1) — in Privy mode, use API.
|
|
201
|
-
this._erc8004Manager = new erc8004_1.ERC8004Manager(this.publicClient, this.logger, this.walletClient, // undefined in Privy mode — write ops go through API
|
|
202
|
-
this.config.erc8004);
|
|
270
|
+
// ERC-8004 (reads always available)
|
|
271
|
+
this._erc8004Manager = new erc8004_1.ERC8004Manager(this.publicClient, this.logger, this.walletClient, this.config.erc8004);
|
|
203
272
|
this.logger.info('ERC-8004 Trustless Agents integration enabled');
|
|
204
273
|
// If agentId was provided, verify it exists on-chain
|
|
205
274
|
if (this._agentId) {
|
|
@@ -226,7 +295,7 @@ class Q00bsAgent {
|
|
|
226
295
|
}
|
|
227
296
|
}
|
|
228
297
|
this._initialized = true;
|
|
229
|
-
this.logger.info(`Q00bs Agent initialized |
|
|
298
|
+
this.logger.info(`Q00bs Agent initialized | Wallet: ${this.walletAddress} | WalletId: ${this._walletId}`);
|
|
230
299
|
}
|
|
231
300
|
// ─────────────────────────────────────────────────────────────
|
|
232
301
|
// REGISTRATION
|
|
@@ -234,15 +303,13 @@ class Q00bsAgent {
|
|
|
234
303
|
/**
|
|
235
304
|
* Register this agent on-chain on one side of the owner's q00b.
|
|
236
305
|
*
|
|
306
|
+
* Routes through the Q00bs Trust API, which handles the on-chain transaction
|
|
307
|
+
* using Q00bs' Privy infrastructure. No Privy credentials needed.
|
|
308
|
+
*
|
|
237
309
|
* @param ownerQ00bAddress - The q00b contract address owned by this agent's human.
|
|
238
310
|
* @param sidePosition - Which side of the q00b (0-5) to occupy.
|
|
239
311
|
* @returns The new agent's on-chain ID.
|
|
240
312
|
*
|
|
241
|
-
* IMPORTANT: The transaction sender must be the q00b OWNER (not the agent wallet).
|
|
242
|
-
* In practice, the owner calls registerAgent() from their wallet, passing
|
|
243
|
-
* the agent's wallet address. This method is for convenience when the owner's
|
|
244
|
-
* private key is used.
|
|
245
|
-
*
|
|
246
313
|
* @example
|
|
247
314
|
* ```ts
|
|
248
315
|
* const agentId = await agent.register('0xMyQ00bAddress', 0);
|
|
@@ -255,14 +322,25 @@ class Q00bsAgent {
|
|
|
255
322
|
this.logger.warn(`Agent already registered with ID ${this._agentId}`);
|
|
256
323
|
return this._agentId;
|
|
257
324
|
}
|
|
258
|
-
// Hash capabilities for on-chain storage
|
|
259
|
-
const capabilities = this.config.capabilities || [];
|
|
260
|
-
const capabilitiesHash = (0, viem_1.keccak256)((0, viem_1.toHex)(JSON.stringify(capabilities)));
|
|
261
325
|
this.logger.info(`Registering agent on q00b ${ownerQ00bAddress}, side ${sidePosition}`);
|
|
326
|
+
if (this.config.trustApiUrl && this._walletId) {
|
|
327
|
+
// ── Route through Trust API ────────────────────────────
|
|
328
|
+
const result = await this.apiCall('POST', '/api/v1/agents/register', {
|
|
329
|
+
walletId: this._walletId,
|
|
330
|
+
ownerQ00b: ownerQ00bAddress,
|
|
331
|
+
sidePosition,
|
|
332
|
+
capabilities: this.config.capabilities || [],
|
|
333
|
+
});
|
|
334
|
+
this._agentId = result.agentId;
|
|
335
|
+
this.logger.info(`Registered as agent #${result.agentId} (tx: ${result.txHash})`);
|
|
336
|
+
return result.agentId;
|
|
337
|
+
}
|
|
338
|
+
// ── Fallback: direct on-chain (internal/legacy) ──────────
|
|
262
339
|
if (!this.walletClient) {
|
|
263
|
-
throw new errors_1.PrivyWalletError('register() requires a
|
|
264
|
-
'In Privy mode (Mode 2), registration must go through the API or a separate owner transaction.');
|
|
340
|
+
throw new errors_1.PrivyWalletError('register() requires either trustApiUrl or a direct walletClient.');
|
|
265
341
|
}
|
|
342
|
+
const capabilities = this.config.capabilities || [];
|
|
343
|
+
const capabilitiesHash = (0, viem_1.keccak256)((0, viem_1.toHex)(JSON.stringify(capabilities)));
|
|
266
344
|
const hash = await this.walletClient.writeContract({
|
|
267
345
|
address: this.config.registryAddress,
|
|
268
346
|
abi: AgentRegistry_1.AGENT_REGISTRY_ABI,
|
|
@@ -275,7 +353,6 @@ class Q00bsAgent {
|
|
|
275
353
|
});
|
|
276
354
|
const receipt = await this.publicClient.waitForTransactionReceipt({ hash });
|
|
277
355
|
this.logger.info(`Registration tx confirmed in block ${receipt.blockNumber}`);
|
|
278
|
-
// Parse agent ID from AgentRegistered event
|
|
279
356
|
for (const log of receipt.logs) {
|
|
280
357
|
if (log.topics && log.topics.length > 1) {
|
|
281
358
|
const id = Number(BigInt(log.topics[1]));
|
|
@@ -286,7 +363,6 @@ class Q00bsAgent {
|
|
|
286
363
|
}
|
|
287
364
|
}
|
|
288
365
|
}
|
|
289
|
-
// Fallback: look up by wallet
|
|
290
366
|
const found = await this.agentDiscovery.getAgentByWallet(this.walletAddress);
|
|
291
367
|
if (found) {
|
|
292
368
|
this._agentId = found.id;
|
|
@@ -435,65 +511,66 @@ class Q00bsAgent {
|
|
|
435
511
|
return this.consensusManager.get(requestId);
|
|
436
512
|
}
|
|
437
513
|
// ─────────────────────────────────────────────────────────────
|
|
438
|
-
//
|
|
514
|
+
// WALLET MANAGEMENT
|
|
439
515
|
// ─────────────────────────────────────────────────────────────
|
|
440
516
|
/**
|
|
441
|
-
*
|
|
517
|
+
* Update the spending policy on this agent's wallet.
|
|
442
518
|
*
|
|
443
|
-
*
|
|
444
|
-
|
|
445
|
-
getPrivyWalletInfo() {
|
|
446
|
-
return this.privyManager?.walletInfo;
|
|
447
|
-
}
|
|
448
|
-
/**
|
|
449
|
-
* Update the spending policy on this agent's Privy wallet (Mode 2 only).
|
|
519
|
+
* Routes through the Q00bs Trust API. Use this to dynamically adjust
|
|
520
|
+
* limits — for example, after the agent gains more trust.
|
|
450
521
|
*
|
|
451
|
-
*
|
|
452
|
-
*
|
|
453
|
-
*
|
|
454
|
-
* @param policy - The new wallet policy to apply.
|
|
455
|
-
* @throws PrivyWalletError if not in Privy mode or update fails.
|
|
456
|
-
*
|
|
457
|
-
* @example
|
|
458
|
-
* ```ts
|
|
459
|
-
* await agent.updatePrivyPolicy({
|
|
460
|
-
* name: 'Elevated Limits',
|
|
461
|
-
* rules: [
|
|
462
|
-
* { type: 'max_transaction_value', value: '0.5' },
|
|
463
|
-
* { type: 'daily_spend_limit', value: '5.0' },
|
|
464
|
-
* ],
|
|
465
|
-
* });
|
|
466
|
-
* ```
|
|
522
|
+
* @param policy - Policy parameters to update.
|
|
523
|
+
* @throws If wallet is not initialized or API call fails.
|
|
467
524
|
*/
|
|
468
|
-
async
|
|
525
|
+
async updateWalletPolicy(policy) {
|
|
469
526
|
this.ensureInitialized();
|
|
470
|
-
if (
|
|
471
|
-
|
|
472
|
-
|
|
527
|
+
if (this.config.trustApiUrl && this._walletId) {
|
|
528
|
+
await this.apiCall('PUT', `/api/v1/wallet/${this._walletId}/policy`, {
|
|
529
|
+
...policy,
|
|
530
|
+
});
|
|
531
|
+
this.logger.info('Wallet policy updated via Trust API');
|
|
532
|
+
return;
|
|
473
533
|
}
|
|
474
|
-
|
|
475
|
-
if (
|
|
476
|
-
|
|
534
|
+
// Internal Privy mode (API server)
|
|
535
|
+
if (this.privyManager) {
|
|
536
|
+
const walletInfo = this.privyManager.walletInfo;
|
|
537
|
+
if (!walletInfo)
|
|
538
|
+
throw new errors_1.PrivyWalletError('Wallet not initialized');
|
|
539
|
+
await this.privyManager.setPolicy(walletInfo.walletId, {
|
|
540
|
+
name: 'Updated Policy',
|
|
541
|
+
rules: [
|
|
542
|
+
...(policy.maxTransactionValue
|
|
543
|
+
? [{ type: 'max_transaction_value', value: policy.maxTransactionValue }]
|
|
544
|
+
: []),
|
|
545
|
+
...(policy.dailySpendLimit
|
|
546
|
+
? [{ type: 'daily_spend_limit', value: policy.dailySpendLimit }]
|
|
547
|
+
: []),
|
|
548
|
+
],
|
|
549
|
+
});
|
|
550
|
+
this.logger.info('Wallet policy updated directly via Privy');
|
|
551
|
+
return;
|
|
477
552
|
}
|
|
478
|
-
|
|
479
|
-
this.logger.info(`Privy wallet policy updated: "${policy.name}"`);
|
|
553
|
+
throw new Error('Wallet policy update requires trustApiUrl or direct Privy access');
|
|
480
554
|
}
|
|
481
555
|
/**
|
|
482
556
|
* Sign a message with this agent's wallet.
|
|
483
557
|
*
|
|
484
|
-
*
|
|
485
|
-
*
|
|
486
|
-
* - Mode 2: Uses Privy's signMessage API
|
|
558
|
+
* Routes through the Q00bs Trust API for signing. The private key
|
|
559
|
+
* never leaves Q00bs' Privy infrastructure.
|
|
487
560
|
*
|
|
488
561
|
* @param message - The message to sign.
|
|
489
562
|
* @returns The signature hex string.
|
|
490
563
|
*/
|
|
491
564
|
async signMessage(message) {
|
|
492
565
|
this.ensureInitialized();
|
|
493
|
-
if (this.
|
|
566
|
+
if (this.config.trustApiUrl && this._walletId) {
|
|
567
|
+
const result = await this.apiCall('POST', `/api/v1/wallet/${this._walletId}/sign`, { message });
|
|
568
|
+
return result.signature;
|
|
569
|
+
}
|
|
570
|
+
if (this.privyManager) {
|
|
494
571
|
const walletInfo = this.privyManager.walletInfo;
|
|
495
572
|
if (!walletInfo)
|
|
496
|
-
throw new errors_1.PrivyWalletError('
|
|
573
|
+
throw new errors_1.PrivyWalletError('Wallet not initialized');
|
|
497
574
|
return this.privyManager.signMessage(walletInfo.walletId, message);
|
|
498
575
|
}
|
|
499
576
|
if (this.walletClient) {
|
|
@@ -504,6 +581,23 @@ class Q00bsAgent {
|
|
|
504
581
|
}
|
|
505
582
|
throw new Error('No wallet available for signing');
|
|
506
583
|
}
|
|
584
|
+
/**
|
|
585
|
+
* Send a transaction through the Q00bs Trust API.
|
|
586
|
+
* All transactions are policy-checked before broadcast.
|
|
587
|
+
*
|
|
588
|
+
* @param to - Destination address.
|
|
589
|
+
* @param value - ETH value in wei (optional).
|
|
590
|
+
* @param data - Encoded calldata (optional).
|
|
591
|
+
* @returns Transaction hash.
|
|
592
|
+
*/
|
|
593
|
+
async sendTransaction(to, value, data) {
|
|
594
|
+
this.ensureInitialized();
|
|
595
|
+
if (this.config.trustApiUrl && this._walletId) {
|
|
596
|
+
const result = await this.apiCall('POST', `/api/v1/wallet/${this._walletId}/transaction`, { to, value, data });
|
|
597
|
+
return result.hash;
|
|
598
|
+
}
|
|
599
|
+
throw new Error('sendTransaction() requires trustApiUrl');
|
|
600
|
+
}
|
|
507
601
|
// ─────────────────────────────────────────────────────────────
|
|
508
602
|
// ERC-8004 TRUSTLESS AGENTS
|
|
509
603
|
// ─────────────────────────────────────────────────────────────
|
|
@@ -656,25 +750,18 @@ class Q00bsAgent {
|
|
|
656
750
|
}
|
|
657
751
|
}
|
|
658
752
|
ensureEscrow() {
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
if (!this.config.escrowAddress) {
|
|
662
|
-
throw new Error('Escrow not configured. Pass escrowAddress in AgentConfig to enable payments.');
|
|
663
|
-
}
|
|
753
|
+
// In Trust API mode, escrow operations go through the API
|
|
754
|
+
if (this.config.trustApiUrl && this._walletId)
|
|
664
755
|
return;
|
|
665
|
-
|
|
666
|
-
if (!this.escrowManager) {
|
|
756
|
+
if (!this.config.escrowAddress) {
|
|
667
757
|
throw new Error('Escrow not configured. Pass escrowAddress in AgentConfig to enable payments.');
|
|
668
758
|
}
|
|
669
759
|
}
|
|
670
760
|
ensureConsensus() {
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
throw new Error('Consensus not configured. Pass consensusAddress in AgentConfig to enable consensus.');
|
|
674
|
-
}
|
|
761
|
+
// In Trust API mode, consensus operations go through the API
|
|
762
|
+
if (this.config.trustApiUrl && this._walletId)
|
|
675
763
|
return;
|
|
676
|
-
|
|
677
|
-
if (!this.consensusManager) {
|
|
764
|
+
if (!this.config.consensusAddress) {
|
|
678
765
|
throw new Error('Consensus not configured. Pass consensusAddress in AgentConfig to enable consensus.');
|
|
679
766
|
}
|
|
680
767
|
}
|
package/dist/Q00bsAgent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Q00bsAgent.js","sourceRoot":"","sources":["../src/Q00bsAgent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Q00bsAgent.js","sourceRoot":"","sources":["../src/Q00bsAgent.ts"],"names":[],"mappings":"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"}
|