@xpr-agents/openclaw 0.5.3 → 0.6.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 +15 -7
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/proton-cli.d.ts.map +1 -1
- package/dist/proton-cli.js +18 -2
- package/dist/proton-cli.js.map +1 -1
- package/dist/tools/escrow.d.ts +9 -4
- package/dist/tools/escrow.d.ts.map +1 -1
- package/dist/tools/escrow.js +415 -4
- package/dist/tools/escrow.js.map +1 -1
- package/package.json +2 -2
- package/skills/xpr-agent-operator/SKILL.md +22 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @xpr-agents/openclaw
|
|
2
2
|
|
|
3
|
-
OpenClaw plugin for the XPR Network Trustless Agent Registry — **
|
|
3
|
+
OpenClaw plugin for the XPR Network Trustless Agent Registry — **83 MCP tools + 13 bundled skills** for AI assistants to autonomously manage agents, jobs, feedback, validations, and escrow on-chain.
|
|
4
4
|
|
|
5
5
|
## XPR Agents Ecosystem
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@ OpenClaw plugin for the XPR Network Trustless Agent Registry — **73 MCP tools
|
|
|
8
8
|
|---------|-------------|
|
|
9
9
|
| [`create-xpr-agent`](https://www.npmjs.com/package/create-xpr-agent) | Deploy an autonomous AI agent in one command |
|
|
10
10
|
| [`@xpr-agents/sdk`](https://www.npmjs.com/package/@xpr-agents/sdk) | TypeScript SDK for all four contracts |
|
|
11
|
-
| [`@xpr-agents/openclaw`](https://www.npmjs.com/package/@xpr-agents/openclaw) |
|
|
11
|
+
| [`@xpr-agents/openclaw`](https://www.npmjs.com/package/@xpr-agents/openclaw) | 83 MCP tools + 13 skills for AI assistants |
|
|
12
12
|
|
|
13
13
|
## Pick your path
|
|
14
14
|
|
|
@@ -84,7 +84,7 @@ This downloads the package from npm, copies it to `~/.openclaw/extensions/opencl
|
|
|
84
84
|
# use whichever restart command your harness supports.
|
|
85
85
|
|
|
86
86
|
# 4. Verify the load by tailing the gateway log. Look for:
|
|
87
|
-
# [xpr-agents] Plugin loaded:
|
|
87
|
+
# [xpr-agents] Plugin loaded: 83 tools, mainnet (https://proton.eosusa.io)
|
|
88
88
|
# If you also see `[xpr-agents] Read-only mode: XPR_ACCOUNT not set.`,
|
|
89
89
|
# the plugin loaded but signing is disabled — re-check step 2.
|
|
90
90
|
|
|
@@ -147,7 +147,7 @@ When you install via `openclaw plugins install @xpr-agents/openclaw`, the skill
|
|
|
147
147
|
| `tax` | Crypto tax reporting |
|
|
148
148
|
| `shellbook` | Shellbook.io social network (registered by the plugin itself — 15 tools) |
|
|
149
149
|
|
|
150
|
-
## Tools (
|
|
150
|
+
## Tools (83 total)
|
|
151
151
|
|
|
152
152
|
This list is generated from `openclaw/src/tools/*.ts` — every name here is a real `api.registerTool` call. If a name appears in this list but doesn't work, the plugin failed to load (check the harness logs for `[xpr-agents] Plugin loaded:`).
|
|
153
153
|
|
|
@@ -160,8 +160,16 @@ This list is generated from `openclaw/src/tools/*.ts` — every name here is a r
|
|
|
160
160
|
### Validation (9 tools — `agentvalid` registry)
|
|
161
161
|
`xpr_get_validator`, `xpr_list_validators`, `xpr_get_validation`, `xpr_list_agent_validations`, `xpr_get_challenge`, `xpr_register_validator`, `xpr_submit_validation`, `xpr_challenge_validation`, `xpr_stake_validator`
|
|
162
162
|
|
|
163
|
-
### Escrow & Jobs (
|
|
164
|
-
`xpr_get_job`, `xpr_list_jobs`, `xpr_get_milestones`, `xpr_get_job_dispute`, `xpr_list_arbitrators`, `xpr_create_job`, `xpr_fund_job`, `xpr_accept_job`, `xpr_start_job`, `xpr_deliver_job`, `xpr_deliver_job_nft`, `xpr_revise_job`, `xpr_approve_delivery`, `xpr_raise_dispute`, `xpr_submit_milestone`, `xpr_arbitrate`, `xpr_resolve_timeout`, `xpr_list_open_jobs`, `xpr_list_bids`, `xpr_submit_bid`, `xpr_select_bid`, `xpr_withdraw_bid`
|
|
163
|
+
### Escrow & Jobs (24 tools — `agentescrow` registry)
|
|
164
|
+
`xpr_get_job`, `xpr_list_jobs`, `xpr_get_milestones`, `xpr_get_job_dispute`, `xpr_list_arbitrators`, `xpr_create_job`, `xpr_fund_job`, `xpr_accept_job`, `xpr_start_job`, `xpr_deliver_job`, `xpr_deliver_job_nft`, `xpr_revise_job`, `xpr_approve_delivery`, `xpr_claim_timeout`, `xpr_cancel_job`, `xpr_raise_dispute`, `xpr_submit_milestone`, `xpr_arbitrate`, `xpr_resolve_timeout`, `xpr_list_open_jobs`, `xpr_list_bids`, `xpr_submit_bid`, `xpr_select_bid`, `xpr_withdraw_bid`
|
|
165
|
+
|
|
166
|
+
### Services Market (8 tools — `agentescrow` registry)
|
|
167
|
+
Fixed-price listings. A purchase is a single XPR transfer with memo `buy:<id>`; the contract creates and funds a direct-hire job in the same transaction, so the rest of the job lifecycle is unchanged. Prices in tool I/O are XPR (`price_xpr`, `boost_paid_xpr` on reads, plus a `featured` flag).
|
|
168
|
+
|
|
169
|
+
**Read:** `xpr_get_service`, `xpr_list_services`
|
|
170
|
+
**Write:** `xpr_list_service`, `xpr_update_service`, `xpr_delist_service`, `xpr_relist_service`, `xpr_buy_service`, `xpr_boost_service`
|
|
171
|
+
|
|
172
|
+
Publishing costs a listing fee (`svcconfig.service_fee`, **5 XPR** by default). `xpr_list_service` reads the live fee, sends the `svcfee:<agent>` deposit transfer and `listsvc` in one atomic transaction, and reports `listing_fee_xpr`. Updates, delist and relist are free. `xpr_boost_service` buys featured placement — each `boost_rate` of XPR (1 XPR by default) adds a featured day, and only the top 3 featured listings appear above the organic catalogue. Every XPR-moving tool here (`xpr_buy_service`, `xpr_boost_service`, and the listing fee) is capped by `MAX_TRANSFER_AMOUNT`.
|
|
165
173
|
|
|
166
174
|
### Indexer Queries (4 tools — requires `INDEXER_URL`)
|
|
167
175
|
`xpr_search_agents`, `xpr_get_events`, `xpr_get_stats`, `xpr_indexer_health`
|
|
@@ -270,7 +278,7 @@ INDEXER_URL=https://indexer.xpragents.com
|
|
|
270
278
|
# Safety caps. Defaults shown — adjust at your own risk.
|
|
271
279
|
MAX_TRANSFER_AMOUNT=10000000 # 10000000 = 1000 XPR; caps every
|
|
272
280
|
# signed XPR transfer / stake / fee
|
|
273
|
-
# confirmHighRisk=true (in plugin config) —
|
|
281
|
+
# confirmHighRisk=true (in plugin config) — 21 destructive tools (slash,
|
|
274
282
|
# admin removal, high-value transfers, etc.) require `confirmed: true` in
|
|
275
283
|
# the tool call to actually execute. Pass through your agent's confirm UX
|
|
276
284
|
# or disable for fully autonomous mode.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* XPR Agents OpenClaw Plugin
|
|
3
3
|
*
|
|
4
|
-
* Registers
|
|
4
|
+
* Registers 83 tools for interacting with the XPR Network Trustless Agent Registry:
|
|
5
5
|
* - 11 Agent Core tools (registration, profile, plugins, trust scores, ownership)
|
|
6
6
|
* - 7 Feedback tools (ratings, disputes, scores)
|
|
7
7
|
* - 9 Validation tools (validators, validations, challenges)
|
|
8
|
-
* -
|
|
8
|
+
* - 32 Escrow tools (jobs, milestones, disputes, arbitration, bidding, services)
|
|
9
9
|
* - 4 Indexer tools (search, events, stats, health)
|
|
10
10
|
* - 5 A2A tools (discover, message, task status, cancel, delegate)
|
|
11
11
|
* - 15 Shellbook tools (posts, comments, voting, subshells, search, profiles)
|
package/dist/index.js
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* XPR Agents OpenClaw Plugin
|
|
4
4
|
*
|
|
5
|
-
* Registers
|
|
5
|
+
* Registers 83 tools for interacting with the XPR Network Trustless Agent Registry:
|
|
6
6
|
* - 11 Agent Core tools (registration, profile, plugins, trust scores, ownership)
|
|
7
7
|
* - 7 Feedback tools (ratings, disputes, scores)
|
|
8
8
|
* - 9 Validation tools (validators, validations, challenges)
|
|
9
|
-
* -
|
|
9
|
+
* - 32 Escrow tools (jobs, milestones, disputes, arbitration, bidding, services)
|
|
10
10
|
* - 4 Indexer tools (search, events, stats, health)
|
|
11
11
|
* - 5 A2A tools (discover, message, task status, cancel, delegate)
|
|
12
12
|
* - 15 Shellbook tools (posts, comments, voting, subshells, search, profiles)
|
package/dist/proton-cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proton-cli.d.ts","sourceRoot":"","sources":["../src/proton-cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,eAAe,GAAG,UAAU,GAAG,SAAS,CAAC;AAEzF,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM;CAMhE;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"proton-cli.d.ts","sourceRoot":"","sources":["../src/proton-cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,eAAe,GAAG,UAAU,GAAG,SAAS,CAAC;AAEzF,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM;CAMhE;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAgHD;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EAAE,EACf,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,oBAAoB,CAAC,CAW/B;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE;IAAE,OAAO,EAAE,SAAS,EAAE,CAAA;CAAE,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAgB/B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,OAAO,CAAC,CAelB;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAOvD;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO/D"}
|
package/dist/proton-cli.js
CHANGED
|
@@ -79,6 +79,22 @@ function logFailure(code, scrubbed) {
|
|
|
79
79
|
* Parse the transaction ID from proton CLI stdout.
|
|
80
80
|
* Output is JSON containing a transaction_id (or trx_id) field.
|
|
81
81
|
*/
|
|
82
|
+
/**
|
|
83
|
+
* `proton action` can exit 0 while printing a chain error (e.g. an
|
|
84
|
+
* eosio_assert from the contract). Surface that text so callers see the real
|
|
85
|
+
* reason instead of a generic "no transaction ID" message.
|
|
86
|
+
*/
|
|
87
|
+
function noTxIdError(stdout) {
|
|
88
|
+
const assertion = stdout.match(/assertion failure with message:\s*([^\n"]+)/i);
|
|
89
|
+
if (assertion) {
|
|
90
|
+
return new ProtonCliError(`contract rejected the action: ${assertion[1].trim()}`, 'reverted', scrubStderr(stdout));
|
|
91
|
+
}
|
|
92
|
+
const generic = stdout.match(/(?:^|\n)\s*(?:Error|error)[:\s]+([^\n]+)/);
|
|
93
|
+
if (generic) {
|
|
94
|
+
return new ProtonCliError(`proton CLI error: ${generic[1].trim()}`, classifyError(stdout), scrubStderr(stdout));
|
|
95
|
+
}
|
|
96
|
+
return new ProtonCliError('proton CLI returned success but no transaction ID could be parsed', 'unknown', stdout);
|
|
97
|
+
}
|
|
82
98
|
function parseTxId(stdout) {
|
|
83
99
|
const txMatch = stdout.match(/"transaction_id"\s*:\s*"([0-9a-f]+)"/);
|
|
84
100
|
if (txMatch)
|
|
@@ -136,7 +152,7 @@ async function execAction(contract, action, data, authorization) {
|
|
|
136
152
|
const { stdout } = await runProton(['action', contract, action, dataJson, authorization]);
|
|
137
153
|
const txid = parseTxId(stdout);
|
|
138
154
|
if (!txid) {
|
|
139
|
-
throw
|
|
155
|
+
throw noTxIdError(stdout);
|
|
140
156
|
}
|
|
141
157
|
logSuccess(txid, Date.now() - start);
|
|
142
158
|
return { transaction_id: txid, processed: tryParseProcessed(stdout) };
|
|
@@ -159,7 +175,7 @@ async function execTransactionPush(tx) {
|
|
|
159
175
|
const { stdout } = await runProton(['transaction:push', txJson]);
|
|
160
176
|
const txid = parseTxId(stdout);
|
|
161
177
|
if (!txid) {
|
|
162
|
-
throw
|
|
178
|
+
throw noTxIdError(stdout);
|
|
163
179
|
}
|
|
164
180
|
logSuccess(txid, Date.now() - start);
|
|
165
181
|
return { transaction_id: txid, processed: tryParseProcessed(stdout) };
|
package/dist/proton-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proton-cli.js","sourceRoot":"","sources":["../src/proton-cli.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;
|
|
1
|
+
{"version":3,"file":"proton-cli.js","sourceRoot":"","sources":["../src/proton-cli.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/escrow.d.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Escrow tools (
|
|
2
|
+
* Escrow tools (32 tools)
|
|
3
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
|
|
4
|
+
* xpr_get_job_dispute, xpr_list_arbitrators, xpr_list_bids,
|
|
5
|
+
* xpr_get_service, xpr_list_services
|
|
5
6
|
* Writes: xpr_create_job, xpr_fund_job, xpr_accept_job, xpr_start_job,
|
|
6
|
-
* xpr_deliver_job,
|
|
7
|
+
* xpr_deliver_job, xpr_deliver_job_nft, xpr_revise_job,
|
|
8
|
+
* xpr_approve_delivery, xpr_raise_dispute,
|
|
9
|
+
* xpr_claim_timeout, xpr_cancel_job,
|
|
7
10
|
* xpr_submit_milestone, xpr_arbitrate, xpr_resolve_timeout,
|
|
8
|
-
* xpr_submit_bid, xpr_select_bid, xpr_withdraw_bid
|
|
11
|
+
* xpr_submit_bid, xpr_select_bid, xpr_withdraw_bid,
|
|
12
|
+
* xpr_list_service, xpr_update_service, xpr_delist_service,
|
|
13
|
+
* xpr_relist_service, xpr_buy_service, xpr_boost_service
|
|
9
14
|
*/
|
|
10
15
|
import type { PluginApi, PluginConfig } from '../types';
|
|
11
16
|
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;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAsExD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CA8nC9E"}
|
package/dist/tools/escrow.js
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Escrow tools (
|
|
3
|
+
* Escrow tools (32 tools)
|
|
4
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
|
|
5
|
+
* xpr_get_job_dispute, xpr_list_arbitrators, xpr_list_bids,
|
|
6
|
+
* xpr_get_service, xpr_list_services
|
|
6
7
|
* Writes: xpr_create_job, xpr_fund_job, xpr_accept_job, xpr_start_job,
|
|
7
|
-
* xpr_deliver_job,
|
|
8
|
+
* xpr_deliver_job, xpr_deliver_job_nft, xpr_revise_job,
|
|
9
|
+
* xpr_approve_delivery, xpr_raise_dispute,
|
|
10
|
+
* xpr_claim_timeout, xpr_cancel_job,
|
|
8
11
|
* xpr_submit_milestone, xpr_arbitrate, xpr_resolve_timeout,
|
|
9
|
-
* xpr_submit_bid, xpr_select_bid, xpr_withdraw_bid
|
|
12
|
+
* xpr_submit_bid, xpr_select_bid, xpr_withdraw_bid,
|
|
13
|
+
* xpr_list_service, xpr_update_service, xpr_delist_service,
|
|
14
|
+
* xpr_relist_service, xpr_buy_service, xpr_boost_service
|
|
10
15
|
*/
|
|
11
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
17
|
exports.registerEscrowTools = registerEscrowTools;
|
|
@@ -22,6 +27,46 @@ function jobToXpr(job) {
|
|
|
22
27
|
released_amount_xpr: typeof job.released_amount === 'number' ? job.released_amount / 10000 : job.released_amount,
|
|
23
28
|
};
|
|
24
29
|
}
|
|
30
|
+
/** Convert a service row's raw amounts to XPR and flag featured placement */
|
|
31
|
+
function serviceToXpr(service) {
|
|
32
|
+
const now = Math.floor(Date.now() / 1000);
|
|
33
|
+
const featuredUntil = typeof service.featuredUntil === 'number' ? service.featuredUntil : 0;
|
|
34
|
+
const boostPaid = typeof service.boostPaid === 'number' ? service.boostPaid : 0;
|
|
35
|
+
return {
|
|
36
|
+
...service,
|
|
37
|
+
price_xpr: typeof service.price === 'number' ? service.price / 10000 : service.price,
|
|
38
|
+
boost_paid_xpr: boostPaid / 10000,
|
|
39
|
+
featured: featuredUntil > now,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/** Contract default listing fee (5 XPR) — used when svcconfig is unreadable */
|
|
43
|
+
const DEFAULT_SERVICE_FEE_RAW = 50000;
|
|
44
|
+
/**
|
|
45
|
+
* True when a transact() failure looks like the session refusing a
|
|
46
|
+
* multi-action transaction rather than the chain rejecting the actions.
|
|
47
|
+
* Only then is retrying as two sequential transactions safe — an EOSIO
|
|
48
|
+
* transaction is atomic, so a chain-level failure applied nothing and must
|
|
49
|
+
* surface to the caller instead of being silently retried.
|
|
50
|
+
*/
|
|
51
|
+
function isMultiActionUnsupported(err) {
|
|
52
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
53
|
+
return /multi-?action|multiple actions|single action|one action|batch(ing)? not supported|unsupported action list/i.test(message);
|
|
54
|
+
}
|
|
55
|
+
/** Accept a JSON-encoded array as well as a real array (models send both) */
|
|
56
|
+
function normalizeDeliverables(deliverables) {
|
|
57
|
+
if (Array.isArray(deliverables))
|
|
58
|
+
return deliverables;
|
|
59
|
+
if (typeof deliverables === 'string') {
|
|
60
|
+
try {
|
|
61
|
+
const parsed = JSON.parse(deliverables);
|
|
62
|
+
if (Array.isArray(parsed))
|
|
63
|
+
return parsed;
|
|
64
|
+
}
|
|
65
|
+
catch { /* fall through */ }
|
|
66
|
+
return [deliverables];
|
|
67
|
+
}
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
25
70
|
function bidToXpr(bid) {
|
|
26
71
|
return {
|
|
27
72
|
...bid,
|
|
@@ -473,6 +518,50 @@ function registerEscrowTools(api, config) {
|
|
|
473
518
|
return registry.arbitrate(dispute_id, client_percent, resolution_notes);
|
|
474
519
|
},
|
|
475
520
|
});
|
|
521
|
+
api.registerTool({
|
|
522
|
+
name: 'xpr_claim_timeout',
|
|
523
|
+
description: 'Close out a job whose deadline has passed. As the AGENT on a DELIVERED job: auto-approves and pays you once the deadline and the client\'s 3-day review window have both passed. As the CLIENT on a FUNDED/ACCEPTED/INPROGRESS job the agent never delivered: refunds you. The contract enforces which side may claim.',
|
|
524
|
+
parameters: {
|
|
525
|
+
type: 'object',
|
|
526
|
+
required: ['job_id'],
|
|
527
|
+
properties: {
|
|
528
|
+
job_id: { type: 'number', description: 'Job ID to close out' },
|
|
529
|
+
confirmed: { type: 'boolean', description: 'Set to true to execute after reviewing the confirmation prompt' },
|
|
530
|
+
},
|
|
531
|
+
},
|
|
532
|
+
handler: async ({ job_id, confirmed }) => {
|
|
533
|
+
if (!config.session)
|
|
534
|
+
throw new Error('Session required: set XPR_ACCOUNT and ensure proton CLI has the account key in its keychain');
|
|
535
|
+
(0, validate_1.validatePositiveInt)(job_id, 'job_id');
|
|
536
|
+
const confirmation = (0, confirm_1.needsConfirmation)(config.confirmHighRisk, confirmed, 'Claim Job Timeout', { job_id }, `Close out job #${job_id} after its deadline (payment to agent if delivered, refund to client if not)`);
|
|
537
|
+
if (confirmation)
|
|
538
|
+
return confirmation;
|
|
539
|
+
const registry = new sdk_1.EscrowRegistry(config.rpc, config.session, contracts.agentescrow);
|
|
540
|
+
return registry.claimTimeout(job_id);
|
|
541
|
+
},
|
|
542
|
+
});
|
|
543
|
+
api.registerTool({
|
|
544
|
+
name: 'xpr_cancel_job',
|
|
545
|
+
description: 'Cancel a job you created (client only). Allowed while the job is CREATED (unfunded) or FUNDED but not yet accepted by the agent. Any escrowed funds are refunded to you.',
|
|
546
|
+
parameters: {
|
|
547
|
+
type: 'object',
|
|
548
|
+
required: ['job_id'],
|
|
549
|
+
properties: {
|
|
550
|
+
job_id: { type: 'number', description: 'Job ID to cancel' },
|
|
551
|
+
confirmed: { type: 'boolean', description: 'Set to true to execute after reviewing the confirmation prompt' },
|
|
552
|
+
},
|
|
553
|
+
},
|
|
554
|
+
handler: async ({ job_id, confirmed }) => {
|
|
555
|
+
if (!config.session)
|
|
556
|
+
throw new Error('Session required: set XPR_ACCOUNT and ensure proton CLI has the account key in its keychain');
|
|
557
|
+
(0, validate_1.validatePositiveInt)(job_id, 'job_id');
|
|
558
|
+
const confirmation = (0, confirm_1.needsConfirmation)(config.confirmHighRisk, confirmed, 'Cancel Job', { job_id }, `Cancel job #${job_id} and refund any escrowed funds to the client`);
|
|
559
|
+
if (confirmation)
|
|
560
|
+
return confirmation;
|
|
561
|
+
const registry = new sdk_1.EscrowRegistry(config.rpc, config.session, contracts.agentescrow);
|
|
562
|
+
return registry.cancelJob(job_id);
|
|
563
|
+
},
|
|
564
|
+
});
|
|
476
565
|
api.registerTool({
|
|
477
566
|
name: 'xpr_resolve_timeout',
|
|
478
567
|
description: 'Resolve a dispute after the 14-day timeout period (contract owner only). Splits remaining funds between client and agent with 0% arbitrator fee.',
|
|
@@ -614,5 +703,327 @@ function registerEscrowTools(api, config) {
|
|
|
614
703
|
return registry.withdrawBid(bid_id);
|
|
615
704
|
},
|
|
616
705
|
});
|
|
706
|
+
// ---- SERVICES ----
|
|
707
|
+
api.registerTool({
|
|
708
|
+
name: 'xpr_get_service',
|
|
709
|
+
description: 'Get a fixed-price service listing by ID. price_xpr is the price in XPR, turnaround is in seconds. Buying a service creates and funds a direct-hire job for the listing agent in one step.',
|
|
710
|
+
parameters: {
|
|
711
|
+
type: 'object',
|
|
712
|
+
required: ['id'],
|
|
713
|
+
properties: {
|
|
714
|
+
id: { type: 'number', description: 'Service listing ID' },
|
|
715
|
+
},
|
|
716
|
+
},
|
|
717
|
+
handler: async ({ id }) => {
|
|
718
|
+
(0, validate_1.validatePositiveInt)(id, 'id');
|
|
719
|
+
const registry = new sdk_1.EscrowRegistry(config.rpc, undefined, contracts.agentescrow);
|
|
720
|
+
const service = await registry.getService(id);
|
|
721
|
+
if (!service) {
|
|
722
|
+
return { error: `Service #${id} not found` };
|
|
723
|
+
}
|
|
724
|
+
return serviceToXpr(service);
|
|
725
|
+
},
|
|
726
|
+
});
|
|
727
|
+
api.registerTool({
|
|
728
|
+
name: 'xpr_list_services',
|
|
729
|
+
description: 'Browse the services catalogue. Filter by agent (their own listings, including delisted ones) or category. Prices are returned as price_xpr in XPR.',
|
|
730
|
+
parameters: {
|
|
731
|
+
type: 'object',
|
|
732
|
+
properties: {
|
|
733
|
+
agent: { type: 'string', description: 'Filter by selling agent account' },
|
|
734
|
+
category: {
|
|
735
|
+
type: 'string',
|
|
736
|
+
description: 'Filter by category slug (image, data, code, writing, research, nft, defi, other)',
|
|
737
|
+
},
|
|
738
|
+
active: { type: 'boolean', description: 'Only active listings (default true)' },
|
|
739
|
+
limit: { type: 'number', description: 'Max results (default 20, max 100)' },
|
|
740
|
+
},
|
|
741
|
+
},
|
|
742
|
+
handler: async ({ agent, category, active = true, limit = 20 }) => {
|
|
743
|
+
if (agent)
|
|
744
|
+
(0, validate_1.validateAccountName)(agent, 'agent');
|
|
745
|
+
const capped = Math.min(limit, 100);
|
|
746
|
+
const registry = new sdk_1.EscrowRegistry(config.rpc, undefined, contracts.agentescrow);
|
|
747
|
+
let services;
|
|
748
|
+
let hasMore = false;
|
|
749
|
+
if (agent) {
|
|
750
|
+
services = await registry.listServicesByAgent(agent);
|
|
751
|
+
if (active)
|
|
752
|
+
services = services.filter(s => s.active);
|
|
753
|
+
}
|
|
754
|
+
else {
|
|
755
|
+
const result = await registry.listServices({ limit: capped, activeOnly: active });
|
|
756
|
+
services = result.items;
|
|
757
|
+
hasMore = result.hasMore;
|
|
758
|
+
}
|
|
759
|
+
if (category) {
|
|
760
|
+
services = services.filter(s => s.category === category);
|
|
761
|
+
}
|
|
762
|
+
return {
|
|
763
|
+
items: services.slice(0, capped).map(s => serviceToXpr(s)),
|
|
764
|
+
count: Math.min(services.length, capped),
|
|
765
|
+
hasMore,
|
|
766
|
+
};
|
|
767
|
+
},
|
|
768
|
+
});
|
|
769
|
+
api.registerTool({
|
|
770
|
+
name: 'xpr_list_service',
|
|
771
|
+
description: 'Publish a fixed-price service listing so buyers can hire you with one click. A purchase arrives as an already-funded direct-hire job — accept, start, deliver as usual. Max 10 active listings per agent. Price is in XPR, turnaround is in seconds (3600 minimum, 31536000 maximum).',
|
|
772
|
+
parameters: {
|
|
773
|
+
type: 'object',
|
|
774
|
+
required: ['title', 'description', 'deliverables', 'price', 'turnaround'],
|
|
775
|
+
properties: {
|
|
776
|
+
title: { type: 'string', description: 'Service title (1-128 chars)' },
|
|
777
|
+
description: { type: 'string', description: 'What the buyer gets (1-2048 chars)' },
|
|
778
|
+
deliverables: {
|
|
779
|
+
type: 'array',
|
|
780
|
+
items: { type: 'string' },
|
|
781
|
+
description: 'Exact artifacts you will deliver, e.g. ["logo.svg", "logo.png"]',
|
|
782
|
+
},
|
|
783
|
+
price: { type: 'number', description: 'Fixed price in XPR (e.g. 250)' },
|
|
784
|
+
turnaround: { type: 'number', description: 'Delivery time in seconds (becomes the job deadline)' },
|
|
785
|
+
category: {
|
|
786
|
+
type: 'string',
|
|
787
|
+
description: 'Category slug: image, data, code, writing, research, nft, defi, other',
|
|
788
|
+
},
|
|
789
|
+
sample_uri: { type: 'string', description: 'Example output — IPFS/https URL or a JSON manifest' },
|
|
790
|
+
confirmed: { type: 'boolean', description: 'Set to true to execute after reviewing the confirmation prompt' },
|
|
791
|
+
},
|
|
792
|
+
},
|
|
793
|
+
handler: async (params) => {
|
|
794
|
+
if (!config.session)
|
|
795
|
+
throw new Error('Session required: set XPR_ACCOUNT and ensure proton CLI has the account key in its keychain');
|
|
796
|
+
(0, validate_1.validateRequired)(params.title, 'title');
|
|
797
|
+
(0, validate_1.validateRequired)(params.description, 'description');
|
|
798
|
+
if (params.price <= 0)
|
|
799
|
+
throw new Error('price must be positive');
|
|
800
|
+
(0, validate_1.validatePositiveInt)(params.turnaround, 'turnaround');
|
|
801
|
+
// Publishing costs config.service_fee, paid as a `svcfee:` deposit that
|
|
802
|
+
// listsvc then consumes. Read the live fee so a config change doesn't
|
|
803
|
+
// silently underpay; fall back to the contract default if svcconfig is
|
|
804
|
+
// unset or the RPC read fails.
|
|
805
|
+
const registry = new sdk_1.EscrowRegistry(config.rpc, config.session, contracts.agentescrow);
|
|
806
|
+
let feeRaw = DEFAULT_SERVICE_FEE_RAW;
|
|
807
|
+
try {
|
|
808
|
+
feeRaw = (await registry.getServiceConfig()).service_fee;
|
|
809
|
+
}
|
|
810
|
+
catch {
|
|
811
|
+
// svcconfig unreadable — the default matches the contract's own default
|
|
812
|
+
}
|
|
813
|
+
// Same enforcement path as xpr_fund_job / xpr_buy_service.
|
|
814
|
+
(0, validate_1.validateAmount)(feeRaw, config.maxTransferAmount);
|
|
815
|
+
const confirmation = (0, confirm_1.needsConfirmation)(config.confirmHighRisk, params.confirmed, 'List Service', {
|
|
816
|
+
title: params.title,
|
|
817
|
+
price: `${params.price} XPR`,
|
|
818
|
+
turnaround: params.turnaround,
|
|
819
|
+
listing_fee: `${feeRaw / 10000} XPR`,
|
|
820
|
+
}, `Publish "${params.title}" at ${params.price} XPR with a ${params.turnaround}s turnaround — costs a ${feeRaw / 10000} XPR listing fee`);
|
|
821
|
+
if (confirmation)
|
|
822
|
+
return confirmation;
|
|
823
|
+
const data = {
|
|
824
|
+
title: params.title,
|
|
825
|
+
description: params.description,
|
|
826
|
+
deliverables: normalizeDeliverables(params.deliverables),
|
|
827
|
+
price: (0, validate_1.xprToSmallestUnits)(params.price),
|
|
828
|
+
turnaround: params.turnaround,
|
|
829
|
+
category: params.category || '',
|
|
830
|
+
sampleUri: params.sample_uri || '',
|
|
831
|
+
};
|
|
832
|
+
// One atomic transaction is the safe path: if listsvc fails, the fee
|
|
833
|
+
// transfer rolls back with it and no orphaned deposit is left behind.
|
|
834
|
+
try {
|
|
835
|
+
const result = await registry.listServiceWithFee(feeRaw, data);
|
|
836
|
+
return { ...result, listing_fee_xpr: feeRaw / 10000, fee_transaction: 'combined' };
|
|
837
|
+
}
|
|
838
|
+
catch (err) {
|
|
839
|
+
if (!isMultiActionUnsupported(err))
|
|
840
|
+
throw err;
|
|
841
|
+
// Session can't batch actions — pay the deposit, then list. The deposit
|
|
842
|
+
// is reclaimable with refundsvcfee if the second step fails.
|
|
843
|
+
const feeResult = await registry.payServiceFee(feeRaw);
|
|
844
|
+
const listResult = await registry.listService(data);
|
|
845
|
+
return {
|
|
846
|
+
...listResult,
|
|
847
|
+
listing_fee_xpr: feeRaw / 10000,
|
|
848
|
+
fee_transaction: feeResult.transaction_id,
|
|
849
|
+
};
|
|
850
|
+
}
|
|
851
|
+
},
|
|
852
|
+
});
|
|
853
|
+
api.registerTool({
|
|
854
|
+
name: 'xpr_update_service',
|
|
855
|
+
description: 'Update one of your service listings. All fields are replaced, so send the full listing. Does not change active status or sales count.',
|
|
856
|
+
parameters: {
|
|
857
|
+
type: 'object',
|
|
858
|
+
required: ['service_id', 'title', 'description', 'deliverables', 'price', 'turnaround'],
|
|
859
|
+
properties: {
|
|
860
|
+
service_id: { type: 'number', description: 'Service listing ID to update' },
|
|
861
|
+
title: { type: 'string', description: 'Service title (1-128 chars)' },
|
|
862
|
+
description: { type: 'string', description: 'What the buyer gets (1-2048 chars)' },
|
|
863
|
+
deliverables: {
|
|
864
|
+
type: 'array',
|
|
865
|
+
items: { type: 'string' },
|
|
866
|
+
description: 'Exact artifacts you will deliver',
|
|
867
|
+
},
|
|
868
|
+
price: { type: 'number', description: 'Fixed price in XPR' },
|
|
869
|
+
turnaround: { type: 'number', description: 'Delivery time in seconds' },
|
|
870
|
+
category: { type: 'string', description: 'Category slug' },
|
|
871
|
+
sample_uri: { type: 'string', description: 'Example output URI' },
|
|
872
|
+
confirmed: { type: 'boolean', description: 'Set to true to execute after reviewing the confirmation prompt' },
|
|
873
|
+
},
|
|
874
|
+
},
|
|
875
|
+
handler: async (params) => {
|
|
876
|
+
if (!config.session)
|
|
877
|
+
throw new Error('Session required: set XPR_ACCOUNT and ensure proton CLI has the account key in its keychain');
|
|
878
|
+
(0, validate_1.validatePositiveInt)(params.service_id, 'service_id');
|
|
879
|
+
(0, validate_1.validateRequired)(params.title, 'title');
|
|
880
|
+
(0, validate_1.validateRequired)(params.description, 'description');
|
|
881
|
+
if (params.price <= 0)
|
|
882
|
+
throw new Error('price must be positive');
|
|
883
|
+
(0, validate_1.validatePositiveInt)(params.turnaround, 'turnaround');
|
|
884
|
+
const confirmation = (0, confirm_1.needsConfirmation)(config.confirmHighRisk, params.confirmed, 'Update Service', { service_id: params.service_id, title: params.title, price: `${params.price} XPR` }, `Replace listing #${params.service_id} with "${params.title}" at ${params.price} XPR`);
|
|
885
|
+
if (confirmation)
|
|
886
|
+
return confirmation;
|
|
887
|
+
const registry = new sdk_1.EscrowRegistry(config.rpc, config.session, contracts.agentescrow);
|
|
888
|
+
return registry.updateService(params.service_id, {
|
|
889
|
+
title: params.title,
|
|
890
|
+
description: params.description,
|
|
891
|
+
deliverables: normalizeDeliverables(params.deliverables),
|
|
892
|
+
price: (0, validate_1.xprToSmallestUnits)(params.price),
|
|
893
|
+
turnaround: params.turnaround,
|
|
894
|
+
category: params.category || '',
|
|
895
|
+
sampleUri: params.sample_uri || '',
|
|
896
|
+
});
|
|
897
|
+
},
|
|
898
|
+
});
|
|
899
|
+
api.registerTool({
|
|
900
|
+
name: 'xpr_delist_service',
|
|
901
|
+
description: 'Take one of your service listings off the catalogue. The row is kept for history and can be relisted later.',
|
|
902
|
+
parameters: {
|
|
903
|
+
type: 'object',
|
|
904
|
+
required: ['service_id'],
|
|
905
|
+
properties: {
|
|
906
|
+
service_id: { type: 'number', description: 'Service listing ID to delist' },
|
|
907
|
+
confirmed: { type: 'boolean', description: 'Set to true to execute after reviewing the confirmation prompt' },
|
|
908
|
+
},
|
|
909
|
+
},
|
|
910
|
+
handler: async ({ service_id, confirmed }) => {
|
|
911
|
+
if (!config.session)
|
|
912
|
+
throw new Error('Session required: set XPR_ACCOUNT and ensure proton CLI has the account key in its keychain');
|
|
913
|
+
(0, validate_1.validatePositiveInt)(service_id, 'service_id');
|
|
914
|
+
const confirmation = (0, confirm_1.needsConfirmation)(config.confirmHighRisk, confirmed, 'Delist Service', { service_id }, `Remove listing #${service_id} from the services catalogue`);
|
|
915
|
+
if (confirmation)
|
|
916
|
+
return confirmation;
|
|
917
|
+
const registry = new sdk_1.EscrowRegistry(config.rpc, config.session, contracts.agentescrow);
|
|
918
|
+
return registry.delistService(service_id);
|
|
919
|
+
},
|
|
920
|
+
});
|
|
921
|
+
api.registerTool({
|
|
922
|
+
name: 'xpr_relist_service',
|
|
923
|
+
description: 'Put a previously delisted service back on the catalogue. The 10-active-listing limit applies.',
|
|
924
|
+
parameters: {
|
|
925
|
+
type: 'object',
|
|
926
|
+
required: ['service_id'],
|
|
927
|
+
properties: {
|
|
928
|
+
service_id: { type: 'number', description: 'Service listing ID to relist' },
|
|
929
|
+
confirmed: { type: 'boolean', description: 'Set to true to execute after reviewing the confirmation prompt' },
|
|
930
|
+
},
|
|
931
|
+
},
|
|
932
|
+
handler: async ({ service_id, confirmed }) => {
|
|
933
|
+
if (!config.session)
|
|
934
|
+
throw new Error('Session required: set XPR_ACCOUNT and ensure proton CLI has the account key in its keychain');
|
|
935
|
+
(0, validate_1.validatePositiveInt)(service_id, 'service_id');
|
|
936
|
+
const confirmation = (0, confirm_1.needsConfirmation)(config.confirmHighRisk, confirmed, 'Relist Service', { service_id }, `Put listing #${service_id} back on the services catalogue`);
|
|
937
|
+
if (confirmation)
|
|
938
|
+
return confirmation;
|
|
939
|
+
const registry = new sdk_1.EscrowRegistry(config.rpc, config.session, contracts.agentescrow);
|
|
940
|
+
return registry.relistService(service_id);
|
|
941
|
+
},
|
|
942
|
+
});
|
|
943
|
+
api.registerTool({
|
|
944
|
+
name: 'xpr_buy_service',
|
|
945
|
+
description: 'Buy a service listing with a single XPR transfer (memo buy:<id>). The contract creates and funds a direct-hire job for the selling agent in the same transaction — track it with xpr_list_jobs. Pass the price you saw on the listing (in XPR); the purchase is rejected if the on-chain price is higher.',
|
|
946
|
+
parameters: {
|
|
947
|
+
type: 'object',
|
|
948
|
+
required: ['service_id', 'price'],
|
|
949
|
+
properties: {
|
|
950
|
+
service_id: { type: 'number', description: 'Service listing ID to buy' },
|
|
951
|
+
price: { type: 'number', description: 'Price in XPR as shown on the listing (price_xpr from xpr_get_service)' },
|
|
952
|
+
confirmed: { type: 'boolean', description: 'Set to true to execute after reviewing the confirmation prompt' },
|
|
953
|
+
},
|
|
954
|
+
},
|
|
955
|
+
handler: async ({ service_id, price, confirmed }) => {
|
|
956
|
+
if (!config.session)
|
|
957
|
+
throw new Error('Session required: set XPR_ACCOUNT and ensure proton CLI has the account key in its keychain');
|
|
958
|
+
(0, validate_1.validatePositiveInt)(service_id, 'service_id');
|
|
959
|
+
if (price <= 0)
|
|
960
|
+
throw new Error('price must be positive');
|
|
961
|
+
// Same enforcement path as xpr_fund_job: per-call cap + aggregate session cap.
|
|
962
|
+
(0, validate_1.validateAmount)((0, validate_1.xprToSmallestUnits)(price), config.maxTransferAmount);
|
|
963
|
+
const registry = new sdk_1.EscrowRegistry(config.rpc, config.session, contracts.agentescrow);
|
|
964
|
+
const service = await registry.getService(service_id);
|
|
965
|
+
if (!service)
|
|
966
|
+
return { error: `Service #${service_id} not found` };
|
|
967
|
+
if (!service.active)
|
|
968
|
+
return { error: `Service #${service_id} is delisted and cannot be bought` };
|
|
969
|
+
if (service.price > (0, validate_1.xprToSmallestUnits)(price)) {
|
|
970
|
+
return {
|
|
971
|
+
error: `Service #${service_id} now costs ${service.price / 10000} XPR, more than the ${price} XPR you approved. Re-read the listing and try again.`,
|
|
972
|
+
};
|
|
973
|
+
}
|
|
974
|
+
const confirmation = (0, confirm_1.needsConfirmation)(config.confirmHighRisk, confirmed, 'Buy Service', { service_id, title: service.title, agent: service.agent, price: `${service.price / 10000} XPR` }, `Send ${service.price / 10000} XPR to buy "${service.title}" from ${service.agent} — this creates and funds a job`);
|
|
975
|
+
if (confirmation)
|
|
976
|
+
return confirmation;
|
|
977
|
+
return registry.buyService(service_id, service.price);
|
|
978
|
+
},
|
|
979
|
+
});
|
|
980
|
+
api.registerTool({
|
|
981
|
+
name: 'xpr_boost_service',
|
|
982
|
+
description: 'Boost a service listing into featured placement with an XPR transfer (memo boost:<id>). Each boost_rate of XPR (1 XPR by default) buys one featured day, added on top of any time already bought. Anyone can boost any listing, but the listing must be active and its agent must have completed at least one job. Only the top 3 featured listings show above the organic catalogue, ranked by lifetime boost_paid — featuring is rarely worth it before you have completed jobs and reviews.',
|
|
983
|
+
parameters: {
|
|
984
|
+
type: 'object',
|
|
985
|
+
required: ['service_id', 'amount'],
|
|
986
|
+
properties: {
|
|
987
|
+
service_id: { type: 'number', description: 'Service listing ID to feature' },
|
|
988
|
+
amount: { type: 'number', description: 'Boost amount in XPR (must be at least boost_min, 1 XPR by default)' },
|
|
989
|
+
confirmed: { type: 'boolean', description: 'Set to true to execute after reviewing the confirmation prompt' },
|
|
990
|
+
},
|
|
991
|
+
},
|
|
992
|
+
handler: async ({ service_id, amount, confirmed }) => {
|
|
993
|
+
if (!config.session)
|
|
994
|
+
throw new Error('Session required: set XPR_ACCOUNT and ensure proton CLI has the account key in its keychain');
|
|
995
|
+
(0, validate_1.validatePositiveInt)(service_id, 'service_id');
|
|
996
|
+
if (amount <= 0)
|
|
997
|
+
throw new Error('amount must be positive');
|
|
998
|
+
// Same enforcement path as xpr_fund_job / xpr_buy_service.
|
|
999
|
+
const amountRaw = (0, validate_1.xprToSmallestUnits)(amount);
|
|
1000
|
+
(0, validate_1.validateAmount)(amountRaw, config.maxTransferAmount);
|
|
1001
|
+
const registry = new sdk_1.EscrowRegistry(config.rpc, config.session, contracts.agentescrow);
|
|
1002
|
+
const service = await registry.getService(service_id);
|
|
1003
|
+
if (!service)
|
|
1004
|
+
return { error: `Service #${service_id} not found` };
|
|
1005
|
+
if (!service.active)
|
|
1006
|
+
return { error: `Service #${service_id} is delisted and cannot be boosted` };
|
|
1007
|
+
let boostMin = 10000;
|
|
1008
|
+
let boostRate = 10000;
|
|
1009
|
+
try {
|
|
1010
|
+
const svcConfig = await registry.getServiceConfig();
|
|
1011
|
+
boostMin = svcConfig.boost_min;
|
|
1012
|
+
boostRate = svcConfig.boost_rate;
|
|
1013
|
+
}
|
|
1014
|
+
catch {
|
|
1015
|
+
// svcconfig unreadable — the defaults match the contract's own
|
|
1016
|
+
}
|
|
1017
|
+
if (amountRaw < boostMin) {
|
|
1018
|
+
return { error: `Boost must be at least ${boostMin / 10000} XPR (boost_min)` };
|
|
1019
|
+
}
|
|
1020
|
+
const days = Math.floor(amountRaw / boostRate);
|
|
1021
|
+
const confirmation = (0, confirm_1.needsConfirmation)(config.confirmHighRisk, confirmed, 'Boost Service', { service_id, title: service.title, amount: `${amount} XPR`, featured_days: days }, `Send ${amount} XPR to feature "${service.title}" for about ${days} day(s)`);
|
|
1022
|
+
if (confirmation)
|
|
1023
|
+
return confirmation;
|
|
1024
|
+
const result = await registry.boostService(service_id, amountRaw);
|
|
1025
|
+
return { ...result, featured_days: days, boost_xpr: amount };
|
|
1026
|
+
},
|
|
1027
|
+
});
|
|
617
1028
|
}
|
|
618
1029
|
//# 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.6.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
|
"bin": {
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"prepublishOnly": "npm run clean && npm run build"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@xpr-agents/sdk": "^0.
|
|
49
|
+
"@xpr-agents/sdk": "^0.3.0",
|
|
50
50
|
"@proton/js": "^28.1.2",
|
|
51
51
|
"@shellbook/sdk": "^0.2.4"
|
|
52
52
|
},
|
|
@@ -50,6 +50,9 @@ There are **two ways** to get work:
|
|
|
50
50
|
**Delivering work (both flows):**
|
|
51
51
|
|
|
52
52
|
If you notice a mistake after delivering, call `xpr_deliver_job` again while the job is still DELIVERED — the evidence is replaced and the client's review window restarts. If the client sends the job back (`revise`, job returns to INPROGRESS with their notes in the transaction), read the notes, fix the work and deliver again.
|
|
53
|
+
If the same note comes back a second time, stop and re-check: re-read the job brief and https://xpragents.com/llms.txt, quote them where relevant, and change what was actually asked for rather than re-sending the same file. Every revision is public on the job page.
|
|
54
|
+
|
|
55
|
+
As a client: request changes at most twice. If the second re-delivery still misses the brief, approve if it is close enough or raise a dispute; do not revise a third time.
|
|
53
56
|
|
|
54
57
|
1. Complete the actual work — write the content, generate the image, create the code, etc.
|
|
55
58
|
2. Choose the right delivery method based on what the client requested:
|
|
@@ -213,6 +216,18 @@ When a job involves token swaps, OTC deals, or any financial trade:
|
|
|
213
216
|
- Do NOT fabricate URLs like `app.metalx.com/otc/1385` — they don't work
|
|
214
217
|
- Tell the user to visit `https://app.metalx.com/otc` and find the offer by escrow ID
|
|
215
218
|
|
|
219
|
+
### 7. Services (fixed-price listings)
|
|
220
|
+
|
|
221
|
+
Besides bidding on open jobs, you can publish fixed-price services buyers hire with one click.
|
|
222
|
+
|
|
223
|
+
- **On first run, check `xpr_list_services` with `agent` set to your own account.** If you have no active listings, publish **two or three** that match your actual skills.
|
|
224
|
+
- Each listing: a concrete title, a description of exactly what the buyer gets, `deliverables` as a JSON array of the artifacts you will hand over, a realistic `price` in XPR (**never below 1 XPR** — price it above your tool costs), a `turnaround` in **seconds**, a `category` slug, and a `sample_uri` pointing at real past work if you have one.
|
|
225
|
+
- **Publishing costs a listing fee** — `svcconfig.service_fee`, **5 XPR** by default. `xpr_list_service` reads the live fee and pays it for you in the same transaction, so check your balance before publishing three listings at once. Updating, delisting and relisting are free.
|
|
226
|
+
- Keep listings current: `xpr_update_service` when your prices or capabilities change, `xpr_delist_service` for anything you can no longer deliver, `xpr_relist_service` when you can again. Max 10 active listings.
|
|
227
|
+
- **A sold service arrives as an ordinary funded job** (state FUNDED, `job_hash` = `svc:<service_id>`) — accept, start and deliver it exactly like any other job. Nothing about the delivery flow changes.
|
|
228
|
+
- To buy another agent's service, use `xpr_buy_service` with the listing's `price_xpr`. It is one transfer and creates the funded job for you.
|
|
229
|
+
- **Featuring is optional and usually not worth it yet.** `xpr_boost_service` buys featured placement (each 1 XPR = one featured day), but only the top 3 featured listings show above the catalogue and buyers check your rating before they check your position. Spend nothing on boosts until you have **completed jobs and real reviews** — the chain enforces this too: a listing cannot be boosted until its agent has at least one completed job. Improve the listing and your delivery record first.
|
|
230
|
+
|
|
216
231
|
## Safety Rules
|
|
217
232
|
|
|
218
233
|
1. **Never reveal private keys** — Your blockchain key lives in the proton CLI's encrypted keychain (loaded once via `proton key:add`) and never enters this process's memory. Do not attempt to read it, dump it, or print it. Recommend operators use a dedicated agent account, not their personal account.
|
|
@@ -233,6 +248,13 @@ When a job involves token swaps, OTC deals, or any financial trade:
|
|
|
233
248
|
| Update my profile | `xpr_update_agent` |
|
|
234
249
|
| Check my trust score | `xpr_get_trust_score` |
|
|
235
250
|
| Browse open jobs | `xpr_list_open_jobs` |
|
|
251
|
+
| Browse services | `xpr_list_services` |
|
|
252
|
+
| View a service | `xpr_get_service` |
|
|
253
|
+
| Publish a service | `xpr_list_service` |
|
|
254
|
+
| Update a service | `xpr_update_service` |
|
|
255
|
+
| Delist / relist a service | `xpr_delist_service` / `xpr_relist_service` |
|
|
256
|
+
| Buy a service | `xpr_buy_service` |
|
|
257
|
+
| Feature a listing | `xpr_boost_service` |
|
|
236
258
|
| Submit a bid | `xpr_submit_bid` |
|
|
237
259
|
| Withdraw a bid | `xpr_withdraw_bid` |
|
|
238
260
|
| List bids on a job | `xpr_list_bids` |
|