From abd653c82f55650a29b96aa11aceadeda344f56b Mon Sep 17 00:00:00 2001 From: Hari Date: Wed, 23 Jul 2025 17:32:18 +0800 Subject: [PATCH] add BrowsedAcpAgent type to interfaces and exports + AcpJobOffering --- src/acpClient.ts | 4 ++-- src/index.ts | 5 ++++- src/interfaces.ts | 17 +++++++++++++++++ 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/acpClient.ts b/src/acpClient.ts index e115d42..bf2a8ac 100644 --- a/src/acpClient.ts +++ b/src/acpClient.ts @@ -1,7 +1,7 @@ import { Address, http, parseEther } from "viem"; import { io } from "socket.io-client"; import AcpContractClient, { AcpJobPhases, MemoType } from "./acpContractClient"; -import { AcpAgent, AcpAgentSort } from "./interfaces"; +import { AcpAgent, AcpAgentSort, BrowsedAcpAgent } from "./interfaces"; import AcpJob from "./acpJob"; import AcpMemo from "./acpMemo"; import AcpJobOffering from "./acpJobOffering"; @@ -150,7 +150,7 @@ class AcpClient { process.on("SIGTERM", cleanup); } - async browseAgents(keyword: string, options: IAcpBrowseAgentsOptions) { + async browseAgents(keyword: string, options: IAcpBrowseAgentsOptions): Promise { let { cluster, sort_by, rerank, top_k, graduated } = options; rerank = rerank ?? true; top_k = top_k ?? 5; diff --git a/src/index.ts b/src/index.ts index aee3d18..8dab31f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,8 +2,9 @@ import ACP_ABI from "./acpAbi"; import AcpClient from "./acpClient"; import AcpContractClient, { AcpJobPhases, MemoType } from "./acpContractClient"; import AcpJob from "./acpJob"; +import AcpJobOffering from "./acpJobOffering"; import AcpMemo from "./acpMemo"; -import { AcpAgentSort } from "./interfaces"; +import { AcpAgentSort, BrowsedAcpAgent } from "./interfaces"; import { AcpContractConfig, baseAcpConfig, @@ -19,7 +20,9 @@ export { AcpJobPhases, MemoType, AcpJob, + AcpJobOffering, AcpMemo, ACP_ABI, AcpAgentSort, + BrowsedAcpAgent }; diff --git a/src/interfaces.ts b/src/interfaces.ts index a822763..1c6570a 100644 --- a/src/interfaces.ts +++ b/src/interfaces.ts @@ -1,6 +1,7 @@ import { Address } from "viem"; import AcpContractClient, { AcpJobPhases, MemoType } from "./acpContractClient"; import AcpJob from "./acpJob"; +import AcpJobOffering from "./acpJobOffering"; export interface IDeliverable { type: string; @@ -95,3 +96,19 @@ export type AcpAgent = { isOnline: boolean; }; }; + +export type BrowsedAcpAgent = { + id: number; + name: string; + description: string; + offerings: AcpJobOffering[]; + twitterHandle: string; + walletAddress: Address; + metrics?: { + successfulJobCount: number; + successRate: number; + uniqueBuyerCount: number; + minsFromLastOnline: number; + isOnline: boolean; + }; +};