Add new XMTP channel extension for decentralized messaging: - Direct messages (DMs) and group conversations - Text messages, reactions, and attachments - ENS address resolution for human-readable names - Quantum-resistant encryption (MLS protocol) - Multi-account support with per-account configuration - Database isolation and network selection (dev/production) - Comprehensive onboarding with wallet generation Includes wallet generation scripts, example configurations, troubleshooting guide, and test coverage for schemas, ENS resolution, multi-account handling, and onboarding flows. Note: Tests use Node's test runner format (node:test) and should be converted to Vitest format in follow-up work.
56 lines
1.8 KiB
Plaintext
56 lines
1.8 KiB
Plaintext
// XMTP Dev Network Configuration
|
|
// Use for: testing, development, experimentation
|
|
// Cost: FREE (no gas fees)
|
|
// Network: XMTP dev network (ephemeral, not production-grade)
|
|
|
|
{
|
|
channels: {
|
|
xmtp: {
|
|
// Enable the XMTP channel
|
|
enabled: true,
|
|
|
|
// Your bot's wallet private key (NEVER commit this to git!)
|
|
// Generate with: clawdbot onboard xmtp
|
|
// OR: npx tsx scripts/generate-wallet.ts
|
|
walletKey: "0x0000000000000000000000000000000000000000000000000000000000000000", // ⚠️ REPLACE THIS
|
|
|
|
// Network: "dev" for testing (free, ephemeral)
|
|
env: "dev",
|
|
|
|
// DM policy: who can message your bot
|
|
// - "pairing": Requires approval via `clawdbot pairing approve xmtp <code>`
|
|
// - "open": Anyone can message (commands restricted to authorized users)
|
|
// - "allowlist": Only addresses in `allowFrom` can message
|
|
dmPolicy: "pairing",
|
|
|
|
// Database path (where XMTP stores conversation state)
|
|
// - Relative paths are relative to working directory
|
|
// - Use different paths for different networks!
|
|
dbPath: ".xmtp/dev/db",
|
|
|
|
// Optional: Allowlist for "allowlist" or "pairing" policies
|
|
// Only these addresses can message your bot (or bypass pairing)
|
|
// allowFrom: [
|
|
// "0x1234567890123456789012345678901234567890",
|
|
// "vitalik.eth", // ENS names supported
|
|
// "0xabcd...5678"
|
|
// ],
|
|
|
|
// Optional: Text message chunk limit (default: 4000)
|
|
// XMTP protocol limit is 1MB, but chunk for readability
|
|
// textChunkLimit: 4000
|
|
}
|
|
},
|
|
|
|
// Optional: Agent settings
|
|
agent: {
|
|
// Default agent ID for XMTP conversations
|
|
// id: "main"
|
|
}
|
|
|
|
// Optional: Model settings
|
|
// model: {
|
|
// default: "anthropic/claude-sonnet-4-5"
|
|
// }
|
|
}
|