{
  "id": "messaging",
  "name": "Messaging",
  "category": "data",
  "description": "Public real-time chat with threads and reactions",
  "details": "A focused public-channel chat page with threads, reactions, presence, read receipts, and optional confirmed channel membership hooks. Viewers can read public chat without joining; private groups and DMs are deliberately excluded because client-side membership checks do not provide server-side record isolation.",
  "files": [
    {
      "src": "src/messaging-schema.ts",
      "dest": "src/schemas/messaging-schema.ts"
    },
    {
      "src": "src/ChatPage.tsx",
      "dest": "src/pages/chat.tsx"
    },
    {
      "src": "src/hooks/useChatChannel.ts",
      "dest": "src/components/messaging/hooks/useChatChannel.ts"
    },
    {
      "src": "src/hooks/useLongPress.ts",
      "dest": "src/components/messaging/hooks/useLongPress.ts"
    },
    {
      "src": "src/components/chat/ChatHeader.tsx",
      "dest": "src/components/messaging/chat/ChatHeader.tsx"
    },
    {
      "src": "src/components/chat/MessageList.tsx",
      "dest": "src/components/messaging/chat/MessageList.tsx"
    },
    {
      "src": "src/components/chat/MessageInput.tsx",
      "dest": "src/components/messaging/chat/MessageInput.tsx"
    },
    {
      "src": "src/components/chat/MessageItem.tsx",
      "dest": "src/components/messaging/chat/MessageItem.tsx"
    },
    {
      "src": "src/components/chat/ThreadPanel.tsx",
      "dest": "src/components/messaging/chat/ThreadPanel.tsx"
    },
    {
      "src": "src/components/chat/UserProfilePopover.tsx",
      "dest": "src/components/messaging/chat/UserProfilePopover.tsx"
    },
    {
      "src": "src/components/chat/MessageActionSheet.tsx",
      "dest": "src/components/messaging/chat/MessageActionSheet.tsx"
    }
  ],
  "schema": {
    "exportName": "messagingSchemas",
    "importPath": "./schemas/messaging-schema",
    "spreadOperator": true
  },
  "route": {
    "path": "/chat",
    "protected": true
  },
  "instructions": [
    "The included schemas and UI are for public channels. Add server-enforced tenant or participant scoping before implementing private groups or direct messages."
  ],
  "patterns": []
}
