/**
 * Nostr Event Kinds Database
 * Auto-generated from https://git.mleku.dev/mleku/nostr/raw/branch/main/encoders/kind/kinds.json
 * Version: 2025-12-21
 * Source: https://github.com/nostr-protocol/nips
 *
 * DO NOT EDIT - This file is auto-generated by scripts/fetch-kinds.js
 */

export const eventKinds = [
  {
    "kind": 0,
    "name": "Metadata",
    "description": "User profile information (name, about, picture, nip05, etc.)",
    "nip": "01",
    "isReplaceable": true,
    "template": {
      "kind": 0,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1,
    "name": "Short Text Note",
    "description": "Short-form text post (like a tweet)",
    "nip": "01",
    "template": {
      "kind": 1,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 2,
    "name": "Recommend Relay",
    "description": "Relay recommendation",
    "nip": "01",
    "deprecated": true,
    "template": {
      "kind": 2,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 3,
    "name": "Follows",
    "description": "Following list with optional relay hints",
    "nip": "02",
    "isReplaceable": true,
    "template": {
      "kind": 3,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 4,
    "name": "Encrypted Direct Message",
    "description": "Private message using NIP-04 encryption",
    "nip": "04",
    "deprecated": true,
    "template": {
      "kind": 4,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 5,
    "name": "Event Deletion Request",
    "description": "Request to delete events",
    "nip": "09",
    "template": {
      "kind": 5,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 6,
    "name": "Repost",
    "description": "Share/repost another text note",
    "nip": "18",
    "template": {
      "kind": 6,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 7,
    "name": "Reaction",
    "description": "Like, emoji reaction to an event",
    "nip": "25",
    "template": {
      "kind": 7,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 8,
    "name": "Badge Award",
    "description": "Award a badge to someone",
    "nip": "58",
    "template": {
      "kind": 8,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 9,
    "name": "Chat Message",
    "description": "Chat message",
    "nip": "C7",
    "template": {
      "kind": 9,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10,
    "name": "Group Chat Threaded Reply",
    "description": "Threaded reply in group chat",
    "nip": "29",
    "deprecated": true,
    "template": {
      "kind": 10,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 11,
    "name": "Thread",
    "description": "Thread event",
    "nip": "7D",
    "template": {
      "kind": 11,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 12,
    "name": "Group Thread Reply",
    "description": "Reply in group thread",
    "nip": "29",
    "deprecated": true,
    "template": {
      "kind": 12,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 13,
    "name": "Seal",
    "description": "Sealed/encrypted event wrapper",
    "nip": "59",
    "template": {
      "kind": 13,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 14,
    "name": "Direct Message",
    "description": "Private direct message using NIP-17",
    "nip": "17",
    "template": {
      "kind": 14,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 15,
    "name": "File Message",
    "description": "File message in DMs",
    "nip": "17",
    "template": {
      "kind": 15,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 16,
    "name": "Generic Repost",
    "description": "Repost any event kind",
    "nip": "18",
    "template": {
      "kind": 16,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 17,
    "name": "Reaction to Website",
    "description": "Reaction to a website URL",
    "nip": "25",
    "template": {
      "kind": 17,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 20,
    "name": "Picture",
    "description": "Picture-first feed post",
    "nip": "68",
    "template": {
      "kind": 20,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 21,
    "name": "Video Event",
    "description": "Horizontal video event",
    "nip": "71",
    "template": {
      "kind": 21,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 22,
    "name": "Short-form Video",
    "description": "Short-form portrait video (like TikTok)",
    "nip": "71",
    "template": {
      "kind": 22,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 40,
    "name": "Channel Creation",
    "description": "Create a public chat channel",
    "nip": "28",
    "template": {
      "kind": 40,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 41,
    "name": "Channel Metadata",
    "description": "Set channel name, about, picture",
    "nip": "28",
    "template": {
      "kind": 41,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 42,
    "name": "Channel Message",
    "description": "Post message in channel",
    "nip": "28",
    "template": {
      "kind": 42,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 43,
    "name": "Channel Hide Message",
    "description": "Hide a message in channel",
    "nip": "28",
    "template": {
      "kind": 43,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 44,
    "name": "Channel Mute User",
    "description": "Mute a user in channel",
    "nip": "28",
    "template": {
      "kind": 44,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 62,
    "name": "Request to Vanish",
    "description": "Request permanent deletion of all user data",
    "nip": "62",
    "template": {
      "kind": 62,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 64,
    "name": "Chess (PGN)",
    "description": "Chess game in PGN format",
    "nip": "64",
    "template": {
      "kind": 64,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 443,
    "name": "KeyPackage",
    "description": "Marmot protocol key package",
    "nip": null,
    "spec": "Marmot",
    "template": {
      "kind": 443,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 444,
    "name": "Welcome Message",
    "description": "Marmot protocol welcome message",
    "nip": null,
    "spec": "Marmot",
    "template": {
      "kind": 444,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 445,
    "name": "Group Event",
    "description": "Marmot protocol group event",
    "nip": null,
    "spec": "Marmot",
    "template": {
      "kind": 445,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 818,
    "name": "Merge Requests",
    "description": "Git merge request",
    "nip": "54",
    "template": {
      "kind": 818,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1018,
    "name": "Poll Response",
    "description": "Response to a poll",
    "nip": "88",
    "template": {
      "kind": 1018,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1021,
    "name": "Bid",
    "description": "Auction bid",
    "nip": "15",
    "template": {
      "kind": 1021,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1022,
    "name": "Bid Confirmation",
    "description": "Confirmation of auction bid",
    "nip": "15",
    "template": {
      "kind": 1022,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1040,
    "name": "OpenTimestamps",
    "description": "OpenTimestamps attestation",
    "nip": "03",
    "template": {
      "kind": 1040,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1059,
    "name": "Gift Wrap",
    "description": "Encrypted gift-wrapped event",
    "nip": "59",
    "template": {
      "kind": 1059,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1060,
    "name": "Gift Wrap (Kind 4)",
    "description": "Gift wrap variant for NIP-04 compatibility",
    "nip": "59",
    "template": {
      "kind": 1060,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1063,
    "name": "File Metadata",
    "description": "Metadata for shared files",
    "nip": "94",
    "template": {
      "kind": 1063,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1068,
    "name": "Poll",
    "description": "Create a poll",
    "nip": "88",
    "template": {
      "kind": 1068,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1111,
    "name": "Comment",
    "description": "Comment on events or external content",
    "nip": "22",
    "template": {
      "kind": 1111,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1222,
    "name": "Voice Message",
    "description": "Voice message",
    "nip": "A0",
    "template": {
      "kind": 1222,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1244,
    "name": "Voice Message Comment",
    "description": "Comment on voice message",
    "nip": "A0",
    "template": {
      "kind": 1244,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1311,
    "name": "Live Chat Message",
    "description": "Message in live stream chat",
    "nip": "53",
    "template": {
      "kind": 1311,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1337,
    "name": "Code Snippet",
    "description": "Code snippet post",
    "nip": "C0",
    "template": {
      "kind": 1337,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1517,
    "name": "Bitcoin Block",
    "description": "Bitcoin block data",
    "nip": null,
    "spec": "Nostrocket",
    "template": {
      "kind": 1517,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1617,
    "name": "Patches",
    "description": "Git patches",
    "nip": "34",
    "template": {
      "kind": 1617,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1618,
    "name": "Pull Requests",
    "description": "Git pull request",
    "nip": "34",
    "template": {
      "kind": 1618,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1619,
    "name": "Pull Request Updates",
    "description": "Updates to git pull request",
    "nip": "34",
    "template": {
      "kind": 1619,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1621,
    "name": "Issues",
    "description": "Git issues",
    "nip": "34",
    "template": {
      "kind": 1621,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1622,
    "name": "Git Replies",
    "description": "Replies on git objects",
    "nip": "34",
    "deprecated": true,
    "template": {
      "kind": 1622,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1630,
    "name": "Status",
    "description": "Git status",
    "nip": "34",
    "template": {
      "kind": 1630,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1631,
    "name": "Status",
    "description": "Git status",
    "nip": "34",
    "template": {
      "kind": 1631,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1632,
    "name": "Status",
    "description": "Git status",
    "nip": "34",
    "template": {
      "kind": 1632,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1633,
    "name": "Status",
    "description": "Git status",
    "nip": "34",
    "template": {
      "kind": 1633,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1808,
    "name": "Live Stream",
    "description": "Live streaming event",
    "nip": null,
    "spec": "zap.stream",
    "template": {
      "kind": 1808,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1971,
    "name": "Problem Tracker",
    "description": "Problem tracking",
    "nip": null,
    "spec": "Nostrocket",
    "template": {
      "kind": 1971,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1984,
    "name": "Reporting",
    "description": "Report content or users",
    "nip": "56",
    "template": {
      "kind": 1984,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1985,
    "name": "Label",
    "description": "Label/tag content with namespace",
    "nip": "32",
    "template": {
      "kind": 1985,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1986,
    "name": "Relay Reviews",
    "description": "Reviews of relays",
    "nip": null,
    "template": {
      "kind": 1986,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 1987,
    "name": "AI Embeddings",
    "description": "AI embeddings/vector lists",
    "nip": null,
    "spec": "NKBIP-02",
    "template": {
      "kind": 1987,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 2003,
    "name": "Torrent",
    "description": "Torrent magnet link",
    "nip": "35",
    "template": {
      "kind": 2003,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 2004,
    "name": "Torrent Comment",
    "description": "Comment on torrent",
    "nip": "35",
    "template": {
      "kind": 2004,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 2022,
    "name": "Coinjoin Pool",
    "description": "Coinjoin coordination",
    "nip": null,
    "spec": "joinstr",
    "template": {
      "kind": 2022,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 4550,
    "name": "Community Post Approval",
    "description": "Approve post in community",
    "nip": "72",
    "template": {
      "kind": 4550,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 5000,
    "name": "Job Request",
    "description": "Data vending machine job request (start of range)",
    "nip": "90",
    "template": {
      "kind": 5000,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 6000,
    "name": "Job Result",
    "description": "Data vending machine job result (start of range)",
    "nip": "90",
    "template": {
      "kind": 6000,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 7000,
    "name": "Job Feedback",
    "description": "Feedback on job request/result",
    "nip": "90",
    "template": {
      "kind": 7000,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 7374,
    "name": "Reserved Cashu Wallet Tokens",
    "description": "Reserved Cashu wallet tokens",
    "nip": "60",
    "template": {
      "kind": 7374,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 7375,
    "name": "Cashu Wallet Tokens",
    "description": "Cashu wallet tokens",
    "nip": "60",
    "template": {
      "kind": 7375,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 7376,
    "name": "Cashu Wallet History",
    "description": "Cashu wallet transaction history",
    "nip": "60",
    "template": {
      "kind": 7376,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 7516,
    "name": "Geocache Log",
    "description": "Geocaching log entry",
    "nip": null,
    "spec": "geocaching",
    "template": {
      "kind": 7516,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 7517,
    "name": "Geocache Proof of Find",
    "description": "Proof of geocache find",
    "nip": null,
    "spec": "geocaching",
    "template": {
      "kind": 7517,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 8000,
    "name": "Add User",
    "description": "Add user to group",
    "nip": "43",
    "template": {
      "kind": 8000,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 8001,
    "name": "Remove User",
    "description": "Remove user from group",
    "nip": "43",
    "template": {
      "kind": 8001,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 9000,
    "name": "Group Control Events",
    "description": "Group control events (start of range)",
    "nip": "29",
    "template": {
      "kind": 9000,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 9041,
    "name": "Zap Goal",
    "description": "Fundraising goal for zaps",
    "nip": "75",
    "template": {
      "kind": 9041,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 9321,
    "name": "Nutzap",
    "description": "Cashu nutzap",
    "nip": "61",
    "template": {
      "kind": 9321,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 9467,
    "name": "Tidal Login",
    "description": "Tidal streaming login",
    "nip": null,
    "spec": "Tidal-nostr",
    "template": {
      "kind": 9467,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 9734,
    "name": "Zap Request",
    "description": "Request Lightning payment",
    "nip": "57",
    "template": {
      "kind": 9734,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 9735,
    "name": "Zap",
    "description": "Lightning payment receipt",
    "nip": "57",
    "template": {
      "kind": 9735,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 9802,
    "name": "Highlights",
    "description": "Highlighted text selection",
    "nip": "84",
    "template": {
      "kind": 9802,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10000,
    "name": "Mute List",
    "description": "List of muted users/content",
    "nip": "51",
    "isReplaceable": true,
    "template": {
      "kind": 10000,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10001,
    "name": "Pin List",
    "description": "Pinned events",
    "nip": "51",
    "isReplaceable": true,
    "template": {
      "kind": 10001,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10002,
    "name": "Relay List Metadata",
    "description": "User's preferred relays for read/write",
    "nip": "65",
    "isReplaceable": true,
    "template": {
      "kind": 10002,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10003,
    "name": "Bookmark List",
    "description": "Bookmarked events",
    "nip": "51",
    "isReplaceable": true,
    "template": {
      "kind": 10003,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10004,
    "name": "Communities List",
    "description": "Communities user belongs to",
    "nip": "51",
    "isReplaceable": true,
    "template": {
      "kind": 10004,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10005,
    "name": "Public Chats List",
    "description": "Public chats user is in",
    "nip": "51",
    "isReplaceable": true,
    "template": {
      "kind": 10005,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10006,
    "name": "Blocked Relays List",
    "description": "Relays user has blocked",
    "nip": "51",
    "isReplaceable": true,
    "template": {
      "kind": 10006,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10007,
    "name": "Search Relays List",
    "description": "Preferred search relays",
    "nip": "51",
    "isReplaceable": true,
    "template": {
      "kind": 10007,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10008,
    "name": "Relay Group Configuration",
    "description": "Relay group configuration",
    "nip": null,
    "isReplaceable": true,
    "template": {
      "kind": 10008,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10009,
    "name": "User Groups",
    "description": "Groups user belongs to",
    "nip": "29",
    "isReplaceable": true,
    "template": {
      "kind": 10009,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10012,
    "name": "Favorite Relays List",
    "description": "User's favorite relays",
    "nip": "51",
    "isReplaceable": true,
    "template": {
      "kind": 10012,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10013,
    "name": "Private Event Relay List",
    "description": "Relays for private events",
    "nip": "37",
    "isReplaceable": true,
    "template": {
      "kind": 10013,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10015,
    "name": "Interests List",
    "description": "User interests/topics",
    "nip": "51",
    "isReplaceable": true,
    "template": {
      "kind": 10015,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10019,
    "name": "Nutzap Mint Recommendation",
    "description": "Recommended Cashu mints for nutzaps",
    "nip": "61",
    "isReplaceable": true,
    "template": {
      "kind": 10019,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10020,
    "name": "Media Follows",
    "description": "Followed media accounts",
    "nip": "51",
    "isReplaceable": true,
    "template": {
      "kind": 10020,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10030,
    "name": "User Emoji List",
    "description": "Custom emoji list",
    "nip": "51",
    "isReplaceable": true,
    "template": {
      "kind": 10030,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10050,
    "name": "DM Relays List",
    "description": "Relays to receive DMs on",
    "nip": "17",
    "isReplaceable": true,
    "template": {
      "kind": 10050,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10051,
    "name": "KeyPackage Relays List",
    "description": "Marmot key package relays",
    "nip": null,
    "isReplaceable": true,
    "spec": "Marmot",
    "template": {
      "kind": 10051,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10063,
    "name": "User Server List",
    "description": "Blossom server list",
    "nip": null,
    "isReplaceable": true,
    "spec": "Blossom",
    "template": {
      "kind": 10063,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10096,
    "name": "File Storage Server List",
    "description": "File storage servers",
    "nip": "96",
    "isReplaceable": true,
    "deprecated": true,
    "template": {
      "kind": 10096,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10166,
    "name": "Relay Monitor Announcement",
    "description": "Relay monitoring announcement",
    "nip": "66",
    "isReplaceable": true,
    "template": {
      "kind": 10166,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10312,
    "name": "Room Presence",
    "description": "Presence in live room",
    "nip": "53",
    "isReplaceable": true,
    "template": {
      "kind": 10312,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 10377,
    "name": "Proxy Announcement",
    "description": "Nostr proxy announcement",
    "nip": null,
    "isReplaceable": true,
    "spec": "Nostr Epoxy",
    "template": {
      "kind": 10377,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 11111,
    "name": "Transport Method Announcement",
    "description": "Transport method announcement",
    "nip": null,
    "isReplaceable": true,
    "spec": "Nostr Epoxy",
    "template": {
      "kind": 11111,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 12345,
    "name": "Relay Policy Configuration",
    "description": "Relay-internal policy configuration (admin only)",
    "nip": null,
    "isReplaceable": true,
    "spec": "orly",
    "template": {
      "kind": 12345,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 13004,
    "name": "JWT Binding",
    "description": "Link between JWT certificate and pubkey",
    "nip": null,
    "isReplaceable": true,
    "template": {
      "kind": 13004,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 13194,
    "name": "Wallet Service Info",
    "description": "NWC wallet service information",
    "nip": "47",
    "isReplaceable": true,
    "template": {
      "kind": 13194,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 13534,
    "name": "Membership Lists",
    "description": "Group membership lists",
    "nip": "43",
    "isReplaceable": true,
    "template": {
      "kind": 13534,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 14388,
    "name": "User Sound Effect Lists",
    "description": "Sound effect lists",
    "nip": null,
    "isReplaceable": true,
    "spec": "Corny Chat",
    "template": {
      "kind": 14388,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 17375,
    "name": "Cashu Wallet Event",
    "description": "Cashu wallet event",
    "nip": "60",
    "isReplaceable": true,
    "template": {
      "kind": 17375,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 21000,
    "name": "Lightning Pub RPC",
    "description": "Lightning.Pub RPC",
    "nip": null,
    "isEphemeral": true,
    "spec": "Lightning.Pub",
    "template": {
      "kind": 21000,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 22242,
    "name": "Client Authentication",
    "description": "Authenticate to relay",
    "nip": "42",
    "isEphemeral": true,
    "template": {
      "kind": 22242,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 23194,
    "name": "Wallet Request",
    "description": "NWC wallet request",
    "nip": "47",
    "isEphemeral": true,
    "template": {
      "kind": 23194,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 23195,
    "name": "Wallet Response",
    "description": "NWC wallet response",
    "nip": "47",
    "isEphemeral": true,
    "template": {
      "kind": 23195,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 23196,
    "name": "Wallet Notification (NIP-04)",
    "description": "NWC wallet notification (NIP-04 encrypted)",
    "nip": "47",
    "isEphemeral": true,
    "template": {
      "kind": 23196,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 23197,
    "name": "Wallet Notification",
    "description": "NWC wallet notification",
    "nip": "47",
    "isEphemeral": true,
    "template": {
      "kind": 23197,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 24133,
    "name": "Nostr Connect",
    "description": "Remote signer connection",
    "nip": "46",
    "isEphemeral": true,
    "template": {
      "kind": 24133,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 24242,
    "name": "Blobs Stored on Mediaservers",
    "description": "Blossom blob storage",
    "nip": null,
    "isEphemeral": true,
    "spec": "Blossom",
    "template": {
      "kind": 24242,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 27235,
    "name": "HTTP Auth",
    "description": "Authenticate HTTP requests",
    "nip": "98",
    "isEphemeral": true,
    "template": {
      "kind": 27235,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 28934,
    "name": "Join Request",
    "description": "Request to join group",
    "nip": "43",
    "isEphemeral": true,
    "template": {
      "kind": 28934,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 28935,
    "name": "Invite Request",
    "description": "Invite to group",
    "nip": "43",
    "isEphemeral": true,
    "template": {
      "kind": 28935,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 28936,
    "name": "Leave Request",
    "description": "Leave group request",
    "nip": "43",
    "isEphemeral": true,
    "template": {
      "kind": 28936,
      "content": "",
      "tags": []
    }
  },
  {
    "kind": 30000,
    "name": "Follow Sets",
    "description": "Categorized people lists",
    "nip": "51",
    "isAddressable": true,
    "template": {
      "kind": 30000,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30001,
    "name": "Generic Lists",
    "description": "Generic categorized lists",
    "nip": "51",
    "isAddressable": true,
    "deprecated": true,
    "template": {
      "kind": 30001,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30002,
    "name": "Relay Sets",
    "description": "Categorized relay lists",
    "nip": "51",
    "isAddressable": true,
    "template": {
      "kind": 30002,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30003,
    "name": "Bookmark Sets",
    "description": "Categorized bookmark lists",
    "nip": "51",
    "isAddressable": true,
    "template": {
      "kind": 30003,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30004,
    "name": "Curation Sets",
    "description": "Curated content sets",
    "nip": "51",
    "isAddressable": true,
    "template": {
      "kind": 30004,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30005,
    "name": "Video Sets",
    "description": "Video playlists",
    "nip": "51",
    "isAddressable": true,
    "template": {
      "kind": 30005,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30007,
    "name": "Kind Mute Sets",
    "description": "Muted event kinds",
    "nip": "51",
    "isAddressable": true,
    "template": {
      "kind": 30007,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30008,
    "name": "Profile Badges",
    "description": "Badges displayed on profile",
    "nip": "58",
    "isAddressable": true,
    "template": {
      "kind": 30008,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30009,
    "name": "Badge Definition",
    "description": "Define a badge/achievement",
    "nip": "58",
    "isAddressable": true,
    "template": {
      "kind": 30009,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30015,
    "name": "Interest Sets",
    "description": "Interest/topic sets",
    "nip": "51",
    "isAddressable": true,
    "template": {
      "kind": 30015,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30017,
    "name": "Stall",
    "description": "Marketplace stall definition",
    "nip": "15",
    "isAddressable": true,
    "template": {
      "kind": 30017,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30018,
    "name": "Product",
    "description": "Marketplace product listing",
    "nip": "15",
    "isAddressable": true,
    "template": {
      "kind": 30018,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30019,
    "name": "Marketplace UI/UX",
    "description": "Marketplace interface settings",
    "nip": "15",
    "isAddressable": true,
    "template": {
      "kind": 30019,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30020,
    "name": "Product Sold as Auction",
    "description": "Auction product listing",
    "nip": "15",
    "isAddressable": true,
    "template": {
      "kind": 30020,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30023,
    "name": "Long-form Content",
    "description": "Blog post, article in markdown",
    "nip": "23",
    "isAddressable": true,
    "template": {
      "kind": 30023,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30024,
    "name": "Draft Long-form Content",
    "description": "Draft article",
    "nip": "23",
    "isAddressable": true,
    "template": {
      "kind": 30024,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30030,
    "name": "Emoji Sets",
    "description": "Custom emoji sets",
    "nip": "51",
    "isAddressable": true,
    "template": {
      "kind": 30030,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30040,
    "name": "Curated Publication Index",
    "description": "Publication index",
    "nip": null,
    "isAddressable": true,
    "spec": "NKBIP-01",
    "template": {
      "kind": 30040,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30041,
    "name": "Curated Publication Content",
    "description": "Publication content",
    "nip": null,
    "isAddressable": true,
    "spec": "NKBIP-01",
    "template": {
      "kind": 30041,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30063,
    "name": "Release Artifact Sets",
    "description": "Software release artifacts",
    "nip": "51",
    "isAddressable": true,
    "template": {
      "kind": 30063,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30078,
    "name": "Application-specific Data",
    "description": "App-specific key-value storage",
    "nip": "78",
    "isAddressable": true,
    "template": {
      "kind": 30078,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30166,
    "name": "Relay Discovery",
    "description": "Relay discovery/monitoring",
    "nip": "66",
    "isAddressable": true,
    "template": {
      "kind": 30166,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30267,
    "name": "App Curation Sets",
    "description": "Curated app sets",
    "nip": "51",
    "isAddressable": true,
    "template": {
      "kind": 30267,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30311,
    "name": "Live Event",
    "description": "Live streaming event",
    "nip": "53",
    "isAddressable": true,
    "template": {
      "kind": 30311,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30312,
    "name": "Interactive Room",
    "description": "Interactive live room",
    "nip": "53",
    "isAddressable": true,
    "template": {
      "kind": 30312,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30313,
    "name": "Conference Event",
    "description": "Conference/meetup event",
    "nip": "53",
    "isAddressable": true,
    "template": {
      "kind": 30313,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30315,
    "name": "User Statuses",
    "description": "User status updates",
    "nip": "38",
    "isAddressable": true,
    "template": {
      "kind": 30315,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30388,
    "name": "Slide Set",
    "description": "Presentation slides",
    "nip": null,
    "isAddressable": true,
    "spec": "Corny Chat",
    "template": {
      "kind": 30388,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30402,
    "name": "Classified Listing",
    "description": "Classified ad listing",
    "nip": "99",
    "isAddressable": true,
    "template": {
      "kind": 30402,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30403,
    "name": "Draft Classified Listing",
    "description": "Draft classified ad",
    "nip": "99",
    "isAddressable": true,
    "template": {
      "kind": 30403,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30617,
    "name": "Repository Announcements",
    "description": "Git repository announcement",
    "nip": "34",
    "isAddressable": true,
    "template": {
      "kind": 30617,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30618,
    "name": "Repository State Announcements",
    "description": "Git repository state",
    "nip": "34",
    "isAddressable": true,
    "template": {
      "kind": 30618,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30818,
    "name": "Wiki Article",
    "description": "Wiki article",
    "nip": "54",
    "isAddressable": true,
    "template": {
      "kind": 30818,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 30819,
    "name": "Redirects",
    "description": "URL redirects",
    "nip": "54",
    "isAddressable": true,
    "template": {
      "kind": 30819,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 31234,
    "name": "Draft Event",
    "description": "Draft of any event",
    "nip": "37",
    "isAddressable": true,
    "template": {
      "kind": 31234,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 31388,
    "name": "Link Set",
    "description": "Link collection",
    "nip": null,
    "isAddressable": true,
    "spec": "Corny Chat",
    "template": {
      "kind": 31388,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 31890,
    "name": "Feed",
    "description": "Custom feed definition",
    "nip": null,
    "isAddressable": true,
    "spec": "NUD: Custom Feeds",
    "template": {
      "kind": 31890,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 31922,
    "name": "Date-Based Calendar Event",
    "description": "All-day calendar event",
    "nip": "52",
    "isAddressable": true,
    "template": {
      "kind": 31922,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 31923,
    "name": "Time-Based Calendar Event",
    "description": "Calendar event with time",
    "nip": "52",
    "isAddressable": true,
    "template": {
      "kind": 31923,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 31924,
    "name": "Calendar",
    "description": "Calendar definition",
    "nip": "52",
    "isAddressable": true,
    "template": {
      "kind": 31924,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 31925,
    "name": "Calendar Event RSVP",
    "description": "RSVP to calendar event",
    "nip": "52",
    "isAddressable": true,
    "template": {
      "kind": 31925,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 31989,
    "name": "Handler Recommendation",
    "description": "Recommended app for event kind",
    "nip": "89",
    "isAddressable": true,
    "template": {
      "kind": 31989,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 31990,
    "name": "Handler Information",
    "description": "App handler declaration",
    "nip": "89",
    "isAddressable": true,
    "template": {
      "kind": 31990,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 32123,
    "name": "WaveLake Track",
    "description": "WaveLake music track",
    "nip": null,
    "isAddressable": true,
    "spec": "WaveLake",
    "template": {
      "kind": 32123,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 32267,
    "name": "Software Application",
    "description": "Software application listing",
    "nip": null,
    "isAddressable": true,
    "template": {
      "kind": 32267,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 32388,
    "name": "User Room Favorites",
    "description": "Favorite rooms",
    "nip": null,
    "isAddressable": true,
    "spec": "Corny Chat",
    "template": {
      "kind": 32388,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 33388,
    "name": "High Scores",
    "description": "Game high scores",
    "nip": null,
    "isAddressable": true,
    "spec": "Corny Chat",
    "template": {
      "kind": 33388,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 34235,
    "name": "Video Event Horizontal",
    "description": "Horizontal video event",
    "nip": "71",
    "isAddressable": true,
    "template": {
      "kind": 34235,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 34236,
    "name": "Video Event Vertical",
    "description": "Vertical video event",
    "nip": "71",
    "isAddressable": true,
    "template": {
      "kind": 34236,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 34388,
    "name": "Sound Effects",
    "description": "Sound effect definitions",
    "nip": null,
    "isAddressable": true,
    "spec": "Corny Chat",
    "template": {
      "kind": 34388,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 34550,
    "name": "Community Definition",
    "description": "Define a community",
    "nip": "72",
    "isAddressable": true,
    "template": {
      "kind": 34550,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 37516,
    "name": "Geocache Listing",
    "description": "Geocache location listing",
    "nip": null,
    "isAddressable": true,
    "spec": "geocaching",
    "template": {
      "kind": 37516,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 38172,
    "name": "Cashu Mint Announcement",
    "description": "Cashu mint announcement",
    "nip": "87",
    "isAddressable": true,
    "template": {
      "kind": 38172,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 38173,
    "name": "Fedimint Announcement",
    "description": "Fedimint announcement",
    "nip": "87",
    "isAddressable": true,
    "template": {
      "kind": 38173,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 38383,
    "name": "Peer-to-peer Order Events",
    "description": "P2P trading orders",
    "nip": "69",
    "isAddressable": true,
    "template": {
      "kind": 38383,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 39000,
    "name": "Group Metadata Events",
    "description": "Group metadata (start of range)",
    "nip": "29",
    "isAddressable": true,
    "template": {
      "kind": 39000,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 39089,
    "name": "Starter Packs",
    "description": "Starter pack lists",
    "nip": "51",
    "isAddressable": true,
    "template": {
      "kind": 39089,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 39092,
    "name": "Media Starter Packs",
    "description": "Media starter packs",
    "nip": "51",
    "isAddressable": true,
    "template": {
      "kind": 39092,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 39701,
    "name": "Web Bookmarks",
    "description": "Web URL bookmarks",
    "nip": "B0",
    "isAddressable": true,
    "template": {
      "kind": 39701,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  },
  {
    "kind": 39998,
    "name": "ACL Event",
    "description": "Access control list event",
    "nip": null,
    "isAddressable": true,
    "template": {
      "kind": 39998,
      "content": "",
      "tags": [
        [
          "d",
          "identifier"
        ]
      ]
    }
  }
];

// Kind ranges for classification
export const kindRanges = {
  "regular": {
    "start": 1000,
    "end": 9999,
    "description": "Regular events - all versions kept, never replaced"
  },
  "replaceable": {
    "start": 10000,
    "end": 19999,
    "description": "Replaceable events - only latest per pubkey kept"
  },
  "ephemeral": {
    "start": 20000,
    "end": 29999,
    "description": "Ephemeral events - forwarded but not stored"
  },
  "parameterized": {
    "start": 30000,
    "end": 39999,
    "description": "Parameterized replaceable - replaced by d tag value"
  }
};

// Privileged kinds (require auth)
export const privilegedKinds = [4,13,14,15,1059,1060,30078];

// Directory kinds (public discovery)
export const directoryKinds = [0,3,5,1984,10002,10000,10050];

// Kind aliases
export const kindAliases = {
  "SetMetadata": 0,
  "Follows": 3,
  "Contacts": 3,
  "Deletion": 5,
  "MemoryHole": 1984,
  "BlockList": 10000,
  "Article": 30023,
  "CategorizedPeopleList": 30000,
  "CategorizedBookmarksList": 30001
};

// Helper function to get event kind by number
export function getEventKind(kindNumber) {
  return eventKinds.find(k => k.kind === kindNumber);
}

// Alias for compatibility
export function getKindInfo(kind) {
  return getEventKind(kind);
}

export function getKindName(kind) {
  const info = getEventKind(kind);
  return info ? info.name : `Kind ${kind}`;
}

// Helper function to search event kinds by name or description
export function searchEventKinds(query) {
  const lowerQuery = query.toLowerCase();
  return eventKinds.filter(k =>
    k.name.toLowerCase().includes(lowerQuery) ||
    k.description.toLowerCase().includes(lowerQuery) ||
    k.kind.toString().includes(query)
  );
}

// Helper function to get all event kinds grouped by category
export function getEventKindsByCategory() {
  return {
    regular: eventKinds.filter(k => k.kind < 10000 && !k.isReplaceable),
    replaceable: eventKinds.filter(k => k.isReplaceable),
    ephemeral: eventKinds.filter(k => k.isEphemeral),
    addressable: eventKinds.filter(k => k.isAddressable)
  };
}

// Helper function to create a template event with current timestamp
export function createTemplateEvent(kindNumber, userPubkey = null) {
  const kindInfo = getEventKind(kindNumber);
  if (!kindInfo) {
    return {
      kind: kindNumber,
      content: "",
      tags: [],
      created_at: Math.floor(Date.now() / 1000),
      pubkey: userPubkey || "<your_pubkey_here>"
    };
  }

  return {
    ...kindInfo.template,
    created_at: Math.floor(Date.now() / 1000),
    pubkey: userPubkey || "<your_pubkey_here>"
  };
}

export function isReplaceable(kind) {
  if (kind === 0 || kind === 3) return true;
  return kind >= 10000 && kind < 19999;
}

export function isEphemeral(kind) {
  return kind >= 20000 && kind < 29999;
}

export function isAddressable(kind) {
  return kind >= 30000 && kind <= 39999;
}

export function isPrivileged(kind) {
  return privilegedKinds.includes(kind);
}

// Export kind categories for filtering in UI
export const kindCategories = [
  { id: "all", name: "All Kinds", filter: () => true },
  { id: "regular", name: "Regular Events (0-9999)", filter: k => k.kind < 10000 && !k.isReplaceable },
  { id: "replaceable", name: "Replaceable (10000-19999)", filter: k => k.isReplaceable },
  { id: "ephemeral", name: "Ephemeral (20000-29999)", filter: k => k.isEphemeral },
  { id: "addressable", name: "Addressable (30000-39999)", filter: k => k.isAddressable },
  { id: "social", name: "Social", filter: k => [0, 1, 3, 6, 7].includes(k.kind) },
  { id: "messaging", name: "Messaging", filter: k => [4, 9, 10, 11, 12, 14, 15, 40, 41, 42].includes(k.kind) },
  { id: "lists", name: "Lists", filter: k => k.name.toLowerCase().includes("list") || k.name.toLowerCase().includes("set") },
  { id: "marketplace", name: "Marketplace", filter: k => [30017, 30018, 30019, 30020, 1021, 1022, 30402, 30403].includes(k.kind) },
  { id: "lightning", name: "Lightning/Zaps", filter: k => [9734, 9735, 9041, 9321, 7374, 7375, 7376].includes(k.kind) },
  { id: "media", name: "Media", filter: k => [20, 21, 22, 1063, 1222, 1244].includes(k.kind) },
  { id: "git", name: "Git/Code", filter: k => [818, 1337, 1617, 1618, 1619, 1621, 1622, 30617, 30618].includes(k.kind) },
  { id: "calendar", name: "Calendar", filter: k => [31922, 31923, 31924, 31925].includes(k.kind) },
  { id: "groups", name: "Groups", filter: k => (k.kind >= 9000 && k.kind <= 9030) || (k.kind >= 39000 && k.kind <= 39009) },
];
