khoj 1.23.3.dev3__py3-none-any.whl → 1.23.4.dev2__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 +8 -12
- khoj/database/migrations/0063_conversation_temp_id.py +36 -0
- khoj/database/migrations/0064_remove_conversation_temp_id_alter_conversation_id.py +86 -0
- khoj/database/models/__init__.py +1 -1
- khoj/interface/compiled/404/index.html +1 -1
- khoj/interface/compiled/_next/static/chunks/1603-d643510c2c0b8871.js +1 -0
- khoj/interface/compiled/_next/static/chunks/2697-9bc8f835a3c24342.js +1 -0
- khoj/interface/compiled/_next/static/chunks/{1906-1747a36c336df02c.js → 4051-3dc2df557ccb5213.js} +2 -2
- khoj/interface/compiled/_next/static/chunks/8423-7f5eb790353afe24.js +1 -0
- khoj/interface/compiled/_next/static/chunks/9178-f5d4737cf74b7d19.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/agents/page-2258ba773c9e3a1f.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/automations/{page-e30a75db8719f439.js → page-e0bedd962fcfa0dd.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/chat/page-1b886aa4f57af1fa.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/factchecker/{page-961b87fcd132b565.js → page-32e61af29e6b431d.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/page-a31799b4c4b78da6.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/search/page-b3193d46c65571c5.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/settings/page-0db9b708366606ec.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/share/chat/page-7df9c23b5fec66de.js +1 -0
- khoj/interface/compiled/_next/static/chunks/{webpack-8920b2a7f23547ac.js → webpack-e58184a46ce22845.js} +1 -1
- khoj/interface/compiled/_next/static/css/93c1302668e4a828.css +25 -0
- khoj/interface/compiled/_next/static/css/ab57702ed2b98214.css +1 -0
- khoj/interface/compiled/_next/static/css/d435f28db0fd3d85.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 +31 -34
- khoj/interface/email/welcome.html +82 -53
- khoj/main.py +1 -1
- khoj/processor/content/images/image_to_entries.py +6 -4
- khoj/processor/conversation/utils.py +13 -8
- khoj/routers/api.py +1 -1
- khoj/routers/api_chat.py +14 -45
- khoj/routers/helpers.py +12 -7
- khoj/utils/cli.py +6 -0
- khoj/utils/constants.py +9 -2
- khoj/utils/initialization.py +158 -71
- {khoj-1.23.3.dev3.dist-info → khoj-1.23.4.dev2.dist-info}/METADATA +2 -2
- {khoj-1.23.3.dev3.dist-info → khoj-1.23.4.dev2.dist-info}/RECORD +57 -57
- khoj/database/migrations/0063_conversation_add_unique_id_field.py +0 -19
- khoj/database/migrations/0064_populate_unique_id.py +0 -20
- khoj/database/migrations/0065_add_unique_constraint_to_unique_id.py +0 -17
- khoj/interface/compiled/_next/static/chunks/1603-f206a1eab0bff9a1.js +0 -1
- khoj/interface/compiled/_next/static/chunks/8423-ce22327cf2d2edae.js +0 -1
- khoj/interface/compiled/_next/static/chunks/9178-3a0baad1c172d515.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/agents/page-59cff63fd13f8a1c.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/chat/page-ba06f9a798156030.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/page-8b6150a332c74ece.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/search/page-0798bb43c2e368bf.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/settings/page-f518555f8e2fd794.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/share/chat/page-2f29904467e1decc.js +0 -1
- khoj/interface/compiled/_next/static/css/3e49e5ee49c6bda1.css +0 -25
- khoj/interface/compiled/_next/static/css/592ca99f5122e75a.css +0 -1
- khoj/interface/compiled/_next/static/css/b19b01c0935280a2.css +0 -1
- /khoj/interface/compiled/_next/static/{6NN0-wauayqAgwLMW6eev → 9hIDCDKKkWBBJbSJE76GP}/_buildManifest.js +0 -0
- /khoj/interface/compiled/_next/static/{6NN0-wauayqAgwLMW6eev → 9hIDCDKKkWBBJbSJE76GP}/_ssgManifest.js +0 -0
- /khoj/interface/compiled/_next/static/chunks/{7023-52c1be60135eb057.js → 7023-1074a582ec989284.js} +0 -0
- {khoj-1.23.3.dev3.dist-info → khoj-1.23.4.dev2.dist-info}/WHEEL +0 -0
- {khoj-1.23.3.dev3.dist-info → khoj-1.23.4.dev2.dist-info}/entry_points.txt +0 -0
- {khoj-1.23.3.dev3.dist-info → khoj-1.23.4.dev2.dist-info}/licenses/LICENSE +0 -0
khoj/utils/initialization.py
CHANGED
@@ -1,25 +1,37 @@
|
|
1
1
|
import logging
|
2
2
|
import os
|
3
|
+
from typing import Tuple
|
3
4
|
|
4
5
|
from khoj.database.adapters import ConversationAdapters
|
5
6
|
from khoj.database.models import (
|
6
7
|
ChatModelOptions,
|
7
8
|
KhojUser,
|
8
9
|
OpenAIProcessorConversationConfig,
|
10
|
+
ServerChatSettings,
|
9
11
|
SpeechToTextModelOptions,
|
10
12
|
TextToImageModelConfig,
|
11
13
|
)
|
12
14
|
from khoj.processor.conversation.utils import model_to_prompt_size, model_to_tokenizer
|
13
|
-
from khoj.utils.constants import
|
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
|
+
)
|
14
21
|
|
15
22
|
logger = logging.getLogger(__name__)
|
16
23
|
|
17
24
|
|
18
|
-
def initialization():
|
25
|
+
def initialization(interactive: bool = True):
|
19
26
|
def _create_admin_user():
|
20
27
|
logger.info(
|
21
28
|
"👩✈️ Setting up admin user. These credentials will allow you to configure your server at /server/admin."
|
22
29
|
)
|
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)
|
23
35
|
email_addr = os.getenv("KHOJ_ADMIN_EMAIL") or input("Email: ")
|
24
36
|
password = os.getenv("KHOJ_ADMIN_PASSWORD") or input("Password: ")
|
25
37
|
admin_user = KhojUser.objects.create_superuser(email=email_addr, username=email_addr, password=password)
|
@@ -27,87 +39,103 @@ def initialization():
|
|
27
39
|
|
28
40
|
def _create_chat_configuration():
|
29
41
|
logger.info(
|
30
|
-
"🗣️
|
42
|
+
"🗣️ Configure chat models available to your server. You can always update these at /server/admin using your admin account"
|
31
43
|
)
|
32
44
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
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
|
-
)
|
45
|
+
# Set up OpenAI's online chat models
|
46
|
+
openai_configured, openai_provider = _setup_chat_model_provider(
|
47
|
+
ChatModelOptions.ModelType.OPENAI,
|
48
|
+
default_openai_chat_models,
|
49
|
+
default_api_key=os.getenv("OPENAI_API_KEY"),
|
50
|
+
vision_enabled=True,
|
51
|
+
is_offline=False,
|
52
|
+
interactive=interactive,
|
53
|
+
)
|
88
54
|
|
55
|
+
# Setup OpenAI speech to text model
|
56
|
+
if openai_configured:
|
89
57
|
default_speech2text_model = "whisper-1"
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
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}): "
|
61
|
+
)
|
62
|
+
openai_speech2text_model = openai_speech2text_model or default_speech2text_model
|
63
|
+
else:
|
64
|
+
openai_speech2text_model = default_speech2text_model
|
94
65
|
SpeechToTextModelOptions.objects.create(
|
95
66
|
model_name=openai_speech2text_model, model_type=SpeechToTextModelOptions.ModelType.OPENAI
|
96
67
|
)
|
97
68
|
|
69
|
+
# Setup OpenAI text to image model
|
70
|
+
if openai_configured:
|
98
71
|
default_text_to_image_model = "dall-e-3"
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
72
|
+
if interactive:
|
73
|
+
openai_text_to_image_model = input(
|
74
|
+
f"Enter the OpenAI text to image model you want to use (default: {default_text_to_image_model}): "
|
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
|
103
79
|
TextToImageModelConfig.objects.create(
|
104
|
-
model_name=openai_text_to_image_model,
|
80
|
+
model_name=openai_text_to_image_model,
|
81
|
+
model_type=TextToImageModelConfig.ModelType.OPENAI,
|
82
|
+
openai_config=openai_provider,
|
105
83
|
)
|
106
84
|
|
107
|
-
|
108
|
-
|
85
|
+
# Set up Google's Gemini online chat models
|
86
|
+
_setup_chat_model_provider(
|
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
|
+
)
|
109
95
|
|
110
|
-
|
96
|
+
# Set up Anthropic's online chat models
|
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): ")
|
111
139
|
if use_offline_speech2text_model == "y":
|
112
140
|
logger.info("🗣️ Setting up offline speech to text model")
|
113
141
|
# Delete any existing speech to text model options. There can only be one.
|
@@ -124,6 +152,64 @@ def initialization():
|
|
124
152
|
|
125
153
|
logger.info(f"🗣️ Offline speech to text model configured to {offline_speech2text_model}")
|
126
154
|
|
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
|
+
|
127
213
|
admin_user = KhojUser.objects.filter(is_staff=True).first()
|
128
214
|
if admin_user is None:
|
129
215
|
while True:
|
@@ -139,7 +225,8 @@ def initialization():
|
|
139
225
|
try:
|
140
226
|
_create_chat_configuration()
|
141
227
|
break
|
142
|
-
# Some environments don't support interactive input. We catch the exception and return if that's the case.
|
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.
|
143
230
|
except EOFError:
|
144
231
|
return
|
145
232
|
except Exception as e:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: khoj
|
3
|
-
Version: 1.23.
|
3
|
+
Version: 1.23.4.dev2
|
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.24
|
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=AyIPyW1ajK-oy3K4EIYPtv0ANMmchFzn_lXWjUo12A8,8171
|
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=N06BRU6QCVciGn4BgY9OQonmZp0T95MEFjIC6XEzUKA,53924
|
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,43 +90,43 @@ 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/
|
94
|
-
khoj/database/migrations/
|
95
|
-
khoj/database/migrations/0065_add_unique_constraint_to_unique_id.py,sha256=PBpbn8G3_wg8701zWvQMwwdLP3R8w9t04Con1Dr6nrQ,393
|
93
|
+
khoj/database/migrations/0063_conversation_temp_id.py,sha256=9ogaEvyYUlaLZrynYTks7K230_3vjCv2QMkfjx8WcWM,964
|
94
|
+
khoj/database/migrations/0064_remove_conversation_temp_id_alter_conversation_id.py,sha256=y8zRXgWFwf212gah_eV9wSxpVj7KcgKlQqNkVhqnC_w,2841
|
96
95
|
khoj/database/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
97
|
-
khoj/database/models/__init__.py,sha256=
|
96
|
+
khoj/database/models/__init__.py,sha256=1bR8xJkLj8QTG2og_4JpmKHHxrZbETUq2t0NLmQ4DhI,19471
|
98
97
|
khoj/interface/compiled/agents.svg,sha256=yFCRwIM-Qawa0C5ggAo3ekb-Q1ElmotBOKIGhtfIQqM,1722
|
99
98
|
khoj/interface/compiled/automation.svg,sha256=o7L2XYwJWRSMvl8h6TBv6Pt28RTRVMHqF04EPY0AFj0,1467
|
100
99
|
khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvtM3A,2424
|
101
100
|
khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
|
102
101
|
khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
|
103
102
|
khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
|
104
|
-
khoj/interface/compiled/index.html,sha256=
|
105
|
-
khoj/interface/compiled/index.txt,sha256=
|
103
|
+
khoj/interface/compiled/index.html,sha256=J_jko4wARUeBfo5lRZZjrvUhTjjHRxTYkJ59GFokEbA,12063
|
104
|
+
khoj/interface/compiled/index.txt,sha256=ARWAO_f8TFYTtWmJs3pIGrABKa1TpvUly3uluidLHSE,5573
|
106
105
|
khoj/interface/compiled/khoj.webmanifest,sha256=lsknYkvEdMbRTOUYKXPM_8krN2gamJmM4u3qj8u9lrU,1682
|
107
106
|
khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
|
108
107
|
khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
|
109
108
|
khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
|
110
109
|
khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
|
111
110
|
khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
|
112
|
-
khoj/interface/compiled/404/index.html,sha256=
|
113
|
-
khoj/interface/compiled/_next/static/
|
114
|
-
khoj/interface/compiled/_next/static/
|
111
|
+
khoj/interface/compiled/404/index.html,sha256=dNacy8ZRtHRdG-8__NX4QEODp6YSUMsB_Li_VWXYDsE,11971
|
112
|
+
khoj/interface/compiled/_next/static/9hIDCDKKkWBBJbSJE76GP/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
|
113
|
+
khoj/interface/compiled/_next/static/9hIDCDKKkWBBJbSJE76GP/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
115
114
|
khoj/interface/compiled/_next/static/chunks/121-7024f479c297aef0.js,sha256=CcRT2AArGYTo7Orl5w69nrnMqdI_EmyEP_YqIj3FU1c,20952
|
116
|
-
khoj/interface/compiled/_next/static/chunks/1603-
|
117
|
-
khoj/interface/compiled/_next/static/chunks/
|
115
|
+
khoj/interface/compiled/_next/static/chunks/1603-d643510c2c0b8871.js,sha256=SKxa9jPMNO33VjLdqLn5LGmC3tXi8B2JassbGujI2yA,71166
|
116
|
+
khoj/interface/compiled/_next/static/chunks/2697-9bc8f835a3c24342.js,sha256=jWYS6xgAPOBZ2wXY5i8O3r0qElmWtMSbPCW2DOeqGBA,6922
|
118
117
|
khoj/interface/compiled/_next/static/chunks/3062-9be9a4e34f82ed3a.js,sha256=-CDtDYpliJ2q_0ADcmVkW6rG8KREiU9QY8uDULIgAmA,256214
|
119
118
|
khoj/interface/compiled/_next/static/chunks/3678-0732dd9d2f472171.js,sha256=v6TFD7dor0r5aoeg10fdsNxdHXJty-vyWSIV6A4DYik,244423
|
119
|
+
khoj/interface/compiled/_next/static/chunks/4051-3dc2df557ccb5213.js,sha256=5Cp2pe6LWybAQn1RM96ZavwKSRruKZLqXaNCDTS9mnk,1087371
|
120
120
|
khoj/interface/compiled/_next/static/chunks/4504-1629487c8bc82203.js,sha256=z6NvJ2KOjYPbMNsYQKyX9PV4DeURUoP6LKoNb4kZXg0,11637
|
121
121
|
khoj/interface/compiled/_next/static/chunks/6297-d1c842ed3f714ab0.js,sha256=4nzZ2umR-q6wQ-8L4RSivWXKV_SE1dWoN9qA1I9lCRI,25675
|
122
122
|
khoj/interface/compiled/_next/static/chunks/6648-ff677e51f1b2bcf1.js,sha256=9bJlfw5DGuIDr3flk0fz0dmyu5GdBLyxq-BuXk7-Wws,13549
|
123
|
-
khoj/interface/compiled/_next/static/chunks/7023-
|
123
|
+
khoj/interface/compiled/_next/static/chunks/7023-1074a582ec989284.js,sha256=CI8R2DdZNEt3nACmiXUG1NnKhnal1ImzXglW-xDuxcI,123657
|
124
124
|
khoj/interface/compiled/_next/static/chunks/7071-b4711cecca6619a8.js,sha256=z-KSur3LbIFPg_90wN0EMhV0et9cJVfG_MR9POVmdCQ,7801
|
125
125
|
khoj/interface/compiled/_next/static/chunks/743-1a64254447cda71f.js,sha256=YH4bEkjmttcOGzAzXKaDCJ-C68jk2qy1cQJP2ljjoAA,100834
|
126
|
-
khoj/interface/compiled/_next/static/chunks/8423-
|
126
|
+
khoj/interface/compiled/_next/static/chunks/8423-7f5eb790353afe24.js,sha256=jsd0cPWzvavktPYLHV0cKnKXKDDxXSV2wtL9T6NfwyQ,11300
|
127
127
|
khoj/interface/compiled/_next/static/chunks/9001-3b27af6d5f21df44.js,sha256=Flth4g5eWRwc5YXKFgtTxW0dr13NMy7Bf3iw7bj38J0,34911
|
128
128
|
khoj/interface/compiled/_next/static/chunks/9162-0be016519a18568b.js,sha256=3MT-VTsB7Q-ATTO5X6Eu2-QNZfrZNaAr-R41iRsn3RY,149610
|
129
|
-
khoj/interface/compiled/_next/static/chunks/9178-
|
129
|
+
khoj/interface/compiled/_next/static/chunks/9178-f5d4737cf74b7d19.js,sha256=fjnOqzlJiZa80qzf-Ur2YV8vAVYOnXJlvuI13NI_ni4,17739
|
130
130
|
khoj/interface/compiled/_next/static/chunks/9417-2e54c6fd056982d8.js,sha256=FZ8xOLMdzrlVmwtcyuQSy8bBwd8_UZ1hH3FlL4DwXpA,17252
|
131
131
|
khoj/interface/compiled/_next/static/chunks/9984-e410179c6fac7cf1.js,sha256=FECyLY1WnBRP9TpLhPHxxmf4nSWwEKX4SLnb3W9UqT8,31305
|
132
132
|
khoj/interface/compiled/_next/static/chunks/d3ac728e-a9e3522eef9b6b28.js,sha256=wK1TsLdl56xtbQG6HMRDpylzTOYXQaAnnn2xobFnX40,267216
|
@@ -135,35 +135,35 @@ khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js,sha256
|
|
135
135
|
khoj/interface/compiled/_next/static/chunks/main-175c164f5e0f026c.js,sha256=hlUnjERudON4V4kUKprrFz1e9JRtSp4A9i7vnM-1bzA,110324
|
136
136
|
khoj/interface/compiled/_next/static/chunks/main-app-6d6ee3495efe03d4.js,sha256=i52E7sWOcSq1G8eYZL3mtTxbUbwRNxcAbSWQ6uWpMsY,475
|
137
137
|
khoj/interface/compiled/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
|
138
|
-
khoj/interface/compiled/_next/static/chunks/webpack-
|
138
|
+
khoj/interface/compiled/_next/static/chunks/webpack-e58184a46ce22845.js,sha256=Kqf2BFrtJbOFUgRwk52GgP9l8-IXkQ-KDeI6yDoVKp4,3721
|
139
139
|
khoj/interface/compiled/_next/static/chunks/app/layout-f3e40d346da53112.js,sha256=nekGSUVbvB81OfqGgJa2UoDmbxPhNwFwtc4o11O_1jI,442
|
140
|
-
khoj/interface/compiled/_next/static/chunks/app/page-
|
140
|
+
khoj/interface/compiled/_next/static/chunks/app/page-a31799b4c4b78da6.js,sha256=2ccuoYU3YL8p83Uw80kLg-Yq-6VkD3Adb5vpdq0aSYI,28930
|
141
141
|
khoj/interface/compiled/_next/static/chunks/app/_not-found/page-07ff4ab42b07845e.js,sha256=3mCUnxfMxyK44eqk21TVBrC6u--WSbvx31fTmQuOvMQ,1755
|
142
142
|
khoj/interface/compiled/_next/static/chunks/app/agents/layout-e71c8e913cccf792.js,sha256=VyIMrkvntFObMzXF-elNtngJ8mBdjg8XrOGfboJ2f_4,372
|
143
|
-
khoj/interface/compiled/_next/static/chunks/app/agents/page-
|
143
|
+
khoj/interface/compiled/_next/static/chunks/app/agents/page-2258ba773c9e3a1f.js,sha256=PQyPgoIMQhBQ5zL-5J7o9W-YagtpWPZBFkql0xpNnb4,18087
|
144
144
|
khoj/interface/compiled/_next/static/chunks/app/automations/layout-27c28e923c9b1ff0.js,sha256=d2vJ_lVB0pfeFXNUPzHAe1ca5NzdNowHPh___SPqugM,5143
|
145
|
-
khoj/interface/compiled/_next/static/chunks/app/automations/page-
|
145
|
+
khoj/interface/compiled/_next/static/chunks/app/automations/page-e0bedd962fcfa0dd.js,sha256=N3rTBcyU6oJWpvhOAAyrtUrhHkBm-UseI_8fcj8E_wM,34472
|
146
146
|
khoj/interface/compiled/_next/static/chunks/app/chat/layout-8102549127db3067.js,sha256=YIoA3fqOBt8nKWw5iQAwA_avg2t1Q5Afn65IA5PBOz4,374
|
147
|
-
khoj/interface/compiled/_next/static/chunks/app/chat/page-
|
147
|
+
khoj/interface/compiled/_next/static/chunks/app/chat/page-1b886aa4f57af1fa.js,sha256=7ZgIPvWhwTpOPvJAZWvU8ZJUBLAArQBS2eytpTG2_IM,5580
|
148
148
|
khoj/interface/compiled/_next/static/chunks/app/factchecker/layout-7b30c541c05fb904.js,sha256=yub2AuBKHKSCqrHRFnkZv9JXLmLJLOB99iiaD3DtZQM,170
|
149
|
-
khoj/interface/compiled/_next/static/chunks/app/factchecker/page-
|
149
|
+
khoj/interface/compiled/_next/static/chunks/app/factchecker/page-32e61af29e6b431d.js,sha256=6xCL8iTO6dEzdSbNEUocPHExYlquRL7fKXNaPT3K7qY,14028
|
150
150
|
khoj/interface/compiled/_next/static/chunks/app/search/layout-3720f1362310bebb.js,sha256=Smpa4MQaw5ItashtspsDKsOvRa6sOXH_lv4jIfWIbNI,170
|
151
|
-
khoj/interface/compiled/_next/static/chunks/app/search/page-
|
151
|
+
khoj/interface/compiled/_next/static/chunks/app/search/page-b3193d46c65571c5.js,sha256=1zYyyY5JIj9HsxgunGlKWBt6uxzE7al1LMaYVVFLlz0,6954
|
152
152
|
khoj/interface/compiled/_next/static/chunks/app/settings/layout-6f9314b0d7a26046.js,sha256=ikl3vCXnp81sa24uPSuRbgvgDtpHGWfhxEs4OAOYXIM,5347
|
153
|
-
khoj/interface/compiled/_next/static/chunks/app/settings/page-
|
153
|
+
khoj/interface/compiled/_next/static/chunks/app/settings/page-0db9b708366606ec.js,sha256=x0A8XikxPZJZVwFPdNRtTZxSo2gVsBn7aUPi8JKTEFU,31895
|
154
154
|
khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-39f03f9e32399f0f.js,sha256=ClS8wrj6HOsRL4VX8DMiqX_MlQDsi_3CA-AQt4m7vuA,373
|
155
|
-
khoj/interface/compiled/_next/static/chunks/app/share/chat/page-
|
155
|
+
khoj/interface/compiled/_next/static/chunks/app/share/chat/page-7df9c23b5fec66de.js,sha256=J6cWZJuJ98JogJpMtZdq1glOtCrLgzYlVnr0gTWd6Qk,4734
|
156
156
|
khoj/interface/compiled/_next/static/chunks/pages/_app-f870474a17b7f2fd.js,sha256=eqdFPAN_XFyMUzZ9qwFk-_rhMWZrU7lgNVt1foVUANo,286
|
157
157
|
khoj/interface/compiled/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
|
158
158
|
khoj/interface/compiled/_next/static/css/1538cedb321e3a97.css,sha256=-qLZhPN-wA3kcrVODVTaG1sN0pmuzRCqNH12gs5_qYc,2569
|
159
159
|
khoj/interface/compiled/_next/static/css/2272c73fc7a3b571.css,sha256=1fHKFd8zLOHosAHx-kxv4b9lVSqHag_E71WkV3dXx2Y,26940
|
160
|
-
khoj/interface/compiled/_next/static/css/3e49e5ee49c6bda1.css,sha256=wtTUdySBdCNhZCgvRFkiKTm5_1LADYmHNHYoQhxir-w,1881442
|
161
160
|
khoj/interface/compiled/_next/static/css/4cae6c0e5c72fb2d.css,sha256=3CjTMmtMrm_MYt1ywtUh2MHEjSLSl356SQLl4hdBuYw,534
|
162
161
|
khoj/interface/compiled/_next/static/css/553f9cdcc7a2bcd6.css,sha256=JpjOOwmqP9Hba-w_8Lx9jWW0ZD0kD3wR0HvdPGDyUPo,2134
|
163
|
-
khoj/interface/compiled/_next/static/css/592ca99f5122e75a.css,sha256=BSqRkeb9vBh0phx5GkAlZirTFZintbyggGaUkuOBfaU,914
|
164
162
|
khoj/interface/compiled/_next/static/css/5a400c87d295e68a.css,sha256=ojDUPJ9fJpEo9DzTAsEa-k1cg7Bef-nSTfpszMiqknQ,17711
|
165
|
-
khoj/interface/compiled/_next/static/css/
|
163
|
+
khoj/interface/compiled/_next/static/css/93c1302668e4a828.css,sha256=MPKdATurlKYooZW0wGIP8oUsviyLPuCxud8xkFwvetI,1881721
|
164
|
+
khoj/interface/compiled/_next/static/css/ab57702ed2b98214.css,sha256=SfUfI_7ryyx-2xOr54mS8zvbp3fYFztdfIWNmLThMhc,1634
|
166
165
|
khoj/interface/compiled/_next/static/css/c808691c459e3887.css,sha256=Xj1SLFCKntSIqZSDCMg2MnzZowIiKFtqPT3KxrT4i94,1857
|
166
|
+
khoj/interface/compiled/_next/static/css/d435f28db0fd3d85.css,sha256=euljl3OCJgj6FpoK7OQNHJef5YsC38lC7MjmlG0xIjE,8149
|
167
167
|
khoj/interface/compiled/_next/static/media/0e790e04fd40ad16-s.p.woff2,sha256=41ewITd0G1ZAoB62BTHMW58a1q8Hl6vSbTQkkHP7EbI,39372
|
168
168
|
khoj/interface/compiled/_next/static/media/4221e1667cd19c7d-s.woff2,sha256=_Y3g0keA8P6nZnFfm_VO5o2Sne1iST3v9xz4fBo3fwM,75532
|
169
169
|
khoj/interface/compiled/_next/static/media/6c276159aa0eb14b-s.woff2,sha256=i9Ibzi_O7y5KpImujj2rEdOZf96lpNYxYzVvCryW5Uc,140408
|
@@ -236,8 +236,8 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
|
|
236
236
|
khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
|
237
237
|
khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
|
238
238
|
khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
|
239
|
-
khoj/interface/compiled/agents/index.html,sha256=
|
240
|
-
khoj/interface/compiled/agents/index.txt,sha256=
|
239
|
+
khoj/interface/compiled/agents/index.html,sha256=xLzfoRq49fixKnzfSSq8ll9kZetF7ibUTxz8lHBUxAI,12415
|
240
|
+
khoj/interface/compiled/agents/index.txt,sha256=hYZajL2uLcMpQwuGnPEByfiv7HQ_WE0tb1f1AR4oMB4,5954
|
241
241
|
khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
|
242
242
|
khoj/interface/compiled/assets/icons/khoj_lantern_128x128.png,sha256=aTxivDb3CYyThkVZWz8A19xl_dNut5DbkXhODWF3A9Q,5640
|
243
243
|
khoj/interface/compiled/assets/icons/khoj_lantern_256x256.png,sha256=xPCMLHiaL7lYOdQLZrKwWE-Qjn5ZaysSZB0ScYv4UZU,12312
|
@@ -248,22 +248,22 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
|
|
248
248
|
khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
|
249
249
|
khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
|
250
250
|
khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
|
251
|
-
khoj/interface/compiled/automations/index.html,sha256=
|
252
|
-
khoj/interface/compiled/automations/index.txt,sha256=
|
253
|
-
khoj/interface/compiled/chat/index.html,sha256=
|
254
|
-
khoj/interface/compiled/chat/index.txt,sha256=
|
255
|
-
khoj/interface/compiled/factchecker/index.html,sha256=
|
256
|
-
khoj/interface/compiled/factchecker/index.txt,sha256=
|
257
|
-
khoj/interface/compiled/search/index.html,sha256=
|
258
|
-
khoj/interface/compiled/search/index.txt,sha256=
|
259
|
-
khoj/interface/compiled/settings/index.html,sha256=
|
260
|
-
khoj/interface/compiled/settings/index.txt,sha256=
|
261
|
-
khoj/interface/compiled/share/chat/index.html,sha256=
|
262
|
-
khoj/interface/compiled/share/chat/index.txt,sha256=
|
251
|
+
khoj/interface/compiled/automations/index.html,sha256=VKogbfZjC6rjVQeWb6uPjCuSdHwp8QXFjPOPTzJX0Eg,30832
|
252
|
+
khoj/interface/compiled/automations/index.txt,sha256=I6Sq3ucLoVxvzpIyw9tTeT2gRbzuGM8cR19DdO3EDws,5592
|
253
|
+
khoj/interface/compiled/chat/index.html,sha256=4T4XG4ilo4qi4mSjkVlaw5QK-OQV5xus4W1KgExtePs,13871
|
254
|
+
khoj/interface/compiled/chat/index.txt,sha256=70blFl34l5-odjvMIM101rRD3QC5j9jq0lyLMF-6M9w,6539
|
255
|
+
khoj/interface/compiled/factchecker/index.html,sha256=CvNu6agqK6wAZU9GjcsuIFSXSx9xb05PU4p34ePATwE,29990
|
256
|
+
khoj/interface/compiled/factchecker/index.txt,sha256=wdVuOOOU2yGV_R-qMb2TlIKUnhAsPAe5o0iRBxZkyro,5793
|
257
|
+
khoj/interface/compiled/search/index.html,sha256=ZehnE5Mg_dKSN9WPTnJUY2y_fVT7jMEjXcp6lCnJBBw,30178
|
258
|
+
khoj/interface/compiled/search/index.txt,sha256=yANqvKXLOAs4gdy65DhLYZnj_STteOdxTxd0nqS6NLE,5261
|
259
|
+
khoj/interface/compiled/settings/index.html,sha256=z64PSQQX5fN0f_BSAUHhJij36XJTOHBWfCW6_u-62UY,12851
|
260
|
+
khoj/interface/compiled/settings/index.txt,sha256=kHq1bwOTwgzJDjpPSG3xUz6KOUEDFTQ8sMcJZdFlcHA,6085
|
261
|
+
khoj/interface/compiled/share/chat/index.html,sha256=hzpHL6KuJ53DC5t9_ZBTXUQTQW3JO0TX-Rd4VDuJLZY,15201
|
262
|
+
khoj/interface/compiled/share/chat/index.txt,sha256=bsCIxc_QxhdPMurfGqv0pQZDAiGSr5zcYsgZTSNMpec,7357
|
263
263
|
khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
|
264
264
|
khoj/interface/email/magic_link.html,sha256=EoGKQucfPj3xQrWXhSZAzPFOYCHF_ZX94TWCd1XHl1M,941
|
265
|
-
khoj/interface/email/task.html,sha256=
|
266
|
-
khoj/interface/email/welcome.html,sha256=
|
265
|
+
khoj/interface/email/task.html,sha256=tY7a0gzVeQ2lSQNu7WyXR_s7VYeWTrxWEj1iHVuoVE4,2813
|
266
|
+
khoj/interface/email/welcome.html,sha256=CpOLmNZV8jK1B_el7bxtZEFMr7k4g6MHfSHBhYFifB0,6081
|
267
267
|
khoj/interface/web/base_config.html,sha256=3aRwGF546vUdtCqL4tbWDdvO3ThEzt627vopx_tS4zo,12181
|
268
268
|
khoj/interface/web/content_source_github_input.html,sha256=YpsLBpsATW08ttrGysqktx2EczC4nebKlvWpwxtwmFY,8249
|
269
269
|
khoj/interface/web/login.html,sha256=4mYRX7521W4J8fFV-Cm_NqojMrpdwKZuzVAjnZRDsl4,6864
|
@@ -298,7 +298,7 @@ khoj/processor/content/docx/docx_to_entries.py,sha256=qCVbvetCDG30lxxUeEjg_BTNJt
|
|
298
298
|
khoj/processor/content/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
299
299
|
khoj/processor/content/github/github_to_entries.py,sha256=SfgXJi59LvFldnRLC5dJ3tUhM5vym-ZrbUovh1G42LQ,9887
|
300
300
|
khoj/processor/content/images/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
301
|
-
khoj/processor/content/images/image_to_entries.py,sha256=
|
301
|
+
khoj/processor/content/images/image_to_entries.py,sha256=unAgYEc9h_kDzFQv_iS_w5Pi29UnPWEpdBVQpLBrET4,4999
|
302
302
|
khoj/processor/content/markdown/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
303
303
|
khoj/processor/content/markdown/markdown_to_entries.py,sha256=3ZXkJtehcVcMrNY6V4p-8i53zDIIsiVGQg-AMtD_U1U,7076
|
304
304
|
khoj/processor/content/notion/notion_to_entries.py,sha256=zCcajTp60ieJExiX6Qwfctm_DR__bRRJgUXh47jjOac,9829
|
@@ -311,7 +311,7 @@ khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
|
|
311
311
|
khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=97i7Cm0DTY7jW4iqKOT_oVc2ooa_XhQ8iImsljp1Kek,4994
|
312
312
|
khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
313
313
|
khoj/processor/conversation/prompts.py,sha256=_rOawbC9SAcueiSjBo9tf6F-mDIcol--Opqzgskoy5s,33738
|
314
|
-
khoj/processor/conversation/utils.py,sha256
|
314
|
+
khoj/processor/conversation/utils.py,sha256=LQhMs77397b7lhJ-s6y7zuer45WShSWV7WccsIuKf9o,12220
|
315
315
|
khoj/processor/conversation/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
316
316
|
khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=3EVZQmeucWSoBqRjwuCRJK-q2UYmvLvVsSZs_HCmg_Y,8183
|
317
317
|
khoj/processor/conversation/anthropic/utils.py,sha256=GHCz-xll_DBipqSc5e5qdVhLQiKX5Kso3KQRf1BXbVA,3456
|
@@ -332,15 +332,15 @@ khoj/processor/speech/text_to_speech.py,sha256=Q7sapi5Hv6woXOumtrGqR0t6izZrFBkWX
|
|
332
332
|
khoj/processor/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
333
333
|
khoj/processor/tools/online_search.py,sha256=V39CemVrSqmgmnQJq2weoSAsMp7tJ7lL1S5EtQXsLPk,10061
|
334
334
|
khoj/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
335
|
-
khoj/routers/api.py,sha256=
|
335
|
+
khoj/routers/api.py,sha256=jX07219cPcTKacmMLdIsVWJt5jDh4Fjb2u98mqmuNNw,26459
|
336
336
|
khoj/routers/api_agents.py,sha256=ks8QzjmZiio6j1QGi6xFtDmVxd9lvC6LPB-WcDPnF8o,1525
|
337
|
-
khoj/routers/api_chat.py,sha256
|
337
|
+
khoj/routers/api_chat.py,sha256=-D_hDS1hkW_MGNNklsG2p1DK84ahnv-f89KXxAbnkB0,58357
|
338
338
|
khoj/routers/api_content.py,sha256=E-Y6G2V14EdxN5rnisQKVINuBuItSZfLiiXpC9E9yTA,17387
|
339
339
|
khoj/routers/api_model.py,sha256=5m7JWwgd9jILiLivRu7NEyY2E-tUkqoEkGg6j6uM1g0,4646
|
340
340
|
khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,2208
|
341
341
|
khoj/routers/auth.py,sha256=pCOLSRihJWcn097DRPxLjPdlejsjHJFRs9jHIzLujZU,6247
|
342
342
|
khoj/routers/email.py,sha256=SGYNPQvfcvYeHf70F0YqpY0FLMRElF2ZekROXdwGI18,3821
|
343
|
-
khoj/routers/helpers.py,sha256=
|
343
|
+
khoj/routers/helpers.py,sha256=Z5wQQ4R3_GkKCxQ0kqohD-PDkgHWKxRvus_oCaMVyXQ,64014
|
344
344
|
khoj/routers/notion.py,sha256=Lp67xP9rVgpAF9BQoGTjZFcVdF1HYtvPP0kjq6uurKU,2802
|
345
345
|
khoj/routers/storage.py,sha256=tJrwhFRVWv0MHv7V7huMc1Diwm-putZSwnZXJ3tqT_c,2338
|
346
346
|
khoj/routers/subscription.py,sha256=qEyV7m7mrY6MGtaij8W3v61tpzX2a7ydm2B-E8h_R-M,4285
|
@@ -354,19 +354,19 @@ khoj/search_filter/word_filter.py,sha256=5Yx95aSiqGke9kEIbp8T-Ak4dS9cTd3VxI1SaJo
|
|
354
354
|
khoj/search_type/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
355
355
|
khoj/search_type/text_search.py,sha256=X5okaUGtpB4CnY8VbyNJll_MabUslsHVW0lUhqvBXL0,9131
|
356
356
|
khoj/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
357
|
-
khoj/utils/cli.py,sha256=
|
357
|
+
khoj/utils/cli.py,sha256=AgO3rO-bN5oI71sIReGxrJXPeXEH80fnCIsyVlZYgjI,3695
|
358
358
|
khoj/utils/config.py,sha256=aiOkH0je8A30DAGYTHMRePrgJonFv_i07_7CdhhhcdA,1805
|
359
|
-
khoj/utils/constants.py,sha256=
|
359
|
+
khoj/utils/constants.py,sha256=UwE7U9bNsfeqTb0K2lcdXdAscM4-7uuVoR3KbZS03Pg,1216
|
360
360
|
khoj/utils/fs_syncer.py,sha256=bQgcbYYC3x11RyCqI_kUzzqGpcKTodGgdT-3OTQsXqw,9977
|
361
361
|
khoj/utils/helpers.py,sha256=OuRXJ_4asO_Ma7HKILYkY-tEhW95dGMZhHIa2pWq0jQ,14517
|
362
|
-
khoj/utils/initialization.py,sha256=
|
362
|
+
khoj/utils/initialization.py,sha256=wlGtgThdRx77trd8H83Cp0cxAtkel0789eyFoF7iToA,10315
|
363
363
|
khoj/utils/jsonl.py,sha256=0Ac_COqr8sLCXntzZtquxuCEVRM2c3yKeDRGhgOBRpQ,1192
|
364
364
|
khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
|
365
365
|
khoj/utils/rawconfig.py,sha256=BKicp6kEBax7h76YRYgyFAUpfWHAI5m9ZJ2HVqyh45Y,3983
|
366
366
|
khoj/utils/state.py,sha256=x4GTewP1YhOA6c_32N4wOjnV-3AA3xG_qbY1-wC2Uxc,1559
|
367
367
|
khoj/utils/yaml.py,sha256=H0mfw0ZvBFUvFmCQn8pWkfxdmIebsrSykza7D8Wv6wQ,1430
|
368
|
-
khoj-1.23.
|
369
|
-
khoj-1.23.
|
370
|
-
khoj-1.23.
|
371
|
-
khoj-1.23.
|
372
|
-
khoj-1.23.
|
368
|
+
khoj-1.23.4.dev2.dist-info/METADATA,sha256=zexm-3EvPO6wx96Vkey8qlQTnVn2F_YkHaunXtTyHPQ,6768
|
369
|
+
khoj-1.23.4.dev2.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
370
|
+
khoj-1.23.4.dev2.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
|
371
|
+
khoj-1.23.4.dev2.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
372
|
+
khoj-1.23.4.dev2.dist-info/RECORD,,
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# Generated by Django 5.0.8 on 2024-09-16 04:12
|
2
|
-
|
3
|
-
import uuid
|
4
|
-
|
5
|
-
from django.db import migrations, models
|
6
|
-
|
7
|
-
|
8
|
-
class Migration(migrations.Migration):
|
9
|
-
dependencies = [
|
10
|
-
("database", "0062_merge_20240913_0222"),
|
11
|
-
]
|
12
|
-
|
13
|
-
operations = [
|
14
|
-
migrations.AddField(
|
15
|
-
model_name="conversation",
|
16
|
-
name="unique_id",
|
17
|
-
field=models.UUIDField(default=None, editable=False, null=True),
|
18
|
-
),
|
19
|
-
]
|
@@ -1,20 +0,0 @@
|
|
1
|
-
import uuid
|
2
|
-
|
3
|
-
from django.db import migrations
|
4
|
-
|
5
|
-
|
6
|
-
def populate_unique_id(apps, schema_editor):
|
7
|
-
Conversation = apps.get_model("database", "Conversation")
|
8
|
-
for conversation in Conversation.objects.all():
|
9
|
-
conversation.unique_id = uuid.uuid4()
|
10
|
-
conversation.save()
|
11
|
-
|
12
|
-
|
13
|
-
class Migration(migrations.Migration):
|
14
|
-
dependencies = [
|
15
|
-
("database", "0063_conversation_add_unique_id_field"),
|
16
|
-
]
|
17
|
-
|
18
|
-
operations = [
|
19
|
-
migrations.RunPython(populate_unique_id),
|
20
|
-
]
|
@@ -1,17 +0,0 @@
|
|
1
|
-
import uuid
|
2
|
-
|
3
|
-
from django.db import migrations, models
|
4
|
-
|
5
|
-
|
6
|
-
class Migration(migrations.Migration):
|
7
|
-
dependencies = [
|
8
|
-
("database", "0064_populate_unique_id"),
|
9
|
-
]
|
10
|
-
|
11
|
-
operations = [
|
12
|
-
migrations.AlterField(
|
13
|
-
model_name="conversation",
|
14
|
-
name="unique_id",
|
15
|
-
field=models.UUIDField(default=uuid.uuid4, editable=False, unique=True),
|
16
|
-
),
|
17
|
-
]
|