khoj 1.41.1.dev13__py3-none-any.whl → 1.41.1.dev17__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/interface/compiled/404/index.html +2 -2
- khoj/interface/compiled/_next/static/chunks/app/agents/layout-1b6273baddb72146.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/chat/{page-922f9300d560eb57.js → page-6d3c70ba02f93a3b.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-e8e5db7830bf3f47.js +1 -0
- khoj/interface/compiled/_next/static/chunks/{webpack-2be8c7eaf9dcbafa.js → webpack-6d1377b465662784.js} +1 -1
- khoj/interface/compiled/agents/index.html +2 -2
- khoj/interface/compiled/agents/index.txt +1 -1
- khoj/interface/compiled/automations/index.html +2 -2
- khoj/interface/compiled/automations/index.txt +1 -1
- khoj/interface/compiled/chat/index.html +2 -2
- khoj/interface/compiled/chat/index.txt +2 -2
- khoj/interface/compiled/index.html +2 -2
- khoj/interface/compiled/index.txt +1 -1
- khoj/interface/compiled/search/index.html +2 -2
- khoj/interface/compiled/search/index.txt +1 -1
- khoj/interface/compiled/settings/index.html +2 -2
- khoj/interface/compiled/settings/index.txt +1 -1
- khoj/interface/compiled/share/chat/index.html +2 -2
- khoj/interface/compiled/share/chat/index.txt +1 -1
- khoj/routers/api_chat.py +62 -20
- khoj/routers/helpers.py +51 -117
- khoj/routers/research.py +7 -0
- khoj/utils/constants.py +1 -1
- {khoj-1.41.1.dev13.dist-info → khoj-1.41.1.dev17.dist-info}/METADATA +1 -1
- {khoj-1.41.1.dev13.dist-info → khoj-1.41.1.dev17.dist-info}/RECORD +30 -30
- khoj/interface/compiled/_next/static/chunks/app/agents/layout-2e626327abfbe612.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-6fb51c5c80f8ec67.js +0 -1
- /khoj/interface/compiled/_next/static/{gqVxQWvYNrAEdTnRw5akR → Vvhjk0Y7Ramhq_aCVNPne}/_buildManifest.js +0 -0
- /khoj/interface/compiled/_next/static/{gqVxQWvYNrAEdTnRw5akR → Vvhjk0Y7Ramhq_aCVNPne}/_ssgManifest.js +0 -0
- {khoj-1.41.1.dev13.dist-info → khoj-1.41.1.dev17.dist-info}/WHEEL +0 -0
- {khoj-1.41.1.dev13.dist-info → khoj-1.41.1.dev17.dist-info}/entry_points.txt +0 -0
- {khoj-1.41.1.dev13.dist-info → khoj-1.41.1.dev17.dist-info}/licenses/LICENSE +0 -0
khoj/routers/helpers.py
CHANGED
@@ -1152,6 +1152,7 @@ async def send_message_to_model_wrapper(
|
|
1152
1152
|
query_images: List[str] = None,
|
1153
1153
|
context: str = "",
|
1154
1154
|
query_files: str = None,
|
1155
|
+
conversation_log: dict = {},
|
1155
1156
|
agent_chat_model: ChatModel = None,
|
1156
1157
|
tracer: dict = {},
|
1157
1158
|
):
|
@@ -1166,35 +1167,41 @@ async def send_message_to_model_wrapper(
|
|
1166
1167
|
if vision_available and query_images:
|
1167
1168
|
logger.info(f"Using {chat_model.name} model to understand {len(query_images)} images.")
|
1168
1169
|
|
1169
|
-
subscribed = await ais_user_subscribed(user)
|
1170
|
-
chat_model_name = chat_model.name
|
1170
|
+
subscribed = await ais_user_subscribed(user) if user else False
|
1171
1171
|
max_tokens = (
|
1172
1172
|
chat_model.subscribed_max_prompt_size
|
1173
1173
|
if subscribed and chat_model.subscribed_max_prompt_size
|
1174
1174
|
else chat_model.max_prompt_size
|
1175
1175
|
)
|
1176
|
+
chat_model_name = chat_model.name
|
1176
1177
|
tokenizer = chat_model.tokenizer
|
1177
1178
|
model_type = chat_model.model_type
|
1178
1179
|
vision_available = chat_model.vision_enabled
|
1180
|
+
api_key = chat_model.ai_model_api.api_key
|
1181
|
+
api_base_url = chat_model.ai_model_api.api_base_url
|
1182
|
+
loaded_model = None
|
1179
1183
|
|
1180
1184
|
if model_type == ChatModel.ModelType.OFFLINE:
|
1181
1185
|
if state.offline_chat_processor_config is None or state.offline_chat_processor_config.loaded_model is None:
|
1182
1186
|
state.offline_chat_processor_config = OfflineChatProcessorModel(chat_model_name, max_tokens)
|
1183
|
-
|
1184
1187
|
loaded_model = state.offline_chat_processor_config.loaded_model
|
1185
|
-
truncated_messages = generate_chatml_messages_with_context(
|
1186
|
-
user_message=query,
|
1187
|
-
context_message=context,
|
1188
|
-
system_message=system_message,
|
1189
|
-
model_name=chat_model_name,
|
1190
|
-
loaded_model=loaded_model,
|
1191
|
-
tokenizer_name=tokenizer,
|
1192
|
-
max_prompt_size=max_tokens,
|
1193
|
-
vision_enabled=vision_available,
|
1194
|
-
model_type=chat_model.model_type,
|
1195
|
-
query_files=query_files,
|
1196
|
-
)
|
1197
1188
|
|
1189
|
+
truncated_messages = generate_chatml_messages_with_context(
|
1190
|
+
user_message=query,
|
1191
|
+
context_message=context,
|
1192
|
+
system_message=system_message,
|
1193
|
+
conversation_log=conversation_log,
|
1194
|
+
model_name=chat_model_name,
|
1195
|
+
loaded_model=loaded_model,
|
1196
|
+
tokenizer_name=tokenizer,
|
1197
|
+
max_prompt_size=max_tokens,
|
1198
|
+
vision_enabled=vision_available,
|
1199
|
+
query_images=query_images,
|
1200
|
+
model_type=model_type,
|
1201
|
+
query_files=query_files,
|
1202
|
+
)
|
1203
|
+
|
1204
|
+
if model_type == ChatModel.ModelType.OFFLINE:
|
1198
1205
|
return send_message_to_model_offline(
|
1199
1206
|
messages=truncated_messages,
|
1200
1207
|
loaded_model=loaded_model,
|
@@ -1206,22 +1213,6 @@ async def send_message_to_model_wrapper(
|
|
1206
1213
|
)
|
1207
1214
|
|
1208
1215
|
elif model_type == ChatModel.ModelType.OPENAI:
|
1209
|
-
openai_chat_config = chat_model.ai_model_api
|
1210
|
-
api_key = openai_chat_config.api_key
|
1211
|
-
api_base_url = openai_chat_config.api_base_url
|
1212
|
-
truncated_messages = generate_chatml_messages_with_context(
|
1213
|
-
user_message=query,
|
1214
|
-
context_message=context,
|
1215
|
-
system_message=system_message,
|
1216
|
-
model_name=chat_model_name,
|
1217
|
-
max_prompt_size=max_tokens,
|
1218
|
-
tokenizer_name=tokenizer,
|
1219
|
-
vision_enabled=vision_available,
|
1220
|
-
query_images=query_images,
|
1221
|
-
model_type=chat_model.model_type,
|
1222
|
-
query_files=query_files,
|
1223
|
-
)
|
1224
|
-
|
1225
1216
|
return send_message_to_model(
|
1226
1217
|
messages=truncated_messages,
|
1227
1218
|
api_key=api_key,
|
@@ -1233,21 +1224,6 @@ async def send_message_to_model_wrapper(
|
|
1233
1224
|
tracer=tracer,
|
1234
1225
|
)
|
1235
1226
|
elif model_type == ChatModel.ModelType.ANTHROPIC:
|
1236
|
-
api_key = chat_model.ai_model_api.api_key
|
1237
|
-
api_base_url = chat_model.ai_model_api.api_base_url
|
1238
|
-
truncated_messages = generate_chatml_messages_with_context(
|
1239
|
-
user_message=query,
|
1240
|
-
context_message=context,
|
1241
|
-
system_message=system_message,
|
1242
|
-
model_name=chat_model_name,
|
1243
|
-
max_prompt_size=max_tokens,
|
1244
|
-
tokenizer_name=tokenizer,
|
1245
|
-
vision_enabled=vision_available,
|
1246
|
-
query_images=query_images,
|
1247
|
-
model_type=chat_model.model_type,
|
1248
|
-
query_files=query_files,
|
1249
|
-
)
|
1250
|
-
|
1251
1227
|
return anthropic_send_message_to_model(
|
1252
1228
|
messages=truncated_messages,
|
1253
1229
|
api_key=api_key,
|
@@ -1258,21 +1234,6 @@ async def send_message_to_model_wrapper(
|
|
1258
1234
|
tracer=tracer,
|
1259
1235
|
)
|
1260
1236
|
elif model_type == ChatModel.ModelType.GOOGLE:
|
1261
|
-
api_key = chat_model.ai_model_api.api_key
|
1262
|
-
api_base_url = chat_model.ai_model_api.api_base_url
|
1263
|
-
truncated_messages = generate_chatml_messages_with_context(
|
1264
|
-
user_message=query,
|
1265
|
-
context_message=context,
|
1266
|
-
system_message=system_message,
|
1267
|
-
model_name=chat_model_name,
|
1268
|
-
max_prompt_size=max_tokens,
|
1269
|
-
tokenizer_name=tokenizer,
|
1270
|
-
vision_enabled=vision_available,
|
1271
|
-
query_images=query_images,
|
1272
|
-
model_type=chat_model.model_type,
|
1273
|
-
query_files=query_files,
|
1274
|
-
)
|
1275
|
-
|
1276
1237
|
return gemini_send_message_to_model(
|
1277
1238
|
messages=truncated_messages,
|
1278
1239
|
api_key=api_key,
|
@@ -1295,6 +1256,7 @@ def send_message_to_model_wrapper_sync(
|
|
1295
1256
|
user: KhojUser = None,
|
1296
1257
|
query_images: List[str] = None,
|
1297
1258
|
query_files: str = "",
|
1259
|
+
conversation_log: dict = {},
|
1298
1260
|
tracer: dict = {},
|
1299
1261
|
):
|
1300
1262
|
chat_model: ChatModel = ConversationAdapters.get_default_chat_model(user)
|
@@ -1302,27 +1264,38 @@ def send_message_to_model_wrapper_sync(
|
|
1302
1264
|
if chat_model is None:
|
1303
1265
|
raise HTTPException(status_code=500, detail="Contact the server administrator to set a default chat model.")
|
1304
1266
|
|
1267
|
+
subscribed = ais_user_subscribed(user) if user else False
|
1268
|
+
max_tokens = (
|
1269
|
+
chat_model.subscribed_max_prompt_size
|
1270
|
+
if subscribed and chat_model.subscribed_max_prompt_size
|
1271
|
+
else chat_model.max_prompt_size
|
1272
|
+
)
|
1305
1273
|
chat_model_name = chat_model.name
|
1306
|
-
|
1274
|
+
model_type = chat_model.model_type
|
1307
1275
|
vision_available = chat_model.vision_enabled
|
1276
|
+
api_key = chat_model.ai_model_api.api_key
|
1277
|
+
api_base_url = chat_model.ai_model_api.api_base_url
|
1278
|
+
loaded_model = None
|
1308
1279
|
|
1309
|
-
if
|
1280
|
+
if model_type == ChatModel.ModelType.OFFLINE:
|
1310
1281
|
if state.offline_chat_processor_config is None or state.offline_chat_processor_config.loaded_model is None:
|
1311
1282
|
state.offline_chat_processor_config = OfflineChatProcessorModel(chat_model_name, max_tokens)
|
1312
|
-
|
1313
1283
|
loaded_model = state.offline_chat_processor_config.loaded_model
|
1314
|
-
truncated_messages = generate_chatml_messages_with_context(
|
1315
|
-
user_message=message,
|
1316
|
-
system_message=system_message,
|
1317
|
-
model_name=chat_model_name,
|
1318
|
-
loaded_model=loaded_model,
|
1319
|
-
max_prompt_size=max_tokens,
|
1320
|
-
vision_enabled=vision_available,
|
1321
|
-
model_type=chat_model.model_type,
|
1322
|
-
query_images=query_images,
|
1323
|
-
query_files=query_files,
|
1324
|
-
)
|
1325
1284
|
|
1285
|
+
truncated_messages = generate_chatml_messages_with_context(
|
1286
|
+
user_message=message,
|
1287
|
+
system_message=system_message,
|
1288
|
+
conversation_log=conversation_log,
|
1289
|
+
model_name=chat_model_name,
|
1290
|
+
loaded_model=loaded_model,
|
1291
|
+
max_prompt_size=max_tokens,
|
1292
|
+
vision_enabled=vision_available,
|
1293
|
+
model_type=model_type,
|
1294
|
+
query_images=query_images,
|
1295
|
+
query_files=query_files,
|
1296
|
+
)
|
1297
|
+
|
1298
|
+
if model_type == ChatModel.ModelType.OFFLINE:
|
1326
1299
|
return send_message_to_model_offline(
|
1327
1300
|
messages=truncated_messages,
|
1328
1301
|
loaded_model=loaded_model,
|
@@ -1333,20 +1306,7 @@ def send_message_to_model_wrapper_sync(
|
|
1333
1306
|
tracer=tracer,
|
1334
1307
|
)
|
1335
1308
|
|
1336
|
-
elif
|
1337
|
-
api_key = chat_model.ai_model_api.api_key
|
1338
|
-
api_base_url = chat_model.ai_model_api.api_base_url
|
1339
|
-
truncated_messages = generate_chatml_messages_with_context(
|
1340
|
-
user_message=message,
|
1341
|
-
system_message=system_message,
|
1342
|
-
model_name=chat_model_name,
|
1343
|
-
max_prompt_size=max_tokens,
|
1344
|
-
vision_enabled=vision_available,
|
1345
|
-
model_type=chat_model.model_type,
|
1346
|
-
query_images=query_images,
|
1347
|
-
query_files=query_files,
|
1348
|
-
)
|
1349
|
-
|
1309
|
+
elif model_type == ChatModel.ModelType.OPENAI:
|
1350
1310
|
return send_message_to_model(
|
1351
1311
|
messages=truncated_messages,
|
1352
1312
|
api_key=api_key,
|
@@ -1357,20 +1317,7 @@ def send_message_to_model_wrapper_sync(
|
|
1357
1317
|
tracer=tracer,
|
1358
1318
|
)
|
1359
1319
|
|
1360
|
-
elif
|
1361
|
-
api_key = chat_model.ai_model_api.api_key
|
1362
|
-
api_base_url = chat_model.ai_model_api.api_base_url
|
1363
|
-
truncated_messages = generate_chatml_messages_with_context(
|
1364
|
-
user_message=message,
|
1365
|
-
system_message=system_message,
|
1366
|
-
model_name=chat_model_name,
|
1367
|
-
max_prompt_size=max_tokens,
|
1368
|
-
vision_enabled=vision_available,
|
1369
|
-
model_type=chat_model.model_type,
|
1370
|
-
query_images=query_images,
|
1371
|
-
query_files=query_files,
|
1372
|
-
)
|
1373
|
-
|
1320
|
+
elif model_type == ChatModel.ModelType.ANTHROPIC:
|
1374
1321
|
return anthropic_send_message_to_model(
|
1375
1322
|
messages=truncated_messages,
|
1376
1323
|
api_key=api_key,
|
@@ -1380,20 +1327,7 @@ def send_message_to_model_wrapper_sync(
|
|
1380
1327
|
tracer=tracer,
|
1381
1328
|
)
|
1382
1329
|
|
1383
|
-
elif
|
1384
|
-
api_key = chat_model.ai_model_api.api_key
|
1385
|
-
api_base_url = chat_model.ai_model_api.api_base_url
|
1386
|
-
truncated_messages = generate_chatml_messages_with_context(
|
1387
|
-
user_message=message,
|
1388
|
-
system_message=system_message,
|
1389
|
-
model_name=chat_model_name,
|
1390
|
-
max_prompt_size=max_tokens,
|
1391
|
-
vision_enabled=vision_available,
|
1392
|
-
model_type=chat_model.model_type,
|
1393
|
-
query_images=query_images,
|
1394
|
-
query_files=query_files,
|
1395
|
-
)
|
1396
|
-
|
1330
|
+
elif model_type == ChatModel.ModelType.GOOGLE:
|
1397
1331
|
return gemini_send_message_to_model(
|
1398
1332
|
messages=truncated_messages,
|
1399
1333
|
api_key=api_key,
|
khoj/routers/research.py
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import asyncio
|
1
2
|
import logging
|
2
3
|
import os
|
3
4
|
from datetime import datetime
|
@@ -205,11 +206,17 @@ async def execute_information_collection(
|
|
205
206
|
file_filters: List[str] = [],
|
206
207
|
tracer: dict = {},
|
207
208
|
query_files: str = None,
|
209
|
+
cancellation_event: Optional[asyncio.Event] = None,
|
208
210
|
):
|
209
211
|
current_iteration = 0
|
210
212
|
MAX_ITERATIONS = int(os.getenv("KHOJ_RESEARCH_ITERATIONS", 5))
|
211
213
|
previous_iterations: List[InformationCollectionIteration] = []
|
212
214
|
while current_iteration < MAX_ITERATIONS:
|
215
|
+
# Check for cancellation at the start of each iteration
|
216
|
+
if cancellation_event and cancellation_event.is_set():
|
217
|
+
logger.debug(f"User {user} disconnected client. Research cancelled.")
|
218
|
+
break
|
219
|
+
|
213
220
|
online_results: Dict = dict()
|
214
221
|
code_results: Dict = dict()
|
215
222
|
document_results: List[Dict[str, str]] = []
|
khoj/utils/constants.py
CHANGED
@@ -18,7 +18,7 @@ default_offline_chat_models = [
|
|
18
18
|
"bartowski/Qwen2.5-14B-Instruct-GGUF",
|
19
19
|
]
|
20
20
|
default_openai_chat_models = ["gpt-4o-mini", "gpt-4.1"]
|
21
|
-
default_gemini_chat_models = ["gemini-2.5-flash-preview-04-17", "gemini-2.5-pro-preview-03-25"]
|
21
|
+
default_gemini_chat_models = ["gemini-2.0-flash", "gemini-2.5-flash-preview-04-17", "gemini-2.5-pro-preview-03-25"]
|
22
22
|
default_anthropic_chat_models = ["claude-3-7-sonnet-latest", "claude-3-5-haiku-latest"]
|
23
23
|
|
24
24
|
empty_config = {
|
@@ -129,15 +129,17 @@ khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvt
|
|
129
129
|
khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
|
130
130
|
khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
|
131
131
|
khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
|
132
|
-
khoj/interface/compiled/index.html,sha256=
|
133
|
-
khoj/interface/compiled/index.txt,sha256=
|
132
|
+
khoj/interface/compiled/index.html,sha256=cBgIbBmnyr9grMZAwtnbnbo6NgCerPovkBBk2cheCcw,53043
|
133
|
+
khoj/interface/compiled/index.txt,sha256=T9dfRdsTb4LRsJ77t07kw3UznSumlzqA3USLjphKZtY,7616
|
134
134
|
khoj/interface/compiled/khoj.webmanifest,sha256=9wOK2BMS6xH5NKd2eaUgTLg9WepIxB2K2U33KU89LD8,2543
|
135
135
|
khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
|
136
136
|
khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
|
137
137
|
khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
|
138
138
|
khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
|
139
139
|
khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
|
140
|
-
khoj/interface/compiled/404/index.html,sha256=
|
140
|
+
khoj/interface/compiled/404/index.html,sha256=VoPsEEwvqzgtiJ5SnjEznZsCXa56pPNR99JZPYpdQrQ,17097
|
141
|
+
khoj/interface/compiled/_next/static/Vvhjk0Y7Ramhq_aCVNPne/_buildManifest.js,sha256=f2_nYnw25hHWQJ-39Lf5OH1u6kgdbOInyfplqgjvAV4,224
|
142
|
+
khoj/interface/compiled/_next/static/Vvhjk0Y7Ramhq_aCVNPne/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
141
143
|
khoj/interface/compiled/_next/static/chunks/1243.ea2826fb35adb15a.js,sha256=Y6ceAwyTH4HSGDvBRoBB-RVXRCzGGr8NSPcspYF5OM8,182
|
142
144
|
khoj/interface/compiled/_next/static/chunks/133.392ae90c3b2a67f2.js,sha256=IK-mb9ZlF6uJUdU8AuXsppc99tFL8svJvZtKNZGNtcY,411
|
143
145
|
khoj/interface/compiled/_next/static/chunks/1592.b069bdb7aaddd2eb.js,sha256=VUaP2gjX3W9tA9pOH_VIPG_2BIg7Wk1AICrfU5iHgrk,71096
|
@@ -203,21 +205,21 @@ khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js,sha256
|
|
203
205
|
khoj/interface/compiled/_next/static/chunks/main-876327ac335776ab.js,sha256=JkQUmA9vh1B4VVGF5dbZ8Kun0AnIVUbZr5IBK90T4Zs,111290
|
204
206
|
khoj/interface/compiled/_next/static/chunks/main-app-de1f09df97a3cfc7.js,sha256=bqnztujKItXfFBzQlaBmDZyfJpQt_M93CXOuchJfpD0,471
|
205
207
|
khoj/interface/compiled/_next/static/chunks/polyfills-42372ed130431b0a.js,sha256=CXPB1kyIrcjjyVBBDLWLKI9yEY1ZZbeASUON648vloM,112594
|
206
|
-
khoj/interface/compiled/_next/static/chunks/webpack-
|
208
|
+
khoj/interface/compiled/_next/static/chunks/webpack-6d1377b465662784.js,sha256=yiKRCY86eIlc6BGJeh6dF3lPkrNZG8--3R1olQ3-FGA,4888
|
207
209
|
khoj/interface/compiled/_next/static/chunks/app/layout-baa6e7974e560a7a.js,sha256=7JZS2Pr995Lwu3FeQpAvheLS1Bn5w5HOFsecV2_kyQA,3880
|
208
210
|
khoj/interface/compiled/_next/static/chunks/app/page-bde9dd79a8cc9b0e.js,sha256=9oHZ64uHWPdU6i9gpwYDiOcH9FXo8IwXUk7-e00tIqU,31217
|
209
211
|
khoj/interface/compiled/_next/static/chunks/app/_not-found/page-0ec97c4970898f2d.js,sha256=zElhiTkdu2JqrEvJ8Lrxh4HCyfLmPllBHHWOuDtrVlw,1755
|
210
|
-
khoj/interface/compiled/_next/static/chunks/app/agents/layout-
|
212
|
+
khoj/interface/compiled/_next/static/chunks/app/agents/layout-1b6273baddb72146.js,sha256=mLo7avyr3x2HXbQwaL5vwu7szO_576TnQdOXdtinRI8,180
|
211
213
|
khoj/interface/compiled/_next/static/chunks/app/agents/page-ceeb9a91edea74ce.js,sha256=kvQaR_nbiCgH5koDFYD4fkceNsScyMVdwvVufMH0Ax8,18314
|
212
214
|
khoj/interface/compiled/_next/static/chunks/app/automations/layout-7f5c33a70e46b3af.js,sha256=s2wHeQ-ai9rKyU9EjOGY1Yo51L4ZEkjLtML85BqN3Zc,5143
|
213
215
|
khoj/interface/compiled/_next/static/chunks/app/automations/page-e3cb78747ab98cc7.js,sha256=CKuBpLxbzqBbCgJ2zbiuDf8Z1UGwEOA3hgnuZEjvpgA,34831
|
214
216
|
khoj/interface/compiled/_next/static/chunks/app/chat/layout-ad4d1792ab1a4108.js,sha256=g815zvSZenVssWcOYjyqAOPDjTCa359nqspXeIsXQ5A,180
|
215
|
-
khoj/interface/compiled/_next/static/chunks/app/chat/page-
|
217
|
+
khoj/interface/compiled/_next/static/chunks/app/chat/page-6d3c70ba02f93a3b.js,sha256=82Dwcs0ZhlTYvER3cXpof83dYsC46nOunNKYIZ9_8rQ,28546
|
216
218
|
khoj/interface/compiled/_next/static/chunks/app/search/layout-4505b79deb734a30.js,sha256=HPQfR8XLd1MObIR-vRu0kAWYesDP3yGGTA7jyORnrX4,180
|
217
219
|
khoj/interface/compiled/_next/static/chunks/app/search/page-8973da2f4c076fe1.js,sha256=fD2_a9jptevkZ7Jda0FUp5kTINLef8NXqojbD3cCmJY,32714
|
218
220
|
khoj/interface/compiled/_next/static/chunks/app/settings/layout-8a22f370d3eaeed3.js,sha256=dIfmM5C_Al-Zh_uqaJmniSxjXbu3LqPzrEw4SQ7vs0I,6132
|
219
221
|
khoj/interface/compiled/_next/static/chunks/app/settings/page-375136dbb400525b.js,sha256=iAbQGhrtD48JgSFqhl92QZK-qgN2WRRQDoVb_qlxCuo,27893
|
220
|
-
khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-
|
222
|
+
khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-e8e5db7830bf3f47.js,sha256=rcoit2AQboqPwZMTVlVhz1AbyHRJOs-xNMTdYonejCU,180
|
221
223
|
khoj/interface/compiled/_next/static/chunks/app/share/chat/page-442bbe50b75beda4.js,sha256=rb1wcH3i0Nt4ziMaCd50czU6dCQbwygYngkBZZ7V7JU,5557
|
222
224
|
khoj/interface/compiled/_next/static/chunks/pages/_app-3c9ca398d360b709.js,sha256=UqtikLsCsOWtDUJOW6Tuk9P-bV1V3MhYd3ghrQuEmfs,286
|
223
225
|
khoj/interface/compiled/_next/static/chunks/pages/_error-cf5ca766ac8f493f.js,sha256=w_It3VzKT8O1M3CrJ_hZHsaU7M7dq3EAaVG8KvJ-fhU,253
|
@@ -229,8 +231,6 @@ khoj/interface/compiled/_next/static/css/9c223d337a984468.css,sha256=F5o-qiwJl16
|
|
229
231
|
khoj/interface/compiled/_next/static/css/e4eb883b5265d372.css,sha256=6LaW-lQ_ZpgOJNWYwU1Q1egXZ1aqJDEuRj66oRCIU_E,17748
|
230
232
|
khoj/interface/compiled/_next/static/css/ea5485b3f3859a5a.css,sha256=tn6qi2xSLTWhtzDUE8UlC8iipH9QGV6A9oGj1ap-Sk4,1659
|
231
233
|
khoj/interface/compiled/_next/static/css/f29752d6e1be7624.css,sha256=mLPRnYpBFaVhTMJ3CFou5_lrwLJs2mhBlAjNY2lrRYs,6354
|
232
|
-
khoj/interface/compiled/_next/static/gqVxQWvYNrAEdTnRw5akR/_buildManifest.js,sha256=f2_nYnw25hHWQJ-39Lf5OH1u6kgdbOInyfplqgjvAV4,224
|
233
|
-
khoj/interface/compiled/_next/static/gqVxQWvYNrAEdTnRw5akR/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
234
234
|
khoj/interface/compiled/_next/static/media/1d8a05b60287ae6c-s.p.woff2,sha256=IzKBwB_bpSGvO7C9aRv29Js-jAbZPRDI-D-P4H2P918,14508
|
235
235
|
khoj/interface/compiled/_next/static/media/2aa11a72f7f24b58-s.woff2,sha256=QjuuSKmViymmy-itXLB1UbSARxFNHWuMiPpCrYqClFI,22728
|
236
236
|
khoj/interface/compiled/_next/static/media/383a65b63658737d-s.woff2,sha256=VH1XkI87HdFVhsurH5D5ekEjG_ZORTVBVg6xz7p87C8,16704
|
@@ -308,8 +308,8 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
|
|
308
308
|
khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
|
309
309
|
khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
|
310
310
|
khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
|
311
|
-
khoj/interface/compiled/agents/index.html,sha256=
|
312
|
-
khoj/interface/compiled/agents/index.txt,sha256=
|
311
|
+
khoj/interface/compiled/agents/index.html,sha256=WBaUDh_H2ASaNBgLIpaF15oBtzj2_m3rveYJ_YdgBvc,16224
|
312
|
+
khoj/interface/compiled/agents/index.txt,sha256=1EwR6PC8vtF-S8KF4EcuB_P9JuIwZtJnQ3SjbG4gXGU,7220
|
313
313
|
khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
|
314
314
|
khoj/interface/compiled/assets/icons/khoj_lantern.svg,sha256=I_8XP5X84gEOoCRhCRKOQn_GKZrz3SUBXct7WxHvY7c,8767
|
315
315
|
khoj/interface/compiled/assets/icons/khoj_lantern_1200x1200.png,sha256=xDx0bbD-WMflgg8zck9oPIIuTIvywtuED2k7CjSQS4w,66194
|
@@ -324,16 +324,16 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
|
|
324
324
|
khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
|
325
325
|
khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
|
326
326
|
khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
|
327
|
-
khoj/interface/compiled/automations/index.html,sha256=
|
328
|
-
khoj/interface/compiled/automations/index.txt,sha256=
|
329
|
-
khoj/interface/compiled/chat/index.html,sha256=
|
330
|
-
khoj/interface/compiled/chat/index.txt,sha256=
|
331
|
-
khoj/interface/compiled/search/index.html,sha256=
|
332
|
-
khoj/interface/compiled/search/index.txt,sha256=
|
333
|
-
khoj/interface/compiled/settings/index.html,sha256=
|
334
|
-
khoj/interface/compiled/settings/index.txt,sha256=
|
335
|
-
khoj/interface/compiled/share/chat/index.html,sha256=
|
336
|
-
khoj/interface/compiled/share/chat/index.txt,sha256=
|
327
|
+
khoj/interface/compiled/automations/index.html,sha256=YTcG55ruvPyZ4xg3DdgMIB1l6RLOkP0qKjo_wCV_suQ,54094
|
328
|
+
khoj/interface/compiled/automations/index.txt,sha256=2tqU6SRa7Kq6o_jC7CwxIryF1gR3yKKC7eR34oK03qk,7449
|
329
|
+
khoj/interface/compiled/chat/index.html,sha256=cNttMQKNgAXChylDCZZv0qMfc9auJKJtrWztIP_nd6A,53532
|
330
|
+
khoj/interface/compiled/chat/index.txt,sha256=P2zp0PDrRz9cWMcQXLW4g3CLDCSdlIbNhTTetMxVsko,7991
|
331
|
+
khoj/interface/compiled/search/index.html,sha256=cWHjA9LmUA6pflXd1aH_IQPDK_rEuETXgGZ7U_krFMQ,55304
|
332
|
+
khoj/interface/compiled/search/index.txt,sha256=NWYHRZQ7gvy9USj_MNZIC-qiz42GwG1rNgvEuS5bRHo,6567
|
333
|
+
khoj/interface/compiled/settings/index.html,sha256=rkTlXovpB-OjXU_rt0ENonIo1BxlXfVD-e23vxNWZsk,52743
|
334
|
+
khoj/interface/compiled/settings/index.txt,sha256=ro5Bnoxp0JNrVdo1u0BZVVWBChAA7h66Vhq24C7Klr0,7703
|
335
|
+
khoj/interface/compiled/share/chat/index.html,sha256=XoGKvSpJ6JCvUDl-U3YIiFz5SGv-M0qMZuA0jAZBSx0,53492
|
336
|
+
khoj/interface/compiled/share/chat/index.txt,sha256=QkoJIVCHA5PLqhLbyRhxdjtcSJ-64vRAtVjweWYsu5Q,8187
|
337
337
|
khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
|
338
338
|
khoj/interface/email/magic_link.html,sha256=372ESbTPKM9acekuZcOIKOw6kBl-KikFg_L9MOHqJkg,2094
|
339
339
|
khoj/interface/email/task.html,sha256=tY7a0gzVeQ2lSQNu7WyXR_s7VYeWTrxWEj1iHVuoVE4,2813
|
@@ -410,16 +410,16 @@ khoj/processor/tools/run_code.py,sha256=DtenheSYbRu_iw82pHSVGJGKJqfMT69dNZ_lCLqC
|
|
410
410
|
khoj/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
411
411
|
khoj/routers/api.py,sha256=xF108KeC0F9rIspB_M8skZUvDb2ecobFCPgZ5H-Lo6o,29414
|
412
412
|
khoj/routers/api_agents.py,sha256=aEJJnQe1yogSkKO6W3Q8Ukl-xHMnqIAx3jB4M-kGNdY,17043
|
413
|
-
khoj/routers/api_chat.py,sha256=
|
413
|
+
khoj/routers/api_chat.py,sha256=whMgXkoPglwjpBiAt5OvMn2PiKCZ1fJCBRrVNRTYryc,55545
|
414
414
|
khoj/routers/api_content.py,sha256=uLO3eir36rERkhhKU1HOdEv8KTi_z_edT9cHMCZP1W8,24578
|
415
415
|
khoj/routers/api_model.py,sha256=H4s4TO7omUFi77H56AWjZs9-o_N-Fqq2OnaPHqR8pLM,5251
|
416
416
|
khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,2208
|
417
417
|
khoj/routers/api_subscription.py,sha256=qnbKwA6N1TWK8Aiu1FFLka_JhbPOuwqT262NSHGZDiQ,5569
|
418
418
|
khoj/routers/auth.py,sha256=jk2lqAS_650lQsoaOFTlZd9W_LL8HbN5zhHTZza_lqs,11258
|
419
419
|
khoj/routers/email.py,sha256=wvr6_fpk0RuKcTPC6suI8JDZPLYzJ9hAhz_G41yZytc,3923
|
420
|
-
khoj/routers/helpers.py,sha256=
|
420
|
+
khoj/routers/helpers.py,sha256=BjnZZV29Foc-i6EMgAZBx5mtpBEUXwcGEDXWfn-Kp2U,96493
|
421
421
|
khoj/routers/notion.py,sha256=g53xyYFmjr2JnuIrTW2vytbfkiK_UkoRTxqnnLSmD5o,2802
|
422
|
-
khoj/routers/research.py,sha256=
|
422
|
+
khoj/routers/research.py,sha256=SNxBM-6kWqixWyFlzHvZYHcHVHk_FTi_MQYipX_SaBw,19001
|
423
423
|
khoj/routers/storage.py,sha256=lao0DvsF49QleZvOdjKM98RU2cGfCJDBb7WeoI7Rr3I,2172
|
424
424
|
khoj/routers/twilio.py,sha256=MLsuCm4--ETvr3sLxbF0CL_ehlg_l2rKBSLR2Qh2Xls,1081
|
425
425
|
khoj/routers/web_client.py,sha256=_vyfDaHZZjNoI2LwGNQFRiFmGLkNcgYJe7dOr3mrxH8,4386
|
@@ -433,7 +433,7 @@ khoj/search_type/text_search.py,sha256=PZzJVCXpeBM795SIqiAKXAxgnCp1NIRiVikm040r1
|
|
433
433
|
khoj/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
434
434
|
khoj/utils/cli.py,sha256=fI1XQYMtJzLGOKQZQ5XxFOrC8sGjK3Alnteg5U62rWI,3882
|
435
435
|
khoj/utils/config.py,sha256=aiOkH0je8A30DAGYTHMRePrgJonFv_i07_7CdhhhcdA,1805
|
436
|
-
khoj/utils/constants.py,sha256=
|
436
|
+
khoj/utils/constants.py,sha256=QbIAaAl_RgE7PSryVvdaWb4hBaCAhskEG2o_Agrzz34,3556
|
437
437
|
khoj/utils/fs_syncer.py,sha256=5nqwAZqRk3Nwhkwd8y4IomTPZQmW32GwAqyMzal5KyY,9996
|
438
438
|
khoj/utils/helpers.py,sha256=D_mxXuXqwumEGFpjj1_B5fTz25rjbOPLCMFnzAkYots,29719
|
439
439
|
khoj/utils/initialization.py,sha256=R-bM8D0QbY8g2R5o-8DsfRAnUPHIu3crPWNdg5wkaCs,15022
|
@@ -442,8 +442,8 @@ khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
|
|
442
442
|
khoj/utils/rawconfig.py,sha256=wfZTk-Aifb-_q9Yh-NPfh9LlLTioYG-yBqrasgvo4pc,5045
|
443
443
|
khoj/utils/state.py,sha256=axjZhnby8L3bY-N1VVoWgBH1RpFGK6U3_ZeNo1Kt7hs,1679
|
444
444
|
khoj/utils/yaml.py,sha256=qy1Tkc61rDMesBw_Cyx2vOR6H-Hngcsm5kYfjwQBwkE,1543
|
445
|
-
khoj-1.41.1.
|
446
|
-
khoj-1.41.1.
|
447
|
-
khoj-1.41.1.
|
448
|
-
khoj-1.41.1.
|
449
|
-
khoj-1.41.1.
|
445
|
+
khoj-1.41.1.dev17.dist-info/METADATA,sha256=MBqXybnOo_8cOfC2PZQK8slHsFGzt4Rr5vVBzaA8iyY,8633
|
446
|
+
khoj-1.41.1.dev17.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
447
|
+
khoj-1.41.1.dev17.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
|
448
|
+
khoj-1.41.1.dev17.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
449
|
+
khoj-1.41.1.dev17.dist-info/RECORD,,
|
@@ -1 +0,0 @@
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8459,7138,244,3317],{63521:function(){}},function(n){n.O(0,[2971,2117,1744],function(){return n(n.s=63521)}),_N_E=n.O()}]);
|
@@ -1 +0,0 @@
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7138,8459,244,3317],{63521:function(){}},function(n){n.O(0,[2971,2117,1744],function(){return n(n.s=63521)}),_N_E=n.O()}]);
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|