kompass-sdk 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/bridge.d.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  * Routes hire/interact requests to the correct protocol handler
4
4
  */
5
5
  import type { UnifiedAgent, AgentProtocol } from "./sources/types.js";
6
+ import type { KompassConfig } from "./types.js";
6
7
  export interface BridgeHireOptions {
7
8
  task: string;
8
9
  budget?: bigint;
@@ -21,8 +22,10 @@ export interface BridgeHireResult {
21
22
  }
22
23
  export declare class ProtocolBridge {
23
24
  private acpBackend?;
25
+ private kompassConfig?;
24
26
  constructor(options?: {
25
27
  acpBackend?: any;
28
+ kompassConfig?: KompassConfig;
26
29
  });
27
30
  hire(agent: UnifiedAgent, options: BridgeHireOptions): Promise<BridgeHireResult>;
28
31
  private hireViaAcp;
@@ -30,6 +33,7 @@ export declare class ProtocolBridge {
30
33
  private hireViaMcp;
31
34
  private hireViaA2A;
32
35
  private hireViaHttp;
36
+ private hireViaEscrow;
33
37
  private hireViaL402;
34
38
  }
35
39
  //# sourceMappingURL=bridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAC,CAAM;gBAEb,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,GAAG,CAAA;KAAE;IAIpC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAqCxE,UAAU;YA6CV,WAAW;YA2CX,UAAU;YAqBV,UAAU;YAsCV,WAAW;YA+BX,WAAW;CAe1B"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAC,CAAM;IACzB,OAAO,CAAC,aAAa,CAAC,CAAgB;gBAE1B,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,GAAG,CAAC;QAAC,aAAa,CAAC,EAAE,aAAa,CAAA;KAAE;IAKnE,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAuCxE,UAAU;YA6CV,WAAW;YA2CX,UAAU;YAqBV,UAAU;YAsCV,WAAW;YA+BX,aAAa;YA0Db,WAAW;CAe1B"}
package/dist/bridge.js CHANGED
@@ -2,10 +2,13 @@
2
2
  * Kompass Protocol Bridge
3
3
  * Routes hire/interact requests to the correct protocol handler
4
4
  */
5
+ import { createJob, setBudget, fund } from "./escrow.js";
5
6
  export class ProtocolBridge {
6
- acpBackend; // AcpEscrowBackend if available
7
+ acpBackend;
8
+ kompassConfig;
7
9
  constructor(options) {
8
10
  this.acpBackend = options?.acpBackend;
11
+ this.kompassConfig = options?.kompassConfig;
9
12
  }
10
13
  async hire(agent, options) {
11
14
  const start = Date.now();
@@ -23,6 +26,8 @@ export class ProtocolBridge {
23
26
  return await this.hireViaHttp(agent, options, start);
24
27
  case "l402":
25
28
  return await this.hireViaL402(agent, options, start);
29
+ case "onchain":
30
+ return await this.hireViaEscrow(agent, options, start);
26
31
  default:
27
32
  return {
28
33
  success: false,
@@ -177,6 +182,55 @@ export class ProtocolBridge {
177
182
  durationMs: Date.now() - start,
178
183
  };
179
184
  }
185
+ async hireViaEscrow(agent, options, start) {
186
+ if (!this.kompassConfig?.walletClient) {
187
+ return {
188
+ success: false, protocol: "onchain", agent,
189
+ error: "Escrow requires a funded wallet. Set kompassConfig with walletClient.",
190
+ durationMs: Date.now() - start,
191
+ };
192
+ }
193
+ try {
194
+ const providerAddress = (agent.endpoints.acp?.walletAddress ?? agent.nativeId);
195
+ const evaluatorAddress = this.kompassConfig.walletClient.account?.address;
196
+ const hookAddress = this.kompassConfig.defaultHookAddress;
197
+ // Create ERC-8183 escrow job
198
+ const expiredAt = BigInt(Math.floor(Date.now() / 1000) + 3600);
199
+ const budget = options.budget ?? 500000n; // $0.50 default
200
+ const jobResult = await createJob(this.kompassConfig, {
201
+ provider: providerAddress,
202
+ evaluator: evaluatorAddress,
203
+ budget,
204
+ expiredAt,
205
+ description: options.task,
206
+ hook: hookAddress,
207
+ });
208
+ // Set budget and fund
209
+ await setBudget(this.kompassConfig, jobResult.jobId, budget);
210
+ await fund(this.kompassConfig, jobResult.jobId);
211
+ return {
212
+ success: true,
213
+ protocol: "onchain",
214
+ agent,
215
+ jobId: jobResult.jobId.toString(),
216
+ txHash: jobResult.txHash,
217
+ deliverable: {
218
+ type: "erc-8183-escrow",
219
+ jobId: jobResult.jobId.toString(),
220
+ status: "funded",
221
+ message: "ERC-8183 escrow job created and funded. Waiting for provider to submit deliverable.",
222
+ },
223
+ durationMs: Date.now() - start,
224
+ };
225
+ }
226
+ catch (err) {
227
+ return {
228
+ success: false, protocol: "onchain", agent,
229
+ error: err instanceof Error ? err.message : String(err),
230
+ durationMs: Date.now() - start,
231
+ };
232
+ }
233
+ }
180
234
  async hireViaL402(agent, options, start) {
181
235
  // L402 requires Lightning payment — return info for now
182
236
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -300,7 +300,9 @@ program
300
300
  const rep = agent.reputation ? ` | rep: ${agent.reputation.score}/${agent.reputation.count}` : "";
301
301
  const price = agent.pricing?.amount ? ` | $${agent.pricing.amount} ${agent.pricing.currency ?? ""}` : "";
302
302
  const protocol = agent.protocol.toUpperCase();
303
- console.log(` [${protocol}] ${agent.name} (${agent.source})`);
303
+ const identity = agent.ensName ?? agent.name;
304
+ const ensTag = agent.ensName ? ` 🏷️ ${agent.ensName}` : "";
305
+ console.log(` [${protocol}] ${identity} (${agent.source})${ensTag}`);
304
306
  console.log(` ${agent.description.slice(0, 120)}`);
305
307
  console.log(` Categories: ${agent.categories.join(", ")} | Score: ${score}${rep}${price}`);
306
308
  if (agent.endpoints.x402)
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/ens.d.ts ADDED
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Kompass ENS Resolution
3
+ * Resolves wallet addresses to ENS/Basename names
4
+ * Makes agents identifiable by name, not just address
5
+ */
6
+ import { type Address } from "viem";
7
+ import type { UnifiedAgent } from "./sources/types.js";
8
+ /**
9
+ * Reverse-resolve an address to its ENS/Basename.
10
+ * Returns null if no name found.
11
+ */
12
+ export declare function resolveENSName(address: Address, network?: "base" | "base-sepolia"): Promise<string | null>;
13
+ /**
14
+ * Resolve an ENS name to an address.
15
+ */
16
+ export declare function resolveENSAddress(name: string, network?: "base" | "base-sepolia"): Promise<Address | null>;
17
+ /**
18
+ * Enrich UnifiedAgent array with ENS names where possible.
19
+ * Batch resolves addresses to avoid sequential lookups.
20
+ */
21
+ export declare function enrichWithENS(agents: UnifiedAgent[], network?: "base" | "base-sepolia"): Promise<UnifiedAgent[]>;
22
+ /**
23
+ * Format an agent's identity — prefer ENS name over address.
24
+ */
25
+ export declare function formatAgentIdentity(agent: UnifiedAgent): string;
26
+ //# sourceMappingURL=ens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ens.d.ts","sourceRoot":"","sources":["../src/ens.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA4B,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAG9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAkBvD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,MAAM,GAAG,cAAuB,GACxC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAaxB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAAM,GAAG,cAAuB,GACxC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAQzB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,YAAY,EAAE,EACtB,OAAO,GAAE,MAAM,GAAG,cAAuB,GACxC,OAAO,CAAC,YAAY,EAAE,CAAC,CAqBzB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAK/D"}
package/dist/ens.js ADDED
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Kompass ENS Resolution
3
+ * Resolves wallet addresses to ENS/Basename names
4
+ * Makes agents identifiable by name, not just address
5
+ */
6
+ import { createPublicClient, http } from "viem";
7
+ import { baseSepolia, base } from "viem/chains";
8
+ import { normalize } from "viem/ens";
9
+ // ENS L2 Resolver on Base Sepolia
10
+ const BASE_SEPOLIA_RESOLVER = "0x6533C94869D28fAA8dF77cc63f9e2b2D6Cf77eBA";
11
+ // Cache to avoid repeated lookups
12
+ const ensCache = new Map();
13
+ const baseClient = createPublicClient({
14
+ chain: base,
15
+ transport: http("https://mainnet.base.org"),
16
+ });
17
+ const baseSepoliaClient = createPublicClient({
18
+ chain: baseSepolia,
19
+ transport: http("https://sepolia.base.org"),
20
+ });
21
+ /**
22
+ * Reverse-resolve an address to its ENS/Basename.
23
+ * Returns null if no name found.
24
+ */
25
+ export async function resolveENSName(address, network = "base") {
26
+ const cacheKey = `${network}:${address.toLowerCase()}`;
27
+ if (ensCache.has(cacheKey))
28
+ return ensCache.get(cacheKey);
29
+ try {
30
+ const client = network === "base" ? baseClient : baseSepoliaClient;
31
+ const name = await client.getEnsName({ address });
32
+ ensCache.set(cacheKey, name);
33
+ return name;
34
+ }
35
+ catch {
36
+ ensCache.set(cacheKey, null);
37
+ return null;
38
+ }
39
+ }
40
+ /**
41
+ * Resolve an ENS name to an address.
42
+ */
43
+ export async function resolveENSAddress(name, network = "base") {
44
+ try {
45
+ const client = network === "base" ? baseClient : baseSepoliaClient;
46
+ const address = await client.getEnsAddress({ name: normalize(name) });
47
+ return address;
48
+ }
49
+ catch {
50
+ return null;
51
+ }
52
+ }
53
+ /**
54
+ * Enrich UnifiedAgent array with ENS names where possible.
55
+ * Batch resolves addresses to avoid sequential lookups.
56
+ */
57
+ export async function enrichWithENS(agents, network = "base") {
58
+ const agentsNeedingResolution = agents.filter((a) => !a.ensName && a.endpoints.acp?.walletAddress);
59
+ // Resolve in parallel (limit concurrency)
60
+ const BATCH_SIZE = 5;
61
+ for (let i = 0; i < agentsNeedingResolution.length; i += BATCH_SIZE) {
62
+ const batch = agentsNeedingResolution.slice(i, i + BATCH_SIZE);
63
+ await Promise.allSettled(batch.map(async (agent) => {
64
+ const address = agent.endpoints.acp?.walletAddress;
65
+ if (address) {
66
+ const name = await resolveENSName(address, network);
67
+ if (name)
68
+ agent.ensName = name;
69
+ }
70
+ }));
71
+ }
72
+ return agents;
73
+ }
74
+ /**
75
+ * Format an agent's identity — prefer ENS name over address.
76
+ */
77
+ export function formatAgentIdentity(agent) {
78
+ if (agent.ensName)
79
+ return agent.ensName;
80
+ const addr = agent.endpoints.acp?.walletAddress ?? agent.nativeId;
81
+ if (addr && addr.startsWith("0x"))
82
+ return `${addr.slice(0, 6)}...${addr.slice(-4)}`;
83
+ return agent.name;
84
+ }
85
+ //# sourceMappingURL=ens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ens.js","sourceRoot":"","sources":["../src/ens.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Kompass Reputation Writer
3
+ * Writes ERC-8004 feedback on-chain after every capability execution.
4
+ * Makes agents accountable — good work builds reputation, bad work damages it.
5
+ */
6
+ import { type Address, type Hex } from "viem";
7
+ export interface ReputationWriterConfig {
8
+ /** ERC-8004 Reputation Registry address */
9
+ reputationRegistryAddress: Address;
10
+ /** Private key for signing feedback transactions */
11
+ privateKey: string;
12
+ /** RPC URL */
13
+ rpcUrl?: string;
14
+ }
15
+ export declare class ReputationWriter {
16
+ private config;
17
+ private walletClient;
18
+ private publicClient;
19
+ constructor(config: ReputationWriterConfig);
20
+ /**
21
+ * Write positive feedback for an agent after successful execution.
22
+ */
23
+ writePositiveFeedback(agentId: bigint, taskCategory: string, endpoint: string): Promise<{
24
+ txHash: Hex;
25
+ } | null>;
26
+ /**
27
+ * Write negative feedback for an agent after failed execution.
28
+ */
29
+ writeNegativeFeedback(agentId: bigint, taskCategory: string, endpoint: string): Promise<{
30
+ txHash: Hex;
31
+ } | null>;
32
+ private writeFeedback;
33
+ }
34
+ //# sourceMappingURL=reputation-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reputation-writer.d.ts","sourceRoot":"","sources":["../src/reputation-writer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAA0D,MAAM,MAAM,CAAC;AAwBtG,MAAM,WAAW,sBAAsB;IACrC,2CAA2C;IAC3C,yBAAyB,EAAE,OAAO,CAAC;IACnC,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,YAAY,CAAM;gBAEd,MAAM,EAAE,sBAAsB;IAe1C;;OAEG;IACG,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI,CAAC;IAIlC;;OAEG;IACG,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI,CAAC;YAIpB,aAAa;CAiC5B"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Kompass Reputation Writer
3
+ * Writes ERC-8004 feedback on-chain after every capability execution.
4
+ * Makes agents accountable — good work builds reputation, bad work damages it.
5
+ */
6
+ import { zeroHash, createPublicClient, createWalletClient, http } from "viem";
7
+ import { privateKeyToAccount } from "viem/accounts";
8
+ import { baseSepolia } from "viem/chains";
9
+ // ERC-8004 Reputation Registry ABI (giveFeedback function)
10
+ const REPUTATION_ABI = [
11
+ {
12
+ type: "function",
13
+ name: "giveFeedback",
14
+ inputs: [
15
+ { name: "agentId", type: "uint256" },
16
+ { name: "value", type: "int128" },
17
+ { name: "valueDecimals", type: "uint8" },
18
+ { name: "tag1", type: "string" },
19
+ { name: "tag2", type: "string" },
20
+ { name: "endpoint", type: "string" },
21
+ { name: "feedbackURI", type: "string" },
22
+ { name: "feedbackHash", type: "bytes32" },
23
+ ],
24
+ outputs: [],
25
+ stateMutability: "nonpayable",
26
+ },
27
+ ];
28
+ export class ReputationWriter {
29
+ config;
30
+ walletClient;
31
+ publicClient;
32
+ constructor(config) {
33
+ this.config = config;
34
+ const account = privateKeyToAccount(config.privateKey);
35
+ this.publicClient = createPublicClient({
36
+ chain: baseSepolia,
37
+ transport: http(config.rpcUrl ?? "https://sepolia.base.org"),
38
+ });
39
+ this.walletClient = createWalletClient({
40
+ account,
41
+ chain: baseSepolia,
42
+ transport: http(config.rpcUrl ?? "https://sepolia.base.org"),
43
+ });
44
+ }
45
+ /**
46
+ * Write positive feedback for an agent after successful execution.
47
+ */
48
+ async writePositiveFeedback(agentId, taskCategory, endpoint) {
49
+ return this.writeFeedback(agentId, 1n, "kompass-success", taskCategory, endpoint);
50
+ }
51
+ /**
52
+ * Write negative feedback for an agent after failed execution.
53
+ */
54
+ async writeNegativeFeedback(agentId, taskCategory, endpoint) {
55
+ return this.writeFeedback(agentId, -1n, "kompass-failure", taskCategory, endpoint);
56
+ }
57
+ async writeFeedback(agentId, value, tag1, tag2, endpoint) {
58
+ try {
59
+ const txHash = await this.walletClient.writeContract({
60
+ address: this.config.reputationRegistryAddress,
61
+ abi: REPUTATION_ABI,
62
+ functionName: "giveFeedback",
63
+ args: [
64
+ agentId,
65
+ value,
66
+ 0, // valueDecimals
67
+ tag1,
68
+ tag2,
69
+ endpoint,
70
+ "", // feedbackURI
71
+ zeroHash,
72
+ ],
73
+ });
74
+ await this.publicClient.waitForTransactionReceipt({ hash: txHash });
75
+ console.log(`[Kompass] ERC-8004 feedback written: ${value > 0 ? "+" : ""}${value} for agent #${agentId} | tx: ${txHash}`);
76
+ return { txHash };
77
+ }
78
+ catch (err) {
79
+ console.error(`[Kompass] Failed to write ERC-8004 feedback:`, err instanceof Error ? err.message : err);
80
+ return null;
81
+ }
82
+ }
83
+ }
84
+ //# sourceMappingURL=reputation-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reputation-writer.js","sourceRoot":"","sources":["../src/reputation-writer.ts"],"names":[],"mappings":"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"}
package/dist/router.d.ts CHANGED
@@ -14,6 +14,7 @@ import type { UnifiedAgent } from "./sources/types.js";
14
14
  import { Aggregator } from "./aggregator.js";
15
15
  import { type MatchResult } from "./matching.js";
16
16
  import { ProtocolBridge, type BridgeHireResult } from "./bridge.js";
17
+ import { type ReputationWriterConfig } from "./reputation-writer.js";
17
18
  export type CostPreference = "cheapest" | "balanced" | "best-quality";
18
19
  export interface DoOptions {
19
20
  /** What you want done — natural language */
@@ -63,7 +64,8 @@ export interface DoResult {
63
64
  export declare class CapabilityRouter {
64
65
  private aggregator;
65
66
  private bridge;
66
- constructor(aggregator: Aggregator, bridge: ProtocolBridge);
67
+ private reputationWriter?;
68
+ constructor(aggregator: Aggregator, bridge: ProtocolBridge, reputationConfig?: ReputationWriterConfig);
67
69
  do(options: DoOptions): Promise<DoResult>;
68
70
  private buildOption;
69
71
  private applyPreferences;
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAA2B,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpE,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,CAAC;AAEtE,MAAM,WAAW,SAAS;IACxB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,gDAAgD;IAChD,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,gDAAgD;IAChD,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,yBAAyB;IACzB,SAAS,EAAE;QACT,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAiB;gBAEnB,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IAKpD,EAAE,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;IA0F/C,OAAO,CAAC,WAAW;IA2BnB,OAAO,CAAC,gBAAgB;IAyDxB,OAAO,CAAC,aAAa;CA2BtB"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAA2B,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAoB,KAAK,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEvF,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,CAAC;AAEtE,MAAM,WAAW,SAAS;IACxB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,gDAAgD;IAChD,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,gDAAgD;IAChD,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,yBAAyB;IACzB,SAAS,EAAE;QACT,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAmB;gBAEhC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAAE,sBAAsB;IAQ/F,EAAE,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;IAwG/C,OAAO,CAAC,WAAW;IA2BnB,OAAO,CAAC,gBAAgB;IAyDxB,OAAO,CAAC,aAAa;CA2BtB"}
package/dist/router.js CHANGED
@@ -11,12 +11,17 @@
11
11
  * 5. Return result
12
12
  */
13
13
  import { rankAgents } from "./matching.js";
14
+ import { ReputationWriter } from "./reputation-writer.js";
14
15
  export class CapabilityRouter {
15
16
  aggregator;
16
17
  bridge;
17
- constructor(aggregator, bridge) {
18
+ reputationWriter;
19
+ constructor(aggregator, bridge, reputationConfig) {
18
20
  this.aggregator = aggregator;
19
21
  this.bridge = bridge;
22
+ if (reputationConfig) {
23
+ this.reputationWriter = new ReputationWriter(reputationConfig);
24
+ }
20
25
  }
21
26
  async do(options) {
22
27
  const { task, dryRun = false } = options;
@@ -77,6 +82,20 @@ export class CapabilityRouter {
77
82
  timeout: options.timeout,
78
83
  payload: options.payload,
79
84
  });
85
+ // 8. Write ERC-8004 reputation feedback on-chain
86
+ if (this.reputationWriter && selected.agent.reputation?.source === "erc8004") {
87
+ const agentId = BigInt(selected.agent.nativeId || "0");
88
+ if (agentId > 0n) {
89
+ const category = selected.agent.categories[0] ?? "general";
90
+ const endpoint = selected.agent.endpoints.x402 ?? selected.agent.endpoints.http ?? "";
91
+ if (execution?.success) {
92
+ await this.reputationWriter.writePositiveFeedback(agentId, category, endpoint);
93
+ }
94
+ else {
95
+ await this.reputationWriter.writeNegativeFeedback(agentId, category, endpoint);
96
+ }
97
+ }
98
+ }
80
99
  }
81
100
  const reasoning = this.explainChoice(selected, reranked, options);
82
101
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,7 @@ function mapKompassAgent(agent) {
35
35
  id: `kompass-registry:${agent.id}`,
36
36
  nativeId: agent.id,
37
37
  name: agent.ensName || agent.id,
38
+ ensName: agent.ensName || undefined,
38
39
  description: agent.description ?? "",
39
40
  categories: agent.categories ? agent.categories.split(",").map((c) => c.trim()) : [],
40
41
  capabilities: [agent.description, agent.categories].filter(Boolean),
@@ -1 +1 @@
1
- {"version":3,"file":"kompass-registry.js","sourceRoot":"","sources":["../../src/sources/kompass-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI1C,MAAM,UAAU,4BAA4B,CAAC,MAAqB;IAChE,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,2BAA2B;QAExC,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAA6B;YACvD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE;oBACpC,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,KAAK;oBACpC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;iBAC5B,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI;YACR,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBACrC,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAmB;IAC1C,OAAO;QACL,EAAE,EAAE,oBAAoB,KAAK,CAAC,EAAE,EAAE;QAClC,QAAQ,EAAE,KAAK,CAAC,EAAE;QAClB,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE;QAC/B,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;QACpC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QAC5F,YAAY,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAa;QAC/E,MAAM,EAAE,kBAAkB;QAC1B,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACxG,SAAS,EAAE;YACT,GAAG,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS;YACnC,GAAG,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS;YACnC,IAAI,EAAE,KAAK,CAAC,YAAY,IAAI,SAAS;SACtC;QACD,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5B,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,iBAAiB;SAC1B,CAAC,CAAC,CAAC,SAAS;QACb,OAAO,EAAE;YACP,KAAK,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACxG,MAAM,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS;YACtC,QAAQ,EAAE,KAAK,CAAC,YAAY,IAAI,MAAM;SACvC;QACD,QAAQ,EAAE,KAAK,CAAC,gBAAgB;QAChC,GAAG,EAAE,KAAK;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"kompass-registry.js","sourceRoot":"","sources":["../../src/sources/kompass-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI1C,MAAM,UAAU,4BAA4B,CAAC,MAAqB;IAChE,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,2BAA2B;QAExC,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAA6B;YACvD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE;oBACpC,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,KAAK;oBACpC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;iBAC5B,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI;YACR,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBACrC,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAmB;IAC1C,OAAO;QACL,EAAE,EAAE,oBAAoB,KAAK,CAAC,EAAE,EAAE;QAClC,QAAQ,EAAE,KAAK,CAAC,EAAE;QAClB,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE;QAC/B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS;QACnC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;QACpC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QAC5F,YAAY,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAa;QAC/E,MAAM,EAAE,kBAAkB;QAC1B,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACxG,SAAS,EAAE;YACT,GAAG,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS;YACnC,GAAG,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS;YACnC,IAAI,EAAE,KAAK,CAAC,YAAY,IAAI,SAAS;SACtC;QACD,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5B,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,iBAAiB;SAC1B,CAAC,CAAC,CAAC,SAAS;QACb,OAAO,EAAE;YACP,KAAK,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACxG,MAAM,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS;YACtC,QAAQ,EAAE,KAAK,CAAC,YAAY,IAAI,MAAM;SACvC;QACD,QAAQ,EAAE,KAAK,CAAC,gBAAgB;QAChC,GAAG,EAAE,KAAK;KACX,CAAC;AACJ,CAAC"}
@@ -13,6 +13,8 @@ export interface UnifiedAgent {
13
13
  nativeId: string;
14
14
  /** Agent name */
15
15
  name: string;
16
+ /** ENS / Basename if available (e.g., "yieldsage.base.eth") */
17
+ ensName?: string;
16
18
  /** Description of what this agent does */
17
19
  description: string;
18
20
  /** Capability categories (e.g., ["defi", "yield", "analytics"]) */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sources/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GACnB,kBAAkB,GAClB,KAAK,GACL,cAAc,GACd,gBAAgB,GAChB,SAAS,GACT,KAAK,GACL,eAAe,GACf,gBAAgB,GAChB,iBAAiB,CAAC;AAEtB,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEnG,MAAM,WAAW,YAAY;IAC3B,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,qDAAqD;IACrD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,2CAA2C;IAC3C,MAAM,EAAE,WAAW,CAAC;IACpB,mDAAmD;IACnD,QAAQ,EAAE,aAAa,CAAC;IACxB,kCAAkC;IAClC,SAAS,EAAE;QACT,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE;YAAE,aAAa,EAAE,MAAM,CAAC;YAAC,aAAa,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACzD,CAAC;IACF,+BAA+B;IAC/B,UAAU,CAAC,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,mBAAmB;IACnB,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;QACnE,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,IAAI,EAAE,WAAW,CAAC;IAClB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9E,wCAAwC;IACxC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sources/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GACnB,kBAAkB,GAClB,KAAK,GACL,cAAc,GACd,gBAAgB,GAChB,SAAS,GACT,KAAK,GACL,eAAe,GACf,gBAAgB,GAChB,iBAAiB,CAAC;AAEtB,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEnG,MAAM,WAAW,YAAY;IAC3B,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,qDAAqD;IACrD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,2CAA2C;IAC3C,MAAM,EAAE,WAAW,CAAC;IACpB,mDAAmD;IACnD,QAAQ,EAAE,aAAa,CAAC;IACxB,kCAAkC;IAClC,SAAS,EAAE;QACT,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE;YAAE,aAAa,EAAE,MAAM,CAAC;YAAC,aAAa,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACzD,CAAC;IACF,+BAA+B;IAC/B,UAAU,CAAC,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,mBAAmB;IACnB,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;QACnE,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,IAAI,EAAE,WAAW,CAAC;IAClB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9E,wCAAwC;IACxC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1B"}
package/dist/unified.d.ts CHANGED
@@ -14,6 +14,7 @@ import { type AggregatorResult } from "./aggregator.js";
14
14
  import { type MatchResult } from "./matching.js";
15
15
  import { type BridgeHireOptions, type BridgeHireResult } from "./bridge.js";
16
16
  import { type DoOptions, type DoResult } from "./router.js";
17
+ import type { ReputationWriterConfig } from "./reputation-writer.js";
17
18
  export interface UnifiedConfig {
18
19
  /** Network for on-chain sources */
19
20
  network?: "base" | "base-sepolia";
@@ -23,6 +24,8 @@ export interface UnifiedConfig {
23
24
  acpBackend?: any;
24
25
  /** Kompass SDK config (for kompass-registry source) */
25
26
  kompassConfig?: any;
27
+ /** ERC-8004 reputation writer config (writes feedback after executions) */
28
+ reputationWriter?: ReputationWriterConfig;
26
29
  }
27
30
  export interface FindOptions {
28
31
  /** Max results */
@@ -43,6 +46,7 @@ export declare class KompassUnified {
43
46
  private bridge;
44
47
  private router;
45
48
  private adapters;
49
+ private config?;
46
50
  private constructor();
47
51
  static create(config?: UnifiedConfig): Promise<KompassUnified>;
48
52
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"unified.d.ts","sourceRoot":"","sources":["../src/unified.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAwC,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAAsC,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAkB,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAoB,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE9E,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAClC,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gDAAgD;IAChD,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,uDAAuD;IACvD,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAW,SAAQ,gBAAgB;IAClD,+CAA+C;IAC/C,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,QAAQ,CAAkB;IAElC,OAAO;WAOM,MAAM,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAcpE;;;OAGG;IACG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAsBrE;;;OAGG;IACG,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI9G;;;OAGG;IACG,WAAW,CACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,GACjD,OAAO,CAAC;QAAE,SAAS,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAa7D;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAInF;;;;;;;;;OASG;IACG,EAAE,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI/C;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;CACF"}
1
+ {"version":3,"file":"unified.d.ts","sourceRoot":"","sources":["../src/unified.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAwC,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAAsC,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAkB,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAoB,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAClC,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gDAAgD;IAChD,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,uDAAuD;IACvD,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,WAAW,WAAW;IAC1B,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAW,SAAQ,gBAAgB;IAClD,+CAA+C;IAC/C,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,QAAQ,CAAkB;IAElC,OAAO,CAAC,MAAM,CAAC,CAAgB;IAE/B,OAAO;WAQM,MAAM,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAcpE;;;OAGG;IACG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAsBrE;;;OAGG;IACG,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI9G;;;OAGG;IACG,WAAW,CACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,GACjD,OAAO,CAAC;QAAE,SAAS,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAa7D;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAInF;;;;;;;;;OASG;IACG,EAAE,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI/C;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;CACF"}
package/dist/unified.js CHANGED
@@ -19,11 +19,13 @@ export class KompassUnified {
19
19
  bridge;
20
20
  router;
21
21
  adapters;
22
- constructor(adapters, bridge) {
22
+ config;
23
+ constructor(adapters, bridge, config) {
23
24
  this.adapters = adapters;
25
+ this.config = config;
24
26
  this.aggregator = new Aggregator(adapters);
25
27
  this.bridge = bridge;
26
- this.router = new CapabilityRouter(this.aggregator, this.bridge);
28
+ this.router = new CapabilityRouter(this.aggregator, this.bridge, config?.reputationWriter);
27
29
  }
28
30
  static async create(config) {
29
31
  const adapters = createAllSources({
@@ -34,7 +36,7 @@ export class KompassUnified {
34
36
  const bridge = new ProtocolBridge({
35
37
  acpBackend: config?.acpBackend,
36
38
  });
37
- return new KompassUnified(adapters, bridge);
39
+ return new KompassUnified(adapters, bridge, config);
38
40
  }
39
41
  /**
40
42
  * Search for agents across all registries.
@@ -1 +1 @@
1
- {"version":3,"file":"unified.js","sourceRoot":"","sources":["../src/unified.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unified.js","sourceRoot":"","sources":["../src/unified.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kompass-sdk",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Get any job done. Universal agent capability discovery + coordination across ACP, MCP, x402, A2A, skills, L402, and ERC-8004.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/bridge.ts CHANGED
@@ -4,6 +4,8 @@
4
4
  */
5
5
 
6
6
  import type { UnifiedAgent, AgentProtocol } from "./sources/types.js";
7
+ import type { KompassConfig } from "./types.js";
8
+ import { createJob, setBudget, fund, submit, complete, getJob } from "./escrow.js";
7
9
 
8
10
  export interface BridgeHireOptions {
9
11
  task: string;
@@ -24,10 +26,12 @@ export interface BridgeHireResult {
24
26
  }
25
27
 
26
28
  export class ProtocolBridge {
27
- private acpBackend?: any; // AcpEscrowBackend if available
29
+ private acpBackend?: any;
30
+ private kompassConfig?: KompassConfig;
28
31
 
29
- constructor(options?: { acpBackend?: any }) {
32
+ constructor(options?: { acpBackend?: any; kompassConfig?: KompassConfig }) {
30
33
  this.acpBackend = options?.acpBackend;
34
+ this.kompassConfig = options?.kompassConfig;
31
35
  }
32
36
 
33
37
  async hire(agent: UnifiedAgent, options: BridgeHireOptions): Promise<BridgeHireResult> {
@@ -47,6 +51,8 @@ export class ProtocolBridge {
47
51
  return await this.hireViaHttp(agent, options, start);
48
52
  case "l402":
49
53
  return await this.hireViaL402(agent, options, start);
54
+ case "onchain":
55
+ return await this.hireViaEscrow(agent, options, start);
50
56
  default:
51
57
  return {
52
58
  success: false,
@@ -245,6 +251,64 @@ export class ProtocolBridge {
245
251
  };
246
252
  }
247
253
 
254
+ private async hireViaEscrow(
255
+ agent: UnifiedAgent,
256
+ options: BridgeHireOptions,
257
+ start: number
258
+ ): Promise<BridgeHireResult> {
259
+ if (!this.kompassConfig?.walletClient) {
260
+ return {
261
+ success: false, protocol: "onchain", agent,
262
+ error: "Escrow requires a funded wallet. Set kompassConfig with walletClient.",
263
+ durationMs: Date.now() - start,
264
+ };
265
+ }
266
+
267
+ try {
268
+ const providerAddress = (agent.endpoints.acp?.walletAddress ?? agent.nativeId) as `0x${string}`;
269
+ const evaluatorAddress = this.kompassConfig.walletClient.account?.address as `0x${string}`;
270
+ const hookAddress = this.kompassConfig.defaultHookAddress;
271
+
272
+ // Create ERC-8183 escrow job
273
+ const expiredAt = BigInt(Math.floor(Date.now() / 1000) + 3600);
274
+ const budget = options.budget ?? 500_000n; // $0.50 default
275
+
276
+ const jobResult = await createJob(this.kompassConfig, {
277
+ provider: providerAddress,
278
+ evaluator: evaluatorAddress,
279
+ budget,
280
+ expiredAt,
281
+ description: options.task,
282
+ hook: hookAddress,
283
+ });
284
+
285
+ // Set budget and fund
286
+ await setBudget(this.kompassConfig, jobResult.jobId, budget);
287
+ await fund(this.kompassConfig, jobResult.jobId);
288
+
289
+ return {
290
+ success: true,
291
+ protocol: "onchain",
292
+ agent,
293
+ jobId: jobResult.jobId.toString(),
294
+ txHash: jobResult.txHash,
295
+ deliverable: {
296
+ type: "erc-8183-escrow",
297
+ jobId: jobResult.jobId.toString(),
298
+ status: "funded",
299
+ message: "ERC-8183 escrow job created and funded. Waiting for provider to submit deliverable.",
300
+ },
301
+ durationMs: Date.now() - start,
302
+ };
303
+ } catch (err) {
304
+ return {
305
+ success: false, protocol: "onchain", agent,
306
+ error: err instanceof Error ? err.message : String(err),
307
+ durationMs: Date.now() - start,
308
+ };
309
+ }
310
+ }
311
+
248
312
  private async hireViaL402(
249
313
  agent: UnifiedAgent,
250
314
  options: BridgeHireOptions,
package/src/cli.ts CHANGED
@@ -362,8 +362,10 @@ program
362
362
  const rep = agent.reputation ? ` | rep: ${agent.reputation.score}/${agent.reputation.count}` : "";
363
363
  const price = agent.pricing?.amount ? ` | $${agent.pricing.amount} ${agent.pricing.currency ?? ""}` : "";
364
364
  const protocol = agent.protocol.toUpperCase();
365
+ const identity = agent.ensName ?? agent.name;
366
+ const ensTag = agent.ensName ? ` 🏷️ ${agent.ensName}` : "";
365
367
 
366
- console.log(` [${protocol}] ${agent.name} (${agent.source})`);
368
+ console.log(` [${protocol}] ${identity} (${agent.source})${ensTag}`);
367
369
  console.log(` ${agent.description.slice(0, 120)}`);
368
370
  console.log(` Categories: ${agent.categories.join(", ")} | Score: ${score}${rep}${price}`);
369
371
  if (agent.endpoints.x402) console.log(` x402: ${agent.endpoints.x402}`);
package/src/ens.ts ADDED
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Kompass ENS Resolution
3
+ * Resolves wallet addresses to ENS/Basename names
4
+ * Makes agents identifiable by name, not just address
5
+ */
6
+
7
+ import { createPublicClient, http, type Address } from "viem";
8
+ import { baseSepolia, base } from "viem/chains";
9
+ import { normalize } from "viem/ens";
10
+ import type { UnifiedAgent } from "./sources/types.js";
11
+
12
+ // ENS L2 Resolver on Base Sepolia
13
+ const BASE_SEPOLIA_RESOLVER = "0x6533C94869D28fAA8dF77cc63f9e2b2D6Cf77eBA" as Address;
14
+
15
+ // Cache to avoid repeated lookups
16
+ const ensCache = new Map<string, string | null>();
17
+
18
+ const baseClient = createPublicClient({
19
+ chain: base,
20
+ transport: http("https://mainnet.base.org"),
21
+ });
22
+
23
+ const baseSepoliaClient = createPublicClient({
24
+ chain: baseSepolia,
25
+ transport: http("https://sepolia.base.org"),
26
+ });
27
+
28
+ /**
29
+ * Reverse-resolve an address to its ENS/Basename.
30
+ * Returns null if no name found.
31
+ */
32
+ export async function resolveENSName(
33
+ address: Address,
34
+ network: "base" | "base-sepolia" = "base"
35
+ ): Promise<string | null> {
36
+ const cacheKey = `${network}:${address.toLowerCase()}`;
37
+ if (ensCache.has(cacheKey)) return ensCache.get(cacheKey)!;
38
+
39
+ try {
40
+ const client = network === "base" ? baseClient : baseSepoliaClient;
41
+ const name = await client.getEnsName({ address });
42
+ ensCache.set(cacheKey, name);
43
+ return name;
44
+ } catch {
45
+ ensCache.set(cacheKey, null);
46
+ return null;
47
+ }
48
+ }
49
+
50
+ /**
51
+ * Resolve an ENS name to an address.
52
+ */
53
+ export async function resolveENSAddress(
54
+ name: string,
55
+ network: "base" | "base-sepolia" = "base"
56
+ ): Promise<Address | null> {
57
+ try {
58
+ const client = network === "base" ? baseClient : baseSepoliaClient;
59
+ const address = await client.getEnsAddress({ name: normalize(name) });
60
+ return address;
61
+ } catch {
62
+ return null;
63
+ }
64
+ }
65
+
66
+ /**
67
+ * Enrich UnifiedAgent array with ENS names where possible.
68
+ * Batch resolves addresses to avoid sequential lookups.
69
+ */
70
+ export async function enrichWithENS(
71
+ agents: UnifiedAgent[],
72
+ network: "base" | "base-sepolia" = "base"
73
+ ): Promise<UnifiedAgent[]> {
74
+ const agentsNeedingResolution = agents.filter(
75
+ (a) => !a.ensName && a.endpoints.acp?.walletAddress
76
+ );
77
+
78
+ // Resolve in parallel (limit concurrency)
79
+ const BATCH_SIZE = 5;
80
+ for (let i = 0; i < agentsNeedingResolution.length; i += BATCH_SIZE) {
81
+ const batch = agentsNeedingResolution.slice(i, i + BATCH_SIZE);
82
+ await Promise.allSettled(
83
+ batch.map(async (agent) => {
84
+ const address = agent.endpoints.acp?.walletAddress as Address;
85
+ if (address) {
86
+ const name = await resolveENSName(address, network);
87
+ if (name) agent.ensName = name;
88
+ }
89
+ })
90
+ );
91
+ }
92
+
93
+ return agents;
94
+ }
95
+
96
+ /**
97
+ * Format an agent's identity — prefer ENS name over address.
98
+ */
99
+ export function formatAgentIdentity(agent: UnifiedAgent): string {
100
+ if (agent.ensName) return agent.ensName;
101
+ const addr = agent.endpoints.acp?.walletAddress ?? agent.nativeId;
102
+ if (addr && addr.startsWith("0x")) return `${addr.slice(0, 6)}...${addr.slice(-4)}`;
103
+ return agent.name;
104
+ }
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Kompass Reputation Writer
3
+ * Writes ERC-8004 feedback on-chain after every capability execution.
4
+ * Makes agents accountable — good work builds reputation, bad work damages it.
5
+ */
6
+
7
+ import { type Address, type Hex, zeroHash, createPublicClient, createWalletClient, http } from "viem";
8
+ import { privateKeyToAccount } from "viem/accounts";
9
+ import { baseSepolia } from "viem/chains";
10
+
11
+ // ERC-8004 Reputation Registry ABI (giveFeedback function)
12
+ const REPUTATION_ABI = [
13
+ {
14
+ type: "function",
15
+ name: "giveFeedback",
16
+ inputs: [
17
+ { name: "agentId", type: "uint256" },
18
+ { name: "value", type: "int128" },
19
+ { name: "valueDecimals", type: "uint8" },
20
+ { name: "tag1", type: "string" },
21
+ { name: "tag2", type: "string" },
22
+ { name: "endpoint", type: "string" },
23
+ { name: "feedbackURI", type: "string" },
24
+ { name: "feedbackHash", type: "bytes32" },
25
+ ],
26
+ outputs: [],
27
+ stateMutability: "nonpayable",
28
+ },
29
+ ] as const;
30
+
31
+ export interface ReputationWriterConfig {
32
+ /** ERC-8004 Reputation Registry address */
33
+ reputationRegistryAddress: Address;
34
+ /** Private key for signing feedback transactions */
35
+ privateKey: string;
36
+ /** RPC URL */
37
+ rpcUrl?: string;
38
+ }
39
+
40
+ export class ReputationWriter {
41
+ private config: ReputationWriterConfig;
42
+ private walletClient: any;
43
+ private publicClient: any;
44
+
45
+ constructor(config: ReputationWriterConfig) {
46
+ this.config = config;
47
+
48
+ const account = privateKeyToAccount(config.privateKey as Hex);
49
+ this.publicClient = createPublicClient({
50
+ chain: baseSepolia,
51
+ transport: http(config.rpcUrl ?? "https://sepolia.base.org"),
52
+ });
53
+ this.walletClient = createWalletClient({
54
+ account,
55
+ chain: baseSepolia,
56
+ transport: http(config.rpcUrl ?? "https://sepolia.base.org"),
57
+ });
58
+ }
59
+
60
+ /**
61
+ * Write positive feedback for an agent after successful execution.
62
+ */
63
+ async writePositiveFeedback(
64
+ agentId: bigint,
65
+ taskCategory: string,
66
+ endpoint: string
67
+ ): Promise<{ txHash: Hex } | null> {
68
+ return this.writeFeedback(agentId, 1n, "kompass-success", taskCategory, endpoint);
69
+ }
70
+
71
+ /**
72
+ * Write negative feedback for an agent after failed execution.
73
+ */
74
+ async writeNegativeFeedback(
75
+ agentId: bigint,
76
+ taskCategory: string,
77
+ endpoint: string
78
+ ): Promise<{ txHash: Hex } | null> {
79
+ return this.writeFeedback(agentId, -1n, "kompass-failure", taskCategory, endpoint);
80
+ }
81
+
82
+ private async writeFeedback(
83
+ agentId: bigint,
84
+ value: bigint,
85
+ tag1: string,
86
+ tag2: string,
87
+ endpoint: string
88
+ ): Promise<{ txHash: Hex } | null> {
89
+ try {
90
+ const txHash = await this.walletClient.writeContract({
91
+ address: this.config.reputationRegistryAddress,
92
+ abi: REPUTATION_ABI,
93
+ functionName: "giveFeedback",
94
+ args: [
95
+ agentId,
96
+ value,
97
+ 0, // valueDecimals
98
+ tag1,
99
+ tag2,
100
+ endpoint,
101
+ "", // feedbackURI
102
+ zeroHash as Hex, // feedbackHash
103
+ ],
104
+ });
105
+
106
+ await this.publicClient.waitForTransactionReceipt({ hash: txHash });
107
+ console.log(`[Kompass] ERC-8004 feedback written: ${value > 0 ? "+" : ""}${value} for agent #${agentId} | tx: ${txHash}`);
108
+
109
+ return { txHash };
110
+ } catch (err) {
111
+ console.error(`[Kompass] Failed to write ERC-8004 feedback:`, err instanceof Error ? err.message : err);
112
+ return null;
113
+ }
114
+ }
115
+ }
package/src/router.ts CHANGED
@@ -15,6 +15,7 @@ import type { UnifiedAgent } from "./sources/types.js";
15
15
  import { Aggregator } from "./aggregator.js";
16
16
  import { rankAgents, parseIntent, type MatchResult } from "./matching.js";
17
17
  import { ProtocolBridge, type BridgeHireResult } from "./bridge.js";
18
+ import { ReputationWriter, type ReputationWriterConfig } from "./reputation-writer.js";
18
19
 
19
20
  export type CostPreference = "cheapest" | "balanced" | "best-quality";
20
21
 
@@ -69,10 +70,14 @@ export interface DoResult {
69
70
  export class CapabilityRouter {
70
71
  private aggregator: Aggregator;
71
72
  private bridge: ProtocolBridge;
73
+ private reputationWriter?: ReputationWriter;
72
74
 
73
- constructor(aggregator: Aggregator, bridge: ProtocolBridge) {
75
+ constructor(aggregator: Aggregator, bridge: ProtocolBridge, reputationConfig?: ReputationWriterConfig) {
74
76
  this.aggregator = aggregator;
75
77
  this.bridge = bridge;
78
+ if (reputationConfig) {
79
+ this.reputationWriter = new ReputationWriter(reputationConfig);
80
+ }
76
81
  }
77
82
 
78
83
  async do(options: DoOptions): Promise<DoResult> {
@@ -146,6 +151,20 @@ export class CapabilityRouter {
146
151
  timeout: options.timeout,
147
152
  payload: options.payload,
148
153
  });
154
+
155
+ // 8. Write ERC-8004 reputation feedback on-chain
156
+ if (this.reputationWriter && selected.agent.reputation?.source === "erc8004") {
157
+ const agentId = BigInt(selected.agent.nativeId || "0");
158
+ if (agentId > 0n) {
159
+ const category = selected.agent.categories[0] ?? "general";
160
+ const endpoint = selected.agent.endpoints.x402 ?? selected.agent.endpoints.http ?? "";
161
+ if (execution?.success) {
162
+ await this.reputationWriter.writePositiveFeedback(agentId, category, endpoint);
163
+ } else {
164
+ await this.reputationWriter.writeNegativeFeedback(agentId, category, endpoint);
165
+ }
166
+ }
167
+ }
149
168
  }
150
169
 
151
170
  const reasoning = this.explainChoice(selected, reranked, options);
@@ -41,6 +41,7 @@ function mapKompassAgent(agent: AgentProfile): UnifiedAgent {
41
41
  id: `kompass-registry:${agent.id}`,
42
42
  nativeId: agent.id,
43
43
  name: agent.ensName || agent.id,
44
+ ensName: agent.ensName || undefined,
44
45
  description: agent.description ?? "",
45
46
  categories: agent.categories ? agent.categories.split(",").map((c: string) => c.trim()) : [],
46
47
  capabilities: [agent.description, agent.categories].filter(Boolean) as string[],
@@ -25,6 +25,8 @@ export interface UnifiedAgent {
25
25
  nativeId: string;
26
26
  /** Agent name */
27
27
  name: string;
28
+ /** ENS / Basename if available (e.g., "yieldsage.base.eth") */
29
+ ensName?: string;
28
30
  /** Description of what this agent does */
29
31
  description: string;
30
32
  /** Capability categories (e.g., ["defi", "yield", "analytics"]) */
package/src/unified.ts CHANGED
@@ -15,6 +15,7 @@ import { Aggregator, type AggregatorOptions, type AggregatorResult } from "./agg
15
15
  import { rankAgents, type MatchResult } from "./matching.js";
16
16
  import { ProtocolBridge, type BridgeHireOptions, type BridgeHireResult } from "./bridge.js";
17
17
  import { CapabilityRouter, type DoOptions, type DoResult } from "./router.js";
18
+ import type { ReputationWriterConfig } from "./reputation-writer.js";
18
19
 
19
20
  export interface UnifiedConfig {
20
21
  /** Network for on-chain sources */
@@ -25,6 +26,8 @@ export interface UnifiedConfig {
25
26
  acpBackend?: any;
26
27
  /** Kompass SDK config (for kompass-registry source) */
27
28
  kompassConfig?: any;
29
+ /** ERC-8004 reputation writer config (writes feedback after executions) */
30
+ reputationWriter?: ReputationWriterConfig;
28
31
  }
29
32
 
30
33
  export interface FindOptions {
@@ -49,11 +52,14 @@ export class KompassUnified {
49
52
  private router: CapabilityRouter;
50
53
  private adapters: SourceAdapter[];
51
54
 
52
- private constructor(adapters: SourceAdapter[], bridge: ProtocolBridge) {
55
+ private config?: UnifiedConfig;
56
+
57
+ private constructor(adapters: SourceAdapter[], bridge: ProtocolBridge, config?: UnifiedConfig) {
53
58
  this.adapters = adapters;
59
+ this.config = config;
54
60
  this.aggregator = new Aggregator(adapters);
55
61
  this.bridge = bridge;
56
- this.router = new CapabilityRouter(this.aggregator, this.bridge);
62
+ this.router = new CapabilityRouter(this.aggregator, this.bridge, config?.reputationWriter);
57
63
  }
58
64
 
59
65
  static async create(config?: UnifiedConfig): Promise<KompassUnified> {
@@ -67,7 +73,7 @@ export class KompassUnified {
67
73
  acpBackend: config?.acpBackend,
68
74
  });
69
75
 
70
- return new KompassUnified(adapters, bridge);
76
+ return new KompassUnified(adapters, bridge, config);
71
77
  }
72
78
 
73
79
  /**