@pod-protocol/cli
Version:
Command-line interface for PoD Protocol (Prompt or Die) AI Agent Communication Protocol
40 lines (39 loc) • 1.38 kB
JavaScript
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";
}
}
}