@agentwallex/openclaw 0.0.2 → 0.1.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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tools/create-agent.ts","../src/tools/list-agents.ts","../src/tools/create-wallet.ts","../src/tools/pay.ts","../src/tools/check-balance.ts","../src/tools/tx-status.ts","../src/store.ts","../src/plugin.ts"],"names":["join","homedir","existsSync","readFileSync","mkdirSync","writeFileSync","chmodSync","AgentWallex"],"mappings":"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","file":"index.cjs","sourcesContent":["import type { AgentWallex } from '@agentwallex/sdk';\nimport type { CreateAgentInput, CreateAgentOutput } from '../types.js';\n\nexport async function createAgent(\n client: AgentWallex,\n input: CreateAgentInput,\n): Promise<CreateAgentOutput> {\n const agent = await client.agents.create({\n agent_name: input.agent_name,\n chain: input.chain ?? 'base',\n agent_description: input.agent_description,\n });\n return {\n agent_id: agent.agent_id,\n agent_name: agent.agent_name,\n chain: agent.chain,\n status: agent.status,\n };\n}\n","import type { AgentWallex } from '@agentwallex/sdk';\nimport type { AgentStatus } from '@agentwallex/sdk';\nimport type { ListAgentsInput, ListAgentsOutput } from '../types.js';\n\nexport async function listAgents(\n client: AgentWallex,\n input: ListAgentsInput = {},\n): Promise<ListAgentsOutput> {\n const page = await client.agents.list({\n status: input.status as AgentStatus | undefined,\n chain: input.chain,\n });\n return {\n agents: page.data.map((a) => ({\n agent_id: a.agent_id,\n agent_name: a.agent_name,\n chain: a.chain,\n status: a.status,\n })),\n total: page.total,\n };\n}\n","import type { AgentWallex } from '@agentwallex/sdk';\nimport type { CreateWalletInput, CreateWalletOutput } from '../types.js';\n\nexport async function createWallet(\n client: AgentWallex,\n agentId: string,\n input: CreateWalletInput = {},\n): Promise<CreateWalletOutput> {\n const result = await client.wallets.getDepositAddress({\n agent_id: agentId,\n chain: input.chain,\n });\n return {\n agent_id: result.agent_id,\n address: result.address,\n chain: result.chain,\n };\n}\n","import type { AgentWallex } from '@agentwallex/sdk';\nimport type { PayInput, PayOutput } from '../types.js';\n\nexport async function pay(\n client: AgentWallex,\n agentId: string,\n input: PayInput,\n): Promise<PayOutput> {\n // Get the agent's wallet address for from_address\n const wallet = await client.wallets.getDepositAddress({\n agent_id: agentId,\n chain: input.chain,\n });\n\n const tx = await client.transactions.create({\n agent_id: agentId,\n direction: 'outbound',\n type: 'payment',\n from_address: wallet.address,\n to_address: input.to,\n amount: input.amount,\n token: input.token ?? 'USDC',\n chain: input.chain ?? wallet.chain,\n memo: input.memo,\n });\n\n return {\n transaction_id: tx.transaction_id,\n tx_hash: tx.tx_hash ?? undefined,\n status: tx.status,\n };\n}\n","import type { AgentWallex } from '@agentwallex/sdk';\nimport type { CheckBalanceInput, CheckBalanceOutput } from '../types.js';\n\nexport async function checkBalance(\n client: AgentWallex,\n agentId: string,\n input: CheckBalanceInput = {},\n): Promise<CheckBalanceOutput> {\n const balances = await client.wallets.listBalances({\n agent_id: agentId,\n chain: input.chain,\n });\n\n const balance = balances[0];\n if (!balance) {\n return { available: '0', chain: input.chain ?? 'base' };\n }\n\n return {\n available: balance.available,\n chain: balance.chain,\n };\n}\n","import type { AgentWallex } from '@agentwallex/sdk';\nimport type { TxStatusInput, TxStatusOutput } from '../types.js';\n\nexport async function txStatus(\n client: AgentWallex,\n agentId: string,\n input: TxStatusInput,\n): Promise<TxStatusOutput> {\n const tx = await client.transactions.retrieve(input.transaction_id);\n if (tx.agent_id !== agentId) {\n throw new Error(\n `Transaction ${input.transaction_id} does not belong to agent ${agentId}`,\n );\n }\n return {\n status: tx.status,\n tx_hash: tx.tx_hash ?? undefined,\n confirmed_at: tx.confirmed_at ?? undefined,\n };\n}\n","import { readFileSync, writeFileSync, mkdirSync, existsSync, chmodSync } from 'node:fs';\nimport { join } from 'node:path';\nimport { homedir } from 'node:os';\n\nexport interface StoredConfig {\n apiKey: string;\n agentId: string;\n sandbox?: boolean;\n}\n\nfunction getConfigDir(): string {\n return join(homedir(), '.openclaw', 'agentwallex');\n}\n\nfunction getConfigPath(): string {\n return join(getConfigDir(), 'config.json');\n}\n\nexport function loadConfig(): StoredConfig | null {\n const configPath = getConfigPath();\n if (!existsSync(configPath)) return null;\n\n const raw = readFileSync(configPath, 'utf-8');\n const data = JSON.parse(raw) as StoredConfig;\n\n if (!data.apiKey || !data.agentId) {\n throw new Error(\n 'Invalid config: missing apiKey or agentId in ' + configPath,\n );\n }\n\n return data;\n}\n\nexport function requireConfig(): StoredConfig {\n try {\n const config = loadConfig();\n if (!config) {\n throw new Error(\n 'AgentWallex is not configured yet. ' +\n 'Use the agentwallex_setup tool to get started, ' +\n 'then agentwallex_configure to save your credentials.',\n );\n }\n return config;\n } catch (err) {\n if (err instanceof SyntaxError) {\n throw new Error(\n 'AgentWallex config file is corrupted. ' +\n 'Delete ~/.openclaw/agentwallex/config.json and run agentwallex_setup again.',\n );\n }\n throw err;\n }\n}\n\nexport function saveConfig(config: StoredConfig): void {\n const dir = getConfigDir();\n mkdirSync(dir, { recursive: true, mode: 0o700 });\n\n const configPath = getConfigPath();\n writeFileSync(configPath, JSON.stringify(config, null, 2) + '\\n', 'utf-8');\n chmodSync(configPath, 0o600);\n}\n\nexport function isConfigured(): boolean {\n try {\n return loadConfig() !== null;\n } catch {\n return false;\n }\n}\n","import { AgentWallex } from '@agentwallex/sdk';\nimport { createAgent } from './tools/create-agent.js';\nimport { listAgents } from './tools/list-agents.js';\nimport { createWallet } from './tools/create-wallet.js';\nimport { pay } from './tools/pay.js';\nimport { checkBalance } from './tools/check-balance.js';\nimport { txStatus } from './tools/tx-status.js';\nimport { requireConfig, saveConfig, isConfigured } from './store.js';\n\n/* ------------------------------------------------------------------ */\n/* Static schema — for library consumers who need raw JSON Schema */\n/* ------------------------------------------------------------------ */\n\nexport const openClawToolSchema = {\n name: 'agentwallex-payment',\n description: 'Send USDC payments, check balances, and query transactions via AgentWallex',\n tools: [\n {\n name: 'agentwallex_setup',\n description: 'Check AgentWallex configuration status and get setup instructions',\n inputSchema: {\n type: 'object' as const,\n properties: {},\n required: [],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n configured: { type: 'boolean' },\n dashboard_url: { type: 'string' },\n instructions: { type: 'string' },\n },\n required: ['configured', 'dashboard_url'],\n },\n },\n {\n name: 'agentwallex_configure',\n description: 'Save AgentWallex API credentials after validating them',\n inputSchema: {\n type: 'object' as const,\n properties: {\n api_key: { type: 'string', description: 'AgentWallex API key (starts with awx_)' },\n agent_id: { type: 'string', description: 'Agent ID from the Dashboard' },\n sandbox: { type: 'boolean', description: 'Use sandbox environment (default: false)' },\n },\n required: ['api_key', 'agent_id'],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n success: { type: 'boolean' },\n agent_name: { type: 'string' },\n message: { type: 'string' },\n },\n required: ['success', 'message'],\n },\n },\n {\n name: 'agentwallex_create_agent',\n description: 'Create a new AI agent with its own wallet',\n inputSchema: {\n type: 'object' as const,\n properties: {\n agent_name: { type: 'string', description: 'Name for the new agent' },\n chain: { type: 'string', description: 'Blockchain network (default: base)' },\n agent_description: { type: 'string', description: 'Optional description' },\n },\n required: ['agent_name'],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n agent_id: { type: 'string' },\n agent_name: { type: 'string' },\n chain: { type: 'string' },\n status: { type: 'string' },\n },\n required: ['agent_id', 'agent_name', 'chain', 'status'],\n },\n },\n {\n name: 'agentwallex_list_agents',\n description: 'List all agents and their status',\n inputSchema: {\n type: 'object' as const,\n properties: {\n status: { type: 'string', description: 'Filter by status (active, inactive, suspended)' },\n chain: { type: 'string', description: 'Filter by blockchain network' },\n },\n required: [],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n agents: { type: 'array', items: { type: 'object' } },\n total: { type: 'number' },\n },\n required: ['agents', 'total'],\n },\n },\n {\n name: 'agentwallex_create_wallet',\n description: 'Get or create a wallet deposit address for an agent',\n inputSchema: {\n type: 'object' as const,\n properties: {\n chain: { type: 'string', description: 'Blockchain network (default: base)' },\n },\n required: [],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n agent_id: { type: 'string' },\n address: { type: 'string' },\n chain: { type: 'string' },\n },\n required: ['agent_id', 'address', 'chain'],\n },\n },\n {\n name: 'agentwallex_pay',\n description: 'Send a USDC payment to a recipient address',\n inputSchema: {\n type: 'object' as const,\n properties: {\n to: { type: 'string', description: 'Recipient wallet address' },\n amount: { type: 'string', description: 'Amount to send (e.g. \"1.50\")' },\n token: { type: 'string', description: 'Token symbol (default: USDC)' },\n chain: { type: 'string', description: 'Blockchain network (default: base)' },\n memo: { type: 'string', description: 'Optional payment memo' },\n },\n required: ['to', 'amount'],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n transaction_id: { type: 'string' },\n tx_hash: { type: 'string' },\n status: { type: 'string' },\n },\n required: ['transaction_id', 'status'],\n },\n },\n {\n name: 'agentwallex_check_balance',\n description: 'Check USDC balance for an agent',\n inputSchema: {\n type: 'object' as const,\n properties: {\n chain: { type: 'string', description: 'Blockchain network (default: base)' },\n },\n required: [],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n available: { type: 'string' },\n chain: { type: 'string' },\n },\n required: ['available', 'chain'],\n },\n },\n {\n name: 'agentwallex_tx_status',\n description: 'Check the status of a transaction',\n inputSchema: {\n type: 'object' as const,\n properties: {\n transaction_id: { type: 'string', description: 'Transaction ID to check' },\n },\n required: ['transaction_id'],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n status: { type: 'string' },\n tx_hash: { type: 'string' },\n confirmed_at: { type: 'string' },\n },\n required: ['status'],\n },\n },\n ],\n};\n\n/* ------------------------------------------------------------------ */\n/* OpenClaw Plugin API types (minimal, avoids hard dependency) */\n/* ------------------------------------------------------------------ */\n\ninterface ToolResult {\n content: Array<{ type: 'text'; text: string }>;\n}\n\ninterface ToolRegistration {\n name: string;\n description: string;\n parameters: Record<string, unknown>;\n execute: (id: string, params: Record<string, unknown>) => Promise<ToolResult>;\n}\n\ninterface OpenClawPluginApi {\n registerTool(tool: ToolRegistration): void;\n}\n\n/* ------------------------------------------------------------------ */\n/* Helpers */\n/* ------------------------------------------------------------------ */\n\nconst DASHBOARD_URL = 'https://app.agentwallex.com';\n\nfunction jsonResult(data: unknown): ToolResult {\n return { content: [{ type: 'text', text: JSON.stringify(data) }] };\n}\n\nfunction withConfig<T>(\n fn: (client: AgentWallex, agentId: string, params: Record<string, unknown>) => Promise<T>,\n): (id: string, params: Record<string, unknown>) => Promise<ToolResult> {\n return async (_id, params) => {\n try {\n const config = requireConfig();\n const client = new AgentWallex({ apiKey: config.apiKey, sandbox: config.sandbox });\n const result = await fn(client, config.agentId, params);\n return jsonResult(result);\n } catch (err) {\n const message = err instanceof Error ? err.message : 'Unknown error';\n return jsonResult({ error: true, message });\n }\n };\n}\n\n/* ------------------------------------------------------------------ */\n/* register() — called by OpenClaw at plugin load time */\n/* ------------------------------------------------------------------ */\n\nexport default function register(api: OpenClawPluginApi): void {\n /* ---- setup: no credentials needed ---- */\n api.registerTool({\n name: 'agentwallex_setup',\n description: 'Check AgentWallex configuration status and get setup instructions',\n parameters: {\n type: 'object',\n properties: {},\n },\n async execute() {\n const configured = isConfigured();\n\n if (configured) {\n return jsonResult({\n configured: true,\n dashboard_url: DASHBOARD_URL,\n instructions:\n 'AgentWallex is already configured and ready to use. ' +\n 'You can send payments, check balances, and more. ' +\n 'To reconfigure, use agentwallex_configure with new credentials.',\n });\n }\n\n return jsonResult({\n configured: false,\n dashboard_url: DASHBOARD_URL,\n instructions:\n 'To set up AgentWallex, follow these steps:\\n' +\n `1. Open the AgentWallex Dashboard: ${DASHBOARD_URL}\\n` +\n '2. Sign in with Google\\n' +\n '3. Go to Settings > API Keys and create a new API key (starts with awx_)\\n' +\n '4. Go to Agents, create or select an agent, and copy the Agent ID\\n' +\n '5. Give me the API key and Agent ID, and I\\'ll save them with agentwallex_configure',\n });\n },\n });\n\n /* ---- configure: validate + save credentials ---- */\n api.registerTool({\n name: 'agentwallex_configure',\n description: 'Save AgentWallex API credentials after validating them',\n parameters: {\n type: 'object',\n properties: {\n api_key: { type: 'string', description: 'AgentWallex API key (starts with awx_)' },\n agent_id: { type: 'string', description: 'Agent ID from the Dashboard' },\n sandbox: { type: 'boolean', description: 'Use sandbox environment (default: false)' },\n },\n required: ['api_key', 'agent_id'],\n },\n async execute(_id, params) {\n const apiKey = params.api_key as string | undefined;\n const agentId = params.agent_id as string | undefined;\n const sandbox = (params.sandbox as boolean) ?? false;\n\n if (!apiKey || typeof apiKey !== 'string') {\n return jsonResult({\n success: false,\n message: 'api_key is required. Get one from ' + DASHBOARD_URL,\n });\n }\n\n if (!agentId || typeof agentId !== 'string') {\n return jsonResult({\n success: false,\n message: 'agent_id is required. Find it in your Dashboard at ' + DASHBOARD_URL,\n });\n }\n\n // Validate api_key format\n if (!apiKey.startsWith('awx_')) {\n return jsonResult({\n success: false,\n message:\n 'Invalid API key format. AgentWallex API keys start with \"awx_\". ' +\n `Please check your key at ${DASHBOARD_URL}`,\n });\n }\n\n // Validate credentials by calling the API\n try {\n const client = new AgentWallex({ apiKey, sandbox });\n const agent = await client.agents.retrieve(agentId);\n\n saveConfig({ apiKey, agentId, sandbox: sandbox === true ? true : undefined });\n\n return jsonResult({\n success: true,\n agent_name: agent.agent_name,\n message:\n `AgentWallex configured successfully! Connected to agent \"${agent.agent_name}\". ` +\n 'You can now send payments, check balances, and manage transactions.',\n });\n } catch (err) {\n const message =\n err instanceof Error ? err.message : 'Unknown error';\n return jsonResult({\n success: false,\n message:\n `Failed to validate credentials: ${message}. ` +\n 'Please check your API key and Agent ID, then try again.',\n });\n }\n },\n });\n\n /* ---- existing tools, wrapped with withConfig ---- */\n api.registerTool({\n name: 'agentwallex_create_agent',\n description: 'Create a new AI agent with its own wallet',\n parameters: {\n type: 'object',\n properties: {\n agent_name: { type: 'string', description: 'Name for the new agent' },\n chain: { type: 'string', description: 'Blockchain network (default: base)' },\n agent_description: { type: 'string', description: 'Optional description' },\n },\n required: ['agent_name'],\n },\n execute: withConfig(async (client, _agentId, params) => {\n return createAgent(client, {\n agent_name: params.agent_name as string,\n chain: params.chain as string | undefined,\n agent_description: params.agent_description as string | undefined,\n });\n }),\n });\n\n api.registerTool({\n name: 'agentwallex_list_agents',\n description: 'List all agents and their status',\n parameters: {\n type: 'object',\n properties: {\n status: { type: 'string', description: 'Filter by status (active, inactive, suspended)' },\n chain: { type: 'string', description: 'Filter by blockchain network' },\n },\n },\n execute: withConfig(async (client, _agentId, params) => {\n return listAgents(client, {\n status: params.status as string | undefined,\n chain: params.chain as string | undefined,\n });\n }),\n });\n\n api.registerTool({\n name: 'agentwallex_create_wallet',\n description: 'Get or create a wallet deposit address for an agent',\n parameters: {\n type: 'object',\n properties: {\n chain: { type: 'string', description: 'Blockchain network (default: base)' },\n },\n },\n execute: withConfig(async (client, agentId, params) => {\n return createWallet(client, agentId, {\n chain: params.chain as string | undefined,\n });\n }),\n });\n\n api.registerTool({\n name: 'agentwallex_pay',\n description: 'Send a USDC payment to a recipient address',\n parameters: {\n type: 'object',\n properties: {\n to: { type: 'string', description: 'Recipient wallet address' },\n amount: { type: 'string', description: 'Amount to send (e.g. \"1.50\")' },\n token: { type: 'string', description: 'Token symbol (default: USDC)' },\n chain: { type: 'string', description: 'Blockchain network (default: base)' },\n memo: { type: 'string', description: 'Optional payment memo' },\n },\n required: ['to', 'amount'],\n },\n execute: withConfig(async (client, agentId, params) => {\n return pay(client, agentId, {\n to: params.to as string,\n amount: params.amount as string,\n token: params.token as string | undefined,\n chain: params.chain as string | undefined,\n memo: params.memo as string | undefined,\n });\n }),\n });\n\n api.registerTool({\n name: 'agentwallex_check_balance',\n description: 'Check USDC balance for an agent',\n parameters: {\n type: 'object',\n properties: {\n chain: { type: 'string', description: 'Blockchain network (default: base)' },\n },\n },\n execute: withConfig(async (client, agentId, params) => {\n return checkBalance(client, agentId, {\n chain: params.chain as string | undefined,\n });\n }),\n });\n\n api.registerTool({\n name: 'agentwallex_tx_status',\n description: 'Check the status of a transaction',\n parameters: {\n type: 'object',\n properties: {\n transaction_id: { type: 'string', description: 'Transaction ID to check' },\n },\n required: ['transaction_id'],\n },\n execute: withConfig(async (client, agentId, params) => {\n return txStatus(client, agentId, {\n transaction_id: params.transaction_id as string,\n });\n }),\n });\n}\n"]}
1
+ {"version":3,"sources":["../src/tools/create-agent.ts","../src/tools/list-agents.ts","../src/tools/update-agent.ts","../src/tools/delete-agent.ts","../src/tools/agent-status.ts","../src/tools/create-wallet.ts","../src/tools/pay.ts","../src/tools/check-balance.ts","../src/tools/tx-status.ts","../src/tools/list-transactions.ts","../src/store.ts","../src/plugin.ts"],"names":["join","homedir","existsSync","readFileSync","mkdirSync","writeFileSync","chmodSync","AgentWallex"],"mappings":"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","file":"index.cjs","sourcesContent":["import type { AgentWallex } from '@agentwallex/sdk';\nimport type { CreateAgentInput, CreateAgentOutput } from '../types.js';\n\nexport async function createAgent(\n client: AgentWallex,\n input: CreateAgentInput,\n): Promise<CreateAgentOutput> {\n const agent = await client.agents.create({\n agent_name: input.agent_name,\n chain: input.chain ?? 'base',\n agent_description: input.agent_description,\n });\n return {\n agent_id: agent.agent_id,\n agent_name: agent.agent_name,\n chain: agent.chain,\n status: agent.status,\n };\n}\n","import type { AgentWallex } from '@agentwallex/sdk';\nimport type { AgentStatus } from '@agentwallex/sdk';\nimport type { ListAgentsInput, ListAgentsOutput } from '../types.js';\n\nexport async function listAgents(\n client: AgentWallex,\n input: ListAgentsInput = {},\n): Promise<ListAgentsOutput> {\n const page = await client.agents.list({\n status: input.status as AgentStatus | undefined,\n chain: input.chain,\n });\n return {\n agents: page.data.map((a) => ({\n agent_id: a.agent_id,\n agent_name: a.agent_name,\n chain: a.chain,\n status: a.status,\n })),\n total: page.total,\n };\n}\n","import type { AgentWallex } from '@agentwallex/sdk';\nimport type { UpdateAgentInput, UpdateAgentOutput } from '../types.js';\n\nexport async function updateAgent(\n client: AgentWallex,\n input: UpdateAgentInput,\n): Promise<UpdateAgentOutput> {\n const agent = await client.agents.update(input.agent_id, {\n agent_name: input.agent_name,\n agent_description: input.agent_description,\n });\n return {\n agent_id: agent.agent_id,\n agent_name: agent.agent_name,\n chain: agent.chain,\n status: agent.status,\n };\n}\n","import type { AgentWallex } from '@agentwallex/sdk';\nimport type { DeleteAgentInput } from '../types.js';\n\nexport async function deleteAgent(\n client: AgentWallex,\n input: DeleteAgentInput,\n): Promise<void> {\n await client.agents.delete(input.agent_id);\n}\n","import type { AgentWallex } from '@agentwallex/sdk';\nimport type { AgentStatus } from '@agentwallex/sdk';\nimport type { AgentStatusInput, AgentStatusOutput } from '../types.js';\n\nexport async function agentStatus(\n client: AgentWallex,\n input: AgentStatusInput,\n): Promise<AgentStatusOutput> {\n const agent = await client.agents.updateStatus(input.agent_id, {\n status: input.status as AgentStatus,\n });\n return {\n agent_id: agent.agent_id,\n status: agent.status,\n };\n}\n","import type { AgentWallex } from '@agentwallex/sdk';\nimport type { CreateWalletInput, CreateWalletOutput } from '../types.js';\n\nexport async function createWallet(\n client: AgentWallex,\n agentId: string,\n input: CreateWalletInput = {},\n): Promise<CreateWalletOutput> {\n const result = await client.agents.getDepositAddress(agentId, {\n chain: input.chain,\n });\n return {\n agent_id: result.agent_id,\n address: result.address,\n chain: result.chain,\n };\n}\n","import type { AgentWallex } from '@agentwallex/sdk';\nimport type { PayInput, PayOutput } from '../types.js';\n\nexport async function pay(\n client: AgentWallex,\n agentId: string,\n input: PayInput,\n): Promise<PayOutput> {\n const result = await client.agents.withdraw(agentId, {\n amount: input.amount,\n to_address: input.to,\n chain: input.chain,\n });\n\n return {\n transaction_id: result.ledger_id,\n tx_hash: result.tx_hash || undefined,\n status: result.status,\n };\n}\n","import type { AgentWallex } from '@agentwallex/sdk';\nimport type { CheckBalanceInput, CheckBalanceOutput } from '../types.js';\n\nexport async function checkBalance(\n client: AgentWallex,\n agentId: string,\n _input: CheckBalanceInput = {},\n): Promise<CheckBalanceOutput> {\n const balances = await client.agents.getBalance(agentId);\n\n return {\n balances: balances.map((b) => ({\n chain: b.chain,\n available: b.available,\n locked: b.locked,\n pending_income: b.pending_income,\n total_deposited: b.total_deposited,\n total_withdrawn: b.total_withdrawn,\n total_paid: b.total_paid,\n total_earned: b.total_earned,\n })),\n };\n}\n","import type { AgentWallex } from '@agentwallex/sdk';\nimport type { TxStatusInput, TxStatusOutput } from '../types.js';\n\nexport async function txStatus(\n client: AgentWallex,\n agentId: string,\n input: TxStatusInput,\n): Promise<TxStatusOutput> {\n const tx = await client.transactions.retrieve(input.transaction_id);\n if (tx.agent_id !== agentId) {\n throw new Error(\n `Transaction ${input.transaction_id} does not belong to agent ${agentId}`,\n );\n }\n return {\n status: tx.status,\n tx_hash: tx.tx_hash ?? undefined,\n confirmed_at: tx.confirmed_at ?? undefined,\n };\n}\n","import type { AgentWallex } from '@agentwallex/sdk';\nimport type { TransactionDirection, TransactionStatus } from '@agentwallex/sdk';\nimport type { ListTransactionsInput, ListTransactionsOutput } from '../types.js';\n\nexport async function listTransactions(\n client: AgentWallex,\n input: ListTransactionsInput = {},\n): Promise<ListTransactionsOutput> {\n const page = await client.transactions.list({\n agent_id: input.agent_id,\n status: input.status as TransactionStatus | undefined,\n direction: input.direction as TransactionDirection | undefined,\n });\n return {\n transactions: page.data.map((tx) => ({\n transaction_id: tx.transaction_id,\n agent_id: tx.agent_id,\n direction: tx.direction,\n status: tx.status,\n amount: tx.amount,\n token: tx.token,\n chain: tx.chain,\n tx_hash: tx.tx_hash ?? undefined,\n confirmed_at: tx.confirmed_at ?? undefined,\n })),\n total: page.total,\n };\n}\n","import { readFileSync, writeFileSync, mkdirSync, existsSync, chmodSync } from 'node:fs';\nimport { join } from 'node:path';\nimport { homedir } from 'node:os';\n\nexport interface StoredConfig {\n apiKey: string;\n agentId: string;\n sandbox?: boolean;\n}\n\nfunction getConfigDir(): string {\n return join(homedir(), '.openclaw', 'agentwallex');\n}\n\nfunction getConfigPath(): string {\n return join(getConfigDir(), 'config.json');\n}\n\nexport function loadConfig(): StoredConfig | null {\n const configPath = getConfigPath();\n if (!existsSync(configPath)) return null;\n\n const raw = readFileSync(configPath, 'utf-8');\n const data = JSON.parse(raw) as StoredConfig;\n\n if (!data.apiKey || !data.agentId) {\n throw new Error(\n 'Invalid config: missing apiKey or agentId in ' + configPath,\n );\n }\n\n return data;\n}\n\nexport function requireConfig(): StoredConfig {\n try {\n const config = loadConfig();\n if (!config) {\n throw new Error(\n 'AgentWallex is not configured yet. ' +\n 'Use the agentwallex_setup tool to get started, ' +\n 'then agentwallex_configure to save your credentials.',\n );\n }\n return config;\n } catch (err) {\n if (err instanceof SyntaxError) {\n throw new Error(\n 'AgentWallex config file is corrupted. ' +\n 'Delete ~/.openclaw/agentwallex/config.json and run agentwallex_setup again.',\n );\n }\n throw err;\n }\n}\n\nexport function saveConfig(config: StoredConfig): void {\n const dir = getConfigDir();\n mkdirSync(dir, { recursive: true, mode: 0o700 });\n\n const configPath = getConfigPath();\n writeFileSync(configPath, JSON.stringify(config, null, 2) + '\\n', 'utf-8');\n chmodSync(configPath, 0o600);\n}\n\nexport function isConfigured(): boolean {\n try {\n return loadConfig() !== null;\n } catch {\n return false;\n }\n}\n","import { AgentWallex } from '@agentwallex/sdk';\nimport { createAgent } from './tools/create-agent.js';\nimport { listAgents } from './tools/list-agents.js';\nimport { updateAgent } from './tools/update-agent.js';\nimport { deleteAgent } from './tools/delete-agent.js';\nimport { agentStatus } from './tools/agent-status.js';\nimport { createWallet } from './tools/create-wallet.js';\nimport { pay } from './tools/pay.js';\nimport { checkBalance } from './tools/check-balance.js';\nimport { txStatus } from './tools/tx-status.js';\nimport { listTransactions } from './tools/list-transactions.js';\nimport { requireConfig, saveConfig, isConfigured } from './store.js';\n\n/* ------------------------------------------------------------------ */\n/* Static schema — for library consumers who need raw JSON Schema */\n/* ------------------------------------------------------------------ */\n\nexport const openClawToolSchema = {\n name: 'agentwallex-payment',\n description: 'Send USDC payments, check balances, and query transactions via AgentWallex',\n tools: [\n {\n name: 'agentwallex_setup',\n description: 'Check AgentWallex configuration status and get setup instructions',\n inputSchema: {\n type: 'object' as const,\n properties: {},\n required: [],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n configured: { type: 'boolean' },\n dashboard_url: { type: 'string' },\n instructions: { type: 'string' },\n },\n required: ['configured', 'dashboard_url'],\n },\n },\n {\n name: 'agentwallex_configure',\n description: 'Save AgentWallex API credentials after validating them',\n inputSchema: {\n type: 'object' as const,\n properties: {\n api_key: { type: 'string', description: 'AgentWallex API key (starts with awx_)' },\n agent_id: { type: 'string', description: 'Agent ID from the Dashboard' },\n sandbox: { type: 'boolean', description: 'Use sandbox environment (default: false)' },\n },\n required: ['api_key', 'agent_id'],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n success: { type: 'boolean' },\n agent_name: { type: 'string' },\n message: { type: 'string' },\n },\n required: ['success', 'message'],\n },\n },\n {\n name: 'agentwallex_create_agent',\n description: 'Create a new AI agent with its own wallet',\n inputSchema: {\n type: 'object' as const,\n properties: {\n agent_name: { type: 'string', description: 'Name for the new agent' },\n chain: { type: 'string', description: 'Blockchain network (default: base)' },\n agent_description: { type: 'string', description: 'Optional description' },\n },\n required: ['agent_name'],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n agent_id: { type: 'string' },\n agent_name: { type: 'string' },\n chain: { type: 'string' },\n status: { type: 'string' },\n },\n required: ['agent_id', 'agent_name', 'chain', 'status'],\n },\n },\n {\n name: 'agentwallex_list_agents',\n description: 'List all agents and their status',\n inputSchema: {\n type: 'object' as const,\n properties: {\n status: { type: 'string', description: 'Filter by status (active, inactive, suspended)' },\n chain: { type: 'string', description: 'Filter by blockchain network' },\n },\n required: [],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n agents: { type: 'array', items: { type: 'object' } },\n total: { type: 'number' },\n },\n required: ['agents', 'total'],\n },\n },\n {\n name: 'agentwallex_update_agent',\n description: \"Update an agent's name or description\",\n inputSchema: {\n type: 'object' as const,\n properties: {\n agent_id: { type: 'string', description: 'Agent ID to update' },\n agent_name: { type: 'string', description: 'New agent name' },\n agent_description: { type: 'string', description: 'New description' },\n },\n required: ['agent_id'],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n agent_id: { type: 'string' },\n agent_name: { type: 'string' },\n chain: { type: 'string' },\n status: { type: 'string' },\n },\n required: ['agent_id', 'agent_name', 'chain', 'status'],\n },\n },\n {\n name: 'agentwallex_delete_agent',\n description: 'Delete an agent',\n inputSchema: {\n type: 'object' as const,\n properties: {\n agent_id: { type: 'string', description: 'Agent ID to delete' },\n },\n required: ['agent_id'],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n success: { type: 'boolean' },\n },\n required: ['success'],\n },\n },\n {\n name: 'agentwallex_agent_status',\n description: 'Update agent status (active / suspended)',\n inputSchema: {\n type: 'object' as const,\n properties: {\n agent_id: { type: 'string', description: 'Agent ID' },\n status: { type: 'string', description: 'New status: active, inactive, or suspended' },\n },\n required: ['agent_id', 'status'],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n agent_id: { type: 'string' },\n status: { type: 'string' },\n },\n required: ['agent_id', 'status'],\n },\n },\n {\n name: 'agentwallex_create_wallet',\n description: 'Get or create a wallet deposit address for an agent',\n inputSchema: {\n type: 'object' as const,\n properties: {\n chain: { type: 'string', description: 'Blockchain network (default: base)' },\n },\n required: [],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n agent_id: { type: 'string' },\n address: { type: 'string' },\n chain: { type: 'string' },\n },\n required: ['agent_id', 'address', 'chain'],\n },\n },\n {\n name: 'agentwallex_pay',\n description: 'Send a USDC payment to a recipient address',\n inputSchema: {\n type: 'object' as const,\n properties: {\n to: { type: 'string', description: 'Recipient wallet address' },\n amount: { type: 'string', description: 'Amount to send (e.g. \"1.50\")' },\n token: { type: 'string', description: 'Token symbol (default: USDC)' },\n chain: { type: 'string', description: 'Blockchain network (default: base)' },\n memo: { type: 'string', description: 'Optional payment memo' },\n },\n required: ['to', 'amount'],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n transaction_id: { type: 'string' },\n tx_hash: { type: 'string' },\n status: { type: 'string' },\n },\n required: ['transaction_id', 'status'],\n },\n },\n {\n name: 'agentwallex_check_balance',\n description: 'Check USDC balance for an agent',\n inputSchema: {\n type: 'object' as const,\n properties: {\n chain: { type: 'string', description: 'Blockchain network (default: base)' },\n },\n required: [],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n balances: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n chain: { type: 'string' },\n available: { type: 'string' },\n locked: { type: 'string' },\n pending_income: { type: 'string' },\n total_deposited: { type: 'string' },\n total_withdrawn: { type: 'string' },\n total_paid: { type: 'string' },\n total_earned: { type: 'string' },\n },\n },\n },\n },\n required: ['balances'],\n },\n },\n {\n name: 'agentwallex_tx_status',\n description: 'Check the status of a transaction',\n inputSchema: {\n type: 'object' as const,\n properties: {\n transaction_id: { type: 'string', description: 'Transaction ID to check' },\n },\n required: ['transaction_id'],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n status: { type: 'string' },\n tx_hash: { type: 'string' },\n confirmed_at: { type: 'string' },\n },\n required: ['status'],\n },\n },\n {\n name: 'agentwallex_list_transactions',\n description: 'List transactions with filtering',\n inputSchema: {\n type: 'object' as const,\n properties: {\n agent_id: { type: 'string', description: 'Filter by agent ID' },\n status: { type: 'string', description: 'Filter by status (pending, confirmed, failed)' },\n direction: { type: 'string', description: 'Filter by direction (inbound, outbound)' },\n },\n required: [],\n },\n outputSchema: {\n type: 'object' as const,\n properties: {\n transactions: { type: 'array', items: { type: 'object' } },\n total: { type: 'number' },\n },\n required: ['transactions', 'total'],\n },\n },\n ],\n};\n\n/* ------------------------------------------------------------------ */\n/* OpenClaw Plugin API types (minimal, avoids hard dependency) */\n/* ------------------------------------------------------------------ */\n\ninterface ToolResult {\n content: Array<{ type: 'text'; text: string }>;\n}\n\ninterface ToolRegistration {\n name: string;\n description: string;\n parameters: Record<string, unknown>;\n execute: (id: string, params: Record<string, unknown>) => Promise<ToolResult>;\n}\n\ninterface OpenClawPluginApi {\n registerTool(tool: ToolRegistration): void;\n}\n\n/* ------------------------------------------------------------------ */\n/* Helpers */\n/* ------------------------------------------------------------------ */\n\nconst DASHBOARD_URL = 'https://app.agentwallex.com';\n\nfunction jsonResult(data: unknown): ToolResult {\n return { content: [{ type: 'text', text: JSON.stringify(data) }] };\n}\n\nfunction withConfig<T>(\n fn: (client: AgentWallex, agentId: string, params: Record<string, unknown>) => Promise<T>,\n): (id: string, params: Record<string, unknown>) => Promise<ToolResult> {\n return async (_id, params) => {\n try {\n const config = requireConfig();\n const client = new AgentWallex({ apiKey: config.apiKey, sandbox: config.sandbox });\n const result = await fn(client, config.agentId, params);\n return jsonResult(result);\n } catch (err) {\n const message = err instanceof Error ? err.message : 'Unknown error';\n return jsonResult({ error: true, message });\n }\n };\n}\n\n/* ------------------------------------------------------------------ */\n/* register() — called by OpenClaw at plugin load time */\n/* ------------------------------------------------------------------ */\n\nexport default function register(api: OpenClawPluginApi): void {\n /* ---- setup: no credentials needed ---- */\n api.registerTool({\n name: 'agentwallex_setup',\n description: 'Check AgentWallex configuration status and get setup instructions',\n parameters: {\n type: 'object',\n properties: {},\n },\n async execute() {\n const configured = isConfigured();\n\n if (configured) {\n return jsonResult({\n configured: true,\n dashboard_url: DASHBOARD_URL,\n instructions:\n 'AgentWallex is already configured and ready to use. ' +\n 'You can send payments, check balances, and more. ' +\n 'To reconfigure, use agentwallex_configure with new credentials.',\n });\n }\n\n return jsonResult({\n configured: false,\n dashboard_url: DASHBOARD_URL,\n instructions:\n 'To set up AgentWallex, follow these steps:\\n' +\n `1. Open the AgentWallex Dashboard: ${DASHBOARD_URL}\\n` +\n '2. Sign in with Google\\n' +\n '3. Go to Settings > API Keys and create a new API key (starts with awx_)\\n' +\n '4. Go to Agents, create or select an agent, and copy the Agent ID\\n' +\n '5. Give me the API key and Agent ID, and I\\'ll save them with agentwallex_configure',\n });\n },\n });\n\n /* ---- configure: validate + save credentials ---- */\n api.registerTool({\n name: 'agentwallex_configure',\n description: 'Save AgentWallex API credentials after validating them',\n parameters: {\n type: 'object',\n properties: {\n api_key: { type: 'string', description: 'AgentWallex API key (starts with awx_)' },\n agent_id: { type: 'string', description: 'Agent ID from the Dashboard' },\n sandbox: { type: 'boolean', description: 'Use sandbox environment (default: false)' },\n },\n required: ['api_key', 'agent_id'],\n },\n async execute(_id, params) {\n const apiKey = params.api_key as string | undefined;\n const agentId = params.agent_id as string | undefined;\n const sandbox = (params.sandbox as boolean) ?? false;\n\n if (!apiKey || typeof apiKey !== 'string') {\n return jsonResult({\n success: false,\n message: 'api_key is required. Get one from ' + DASHBOARD_URL,\n });\n }\n\n if (!agentId || typeof agentId !== 'string') {\n return jsonResult({\n success: false,\n message: 'agent_id is required. Find it in your Dashboard at ' + DASHBOARD_URL,\n });\n }\n\n // Validate api_key format\n if (!apiKey.startsWith('awx_')) {\n return jsonResult({\n success: false,\n message:\n 'Invalid API key format. AgentWallex API keys start with \"awx_\". ' +\n `Please check your key at ${DASHBOARD_URL}`,\n });\n }\n\n // Validate credentials by calling the API\n try {\n const client = new AgentWallex({ apiKey, sandbox });\n const agent = await client.agents.retrieve(agentId);\n\n saveConfig({ apiKey, agentId, sandbox: sandbox === true ? true : undefined });\n\n return jsonResult({\n success: true,\n agent_name: agent.agent_name,\n message:\n `AgentWallex configured successfully! Connected to agent \"${agent.agent_name}\". ` +\n 'You can now send payments, check balances, and manage transactions.',\n });\n } catch (err) {\n const message =\n err instanceof Error ? err.message : 'Unknown error';\n return jsonResult({\n success: false,\n message:\n `Failed to validate credentials: ${message}. ` +\n 'Please check your API key and Agent ID, then try again.',\n });\n }\n },\n });\n\n /* ---- existing tools, wrapped with withConfig ---- */\n api.registerTool({\n name: 'agentwallex_create_agent',\n description: 'Create a new AI agent with its own wallet',\n parameters: {\n type: 'object',\n properties: {\n agent_name: { type: 'string', description: 'Name for the new agent' },\n chain: { type: 'string', description: 'Blockchain network (default: base)' },\n agent_description: { type: 'string', description: 'Optional description' },\n },\n required: ['agent_name'],\n },\n execute: withConfig(async (client, _agentId, params) => {\n return createAgent(client, {\n agent_name: params.agent_name as string,\n chain: params.chain as string | undefined,\n agent_description: params.agent_description as string | undefined,\n });\n }),\n });\n\n api.registerTool({\n name: 'agentwallex_list_agents',\n description: 'List all agents and their status',\n parameters: {\n type: 'object',\n properties: {\n status: { type: 'string', description: 'Filter by status (active, inactive, suspended)' },\n chain: { type: 'string', description: 'Filter by blockchain network' },\n },\n },\n execute: withConfig(async (client, _agentId, params) => {\n return listAgents(client, {\n status: params.status as string | undefined,\n chain: params.chain as string | undefined,\n });\n }),\n });\n\n api.registerTool({\n name: 'agentwallex_update_agent',\n description: \"Update an agent's name or description\",\n parameters: {\n type: 'object',\n properties: {\n agent_id: { type: 'string', description: 'Agent ID to update' },\n agent_name: { type: 'string', description: 'New agent name' },\n agent_description: { type: 'string', description: 'New description' },\n },\n required: ['agent_id'],\n },\n execute: withConfig(async (client, _agentId, params) => {\n return updateAgent(client, {\n agent_id: params.agent_id as string,\n agent_name: params.agent_name as string | undefined,\n agent_description: params.agent_description as string | undefined,\n });\n }),\n });\n\n api.registerTool({\n name: 'agentwallex_delete_agent',\n description: 'Delete an agent',\n parameters: {\n type: 'object',\n properties: {\n agent_id: { type: 'string', description: 'Agent ID to delete' },\n },\n required: ['agent_id'],\n },\n execute: withConfig(async (client, _agentId, params) => {\n await deleteAgent(client, { agent_id: params.agent_id as string });\n return { success: true };\n }),\n });\n\n api.registerTool({\n name: 'agentwallex_agent_status',\n description: 'Update agent status (active / suspended)',\n parameters: {\n type: 'object',\n properties: {\n agent_id: { type: 'string', description: 'Agent ID' },\n status: { type: 'string', description: 'New status: active, inactive, or suspended' },\n },\n required: ['agent_id', 'status'],\n },\n execute: withConfig(async (client, _agentId, params) => {\n return agentStatus(client, {\n agent_id: params.agent_id as string,\n status: params.status as string,\n });\n }),\n });\n\n api.registerTool({\n name: 'agentwallex_create_wallet',\n description: 'Get or create a wallet deposit address for an agent',\n parameters: {\n type: 'object',\n properties: {\n chain: { type: 'string', description: 'Blockchain network (default: base)' },\n },\n },\n execute: withConfig(async (client, agentId, params) => {\n return createWallet(client, agentId, {\n chain: params.chain as string | undefined,\n });\n }),\n });\n\n api.registerTool({\n name: 'agentwallex_pay',\n description: 'Send a USDC payment to a recipient address',\n parameters: {\n type: 'object',\n properties: {\n to: { type: 'string', description: 'Recipient wallet address' },\n amount: { type: 'string', description: 'Amount to send (e.g. \"1.50\")' },\n token: { type: 'string', description: 'Token symbol (default: USDC)' },\n chain: { type: 'string', description: 'Blockchain network (default: base)' },\n memo: { type: 'string', description: 'Optional payment memo' },\n },\n required: ['to', 'amount'],\n },\n execute: withConfig(async (client, agentId, params) => {\n return pay(client, agentId, {\n to: params.to as string,\n amount: params.amount as string,\n token: params.token as string | undefined,\n chain: params.chain as string | undefined,\n memo: params.memo as string | undefined,\n });\n }),\n });\n\n api.registerTool({\n name: 'agentwallex_check_balance',\n description: 'Check USDC balance for an agent',\n parameters: {\n type: 'object',\n properties: {\n chain: { type: 'string', description: 'Blockchain network (default: base)' },\n },\n },\n execute: withConfig(async (client, agentId, params) => {\n return checkBalance(client, agentId, {\n chain: params.chain as string | undefined,\n });\n }),\n });\n\n api.registerTool({\n name: 'agentwallex_tx_status',\n description: 'Check the status of a transaction',\n parameters: {\n type: 'object',\n properties: {\n transaction_id: { type: 'string', description: 'Transaction ID to check' },\n },\n required: ['transaction_id'],\n },\n execute: withConfig(async (client, agentId, params) => {\n return txStatus(client, agentId, {\n transaction_id: params.transaction_id as string,\n });\n }),\n });\n\n api.registerTool({\n name: 'agentwallex_list_transactions',\n description: 'List transactions with filtering',\n parameters: {\n type: 'object',\n properties: {\n agent_id: { type: 'string', description: 'Filter by agent ID' },\n status: { type: 'string', description: 'Filter by status (pending, confirmed, failed)' },\n direction: { type: 'string', description: 'Filter by direction (inbound, outbound)' },\n },\n },\n execute: withConfig(async (client, _agentId, params) => {\n return listTransactions(client, {\n agent_id: params.agent_id as string | undefined,\n status: params.status as string | undefined,\n direction: params.direction as string | undefined,\n });\n }),\n });\n\n}\n"]}