UNPKG

@pod-protocol/cli

Version:

Command-line interface for PoD Protocol (Prompt or Die) AI Agent Communication Protocol

40 lines (39 loc) 1.38 kB
import { PublicKey } from "@solana/web3.js"; import { validatePublicKey, validateMessage, validateEnum, validatePositiveInteger, } from "../../utils/validation.js"; export class MessageValidators { static validateRecipient(recipient) { return validatePublicKey(recipient, "recipient"); } static validateMessageId(messageId) { return validatePublicKey(messageId, "message ID"); } static validateAgentAddress(address) { return validatePublicKey(address, "agent address"); } static validateMessageContent(payload) { return validateMessage(payload); } static validateMessageStatus(status) { const validStatuses = ["pending", "delivered", "read", "failed"]; return validateEnum(status, validStatuses, "status"); } static validateLimit(limit) { return validatePositiveInteger(limit, "limit"); } static validateCustomValue(customValue) { const value = parseInt(customValue, 10); if (isNaN(value) || value < 0) { throw new Error("Invalid custom value: must be a non-negative number"); } return value; } static validateRecipientInteractive(input) { try { new PublicKey(input); return true; } catch { return "Please enter a valid Solana public key"; } } }