export declare const BASE = "agentbase"; /** * Get storage path prefix (uses underscores - Firebase Storage strips dots) * - Development: e0_agentbase * - Production: agentbase */ export declare const STORAGE_BASE: string; export declare const APP_CONFIG = "agentbase.app-config"; export declare const PUBLIC_PROFILES = "agentbase.public-profiles"; export declare const PRIVATE_PROFILES = "agentbase.private-profiles"; export declare const USERS = "agentbase.users"; export declare const PASSWORD_RESETS = "agentbase.password-resets"; export declare const EMAIL_VERIFICATIONS = "agentbase.email-verifications"; export declare const CREDENTIALS = "agentbase.credentials"; export declare const OAUTH_INTEGRATIONS = "agentbase.oauth-integrations"; export declare const MCP_SERVERS = "agentbase.mcp-servers"; export declare const REST_API_CONFIGURATIONS = "agentbase.rest-api-configurations"; export declare const DELETION_NOTIFICATIONS = "agentbase.deletion-notifications"; /** * Get the conversations collection path for a specific user */ export declare function getUserConversations(userId: string): string; /** * Get the messages collection path for a specific conversation */ export declare function getUserConversationMessages(userId: string, conversationId: string): string; /** * Get the credentials collection path for a specific user * Returns the collection path (credentials are stored as documents in this collection) * Pattern: {BASE}.users/{userId}/credentials * Document ID will be the provider name (e.g., 'instagram', 'eventbrite') */ export declare function getUserCredentialsCollection(userId: string): string; /** * Get the tool_calls collection path for a specific conversation */ export declare function getUserConversationToolCalls(userId: string, conversationId: string): string; /** * Get the shared conversation path for DM/group conversations. * Not user-scoped — single source of truth for the conversation document. * Pattern: {BASE}.conversations (collection) */ export declare function getSharedConversations(): string; /** * Get the shared messages collection path for DM/group conversations. * Not user-scoped — all participants read/write from the same location. */ export declare function getSharedConversationMessages(conversationId: string): string; /** * Get the shared tool_calls collection path for DM/group conversations. */ export declare function getSharedConversationToolCalls(conversationId: string): string; /** * Get OAuth integrations collection path for a user * Returns the collection path (integrations are stored as documents in this collection) * Pattern: {BASE}.users/{userId}/oauth-integrations * Document ID will be the provider name (e.g., 'instagram', 'eventbrite') */ export declare function getUserOAuthIntegrationsCollection(userId: string): string; /** * Get the profile collection path for a specific user * Profile document is stored with a fixed ID of 'default' * Pattern: {BASE}.users/{userId}/profile */ export declare function getUserProfileCollection(userId: string): string; /** * Get the profile-views collection path for a specific user. * Tracks which profiles this user has viewed and when. * Pattern: {BASE}.users/{userId}/profile-views * Document ID: viewedUserId */ export declare function getUserProfileViewsCollection(userId: string): string; export declare const RELATIONSHIPS = "agentbase.relationships"; /** * Get the relationship index collection path for a specific user * Pattern: {BASE}.users/{userId}/relationship_index * Document ID is the related user's ID */ export declare function getUserRelationshipIndexCollection(userId: string): string; export declare const FRIEND_LINKS = "agentbase.friend-links"; export declare const DM_LINKS = "agentbase.dm-links"; export declare const USERNAMES = "agentbase.usernames"; export declare const API_USAGE = "agentbase.api-usage"; export declare const SPACE_METADATA = "agentbase.space-metadata"; /** * Get the space preferences collection path for a specific user * Single document with ID 'default' storing followed/pinned source IDs * Pattern: {BASE}.users/{userId}/space-preferences */ export declare function getUserSpacePreferencesCollection(userId: string): string; /** * Get the notifications collection path for a specific user * Pattern: {BASE}.users/{userId}/notifications */ export declare function getUserNotificationsCollection(userId: string): string; /** * Get the FCM tokens collection path for a specific user * Pattern: {BASE}.users/{userId}/fcm_tokens * Document ID is the FCM token hash (to enable upsert by token) */ export declare function getUserFcmTokensCollection(userId: string): string; /** * Get the memory_conversations collection (platform-level, not user-scoped) * Document ID: {userId}_{memoryId} * Pattern: {BASE}.memory-conversations */ export declare const MEMORY_CONVERSATIONS = "agentbase.memory-conversations"; /** * Get the consent collection path for a specific user * Pattern: {BASE}.users/{userId}/consent * Document IDs: 'ai' (AI data sharing consent) */ export declare function getUserConsentCollection(userId: string): string; /** * Build the deterministic ghost conversation document ID for a (accessor, ghost_owner) pair. * Format: ghost:{ghostOwnerId} * For group ghosts (post-MVP): ghost:group:{groupId} */ export declare function getGhostConversationId(ghostOwnerId: string): string; /** * Get the name-change-log subcollection for a specific user. * Each doc records a display_name or username change event. * Pattern: {BASE}.users/{userId}/name-change-log */ export declare function getUserNameChangeLog(userId: string): string; /** * Get the webhook events collection for deduplication (platform-level). * Pattern: {BASE}.webhook-events */ export declare function getWebhookEventsCollection(): string; /** * Get the subscription collection path for a specific user. * Single document with ID 'current' tracking subscription tier + limits. * Pattern: {BASE}.users/{userId}/subscription */ export declare function getUserSubscriptionCollection(userId: string): string; /** * Get the usage collection path for a specific user. * Single document with ID 'current' tracking token + storage usage. * Pattern: {BASE}.users/{userId}/usage */ export declare function getUserUsageCollection(userId: string): string; /** * OAuth refresh queue (platform-level). * Document ID: {userId}_{provider} * Tracks which credentials need proactive refresh and when. * Pattern: {BASE}.oauth-refresh-queue */ export declare const OAUTH_REFRESH_QUEUE = "agentbase.oauth-refresh-queue"; /** * Stripe customer ID → Firebase UID inverted index (platform-level). * Document ID is the Stripe customer ID, value is { firebase_uid: string }. * Pattern: {BASE}.stripe-customers */ export declare const STRIPE_CUSTOMERS = "agentbase.stripe-customers"; /** * Apple original transaction ID → Firebase UID inverted index (platform-level). * Document ID is the Apple original transaction ID, value is { firebase_uid: string }. * Pattern: {BASE}.apple-transactions */ export declare const APPLE_TRANSACTIONS = "agentbase.apple-transactions"; /** * Get the notification preferences collection path for a specific user. * Single document with ID 'main' storing per-type opt-in/out booleans. * Pattern: {BASE}.users/{userId}/notification-preferences */ export declare function getUserNotificationPreferencesCollection(userId: string): string; /** * Get the UI preferences collection path for a specific user. * Single document with ID 'main' storing UI-specific preference toggles. * Pattern: {BASE}.users/{userId}/ui-preferences */ export declare function getUserUIPreferencesCollection(userId: string): string; /** * Get the widget boards collection path for a specific user. * Pattern: {BASE}.users/{userId}/widget-boards */ export declare function getUserWidgetBoardsCollection(userId: string): string; /** * Get the widgets collection path for a specific board. * Pattern: {BASE}.users/{userId}/widget-boards/{boardId}/widgets */ export declare function getWidgetBoardWidgetsCollection(userId: string, boardId: string): string; /** * Get the media-crops collection path for a specific user. * Stores per-image crop metadata keyed by mediaId. * Pattern: {BASE}.users/{userId}/media-crops */ export declare function getUserMediaCropsCollection(userId: string): string; /** * Scheduled messages queue (platform-level). * Document ID: sm_{uuid} * Top-level collection so cron can query across all users by scheduled_at. * Pattern: {BASE}.scheduled-messages */ export declare const SCHEDULED_MESSAGES = "agentbase.scheduled-messages"; /** * Get the search-feedback collection path for a specific user. * Stores relevance feedback on carousel memory results. * Pattern: {BASE}.users/{userId}/search-feedback */ export declare function getUserSearchFeedbackCollection(userId: string): string; /** * API tokens collection (platform-level, not user-scoped). * Document ID = SHA-256 hex hash of the raw token. * Enables O(1) lookup during token exchange without knowing the user. * Pattern: {BASE}.api-tokens */ export declare const API_TOKENS = "agentbase.api-tokens"; /** * OAuth clients collection (platform-level). * Document ID = client_id (e.g., "remember-mcp-oauth-service"). * Pattern: {BASE}.oauth-clients */ export declare const OAUTH_CLIENTS = "agentbase.oauth-clients"; /** * OAuth authorization codes collection (platform-level). * Document ID = the authorization code string. * Pattern: {BASE}.oauth-authorization-codes */ export declare const OAUTH_AUTHORIZATION_CODES = "agentbase.oauth-authorization-codes"; /** * OAuth refresh tokens collection (platform-level). * Document ID = SHA-256 hash of the refresh token. * Pattern: {BASE}.oauth-refresh-tokens */ export declare const OAUTH_REFRESH_TOKENS = "agentbase.oauth-refresh-tokens"; //# sourceMappingURL=collections.d.ts.map