From ac515b5d40ca15e41861807f61f408fdb278f1b4 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 1 May 2026 17:48:39 +0100 Subject: [PATCH] refactor: trim nostr helper exports --- extensions/nostr/src/channel.ts | 2 -- extensions/nostr/src/metrics.ts | 12 ++++++------ extensions/nostr/src/nostr-bus.ts | 2 +- extensions/nostr/src/nostr-profile-http.ts | 3 --- extensions/nostr/src/nostr-profile-import.ts | 4 ++-- extensions/nostr/src/nostr-profile.ts | 2 +- extensions/nostr/src/nostr-state-store.ts | 2 +- extensions/nostr/src/seen-tracker.ts | 2 +- extensions/nostr/src/types.ts | 2 +- 9 files changed, 13 insertions(+), 18 deletions(-) diff --git a/extensions/nostr/src/channel.ts b/extensions/nostr/src/channel.ts index e7ec21550e9..da3e56eda39 100644 --- a/extensions/nostr/src/channel.ts +++ b/extensions/nostr/src/channel.ts @@ -204,5 +204,3 @@ export async function getNostrProfileState(accountId: string = DEFAULT_ACCOUNT_I } return bus.getProfileState(); } - -export { getActiveNostrBuses } from "./gateway.js"; diff --git a/extensions/nostr/src/metrics.ts b/extensions/nostr/src/metrics.ts index 7b648400a8b..ca494a0a77a 100644 --- a/extensions/nostr/src/metrics.ts +++ b/extensions/nostr/src/metrics.ts @@ -7,7 +7,7 @@ // Metric Types // ============================================================================ -export type EventMetricName = +type EventMetricName = | "event.received" | "event.processed" | "event.duplicate" @@ -22,7 +22,7 @@ export type EventMetricName = | "event.rejected.decrypt_failed" | "event.rejected.self_message"; -export type RelayMetricName = +type RelayMetricName = | "relay.connect" | "relay.disconnect" | "relay.reconnect" @@ -37,11 +37,11 @@ export type RelayMetricName = | "relay.circuit_breaker.close" | "relay.circuit_breaker.half_open"; -export type RateLimitMetricName = "rate_limit.per_sender" | "rate_limit.global"; +type RateLimitMetricName = "rate_limit.per_sender" | "rate_limit.global"; -export type DecryptMetricName = "decrypt.success" | "decrypt.failure"; +type DecryptMetricName = "decrypt.success" | "decrypt.failure"; -export type MemoryMetricName = "memory.seen_tracker_size" | "memory.rate_limiter_entries"; +type MemoryMetricName = "memory.seen_tracker_size" | "memory.rate_limiter_entries"; export type MetricName = | EventMetricName @@ -83,7 +83,7 @@ export interface MetricEvent { labels?: Record; } -export type OnMetricCallback = (event: MetricEvent) => void; +type OnMetricCallback = (event: MetricEvent) => void; // ============================================================================ // Metrics Snapshot (for getMetrics()) diff --git a/extensions/nostr/src/nostr-bus.ts b/extensions/nostr/src/nostr-bus.ts index b1d3ad622ca..4ff45c66917 100644 --- a/extensions/nostr/src/nostr-bus.ts +++ b/extensions/nostr/src/nostr-bus.ts @@ -44,7 +44,7 @@ const HEALTH_WINDOW_MS = 60000; // 1 minute window for health stats // Types // ============================================================================ -export interface NostrBusOptions { +interface NostrBusOptions { /** Private key in hex or nsec format */ privateKey: string; /** WebSocket relay URLs (defaults to damus + nos.lol) */ diff --git a/extensions/nostr/src/nostr-profile-http.ts b/extensions/nostr/src/nostr-profile-http.ts index 5a9b4fd0100..0e25aa3336d 100644 --- a/extensions/nostr/src/nostr-profile-http.ts +++ b/extensions/nostr/src/nostr-profile-http.ts @@ -115,9 +115,6 @@ async function withPublishLock(accountId: string, fn: () => Promise): Prom } } -// Export for use in import validation -export { validateUrlSafety }; - // ============================================================================ // Validation Schemas // ============================================================================ diff --git a/extensions/nostr/src/nostr-profile-import.ts b/extensions/nostr/src/nostr-profile-import.ts index db1da623971..4600f61d38c 100644 --- a/extensions/nostr/src/nostr-profile-import.ts +++ b/extensions/nostr/src/nostr-profile-import.ts @@ -14,7 +14,7 @@ import { contentToProfile, type ProfileContent } from "./nostr-profile.js"; // Types // ============================================================================ -export interface ProfileImportResult { +interface ProfileImportResult { /** Whether the import was successful */ ok: boolean; /** The imported profile (if found and valid) */ @@ -33,7 +33,7 @@ export interface ProfileImportResult { sourceRelay?: string; } -export interface ProfileImportOptions { +interface ProfileImportOptions { /** The public key to fetch profile for */ pubkey: string; /** Relay URLs to query */ diff --git a/extensions/nostr/src/nostr-profile.ts b/extensions/nostr/src/nostr-profile.ts index 0caf8855b9d..e0f897db419 100644 --- a/extensions/nostr/src/nostr-profile.ts +++ b/extensions/nostr/src/nostr-profile.ts @@ -88,7 +88,7 @@ const RELAY_PUBLISH_TIMEOUT_MS = 5000; * @param event - Signed profile event (kind:0) * @returns Publish results with successes and failures */ -export async function publishProfileEvent( +async function publishProfileEvent( pool: SimplePool, relays: string[], event: Event, diff --git a/extensions/nostr/src/nostr-state-store.ts b/extensions/nostr/src/nostr-state-store.ts index f0b6cdd5162..a91f22497ff 100644 --- a/extensions/nostr/src/nostr-state-store.ts +++ b/extensions/nostr/src/nostr-state-store.ts @@ -28,7 +28,7 @@ type NostrBusState = { }; /** Profile publish state (separate from bus state) */ -export type NostrProfileState = { +type NostrProfileState = { version: 1; /** Unix timestamp (seconds) of last successful profile publish */ lastPublishedAt: number | null; diff --git a/extensions/nostr/src/seen-tracker.ts b/extensions/nostr/src/seen-tracker.ts index fc5dc050200..1432cd37250 100644 --- a/extensions/nostr/src/seen-tracker.ts +++ b/extensions/nostr/src/seen-tracker.ts @@ -3,7 +3,7 @@ * Prevents unbounded memory growth under high load or abuse. */ -export interface SeenTrackerOptions { +interface SeenTrackerOptions { /** Maximum number of entries to track (default: 100,000) */ maxEntries?: number; /** TTL in milliseconds (default: 1 hour) */ diff --git a/extensions/nostr/src/types.ts b/extensions/nostr/src/types.ts index cff387d7b7c..24e5ea61b90 100644 --- a/extensions/nostr/src/types.ts +++ b/extensions/nostr/src/types.ts @@ -14,7 +14,7 @@ import type { NostrProfile } from "./config-schema.js"; import { DEFAULT_RELAYS } from "./default-relays.js"; import { getPublicKeyFromPrivate } from "./nostr-key-utils.js"; -export interface NostrAccountConfig { +interface NostrAccountConfig { enabled?: boolean; name?: string; defaultAccount?: string;