@pod-protocol/cli
Version:
Command-line interface for PoD Protocol (Prompt or Die) AI Agent Communication Protocol
42 lines (41 loc) • 1.93 kB
JavaScript
import { table } from "table";
import { getTableConfig, formatValue } from "../../utils/shared.js";
export class MessageDisplayer {
displayMessageInfo(messageData) {
const data = [
["Message ID", formatValue(messageData.pubkey.toBase58(), "address")],
["Sender", formatValue(messageData.sender.toBase58(), "address")],
["Recipient", formatValue(messageData.recipient.toBase58(), "address")],
["Type", formatValue(messageData.messageType, "text")],
["Status", formatValue(messageData.status, "text")],
[
"Payload",
formatValue(messageData.payload.slice(0, 100) +
(messageData.payload.length > 100 ? "..." : ""), "text"),
],
[
"Timestamp",
formatValue(new Date(messageData.timestamp * 1000).toLocaleString(), "text"),
],
[
"Expires At",
formatValue(messageData.expiresAt
? new Date(messageData.expiresAt * 1000).toLocaleString()
: "Never", "text"),
],
];
console.log("\n" + table(data, getTableConfig("Message Information")));
}
displayMessagesList(messages) {
const data = messages.map((msg) => [
formatValue(msg.pubkey.toBase58().slice(0, 8) + "...", "address"),
formatValue(msg.sender.toBase58().slice(0, 8) + "...", "address"),
formatValue(msg.recipient.toBase58().slice(0, 8) + "...", "address"),
formatValue(msg.messageType, "text"),
formatValue(msg.status, "text"),
formatValue(new Date(msg.timestamp * 1000).toLocaleDateString(), "text"),
]);
const header = ["ID", "Sender", "Recipient", "Type", "Status", "Date"];
console.log("\n" + table([header, ...data], getTableConfig("Messages")));
}
}