mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-08 05:39:13 +00:00
Merge branch 'master' of github.com:khoj-ai/khoj into features/add-chat-controls
This commit is contained in:
6
.github/workflows/test.yml
vendored
6
.github/workflows/test.yml
vendored
@@ -26,7 +26,7 @@ jobs:
|
|||||||
test:
|
test:
|
||||||
name: Run Tests
|
name: Run Tests
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container: ubuntu:jammy
|
container: ubuntu:latest
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@@ -67,7 +67,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
DEBIAN_FRONTEND: noninteractive
|
DEBIAN_FRONTEND: noninteractive
|
||||||
run : |
|
run : |
|
||||||
apt install -y postgresql postgresql-client && apt install -y postgresql-server-dev-14
|
apt install -y postgresql postgresql-client && apt install -y postgresql-server-dev-16
|
||||||
|
|
||||||
- name: ⬇️ Install pip
|
- name: ⬇️ Install pip
|
||||||
run: |
|
run: |
|
||||||
@@ -79,7 +79,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
PIP_EXTRA_INDEX_URL: "https://download.pytorch.org/whl/cpu https://abetlen.github.io/llama-cpp-python/whl/cpu"
|
PIP_EXTRA_INDEX_URL: "https://download.pytorch.org/whl/cpu https://abetlen.github.io/llama-cpp-python/whl/cpu"
|
||||||
CUDA_VISIBLE_DEVICES: ""
|
CUDA_VISIBLE_DEVICES: ""
|
||||||
run: sed -i 's/dynamic = \["version"\]/version = "0.0.0"/' pyproject.toml && pip install --upgrade .[dev]
|
run: sed -i 's/dynamic = \["version"\]/version = "0.0.0"/' pyproject.toml && pip install --break-system-packages --upgrade .[dev]
|
||||||
|
|
||||||
- name: 🧪 Test Application
|
- name: 🧪 Test Application
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
import styles from "./loginPrompt.module.css";
|
import styles from "./loginPrompt.module.css";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { Dialog, DialogContent } from "@/components/ui/dialog";
|
import { Dialog, DialogContent, DialogTitle } from "@/components/ui/dialog";
|
||||||
import { Input } from "@/components/ui/input";
|
import { Input } from "@/components/ui/input";
|
||||||
import Autoplay from "embla-carousel-autoplay";
|
import Autoplay from "embla-carousel-autoplay";
|
||||||
import {
|
import {
|
||||||
@@ -27,6 +27,7 @@ import {
|
|||||||
} from "@/components/ui/carousel";
|
} from "@/components/ui/carousel";
|
||||||
import { Card, CardContent } from "@/components/ui/card";
|
import { Card, CardContent } from "@/components/ui/card";
|
||||||
import { InputOTP, InputOTPGroup, InputOTPSlot } from "@/components/ui/input-otp";
|
import { InputOTP, InputOTPGroup, InputOTPSlot } from "@/components/ui/input-otp";
|
||||||
|
import * as VisuallyHidden from "@radix-ui/react-visually-hidden";
|
||||||
|
|
||||||
export interface LoginPromptProps {
|
export interface LoginPromptProps {
|
||||||
onOpenChange: (open: boolean) => void;
|
onOpenChange: (open: boolean) => void;
|
||||||
@@ -181,6 +182,9 @@ export default function LoginPrompt(props: LoginPromptProps) {
|
|||||||
<DialogContent
|
<DialogContent
|
||||||
className={`flex flex-col gap-4 ${!useEmailSignIn ? "p-0 pb-4 m-0 max-w-xl" : "w-fit"}`}
|
className={`flex flex-col gap-4 ${!useEmailSignIn ? "p-0 pb-4 m-0 max-w-xl" : "w-fit"}`}
|
||||||
>
|
>
|
||||||
|
<VisuallyHidden.Root>
|
||||||
|
<DialogTitle>Login Dialog</DialogTitle>
|
||||||
|
</VisuallyHidden.Root>
|
||||||
<div>
|
<div>
|
||||||
{useEmailSignIn ? (
|
{useEmailSignIn ? (
|
||||||
<EmailSignInContext
|
<EmailSignInContext
|
||||||
@@ -232,7 +236,7 @@ function EmailSignInContext({
|
|||||||
const [numFailures, setNumFailures] = useState(0);
|
const [numFailures, setNumFailures] = useState(0);
|
||||||
|
|
||||||
function checkOTPAndRedirect() {
|
function checkOTPAndRedirect() {
|
||||||
const verifyUrl = `/auth/magic?code=${otp}&email=${email}`;
|
const verifyUrl = `/auth/magic?code=${encodeURIComponent(otp)}&email=${encodeURIComponent(email)}`;
|
||||||
|
|
||||||
if (numFailures >= ALLOWED_OTP_ATTEMPTS) {
|
if (numFailures >= ALLOWED_OTP_ATTEMPTS) {
|
||||||
setOTPError("Too many failed attempts. Please try again tomorrow.");
|
setOTPError("Too many failed attempts. Please try again tomorrow.");
|
||||||
|
|||||||
@@ -55,13 +55,13 @@
|
|||||||
"eslint-config-next": "14.2.3",
|
"eslint-config-next": "14.2.3",
|
||||||
"input-otp": "^1.2.4",
|
"input-otp": "^1.2.4",
|
||||||
"intl-tel-input": "^23.8.1",
|
"intl-tel-input": "^23.8.1",
|
||||||
"katex": "^0.16.10",
|
"katex": "^0.16.21",
|
||||||
"libphonenumber-js": "^1.11.4",
|
"libphonenumber-js": "^1.11.4",
|
||||||
"lucide-react": "^0.468.0",
|
"lucide-react": "^0.468.0",
|
||||||
"markdown-it": "^14.1.0",
|
"markdown-it": "^14.1.0",
|
||||||
"markdown-it-highlightjs": "^4.1.0",
|
"markdown-it-highlightjs": "^4.1.0",
|
||||||
"mermaid": "^11.4.1",
|
"mermaid": "^11.4.1",
|
||||||
"next": "14.2.15",
|
"next": "14.2.21",
|
||||||
"nodemon": "^3.1.3",
|
"nodemon": "^3.1.3",
|
||||||
"postcss": "^8.4.38",
|
"postcss": "^8.4.38",
|
||||||
"react": "^18",
|
"react": "^18",
|
||||||
|
|||||||
@@ -437,10 +437,10 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
langium "3.0.0"
|
langium "3.0.0"
|
||||||
|
|
||||||
"@next/env@14.2.15":
|
"@next/env@14.2.21":
|
||||||
version "14.2.15"
|
version "14.2.21"
|
||||||
resolved "https://registry.yarnpkg.com/@next/env/-/env-14.2.15.tgz#06d984e37e670d93ddd6790af1844aeb935f332f"
|
resolved "https://registry.yarnpkg.com/@next/env/-/env-14.2.21.tgz#09ff0813d29c596397e141205d4f5fd5c236bdd0"
|
||||||
integrity sha512-S1qaj25Wru2dUpcIZMjxeMVSwkt8BK4dmWHHiBuRstcIyOsMapqT4A4jSB6onvqeygkSSmOkyny9VVx8JIGamQ==
|
integrity sha512-lXcwcJd5oR01tggjWJ6SrNNYFGuOOMB9c251wUNkjCpkoXOPkDeF/15c3mnVlBqrW4JJXb2kVxDFhC4GduJt2A==
|
||||||
|
|
||||||
"@next/eslint-plugin-next@14.2.3":
|
"@next/eslint-plugin-next@14.2.3":
|
||||||
version "14.2.3"
|
version "14.2.3"
|
||||||
@@ -449,50 +449,50 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
glob "10.3.10"
|
glob "10.3.10"
|
||||||
|
|
||||||
"@next/swc-darwin-arm64@14.2.15":
|
"@next/swc-darwin-arm64@14.2.21":
|
||||||
version "14.2.15"
|
version "14.2.21"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.15.tgz#6386d585f39a1c490c60b72b1f76612ba4434347"
|
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.21.tgz#32a31992aace1440981df9cf7cb3af7845d94fec"
|
||||||
integrity sha512-Rvh7KU9hOUBnZ9TJ28n2Oa7dD9cvDBKua9IKx7cfQQ0GoYUwg9ig31O2oMwH3wm+pE3IkAQ67ZobPfEgurPZIA==
|
integrity sha512-HwEjcKsXtvszXz5q5Z7wCtrHeTTDSTgAbocz45PHMUjU3fBYInfvhR+ZhavDRUYLonm53aHZbB09QtJVJj8T7g==
|
||||||
|
|
||||||
"@next/swc-darwin-x64@14.2.15":
|
"@next/swc-darwin-x64@14.2.21":
|
||||||
version "14.2.15"
|
version "14.2.21"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.15.tgz#b7baeedc6a28f7545ad2bc55adbab25f7b45cb89"
|
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.21.tgz#5ab4b3f6685b6b52f810d0f5cf6e471480ddffdb"
|
||||||
integrity sha512-5TGyjFcf8ampZP3e+FyCax5zFVHi+Oe7sZyaKOngsqyaNEpOgkKB3sqmymkZfowy3ufGA/tUgDPPxpQx931lHg==
|
integrity sha512-TSAA2ROgNzm4FhKbTbyJOBrsREOMVdDIltZ6aZiKvCi/v0UwFmwigBGeqXDA97TFMpR3LNNpw52CbVelkoQBxA==
|
||||||
|
|
||||||
"@next/swc-linux-arm64-gnu@14.2.15":
|
"@next/swc-linux-arm64-gnu@14.2.21":
|
||||||
version "14.2.15"
|
version "14.2.21"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.15.tgz#fa13c59d3222f70fb4cb3544ac750db2c6e34d02"
|
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.21.tgz#8a0e1fa887aef19ca218af2af515d0a5ee67ba3f"
|
||||||
integrity sha512-3Bwv4oc08ONiQ3FiOLKT72Q+ndEMyLNsc/D3qnLMbtUYTQAmkx9E/JRu0DBpHxNddBmNT5hxz1mYBphJ3mfrrw==
|
integrity sha512-0Dqjn0pEUz3JG+AImpnMMW/m8hRtl1GQCNbO66V1yp6RswSTiKmnHf3pTX6xMdJYSemf3O4Q9ykiL0jymu0TuA==
|
||||||
|
|
||||||
"@next/swc-linux-arm64-musl@14.2.15":
|
"@next/swc-linux-arm64-musl@14.2.21":
|
||||||
version "14.2.15"
|
version "14.2.21"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.15.tgz#30e45b71831d9a6d6d18d7ac7d611a8d646a17f9"
|
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.21.tgz#ddad844406b42fa8965fe11250abc85c1fe0fd05"
|
||||||
integrity sha512-k5xf/tg1FBv/M4CMd8S+JL3uV9BnnRmoe7F+GWC3DxkTCD9aewFRH1s5rJ1zkzDa+Do4zyN8qD0N8c84Hu96FQ==
|
integrity sha512-Ggfw5qnMXldscVntwnjfaQs5GbBbjioV4B4loP+bjqNEb42fzZlAaK+ldL0jm2CTJga9LynBMhekNfV8W4+HBw==
|
||||||
|
|
||||||
"@next/swc-linux-x64-gnu@14.2.15":
|
"@next/swc-linux-x64-gnu@14.2.21":
|
||||||
version "14.2.15"
|
version "14.2.21"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.15.tgz#5065db17fc86f935ad117483f21f812dc1b39254"
|
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.21.tgz#db55fd666f9ba27718f65caa54b622a912cdd16b"
|
||||||
integrity sha512-kE6q38hbrRbKEkkVn62reLXhThLRh6/TvgSP56GkFNhU22TbIrQDEMrO7j0IcQHcew2wfykq8lZyHFabz0oBrA==
|
integrity sha512-uokj0lubN1WoSa5KKdThVPRffGyiWlm/vCc/cMkWOQHw69Qt0X1o3b2PyLLx8ANqlefILZh1EdfLRz9gVpG6tg==
|
||||||
|
|
||||||
"@next/swc-linux-x64-musl@14.2.15":
|
"@next/swc-linux-x64-musl@14.2.21":
|
||||||
version "14.2.15"
|
version "14.2.21"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.15.tgz#3c4a4568d8be7373a820f7576cf33388b5dab47e"
|
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.21.tgz#dddb850353624efcd58c4c4e30ad8a1aab379642"
|
||||||
integrity sha512-PZ5YE9ouy/IdO7QVJeIcyLn/Rc4ml9M2G4y3kCM9MNf1YKvFY4heg3pVa/jQbMro+tP6yc4G2o9LjAz1zxD7tQ==
|
integrity sha512-iAEBPzWNbciah4+0yI4s7Pce6BIoxTQ0AGCkxn/UBuzJFkYyJt71MadYQkjPqCQCJAFQ26sYh7MOKdU+VQFgPg==
|
||||||
|
|
||||||
"@next/swc-win32-arm64-msvc@14.2.15":
|
"@next/swc-win32-arm64-msvc@14.2.21":
|
||||||
version "14.2.15"
|
version "14.2.21"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.15.tgz#fb812cc4ca0042868e32a6a021da91943bb08b98"
|
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.21.tgz#290012ee57b196d3d2d04853e6bf0179cae9fbaf"
|
||||||
integrity sha512-2raR16703kBvYEQD9HNLyb0/394yfqzmIeyp2nDzcPV4yPjqNUG3ohX6jX00WryXz6s1FXpVhsCo3i+g4RUX+g==
|
integrity sha512-plykgB3vL2hB4Z32W3ktsfqyuyGAPxqwiyrAi2Mr8LlEUhNn9VgkiAl5hODSBpzIfWweX3er1f5uNpGDygfQVQ==
|
||||||
|
|
||||||
"@next/swc-win32-ia32-msvc@14.2.15":
|
"@next/swc-win32-ia32-msvc@14.2.21":
|
||||||
version "14.2.15"
|
version "14.2.21"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.15.tgz#ec26e6169354f8ced240c1427be7fd485c5df898"
|
resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.21.tgz#c959135a78cab18cca588d11d1e33bcf199590d4"
|
||||||
integrity sha512-fyTE8cklgkyR1p03kJa5zXEaZ9El+kDNM5A+66+8evQS5e/6v0Gk28LqA0Jet8gKSOyP+OTm/tJHzMlGdQerdQ==
|
integrity sha512-w5bacz4Vxqrh06BjWgua3Yf7EMDb8iMcVhNrNx8KnJXt8t+Uu0Zg4JHLDL/T7DkTCEEfKXO/Er1fcfWxn2xfPA==
|
||||||
|
|
||||||
"@next/swc-win32-x64-msvc@14.2.15":
|
"@next/swc-win32-x64-msvc@14.2.21":
|
||||||
version "14.2.15"
|
version "14.2.21"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.15.tgz#18d68697002b282006771f8d92d79ade9efd35c4"
|
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.21.tgz#21ff892286555b90538a7d1b505ea21a005d6ead"
|
||||||
integrity sha512-SzqGbsLsP9OwKNUG9nekShTwhj6JSB9ZLMWQ8g1gG6hdE5gQLncbnbymrwy2yVmH9nikSLYRYxYMFu78Ggp7/g==
|
integrity sha512-sT6+llIkzpsexGYZq8cjjthRyRGe5cJVhqh12FmlbxHqna6zsDDK8UNaV7g41T6atFHCJUPeLb3uyAwrBwy0NA==
|
||||||
|
|
||||||
"@nodelib/fs.scandir@2.1.5":
|
"@nodelib/fs.scandir@2.1.5":
|
||||||
version "2.1.5"
|
version "2.1.5"
|
||||||
@@ -3821,10 +3821,10 @@ jsonfile@^6.0.1:
|
|||||||
object.assign "^4.1.4"
|
object.assign "^4.1.4"
|
||||||
object.values "^1.1.6"
|
object.values "^1.1.6"
|
||||||
|
|
||||||
katex@^0.16.10:
|
katex@^0.16.21:
|
||||||
version "0.16.17"
|
version "0.16.21"
|
||||||
resolved "https://registry.yarnpkg.com/katex/-/katex-0.16.17.tgz#72c588a0beca0cac10c30f447c2fb14647f773ed"
|
resolved "https://registry.yarnpkg.com/katex/-/katex-0.16.21.tgz#8f63c659e931b210139691f2cc7bb35166b792a3"
|
||||||
integrity sha512-OyzSrXBllz+Jdc9Auiw0kt21gbZ4hkz8Q5srVAb2U9INcYIfGKbxe+bvNvEz1bQ/NrDeRRho5eLCyk/L03maAw==
|
integrity sha512-XvqR7FgOHtWupfMiigNzmh+MgUVmDGU2kXZm899ZkPfcuoPuFxyHmXsgATDpFZDAXCI8tvinaVcDo8PIIJSo4A==
|
||||||
dependencies:
|
dependencies:
|
||||||
commander "^8.3.0"
|
commander "^8.3.0"
|
||||||
|
|
||||||
@@ -4191,12 +4191,12 @@ natural-compare@^1.4.0:
|
|||||||
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
|
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
|
||||||
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
|
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
|
||||||
|
|
||||||
next@14.2.15:
|
next@14.2.21:
|
||||||
version "14.2.15"
|
version "14.2.21"
|
||||||
resolved "https://registry.yarnpkg.com/next/-/next-14.2.15.tgz#348e5603e22649775d19c785c09a89c9acb5189a"
|
resolved "https://registry.yarnpkg.com/next/-/next-14.2.21.tgz#f6da9e2abba1a0e4ca7a5273825daf06632554ba"
|
||||||
integrity sha512-h9ctmOokpoDphRvMGnwOJAedT6zKhwqyZML9mDtspgf4Rh3Pn7UTYKqePNoDvhsWBAO5GoPNYshnAUGIazVGmw==
|
integrity sha512-rZmLwucLHr3/zfDMYbJXbw0ZeoBpirxkXuvsJbk7UPorvPYZhP7vq7aHbKnU7dQNCYIimRrbB2pp3xmf+wsYUg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@next/env" "14.2.15"
|
"@next/env" "14.2.21"
|
||||||
"@swc/helpers" "0.5.5"
|
"@swc/helpers" "0.5.5"
|
||||||
busboy "1.6.0"
|
busboy "1.6.0"
|
||||||
caniuse-lite "^1.0.30001579"
|
caniuse-lite "^1.0.30001579"
|
||||||
@@ -4204,15 +4204,15 @@ next@14.2.15:
|
|||||||
postcss "8.4.31"
|
postcss "8.4.31"
|
||||||
styled-jsx "5.1.1"
|
styled-jsx "5.1.1"
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
"@next/swc-darwin-arm64" "14.2.15"
|
"@next/swc-darwin-arm64" "14.2.21"
|
||||||
"@next/swc-darwin-x64" "14.2.15"
|
"@next/swc-darwin-x64" "14.2.21"
|
||||||
"@next/swc-linux-arm64-gnu" "14.2.15"
|
"@next/swc-linux-arm64-gnu" "14.2.21"
|
||||||
"@next/swc-linux-arm64-musl" "14.2.15"
|
"@next/swc-linux-arm64-musl" "14.2.21"
|
||||||
"@next/swc-linux-x64-gnu" "14.2.15"
|
"@next/swc-linux-x64-gnu" "14.2.21"
|
||||||
"@next/swc-linux-x64-musl" "14.2.15"
|
"@next/swc-linux-x64-musl" "14.2.21"
|
||||||
"@next/swc-win32-arm64-msvc" "14.2.15"
|
"@next/swc-win32-arm64-msvc" "14.2.21"
|
||||||
"@next/swc-win32-ia32-msvc" "14.2.15"
|
"@next/swc-win32-ia32-msvc" "14.2.21"
|
||||||
"@next/swc-win32-x64-msvc" "14.2.15"
|
"@next/swc-win32-x64-msvc" "14.2.21"
|
||||||
|
|
||||||
node-domexception@^1.0.0:
|
node-domexception@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import csv
|
import csv
|
||||||
import json
|
import json
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
from urllib.parse import quote
|
||||||
|
|
||||||
from apscheduler.job import Job
|
from apscheduler.job import Job
|
||||||
from django.contrib import admin, messages
|
from django.contrib import admin, messages
|
||||||
@@ -154,8 +155,9 @@ class KhojUserAdmin(UserAdmin, unfold_admin.ModelAdmin):
|
|||||||
for user in queryset:
|
for user in queryset:
|
||||||
if user.email:
|
if user.email:
|
||||||
host = request.get_host()
|
host = request.get_host()
|
||||||
unique_id = user.email_verification_code
|
otp = quote(user.email_verification_code)
|
||||||
login_url = f"{host}/auth/magic?code={unique_id}&email={user.email}"
|
encoded_email = quote(user.email)
|
||||||
|
login_url = f"{host}/auth/magic?code={otp}&email={encoded_email}"
|
||||||
messages.info(request, f"Email login URL for {user.email}: {login_url}")
|
messages.info(request, f"Email login URL for {user.email}: {login_url}")
|
||||||
|
|
||||||
get_email_login_url.short_description = "Get email login URL" # type: ignore
|
get_email_login_url.short_description = "Get email login URL" # type: ignore
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ model_to_prompt_size = {
|
|||||||
"claude-3-5-sonnet-20241022": 60000,
|
"claude-3-5-sonnet-20241022": 60000,
|
||||||
"claude-3-5-haiku-20241022": 60000,
|
"claude-3-5-haiku-20241022": 60000,
|
||||||
# Offline Models
|
# Offline Models
|
||||||
"Qwen/Qwen2.5-14B-Instruct-GGUF": 20000,
|
"bartowski/Qwen2.5-14B-Instruct-GGUF": 20000,
|
||||||
"bartowski/Meta-Llama-3.1-8B-Instruct-GGUF": 20000,
|
"bartowski/Meta-Llama-3.1-8B-Instruct-GGUF": 20000,
|
||||||
"bartowski/Llama-3.2-3B-Instruct-GGUF": 20000,
|
"bartowski/Llama-3.2-3B-Instruct-GGUF": 20000,
|
||||||
"bartowski/gemma-2-9b-it-GGUF": 6000,
|
"bartowski/gemma-2-9b-it-GGUF": 6000,
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
from urllib.parse import quote
|
||||||
|
|
||||||
import markdown_it
|
import markdown_it
|
||||||
import resend
|
import resend
|
||||||
@@ -29,7 +30,7 @@ def is_resend_enabled():
|
|||||||
|
|
||||||
|
|
||||||
async def send_magic_link_email(email, unique_id, host):
|
async def send_magic_link_email(email, unique_id, host):
|
||||||
sign_in_link = f"{host}auth/magic?code={unique_id}&email={email}"
|
sign_in_link = f"{host}auth/magic?code={quote(unique_id)}&email={quote(email)}"
|
||||||
|
|
||||||
if not is_resend_enabled():
|
if not is_resend_enabled():
|
||||||
logger.debug(f"Email sending disabled. Share this sign-in link with the user: {sign_in_link}")
|
logger.debug(f"Email sending disabled. Share this sign-in link with the user: {sign_in_link}")
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ default_offline_chat_models = [
|
|||||||
"bartowski/Llama-3.2-3B-Instruct-GGUF",
|
"bartowski/Llama-3.2-3B-Instruct-GGUF",
|
||||||
"bartowski/gemma-2-9b-it-GGUF",
|
"bartowski/gemma-2-9b-it-GGUF",
|
||||||
"bartowski/gemma-2-2b-it-GGUF",
|
"bartowski/gemma-2-2b-it-GGUF",
|
||||||
"Qwen/Qwen2.5-14B-Instruct-GGUF",
|
"bartowski/Qwen2.5-14B-Instruct-GGUF",
|
||||||
]
|
]
|
||||||
default_openai_chat_models = ["gpt-4o-mini", "gpt-4o"]
|
default_openai_chat_models = ["gpt-4o-mini", "gpt-4o"]
|
||||||
default_gemini_chat_models = ["gemini-1.5-flash", "gemini-1.5-pro"]
|
default_gemini_chat_models = ["gemini-1.5-flash", "gemini-1.5-pro"]
|
||||||
|
|||||||
Reference in New Issue
Block a user