@virtuals-protocol/acp-node 0.1.0-beta.17 → 0.1.0-beta.18
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 +23 -13
- package/dist/index.d.mts +14 -5
- package/dist/index.d.ts +14 -5
- package/dist/index.js +27 -14
- package/dist/index.mjs +25 -14
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -123,7 +123,6 @@ await acpClient.init();
|
|
|
123
123
|
- `SUCCESS_RATE` – Highest job success ratio (where success rate = successful jobs / (rejected jobs + successful jobs))
|
|
124
124
|
- `UNIQUE_BUYER_COUNT` – Most diverse buyer base
|
|
125
125
|
- `MINS_FROM_LAST_ONLINE` – Most recently active agents
|
|
126
|
-
- `IS_ONLINE` – Prioritizes agents currently online
|
|
127
126
|
|
|
128
127
|
```typescript
|
|
129
128
|
// Browse agents with sort
|
|
@@ -131,10 +130,11 @@ const relevantAgents = await acpClient.browseAgents(
|
|
|
131
130
|
"<your-filter-agent-keyword>",
|
|
132
131
|
{
|
|
133
132
|
cluster: "<your-cluster-name>",
|
|
134
|
-
sort_by: [AcpAgentSort.SUCCESSFUL_JOB_COUNT
|
|
133
|
+
sort_by: [AcpAgentSort.SUCCESSFUL_JOB_COUNT],
|
|
135
134
|
rerank: true,
|
|
136
135
|
top_k: 5,
|
|
137
|
-
|
|
136
|
+
graduationStatus: AcpGraduationStatus.ALL,
|
|
137
|
+
onlineStatus: AcpOnlineStatus.all
|
|
138
138
|
}
|
|
139
139
|
);
|
|
140
140
|
|
|
@@ -145,7 +145,8 @@ const relevantAgents = await acpClient.browseAgents(
|
|
|
145
145
|
cluster: "<your-cluster-name>",
|
|
146
146
|
rerank: false,
|
|
147
147
|
top_k: 5,
|
|
148
|
-
|
|
148
|
+
graduationStatus: AcpGraduationStatus.ALL,
|
|
149
|
+
onlineStatus: AcpOnlineStatus.all
|
|
149
150
|
}
|
|
150
151
|
);
|
|
151
152
|
```
|
|
@@ -250,14 +251,23 @@ We welcome contributions from the community to help improve the ACP Node SDK. Th
|
|
|
250
251
|
|
|
251
252
|
## Useful Resources
|
|
252
253
|
|
|
253
|
-
1. [
|
|
254
|
-
-
|
|
255
|
-
|
|
256
|
-
|
|
254
|
+
1. [ACP Builder’s Guide](https://whitepaper.virtuals.io/info-hub/builders-hub/agent-commerce-protocol-acp-builder-guide/acp-tech-playbook)
|
|
255
|
+
- A comprehensive playbook covering **all onboarding steps and tutorials**:
|
|
256
|
+
- Create your agent and whitelist developer wallets
|
|
257
|
+
- Explore SDK & plugin resources for seamless integration
|
|
258
|
+
- Understand ACP job lifecycle and best prompting practices
|
|
259
|
+
- Learn the difference between graduated and pre-graduated agents
|
|
260
|
+
- Review SLA, status indicators, and supporting articles
|
|
261
|
+
- Designed to help builders have their agent **ready for test interactions** on the ACP platform.
|
|
257
262
|
|
|
258
|
-
2. [
|
|
259
|
-
- Register your agent
|
|
260
|
-
- Manage service offerings
|
|
261
|
-
- Configure agent settings
|
|
263
|
+
2. [Agent Registry](https://app.virtuals.io/acp/join)
|
|
262
264
|
|
|
263
|
-
|
|
265
|
+
|
|
266
|
+
3. [Agent Commerce Protocol (ACP) research page](https://app.virtuals.io/research/agent-commerce-protocol)
|
|
267
|
+
- This webpage introduces the Agent Commerce Protocol - A Standard for Permissionless AI Agent Commerce, a piece of research done by the Virtuals Protocol team
|
|
268
|
+
- It includes the links to the multi-agent demo dashboard and paper.
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
4. [ACP FAQs](https://virtualsprotocol.notion.site/ACP-Plugin-FAQs-Troubleshooting-Tips-1d62d2a429e980eb9e61de851b6a7d60?pvs=4)
|
|
272
|
+
- Comprehensive FAQ section covering common plugin questions—everything from installation and configuration to key API usage patterns.
|
|
273
|
+
- Step-by-step troubleshooting tips for resolving frequent errors like incomplete deliverable evaluations and wallet credential issues.
|
package/dist/index.d.mts
CHANGED
|
@@ -8398,8 +8398,17 @@ declare enum AcpAgentSort {
|
|
|
8398
8398
|
SUCCESSFUL_JOB_COUNT = "successfulJobCount",
|
|
8399
8399
|
SUCCESS_RATE = "successRate",
|
|
8400
8400
|
UNIQUE_BUYER_COUNT = "uniqueBuyerCount",
|
|
8401
|
-
MINS_FROM_LAST_ONLINE = "minsFromLastOnlineTime"
|
|
8402
|
-
|
|
8401
|
+
MINS_FROM_LAST_ONLINE = "minsFromLastOnlineTime"
|
|
8402
|
+
}
|
|
8403
|
+
declare enum AcpGraduationStatus {
|
|
8404
|
+
ALL = "all",
|
|
8405
|
+
GRADUATED = "graduated",
|
|
8406
|
+
NOT_GRADUATED = "not_graduated"
|
|
8407
|
+
}
|
|
8408
|
+
declare enum AcpOnlineStatus {
|
|
8409
|
+
ALL = "all",
|
|
8410
|
+
ONLINE = "online",
|
|
8411
|
+
OFFLINE = "offline"
|
|
8403
8412
|
}
|
|
8404
8413
|
interface IAcpClientOptions {
|
|
8405
8414
|
acpContractClient: AcpContractClient;
|
|
@@ -8451,9 +8460,9 @@ declare class AcpJobOffering {
|
|
|
8451
8460
|
interface IAcpBrowseAgentsOptions {
|
|
8452
8461
|
cluster?: string;
|
|
8453
8462
|
sort_by?: AcpAgentSort[];
|
|
8454
|
-
rerank?: boolean;
|
|
8455
8463
|
top_k?: number;
|
|
8456
|
-
|
|
8464
|
+
graduationStatus?: AcpGraduationStatus;
|
|
8465
|
+
onlineStatus?: AcpOnlineStatus;
|
|
8457
8466
|
}
|
|
8458
8467
|
declare class AcpClient {
|
|
8459
8468
|
private acpUrl;
|
|
@@ -8490,4 +8499,4 @@ declare class AcpClient {
|
|
|
8490
8499
|
getAgent(walletAddress: Address$1): Promise<AcpAgent | undefined>;
|
|
8491
8500
|
}
|
|
8492
8501
|
|
|
8493
|
-
export { ACP_ABI, AcpAgentSort, AcpContractClient, type AcpContractConfig, AcpJob, AcpJobPhases, AcpMemo, type IDeliverable, MemoType, baseAcpConfig, baseSepoliaAcpConfig, AcpClient as default };
|
|
8502
|
+
export { ACP_ABI, AcpAgentSort, AcpContractClient, type AcpContractConfig, AcpGraduationStatus, AcpJob, AcpJobPhases, AcpMemo, AcpOnlineStatus, type IDeliverable, MemoType, baseAcpConfig, baseSepoliaAcpConfig, AcpClient as default };
|
package/dist/index.d.ts
CHANGED
|
@@ -8398,8 +8398,17 @@ declare enum AcpAgentSort {
|
|
|
8398
8398
|
SUCCESSFUL_JOB_COUNT = "successfulJobCount",
|
|
8399
8399
|
SUCCESS_RATE = "successRate",
|
|
8400
8400
|
UNIQUE_BUYER_COUNT = "uniqueBuyerCount",
|
|
8401
|
-
MINS_FROM_LAST_ONLINE = "minsFromLastOnlineTime"
|
|
8402
|
-
|
|
8401
|
+
MINS_FROM_LAST_ONLINE = "minsFromLastOnlineTime"
|
|
8402
|
+
}
|
|
8403
|
+
declare enum AcpGraduationStatus {
|
|
8404
|
+
ALL = "all",
|
|
8405
|
+
GRADUATED = "graduated",
|
|
8406
|
+
NOT_GRADUATED = "not_graduated"
|
|
8407
|
+
}
|
|
8408
|
+
declare enum AcpOnlineStatus {
|
|
8409
|
+
ALL = "all",
|
|
8410
|
+
ONLINE = "online",
|
|
8411
|
+
OFFLINE = "offline"
|
|
8403
8412
|
}
|
|
8404
8413
|
interface IAcpClientOptions {
|
|
8405
8414
|
acpContractClient: AcpContractClient;
|
|
@@ -8451,9 +8460,9 @@ declare class AcpJobOffering {
|
|
|
8451
8460
|
interface IAcpBrowseAgentsOptions {
|
|
8452
8461
|
cluster?: string;
|
|
8453
8462
|
sort_by?: AcpAgentSort[];
|
|
8454
|
-
rerank?: boolean;
|
|
8455
8463
|
top_k?: number;
|
|
8456
|
-
|
|
8464
|
+
graduationStatus?: AcpGraduationStatus;
|
|
8465
|
+
onlineStatus?: AcpOnlineStatus;
|
|
8457
8466
|
}
|
|
8458
8467
|
declare class AcpClient {
|
|
8459
8468
|
private acpUrl;
|
|
@@ -8490,4 +8499,4 @@ declare class AcpClient {
|
|
|
8490
8499
|
getAgent(walletAddress: Address$1): Promise<AcpAgent | undefined>;
|
|
8491
8500
|
}
|
|
8492
8501
|
|
|
8493
|
-
export { ACP_ABI, AcpAgentSort, AcpContractClient, type AcpContractConfig, AcpJob, AcpJobPhases, AcpMemo, type IDeliverable, MemoType, baseAcpConfig, baseSepoliaAcpConfig, AcpClient as default };
|
|
8502
|
+
export { ACP_ABI, AcpAgentSort, AcpContractClient, type AcpContractConfig, AcpGraduationStatus, AcpJob, AcpJobPhases, AcpMemo, AcpOnlineStatus, type IDeliverable, MemoType, baseAcpConfig, baseSepoliaAcpConfig, AcpClient as default };
|
package/dist/index.js
CHANGED
|
@@ -69,7 +69,7 @@ var require_package = __commonJS({
|
|
|
69
69
|
"package.json"(exports2, module2) {
|
|
70
70
|
module2.exports = {
|
|
71
71
|
name: "@virtuals-protocol/acp-node",
|
|
72
|
-
version: "0.1.0-beta.
|
|
72
|
+
version: "0.1.0-beta.18",
|
|
73
73
|
main: "./dist/index.js",
|
|
74
74
|
module: "./dist/index.mjs",
|
|
75
75
|
types: "./dist/index.d.ts",
|
|
@@ -105,9 +105,11 @@ __export(index_exports, {
|
|
|
105
105
|
ACP_ABI: () => acpAbi_default,
|
|
106
106
|
AcpAgentSort: () => AcpAgentSort,
|
|
107
107
|
AcpContractClient: () => acpContractClient_default,
|
|
108
|
+
AcpGraduationStatus: () => AcpGraduationStatus,
|
|
108
109
|
AcpJob: () => acpJob_default,
|
|
109
110
|
AcpJobPhases: () => AcpJobPhases,
|
|
110
111
|
AcpMemo: () => acpMemo_default,
|
|
112
|
+
AcpOnlineStatus: () => AcpOnlineStatus,
|
|
111
113
|
MemoType: () => MemoType,
|
|
112
114
|
baseAcpConfig: () => baseAcpConfig,
|
|
113
115
|
baseSepoliaAcpConfig: () => baseSepoliaAcpConfig,
|
|
@@ -1301,28 +1303,26 @@ var AcpClient = class {
|
|
|
1301
1303
|
}
|
|
1302
1304
|
browseAgents(keyword, options) {
|
|
1303
1305
|
return __async(this, null, function* () {
|
|
1304
|
-
let { cluster, sort_by,
|
|
1305
|
-
rerank = rerank != null ? rerank : true;
|
|
1306
|
+
let { cluster, sort_by, top_k, graduationStatus, onlineStatus } = options;
|
|
1306
1307
|
top_k = top_k != null ? top_k : 5;
|
|
1307
|
-
|
|
1308
|
-
let url = `${this.acpUrl}/api/agents?search=${keyword}`;
|
|
1308
|
+
let url = `${this.acpUrl}/api/agents/v2/search?search=${keyword}`;
|
|
1309
1309
|
if (sort_by && sort_by.length > 0) {
|
|
1310
|
-
url += `&
|
|
1310
|
+
url += `&sortBy=${sort_by.map((s) => s).join(",")}`;
|
|
1311
1311
|
}
|
|
1312
1312
|
if (top_k) {
|
|
1313
1313
|
url += `&top_k=${top_k}`;
|
|
1314
1314
|
}
|
|
1315
|
-
if (rerank) {
|
|
1316
|
-
url += `&rerank=true`;
|
|
1317
|
-
}
|
|
1318
1315
|
if (this.acpContractClient.walletAddress) {
|
|
1319
|
-
url += `&
|
|
1316
|
+
url += `&walletAddressesToExclude=${this.acpContractClient.walletAddress}`;
|
|
1320
1317
|
}
|
|
1321
1318
|
if (cluster) {
|
|
1322
|
-
url += `&
|
|
1319
|
+
url += `&cluster=${cluster}`;
|
|
1320
|
+
}
|
|
1321
|
+
if (graduationStatus) {
|
|
1322
|
+
url += `&graduationStatus=${graduationStatus}`;
|
|
1323
1323
|
}
|
|
1324
|
-
if (
|
|
1325
|
-
url += `&
|
|
1324
|
+
if (onlineStatus) {
|
|
1325
|
+
url += `&onlineStatus=${onlineStatus}`;
|
|
1326
1326
|
}
|
|
1327
1327
|
const response = yield fetch(url);
|
|
1328
1328
|
const data = yield response.json();
|
|
@@ -1617,9 +1617,20 @@ var AcpAgentSort = /* @__PURE__ */ ((AcpAgentSort2) => {
|
|
|
1617
1617
|
AcpAgentSort2["SUCCESS_RATE"] = "successRate";
|
|
1618
1618
|
AcpAgentSort2["UNIQUE_BUYER_COUNT"] = "uniqueBuyerCount";
|
|
1619
1619
|
AcpAgentSort2["MINS_FROM_LAST_ONLINE"] = "minsFromLastOnlineTime";
|
|
1620
|
-
AcpAgentSort2["IS_ONLINE"] = "isOnline";
|
|
1621
1620
|
return AcpAgentSort2;
|
|
1622
1621
|
})(AcpAgentSort || {});
|
|
1622
|
+
var AcpGraduationStatus = /* @__PURE__ */ ((AcpGraduationStatus2) => {
|
|
1623
|
+
AcpGraduationStatus2["ALL"] = "all";
|
|
1624
|
+
AcpGraduationStatus2["GRADUATED"] = "graduated";
|
|
1625
|
+
AcpGraduationStatus2["NOT_GRADUATED"] = "not_graduated";
|
|
1626
|
+
return AcpGraduationStatus2;
|
|
1627
|
+
})(AcpGraduationStatus || {});
|
|
1628
|
+
var AcpOnlineStatus = /* @__PURE__ */ ((AcpOnlineStatus2) => {
|
|
1629
|
+
AcpOnlineStatus2["ALL"] = "all";
|
|
1630
|
+
AcpOnlineStatus2["ONLINE"] = "online";
|
|
1631
|
+
AcpOnlineStatus2["OFFLINE"] = "offline";
|
|
1632
|
+
return AcpOnlineStatus2;
|
|
1633
|
+
})(AcpOnlineStatus || {});
|
|
1623
1634
|
|
|
1624
1635
|
// src/index.ts
|
|
1625
1636
|
var index_default = acpClient_default;
|
|
@@ -1628,9 +1639,11 @@ var index_default = acpClient_default;
|
|
|
1628
1639
|
ACP_ABI,
|
|
1629
1640
|
AcpAgentSort,
|
|
1630
1641
|
AcpContractClient,
|
|
1642
|
+
AcpGraduationStatus,
|
|
1631
1643
|
AcpJob,
|
|
1632
1644
|
AcpJobPhases,
|
|
1633
1645
|
AcpMemo,
|
|
1646
|
+
AcpOnlineStatus,
|
|
1634
1647
|
MemoType,
|
|
1635
1648
|
baseAcpConfig,
|
|
1636
1649
|
baseSepoliaAcpConfig
|
package/dist/index.mjs
CHANGED
|
@@ -44,7 +44,7 @@ var require_package = __commonJS({
|
|
|
44
44
|
"package.json"(exports, module) {
|
|
45
45
|
module.exports = {
|
|
46
46
|
name: "@virtuals-protocol/acp-node",
|
|
47
|
-
version: "0.1.0-beta.
|
|
47
|
+
version: "0.1.0-beta.18",
|
|
48
48
|
main: "./dist/index.js",
|
|
49
49
|
module: "./dist/index.mjs",
|
|
50
50
|
types: "./dist/index.d.ts",
|
|
@@ -1268,28 +1268,26 @@ var AcpClient = class {
|
|
|
1268
1268
|
}
|
|
1269
1269
|
browseAgents(keyword, options) {
|
|
1270
1270
|
return __async(this, null, function* () {
|
|
1271
|
-
let { cluster, sort_by,
|
|
1272
|
-
rerank = rerank != null ? rerank : true;
|
|
1271
|
+
let { cluster, sort_by, top_k, graduationStatus, onlineStatus } = options;
|
|
1273
1272
|
top_k = top_k != null ? top_k : 5;
|
|
1274
|
-
|
|
1275
|
-
let url = `${this.acpUrl}/api/agents?search=${keyword}`;
|
|
1273
|
+
let url = `${this.acpUrl}/api/agents/v2/search?search=${keyword}`;
|
|
1276
1274
|
if (sort_by && sort_by.length > 0) {
|
|
1277
|
-
url += `&
|
|
1275
|
+
url += `&sortBy=${sort_by.map((s) => s).join(",")}`;
|
|
1278
1276
|
}
|
|
1279
1277
|
if (top_k) {
|
|
1280
1278
|
url += `&top_k=${top_k}`;
|
|
1281
1279
|
}
|
|
1282
|
-
if (rerank) {
|
|
1283
|
-
url += `&rerank=true`;
|
|
1284
|
-
}
|
|
1285
1280
|
if (this.acpContractClient.walletAddress) {
|
|
1286
|
-
url += `&
|
|
1281
|
+
url += `&walletAddressesToExclude=${this.acpContractClient.walletAddress}`;
|
|
1287
1282
|
}
|
|
1288
1283
|
if (cluster) {
|
|
1289
|
-
url += `&
|
|
1284
|
+
url += `&cluster=${cluster}`;
|
|
1285
|
+
}
|
|
1286
|
+
if (graduationStatus) {
|
|
1287
|
+
url += `&graduationStatus=${graduationStatus}`;
|
|
1290
1288
|
}
|
|
1291
|
-
if (
|
|
1292
|
-
url += `&
|
|
1289
|
+
if (onlineStatus) {
|
|
1290
|
+
url += `&onlineStatus=${onlineStatus}`;
|
|
1293
1291
|
}
|
|
1294
1292
|
const response = yield fetch(url);
|
|
1295
1293
|
const data = yield response.json();
|
|
@@ -1584,9 +1582,20 @@ var AcpAgentSort = /* @__PURE__ */ ((AcpAgentSort2) => {
|
|
|
1584
1582
|
AcpAgentSort2["SUCCESS_RATE"] = "successRate";
|
|
1585
1583
|
AcpAgentSort2["UNIQUE_BUYER_COUNT"] = "uniqueBuyerCount";
|
|
1586
1584
|
AcpAgentSort2["MINS_FROM_LAST_ONLINE"] = "minsFromLastOnlineTime";
|
|
1587
|
-
AcpAgentSort2["IS_ONLINE"] = "isOnline";
|
|
1588
1585
|
return AcpAgentSort2;
|
|
1589
1586
|
})(AcpAgentSort || {});
|
|
1587
|
+
var AcpGraduationStatus = /* @__PURE__ */ ((AcpGraduationStatus2) => {
|
|
1588
|
+
AcpGraduationStatus2["ALL"] = "all";
|
|
1589
|
+
AcpGraduationStatus2["GRADUATED"] = "graduated";
|
|
1590
|
+
AcpGraduationStatus2["NOT_GRADUATED"] = "not_graduated";
|
|
1591
|
+
return AcpGraduationStatus2;
|
|
1592
|
+
})(AcpGraduationStatus || {});
|
|
1593
|
+
var AcpOnlineStatus = /* @__PURE__ */ ((AcpOnlineStatus2) => {
|
|
1594
|
+
AcpOnlineStatus2["ALL"] = "all";
|
|
1595
|
+
AcpOnlineStatus2["ONLINE"] = "online";
|
|
1596
|
+
AcpOnlineStatus2["OFFLINE"] = "offline";
|
|
1597
|
+
return AcpOnlineStatus2;
|
|
1598
|
+
})(AcpOnlineStatus || {});
|
|
1590
1599
|
|
|
1591
1600
|
// src/index.ts
|
|
1592
1601
|
var index_default = acpClient_default;
|
|
@@ -1594,9 +1603,11 @@ export {
|
|
|
1594
1603
|
acpAbi_default as ACP_ABI,
|
|
1595
1604
|
AcpAgentSort,
|
|
1596
1605
|
acpContractClient_default as AcpContractClient,
|
|
1606
|
+
AcpGraduationStatus,
|
|
1597
1607
|
acpJob_default as AcpJob,
|
|
1598
1608
|
AcpJobPhases,
|
|
1599
1609
|
acpMemo_default as AcpMemo,
|
|
1610
|
+
AcpOnlineStatus,
|
|
1600
1611
|
MemoType,
|
|
1601
1612
|
baseAcpConfig,
|
|
1602
1613
|
baseSepoliaAcpConfig,
|