khoj 1.23.3__py3-none-any.whl → 1.23.3.dev4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- khoj/database/adapters/__init__.py +4 -0
- khoj/database/migrations/0063_conversation_add_unique_id_field.py +19 -0
- khoj/database/migrations/0064_populate_unique_id.py +20 -0
- khoj/database/migrations/0065_add_unique_constraint_to_unique_id.py +17 -0
- khoj/database/models/__init__.py +1 -0
- khoj/interface/compiled/404/index.html +1 -1
- khoj/interface/compiled/_next/static/chunks/1603-7914d7712a47690d.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/agents/page-cd8e2ba85287e1f6.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/automations/{page-3f4b6ff0261e19b7.js → page-6ea3381528603372.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/chat/page-5752b57c1e43e8a7.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/factchecker/{page-828cf3c5b8e3af79.js → page-04a19ab1a988976f.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/page-cd8d5d12595676d7.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/search/{page-dcd385f03255ef36.js → page-fa15807b1ad7e30b.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/settings/{page-ddcd51147d18c694.js → page-1a2acc46cdabaf4a.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/share/chat/{page-a84001b4724b5463.js → page-e20f54450d3ce6c0.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/{webpack-56df4667546b1c60.js → webpack-072d1cbdec7e1782.js} +1 -1
- khoj/interface/compiled/_next/static/css/43939edc2f9b2043.css +1 -0
- khoj/interface/compiled/_next/static/css/592ca99f5122e75a.css +1 -0
- khoj/interface/compiled/agents/index.html +1 -1
- khoj/interface/compiled/agents/index.txt +2 -2
- khoj/interface/compiled/automations/index.html +1 -1
- khoj/interface/compiled/automations/index.txt +2 -2
- khoj/interface/compiled/chat/index.html +1 -1
- khoj/interface/compiled/chat/index.txt +2 -2
- khoj/interface/compiled/factchecker/index.html +1 -1
- khoj/interface/compiled/factchecker/index.txt +2 -2
- khoj/interface/compiled/index.html +1 -1
- khoj/interface/compiled/index.txt +2 -2
- khoj/interface/compiled/search/index.html +1 -1
- khoj/interface/compiled/search/index.txt +2 -2
- khoj/interface/compiled/settings/index.html +1 -1
- khoj/interface/compiled/settings/index.txt +2 -2
- khoj/interface/compiled/share/chat/index.html +1 -1
- khoj/interface/compiled/share/chat/index.txt +2 -2
- khoj/interface/email/task.html +34 -31
- khoj/interface/email/welcome.html +53 -82
- khoj/main.py +1 -1
- khoj/processor/content/images/image_to_entries.py +4 -6
- khoj/processor/conversation/utils.py +7 -12
- khoj/routers/api_chat.py +31 -2
- khoj/routers/helpers.py +0 -4
- khoj/utils/cli.py +0 -6
- khoj/utils/constants.py +2 -9
- khoj/utils/initialization.py +71 -158
- {khoj-1.23.3.dist-info → khoj-1.23.3.dev4.dist-info}/METADATA +2 -2
- {khoj-1.23.3.dist-info → khoj-1.23.3.dev4.dist-info}/RECORD +54 -51
- khoj/interface/compiled/_next/static/chunks/1603-fb2d80ae73990df3.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/agents/page-922694b75f1fb67b.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/chat/page-6fac068cc1cca546.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/page-b9e0500234c59a3e.js +0 -1
- khoj/interface/compiled/_next/static/css/4cae6c0e5c72fb2d.css +0 -1
- khoj/interface/compiled/_next/static/css/92c48eece0b102b9.css +0 -1
- /khoj/interface/compiled/_next/static/chunks/{8423-ce22327cf2d2edae.js → 8423-14fc72aec9104ce9.js} +0 -0
- /khoj/interface/compiled/_next/static/chunks/{9178-3a0baad1c172d515.js → 9178-c153fc402c970365.js} +0 -0
- /khoj/interface/compiled/_next/static/chunks/{9417-2e54c6fd056982d8.js → 9417-5d14ac74aaab2c66.js} +0 -0
- /khoj/interface/compiled/_next/static/{H8WZzL_OHSsjoAIEAIo8M → d3ySlDLLYAYu1Jr-Dc35R}/_buildManifest.js +0 -0
- /khoj/interface/compiled/_next/static/{H8WZzL_OHSsjoAIEAIo8M → d3ySlDLLYAYu1Jr-Dc35R}/_ssgManifest.js +0 -0
- {khoj-1.23.3.dist-info → khoj-1.23.3.dev4.dist-info}/WHEEL +0 -0
- {khoj-1.23.3.dist-info → khoj-1.23.3.dev4.dist-info}/entry_points.txt +0 -0
- {khoj-1.23.3.dist-info → khoj-1.23.3.dev4.dist-info}/licenses/LICENSE +0 -0
khoj/utils/initialization.py
CHANGED
@@ -1,37 +1,25 @@
|
|
1
1
|
import logging
|
2
2
|
import os
|
3
|
-
from typing import Tuple
|
4
3
|
|
5
4
|
from khoj.database.adapters import ConversationAdapters
|
6
5
|
from khoj.database.models import (
|
7
6
|
ChatModelOptions,
|
8
7
|
KhojUser,
|
9
8
|
OpenAIProcessorConversationConfig,
|
10
|
-
ServerChatSettings,
|
11
9
|
SpeechToTextModelOptions,
|
12
10
|
TextToImageModelConfig,
|
13
11
|
)
|
14
12
|
from khoj.processor.conversation.utils import model_to_prompt_size, model_to_tokenizer
|
15
|
-
from khoj.utils.constants import
|
16
|
-
default_anthropic_chat_models,
|
17
|
-
default_gemini_chat_models,
|
18
|
-
default_offline_chat_models,
|
19
|
-
default_openai_chat_models,
|
20
|
-
)
|
13
|
+
from khoj.utils.constants import default_offline_chat_model, default_online_chat_model
|
21
14
|
|
22
15
|
logger = logging.getLogger(__name__)
|
23
16
|
|
24
17
|
|
25
|
-
def initialization(
|
18
|
+
def initialization():
|
26
19
|
def _create_admin_user():
|
27
20
|
logger.info(
|
28
21
|
"👩✈️ Setting up admin user. These credentials will allow you to configure your server at /server/admin."
|
29
22
|
)
|
30
|
-
if not interactive and (not os.getenv("KHOJ_ADMIN_EMAIL") or not os.getenv("KHOJ_ADMIN_PASSWORD")):
|
31
|
-
logger.error(
|
32
|
-
"🚨 Admin user cannot be created. Please set the KHOJ_ADMIN_EMAIL, KHOJ_ADMIN_PASSWORD environment variables or start server in interactive mode."
|
33
|
-
)
|
34
|
-
exit(1)
|
35
23
|
email_addr = os.getenv("KHOJ_ADMIN_EMAIL") or input("Email: ")
|
36
24
|
password = os.getenv("KHOJ_ADMIN_PASSWORD") or input("Password: ")
|
37
25
|
admin_user = KhojUser.objects.create_superuser(email=email_addr, username=email_addr, password=password)
|
@@ -39,103 +27,87 @@ def initialization(interactive: bool = True):
|
|
39
27
|
|
40
28
|
def _create_chat_configuration():
|
41
29
|
logger.info(
|
42
|
-
"🗣️
|
30
|
+
"🗣️ Configure chat models available to your server. You can always update these at /server/admin using the credentials of your admin account"
|
43
31
|
)
|
44
32
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
default_api_key=os.getenv("OPENAI_API_KEY"),
|
50
|
-
vision_enabled=True,
|
51
|
-
is_offline=False,
|
52
|
-
interactive=interactive,
|
53
|
-
)
|
33
|
+
try:
|
34
|
+
use_offline_model = input("Use offline chat model? (y/n): ")
|
35
|
+
if use_offline_model == "y":
|
36
|
+
logger.info("🗣️ Setting up offline chat model")
|
54
37
|
|
55
|
-
|
56
|
-
|
57
|
-
default_speech2text_model = "whisper-1"
|
58
|
-
if interactive:
|
59
|
-
openai_speech2text_model = input(
|
60
|
-
f"Enter the OpenAI speech to text model you want to use (default: {default_speech2text_model}): "
|
38
|
+
offline_chat_model = input(
|
39
|
+
f"Enter the offline chat model you want to use. See HuggingFace for available GGUF models (default: {default_offline_chat_model}): "
|
61
40
|
)
|
62
|
-
|
63
|
-
|
64
|
-
|
41
|
+
if offline_chat_model == "":
|
42
|
+
ChatModelOptions.objects.create(
|
43
|
+
chat_model=default_offline_chat_model, model_type=ChatModelOptions.ModelType.OFFLINE
|
44
|
+
)
|
45
|
+
else:
|
46
|
+
default_max_tokens = model_to_prompt_size.get(offline_chat_model, 2000)
|
47
|
+
max_tokens = input(
|
48
|
+
f"Enter the maximum number of tokens to use for the offline chat model (default {default_max_tokens}):"
|
49
|
+
)
|
50
|
+
max_tokens = max_tokens or default_max_tokens
|
51
|
+
|
52
|
+
default_tokenizer = model_to_tokenizer.get(
|
53
|
+
offline_chat_model, "hf-internal-testing/llama-tokenizer"
|
54
|
+
)
|
55
|
+
tokenizer = input(
|
56
|
+
f"Enter the tokenizer to use for the offline chat model (default: {default_tokenizer}):"
|
57
|
+
)
|
58
|
+
tokenizer = tokenizer or default_tokenizer
|
59
|
+
|
60
|
+
ChatModelOptions.objects.create(
|
61
|
+
chat_model=offline_chat_model,
|
62
|
+
model_type=ChatModelOptions.ModelType.OFFLINE,
|
63
|
+
max_prompt_size=max_tokens,
|
64
|
+
tokenizer=tokenizer,
|
65
|
+
)
|
66
|
+
except ModuleNotFoundError as e:
|
67
|
+
logger.warning("Offline models are not supported on this device.")
|
68
|
+
|
69
|
+
use_openai_model = input("Use OpenAI models? (y/n): ")
|
70
|
+
if use_openai_model == "y":
|
71
|
+
logger.info("🗣️ Setting up your OpenAI configuration")
|
72
|
+
api_key = input("Enter your OpenAI API key: ")
|
73
|
+
OpenAIProcessorConversationConfig.objects.create(api_key=api_key)
|
74
|
+
|
75
|
+
openai_chat_model = input(
|
76
|
+
f"Enter the OpenAI chat model you want to use (default: {default_online_chat_model}): "
|
77
|
+
)
|
78
|
+
openai_chat_model = openai_chat_model or default_online_chat_model
|
79
|
+
|
80
|
+
default_max_tokens = model_to_prompt_size.get(openai_chat_model, 2000)
|
81
|
+
max_tokens = input(
|
82
|
+
f"Enter the maximum number of tokens to use for the OpenAI chat model (default: {default_max_tokens}): "
|
83
|
+
)
|
84
|
+
max_tokens = max_tokens or default_max_tokens
|
85
|
+
ChatModelOptions.objects.create(
|
86
|
+
chat_model=openai_chat_model, model_type=ChatModelOptions.ModelType.OPENAI, max_prompt_size=max_tokens
|
87
|
+
)
|
88
|
+
|
89
|
+
default_speech2text_model = "whisper-1"
|
90
|
+
openai_speech2text_model = input(
|
91
|
+
f"Enter the OpenAI speech to text model you want to use (default: {default_speech2text_model}): "
|
92
|
+
)
|
93
|
+
openai_speech2text_model = openai_speech2text_model or default_speech2text_model
|
65
94
|
SpeechToTextModelOptions.objects.create(
|
66
95
|
model_name=openai_speech2text_model, model_type=SpeechToTextModelOptions.ModelType.OPENAI
|
67
96
|
)
|
68
97
|
|
69
|
-
# Setup OpenAI text to image model
|
70
|
-
if openai_configured:
|
71
98
|
default_text_to_image_model = "dall-e-3"
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
openai_text_to_image_model = openai_text_to_image_model or default_text_to_image_model
|
77
|
-
else:
|
78
|
-
openai_text_to_image_model = default_text_to_image_model
|
99
|
+
openai_text_to_image_model = input(
|
100
|
+
f"Enter the OpenAI text to image model you want to use (default: {default_text_to_image_model}): "
|
101
|
+
)
|
102
|
+
openai_speech2text_model = openai_text_to_image_model or default_text_to_image_model
|
79
103
|
TextToImageModelConfig.objects.create(
|
80
|
-
model_name=openai_text_to_image_model,
|
81
|
-
model_type=TextToImageModelConfig.ModelType.OPENAI,
|
82
|
-
openai_config=openai_provider,
|
104
|
+
model_name=openai_text_to_image_model, model_type=TextToImageModelConfig.ModelType.OPENAI
|
83
105
|
)
|
84
106
|
|
85
|
-
|
86
|
-
|
87
|
-
ChatModelOptions.ModelType.GOOGLE,
|
88
|
-
default_gemini_chat_models,
|
89
|
-
default_api_key=os.getenv("GEMINI_API_KEY"),
|
90
|
-
vision_enabled=False,
|
91
|
-
is_offline=False,
|
92
|
-
interactive=interactive,
|
93
|
-
provider_name="Google Gemini",
|
94
|
-
)
|
107
|
+
if use_offline_model == "y" or use_openai_model == "y":
|
108
|
+
logger.info("🗣️ Chat model configuration complete")
|
95
109
|
|
96
|
-
|
97
|
-
_setup_chat_model_provider(
|
98
|
-
ChatModelOptions.ModelType.ANTHROPIC,
|
99
|
-
default_anthropic_chat_models,
|
100
|
-
default_api_key=os.getenv("ANTHROPIC_API_KEY"),
|
101
|
-
vision_enabled=False,
|
102
|
-
is_offline=False,
|
103
|
-
interactive=interactive,
|
104
|
-
)
|
105
|
-
|
106
|
-
# Set up offline chat models
|
107
|
-
_setup_chat_model_provider(
|
108
|
-
ChatModelOptions.ModelType.OFFLINE,
|
109
|
-
default_offline_chat_models,
|
110
|
-
default_api_key=None,
|
111
|
-
vision_enabled=False,
|
112
|
-
is_offline=True,
|
113
|
-
interactive=interactive,
|
114
|
-
)
|
115
|
-
|
116
|
-
# Explicitly set default chat model
|
117
|
-
chat_models_configured = ChatModelOptions.objects.count()
|
118
|
-
if chat_models_configured > 0:
|
119
|
-
default_chat_model_name = ChatModelOptions.objects.first().chat_model
|
120
|
-
# If there are multiple chat models, ask the user to choose the default chat model
|
121
|
-
if chat_models_configured > 1 and interactive:
|
122
|
-
user_chat_model_name = input(
|
123
|
-
f"Enter the default chat model to use (default: {default_chat_model_name}): "
|
124
|
-
)
|
125
|
-
else:
|
126
|
-
user_chat_model_name = None
|
127
|
-
|
128
|
-
# If the user's choice is valid, set it as the default chat model
|
129
|
-
if user_chat_model_name and ChatModelOptions.objects.filter(chat_model=user_chat_model_name).exists():
|
130
|
-
default_chat_model_name = user_chat_model_name
|
131
|
-
|
132
|
-
# Create a server chat settings object with the default chat model
|
133
|
-
default_chat_model = ChatModelOptions.objects.filter(chat_model=default_chat_model_name).first()
|
134
|
-
ServerChatSettings.objects.create(chat_default=default_chat_model)
|
135
|
-
logger.info("🗣️ Chat model configuration complete")
|
136
|
-
|
137
|
-
# Set up offline speech to text model
|
138
|
-
use_offline_speech2text_model = "n" if not interactive else input("Use offline speech to text model? (y/n): ")
|
110
|
+
use_offline_speech2text_model = input("Use offline speech to text model? (y/n): ")
|
139
111
|
if use_offline_speech2text_model == "y":
|
140
112
|
logger.info("🗣️ Setting up offline speech to text model")
|
141
113
|
# Delete any existing speech to text model options. There can only be one.
|
@@ -152,64 +124,6 @@ def initialization(interactive: bool = True):
|
|
152
124
|
|
153
125
|
logger.info(f"🗣️ Offline speech to text model configured to {offline_speech2text_model}")
|
154
126
|
|
155
|
-
def _setup_chat_model_provider(
|
156
|
-
model_type: ChatModelOptions.ModelType,
|
157
|
-
default_chat_models: list,
|
158
|
-
default_api_key: str,
|
159
|
-
interactive: bool,
|
160
|
-
vision_enabled: bool = False,
|
161
|
-
is_offline: bool = False,
|
162
|
-
provider_name: str = None,
|
163
|
-
) -> Tuple[bool, OpenAIProcessorConversationConfig]:
|
164
|
-
supported_vision_models = ["gpt-4o-mini", "gpt-4o"]
|
165
|
-
provider_name = provider_name or model_type.name.capitalize()
|
166
|
-
default_use_model = {True: "y", False: "n"}[default_api_key is not None or is_offline]
|
167
|
-
use_model_provider = (
|
168
|
-
default_use_model if not interactive else input(f"Add {provider_name} chat models? (y/n): ")
|
169
|
-
)
|
170
|
-
|
171
|
-
if use_model_provider != "y":
|
172
|
-
return False, None
|
173
|
-
|
174
|
-
logger.info(f"️💬 Setting up your {provider_name} chat configuration")
|
175
|
-
|
176
|
-
chat_model_provider = None
|
177
|
-
if not is_offline:
|
178
|
-
if interactive:
|
179
|
-
user_api_key = input(f"Enter your {provider_name} API key (default: {default_api_key}): ")
|
180
|
-
api_key = user_api_key if user_api_key != "" else default_api_key
|
181
|
-
else:
|
182
|
-
api_key = default_api_key
|
183
|
-
chat_model_provider = OpenAIProcessorConversationConfig.objects.create(api_key=api_key, name=provider_name)
|
184
|
-
|
185
|
-
if interactive:
|
186
|
-
chat_model_names = input(
|
187
|
-
f"Enter the {provider_name} chat models you want to use (default: {','.join(default_chat_models)}): "
|
188
|
-
)
|
189
|
-
chat_models = chat_model_names.split(",") if chat_model_names != "" else default_chat_models
|
190
|
-
chat_models = [model.strip() for model in chat_models]
|
191
|
-
else:
|
192
|
-
chat_models = default_chat_models
|
193
|
-
|
194
|
-
for chat_model in chat_models:
|
195
|
-
default_max_tokens = model_to_prompt_size.get(chat_model)
|
196
|
-
default_tokenizer = model_to_tokenizer.get(chat_model)
|
197
|
-
vision_enabled = vision_enabled and chat_model in supported_vision_models
|
198
|
-
|
199
|
-
chat_model_options = {
|
200
|
-
"chat_model": chat_model,
|
201
|
-
"model_type": model_type,
|
202
|
-
"max_prompt_size": default_max_tokens,
|
203
|
-
"vision_enabled": vision_enabled,
|
204
|
-
"tokenizer": default_tokenizer,
|
205
|
-
"openai_config": chat_model_provider,
|
206
|
-
}
|
207
|
-
|
208
|
-
ChatModelOptions.objects.create(**chat_model_options)
|
209
|
-
|
210
|
-
logger.info(f"🗣️ {provider_name} chat model configuration complete")
|
211
|
-
return True, chat_model_provider
|
212
|
-
|
213
127
|
admin_user = KhojUser.objects.filter(is_staff=True).first()
|
214
128
|
if admin_user is None:
|
215
129
|
while True:
|
@@ -225,8 +139,7 @@ def initialization(interactive: bool = True):
|
|
225
139
|
try:
|
226
140
|
_create_chat_configuration()
|
227
141
|
break
|
228
|
-
# Some environments don't support interactive input. We catch the exception and return if that's the case.
|
229
|
-
# The admin can still configure their settings from the admin page.
|
142
|
+
# Some environments don't support interactive input. We catch the exception and return if that's the case. The admin can still configure their settings from the admin page.
|
230
143
|
except EOFError:
|
231
144
|
return
|
232
145
|
except Exception as e:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: khoj
|
3
|
-
Version: 1.23.3
|
3
|
+
Version: 1.23.3.dev4
|
4
4
|
Summary: Your Second Brain
|
5
5
|
Project-URL: Homepage, https://khoj.dev
|
6
6
|
Project-URL: Documentation, https://docs.khoj.dev
|
@@ -61,7 +61,7 @@ Requires-Dist: pymupdf>=1.23.5
|
|
61
61
|
Requires-Dist: python-multipart>=0.0.7
|
62
62
|
Requires-Dist: pytz~=2024.1
|
63
63
|
Requires-Dist: pyyaml~=6.0
|
64
|
-
Requires-Dist: rapidocr-onnxruntime==1.3.
|
64
|
+
Requires-Dist: rapidocr-onnxruntime==1.3.22
|
65
65
|
Requires-Dist: requests>=2.26.0
|
66
66
|
Requires-Dist: rich>=13.3.1
|
67
67
|
Requires-Dist: schedule==1.1.0
|
@@ -1,6 +1,6 @@
|
|
1
1
|
khoj/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
2
|
khoj/configure.py,sha256=C5xSS_1ptxgfRfabQ0zZoFteASIS4mCFMvdkdCMVvSs,17019
|
3
|
-
khoj/main.py,sha256=
|
3
|
+
khoj/main.py,sha256=58Rssq2H5AM69dA2UyGHye3vPAMp5RRS6xLcGkB_G_w,8147
|
4
4
|
khoj/manage.py,sha256=njo6uLxGaMamTPesHjFEOIBJbpIUrz39e1V59zKj544,664
|
5
5
|
khoj/app/README.md,sha256=PSQjKCdpU2hgszLVF8yEhV7TWhbEEb-1aYLTRuuAsKI,2832
|
6
6
|
khoj/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -11,7 +11,7 @@ khoj/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
khoj/database/admin.py,sha256=bYF13peHgHpugd9bkEwYzO1r-r5l9JIDjCQbdmK3tT8,9166
|
12
12
|
khoj/database/apps.py,sha256=pM4tkX5Odw4YW_hLLKK8Nd5kqGddf1en0oMCea44RZw,153
|
13
13
|
khoj/database/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
|
14
|
-
khoj/database/adapters/__init__.py,sha256=
|
14
|
+
khoj/database/adapters/__init__.py,sha256=HKZXHIRMkWPM1Vude9i-7oUmIVyN-r9ygIrKL_BCcMk,54097
|
15
15
|
khoj/database/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
16
16
|
khoj/database/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
17
17
|
khoj/database/management/commands/change_generated_images_url.py,sha256=w52FwRlyOL4YRpp9O6jJUjSIuGLxVhaS2w1D7gtQgOE,2644
|
@@ -90,27 +90,28 @@ khoj/database/migrations/0060_merge_20240905_1828.py,sha256=N6_R-kB3vzV8by1CreOB
|
|
90
90
|
khoj/database/migrations/0061_alter_chatmodeloptions_model_type.py,sha256=WEln3Co2NLTrjeOXXFQdjI7aOjq04Rg6ekc9BQBKtlA,689
|
91
91
|
khoj/database/migrations/0061_alter_texttoimagemodelconfig_model_type.py,sha256=VAtPkQeYOKX4mMJauYl5kCKhsWwlNYEQKM3zpKyws2A,582
|
92
92
|
khoj/database/migrations/0062_merge_20240913_0222.py,sha256=qmjmY7dGejSVjSqMSasrKOofZOMJho_1Qxnrhlq2Ze8,341
|
93
|
+
khoj/database/migrations/0063_conversation_add_unique_id_field.py,sha256=7Fquw11FNzQE5RgxV65YzI0lKLtECAPLb0P3zb_yz-g,433
|
94
|
+
khoj/database/migrations/0064_populate_unique_id.py,sha256=pbncdTOvaKADx_WuZ39QBOU5HsXwM8briG2Ye9BkB4M,488
|
95
|
+
khoj/database/migrations/0065_add_unique_constraint_to_unique_id.py,sha256=PBpbn8G3_wg8701zWvQMwwdLP3R8w9t04Con1Dr6nrQ,393
|
93
96
|
khoj/database/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
94
|
-
khoj/database/models/__init__.py,sha256=
|
97
|
+
khoj/database/models/__init__.py,sha256=YY6aNy52WJQjyIvgLdvq5KyPjq8GLXC0565r8y9IR5A,19445
|
95
98
|
khoj/interface/compiled/agents.svg,sha256=yFCRwIM-Qawa0C5ggAo3ekb-Q1ElmotBOKIGhtfIQqM,1722
|
96
99
|
khoj/interface/compiled/automation.svg,sha256=o7L2XYwJWRSMvl8h6TBv6Pt28RTRVMHqF04EPY0AFj0,1467
|
97
100
|
khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvtM3A,2424
|
98
101
|
khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
|
99
102
|
khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
|
100
103
|
khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
|
101
|
-
khoj/interface/compiled/index.html,sha256=
|
102
|
-
khoj/interface/compiled/index.txt,sha256=
|
104
|
+
khoj/interface/compiled/index.html,sha256=jL-Wqlv30pemnmrKsga0BX3ZD_WciCGRGX_JuwDaYMc,12063
|
105
|
+
khoj/interface/compiled/index.txt,sha256=uubkexRRuCTfLmR3UlhPhSx4b9og232-GG5Ob1_cg34,5573
|
103
106
|
khoj/interface/compiled/khoj.webmanifest,sha256=lsknYkvEdMbRTOUYKXPM_8krN2gamJmM4u3qj8u9lrU,1682
|
104
107
|
khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
|
105
108
|
khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
|
106
109
|
khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
|
107
110
|
khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
|
108
111
|
khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
|
109
|
-
khoj/interface/compiled/404/index.html,sha256=
|
110
|
-
khoj/interface/compiled/_next/static/H8WZzL_OHSsjoAIEAIo8M/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
|
111
|
-
khoj/interface/compiled/_next/static/H8WZzL_OHSsjoAIEAIo8M/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
112
|
+
khoj/interface/compiled/404/index.html,sha256=MQ8-NyNWxh-5x_LE-QD1hjKlfz4p3inyUWikv38UCII,11971
|
112
113
|
khoj/interface/compiled/_next/static/chunks/121-7024f479c297aef0.js,sha256=CcRT2AArGYTo7Orl5w69nrnMqdI_EmyEP_YqIj3FU1c,20952
|
113
|
-
khoj/interface/compiled/_next/static/chunks/1603-
|
114
|
+
khoj/interface/compiled/_next/static/chunks/1603-7914d7712a47690d.js,sha256=FOHfXtkeS7jexkt4fVMYflY1GS--3xOAdtvxHS5Ax3U,71330
|
114
115
|
khoj/interface/compiled/_next/static/chunks/1906-1747a36c336df02c.js,sha256=PAEKTp-H8pKEZTPQiKpr2DiCXzjBG6zJfBgZosV2Vd8,1083851
|
115
116
|
khoj/interface/compiled/_next/static/chunks/3062-9be9a4e34f82ed3a.js,sha256=-CDtDYpliJ2q_0ADcmVkW6rG8KREiU9QY8uDULIgAmA,256214
|
116
117
|
khoj/interface/compiled/_next/static/chunks/3678-0732dd9d2f472171.js,sha256=v6TFD7dor0r5aoeg10fdsNxdHXJty-vyWSIV6A4DYik,244423
|
@@ -120,11 +121,11 @@ khoj/interface/compiled/_next/static/chunks/6648-ff677e51f1b2bcf1.js,sha256=9bJl
|
|
120
121
|
khoj/interface/compiled/_next/static/chunks/7023-52c1be60135eb057.js,sha256=CI8R2DdZNEt3nACmiXUG1NnKhnal1ImzXglW-xDuxcI,123657
|
121
122
|
khoj/interface/compiled/_next/static/chunks/7071-b4711cecca6619a8.js,sha256=z-KSur3LbIFPg_90wN0EMhV0et9cJVfG_MR9POVmdCQ,7801
|
122
123
|
khoj/interface/compiled/_next/static/chunks/743-1a64254447cda71f.js,sha256=YH4bEkjmttcOGzAzXKaDCJ-C68jk2qy1cQJP2ljjoAA,100834
|
123
|
-
khoj/interface/compiled/_next/static/chunks/8423-
|
124
|
+
khoj/interface/compiled/_next/static/chunks/8423-14fc72aec9104ce9.js,sha256=q03PbOtkL3uoNxrhwlreR4DXAU35lRzmzm1TCJ_YvmY,11359
|
124
125
|
khoj/interface/compiled/_next/static/chunks/9001-3b27af6d5f21df44.js,sha256=Flth4g5eWRwc5YXKFgtTxW0dr13NMy7Bf3iw7bj38J0,34911
|
125
126
|
khoj/interface/compiled/_next/static/chunks/9162-0be016519a18568b.js,sha256=3MT-VTsB7Q-ATTO5X6Eu2-QNZfrZNaAr-R41iRsn3RY,149610
|
126
|
-
khoj/interface/compiled/_next/static/chunks/9178-
|
127
|
-
khoj/interface/compiled/_next/static/chunks/9417-
|
127
|
+
khoj/interface/compiled/_next/static/chunks/9178-c153fc402c970365.js,sha256=kDBTe9uINH3f7CDYoKN1rO-YRVon_pczC0Bgz3M0JJ8,17678
|
128
|
+
khoj/interface/compiled/_next/static/chunks/9417-5d14ac74aaab2c66.js,sha256=FZ8xOLMdzrlVmwtcyuQSy8bBwd8_UZ1hH3FlL4DwXpA,17252
|
128
129
|
khoj/interface/compiled/_next/static/chunks/9984-e410179c6fac7cf1.js,sha256=FECyLY1WnBRP9TpLhPHxxmf4nSWwEKX4SLnb3W9UqT8,31305
|
129
130
|
khoj/interface/compiled/_next/static/chunks/d3ac728e-a9e3522eef9b6b28.js,sha256=wK1TsLdl56xtbQG6HMRDpylzTOYXQaAnnn2xobFnX40,267216
|
130
131
|
khoj/interface/compiled/_next/static/chunks/fd9d1056-2b978342deb60015.js,sha256=2lquiZSfbI-gX4j4TW4JSMLL_D5ShqwydgWpFyXrTy8,172834
|
@@ -132,35 +133,37 @@ khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js,sha256
|
|
132
133
|
khoj/interface/compiled/_next/static/chunks/main-175c164f5e0f026c.js,sha256=hlUnjERudON4V4kUKprrFz1e9JRtSp4A9i7vnM-1bzA,110324
|
133
134
|
khoj/interface/compiled/_next/static/chunks/main-app-6d6ee3495efe03d4.js,sha256=i52E7sWOcSq1G8eYZL3mtTxbUbwRNxcAbSWQ6uWpMsY,475
|
134
135
|
khoj/interface/compiled/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
|
135
|
-
khoj/interface/compiled/_next/static/chunks/webpack-
|
136
|
+
khoj/interface/compiled/_next/static/chunks/webpack-072d1cbdec7e1782.js,sha256=iKJsw2a9B84T-qyE2Vmk7EL3zvShBdfBLes8a0ytjUg,3724
|
136
137
|
khoj/interface/compiled/_next/static/chunks/app/layout-f3e40d346da53112.js,sha256=nekGSUVbvB81OfqGgJa2UoDmbxPhNwFwtc4o11O_1jI,442
|
137
|
-
khoj/interface/compiled/_next/static/chunks/app/page-
|
138
|
+
khoj/interface/compiled/_next/static/chunks/app/page-cd8d5d12595676d7.js,sha256=5_0Ru0MAHVI0KvLQa3dzl6t9Eq6BV617ZFTcTzVHBuo,28773
|
138
139
|
khoj/interface/compiled/_next/static/chunks/app/_not-found/page-07ff4ab42b07845e.js,sha256=3mCUnxfMxyK44eqk21TVBrC6u--WSbvx31fTmQuOvMQ,1755
|
139
140
|
khoj/interface/compiled/_next/static/chunks/app/agents/layout-e71c8e913cccf792.js,sha256=VyIMrkvntFObMzXF-elNtngJ8mBdjg8XrOGfboJ2f_4,372
|
140
|
-
khoj/interface/compiled/_next/static/chunks/app/agents/page-
|
141
|
+
khoj/interface/compiled/_next/static/chunks/app/agents/page-cd8e2ba85287e1f6.js,sha256=68t6_iSOUAi0I-_CWzSUY0niWsmAohss162_xpFgyfg,17971
|
141
142
|
khoj/interface/compiled/_next/static/chunks/app/automations/layout-27c28e923c9b1ff0.js,sha256=d2vJ_lVB0pfeFXNUPzHAe1ca5NzdNowHPh___SPqugM,5143
|
142
|
-
khoj/interface/compiled/_next/static/chunks/app/automations/page-
|
143
|
+
khoj/interface/compiled/_next/static/chunks/app/automations/page-6ea3381528603372.js,sha256=k3i98nr6E_PNFbysxyybVnX3HPQeO9lYCLGJLLDoQzA,34467
|
143
144
|
khoj/interface/compiled/_next/static/chunks/app/chat/layout-8102549127db3067.js,sha256=YIoA3fqOBt8nKWw5iQAwA_avg2t1Q5Afn65IA5PBOz4,374
|
144
|
-
khoj/interface/compiled/_next/static/chunks/app/chat/page-
|
145
|
+
khoj/interface/compiled/_next/static/chunks/app/chat/page-5752b57c1e43e8a7.js,sha256=CBAulCm3HVSf8qhGYbOAprlNPpPffnPzuatjZc5WTIg,11354
|
145
146
|
khoj/interface/compiled/_next/static/chunks/app/factchecker/layout-7b30c541c05fb904.js,sha256=yub2AuBKHKSCqrHRFnkZv9JXLmLJLOB99iiaD3DtZQM,170
|
146
|
-
khoj/interface/compiled/_next/static/chunks/app/factchecker/page-
|
147
|
+
khoj/interface/compiled/_next/static/chunks/app/factchecker/page-04a19ab1a988976f.js,sha256=pY0MoXEHFoRpZhJk5eBfox6_eVJ9UQe5RzBBp6v1Rd8,14028
|
147
148
|
khoj/interface/compiled/_next/static/chunks/app/search/layout-3720f1362310bebb.js,sha256=Smpa4MQaw5ItashtspsDKsOvRa6sOXH_lv4jIfWIbNI,170
|
148
|
-
khoj/interface/compiled/_next/static/chunks/app/search/page-
|
149
|
+
khoj/interface/compiled/_next/static/chunks/app/search/page-fa15807b1ad7e30b.js,sha256=st3BmeRoT8a_lJrTrUhOTVUuaZQJjC60_lE_GmreLeQ,6954
|
149
150
|
khoj/interface/compiled/_next/static/chunks/app/settings/layout-6f9314b0d7a26046.js,sha256=ikl3vCXnp81sa24uPSuRbgvgDtpHGWfhxEs4OAOYXIM,5347
|
150
|
-
khoj/interface/compiled/_next/static/chunks/app/settings/page-
|
151
|
+
khoj/interface/compiled/_next/static/chunks/app/settings/page-1a2acc46cdabaf4a.js,sha256=UlzlVKjA8EnaxxT5XzKSJN3lJCF8Psa671mQ6LWapDE,31895
|
151
152
|
khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-39f03f9e32399f0f.js,sha256=ClS8wrj6HOsRL4VX8DMiqX_MlQDsi_3CA-AQt4m7vuA,373
|
152
|
-
khoj/interface/compiled/_next/static/chunks/app/share/chat/page-
|
153
|
+
khoj/interface/compiled/_next/static/chunks/app/share/chat/page-e20f54450d3ce6c0.js,sha256=Nxq4EKb7bMYb3vUt0Cwf-QsFat3zJn6fCiSSpu5EmCg,10340
|
153
154
|
khoj/interface/compiled/_next/static/chunks/pages/_app-f870474a17b7f2fd.js,sha256=eqdFPAN_XFyMUzZ9qwFk-_rhMWZrU7lgNVt1foVUANo,286
|
154
155
|
khoj/interface/compiled/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
|
155
156
|
khoj/interface/compiled/_next/static/css/1538cedb321e3a97.css,sha256=-qLZhPN-wA3kcrVODVTaG1sN0pmuzRCqNH12gs5_qYc,2569
|
156
157
|
khoj/interface/compiled/_next/static/css/2272c73fc7a3b571.css,sha256=1fHKFd8zLOHosAHx-kxv4b9lVSqHag_E71WkV3dXx2Y,26940
|
157
158
|
khoj/interface/compiled/_next/static/css/3e49e5ee49c6bda1.css,sha256=wtTUdySBdCNhZCgvRFkiKTm5_1LADYmHNHYoQhxir-w,1881442
|
158
|
-
khoj/interface/compiled/_next/static/css/
|
159
|
+
khoj/interface/compiled/_next/static/css/43939edc2f9b2043.css,sha256=5shVVtMfsylG5H5Q0A41UiAM0PUAAjO6E4ow3vpTuUg,7716
|
159
160
|
khoj/interface/compiled/_next/static/css/553f9cdcc7a2bcd6.css,sha256=JpjOOwmqP9Hba-w_8Lx9jWW0ZD0kD3wR0HvdPGDyUPo,2134
|
161
|
+
khoj/interface/compiled/_next/static/css/592ca99f5122e75a.css,sha256=BSqRkeb9vBh0phx5GkAlZirTFZintbyggGaUkuOBfaU,914
|
160
162
|
khoj/interface/compiled/_next/static/css/5a400c87d295e68a.css,sha256=ojDUPJ9fJpEo9DzTAsEa-k1cg7Bef-nSTfpszMiqknQ,17711
|
161
|
-
khoj/interface/compiled/_next/static/css/92c48eece0b102b9.css,sha256=l5BKV3oQLFhVG-mq9xXUA9NIYm_R8NlWwR-cee3BLYg,8096
|
162
163
|
khoj/interface/compiled/_next/static/css/a3530ec58b0b660f.css,sha256=2fpX695nzJ6sNaNZbX_3Z0o-IA5kRlyN0ByIIXRgmtg,1570
|
163
164
|
khoj/interface/compiled/_next/static/css/c808691c459e3887.css,sha256=Xj1SLFCKntSIqZSDCMg2MnzZowIiKFtqPT3KxrT4i94,1857
|
165
|
+
khoj/interface/compiled/_next/static/d3ySlDLLYAYu1Jr-Dc35R/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
|
166
|
+
khoj/interface/compiled/_next/static/d3ySlDLLYAYu1Jr-Dc35R/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
164
167
|
khoj/interface/compiled/_next/static/media/0e790e04fd40ad16-s.p.woff2,sha256=41ewITd0G1ZAoB62BTHMW58a1q8Hl6vSbTQkkHP7EbI,39372
|
165
168
|
khoj/interface/compiled/_next/static/media/4221e1667cd19c7d-s.woff2,sha256=_Y3g0keA8P6nZnFfm_VO5o2Sne1iST3v9xz4fBo3fwM,75532
|
166
169
|
khoj/interface/compiled/_next/static/media/6c276159aa0eb14b-s.woff2,sha256=i9Ibzi_O7y5KpImujj2rEdOZf96lpNYxYzVvCryW5Uc,140408
|
@@ -233,8 +236,8 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
|
|
233
236
|
khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
|
234
237
|
khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
|
235
238
|
khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
|
236
|
-
khoj/interface/compiled/agents/index.html,sha256=
|
237
|
-
khoj/interface/compiled/agents/index.txt,sha256=
|
239
|
+
khoj/interface/compiled/agents/index.html,sha256=achxkbCS7rryeWsRZgbFJFvVLFYkCU6qv8MahU1jCnQ,12723
|
240
|
+
khoj/interface/compiled/agents/index.txt,sha256=XjYA1G7LcemVbttQSZ4_xGAcsRWmytfS6U-KDVMdZWc,6087
|
238
241
|
khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
|
239
242
|
khoj/interface/compiled/assets/icons/khoj_lantern_128x128.png,sha256=aTxivDb3CYyThkVZWz8A19xl_dNut5DbkXhODWF3A9Q,5640
|
240
243
|
khoj/interface/compiled/assets/icons/khoj_lantern_256x256.png,sha256=xPCMLHiaL7lYOdQLZrKwWE-Qjn5ZaysSZB0ScYv4UZU,12312
|
@@ -245,22 +248,22 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
|
|
245
248
|
khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
|
246
249
|
khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
|
247
250
|
khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
|
248
|
-
khoj/interface/compiled/automations/index.html,sha256=
|
249
|
-
khoj/interface/compiled/automations/index.txt,sha256=
|
250
|
-
khoj/interface/compiled/chat/index.html,sha256=
|
251
|
-
khoj/interface/compiled/chat/index.txt,sha256=
|
252
|
-
khoj/interface/compiled/factchecker/index.html,sha256=
|
253
|
-
khoj/interface/compiled/factchecker/index.txt,sha256
|
254
|
-
khoj/interface/compiled/search/index.html,sha256=
|
255
|
-
khoj/interface/compiled/search/index.txt,sha256=
|
256
|
-
khoj/interface/compiled/settings/index.html,sha256=
|
257
|
-
khoj/interface/compiled/settings/index.txt,sha256=
|
258
|
-
khoj/interface/compiled/share/chat/index.html,sha256=
|
259
|
-
khoj/interface/compiled/share/chat/index.txt,sha256=
|
251
|
+
khoj/interface/compiled/automations/index.html,sha256=NZ0wHPiYtQBFbugeTS5EZ6Li15FF3Kx_WVul0wKbCG8,30524
|
252
|
+
khoj/interface/compiled/automations/index.txt,sha256=OBZGiK3QySFItBF7xPpFoEvjsgjLEoKpKPUS0qOlkVM,5459
|
253
|
+
khoj/interface/compiled/chat/index.html,sha256=71IUvxtBZ2HQzHlvehzyaENUUO5ZUKzt7sas0P8qy1o,13741
|
254
|
+
khoj/interface/compiled/chat/index.txt,sha256=Y5uix_u-SOGs9gwPOKZos47F_J6FqXMlWnYfRiRYda0,6491
|
255
|
+
khoj/interface/compiled/factchecker/index.html,sha256=mJBHn9eRifRal9_jntsBLnt3UmaKJbz7OahKVJaoQEc,29990
|
256
|
+
khoj/interface/compiled/factchecker/index.txt,sha256=hBiUmbALqHmSPWabuEhV0iVN6PKa-fwI3nQueNzUnOI,5793
|
257
|
+
khoj/interface/compiled/search/index.html,sha256=aJIbb2G6m1JQaRqKEDpbj2wiRFGqG89XVoJR9cCVfOM,30178
|
258
|
+
khoj/interface/compiled/search/index.txt,sha256=Lv24MuBvuleIKkzvRoJKNm1e-CUk1nOJhFe4dwJn8mY,5261
|
259
|
+
khoj/interface/compiled/settings/index.html,sha256=SYHySRIqGzaKuve9TOFotnp5TLHnOG-J3taXCsLRr7o,12851
|
260
|
+
khoj/interface/compiled/settings/index.txt,sha256=Q3el4BUoEZbcnb2qH6RZloxDW6gdAT4-443AXqg-y_U,6085
|
261
|
+
khoj/interface/compiled/share/chat/index.html,sha256=8HDG_w7yQCXz7oblCi5q4acNHAT-qgFWnV4GTSa97YY,15071
|
262
|
+
khoj/interface/compiled/share/chat/index.txt,sha256=Xwy-s4a2jpTb7ZU0JSN30rOU0rknQmLYP6N89F1u9LI,7309
|
260
263
|
khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
|
261
264
|
khoj/interface/email/magic_link.html,sha256=EoGKQucfPj3xQrWXhSZAzPFOYCHF_ZX94TWCd1XHl1M,941
|
262
|
-
khoj/interface/email/task.html,sha256=
|
263
|
-
khoj/interface/email/welcome.html,sha256=
|
265
|
+
khoj/interface/email/task.html,sha256=59SG3RPOdA67ic86x92GMHcZeVjFl-g71sCi4o6-cPs,3305
|
266
|
+
khoj/interface/email/welcome.html,sha256=_4ncbUHNNE1eU40iGgArBT7Z0q_aDLmv7ELiaHCnv6Y,6594
|
264
267
|
khoj/interface/web/base_config.html,sha256=3aRwGF546vUdtCqL4tbWDdvO3ThEzt627vopx_tS4zo,12181
|
265
268
|
khoj/interface/web/content_source_github_input.html,sha256=YpsLBpsATW08ttrGysqktx2EczC4nebKlvWpwxtwmFY,8249
|
266
269
|
khoj/interface/web/login.html,sha256=4mYRX7521W4J8fFV-Cm_NqojMrpdwKZuzVAjnZRDsl4,6864
|
@@ -295,7 +298,7 @@ khoj/processor/content/docx/docx_to_entries.py,sha256=qCVbvetCDG30lxxUeEjg_BTNJt
|
|
295
298
|
khoj/processor/content/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
296
299
|
khoj/processor/content/github/github_to_entries.py,sha256=SfgXJi59LvFldnRLC5dJ3tUhM5vym-ZrbUovh1G42LQ,9887
|
297
300
|
khoj/processor/content/images/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
298
|
-
khoj/processor/content/images/image_to_entries.py,sha256=
|
301
|
+
khoj/processor/content/images/image_to_entries.py,sha256=_SEOfXUMNyTFbDFSLoAAE-GXpmtV_dgJ7_KuzQN8sLs,4903
|
299
302
|
khoj/processor/content/markdown/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
300
303
|
khoj/processor/content/markdown/markdown_to_entries.py,sha256=3ZXkJtehcVcMrNY6V4p-8i53zDIIsiVGQg-AMtD_U1U,7076
|
301
304
|
khoj/processor/content/notion/notion_to_entries.py,sha256=zCcajTp60ieJExiX6Qwfctm_DR__bRRJgUXh47jjOac,9829
|
@@ -308,7 +311,7 @@ khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
|
|
308
311
|
khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=97i7Cm0DTY7jW4iqKOT_oVc2ooa_XhQ8iImsljp1Kek,4994
|
309
312
|
khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
310
313
|
khoj/processor/conversation/prompts.py,sha256=_rOawbC9SAcueiSjBo9tf6F-mDIcol--Opqzgskoy5s,33738
|
311
|
-
khoj/processor/conversation/utils.py,sha256
|
314
|
+
khoj/processor/conversation/utils.py,sha256=-ecyC3iOfnwYwuY14uv8tYt2b53EBpm0M5taHIguklM,12095
|
312
315
|
khoj/processor/conversation/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
313
316
|
khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=3EVZQmeucWSoBqRjwuCRJK-q2UYmvLvVsSZs_HCmg_Y,8183
|
314
317
|
khoj/processor/conversation/anthropic/utils.py,sha256=GHCz-xll_DBipqSc5e5qdVhLQiKX5Kso3KQRf1BXbVA,3456
|
@@ -331,13 +334,13 @@ khoj/processor/tools/online_search.py,sha256=V39CemVrSqmgmnQJq2weoSAsMp7tJ7lL1S5
|
|
331
334
|
khoj/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
332
335
|
khoj/routers/api.py,sha256=Wxbb7ihtUXDbnDw7hUqem0mZ0DPQhez4mzPDRN-cNOA,26459
|
333
336
|
khoj/routers/api_agents.py,sha256=ks8QzjmZiio6j1QGi6xFtDmVxd9lvC6LPB-WcDPnF8o,1525
|
334
|
-
khoj/routers/api_chat.py,sha256=
|
337
|
+
khoj/routers/api_chat.py,sha256=VAvIO2zqT0gyGLGPX10M9Z-9DssOW527JQF_q2ZB8pw,59259
|
335
338
|
khoj/routers/api_content.py,sha256=E-Y6G2V14EdxN5rnisQKVINuBuItSZfLiiXpC9E9yTA,17387
|
336
339
|
khoj/routers/api_model.py,sha256=5m7JWwgd9jILiLivRu7NEyY2E-tUkqoEkGg6j6uM1g0,4646
|
337
340
|
khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,2208
|
338
341
|
khoj/routers/auth.py,sha256=pCOLSRihJWcn097DRPxLjPdlejsjHJFRs9jHIzLujZU,6247
|
339
342
|
khoj/routers/email.py,sha256=SGYNPQvfcvYeHf70F0YqpY0FLMRElF2ZekROXdwGI18,3821
|
340
|
-
khoj/routers/helpers.py,sha256=
|
343
|
+
khoj/routers/helpers.py,sha256=FtXs4b7XfTxMapraD0ukcbRgi3yfIHrJfEOtyrO8NlU,63754
|
341
344
|
khoj/routers/notion.py,sha256=Lp67xP9rVgpAF9BQoGTjZFcVdF1HYtvPP0kjq6uurKU,2802
|
342
345
|
khoj/routers/storage.py,sha256=tJrwhFRVWv0MHv7V7huMc1Diwm-putZSwnZXJ3tqT_c,2338
|
343
346
|
khoj/routers/subscription.py,sha256=qEyV7m7mrY6MGtaij8W3v61tpzX2a7ydm2B-E8h_R-M,4285
|
@@ -351,19 +354,19 @@ khoj/search_filter/word_filter.py,sha256=5Yx95aSiqGke9kEIbp8T-Ak4dS9cTd3VxI1SaJo
|
|
351
354
|
khoj/search_type/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
352
355
|
khoj/search_type/text_search.py,sha256=X5okaUGtpB4CnY8VbyNJll_MabUslsHVW0lUhqvBXL0,9131
|
353
356
|
khoj/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
354
|
-
khoj/utils/cli.py,sha256=
|
357
|
+
khoj/utils/cli.py,sha256=oTDt6ClKvYNJ3_j9Omwx49H03IxC7sq4oL1qFpormWc,3456
|
355
358
|
khoj/utils/config.py,sha256=aiOkH0je8A30DAGYTHMRePrgJonFv_i07_7CdhhhcdA,1805
|
356
|
-
khoj/utils/constants.py,sha256=
|
359
|
+
khoj/utils/constants.py,sha256=yUIHgw4vGvlDn2aKVtGAmBCk3QKJjFqlYSp9ej3-OWQ,920
|
357
360
|
khoj/utils/fs_syncer.py,sha256=bQgcbYYC3x11RyCqI_kUzzqGpcKTodGgdT-3OTQsXqw,9977
|
358
361
|
khoj/utils/helpers.py,sha256=OuRXJ_4asO_Ma7HKILYkY-tEhW95dGMZhHIa2pWq0jQ,14517
|
359
|
-
khoj/utils/initialization.py,sha256=
|
362
|
+
khoj/utils/initialization.py,sha256=Q8csjz5YqQ7WZ6mYJWvmp_Dh36dFRpZ3WRWxEgT2Ql0,7117
|
360
363
|
khoj/utils/jsonl.py,sha256=0Ac_COqr8sLCXntzZtquxuCEVRM2c3yKeDRGhgOBRpQ,1192
|
361
364
|
khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
|
362
365
|
khoj/utils/rawconfig.py,sha256=BKicp6kEBax7h76YRYgyFAUpfWHAI5m9ZJ2HVqyh45Y,3983
|
363
366
|
khoj/utils/state.py,sha256=x4GTewP1YhOA6c_32N4wOjnV-3AA3xG_qbY1-wC2Uxc,1559
|
364
367
|
khoj/utils/yaml.py,sha256=H0mfw0ZvBFUvFmCQn8pWkfxdmIebsrSykza7D8Wv6wQ,1430
|
365
|
-
khoj-1.23.3.dist-info/METADATA,sha256=
|
366
|
-
khoj-1.23.3.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
367
|
-
khoj-1.23.3.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
|
368
|
-
khoj-1.23.3.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
369
|
-
khoj-1.23.3.dist-info/RECORD,,
|
368
|
+
khoj-1.23.3.dev4.dist-info/METADATA,sha256=4k-TPiFSgDyKtYkTbIzK7Kd5GfK6HUxs9sPuJpx6lWQ,6768
|
369
|
+
khoj-1.23.3.dev4.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
370
|
+
khoj-1.23.3.dev4.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
|
371
|
+
khoj-1.23.3.dev4.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
372
|
+
khoj-1.23.3.dev4.dist-info/RECORD,,
|