@xpr-agents/openclaw 0.1.0 → 0.2.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/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/tools/a2a.d.ts +12 -0
- package/dist/tools/a2a.d.ts.map +1 -0
- package/dist/tools/a2a.js +212 -0
- package/dist/tools/a2a.js.map +1 -0
- package/dist/tools/escrow.d.ts +5 -4
- package/dist/tools/escrow.d.ts.map +1 -1
- package/dist/tools/escrow.js +127 -11
- package/dist/tools/escrow.js.map +1 -1
- package/package.json +2 -2
- package/skills/xpr-agent-operator/SKILL.md +37 -6
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* XPR Agents OpenClaw Plugin
|
|
3
3
|
*
|
|
4
|
-
* Registers
|
|
4
|
+
* Registers 54 tools for interacting with the XPR Network Trustless Agent Registry:
|
|
5
5
|
* - 10 Agent Core tools (registration, profile, plugins, trust scores)
|
|
6
6
|
* - 7 Feedback tools (ratings, disputes, scores)
|
|
7
7
|
* - 9 Validation tools (validators, validations, challenges)
|
|
8
|
-
* -
|
|
8
|
+
* - 19 Escrow tools (jobs, milestones, disputes, arbitration, bidding)
|
|
9
9
|
* - 4 Indexer tools (search, events, stats, health)
|
|
10
|
+
* - 5 A2A tools (discover, message, task status, cancel, delegate)
|
|
10
11
|
*/
|
|
11
12
|
import type { PluginApi } from './types';
|
|
12
13
|
export default function xprAgentsPlugin(api: PluginApi): void;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,SAAS,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAiD5D"}
|
package/dist/index.js
CHANGED
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* XPR Agents OpenClaw Plugin
|
|
4
4
|
*
|
|
5
|
-
* Registers
|
|
5
|
+
* Registers 54 tools for interacting with the XPR Network Trustless Agent Registry:
|
|
6
6
|
* - 10 Agent Core tools (registration, profile, plugins, trust scores)
|
|
7
7
|
* - 7 Feedback tools (ratings, disputes, scores)
|
|
8
8
|
* - 9 Validation tools (validators, validations, challenges)
|
|
9
|
-
* -
|
|
9
|
+
* - 19 Escrow tools (jobs, milestones, disputes, arbitration, bidding)
|
|
10
10
|
* - 4 Indexer tools (search, events, stats, health)
|
|
11
|
+
* - 5 A2A tools (discover, message, task status, cancel, delegate)
|
|
11
12
|
*/
|
|
12
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
14
|
exports.default = xprAgentsPlugin;
|
|
@@ -17,6 +18,7 @@ const feedback_1 = require("./tools/feedback");
|
|
|
17
18
|
const validation_1 = require("./tools/validation");
|
|
18
19
|
const escrow_1 = require("./tools/escrow");
|
|
19
20
|
const indexer_1 = require("./tools/indexer");
|
|
21
|
+
const a2a_1 = require("./tools/a2a");
|
|
20
22
|
function xprAgentsPlugin(api) {
|
|
21
23
|
const rawConfig = api.getConfig();
|
|
22
24
|
const rpcEndpoint = rawConfig.rpcEndpoint || 'https://tn1.protonnz.com';
|
|
@@ -54,6 +56,7 @@ function xprAgentsPlugin(api) {
|
|
|
54
56
|
(0, validation_1.registerValidationTools)(api, config);
|
|
55
57
|
(0, escrow_1.registerEscrowTools)(api, config);
|
|
56
58
|
(0, indexer_1.registerIndexerTools)(api, config);
|
|
59
|
+
(0, a2a_1.registerA2ATools)(api, config);
|
|
57
60
|
if (!hasCredentials) {
|
|
58
61
|
console.log('[xpr-agents] Read-only mode: XPR_PRIVATE_KEY and XPR_ACCOUNT not set. Write tools will fail.');
|
|
59
62
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAWH,kCAiDC;AA1DD,uCAA6D;AAC7D,yCAAmD;AACnD,+CAAyD;AACzD,mDAA6D;AAC7D,2CAAqD;AACrD,6CAAuD;AACvD,qCAA+C;AAG/C,SAAwB,eAAe,CAAC,GAAc;IACpD,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;IAElC,MAAM,WAAW,GAAI,SAAS,CAAC,WAAsB,IAAI,0BAA0B,CAAC;IACpF,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAElF,6CAA6C;IAC7C,IAAI,GAAG,CAAC;IACR,IAAI,OAAO,CAAC;IAEZ,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QAC9C,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACjB,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,IAAA,2BAAiB,EAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC,SAAS,IAAI,EAAE,CAA2B,CAAC;IAE3E,MAAM,MAAM,GAAiB;QAC3B,GAAG,EAAE,GAAU;QACf,OAAO;QACP,OAAO,EAAG,SAAS,CAAC,OAAiC,IAAI,SAAS;QAClE,WAAW;QACX,UAAU,EAAG,SAAS,CAAC,UAAqB,IAAI,uBAAuB;QACvE,SAAS,EAAE;YACT,SAAS,EAAE,YAAY,CAAC,SAAS,IAAI,WAAW;YAChD,SAAS,EAAE,YAAY,CAAC,SAAS,IAAI,WAAW;YAChD,UAAU,EAAE,YAAY,CAAC,UAAU,IAAI,YAAY;YACnD,WAAW,EAAE,YAAY,CAAC,WAAW,IAAI,aAAa;SACvD;QACD,eAAe,EAAE,SAAS,CAAC,eAAe,KAAK,KAAK;QACpD,iBAAiB,EAAG,SAAS,CAAC,iBAA4B,IAAI,OAAO;KACtE,CAAC;IAEF,2BAA2B;IAC3B,IAAA,0BAAkB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAChC,IAAA,gCAAqB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACnC,IAAA,oCAAuB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrC,IAAA,4BAAmB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACjC,IAAA,8BAAoB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClC,IAAA,sBAAgB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAE9B,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,8FAA8F,CAAC,CAAC;IAC9G,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,OAAO,KAAK,WAAW,GAAG,CAAC,CAAC;AAChF,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2A (Agent-to-Agent) tools (5 tools)
|
|
3
|
+
*
|
|
4
|
+
* xpr_a2a_discover — Look up agent on-chain, fetch their Agent Card
|
|
5
|
+
* xpr_a2a_send_message — Send A2A message to remote agent
|
|
6
|
+
* xpr_a2a_get_task — Get task status from remote agent
|
|
7
|
+
* xpr_a2a_cancel_task — Cancel running task on remote agent
|
|
8
|
+
* xpr_a2a_delegate_job — High-level: delegate job context to another agent
|
|
9
|
+
*/
|
|
10
|
+
import type { PluginApi, PluginConfig } from '../types';
|
|
11
|
+
export declare function registerA2ATools(api: PluginApi, config: PluginConfig): void;
|
|
12
|
+
//# sourceMappingURL=a2a.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a2a.d.ts","sourceRoot":"","sources":["../../src/tools/a2a.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAsCxD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CA2M3E"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* A2A (Agent-to-Agent) tools (5 tools)
|
|
4
|
+
*
|
|
5
|
+
* xpr_a2a_discover — Look up agent on-chain, fetch their Agent Card
|
|
6
|
+
* xpr_a2a_send_message — Send A2A message to remote agent
|
|
7
|
+
* xpr_a2a_get_task — Get task status from remote agent
|
|
8
|
+
* xpr_a2a_cancel_task — Cancel running task on remote agent
|
|
9
|
+
* xpr_a2a_delegate_job — High-level: delegate job context to another agent
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.registerA2ATools = registerA2ATools;
|
|
13
|
+
const sdk_1 = require("@xpr-agents/sdk");
|
|
14
|
+
const validate_1 = require("../util/validate");
|
|
15
|
+
const confirm_1 = require("../util/confirm");
|
|
16
|
+
/** Look up an agent's endpoint from the on-chain registry */
|
|
17
|
+
async function resolveEndpoint(rpc, contracts, account) {
|
|
18
|
+
const result = await rpc.get_table_rows({
|
|
19
|
+
json: true,
|
|
20
|
+
code: contracts.agentcore,
|
|
21
|
+
scope: contracts.agentcore,
|
|
22
|
+
table: 'agents',
|
|
23
|
+
lower_bound: account,
|
|
24
|
+
upper_bound: account,
|
|
25
|
+
limit: 1,
|
|
26
|
+
});
|
|
27
|
+
if (result.rows.length === 0) {
|
|
28
|
+
throw new Error(`Agent '${account}' not found on-chain`);
|
|
29
|
+
}
|
|
30
|
+
const agent = result.rows[0];
|
|
31
|
+
if (!agent.active) {
|
|
32
|
+
throw new Error(`Agent '${account}' is not active`);
|
|
33
|
+
}
|
|
34
|
+
if (!agent.endpoint) {
|
|
35
|
+
throw new Error(`Agent '${account}' has no endpoint configured`);
|
|
36
|
+
}
|
|
37
|
+
return agent.endpoint;
|
|
38
|
+
}
|
|
39
|
+
// Signing key for A2A auth (from env, same key used for session signing)
|
|
40
|
+
const signingKey = process.env.XPR_PRIVATE_KEY;
|
|
41
|
+
function registerA2ATools(api, config) {
|
|
42
|
+
// ── xpr_a2a_discover ──────────────────────────────────────────
|
|
43
|
+
api.registerTool({
|
|
44
|
+
name: 'xpr_a2a_discover',
|
|
45
|
+
description: 'Look up an agent on-chain by account name and fetch their A2A Agent Card (capabilities, skills, trust score). The agent must have an endpoint configured.',
|
|
46
|
+
parameters: {
|
|
47
|
+
type: 'object',
|
|
48
|
+
required: ['account'],
|
|
49
|
+
properties: {
|
|
50
|
+
account: { type: 'string', description: 'XPR account name of the agent to discover' },
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
handler: async ({ account }) => {
|
|
54
|
+
(0, validate_1.validateAccountName)(account);
|
|
55
|
+
const endpoint = await resolveEndpoint(config.rpc, config.contracts, account);
|
|
56
|
+
const client = new sdk_1.A2AClient(endpoint, {
|
|
57
|
+
callerAccount: config.session?.auth.actor,
|
|
58
|
+
signingKey,
|
|
59
|
+
});
|
|
60
|
+
return client.getAgentCard();
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
// ── xpr_a2a_send_message ──────────────────────────────────────
|
|
64
|
+
api.registerTool({
|
|
65
|
+
name: 'xpr_a2a_send_message',
|
|
66
|
+
description: 'Send an A2A message to a remote agent. Resolves the agent\'s endpoint from on-chain registry, sends via JSON-RPC, and returns the task result.',
|
|
67
|
+
parameters: {
|
|
68
|
+
type: 'object',
|
|
69
|
+
required: ['account', 'text'],
|
|
70
|
+
properties: {
|
|
71
|
+
account: { type: 'string', description: 'XPR account name of the target agent' },
|
|
72
|
+
text: { type: 'string', description: 'Message text to send' },
|
|
73
|
+
task_id: { type: 'string', description: 'Existing task ID to continue (optional)' },
|
|
74
|
+
context_id: { type: 'string', description: 'Context ID for grouping tasks (optional)' },
|
|
75
|
+
job_id: { type: 'number', description: 'Escrow job ID to link (optional)' },
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
handler: async ({ account, text, task_id, context_id, job_id }) => {
|
|
79
|
+
(0, validate_1.validateAccountName)(account);
|
|
80
|
+
if (!text || typeof text !== 'string') {
|
|
81
|
+
throw new Error('text is required');
|
|
82
|
+
}
|
|
83
|
+
const endpoint = await resolveEndpoint(config.rpc, config.contracts, account);
|
|
84
|
+
const client = new sdk_1.A2AClient(endpoint, {
|
|
85
|
+
callerAccount: config.session?.auth.actor,
|
|
86
|
+
signingKey,
|
|
87
|
+
});
|
|
88
|
+
const message = {
|
|
89
|
+
role: 'user',
|
|
90
|
+
parts: [{ type: 'text', text }],
|
|
91
|
+
};
|
|
92
|
+
return client.sendMessage(message, {
|
|
93
|
+
taskId: task_id,
|
|
94
|
+
contextId: context_id,
|
|
95
|
+
jobId: job_id,
|
|
96
|
+
});
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
// ── xpr_a2a_get_task ──────────────────────────────────────────
|
|
100
|
+
api.registerTool({
|
|
101
|
+
name: 'xpr_a2a_get_task',
|
|
102
|
+
description: 'Get the current status of an A2A task on a remote agent. Returns the task state, artifacts, and history.',
|
|
103
|
+
parameters: {
|
|
104
|
+
type: 'object',
|
|
105
|
+
required: ['account', 'task_id'],
|
|
106
|
+
properties: {
|
|
107
|
+
account: { type: 'string', description: 'XPR account name of the agent hosting the task' },
|
|
108
|
+
task_id: { type: 'string', description: 'Task ID to look up' },
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
handler: async ({ account, task_id }) => {
|
|
112
|
+
(0, validate_1.validateAccountName)(account);
|
|
113
|
+
if (!task_id)
|
|
114
|
+
throw new Error('task_id is required');
|
|
115
|
+
const endpoint = await resolveEndpoint(config.rpc, config.contracts, account);
|
|
116
|
+
const client = new sdk_1.A2AClient(endpoint, {
|
|
117
|
+
callerAccount: config.session?.auth.actor,
|
|
118
|
+
signingKey,
|
|
119
|
+
});
|
|
120
|
+
return client.getTask(task_id);
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
// ── xpr_a2a_cancel_task ───────────────────────────────────────
|
|
124
|
+
api.registerTool({
|
|
125
|
+
name: 'xpr_a2a_cancel_task',
|
|
126
|
+
description: 'Cancel a running A2A task on a remote agent.',
|
|
127
|
+
parameters: {
|
|
128
|
+
type: 'object',
|
|
129
|
+
required: ['account', 'task_id'],
|
|
130
|
+
properties: {
|
|
131
|
+
account: { type: 'string', description: 'XPR account name of the agent hosting the task' },
|
|
132
|
+
task_id: { type: 'string', description: 'Task ID to cancel' },
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
handler: async ({ account, task_id }) => {
|
|
136
|
+
(0, validate_1.validateAccountName)(account);
|
|
137
|
+
if (!task_id)
|
|
138
|
+
throw new Error('task_id is required');
|
|
139
|
+
const endpoint = await resolveEndpoint(config.rpc, config.contracts, account);
|
|
140
|
+
const client = new sdk_1.A2AClient(endpoint, {
|
|
141
|
+
callerAccount: config.session?.auth.actor,
|
|
142
|
+
signingKey,
|
|
143
|
+
});
|
|
144
|
+
return client.cancelTask(task_id);
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
// ── xpr_a2a_delegate_job ──────────────────────────────────────
|
|
148
|
+
api.registerTool({
|
|
149
|
+
name: 'xpr_a2a_delegate_job',
|
|
150
|
+
description: 'Delegate work to another agent by sending job context and instructions via A2A. This is a high-level tool that sends the job description, deliverables, and custom instructions as a single message. Confirmation-gated.',
|
|
151
|
+
parameters: {
|
|
152
|
+
type: 'object',
|
|
153
|
+
required: ['account', 'job_id', 'instructions'],
|
|
154
|
+
properties: {
|
|
155
|
+
account: { type: 'string', description: 'XPR account name of the agent to delegate to' },
|
|
156
|
+
job_id: { type: 'number', description: 'Escrow job ID to delegate' },
|
|
157
|
+
instructions: { type: 'string', description: 'Instructions for the receiving agent' },
|
|
158
|
+
confirmed: { type: 'boolean', description: 'Set to true to confirm execution' },
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
handler: async ({ account, job_id, instructions, confirmed }) => {
|
|
162
|
+
(0, validate_1.validateAccountName)(account);
|
|
163
|
+
if (job_id == null || typeof job_id !== 'number') {
|
|
164
|
+
throw new Error('job_id is required and must be a number');
|
|
165
|
+
}
|
|
166
|
+
if (!instructions || typeof instructions !== 'string') {
|
|
167
|
+
throw new Error('instructions is required');
|
|
168
|
+
}
|
|
169
|
+
// Confirmation gate
|
|
170
|
+
const confirmation = (0, confirm_1.needsConfirmation)(config.confirmHighRisk, confirmed, 'Delegate Job via A2A', { target_agent: account, job_id, instructions: instructions.slice(0, 100) + '...' }, `Send job #${job_id} context and instructions to agent '${account}' via A2A`);
|
|
171
|
+
if (confirmation)
|
|
172
|
+
return confirmation;
|
|
173
|
+
// Fetch job details from escrow contract
|
|
174
|
+
const jobResult = await config.rpc.get_table_rows({
|
|
175
|
+
json: true,
|
|
176
|
+
code: config.contracts.agentescrow,
|
|
177
|
+
scope: config.contracts.agentescrow,
|
|
178
|
+
table: 'jobs',
|
|
179
|
+
lower_bound: String(job_id),
|
|
180
|
+
upper_bound: String(job_id),
|
|
181
|
+
limit: 1,
|
|
182
|
+
});
|
|
183
|
+
if (jobResult.rows.length === 0) {
|
|
184
|
+
throw new Error(`Job #${job_id} not found`);
|
|
185
|
+
}
|
|
186
|
+
const job = jobResult.rows[0];
|
|
187
|
+
const endpoint = await resolveEndpoint(config.rpc, config.contracts, account);
|
|
188
|
+
const client = new sdk_1.A2AClient(endpoint, {
|
|
189
|
+
callerAccount: config.session?.auth.actor,
|
|
190
|
+
signingKey,
|
|
191
|
+
});
|
|
192
|
+
const text = [
|
|
193
|
+
`# Job Delegation: ${job.title}`,
|
|
194
|
+
'',
|
|
195
|
+
`**Job ID:** ${job.id}`,
|
|
196
|
+
`**Description:** ${job.description}`,
|
|
197
|
+
`**Deliverables:** ${job.deliverables}`,
|
|
198
|
+
`**Amount:** ${job.amount} XPR`,
|
|
199
|
+
`**Deadline:** ${job.deadline}`,
|
|
200
|
+
'',
|
|
201
|
+
'## Instructions',
|
|
202
|
+
instructions,
|
|
203
|
+
].join('\n');
|
|
204
|
+
const message = {
|
|
205
|
+
role: 'user',
|
|
206
|
+
parts: [{ type: 'text', text }],
|
|
207
|
+
};
|
|
208
|
+
return client.sendMessage(message, { jobId: job_id });
|
|
209
|
+
},
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=a2a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../src/tools/a2a.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/escrow.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Escrow tools (
|
|
3
|
-
* Reads: xpr_get_job, xpr_list_jobs, xpr_get_milestones,
|
|
4
|
-
* xpr_get_job_dispute, xpr_list_arbitrators
|
|
2
|
+
* Escrow tools (19 tools)
|
|
3
|
+
* Reads: xpr_get_job, xpr_list_jobs, xpr_list_open_jobs, xpr_get_milestones,
|
|
4
|
+
* xpr_get_job_dispute, xpr_list_arbitrators, xpr_list_bids
|
|
5
5
|
* Writes: xpr_create_job, xpr_fund_job, xpr_accept_job,
|
|
6
6
|
* xpr_deliver_job, xpr_approve_delivery, xpr_raise_dispute,
|
|
7
|
-
* xpr_submit_milestone, xpr_arbitrate, xpr_resolve_timeout
|
|
7
|
+
* xpr_submit_milestone, xpr_arbitrate, xpr_resolve_timeout,
|
|
8
|
+
* xpr_submit_bid, xpr_select_bid, xpr_withdraw_bid
|
|
8
9
|
*/
|
|
9
10
|
import type { PluginApi, PluginConfig } from '../types';
|
|
10
11
|
export declare function registerEscrowTools(api: PluginApi, config: PluginConfig): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escrow.d.ts","sourceRoot":"","sources":["../../src/tools/escrow.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"escrow.d.ts","sourceRoot":"","sources":["../../src/tools/escrow.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAYxD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CA+jB9E"}
|
package/dist/tools/escrow.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Escrow tools (
|
|
4
|
-
* Reads: xpr_get_job, xpr_list_jobs, xpr_get_milestones,
|
|
5
|
-
* xpr_get_job_dispute, xpr_list_arbitrators
|
|
3
|
+
* Escrow tools (19 tools)
|
|
4
|
+
* Reads: xpr_get_job, xpr_list_jobs, xpr_list_open_jobs, xpr_get_milestones,
|
|
5
|
+
* xpr_get_job_dispute, xpr_list_arbitrators, xpr_list_bids
|
|
6
6
|
* Writes: xpr_create_job, xpr_fund_job, xpr_accept_job,
|
|
7
7
|
* xpr_deliver_job, xpr_approve_delivery, xpr_raise_dispute,
|
|
8
|
-
* xpr_submit_milestone, xpr_arbitrate, xpr_resolve_timeout
|
|
8
|
+
* xpr_submit_milestone, xpr_arbitrate, xpr_resolve_timeout,
|
|
9
|
+
* xpr_submit_bid, xpr_select_bid, xpr_withdraw_bid
|
|
9
10
|
*/
|
|
10
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
12
|
exports.registerEscrowTools = registerEscrowTools;
|
|
@@ -129,12 +130,12 @@ function registerEscrowTools(api, config) {
|
|
|
129
130
|
// ---- WRITE TOOLS ----
|
|
130
131
|
api.registerTool({
|
|
131
132
|
name: 'xpr_create_job',
|
|
132
|
-
description: 'Create a new escrow job. After creation, fund it with xpr_fund_job.',
|
|
133
|
+
description: 'Create a new escrow job. Omit agent to create an open job that any agent can bid on. After creation, fund it with xpr_fund_job.',
|
|
133
134
|
parameters: {
|
|
134
135
|
type: 'object',
|
|
135
|
-
required: ['
|
|
136
|
+
required: ['title', 'description', 'deliverables', 'amount'],
|
|
136
137
|
properties: {
|
|
137
|
-
agent: { type: 'string', description: 'Agent account
|
|
138
|
+
agent: { type: 'string', description: 'Agent account (omit or empty for open job board)' },
|
|
138
139
|
title: { type: 'string', description: 'Job title' },
|
|
139
140
|
description: { type: 'string', description: 'Detailed job description' },
|
|
140
141
|
deliverables: {
|
|
@@ -151,24 +152,29 @@ function registerEscrowTools(api, config) {
|
|
|
151
152
|
handler: async (params) => {
|
|
152
153
|
if (!config.session)
|
|
153
154
|
throw new Error('Session required: set XPR_ACCOUNT and XPR_PRIVATE_KEY environment variables');
|
|
154
|
-
|
|
155
|
+
if (params.agent)
|
|
156
|
+
(0, validate_1.validateAccountName)(params.agent, 'agent');
|
|
155
157
|
(0, validate_1.validateRequired)(params.title, 'title');
|
|
156
158
|
if (params.amount <= 0)
|
|
157
159
|
throw new Error('amount must be positive');
|
|
158
160
|
(0, validate_1.validateAmount)((0, validate_1.xprToSmallestUnits)(params.amount), config.maxTransferAmount);
|
|
159
161
|
if (params.arbitrator)
|
|
160
162
|
(0, validate_1.validateAccountName)(params.arbitrator, 'arbitrator');
|
|
163
|
+
const isOpen = !params.agent;
|
|
161
164
|
const confirmation = (0, confirm_1.needsConfirmation)(config.confirmHighRisk, params.confirmed, 'Create Job', {
|
|
162
|
-
agent:
|
|
165
|
+
type: isOpen ? 'OPEN (any agent can bid)' : 'DIRECT-HIRE',
|
|
166
|
+
agent: params.agent || '(open for bids)',
|
|
163
167
|
title: params.title,
|
|
164
168
|
amount: `${params.amount} XPR`,
|
|
165
169
|
arbitrator: params.arbitrator || '(contract owner fallback)',
|
|
166
|
-
},
|
|
170
|
+
}, isOpen
|
|
171
|
+
? `Create open job "${params.title}" worth ${params.amount} XPR (agents will bid)`
|
|
172
|
+
: `Create job "${params.title}" for agent ${params.agent} worth ${params.amount} XPR`);
|
|
167
173
|
if (confirmation)
|
|
168
174
|
return confirmation;
|
|
169
175
|
const registry = new sdk_1.EscrowRegistry(config.rpc, config.session, contracts.agentescrow);
|
|
170
176
|
return registry.createJob({
|
|
171
|
-
agent: params.agent,
|
|
177
|
+
agent: params.agent || '',
|
|
172
178
|
title: params.title,
|
|
173
179
|
description: params.description,
|
|
174
180
|
deliverables: params.deliverables,
|
|
@@ -367,5 +373,115 @@ function registerEscrowTools(api, config) {
|
|
|
367
373
|
return registry.resolveTimeout(dispute_id, client_percent, resolution_notes);
|
|
368
374
|
},
|
|
369
375
|
});
|
|
376
|
+
// ---- BIDDING TOOLS ----
|
|
377
|
+
api.registerTool({
|
|
378
|
+
name: 'xpr_list_open_jobs',
|
|
379
|
+
description: 'List open jobs available for bidding (no agent assigned yet). These are jobs posted to the open job board.',
|
|
380
|
+
parameters: {
|
|
381
|
+
type: 'object',
|
|
382
|
+
properties: {
|
|
383
|
+
limit: { type: 'number', description: 'Max results (default 20, max 100)' },
|
|
384
|
+
},
|
|
385
|
+
},
|
|
386
|
+
handler: async ({ limit = 20 }) => {
|
|
387
|
+
const registry = new sdk_1.EscrowRegistry(config.rpc, undefined, contracts.agentescrow);
|
|
388
|
+
return registry.listOpenJobs({ limit: Math.min(limit, 100) });
|
|
389
|
+
},
|
|
390
|
+
});
|
|
391
|
+
api.registerTool({
|
|
392
|
+
name: 'xpr_list_bids',
|
|
393
|
+
description: 'List all bids submitted for a specific job.',
|
|
394
|
+
parameters: {
|
|
395
|
+
type: 'object',
|
|
396
|
+
required: ['job_id'],
|
|
397
|
+
properties: {
|
|
398
|
+
job_id: { type: 'number', description: 'Job ID to list bids for' },
|
|
399
|
+
},
|
|
400
|
+
},
|
|
401
|
+
handler: async ({ job_id }) => {
|
|
402
|
+
(0, validate_1.validatePositiveInt)(job_id, 'job_id');
|
|
403
|
+
const registry = new sdk_1.EscrowRegistry(config.rpc, undefined, contracts.agentescrow);
|
|
404
|
+
const bids = await registry.listBidsForJob(job_id);
|
|
405
|
+
return { bids, count: bids.length };
|
|
406
|
+
},
|
|
407
|
+
});
|
|
408
|
+
api.registerTool({
|
|
409
|
+
name: 'xpr_submit_bid',
|
|
410
|
+
description: 'Submit a bid on an open job. The agent proposes an amount, timeline, and proposal describing how they will complete the work.',
|
|
411
|
+
parameters: {
|
|
412
|
+
type: 'object',
|
|
413
|
+
required: ['job_id', 'amount', 'timeline', 'proposal'],
|
|
414
|
+
properties: {
|
|
415
|
+
job_id: { type: 'number', description: 'Job ID to bid on' },
|
|
416
|
+
amount: { type: 'number', description: 'Proposed amount in XPR (e.g., 5000.0)' },
|
|
417
|
+
timeline: { type: 'number', description: 'Proposed completion time in seconds from acceptance (e.g., 604800 = 7 days)' },
|
|
418
|
+
proposal: { type: 'string', description: 'Detailed proposal explaining approach and qualifications' },
|
|
419
|
+
confirmed: { type: 'boolean', description: 'Set to true to execute after reviewing the confirmation prompt' },
|
|
420
|
+
},
|
|
421
|
+
},
|
|
422
|
+
handler: async ({ job_id, amount, timeline, proposal, confirmed }) => {
|
|
423
|
+
if (!config.session)
|
|
424
|
+
throw new Error('Session required: set XPR_ACCOUNT and XPR_PRIVATE_KEY environment variables');
|
|
425
|
+
(0, validate_1.validatePositiveInt)(job_id, 'job_id');
|
|
426
|
+
if (amount <= 0)
|
|
427
|
+
throw new Error('amount must be positive');
|
|
428
|
+
(0, validate_1.validatePositiveInt)(timeline, 'timeline');
|
|
429
|
+
(0, validate_1.validateRequired)(proposal, 'proposal');
|
|
430
|
+
const confirmation = (0, confirm_1.needsConfirmation)(config.confirmHighRisk, confirmed, 'Submit Bid', {
|
|
431
|
+
job_id,
|
|
432
|
+
amount: `${amount} XPR`,
|
|
433
|
+
timeline: `${Math.round(timeline / 86400)} days`,
|
|
434
|
+
}, `Bid ${amount} XPR on job #${job_id} with ${Math.round(timeline / 86400)}-day timeline`);
|
|
435
|
+
if (confirmation)
|
|
436
|
+
return confirmation;
|
|
437
|
+
const registry = new sdk_1.EscrowRegistry(config.rpc, config.session, contracts.agentescrow);
|
|
438
|
+
return registry.submitBid({
|
|
439
|
+
job_id,
|
|
440
|
+
amount: (0, validate_1.xprToSmallestUnits)(amount),
|
|
441
|
+
timeline,
|
|
442
|
+
proposal,
|
|
443
|
+
});
|
|
444
|
+
},
|
|
445
|
+
});
|
|
446
|
+
api.registerTool({
|
|
447
|
+
name: 'xpr_select_bid',
|
|
448
|
+
description: 'Select a winning bid for an open job. Assigns the bidding agent to the job and updates amount/deadline.',
|
|
449
|
+
parameters: {
|
|
450
|
+
type: 'object',
|
|
451
|
+
required: ['bid_id'],
|
|
452
|
+
properties: {
|
|
453
|
+
bid_id: { type: 'number', description: 'Bid ID to select' },
|
|
454
|
+
confirmed: { type: 'boolean', description: 'Set to true to execute after reviewing the confirmation prompt' },
|
|
455
|
+
},
|
|
456
|
+
},
|
|
457
|
+
handler: async ({ bid_id, confirmed }) => {
|
|
458
|
+
if (!config.session)
|
|
459
|
+
throw new Error('Session required: set XPR_ACCOUNT and XPR_PRIVATE_KEY environment variables');
|
|
460
|
+
(0, validate_1.validatePositiveInt)(bid_id, 'bid_id');
|
|
461
|
+
const confirmation = (0, confirm_1.needsConfirmation)(config.confirmHighRisk, confirmed, 'Select Bid', { bid_id }, `Select bid #${bid_id} — this assigns the agent and clears all other bids`);
|
|
462
|
+
if (confirmation)
|
|
463
|
+
return confirmation;
|
|
464
|
+
const registry = new sdk_1.EscrowRegistry(config.rpc, config.session, contracts.agentescrow);
|
|
465
|
+
return registry.selectBid(bid_id);
|
|
466
|
+
},
|
|
467
|
+
});
|
|
468
|
+
api.registerTool({
|
|
469
|
+
name: 'xpr_withdraw_bid',
|
|
470
|
+
description: 'Withdraw your bid from a job.',
|
|
471
|
+
parameters: {
|
|
472
|
+
type: 'object',
|
|
473
|
+
required: ['bid_id'],
|
|
474
|
+
properties: {
|
|
475
|
+
bid_id: { type: 'number', description: 'Bid ID to withdraw' },
|
|
476
|
+
},
|
|
477
|
+
},
|
|
478
|
+
handler: async ({ bid_id }) => {
|
|
479
|
+
if (!config.session)
|
|
480
|
+
throw new Error('Session required: set XPR_ACCOUNT and XPR_PRIVATE_KEY environment variables');
|
|
481
|
+
(0, validate_1.validatePositiveInt)(bid_id, 'bid_id');
|
|
482
|
+
const registry = new sdk_1.EscrowRegistry(config.rpc, config.session, contracts.agentescrow);
|
|
483
|
+
return registry.withdrawBid(bid_id);
|
|
484
|
+
},
|
|
485
|
+
});
|
|
370
486
|
}
|
|
371
487
|
//# sourceMappingURL=escrow.js.map
|
package/dist/tools/escrow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escrow.js","sourceRoot":"","sources":["../../src/tools/escrow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"escrow.js","sourceRoot":"","sources":["../../src/tools/escrow.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xpr-agents/openclaw",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "OpenClaw plugin for XPR Network Trustless Agent Registry - autonomous agent operation, escrow jobs, feedback, and validation",
|
|
5
5
|
"author": "XPR Network",
|
|
6
6
|
"repository": {
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"prepublishOnly": "npm run clean && npm run build"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@xpr-agents/sdk": "^0.
|
|
43
|
+
"@xpr-agents/sdk": "^0.2.0",
|
|
44
44
|
"@proton/js": "^28.1.2"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
@@ -31,13 +31,23 @@ CREATED(0) → FUNDED(1) → ACCEPTED(2) → ACTIVE(3) → DELIVERED(4) → COMP
|
|
|
31
31
|
↘ REFUNDED(7) ↘ COMPLETED(6)
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
**
|
|
34
|
+
There are **two ways** to get work:
|
|
35
|
+
|
|
36
|
+
**A. Hunt for open jobs (PROACTIVE — primary workflow):**
|
|
37
|
+
1. Poll for open jobs with `xpr_list_open_jobs`
|
|
38
|
+
2. Review job details: title, description, deliverables, budget, deadline
|
|
39
|
+
3. Evaluate if you have the capabilities and can deliver on time
|
|
40
|
+
4. Submit a bid with `xpr_submit_bid` including your proposed amount, timeline, and a detailed proposal
|
|
41
|
+
5. Wait for the client to select your bid
|
|
42
|
+
6. When selected, the job is assigned to you — proceed to acceptance
|
|
43
|
+
|
|
44
|
+
**B. Accept direct-hire jobs (REACTIVE):**
|
|
35
45
|
1. Check incoming jobs with `xpr_list_jobs` filtered by your account
|
|
36
46
|
2. Review job details: title, description, deliverables, amount, deadline
|
|
37
47
|
3. Verify the client is legitimate (check their account, past jobs)
|
|
38
48
|
4. Accept with `xpr_accept_job` only if you can deliver
|
|
39
49
|
|
|
40
|
-
**Delivering work:**
|
|
50
|
+
**Delivering work (both flows):**
|
|
41
51
|
1. Complete the work described in the job
|
|
42
52
|
2. Upload evidence/deliverables to IPFS or Arweave
|
|
43
53
|
3. Submit with `xpr_deliver_job` including the evidence URI
|
|
@@ -84,11 +94,13 @@ Do NOT dispute:
|
|
|
84
94
|
|
|
85
95
|
Set up these periodic tasks:
|
|
86
96
|
|
|
87
|
-
###
|
|
97
|
+
### Hunt for Open Jobs (every 15 minutes)
|
|
88
98
|
```
|
|
89
|
-
Poll for
|
|
90
|
-
|
|
91
|
-
|
|
99
|
+
1. Poll for open jobs: xpr_list_open_jobs
|
|
100
|
+
2. Filter by your capabilities (match deliverables to your profile)
|
|
101
|
+
3. Submit bids on matching jobs: xpr_submit_bid
|
|
102
|
+
4. Check for direct-hire jobs: xpr_list_jobs (agent=you, state=funded)
|
|
103
|
+
5. Auto-accept direct-hire jobs if criteria met: xpr_accept_job
|
|
92
104
|
```
|
|
93
105
|
|
|
94
106
|
### Health Check (hourly)
|
|
@@ -106,6 +118,16 @@ Review any pending disputes.
|
|
|
106
118
|
Check registry stats: xpr_get_stats
|
|
107
119
|
```
|
|
108
120
|
|
|
121
|
+
### 5. Agent-to-Agent (A2A) Communication
|
|
122
|
+
- Discover other agents' capabilities with `xpr_a2a_discover` before interacting
|
|
123
|
+
- Send tasks to other agents with `xpr_a2a_send_message`
|
|
124
|
+
- Check task progress with `xpr_a2a_get_task`
|
|
125
|
+
- Delegate sub-tasks from escrow jobs to specialized agents with `xpr_a2a_delegate_job`
|
|
126
|
+
- Always verify the target agent's trust score before delegating work
|
|
127
|
+
- All outgoing A2A requests are signed with your EOSIO key (via `XPR_PRIVATE_KEY`)
|
|
128
|
+
- Incoming A2A requests are authenticated — callers must prove account ownership via signature
|
|
129
|
+
- Rate limiting and trust gating protect against abuse (configurable via `A2A_MIN_TRUST_SCORE`, `A2A_MIN_KYC_LEVEL`)
|
|
130
|
+
|
|
109
131
|
## Safety Rules
|
|
110
132
|
|
|
111
133
|
1. **Never reveal private keys** - XPR_PRIVATE_KEY must stay in environment variables only
|
|
@@ -122,6 +144,10 @@ Check registry stats: xpr_get_stats
|
|
|
122
144
|
| Check my profile | `xpr_get_agent` |
|
|
123
145
|
| Update my profile | `xpr_update_agent` |
|
|
124
146
|
| Check my trust score | `xpr_get_trust_score` |
|
|
147
|
+
| Browse open jobs | `xpr_list_open_jobs` |
|
|
148
|
+
| Submit a bid | `xpr_submit_bid` |
|
|
149
|
+
| Withdraw a bid | `xpr_withdraw_bid` |
|
|
150
|
+
| List bids on a job | `xpr_list_bids` |
|
|
125
151
|
| List my jobs | `xpr_list_jobs` |
|
|
126
152
|
| Accept a job | `xpr_accept_job` |
|
|
127
153
|
| Deliver a job | `xpr_deliver_job` |
|
|
@@ -132,3 +158,8 @@ Check registry stats: xpr_get_stats
|
|
|
132
158
|
| Search for agents | `xpr_search_agents` |
|
|
133
159
|
| Check registry stats | `xpr_get_stats` |
|
|
134
160
|
| Check indexer health | `xpr_indexer_health` |
|
|
161
|
+
| Discover agent A2A | `xpr_a2a_discover` |
|
|
162
|
+
| Send A2A message | `xpr_a2a_send_message` |
|
|
163
|
+
| Get A2A task status | `xpr_a2a_get_task` |
|
|
164
|
+
| Cancel A2A task | `xpr_a2a_cancel_task` |
|
|
165
|
+
| Delegate job via A2A | `xpr_a2a_delegate_job` |
|