Improve transport safety and log redaction

This commit is contained in:
nav
2026-04-08 23:03:54 +00:00
parent 075fcb7974
commit 4f20ec3fd7
4 changed files with 207 additions and 8 deletions

View File

@@ -5,6 +5,7 @@
*/
import type { PairingRequest } from "../services/pairing.js";
import { redactPairingCode } from "../core/logging.js";
export interface DiscordNotificationService {
/**
@@ -36,11 +37,16 @@ export function createDiscordNotificationService(
): DiscordNotificationService {
return {
async sendPairingNotification(request: PairingRequest): Promise<boolean> {
const message = formatPairingMessage(request);
const redactedCode = redactPairingCode(request.pairingCode);
// Log to console (visible in OpenClaw logs)
console.log("[Yonexus.Server] Pairing notification (Discord DM stub):");
console.log(message);
console.log("[Yonexus.Server] Pairing notification (Discord DM stub):", {
identifier: request.identifier,
pairingCode: redactedCode,
expiresAt: request.expiresAt,
ttlSeconds: request.ttlSeconds,
adminUserId: config.adminUserId
});
// TODO: Replace with actual Discord bot integration
// Example with discord.js:
@@ -59,7 +65,7 @@ export function createDiscordNotificationService(
/**
* Format a pairing request as a Discord DM message.
*/
function formatPairingMessage(request: PairingRequest): string {
export function formatPairingMessage(request: PairingRequest): string {
const expiresDate = new Date(request.expiresAt * 1000);
const expiresStr = expiresDate.toISOString();
@@ -89,7 +95,7 @@ export function createMockNotificationService(
async sendPairingNotification(request: PairingRequest): Promise<boolean> {
console.log("[Yonexus.Server] Mock pairing notification:");
console.log(` Identifier: ${request.identifier}`);
console.log(` Pairing Code: ${request.pairingCode}`);
console.log(` Pairing Code: ${redactPairingCode(request.pairingCode)}`);
console.log(` Success: ${shouldSucceed}`);
return shouldSucceed;
}