/** * Pi ERC-8004 Extension * * ERC-8004 Protocol for pi-coding-agent * Agent identity, reputation, and discovery on Base L2 * * Installation: * pi install npm:@0xkobold/pi-erc8004 * * Features: * - Agent identity registration (off-chain Phase 1, on-chain Phase 2) * - Capability attestation with reputation scoring * - Agent discovery by capability * - Cross-platform trust * - Works with or without .0xkobold directory * * Environment Variables: * PI_ERC8004_DIR - Custom storage directory * PI_ERC8004_CHAIN - Default chain (base|sepolia) * * Commands: * /erc8004 register specialist --capabilities coding,research [--chain sepolia] * /erc8004 status * /erc8004 attest --worker 0x... --rating 95 [--task-id abc] [--comment "Great work"] * /erc8004 discover --capability typescript * /erc8004 reputation [--worker 0x...] * * Tools: * erc8004_register - Register agent identity * erc8004_attest - Submit reputation attestation * erc8004_discover - Discover agents by capability * erc8004_reputation - Check reputation * * Contracts: * Base Mainnet: 0x8004A169... (Identity) / 0x8004BAa1... (Reputation) * Base Sepolia: 0x8004A818... (Identity) / 0x8004B663... (Reputation) * * @see https://github.com/erc-8004/erc-8004-contracts * @see https://8004.org */ import type { ExtensionAPI } from "@mariozechner/pi-coding-agent"; declare const ERC8004_CONTRACTS: { base: { IdentityRegistry: string; ReputationRegistry: string; chainId: number; rpc: string; explorer: string; }; sepolia: { IdentityRegistry: string; ReputationRegistry: string; chainId: number; rpc: string; explorer: string; faucet: string; }; }; declare const IDENTITY_REGISTRY_ABI: string[]; declare const REPUTATION_REGISTRY_ABI: string[]; interface AgentIdentity { address: string; name: string; metadataHash: string; publicKey: string; capabilities: string[]; registeredAt: number; chain: keyof typeof ERC8004_CONTRACTS; active: boolean; } declare function generateMetadataHash(metadata: object): string; declare function registerIdentity(agentType: string, capabilities: string[], walletAddress: string, chain?: keyof typeof ERC8004_CONTRACTS, name?: string): Promise; declare function submitAttestation(workerAddress: string, score: number, taskId?: string, comment?: string): Promise; declare function getWorkerReputation(workerAddress: string): { averageScore: number; attestationCount: number; attestations: { worker: string; score: number; taskId?: string; timestamp: number; comment?: string; }[]; }; declare function getMyReputation(): { score: number; tier: "bronze" | "silver" | "gold" | "platinum"; attestationsGiven: number; }; declare function discoverAgents(capability: string): Promise>; export default function erc8004Extension(pi: ExtensionAPI): void; export { ERC8004_CONTRACTS, IDENTITY_REGISTRY_ABI, REPUTATION_REGISTRY_ABI, generateMetadataHash, registerIdentity, submitAttestation, getWorkerReputation, getMyReputation, discoverAgents, }; //# sourceMappingURL=index.d.ts.map