export interface FluidAgentConfig { /** Fluid agent key — starts with fwag_ (value of FLUID_AGENT_KEY env var) */ agentKey: string; baseUrl?: string; /** Enable FADP auto-pay — agent.fetch() will automatically pay 402 FADP walls */ fadp?: boolean; /** Max USD amount to auto-pay per FADP request (default: 10) */ fadpMaxUsd?: number; /** * Check USDC balance before every FADP payment. * If balance is insufficient, logs the funding address and throws instead of * attempting a payment that will fail. * Default: false (balance check skipped for speed; server rejects if insufficient) */ checkBalanceBeforePayment?: boolean; } export interface SendPaymentParams { to: string; amount: string; chain?: string; token?: string; } export interface BatchRecipient { to: string; amount: string; label?: string; } export interface BatchSendParams { recipients: BatchRecipient[]; chain?: string; token?: string; } export interface BatchSendResult { sent: BatchRecipient[]; failed: { recipient: BatchRecipient; error: string; }[]; total: string; chain: string; token: string; } export interface SwapParams { fromToken: string; toToken: string; amount: string; slippage?: string; chain?: string; /** TOTP code from the wallet owner's authenticator app — required when the account has TOTP enabled */ otpCode?: string; } export interface AgentPayParams { toEmail: string; amount: string; token?: string; memo?: string; } export interface QuoteParams { fromToken: string; toToken: string; amount: string; chain?: string; } export interface ApprovalStatusParams { approvalToken: string; } export interface UOIIdentity { type: "agent" | "fluid_user" | "external"; address: string; uoi: string | null; email?: string | null; agentKey?: string; agentName?: string | null; } export interface FADPReceipt { id: string; protocol: "FADP/1.0"; status: "confirmed"; timestamp: string; network: string; chainId: number; txHash: string; explorerUrl: string; from: UOIIdentity & { email: string; }; to: UOIIdentity; payment: { amount: string; token: string; tokenAddress: string; }; memo?: string; } export interface PaymentResult { status: string; txHash?: string; explorerUrl?: string; receipt?: FADPReceipt; approvalToken?: string; pollUrl?: string; from?: string; to?: string; amount?: string; chain?: string; token?: string; message?: string; } export interface ApprovalStatusResult { status: string; approvalToken: string; txHash?: string; explorerUrl?: string; decidedAt?: string; } export interface IdentityResult { email: string; walletAddress: string | null; } export interface UAIResolveResult { username: string; address: string | null; displayName?: string | null; avatarUrl?: string | null; networkId?: string; } export interface UAIReverseResult { address: string; username: string | null; fluidId?: string | null; } export interface UAIRegisterResult { success: boolean; username: string; address: string; message?: string; } export interface PriceResult { token: string; usd: number; source?: string; } /** * Scopes a Pauli key can carry (subset of parent key's scopes). * Scope format: "read", "pay", "swap", "spawn", "read:pay" (combined) */ export type PauliScope = "read" | "pay" | "swap" | "spawn" | string; export interface CreateKeyParams { label: string; scopes: PauliScope[]; spendLimit?: string; dailyLimit?: string; expiresIn?: number; } export interface PauliKey { keyId: string; label: string; scopes: PauliScope[]; spendLimit?: string; dailyLimit?: string; createdAt: string; expiresAt?: string | null; active: boolean; usageCount: number; lastUsedAt?: string | null; } export interface RevokeKeyResult { success: boolean; keyId: string; message?: string; } export interface AgentMeResult { email: string; keyPrefix: string; name: string; scopes: string[]; } //# sourceMappingURL=types.d.ts.map