@virtuals-protocol/acp-node 0.1.0-beta.16 → 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 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, AcpAgentSort.IS_ONLINE],
133
+ sort_by: [AcpAgentSort.SUCCESSFUL_JOB_COUNT],
135
134
  rerank: true,
136
135
  top_k: 5,
137
- graduated: true,
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
- graduated: true,
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. [Agent Commerce Protocol (ACP) Research Page](https://app.virtuals.io/research/agent-commerce-protocol)
254
- - Introduction to the Agent Commerce Protocol
255
- - Multi-agent demo dashboard
256
- - Research paper
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. [Service Registry](https://acp-staging.virtuals.io/)
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
- 3. [ACP SDK & Plugin FAQs](https://virtualsprotocol.notion.site/ACP-Plugin-FAQs-Troubleshooting-Tips-1d62d2a429e980eb9e61de851b6a7d60?pvs=4)
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
- IS_ONLINE = "isOnline"
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
- graduated?: boolean;
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, 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
- IS_ONLINE = "isOnline"
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
- graduated?: boolean;
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, 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.16",
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, rerank, top_k, graduated } = options;
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
- graduated = graduated != null ? graduated : true;
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 += `&sort=${sort_by.map((s) => s).join(",")}`;
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 += `&filters[walletAddress][$notIn]=${this.acpContractClient.walletAddress}`;
1316
+ url += `&walletAddressesToExclude=${this.acpContractClient.walletAddress}`;
1320
1317
  }
1321
1318
  if (cluster) {
1322
- url += `&filters[cluster]=${cluster}`;
1319
+ url += `&cluster=${cluster}`;
1320
+ }
1321
+ if (graduationStatus) {
1322
+ url += `&graduationStatus=${graduationStatus}`;
1323
1323
  }
1324
- if (graduated === false) {
1325
- url += `&filters[hasGraduated]=false`;
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.16",
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, rerank, top_k, graduated } = options;
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
- graduated = graduated != null ? graduated : true;
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 += `&sort=${sort_by.map((s) => s).join(",")}`;
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 += `&filters[walletAddress][$notIn]=${this.acpContractClient.walletAddress}`;
1281
+ url += `&walletAddressesToExclude=${this.acpContractClient.walletAddress}`;
1287
1282
  }
1288
1283
  if (cluster) {
1289
- url += `&filters[cluster]=${cluster}`;
1284
+ url += `&cluster=${cluster}`;
1285
+ }
1286
+ if (graduationStatus) {
1287
+ url += `&graduationStatus=${graduationStatus}`;
1290
1288
  }
1291
- if (graduated === false) {
1292
- url += `&filters[hasGraduated]=false`;
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,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@virtuals-protocol/acp-node",
3
- "version": "0.1.0-beta.16",
3
+ "version": "0.1.0-beta.18",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",