@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 CHANGED
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * XPR Agents OpenClaw Plugin
3
3
  *
4
- * Registers 43 tools for interacting with the XPR Network Trustless Agent Registry:
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
- * - 13 Escrow tools (jobs, milestones, disputes, arbitration)
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;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,SAAS,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAgD5D"}
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 43 tools for interacting with the XPR Network Trustless Agent Registry:
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
- * - 13 Escrow tools (jobs, milestones, disputes, arbitration)
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;;;;;;;;;GASG;;AAUH,kCAgDC;AAxDD,uCAA6D;AAC7D,yCAAmD;AACnD,+CAAyD;AACzD,mDAA6D;AAC7D,2CAAqD;AACrD,6CAAuD;AAGvD,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;IAElC,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"}
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":";AAAA;;;;;;;;GAQG;;AA0CH,4CA2MC;AAnPD,yCAA4C;AAG5C,+CAAuD;AACvD,6CAAoD;AAEpD,6DAA6D;AAC7D,KAAK,UAAU,eAAe,CAC5B,GAAwB,EACxB,SAAoC,EACpC,OAAe;IAEf,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,cAAc,CAAuC;QAC5E,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,SAAS,CAAC,SAAS;QACzB,KAAK,EAAE,SAAS,CAAC,SAAS;QAC1B,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,OAAO;QACpB,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,sBAAsB,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,iBAAiB,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,8BAA8B,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,KAAK,CAAC,QAAQ,CAAC;AACxB,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;AAE/C,SAAgB,gBAAgB,CAAC,GAAc,EAAE,MAAoB;IACnE,iEAAiE;IACjE,GAAG,CAAC,YAAY,CAAC;QACf,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,2JAA2J;QACxK,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE;aACtF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAuB,EAAE,EAAE;YAClD,IAAA,8BAAmB,EAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,IAAI,eAAS,CAAC,QAAQ,EAAE;gBACrC,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK;gBACzC,UAAU;aACX,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC;QAC/B,CAAC;KACF,CAAC,CAAC;IAEH,iEAAiE;IACjE,GAAG,CAAC,YAAY,CAAC;QACf,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,gJAAgJ;QAC7J,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;YAC7B,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;gBAChF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;gBAC7D,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE;gBACnF,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBACvF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;aAC5E;SACF;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAM3D,EAAE,EAAE;YACH,IAAA,8BAAmB,EAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACtC,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,IAAI,eAAS,CAAC,QAAQ,EAAE;gBACrC,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK;gBACzC,UAAU;aACX,CAAC,CAAC;YAEH,MAAM,OAAO,GAAe;gBAC1B,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;aAChC,CAAC;YAEF,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE;gBACjC,MAAM,EAAE,OAAO;gBACf,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;IAEH,iEAAiE;IACjE,GAAG,CAAC,YAAY,CAAC;QACf,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,0GAA0G;QACvH,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;YAChC,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE;gBAC1F,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;aAC/D;SACF;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAwC,EAAE,EAAE;YAC5E,IAAA,8BAAmB,EAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAErD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,IAAI,eAAS,CAAC,QAAQ,EAAE;gBACrC,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK;gBACzC,UAAU;aACX,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;KACF,CAAC,CAAC;IAEH,iEAAiE;IACjE,GAAG,CAAC,YAAY,CAAC;QACf,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,8CAA8C;QAC3D,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;YAChC,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE;gBAC1F,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;aAC9D;SACF;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAwC,EAAE,EAAE;YAC5E,IAAA,8BAAmB,EAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAErD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,IAAI,eAAS,CAAC,QAAQ,EAAE;gBACrC,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK;gBACzC,UAAU;aACX,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;KACF,CAAC,CAAC;IAEH,iEAAiE;IACjE,GAAG,CAAC,YAAY,CAAC;QACf,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,0NAA0N;QACvO,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC;YAC/C,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;gBACxF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBACpE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;gBACrF,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,EAAE;aAChF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAKzD,EAAE,EAAE;YACH,IAAA,8BAAmB,EAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;YAED,oBAAoB;YACpB,MAAM,YAAY,GAAG,IAAA,2BAAiB,EACpC,MAAM,CAAC,eAAe,EACtB,SAAS,EACT,sBAAsB,EACtB,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,EAAE,EACnF,aAAa,MAAM,uCAAuC,OAAO,WAAW,CAC7E,CAAC;YACF,IAAI,YAAY;gBAAE,OAAO,YAAY,CAAC;YAEtC,yCAAyC;YACzC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,CAG9C;gBACD,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW;gBAClC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW;gBACnC,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;gBAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;gBAC3B,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;YAEH,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,YAAY,CAAC,CAAC;YAC9C,CAAC;YAED,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,IAAI,eAAS,CAAC,QAAQ,EAAE;gBACrC,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK;gBACzC,UAAU;aACX,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG;gBACX,qBAAqB,GAAG,CAAC,KAAK,EAAE;gBAChC,EAAE;gBACF,eAAe,GAAG,CAAC,EAAE,EAAE;gBACvB,oBAAoB,GAAG,CAAC,WAAW,EAAE;gBACrC,qBAAqB,GAAG,CAAC,YAAY,EAAE;gBACvC,eAAe,GAAG,CAAC,MAAM,MAAM;gBAC/B,iBAAiB,GAAG,CAAC,QAAQ,EAAE;gBAC/B,EAAE;gBACF,iBAAiB;gBACjB,YAAY;aACb,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,MAAM,OAAO,GAAe;gBAC1B,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;aAChC,CAAC;YAEF,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,10 +1,11 @@
1
1
  /**
2
- * Escrow tools (14 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;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAYxD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAub9E"}
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"}
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  /**
3
- * Escrow tools (14 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: ['agent', 'title', 'description', 'deliverables', 'amount'],
136
+ required: ['title', 'description', 'deliverables', 'amount'],
136
137
  properties: {
137
- agent: { type: 'string', description: 'Agent account to assign the job to' },
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
- (0, validate_1.validateAccountName)(params.agent, 'agent');
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: params.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
- }, `Create job "${params.title}" for agent ${params.agent} worth ${params.amount} XPR`);
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
@@ -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.1.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.1.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
- **Accepting jobs:**
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
- ### Check for New Jobs (every 15 minutes)
97
+ ### Hunt for Open Jobs (every 15 minutes)
88
98
  ```
89
- Poll for new funded jobs assigned to you.
90
- Use xpr_list_jobs with agent filter and state=1 (FUNDED).
91
- Auto-accept if criteria met, or notify for manual review.
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` |