summaryrefslogtreecommitdiffstats
path: root/quora/graphql
diff options
context:
space:
mode:
authornoptuno <repollo.marrero@gmail.com>2023-04-28 12:33:51 +0200
committernoptuno <repollo.marrero@gmail.com>2023-04-28 12:33:51 +0200
commit396d7e11b2623cf05c3b0fd4ff9b6cce667835fd (patch)
tree4d7f4531e082deba4fb6bac7e5b221d887e066d9 /quora/graphql
parentRemove ignored files from repository (diff)
parentMerge pull request #241 from ethanx40/main (diff)
downloadgpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.tar
gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.tar.gz
gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.tar.bz2
gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.tar.lz
gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.tar.xz
gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.tar.zst
gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.zip
Diffstat (limited to 'quora/graphql')
-rw-r--r--quora/graphql/AddHumanMessageMutation.graphql52
-rw-r--r--quora/graphql/AddMessageBreakMutation.graphql17
-rw-r--r--quora/graphql/AutoSubscriptionMutation.graphql7
-rw-r--r--quora/graphql/BioFragment.graphql8
-rw-r--r--quora/graphql/ChatAddedSubscription.graphql5
-rw-r--r--quora/graphql/ChatFragment.graphql6
-rw-r--r--quora/graphql/ChatListPaginationQuery.graphql378
-rw-r--r--quora/graphql/ChatPaginationQuery.graphql26
-rw-r--r--quora/graphql/ChatViewQuery.graphql8
-rw-r--r--quora/graphql/DeleteHumanMessagesMutation.graphql7
-rw-r--r--quora/graphql/DeleteMessageMutation.graphql7
-rw-r--r--quora/graphql/HandleFragment.graphql8
-rw-r--r--quora/graphql/LoginWithVerificationCodeMutation.graphql13
-rw-r--r--quora/graphql/MessageAddedSubscription.graphql100
-rw-r--r--quora/graphql/MessageDeletedSubscription.graphql6
-rw-r--r--quora/graphql/MessageFragment.graphql13
-rw-r--r--quora/graphql/MessageRemoveVoteMutation.graphql7
-rw-r--r--quora/graphql/MessageSetVoteMutation.graphql7
-rw-r--r--quora/graphql/PoeBotCreateMutation.graphql73
-rw-r--r--quora/graphql/PoeBotEditMutation.graphql24
-rw-r--r--quora/graphql/SendMessageMutation.graphql40
-rw-r--r--quora/graphql/SendVerificationCodeForLoginMutation.graphql12
-rw-r--r--quora/graphql/ShareMessagesMutation.graphql9
-rw-r--r--quora/graphql/SignupWithVerificationCodeMutation.graphql13
-rw-r--r--quora/graphql/StaleChatUpdateMutation.graphql7
-rw-r--r--quora/graphql/SubscriptionsMutation.graphql9
-rw-r--r--quora/graphql/SummarizePlainPostQuery.graphql3
-rw-r--r--quora/graphql/SummarizeQuotePostQuery.graphql3
-rw-r--r--quora/graphql/SummarizeSharePostQuery.graphql3
-rw-r--r--quora/graphql/UserSnippetFragment.graphql14
-rw-r--r--quora/graphql/ViewerInfoQuery.graphql21
-rw-r--r--quora/graphql/ViewerStateFragment.graphql30
-rw-r--r--quora/graphql/ViewerStateUpdatedSubscription.graphql43
-rw-r--r--quora/graphql/__init__.py0
34 files changed, 979 insertions, 0 deletions
diff --git a/quora/graphql/AddHumanMessageMutation.graphql b/quora/graphql/AddHumanMessageMutation.graphql
new file mode 100644
index 00000000..01e6bc8c
--- /dev/null
+++ b/quora/graphql/AddHumanMessageMutation.graphql
@@ -0,0 +1,52 @@
+mutation AddHumanMessageMutation(
+ $chatId: BigInt!
+ $bot: String!
+ $query: String!
+ $source: MessageSource
+ $withChatBreak: Boolean! = false
+) {
+ messageCreateWithStatus(
+ chatId: $chatId
+ bot: $bot
+ query: $query
+ source: $source
+ withChatBreak: $withChatBreak
+ ) {
+ message {
+ id
+ __typename
+ messageId
+ text
+ linkifiedText
+ authorNickname
+ state
+ vote
+ voteReason
+ creationTime
+ suggestedReplies
+ chat {
+ id
+ shouldShowDisclaimer
+ }
+ }
+ messageLimit{
+ canSend
+ numMessagesRemaining
+ resetTime
+ shouldShowReminder
+ }
+ chatBreak {
+ id
+ __typename
+ messageId
+ text
+ linkifiedText
+ authorNickname
+ state
+ vote
+ voteReason
+ creationTime
+ suggestedReplies
+ }
+ }
+}
diff --git a/quora/graphql/AddMessageBreakMutation.graphql b/quora/graphql/AddMessageBreakMutation.graphql
new file mode 100644
index 00000000..b28d9903
--- /dev/null
+++ b/quora/graphql/AddMessageBreakMutation.graphql
@@ -0,0 +1,17 @@
+mutation AddMessageBreakMutation($chatId: BigInt!) {
+ messageBreakCreate(chatId: $chatId) {
+ message {
+ id
+ __typename
+ messageId
+ text
+ linkifiedText
+ authorNickname
+ state
+ vote
+ voteReason
+ creationTime
+ suggestedReplies
+ }
+ }
+}
diff --git a/quora/graphql/AutoSubscriptionMutation.graphql b/quora/graphql/AutoSubscriptionMutation.graphql
new file mode 100644
index 00000000..6cf7bf74
--- /dev/null
+++ b/quora/graphql/AutoSubscriptionMutation.graphql
@@ -0,0 +1,7 @@
+mutation AutoSubscriptionMutation($subscriptions: [AutoSubscriptionQuery!]!) {
+ autoSubscribe(subscriptions: $subscriptions) {
+ viewer {
+ id
+ }
+ }
+}
diff --git a/quora/graphql/BioFragment.graphql b/quora/graphql/BioFragment.graphql
new file mode 100644
index 00000000..c4218030
--- /dev/null
+++ b/quora/graphql/BioFragment.graphql
@@ -0,0 +1,8 @@
+fragment BioFragment on Viewer {
+ id
+ poeUser {
+ id
+ uid
+ bio
+ }
+}
diff --git a/quora/graphql/ChatAddedSubscription.graphql b/quora/graphql/ChatAddedSubscription.graphql
new file mode 100644
index 00000000..664b107f
--- /dev/null
+++ b/quora/graphql/ChatAddedSubscription.graphql
@@ -0,0 +1,5 @@
+subscription ChatAddedSubscription {
+ chatAdded {
+ ...ChatFragment
+ }
+}
diff --git a/quora/graphql/ChatFragment.graphql b/quora/graphql/ChatFragment.graphql
new file mode 100644
index 00000000..605645ff
--- /dev/null
+++ b/quora/graphql/ChatFragment.graphql
@@ -0,0 +1,6 @@
+fragment ChatFragment on Chat {
+ id
+ chatId
+ defaultBotNickname
+ shouldShowDisclaimer
+}
diff --git a/quora/graphql/ChatListPaginationQuery.graphql b/quora/graphql/ChatListPaginationQuery.graphql
new file mode 100644
index 00000000..6d9ae884
--- /dev/null
+++ b/quora/graphql/ChatListPaginationQuery.graphql
@@ -0,0 +1,378 @@
+query ChatListPaginationQuery(
+ $count: Int = 5
+ $cursor: String
+ $id: ID!
+) {
+ node(id: $id) {
+ __typename
+ ...ChatPageMain_chat_1G22uz
+ id
+ }
+}
+
+fragment BotImage_bot on Bot {
+ displayName
+ ...botHelpers_useDeletion_bot
+ ...BotImage_useProfileImage_bot
+}
+
+fragment BotImage_useProfileImage_bot on Bot {
+ image {
+ __typename
+ ... on LocalBotImage {
+ localName
+ }
+ ... on UrlBotImage {
+ url
+ }
+ }
+ ...botHelpers_useDeletion_bot
+}
+
+fragment ChatMessageDownvotedButton_message on Message {
+ ...MessageFeedbackReasonModal_message
+ ...MessageFeedbackOtherModal_message
+}
+
+fragment ChatMessageDropdownMenu_message on Message {
+ id
+ messageId
+ vote
+ text
+ author
+ ...chatHelpers_isBotMessage
+}
+
+fragment ChatMessageFeedbackButtons_message on Message {
+ id
+ messageId
+ vote
+ voteReason
+ ...ChatMessageDownvotedButton_message
+}
+
+fragment ChatMessageInputView_chat on Chat {
+ id
+ chatId
+ defaultBotObject {
+ nickname
+ messageLimit {
+ dailyBalance
+ shouldShowRemainingMessageCount
+ }
+ hasClearContext
+ isDown
+ ...botHelpers_useDeletion_bot
+ id
+ }
+ shouldShowDisclaimer
+ ...chatHelpers_useSendMessage_chat
+ ...chatHelpers_useSendChatBreak_chat
+}
+
+fragment ChatMessageInputView_edges on MessageEdge {
+ node {
+ ...chatHelpers_isChatBreak
+ ...chatHelpers_isHumanMessage
+ state
+ text
+ id
+ }
+}
+
+fragment ChatMessageOverflowButton_message on Message {
+ text
+ ...ChatMessageDropdownMenu_message
+ ...chatHelpers_isBotMessage
+}
+
+fragment ChatMessageSuggestedReplies_SuggestedReplyButton_chat on Chat {
+ ...chatHelpers_useSendMessage_chat
+}
+
+fragment ChatMessageSuggestedReplies_SuggestedReplyButton_message on Message {
+ messageId
+}
+
+fragment ChatMessageSuggestedReplies_chat on Chat {
+ ...ChatWelcomeView_chat
+ ...ChatMessageSuggestedReplies_SuggestedReplyButton_chat
+ defaultBotObject {
+ hasWelcomeTopics
+ id
+ }
+}
+
+fragment ChatMessageSuggestedReplies_message on Message {
+ suggestedReplies
+ ...ChatMessageSuggestedReplies_SuggestedReplyButton_message
+}
+
+fragment ChatMessage_chat on Chat {
+ defaultBotObject {
+ hasWelcomeTopics
+ hasSuggestedReplies
+ disclaimerText
+ messageLimit {
+ ...ChatPageRateLimitedBanner_messageLimit
+ }
+ ...ChatPageDisclaimer_bot
+ id
+ }
+ ...ChatMessageSuggestedReplies_chat
+ ...ChatWelcomeView_chat
+}
+
+fragment ChatMessage_message on Message {
+ id
+ messageId
+ text
+ author
+ linkifiedText
+ state
+ contentType
+ ...ChatMessageSuggestedReplies_message
+ ...ChatMessageFeedbackButtons_message
+ ...ChatMessageOverflowButton_message
+ ...chatHelpers_isHumanMessage
+ ...chatHelpers_isBotMessage
+ ...chatHelpers_isChatBreak
+ ...chatHelpers_useTimeoutLevel
+ ...MarkdownLinkInner_message
+ ...IdAnnotation_node
+}
+
+fragment ChatMessagesView_chat on Chat {
+ ...ChatMessage_chat
+ ...ChatWelcomeView_chat
+ ...IdAnnotation_node
+ defaultBotObject {
+ hasWelcomeTopics
+ messageLimit {
+ ...ChatPageRateLimitedBanner_messageLimit
+ }
+ id
+ }
+}
+
+fragment ChatMessagesView_edges on MessageEdge {
+ node {
+ id
+ messageId
+ creationTime
+ ...ChatMessage_message
+ ...chatHelpers_isBotMessage
+ ...chatHelpers_isHumanMessage
+ ...chatHelpers_isChatBreak
+ }
+}
+
+fragment ChatPageDeleteFooter_chat on Chat {
+ ...MessageDeleteConfirmationModal_chat
+}
+
+fragment ChatPageDisclaimer_bot on Bot {
+ disclaimerText
+}
+
+fragment ChatPageMainFooter_chat on Chat {
+ defaultBotObject {
+ ...ChatPageMainFooter_useAccessMessage_bot
+ id
+ }
+ ...ChatMessageInputView_chat
+ ...ChatPageShareFooter_chat
+ ...ChatPageDeleteFooter_chat
+}
+
+fragment ChatPageMainFooter_edges on MessageEdge {
+ ...ChatMessageInputView_edges
+}
+
+fragment ChatPageMainFooter_useAccessMessage_bot on Bot {
+ ...botHelpers_useDeletion_bot
+ ...botHelpers_useViewerCanAccessPrivateBot
+}
+
+fragment ChatPageMain_chat_1G22uz on Chat {
+ id
+ chatId
+ ...ChatPageShareFooter_chat
+ ...ChatPageDeleteFooter_chat
+ ...ChatMessagesView_chat
+ ...MarkdownLinkInner_chat
+ ...chatHelpers_useUpdateStaleChat_chat
+ ...ChatSubscriptionPaywallContextWrapper_chat
+ ...ChatPageMainFooter_chat
+ messagesConnection(last: $count, before: $cursor) {
+ edges {
+ ...ChatMessagesView_edges
+ ...ChatPageMainFooter_edges
+ ...MarkdownLinkInner_edges
+ node {
+ ...chatHelpers_useUpdateStaleChat_message
+ id
+ __typename
+ }
+ cursor
+ id
+ }
+ pageInfo {
+ hasPreviousPage
+ startCursor
+ }
+ id
+ }
+}
+
+fragment ChatPageRateLimitedBanner_messageLimit on MessageLimit {
+ numMessagesRemaining
+}
+
+fragment ChatPageShareFooter_chat on Chat {
+ chatId
+}
+
+fragment ChatSubscriptionPaywallContextWrapper_chat on Chat {
+ defaultBotObject {
+ messageLimit {
+ numMessagesRemaining
+ shouldShowRemainingMessageCount
+ }
+ ...SubscriptionPaywallModal_bot
+ id
+ }
+}
+
+fragment ChatWelcomeView_ChatWelcomeButton_chat on Chat {
+ ...chatHelpers_useSendMessage_chat
+}
+
+fragment ChatWelcomeView_chat on Chat {
+ ...ChatWelcomeView_ChatWelcomeButton_chat
+ defaultBotObject {
+ displayName
+ id
+ }
+}
+
+fragment IdAnnotation_node on Node {
+ __isNode: __typename
+ id
+}
+
+fragment MarkdownLinkInner_chat on Chat {
+ id
+ chatId
+ defaultBotObject {
+ nickname
+ id
+ }
+ ...chatHelpers_useSendMessage_chat
+}
+
+fragment MarkdownLinkInner_edges on MessageEdge {
+ node {
+ state
+ id
+ }
+}
+
+fragment MarkdownLinkInner_message on Message {
+ messageId
+}
+
+fragment MessageDeleteConfirmationModal_chat on Chat {
+ id
+}
+
+fragment MessageFeedbackOtherModal_message on Message {
+ id
+ messageId
+}
+
+fragment MessageFeedbackReasonModal_message on Message {
+ id
+ messageId
+}
+
+fragment SubscriptionPaywallModal_bot on Bot {
+ displayName
+ messageLimit {
+ dailyLimit
+ numMessagesRemaining
+ shouldShowRemainingMessageCount
+ resetTime
+ }
+ ...BotImage_bot
+}
+
+fragment botHelpers_useDeletion_bot on Bot {
+ deletionState
+}
+
+fragment botHelpers_useViewerCanAccessPrivateBot on Bot {
+ isPrivateBot
+ viewerIsCreator
+}
+
+fragment chatHelpers_isBotMessage on Message {
+ ...chatHelpers_isHumanMessage
+ ...chatHelpers_isChatBreak
+}
+
+fragment chatHelpers_isChatBreak on Message {
+ author
+}
+
+fragment chatHelpers_isHumanMessage on Message {
+ author
+}
+
+fragment chatHelpers_useSendChatBreak_chat on Chat {
+ id
+ chatId
+ defaultBotObject {
+ nickname
+ introduction
+ model
+ id
+ }
+ shouldShowDisclaimer
+}
+
+fragment chatHelpers_useSendMessage_chat on Chat {
+ id
+ chatId
+ defaultBotObject {
+ id
+ nickname
+ }
+ shouldShowDisclaimer
+}
+
+fragment chatHelpers_useTimeoutLevel on Message {
+ id
+ state
+ text
+ messageId
+ chat {
+ chatId
+ defaultBotNickname
+ id
+ }
+}
+
+fragment chatHelpers_useUpdateStaleChat_chat on Chat {
+ chatId
+ defaultBotObject {
+ contextClearWindowSecs
+ id
+ }
+ ...chatHelpers_useSendChatBreak_chat
+}
+
+fragment chatHelpers_useUpdateStaleChat_message on Message {
+ creationTime
+ ...chatHelpers_isChatBreak
+}
diff --git a/quora/graphql/ChatPaginationQuery.graphql b/quora/graphql/ChatPaginationQuery.graphql
new file mode 100644
index 00000000..f2452cd6
--- /dev/null
+++ b/quora/graphql/ChatPaginationQuery.graphql
@@ -0,0 +1,26 @@
+query ChatPaginationQuery($bot: String!, $before: String, $last: Int! = 10) {
+ chatOfBot(bot: $bot) {
+ id
+ __typename
+ messagesConnection(before: $before, last: $last) {
+ pageInfo {
+ hasPreviousPage
+ }
+ edges {
+ node {
+ id
+ __typename
+ messageId
+ text
+ linkifiedText
+ authorNickname
+ state
+ vote
+ voteReason
+ creationTime
+ suggestedReplies
+ }
+ }
+ }
+ }
+}
diff --git a/quora/graphql/ChatViewQuery.graphql b/quora/graphql/ChatViewQuery.graphql
new file mode 100644
index 00000000..c330107d
--- /dev/null
+++ b/quora/graphql/ChatViewQuery.graphql
@@ -0,0 +1,8 @@
+query ChatViewQuery($bot: String!) {
+ chatOfBot(bot: $bot) {
+ id
+ chatId
+ defaultBotNickname
+ shouldShowDisclaimer
+ }
+}
diff --git a/quora/graphql/DeleteHumanMessagesMutation.graphql b/quora/graphql/DeleteHumanMessagesMutation.graphql
new file mode 100644
index 00000000..42692c6e
--- /dev/null
+++ b/quora/graphql/DeleteHumanMessagesMutation.graphql
@@ -0,0 +1,7 @@
+mutation DeleteHumanMessagesMutation($messageIds: [BigInt!]!) {
+ messagesDelete(messageIds: $messageIds) {
+ viewer {
+ id
+ }
+ }
+}
diff --git a/quora/graphql/DeleteMessageMutation.graphql b/quora/graphql/DeleteMessageMutation.graphql
new file mode 100644
index 00000000..7b9e36d4
--- /dev/null
+++ b/quora/graphql/DeleteMessageMutation.graphql
@@ -0,0 +1,7 @@
+mutation deleteMessageMutation(
+ $messageIds: [BigInt!]!
+) {
+ messagesDelete(messageIds: $messageIds) {
+ edgeIds
+ }
+} \ No newline at end of file
diff --git a/quora/graphql/HandleFragment.graphql b/quora/graphql/HandleFragment.graphql
new file mode 100644
index 00000000..f53c484b
--- /dev/null
+++ b/quora/graphql/HandleFragment.graphql
@@ -0,0 +1,8 @@
+fragment HandleFragment on Viewer {
+ id
+ poeUser {
+ id
+ uid
+ handle
+ }
+}
diff --git a/quora/graphql/LoginWithVerificationCodeMutation.graphql b/quora/graphql/LoginWithVerificationCodeMutation.graphql
new file mode 100644
index 00000000..723b1f44
--- /dev/null
+++ b/quora/graphql/LoginWithVerificationCodeMutation.graphql
@@ -0,0 +1,13 @@
+mutation LoginWithVerificationCodeMutation(
+ $verificationCode: String!
+ $emailAddress: String
+ $phoneNumber: String
+) {
+ loginWithVerificationCode(
+ verificationCode: $verificationCode
+ emailAddress: $emailAddress
+ phoneNumber: $phoneNumber
+ ) {
+ status
+ }
+}
diff --git a/quora/graphql/MessageAddedSubscription.graphql b/quora/graphql/MessageAddedSubscription.graphql
new file mode 100644
index 00000000..8dc9499c
--- /dev/null
+++ b/quora/graphql/MessageAddedSubscription.graphql
@@ -0,0 +1,100 @@
+subscription messageAdded (
+ $chatId: BigInt!
+) {
+ messageAdded(chatId: $chatId) {
+ id
+ messageId
+ creationTime
+ state
+ ...ChatMessage_message
+ ...chatHelpers_isBotMessage
+ }
+}
+
+fragment ChatMessageDownvotedButton_message on Message {
+ ...MessageFeedbackReasonModal_message
+ ...MessageFeedbackOtherModal_message
+}
+
+fragment ChatMessageDropdownMenu_message on Message {
+ id
+ messageId
+ vote
+ text
+ linkifiedText
+ ...chatHelpers_isBotMessage
+}
+
+fragment ChatMessageFeedbackButtons_message on Message {
+ id
+ messageId
+ vote
+ voteReason
+ ...ChatMessageDownvotedButton_message
+}
+
+fragment ChatMessageOverflowButton_message on Message {
+ text
+ ...ChatMessageDropdownMenu_message
+ ...chatHelpers_isBotMessage
+}
+
+fragment ChatMessageSuggestedReplies_SuggestedReplyButton_message on Message {
+ messageId
+}
+
+fragment ChatMessageSuggestedReplies_message on Message {
+ suggestedReplies
+ ...ChatMessageSuggestedReplies_SuggestedReplyButton_message
+}
+
+fragment ChatMessage_message on Message {
+ id
+ messageId
+ text
+ author
+ linkifiedText
+ state
+ ...ChatMessageSuggestedReplies_message
+ ...ChatMessageFeedbackButtons_message
+ ...ChatMessageOverflowButton_message
+ ...chatHelpers_isHumanMessage
+ ...chatHelpers_isBotMessage
+ ...chatHelpers_isChatBreak
+ ...chatHelpers_useTimeoutLevel
+ ...MarkdownLinkInner_message
+}
+
+fragment MarkdownLinkInner_message on Message {
+ messageId
+}
+
+fragment MessageFeedbackOtherModal_message on Message {
+ id
+ messageId
+}
+
+fragment MessageFeedbackReasonModal_message on Message {
+ id
+ messageId
+}
+
+fragment chatHelpers_isBotMessage on Message {
+ ...chatHelpers_isHumanMessage
+ ...chatHelpers_isChatBreak
+}
+
+fragment chatHelpers_isChatBreak on Message {
+ author
+}
+
+fragment chatHelpers_isHumanMessage on Message {
+ author
+}
+
+fragment chatHelpers_useTimeoutLevel on Message {
+ id
+ state
+ text
+ messageId
+}
diff --git a/quora/graphql/MessageDeletedSubscription.graphql b/quora/graphql/MessageDeletedSubscription.graphql
new file mode 100644
index 00000000..54c1c164
--- /dev/null
+++ b/quora/graphql/MessageDeletedSubscription.graphql
@@ -0,0 +1,6 @@
+subscription MessageDeletedSubscription($chatId: BigInt!) {
+ messageDeleted(chatId: $chatId) {
+ id
+ messageId
+ }
+}
diff --git a/quora/graphql/MessageFragment.graphql b/quora/graphql/MessageFragment.graphql
new file mode 100644
index 00000000..cc860811
--- /dev/null
+++ b/quora/graphql/MessageFragment.graphql
@@ -0,0 +1,13 @@
+fragment MessageFragment on Message {
+ id
+ __typename
+ messageId
+ text
+ linkifiedText
+ authorNickname
+ state
+ vote
+ voteReason
+ creationTime
+ suggestedReplies
+}
diff --git a/quora/graphql/MessageRemoveVoteMutation.graphql b/quora/graphql/MessageRemoveVoteMutation.graphql
new file mode 100644
index 00000000..d5e6e610
--- /dev/null
+++ b/quora/graphql/MessageRemoveVoteMutation.graphql
@@ -0,0 +1,7 @@
+mutation MessageRemoveVoteMutation($messageId: BigInt!) {
+ messageRemoveVote(messageId: $messageId) {
+ message {
+ ...MessageFragment
+ }
+ }
+}
diff --git a/quora/graphql/MessageSetVoteMutation.graphql b/quora/graphql/MessageSetVoteMutation.graphql
new file mode 100644
index 00000000..76000df0
--- /dev/null
+++ b/quora/graphql/MessageSetVoteMutation.graphql
@@ -0,0 +1,7 @@
+mutation MessageSetVoteMutation($messageId: BigInt!, $voteType: VoteType!, $reason: String) {
+ messageSetVote(messageId: $messageId, voteType: $voteType, reason: $reason) {
+ message {
+ ...MessageFragment
+ }
+ }
+}
diff --git a/quora/graphql/PoeBotCreateMutation.graphql b/quora/graphql/PoeBotCreateMutation.graphql
new file mode 100644
index 00000000..971b4248
--- /dev/null
+++ b/quora/graphql/PoeBotCreateMutation.graphql
@@ -0,0 +1,73 @@
+mutation CreateBotMain_poeBotCreate_Mutation(
+ $model: String!
+ $handle: String!
+ $prompt: String!
+ $isPromptPublic: Boolean!
+ $introduction: String!
+ $description: String!
+ $profilePictureUrl: String
+ $apiUrl: String
+ $apiKey: String
+ $isApiBot: Boolean
+ $hasLinkification: Boolean
+ $hasMarkdownRendering: Boolean
+ $hasSuggestedReplies: Boolean
+ $isPrivateBot: Boolean
+) {
+ poeBotCreate(model: $model, handle: $handle, promptPlaintext: $prompt, isPromptPublic: $isPromptPublic, introduction: $introduction, description: $description, profilePicture: $profilePictureUrl, apiUrl: $apiUrl, apiKey: $apiKey, isApiBot: $isApiBot, hasLinkification: $hasLinkification, hasMarkdownRendering: $hasMarkdownRendering, hasSuggestedReplies: $hasSuggestedReplies, isPrivateBot: $isPrivateBot) {
+ status
+ bot {
+ id
+ ...BotHeader_bot
+ }
+ }
+}
+
+fragment BotHeader_bot on Bot {
+ displayName
+ messageLimit {
+ dailyLimit
+ }
+ ...BotImage_bot
+ ...BotLink_bot
+ ...IdAnnotation_node
+ ...botHelpers_useViewerCanAccessPrivateBot
+ ...botHelpers_useDeletion_bot
+}
+
+fragment BotImage_bot on Bot {
+ displayName
+ ...botHelpers_useDeletion_bot
+ ...BotImage_useProfileImage_bot
+}
+
+fragment BotImage_useProfileImage_bot on Bot {
+ image {
+ __typename
+ ... on LocalBotImage {
+ localName
+ }
+ ... on UrlBotImage {
+ url
+ }
+ }
+ ...botHelpers_useDeletion_bot
+}
+
+fragment BotLink_bot on Bot {
+ displayName
+}
+
+fragment IdAnnotation_node on Node {
+ __isNode: __typename
+ id
+}
+
+fragment botHelpers_useDeletion_bot on Bot {
+ deletionState
+}
+
+fragment botHelpers_useViewerCanAccessPrivateBot on Bot {
+ isPrivateBot
+ viewerIsCreator
+} \ No newline at end of file
diff --git a/quora/graphql/PoeBotEditMutation.graphql b/quora/graphql/PoeBotEditMutation.graphql
new file mode 100644
index 00000000..fdd309ef
--- /dev/null
+++ b/quora/graphql/PoeBotEditMutation.graphql
@@ -0,0 +1,24 @@
+mutation EditBotMain_poeBotEdit_Mutation(
+ $botId: BigInt!
+ $handle: String!
+ $description: String!
+ $introduction: String!
+ $isPromptPublic: Boolean!
+ $baseBot: String!
+ $profilePictureUrl: String
+ $prompt: String!
+ $apiUrl: String
+ $apiKey: String
+ $hasLinkification: Boolean
+ $hasMarkdownRendering: Boolean
+ $hasSuggestedReplies: Boolean
+ $isPrivateBot: Boolean
+) {
+ poeBotEdit(botId: $botId, handle: $handle, description: $description, introduction: $introduction, isPromptPublic: $isPromptPublic, model: $baseBot, promptPlaintext: $prompt, profilePicture: $profilePictureUrl, apiUrl: $apiUrl, apiKey: $apiKey, hasLinkification: $hasLinkification, hasMarkdownRendering: $hasMarkdownRendering, hasSuggestedReplies: $hasSuggestedReplies, isPrivateBot: $isPrivateBot) {
+ status
+ bot {
+ handle
+ id
+ }
+ }
+} \ No newline at end of file
diff --git a/quora/graphql/SendMessageMutation.graphql b/quora/graphql/SendMessageMutation.graphql
new file mode 100644
index 00000000..4b0a4383
--- /dev/null
+++ b/quora/graphql/SendMessageMutation.graphql
@@ -0,0 +1,40 @@
+mutation chatHelpers_sendMessageMutation_Mutation(
+ $chatId: BigInt!
+ $bot: String!
+ $query: String!
+ $source: MessageSource
+ $withChatBreak: Boolean!
+) {
+ messageEdgeCreate(chatId: $chatId, bot: $bot, query: $query, source: $source, withChatBreak: $withChatBreak) {
+ chatBreak {
+ cursor
+ node {
+ id
+ messageId
+ text
+ author
+ suggestedReplies
+ creationTime
+ state
+ }
+ id
+ }
+ message {
+ cursor
+ node {
+ id
+ messageId
+ text
+ author
+ suggestedReplies
+ creationTime
+ state
+ chat {
+ shouldShowDisclaimer
+ id
+ }
+ }
+ id
+ }
+ }
+}
diff --git a/quora/graphql/SendVerificationCodeForLoginMutation.graphql b/quora/graphql/SendVerificationCodeForLoginMutation.graphql
new file mode 100644
index 00000000..45af4799
--- /dev/null
+++ b/quora/graphql/SendVerificationCodeForLoginMutation.graphql
@@ -0,0 +1,12 @@
+mutation SendVerificationCodeForLoginMutation(
+ $emailAddress: String
+ $phoneNumber: String
+) {
+ sendVerificationCode(
+ verificationReason: login
+ emailAddress: $emailAddress
+ phoneNumber: $phoneNumber
+ ) {
+ status
+ }
+}
diff --git a/quora/graphql/ShareMessagesMutation.graphql b/quora/graphql/ShareMessagesMutation.graphql
new file mode 100644
index 00000000..92e80db5
--- /dev/null
+++ b/quora/graphql/ShareMessagesMutation.graphql
@@ -0,0 +1,9 @@
+mutation ShareMessagesMutation(
+ $chatId: BigInt!
+ $messageIds: [BigInt!]!
+ $comment: String
+) {
+ messagesShare(chatId: $chatId, messageIds: $messageIds, comment: $comment) {
+ shareCode
+ }
+}
diff --git a/quora/graphql/SignupWithVerificationCodeMutation.graphql b/quora/graphql/SignupWithVerificationCodeMutation.graphql
new file mode 100644
index 00000000..06b2826f
--- /dev/null
+++ b/quora/graphql/SignupWithVerificationCodeMutation.graphql
@@ -0,0 +1,13 @@
+mutation SignupWithVerificationCodeMutation(
+ $verificationCode: String!
+ $emailAddress: String
+ $phoneNumber: String
+) {
+ signupWithVerificationCode(
+ verificationCode: $verificationCode
+ emailAddress: $emailAddress
+ phoneNumber: $phoneNumber
+ ) {
+ status
+ }
+}
diff --git a/quora/graphql/StaleChatUpdateMutation.graphql b/quora/graphql/StaleChatUpdateMutation.graphql
new file mode 100644
index 00000000..de203d47
--- /dev/null
+++ b/quora/graphql/StaleChatUpdateMutation.graphql
@@ -0,0 +1,7 @@
+mutation StaleChatUpdateMutation($chatId: BigInt!) {
+ staleChatUpdate(chatId: $chatId) {
+ message {
+ ...MessageFragment
+ }
+ }
+}
diff --git a/quora/graphql/SubscriptionsMutation.graphql b/quora/graphql/SubscriptionsMutation.graphql
new file mode 100644
index 00000000..b864bd60
--- /dev/null
+++ b/quora/graphql/SubscriptionsMutation.graphql
@@ -0,0 +1,9 @@
+mutation subscriptionsMutation(
+ $subscriptions: [AutoSubscriptionQuery!]!
+) {
+ autoSubscribe(subscriptions: $subscriptions) {
+ viewer {
+ id
+ }
+ }
+} \ No newline at end of file
diff --git a/quora/graphql/SummarizePlainPostQuery.graphql b/quora/graphql/SummarizePlainPostQuery.graphql
new file mode 100644
index 00000000..afa2a84c
--- /dev/null
+++ b/quora/graphql/SummarizePlainPostQuery.graphql
@@ -0,0 +1,3 @@
+query SummarizePlainPostQuery($comment: String!) {
+ summarizePlainPost(comment: $comment)
+}
diff --git a/quora/graphql/SummarizeQuotePostQuery.graphql b/quora/graphql/SummarizeQuotePostQuery.graphql
new file mode 100644
index 00000000..5147c3c5
--- /dev/null
+++ b/quora/graphql/SummarizeQuotePostQuery.graphql
@@ -0,0 +1,3 @@
+query SummarizeQuotePostQuery($comment: String, $quotedPostId: BigInt!) {
+ summarizeQuotePost(comment: $comment, quotedPostId: $quotedPostId)
+}
diff --git a/quora/graphql/SummarizeSharePostQuery.graphql b/quora/graphql/SummarizeSharePostQuery.graphql
new file mode 100644
index 00000000..cb4a623c
--- /dev/null
+++ b/quora/graphql/SummarizeSharePostQuery.graphql
@@ -0,0 +1,3 @@
+query SummarizeSharePostQuery($comment: String!, $chatId: BigInt!, $messageIds: [BigInt!]!) {
+ summarizeSharePost(comment: $comment, chatId: $chatId, messageIds: $messageIds)
+}
diff --git a/quora/graphql/UserSnippetFragment.graphql b/quora/graphql/UserSnippetFragment.graphql
new file mode 100644
index 00000000..17fc8426
--- /dev/null
+++ b/quora/graphql/UserSnippetFragment.graphql
@@ -0,0 +1,14 @@
+fragment UserSnippetFragment on PoeUser {
+ id
+ uid
+ bio
+ handle
+ fullName
+ viewerIsFollowing
+ isPoeOnlyUser
+ profilePhotoURLTiny: profilePhotoUrl(size: tiny)
+ profilePhotoURLSmall: profilePhotoUrl(size: small)
+ profilePhotoURLMedium: profilePhotoUrl(size: medium)
+ profilePhotoURLLarge: profilePhotoUrl(size: large)
+ isFollowable
+}
diff --git a/quora/graphql/ViewerInfoQuery.graphql b/quora/graphql/ViewerInfoQuery.graphql
new file mode 100644
index 00000000..1ecaf9e8
--- /dev/null
+++ b/quora/graphql/ViewerInfoQuery.graphql
@@ -0,0 +1,21 @@
+query ViewerInfoQuery {
+ viewer {
+ id
+ uid
+ ...ViewerStateFragment
+ ...BioFragment
+ ...HandleFragment
+ hasCompletedMultiplayerNux
+ poeUser {
+ id
+ ...UserSnippetFragment
+ }
+ messageLimit{
+ canSend
+ numMessagesRemaining
+ resetTime
+ shouldShowReminder
+ }
+ }
+}
+
diff --git a/quora/graphql/ViewerStateFragment.graphql b/quora/graphql/ViewerStateFragment.graphql
new file mode 100644
index 00000000..3cd83e9c
--- /dev/null
+++ b/quora/graphql/ViewerStateFragment.graphql
@@ -0,0 +1,30 @@
+fragment ViewerStateFragment on Viewer {
+ id
+ __typename
+ iosMinSupportedVersion: integerGate(gateName: "poe_ios_min_supported_version")
+ iosMinEncouragedVersion: integerGate(
+ gateName: "poe_ios_min_encouraged_version"
+ )
+ macosMinSupportedVersion: integerGate(
+ gateName: "poe_macos_min_supported_version"
+ )
+ macosMinEncouragedVersion: integerGate(
+ gateName: "poe_macos_min_encouraged_version"
+ )
+ showPoeDebugPanel: booleanGate(gateName: "poe_show_debug_panel")
+ enableCommunityFeed: booleanGate(gateName: "enable_poe_shares_feed")
+ linkifyText: booleanGate(gateName: "poe_linkify_response")
+ enableSuggestedReplies: booleanGate(gateName: "poe_suggested_replies")
+ removeInviteLimit: booleanGate(gateName: "poe_remove_invite_limit")
+ enableInAppPurchases: booleanGate(gateName: "poe_enable_in_app_purchases")
+ availableBots {
+ nickname
+ displayName
+ profilePicture
+ isDown
+ disclaimer
+ subtitle
+ poweredBy
+ }
+}
+
diff --git a/quora/graphql/ViewerStateUpdatedSubscription.graphql b/quora/graphql/ViewerStateUpdatedSubscription.graphql
new file mode 100644
index 00000000..03fc73d1
--- /dev/null
+++ b/quora/graphql/ViewerStateUpdatedSubscription.graphql
@@ -0,0 +1,43 @@
+subscription viewerStateUpdated {
+ viewerStateUpdated {
+ id
+ ...ChatPageBotSwitcher_viewer
+ }
+}
+
+fragment BotHeader_bot on Bot {
+ displayName
+ messageLimit {
+ dailyLimit
+ }
+ ...BotImage_bot
+}
+
+fragment BotImage_bot on Bot {
+ image {
+ __typename
+ ... on LocalBotImage {
+ localName
+ }
+ ... on UrlBotImage {
+ url
+ }
+ }
+ displayName
+}
+
+fragment BotLink_bot on Bot {
+ displayName
+}
+
+fragment ChatPageBotSwitcher_viewer on Viewer {
+ availableBots {
+ id
+ messageLimit {
+ dailyLimit
+ }
+ ...BotLink_bot
+ ...BotHeader_bot
+ }
+ allowUserCreatedBots: booleanGate(gateName: "enable_user_created_bots")
+}
diff --git a/quora/graphql/__init__.py b/quora/graphql/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/quora/graphql/__init__.py