gitextract_q1_r9qfc/ ├── .eslintrc.json ├── .github/ │ ├── dependabot.yml │ └── workflows/ │ ├── pr-tests.yml │ ├── pre-release-build.yml │ ├── scripts/ │ │ └── verify-search-engine-configs.mjs │ ├── tagged-release.yml │ └── verify-configs.yml ├── .gitignore ├── .prettierignore ├── .prettierrc ├── LICENSE ├── README.md ├── build.mjs ├── package.json ├── safari/ │ ├── appdmg.json │ ├── build.sh │ ├── export-options.plist │ └── project.patch ├── screenshot/ │ └── engines/ │ └── README.md └── src/ ├── background/ │ ├── apis/ │ │ ├── chatgpt-web.mjs │ │ └── openai-api.mjs │ └── index.mjs ├── components/ │ ├── ConversationCard/ │ │ └── index.jsx │ ├── ConversationItem/ │ │ └── index.jsx │ ├── CopyButton/ │ │ └── index.jsx │ ├── DecisionCard/ │ │ └── index.jsx │ ├── FeedbackForChatGPTWeb/ │ │ └── index.jsx │ ├── FloatingToolbar/ │ │ └── index.jsx │ ├── InputBox/ │ │ └── index.jsx │ └── MarkdownRender/ │ ├── markdown-without-katex.jsx │ └── markdown.jsx ├── config.mjs ├── content-script/ │ ├── index.jsx │ ├── selection-tools/ │ │ └── index.mjs │ ├── site-adapters/ │ │ ├── arxiv/ │ │ │ └── index.mjs │ │ ├── baidu/ │ │ │ └── index.mjs │ │ ├── bilibili/ │ │ │ └── index.mjs │ │ ├── github/ │ │ │ └── index.mjs │ │ ├── gitlab/ │ │ │ └── index.mjs │ │ ├── index.mjs │ │ ├── quora/ │ │ │ └── index.mjs │ │ ├── reddit/ │ │ │ └── index.mjs │ │ ├── stackoverflow/ │ │ │ └── index.mjs │ │ ├── youtube/ │ │ │ └── index.mjs │ │ └── zhihu/ │ │ └── index.mjs │ └── styles.scss ├── manifest.json ├── manifest.v2.json ├── popup/ │ ├── Popup.jsx │ ├── index.html │ ├── index.jsx │ └── styles.scss └── utils/ ├── create-element-at-position.mjs ├── crop-text.mjs ├── ends-with-question-mark.mjs ├── fetch-sse.mjs ├── get-conversation-pairs.mjs ├── get-possible-element-by-query-selector.mjs ├── index.mjs ├── init-session.mjs ├── is-mobile.mjs ├── is-safari.mjs ├── limited-fetch.mjs ├── set-element-position-in-viewport.mjs ├── stream-async-iterable.mjs └── update-ref-height.mjs