khoj 1.30.11.dev15__py3-none-any.whl → 1.30.11.dev55__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/admin.py +3 -10
- khoj/database/migrations/0075_migrate_generated_assets_and_validate.py +85 -0
- khoj/database/models/__init__.py +164 -31
- khoj/interface/compiled/404/index.html +1 -1
- khoj/interface/compiled/_next/static/chunks/1603-e40aadd1e56ab030.js +1 -0
- khoj/interface/compiled/_next/static/chunks/5538-0ea2d3944ca051e1.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/agents/layout-f2ea2b26fc0e78b1.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/automations/layout-7f1b79a2c67af0b4.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/settings/layout-f285795bc3154b8c.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-f662c9e5091603cf.js +1 -0
- khoj/interface/compiled/_next/static/chunks/{webpack-062298330010d2aa.js → webpack-56eb35ef7ce6af2e.js} +1 -1
- khoj/interface/compiled/_next/static/css/34f2d177dfee2dd8.css +1 -0
- khoj/interface/compiled/agents/index.html +1 -1
- khoj/interface/compiled/agents/index.txt +2 -2
- khoj/interface/compiled/assets/icons/khoj_lantern.svg +100 -0
- khoj/interface/compiled/automations/index.html +1 -1
- khoj/interface/compiled/automations/index.txt +3 -3
- khoj/interface/compiled/chat/index.html +1 -1
- khoj/interface/compiled/chat/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 +5 -4
- khoj/interface/compiled/share/chat/index.html +1 -1
- khoj/interface/compiled/share/chat/index.txt +2 -2
- khoj/processor/conversation/anthropic/anthropic_chat.py +11 -3
- khoj/processor/conversation/google/gemini_chat.py +11 -3
- khoj/processor/conversation/offline/chat_model.py +6 -2
- khoj/processor/conversation/openai/gpt.py +10 -2
- khoj/processor/conversation/prompts.py +18 -0
- khoj/processor/conversation/utils.py +82 -26
- khoj/processor/image/generate.py +10 -13
- khoj/routers/api.py +1 -0
- khoj/routers/api_chat.py +49 -98
- khoj/routers/helpers.py +41 -1
- {khoj-1.30.11.dev15.dist-info → khoj-1.30.11.dev55.dist-info}/METADATA +1 -1
- {khoj-1.30.11.dev15.dist-info → khoj-1.30.11.dev55.dist-info}/RECORD +44 -42
- khoj/interface/compiled/_next/static/chunks/1603-c68d44bc4ae6039a.js +0 -1
- khoj/interface/compiled/_next/static/chunks/5538-e5f3c9f4d67a64b9.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/agents/layout-1878cc328ea380bd.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/automations/layout-f1050c1f20a3af67.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/settings/layout-fe8a2f65ccafd142.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-592e8c470f2c2084.js +0 -1
- khoj/interface/compiled/_next/static/css/9d45de78fba367c1.css +0 -1
- /khoj/interface/compiled/_next/static/{HwvgU9Hbpk8cDtZdz8u6Z → WZaSBOrll6IpdAZVluZmu}/_buildManifest.js +0 -0
- /khoj/interface/compiled/_next/static/{HwvgU9Hbpk8cDtZdz8u6Z → WZaSBOrll6IpdAZVluZmu}/_ssgManifest.js +0 -0
- {khoj-1.30.11.dev15.dist-info → khoj-1.30.11.dev55.dist-info}/WHEEL +0 -0
- {khoj-1.30.11.dev15.dist-info → khoj-1.30.11.dev55.dist-info}/entry_points.txt +0 -0
- {khoj-1.30.11.dev15.dist-info → khoj-1.30.11.dev55.dist-info}/licenses/LICENSE +0 -0
khoj/processor/image/generate.py
CHANGED
@@ -12,7 +12,7 @@ from khoj.database.models import Agent, KhojUser, TextToImageModelConfig
|
|
12
12
|
from khoj.routers.helpers import ChatEvent, generate_better_image_prompt
|
13
13
|
from khoj.routers.storage import upload_image
|
14
14
|
from khoj.utils import state
|
15
|
-
from khoj.utils.helpers import
|
15
|
+
from khoj.utils.helpers import convert_image_to_webp, timer
|
16
16
|
from khoj.utils.rawconfig import LocationData
|
17
17
|
|
18
18
|
logger = logging.getLogger(__name__)
|
@@ -34,14 +34,13 @@ async def text_to_image(
|
|
34
34
|
status_code = 200
|
35
35
|
image = None
|
36
36
|
image_url = None
|
37
|
-
intent_type = ImageIntentType.TEXT_TO_IMAGE_V3
|
38
37
|
|
39
38
|
text_to_image_config = await ConversationAdapters.aget_user_text_to_image_model(user)
|
40
39
|
if not text_to_image_config:
|
41
40
|
# If the user has not configured a text to image model, return an unsupported on server error
|
42
41
|
status_code = 501
|
43
42
|
message = "Failed to generate image. Setup image generation on the server."
|
44
|
-
yield image_url or image, status_code, message
|
43
|
+
yield image_url or image, status_code, message
|
45
44
|
return
|
46
45
|
|
47
46
|
text2image_model = text_to_image_config.model_name
|
@@ -50,8 +49,8 @@ async def text_to_image(
|
|
50
49
|
if chat["by"] == "khoj" and chat["intent"].get("type") in ["remember", "reminder"]:
|
51
50
|
chat_history += f"Q: {chat['intent']['query']}\n"
|
52
51
|
chat_history += f"A: {chat['message']}\n"
|
53
|
-
elif chat["by"] == "khoj" and
|
54
|
-
chat_history += f"Q:
|
52
|
+
elif chat["by"] == "khoj" and chat.get("images"):
|
53
|
+
chat_history += f"Q: {chat['intent']['query']}\n"
|
55
54
|
chat_history += f"A: Improved Prompt: {chat['intent']['inferred-queries'][0]}\n"
|
56
55
|
|
57
56
|
if send_status_func:
|
@@ -92,31 +91,29 @@ async def text_to_image(
|
|
92
91
|
logger.error(f"Image Generation blocked by OpenAI: {e}")
|
93
92
|
status_code = e.status_code # type: ignore
|
94
93
|
message = f"Image generation blocked by OpenAI due to policy violation" # type: ignore
|
95
|
-
yield image_url or image, status_code, message
|
94
|
+
yield image_url or image, status_code, message
|
96
95
|
return
|
97
96
|
else:
|
98
97
|
logger.error(f"Image Generation failed with {e}", exc_info=True)
|
99
98
|
message = f"Image generation failed using OpenAI" # type: ignore
|
100
99
|
status_code = e.status_code # type: ignore
|
101
|
-
yield image_url or image, status_code, message
|
100
|
+
yield image_url or image, status_code, message
|
102
101
|
return
|
103
102
|
except requests.RequestException as e:
|
104
103
|
logger.error(f"Image Generation failed with {e}", exc_info=True)
|
105
104
|
message = f"Image generation using {text2image_model} via {text_to_image_config.model_type} failed due to a network error."
|
106
105
|
status_code = 502
|
107
|
-
yield image_url or image, status_code, message
|
106
|
+
yield image_url or image, status_code, message
|
108
107
|
return
|
109
108
|
|
110
109
|
# Decide how to store the generated image
|
111
110
|
with timer("Upload image to S3", logger):
|
112
111
|
image_url = upload_image(webp_image_bytes, user.uuid)
|
113
|
-
|
114
|
-
|
115
|
-
else:
|
116
|
-
intent_type = ImageIntentType.TEXT_TO_IMAGE_V3
|
112
|
+
|
113
|
+
if not image_url:
|
117
114
|
image = base64.b64encode(webp_image_bytes).decode("utf-8")
|
118
115
|
|
119
|
-
yield image_url or image, status_code, image_prompt
|
116
|
+
yield image_url or image, status_code, image_prompt
|
120
117
|
|
121
118
|
|
122
119
|
def generate_image_with_openai(
|
khoj/routers/api.py
CHANGED
khoj/routers/api_chat.py
CHANGED
@@ -77,6 +77,7 @@ from khoj.utils.helpers import (
|
|
77
77
|
)
|
78
78
|
from khoj.utils.rawconfig import (
|
79
79
|
ChatRequestBody,
|
80
|
+
FileAttachment,
|
80
81
|
FileFilterRequest,
|
81
82
|
FilesFilterRequest,
|
82
83
|
LocationData,
|
@@ -770,6 +771,11 @@ async def chat(
|
|
770
771
|
file_filters = conversation.file_filters if conversation and conversation.file_filters else []
|
771
772
|
attached_file_context = gather_raw_query_files(query_files)
|
772
773
|
|
774
|
+
generated_images: List[str] = []
|
775
|
+
generated_files: List[FileAttachment] = []
|
776
|
+
generated_excalidraw_diagram: str = None
|
777
|
+
program_execution_context: List[str] = []
|
778
|
+
|
773
779
|
if conversation_commands == [ConversationCommand.Default] or is_automated_task:
|
774
780
|
chosen_io = await aget_data_sources_and_output_format(
|
775
781
|
q,
|
@@ -875,21 +881,17 @@ async def chat(
|
|
875
881
|
async for result in send_llm_response(response, tracer.get("usage")):
|
876
882
|
yield result
|
877
883
|
|
878
|
-
|
879
|
-
|
880
|
-
response_log,
|
881
|
-
|
882
|
-
|
883
|
-
user_message_time,
|
884
|
-
intent_type="summarize",
|
885
|
-
client_application=request.user.client_app,
|
886
|
-
conversation_id=conversation_id,
|
887
|
-
query_images=uploaded_images,
|
888
|
-
train_of_thought=train_of_thought,
|
889
|
-
raw_query_files=raw_query_files,
|
890
|
-
tracer=tracer,
|
884
|
+
summarized_document = FileAttachment(
|
885
|
+
name="Summarized Document",
|
886
|
+
content=response_log,
|
887
|
+
type="text/plain",
|
888
|
+
size=len(response_log.encode("utf-8")),
|
891
889
|
)
|
892
|
-
|
890
|
+
|
891
|
+
async for result in send_event(ChatEvent.GENERATED_ASSETS, {"files": [summarized_document.model_dump()]}):
|
892
|
+
yield result
|
893
|
+
|
894
|
+
generated_files.append(summarized_document)
|
893
895
|
|
894
896
|
custom_filters = []
|
895
897
|
if conversation_commands == [ConversationCommand.Help]:
|
@@ -1078,6 +1080,7 @@ async def chat(
|
|
1078
1080
|
async for result in send_event(ChatEvent.STATUS, f"**Ran code snippets**: {len(code_results)}"):
|
1079
1081
|
yield result
|
1080
1082
|
except ValueError as e:
|
1083
|
+
program_execution_context.append(f"Failed to run code")
|
1081
1084
|
logger.warning(
|
1082
1085
|
f"Failed to use code tool: {e}. Attempting to respond without code results",
|
1083
1086
|
exc_info=True,
|
@@ -1115,51 +1118,28 @@ async def chat(
|
|
1115
1118
|
if isinstance(result, dict) and ChatEvent.STATUS in result:
|
1116
1119
|
yield result[ChatEvent.STATUS]
|
1117
1120
|
else:
|
1118
|
-
generated_image, status_code, improved_image_prompt
|
1121
|
+
generated_image, status_code, improved_image_prompt = result
|
1119
1122
|
|
1123
|
+
inferred_queries.append(improved_image_prompt)
|
1120
1124
|
if generated_image is None or status_code != 200:
|
1121
|
-
|
1122
|
-
|
1123
|
-
"intentType": intent_type,
|
1124
|
-
"detail": improved_image_prompt,
|
1125
|
-
"image": None,
|
1126
|
-
}
|
1127
|
-
async for result in send_llm_response(json.dumps(content_obj), tracer.get("usage")):
|
1125
|
+
program_execution_context.append(f"Failed to generate image with {improved_image_prompt}")
|
1126
|
+
async for result in send_event(ChatEvent.STATUS, f"Failed to generate image"):
|
1128
1127
|
yield result
|
1129
|
-
|
1128
|
+
else:
|
1129
|
+
generated_images.append(generated_image)
|
1130
1130
|
|
1131
|
-
|
1132
|
-
|
1133
|
-
|
1134
|
-
|
1135
|
-
|
1136
|
-
|
1137
|
-
|
1138
|
-
inferred_queries=[improved_image_prompt],
|
1139
|
-
client_application=request.user.client_app,
|
1140
|
-
conversation_id=conversation_id,
|
1141
|
-
compiled_references=compiled_references,
|
1142
|
-
online_results=online_results,
|
1143
|
-
code_results=code_results,
|
1144
|
-
query_images=uploaded_images,
|
1145
|
-
train_of_thought=train_of_thought,
|
1146
|
-
raw_query_files=raw_query_files,
|
1147
|
-
tracer=tracer,
|
1148
|
-
)
|
1149
|
-
content_obj = {
|
1150
|
-
"intentType": intent_type,
|
1151
|
-
"inferredQueries": [improved_image_prompt],
|
1152
|
-
"image": generated_image,
|
1153
|
-
}
|
1154
|
-
async for result in send_llm_response(json.dumps(content_obj), tracer.get("usage")):
|
1155
|
-
yield result
|
1156
|
-
return
|
1131
|
+
async for result in send_event(
|
1132
|
+
ChatEvent.GENERATED_ASSETS,
|
1133
|
+
{
|
1134
|
+
"images": [generated_image],
|
1135
|
+
},
|
1136
|
+
):
|
1137
|
+
yield result
|
1157
1138
|
|
1158
1139
|
if ConversationCommand.Diagram in conversation_commands:
|
1159
1140
|
async for result in send_event(ChatEvent.STATUS, f"Creating diagram"):
|
1160
1141
|
yield result
|
1161
1142
|
|
1162
|
-
intent_type = "excalidraw"
|
1163
1143
|
inferred_queries = []
|
1164
1144
|
diagram_description = ""
|
1165
1145
|
|
@@ -1183,62 +1163,29 @@ async def chat(
|
|
1183
1163
|
if better_diagram_description_prompt and excalidraw_diagram_description:
|
1184
1164
|
inferred_queries.append(better_diagram_description_prompt)
|
1185
1165
|
diagram_description = excalidraw_diagram_description
|
1166
|
+
|
1167
|
+
generated_excalidraw_diagram = diagram_description
|
1168
|
+
|
1169
|
+
async for result in send_event(
|
1170
|
+
ChatEvent.GENERATED_ASSETS,
|
1171
|
+
{
|
1172
|
+
"excalidrawDiagram": excalidraw_diagram_description,
|
1173
|
+
},
|
1174
|
+
):
|
1175
|
+
yield result
|
1186
1176
|
else:
|
1187
1177
|
error_message = "Failed to generate diagram. Please try again later."
|
1188
|
-
|
1189
|
-
|
1190
|
-
|
1191
|
-
await sync_to_async(save_to_conversation_log)(
|
1192
|
-
q,
|
1193
|
-
error_message,
|
1194
|
-
user,
|
1195
|
-
meta_log,
|
1196
|
-
user_message_time,
|
1197
|
-
inferred_queries=[better_diagram_description_prompt],
|
1198
|
-
client_application=request.user.client_app,
|
1199
|
-
conversation_id=conversation_id,
|
1200
|
-
compiled_references=compiled_references,
|
1201
|
-
online_results=online_results,
|
1202
|
-
code_results=code_results,
|
1203
|
-
query_images=uploaded_images,
|
1204
|
-
train_of_thought=train_of_thought,
|
1205
|
-
raw_query_files=raw_query_files,
|
1206
|
-
tracer=tracer,
|
1178
|
+
program_execution_context.append(
|
1179
|
+
f"AI attempted to programmatically generate a diagram but failed due to a program issue. Generally, it is able to do so, but encountered a system issue this time. AI can suggest text description or rendering of the diagram or user can try again with a simpler prompt."
|
1207
1180
|
)
|
1208
|
-
return
|
1209
|
-
|
1210
|
-
content_obj = {
|
1211
|
-
"intentType": intent_type,
|
1212
|
-
"inferredQueries": inferred_queries,
|
1213
|
-
"image": diagram_description,
|
1214
|
-
}
|
1215
1181
|
|
1216
|
-
|
1217
|
-
|
1218
|
-
excalidraw_diagram_description,
|
1219
|
-
user,
|
1220
|
-
meta_log,
|
1221
|
-
user_message_time,
|
1222
|
-
intent_type="excalidraw",
|
1223
|
-
inferred_queries=[better_diagram_description_prompt],
|
1224
|
-
client_application=request.user.client_app,
|
1225
|
-
conversation_id=conversation_id,
|
1226
|
-
compiled_references=compiled_references,
|
1227
|
-
online_results=online_results,
|
1228
|
-
code_results=code_results,
|
1229
|
-
query_images=uploaded_images,
|
1230
|
-
train_of_thought=train_of_thought,
|
1231
|
-
raw_query_files=raw_query_files,
|
1232
|
-
tracer=tracer,
|
1233
|
-
)
|
1234
|
-
|
1235
|
-
async for result in send_llm_response(json.dumps(content_obj), tracer.get("usage")):
|
1236
|
-
yield result
|
1237
|
-
return
|
1182
|
+
async for result in send_event(ChatEvent.STATUS, error_message):
|
1183
|
+
yield result
|
1238
1184
|
|
1239
1185
|
## Generate Text Output
|
1240
1186
|
async for result in send_event(ChatEvent.STATUS, f"**Generating a well-informed response**"):
|
1241
1187
|
yield result
|
1188
|
+
|
1242
1189
|
llm_response, chat_metadata = await agenerate_chat_response(
|
1243
1190
|
defiltered_query,
|
1244
1191
|
meta_log,
|
@@ -1258,6 +1205,10 @@ async def chat(
|
|
1258
1205
|
train_of_thought,
|
1259
1206
|
attached_file_context,
|
1260
1207
|
raw_query_files,
|
1208
|
+
generated_images,
|
1209
|
+
generated_files,
|
1210
|
+
generated_excalidraw_diagram,
|
1211
|
+
program_execution_context,
|
1261
1212
|
tracer,
|
1262
1213
|
)
|
1263
1214
|
|
khoj/routers/helpers.py
CHANGED
@@ -1185,6 +1185,10 @@ def generate_chat_response(
|
|
1185
1185
|
train_of_thought: List[Any] = [],
|
1186
1186
|
query_files: str = None,
|
1187
1187
|
raw_query_files: List[FileAttachment] = None,
|
1188
|
+
generated_images: List[str] = None,
|
1189
|
+
raw_generated_files: List[FileAttachment] = [],
|
1190
|
+
generated_excalidraw_diagram: str = None,
|
1191
|
+
program_execution_context: List[str] = [],
|
1188
1192
|
tracer: dict = {},
|
1189
1193
|
) -> Tuple[Union[ThreadedGenerator, Iterator[str]], Dict[str, str]]:
|
1190
1194
|
# Initialize Variables
|
@@ -1208,6 +1212,9 @@ def generate_chat_response(
|
|
1208
1212
|
query_images=query_images,
|
1209
1213
|
train_of_thought=train_of_thought,
|
1210
1214
|
raw_query_files=raw_query_files,
|
1215
|
+
generated_images=generated_images,
|
1216
|
+
raw_generated_files=raw_generated_files,
|
1217
|
+
generated_excalidraw_diagram=generated_excalidraw_diagram,
|
1211
1218
|
tracer=tracer,
|
1212
1219
|
)
|
1213
1220
|
|
@@ -1243,6 +1250,7 @@ def generate_chat_response(
|
|
1243
1250
|
user_name=user_name,
|
1244
1251
|
agent=agent,
|
1245
1252
|
query_files=query_files,
|
1253
|
+
generated_files=raw_generated_files,
|
1246
1254
|
tracer=tracer,
|
1247
1255
|
)
|
1248
1256
|
|
@@ -1269,6 +1277,10 @@ def generate_chat_response(
|
|
1269
1277
|
agent=agent,
|
1270
1278
|
vision_available=vision_available,
|
1271
1279
|
query_files=query_files,
|
1280
|
+
generated_files=raw_generated_files,
|
1281
|
+
generated_images=generated_images,
|
1282
|
+
generated_excalidraw_diagram=generated_excalidraw_diagram,
|
1283
|
+
program_execution_context=program_execution_context,
|
1272
1284
|
tracer=tracer,
|
1273
1285
|
)
|
1274
1286
|
|
@@ -1292,6 +1304,10 @@ def generate_chat_response(
|
|
1292
1304
|
agent=agent,
|
1293
1305
|
vision_available=vision_available,
|
1294
1306
|
query_files=query_files,
|
1307
|
+
generated_files=raw_generated_files,
|
1308
|
+
generated_images=generated_images,
|
1309
|
+
generated_excalidraw_diagram=generated_excalidraw_diagram,
|
1310
|
+
program_execution_context=program_execution_context,
|
1295
1311
|
tracer=tracer,
|
1296
1312
|
)
|
1297
1313
|
elif conversation_config.model_type == ChatModelOptions.ModelType.GOOGLE:
|
@@ -1314,6 +1330,10 @@ def generate_chat_response(
|
|
1314
1330
|
query_images=query_images,
|
1315
1331
|
vision_available=vision_available,
|
1316
1332
|
query_files=query_files,
|
1333
|
+
generated_files=raw_generated_files,
|
1334
|
+
generated_images=generated_images,
|
1335
|
+
generated_excalidraw_diagram=generated_excalidraw_diagram,
|
1336
|
+
program_execution_context=program_execution_context,
|
1317
1337
|
tracer=tracer,
|
1318
1338
|
)
|
1319
1339
|
|
@@ -1785,6 +1805,9 @@ class MessageProcessor:
|
|
1785
1805
|
self.references = {}
|
1786
1806
|
self.usage = {}
|
1787
1807
|
self.raw_response = ""
|
1808
|
+
self.generated_images = []
|
1809
|
+
self.generated_files = []
|
1810
|
+
self.generated_excalidraw_diagram = []
|
1788
1811
|
|
1789
1812
|
def convert_message_chunk_to_json(self, raw_chunk: str) -> Dict[str, Any]:
|
1790
1813
|
if raw_chunk.startswith("{") and raw_chunk.endswith("}"):
|
@@ -1823,6 +1846,16 @@ class MessageProcessor:
|
|
1823
1846
|
self.raw_response += chunk_data
|
1824
1847
|
else:
|
1825
1848
|
self.raw_response += chunk_data
|
1849
|
+
elif chunk_type == ChatEvent.GENERATED_ASSETS:
|
1850
|
+
chunk_data = chunk["data"]
|
1851
|
+
if isinstance(chunk_data, dict):
|
1852
|
+
for key in chunk_data:
|
1853
|
+
if key == "images":
|
1854
|
+
self.generated_images = chunk_data[key]
|
1855
|
+
elif key == "files":
|
1856
|
+
self.generated_files = chunk_data[key]
|
1857
|
+
elif key == "excalidrawDiagram":
|
1858
|
+
self.generated_excalidraw_diagram = chunk_data[key]
|
1826
1859
|
|
1827
1860
|
def handle_json_response(self, json_data: Dict[str, str]) -> str | Dict[str, str]:
|
1828
1861
|
if "image" in json_data or "details" in json_data:
|
@@ -1853,7 +1886,14 @@ async def read_chat_stream(response_iterator: AsyncGenerator[str, None]) -> Dict
|
|
1853
1886
|
if buffer:
|
1854
1887
|
processor.process_message_chunk(buffer)
|
1855
1888
|
|
1856
|
-
return {
|
1889
|
+
return {
|
1890
|
+
"response": processor.raw_response,
|
1891
|
+
"references": processor.references,
|
1892
|
+
"usage": processor.usage,
|
1893
|
+
"images": processor.generated_images,
|
1894
|
+
"files": processor.generated_files,
|
1895
|
+
"excalidrawDiagram": processor.generated_excalidraw_diagram,
|
1896
|
+
}
|
1857
1897
|
|
1858
1898
|
|
1859
1899
|
def get_user_config(user: KhojUser, request: Request, is_detailed: bool = False):
|
@@ -8,7 +8,7 @@ khoj/app/asgi.py,sha256=soh3C1xazlgHt_bDgKzrfzo2TKXbNYJsckcXNEgTip8,388
|
|
8
8
|
khoj/app/settings.py,sha256=N5hYJzHm2QPRmiBIEJtnXhwg0kDrfJtAxFUuSg3XLCI,6787
|
9
9
|
khoj/app/urls.py,sha256=7ECnusoAPAfbO_H_b5FUzYGvnb4LLdWaRDyKNvYuBvg,869
|
10
10
|
khoj/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
|
-
khoj/database/admin.py,sha256=
|
11
|
+
khoj/database/admin.py,sha256=FU_GlK1a55feHCdTzqWzsI0PnPKhoLuWZfsG81qcG2g,12698
|
12
12
|
khoj/database/apps.py,sha256=pM4tkX5Odw4YW_hLLKK8Nd5kqGddf1en0oMCea44RZw,153
|
13
13
|
khoj/database/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
|
14
14
|
khoj/database/adapters/__init__.py,sha256=ZQKcNSL2a8epNfiQMITo4cppCS7Ryhs_KbcRcHDNwHQ,69307
|
@@ -103,29 +103,30 @@ khoj/database/migrations/0071_subscription_enabled_trial_at_and_more.py,sha256=G
|
|
103
103
|
khoj/database/migrations/0072_entry_search_model.py,sha256=qamubOLbkRcbCeyhOWiRhrYT3WTD9ZG8WNaZEWS-a-0,639
|
104
104
|
khoj/database/migrations/0073_delete_usersearchmodelconfig.py,sha256=hKkVZK7l61LI6-be9ZbATIeyKsVYL1nfYbUfKEdzvdE,310
|
105
105
|
khoj/database/migrations/0074_alter_conversation_title.py,sha256=dR_CLYOaZgkWyKGPgrDlUxm5UJfK2fwM7Tfl0Bi7D7k,439
|
106
|
+
khoj/database/migrations/0075_migrate_generated_assets_and_validate.py,sha256=zFcR-nBr66LUFpibypm4qkvPJ4p_wlamnZjU4SCxJ2o,3294
|
106
107
|
khoj/database/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
107
|
-
khoj/database/models/__init__.py,sha256=
|
108
|
+
khoj/database/models/__init__.py,sha256=ro0t2kmdD1ZBVMjFnetiEV9xH1lSOX7SKxC2yDj5Txw,28084
|
108
109
|
khoj/interface/compiled/agents.svg,sha256=yFCRwIM-Qawa0C5ggAo3ekb-Q1ElmotBOKIGhtfIQqM,1722
|
109
110
|
khoj/interface/compiled/automation.svg,sha256=o7L2XYwJWRSMvl8h6TBv6Pt28RTRVMHqF04EPY0AFj0,1467
|
110
111
|
khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvtM3A,2424
|
111
112
|
khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
|
112
113
|
khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
|
113
114
|
khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
|
114
|
-
khoj/interface/compiled/index.html,sha256=
|
115
|
-
khoj/interface/compiled/index.txt,sha256=
|
115
|
+
khoj/interface/compiled/index.html,sha256=huks9qx3-PkA7AF0r03lXYEihbEurhdSYC0Xhm4nx1s,13432
|
116
|
+
khoj/interface/compiled/index.txt,sha256=Nh3FXdZkRPcSy-MF54IB-dtaiWxOD_YB7ygBZHzj6sc,5582
|
116
117
|
khoj/interface/compiled/khoj.webmanifest,sha256=9wOK2BMS6xH5NKd2eaUgTLg9WepIxB2K2U33KU89LD8,2543
|
117
118
|
khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
|
118
119
|
khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
|
119
120
|
khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
|
120
121
|
khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
|
121
122
|
khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
|
122
|
-
khoj/interface/compiled/404/index.html,sha256=
|
123
|
-
khoj/interface/compiled/_next/static/
|
124
|
-
khoj/interface/compiled/_next/static/
|
123
|
+
khoj/interface/compiled/404/index.html,sha256=DDKVI1_4vTu4WLAA3TLuvSmfAkTOKRDhNllnUOX6iSM,13559
|
124
|
+
khoj/interface/compiled/_next/static/WZaSBOrll6IpdAZVluZmu/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
|
125
|
+
khoj/interface/compiled/_next/static/WZaSBOrll6IpdAZVluZmu/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
125
126
|
khoj/interface/compiled/_next/static/chunks/1210.ef7a0f9a7e43da1d.js,sha256=yOh1qtmNHPpDd6vR7CJOXSbq8M_slPujdTR_OXxaEYU,2121
|
126
127
|
khoj/interface/compiled/_next/static/chunks/1279-4cb23143aa2c0228.js,sha256=zHMz-ixoNkLNUjN2-C48RGEyMs2mI9wsNRCczXnzIvQ,45616
|
127
128
|
khoj/interface/compiled/_next/static/chunks/1459.690bf20e7d7b7090.js,sha256=z-ruZPxF_Z3ef_WOThd9Ox36AMhxaW3znizVivNnA34,34239
|
128
|
-
khoj/interface/compiled/_next/static/chunks/1603-
|
129
|
+
khoj/interface/compiled/_next/static/chunks/1603-e40aadd1e56ab030.js,sha256=w6X6hpZolt9qMEH3kCM9SUumuw2VqmQL8oR3nBLg3Rk,91563
|
129
130
|
khoj/interface/compiled/_next/static/chunks/1970-1b63ac1497b03a10.js,sha256=r9S2sLd2AcvG8lqQloOcuDwvdtUdDA16CpsJJ9zs2Fs,29906
|
130
131
|
khoj/interface/compiled/_next/static/chunks/2646-92ba433951d02d52.js,sha256=Gf6rp2_N_ba2c4P84yJ1sW1I6Kcp7pjCkLTnYNP7_v8,237441
|
131
132
|
khoj/interface/compiled/_next/static/chunks/3072-be830e4f8412b9d2.js,sha256=BBUjJdE8AgmhoF6PA8WPC8d-01ppYgcZpjNyTGeayRE,35457
|
@@ -136,7 +137,7 @@ khoj/interface/compiled/_next/static/chunks/4504-62ac13e7d94c52f9.js,sha256=YJZX
|
|
136
137
|
khoj/interface/compiled/_next/static/chunks/4602-460621c3241e0d13.js,sha256=pz2lEr0JOrMdrddv2R2vej4e9uxpOr5KFX966ClLbOU,29928
|
137
138
|
khoj/interface/compiled/_next/static/chunks/4752-554a3db270186ce3.js,sha256=pGLGL_rf3O0FObAsNpf6aqoQeLyouH-noW80uIy9DrY,429218
|
138
139
|
khoj/interface/compiled/_next/static/chunks/5512-7cc62049bbe60e11.js,sha256=Ni89mckLMw1gUQbAWycg-c-LR94ju0VwyyoGdRORqHo,104335
|
139
|
-
khoj/interface/compiled/_next/static/chunks/5538-
|
140
|
+
khoj/interface/compiled/_next/static/chunks/5538-0ea2d3944ca051e1.js,sha256=_yzOXicmnqB8u27y84EQUSZSgHf0zcC7FykogFD6mzw,33892
|
140
141
|
khoj/interface/compiled/_next/static/chunks/7023-e8de2bded4df6539.js,sha256=TBJA7dTnI8nymtbljKuZzo2hbStXWR-P8Qkl57k2Tw8,123898
|
141
142
|
khoj/interface/compiled/_next/static/chunks/7592-a09c39a38e60634b.js,sha256=MZwXPDWpPP7g3X0RBXlKoY0t7zzvMr-E6zKoonVOY0I,16336
|
142
143
|
khoj/interface/compiled/_next/static/chunks/8423-1dda16bc56236523.js,sha256=w3edQ7QUU0dqyzTFQ7J9XRL_xtgX8dMlIesqqfNd07c,15293
|
@@ -148,32 +149,32 @@ khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js,sha256
|
|
148
149
|
khoj/interface/compiled/_next/static/chunks/main-1ea5c2e0fdef4626.js,sha256=8_u87PGI3PahFbDfGWGvpD-a18J7X7ChUqWIeqxVq7g,111061
|
149
150
|
khoj/interface/compiled/_next/static/chunks/main-app-6d6ee3495efe03d4.js,sha256=i52E7sWOcSq1G8eYZL3mtTxbUbwRNxcAbSWQ6uWpMsY,475
|
150
151
|
khoj/interface/compiled/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
|
151
|
-
khoj/interface/compiled/_next/static/chunks/webpack-
|
152
|
+
khoj/interface/compiled/_next/static/chunks/webpack-56eb35ef7ce6af2e.js,sha256=Gwt7zVEWrC6L6_F5vfbCkFrTNDlp45a3sIxm7pevFaE,3991
|
152
153
|
khoj/interface/compiled/_next/static/chunks/app/layout-6310c57b674dd6f5.js,sha256=w4zG3noOTaiH6TMWlvYaV2jpxzSgmFNj10o1Yq6mKtI,709
|
153
154
|
khoj/interface/compiled/_next/static/chunks/app/page-3ffd8f0934b896f3.js,sha256=pggs7VXApO6QgEWIUMJn9wSSlAGJO0gZOIv3lgFjtys,33109
|
154
155
|
khoj/interface/compiled/_next/static/chunks/app/_not-found/page-cfba071f5a657256.js,sha256=3mCUnxfMxyK44eqk21TVBrC6u--WSbvx31fTmQuOvMQ,1755
|
155
|
-
khoj/interface/compiled/_next/static/chunks/app/agents/layout-
|
156
|
+
khoj/interface/compiled/_next/static/chunks/app/agents/layout-f2ea2b26fc0e78b1.js,sha256=G_qzJ-78ks26uCT6sW06IJbPds_4hRH4Ait6-rqh1-w,180
|
156
157
|
khoj/interface/compiled/_next/static/chunks/app/agents/page-2ffa7560aebff9a1.js,sha256=JU0mCi3ZuJlCmaYiB292hdOO5znLVRRJWKU07YeALaQ,11740
|
157
|
-
khoj/interface/compiled/_next/static/chunks/app/automations/layout-
|
158
|
+
khoj/interface/compiled/_next/static/chunks/app/automations/layout-7f1b79a2c67af0b4.js,sha256=MvPp1IfxmpfRaT4XDDpj-l6F4CV-loeGqi315QYXKZw,5143
|
158
159
|
khoj/interface/compiled/_next/static/chunks/app/automations/page-b0a6a6ed2267c1a2.js,sha256=0Vqc5rqS4PDIdGfStH3XDo7bf834iXnLvujWzOSSTqg,35406
|
159
160
|
khoj/interface/compiled/_next/static/chunks/app/chat/layout-9219a85f3477e722.js,sha256=m3FPwrm9nauoPVn_HTs2lgIb3YNc93tzAjKWazSd5ko,180
|
160
161
|
khoj/interface/compiled/_next/static/chunks/app/chat/page-02f8616bba3e449e.js,sha256=UKea2PL-aZfeL93t2RDNzmrlZci-E5SCc59vUubyQfo,7139
|
161
162
|
khoj/interface/compiled/_next/static/chunks/app/search/layout-2ca475462c0b2176.js,sha256=IFALoWD82flk0Rqq6cHUfnisFDLMsi8m7m3X6qKLhwU,180
|
162
163
|
khoj/interface/compiled/_next/static/chunks/app/search/page-059f237514f77628.js,sha256=oySWDErv9jG8CKknKa3en2fzbdFgeq1FvSbTwBJMyhY,6948
|
163
|
-
khoj/interface/compiled/_next/static/chunks/app/settings/layout-
|
164
|
+
khoj/interface/compiled/_next/static/chunks/app/settings/layout-f285795bc3154b8c.js,sha256=SBNluXZKXEfcDqJz2W3t8US0nsRbPHV2iblQ5Xiv2Y8,13218
|
164
165
|
khoj/interface/compiled/_next/static/chunks/app/settings/page-32e9423bede5b4a1.js,sha256=H5Tan__dWq_AmDt7qVVj6cU_BDwuLcoOL22uEyTnbyg,32244
|
165
|
-
khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-
|
166
|
+
khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-f662c9e5091603cf.js,sha256=WfzMeFdhBC-koMD1NRojGHN9iJQaGQl682czCRm1l0E,180
|
166
167
|
khoj/interface/compiled/_next/static/chunks/app/share/chat/page-0b8d90dc57dbc1d8.js,sha256=JfyH3AEqVfXPeW24llHGu3tJueOOvnrTa6_wmkhbr5M,4366
|
167
168
|
khoj/interface/compiled/_next/static/chunks/pages/_app-f870474a17b7f2fd.js,sha256=eqdFPAN_XFyMUzZ9qwFk-_rhMWZrU7lgNVt1foVUANo,286
|
168
169
|
khoj/interface/compiled/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
|
169
170
|
khoj/interface/compiled/_next/static/css/089de1d8526b96e9.css,sha256=sjpmNlk7H2uKEYK9_DFccNq9J8V9uR799cS0yT-E7EI,4041
|
170
171
|
khoj/interface/compiled/_next/static/css/1f293605f2871853.css,sha256=G2b3Wx4e0DRBWSdNU20ivCChZI5HBzvPYUVVIdTRjLc,26590
|
172
|
+
khoj/interface/compiled/_next/static/css/34f2d177dfee2dd8.css,sha256=27v3BCENlFNH4HDz8gZcLEbWwbtTP9iEx8m7hdWKBuU,9211
|
171
173
|
khoj/interface/compiled/_next/static/css/3c34171b174cc381.css,sha256=NEDZ3BbH1X6AYS6epyE-j3SdOZDE1UL3FzKnXVGCYfE,3058815
|
172
174
|
khoj/interface/compiled/_next/static/css/3cf13271869a4aeb.css,sha256=sGjJTeMeN6wbQF4OCPgWYgJmSLLSHyzIH2rSVstWx7k,1857
|
173
175
|
khoj/interface/compiled/_next/static/css/4cae6c0e5c72fb2d.css,sha256=3CjTMmtMrm_MYt1ywtUh2MHEjSLSl356SQLl4hdBuYw,534
|
174
176
|
khoj/interface/compiled/_next/static/css/5a400c87d295e68a.css,sha256=ojDUPJ9fJpEo9DzTAsEa-k1cg7Bef-nSTfpszMiqknQ,17711
|
175
177
|
khoj/interface/compiled/_next/static/css/80bd6301fc657983.css,sha256=T7_aQHcWpQBQLKadauHNzjYGw713FtRNTlUqmJjsL6I,1634
|
176
|
-
khoj/interface/compiled/_next/static/css/9d45de78fba367c1.css,sha256=TGW4CbYNGAfDm8sAwMbO2zxxIdxxKJq5fhxVpHgRW0E,8829
|
177
178
|
khoj/interface/compiled/_next/static/media/1d8a05b60287ae6c-s.p.woff2,sha256=IzKBwB_bpSGvO7C9aRv29Js-jAbZPRDI-D-P4H2P918,14508
|
178
179
|
khoj/interface/compiled/_next/static/media/6f22fce21a7c433c-s.woff2,sha256=T773llrgKNUxGlJzhaH0DUs2rcuRHU7bQpf0DTC4sSU,21812
|
179
180
|
khoj/interface/compiled/_next/static/media/77c207b095007c34-s.p.woff2,sha256=vk9tBKB084h1U8mxwJ5WNHDz_pdUVqE_xb9-ILVhKXY,168144
|
@@ -247,9 +248,10 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
|
|
247
248
|
khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
|
248
249
|
khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
|
249
250
|
khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
|
250
|
-
khoj/interface/compiled/agents/index.html,sha256=
|
251
|
-
khoj/interface/compiled/agents/index.txt,sha256=
|
251
|
+
khoj/interface/compiled/agents/index.html,sha256=Su79POepQI4yTq923YYEaR_KfDVeoeKseSCIzXGXD80,14091
|
252
|
+
khoj/interface/compiled/agents/index.txt,sha256=OV3j3LJqRKs8ySVfcFGO5w2qsIyXrwq_f-6q7KCpP_4,6095
|
252
253
|
khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
|
254
|
+
khoj/interface/compiled/assets/icons/khoj_lantern.svg,sha256=I_8XP5X84gEOoCRhCRKOQn_GKZrz3SUBXct7WxHvY7c,8767
|
253
255
|
khoj/interface/compiled/assets/icons/khoj_lantern_1200x1200.png,sha256=xDx0bbD-WMflgg8zck9oPIIuTIvywtuED2k7CjSQS4w,66194
|
254
256
|
khoj/interface/compiled/assets/icons/khoj_lantern_128x128.png,sha256=aTxivDb3CYyThkVZWz8A19xl_dNut5DbkXhODWF3A9Q,5640
|
255
257
|
khoj/interface/compiled/assets/icons/khoj_lantern_128x128_dark.png,sha256=XX-1PBk6gbQT3PfNpmRA84zyv6nHLqKPNVq5pcPCBWA,7025
|
@@ -262,16 +264,16 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
|
|
262
264
|
khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
|
263
265
|
khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
|
264
266
|
khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
|
265
|
-
khoj/interface/compiled/automations/index.html,sha256=
|
266
|
-
khoj/interface/compiled/automations/index.txt,sha256=
|
267
|
-
khoj/interface/compiled/chat/index.html,sha256=
|
268
|
-
khoj/interface/compiled/chat/index.txt,sha256=
|
269
|
-
khoj/interface/compiled/search/index.html,sha256=
|
270
|
-
khoj/interface/compiled/search/index.txt,sha256=
|
271
|
-
khoj/interface/compiled/settings/index.html,sha256=
|
272
|
-
khoj/interface/compiled/settings/index.txt,sha256=
|
273
|
-
khoj/interface/compiled/share/chat/index.html,sha256=
|
274
|
-
khoj/interface/compiled/share/chat/index.txt,sha256=
|
267
|
+
khoj/interface/compiled/automations/index.html,sha256=kUUiEmgimokc4IQiO_7xLq1YFa0rnElwYkmaClQ55IQ,33921
|
268
|
+
khoj/interface/compiled/automations/index.txt,sha256=CajHx1PxBDvw0G__ymwfUkBwp1z6Xf_6niiAS17ZXSc,6373
|
269
|
+
khoj/interface/compiled/chat/index.html,sha256=X106Bournlny3MO9DqZUQlaOe5JuBRbDyE64YVwVPUs,15274
|
270
|
+
khoj/interface/compiled/chat/index.txt,sha256=Vb1S5R-GJsUx94uVYYaoxkrnz87kB5iCbOcvZ8LYANY,6628
|
271
|
+
khoj/interface/compiled/search/index.html,sha256=MFQhjAHDueL8aGPLPZjb77sHWnbYeh22Df92iFednr4,32875
|
272
|
+
khoj/interface/compiled/search/index.txt,sha256=b8R3Zm6xQ5RakG2hXMgIDLuD5aHOGaoql178UTTHk84,5900
|
273
|
+
khoj/interface/compiled/settings/index.html,sha256=ENk2avRChM7_4l8b7XSAwPAUhh50iQWc3UmCagE1KXQ,14885
|
274
|
+
khoj/interface/compiled/settings/index.txt,sha256=xrlLHcxwYt3F6Rg_MvZi19pFNCm-NVVqwgnbKYv9tFU,6496
|
275
|
+
khoj/interface/compiled/share/chat/index.html,sha256=ohMGnsowI6F5xP-YosJQmvfS9OxTuw2NU6SRoB0lHZQ,16611
|
276
|
+
khoj/interface/compiled/share/chat/index.txt,sha256=Fabu3j_arLvkXumnuSl7C31mr9FDYgW068m1kdHa6_Q,7444
|
275
277
|
khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
|
276
278
|
khoj/interface/email/magic_link.html,sha256=EoGKQucfPj3xQrWXhSZAzPFOYCHF_ZX94TWCd1XHl1M,941
|
277
279
|
khoj/interface/email/task.html,sha256=tY7a0gzVeQ2lSQNu7WyXR_s7VYeWTrxWEj1iHVuoVE4,2813
|
@@ -323,39 +325,39 @@ khoj/processor/content/pdf/pdf_to_entries.py,sha256=GQUvab61okhV9_DK0g2MCrMq8wKp
|
|
323
325
|
khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
324
326
|
khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=wFZwK_zIc7gWbRtO9sOHo9KvfhGAzL9psX_nKWYFduo,4975
|
325
327
|
khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
326
|
-
khoj/processor/conversation/prompts.py,sha256=
|
327
|
-
khoj/processor/conversation/utils.py,sha256=
|
328
|
+
khoj/processor/conversation/prompts.py,sha256=Xn7lqyDalQKC5fFkARu6Tzb7o-xEwEhtuPbrJAOnQlA,50624
|
329
|
+
khoj/processor/conversation/utils.py,sha256=VWSO65A1yAnPcoiGYdOPUKd7YsMp9WsXbFNJMtWXLKc,32706
|
328
330
|
khoj/processor/conversation/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
329
|
-
khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=
|
331
|
+
khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=ZybRPZ4yXkFh9kCgoj61pfHL1KtOgSPlxpVauaT5vBY,9091
|
330
332
|
khoj/processor/conversation/anthropic/utils.py,sha256=En5uBBsxDBWb6QTs5g8nH_f2FVBX1uYK40i13fDRAhc,7327
|
331
333
|
khoj/processor/conversation/google/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
332
|
-
khoj/processor/conversation/google/gemini_chat.py,sha256=
|
334
|
+
khoj/processor/conversation/google/gemini_chat.py,sha256=FC2Q7Xo1GKA6lPECJy66SkJJFYFIA_KGwf56uAw5z1c,9282
|
333
335
|
khoj/processor/conversation/google/utils.py,sha256=2vV7MNXFhJqBut5iMmQwcfvsqL_AkGoEd4XiViCk51s,10851
|
334
336
|
khoj/processor/conversation/offline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
335
|
-
khoj/processor/conversation/offline/chat_model.py,sha256=
|
337
|
+
khoj/processor/conversation/offline/chat_model.py,sha256=ten5TbO2L0UBilSGDzEQgGwHgw1PHUNzNts1jIDb_GY,11207
|
336
338
|
khoj/processor/conversation/offline/utils.py,sha256=51McImxl6u1qgRYvMt7uzsgLGSLq5SMFy74ymlNjIcc,3033
|
337
339
|
khoj/processor/conversation/offline/whisper.py,sha256=DJI-8y8DULO2cQ49m2VOvRyIZ2TxBypc15gM8O3HuMI,470
|
338
340
|
khoj/processor/conversation/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
339
|
-
khoj/processor/conversation/openai/gpt.py,sha256=
|
341
|
+
khoj/processor/conversation/openai/gpt.py,sha256=7mt6T8tVzgb5jhUFv83SQWpMZU7XvGXu_y1BDomiqIg,8632
|
340
342
|
khoj/processor/conversation/openai/utils.py,sha256=7EjpsqqU_Y47q8hXm-9GSkVhukBzMJpTiz9o47UrDLk,7590
|
341
343
|
khoj/processor/conversation/openai/whisper.py,sha256=zoEeK1LNCg_tzP4xzYi5vRPzNPGuDGzpkrkG7d1LUn4,447
|
342
|
-
khoj/processor/image/generate.py,sha256=
|
344
|
+
khoj/processor/image/generate.py,sha256=o81lmVbcc9X_oMb9sjOxq2ATJpgCCdSkqO2l7q4wYJs,8809
|
343
345
|
khoj/processor/speech/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
344
346
|
khoj/processor/speech/text_to_speech.py,sha256=Q7sapi5Hv6woXOumtrGqR0t6izZrFBkWXFOGrHM6dJ4,1929
|
345
347
|
khoj/processor/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
346
348
|
khoj/processor/tools/online_search.py,sha256=X8D3ClKpg34r_LMol28GdBqZ--YVGGVBPc9lUSgb2mg,17128
|
347
349
|
khoj/processor/tools/run_code.py,sha256=pa8slKYU21yDxBxK2CoQTEwHxZIANA_-bI8GhEDjvxc,6547
|
348
350
|
khoj/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
349
|
-
khoj/routers/api.py,sha256=
|
351
|
+
khoj/routers/api.py,sha256=J7YIrP3caWiE_XgHnnwZgJLa1hIEsaR04LJL9peR3-Q,28539
|
350
352
|
khoj/routers/api_agents.py,sha256=vHPruCjlQxGBdm0lcmymEb9-aAELqbOplqh21WwD0DQ,9699
|
351
|
-
khoj/routers/api_chat.py,sha256
|
353
|
+
khoj/routers/api_chat.py,sha256=-refkl569pdMWhx0pTKHwFhilEF65tL70bffBdJJPlk,48723
|
352
354
|
khoj/routers/api_content.py,sha256=WNlB6lVwRW8hHDthO2HypbpPvqrqt9rTU5oMRNknpMU,21070
|
353
355
|
khoj/routers/api_model.py,sha256=KDsxNwHspC94eTcv6l3ehr773EOvgc670UnZLE1WZ4o,3642
|
354
356
|
khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,2208
|
355
357
|
khoj/routers/api_subscription.py,sha256=qnbKwA6N1TWK8Aiu1FFLka_JhbPOuwqT262NSHGZDiQ,5569
|
356
358
|
khoj/routers/auth.py,sha256=kWPB2McwT6z4rGF6mWl92Q7ToRX-XezBPFefdxqQUk4,6579
|
357
359
|
khoj/routers/email.py,sha256=SGYNPQvfcvYeHf70F0YqpY0FLMRElF2ZekROXdwGI18,3821
|
358
|
-
khoj/routers/helpers.py,sha256=
|
360
|
+
khoj/routers/helpers.py,sha256=cvJ_Umx0fLupItxoFibUxTC43M_3oHutwf2vepBNiAo,84360
|
359
361
|
khoj/routers/notion.py,sha256=g53xyYFmjr2JnuIrTW2vytbfkiK_UkoRTxqnnLSmD5o,2802
|
360
362
|
khoj/routers/research.py,sha256=KjUuo-rwtSqUX-0BYjXgP6cWeH3xazffwtxfxKXZL00,16083
|
361
363
|
khoj/routers/storage.py,sha256=tJrwhFRVWv0MHv7V7huMc1Diwm-putZSwnZXJ3tqT_c,2338
|
@@ -380,8 +382,8 @@ khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
|
|
380
382
|
khoj/utils/rawconfig.py,sha256=bQ_MGbBzYt6ZUIsHUwZjaHKDLh6GQ7h-sENkv3fyVbQ,5028
|
381
383
|
khoj/utils/state.py,sha256=axjZhnby8L3bY-N1VVoWgBH1RpFGK6U3_ZeNo1Kt7hs,1679
|
382
384
|
khoj/utils/yaml.py,sha256=qy1Tkc61rDMesBw_Cyx2vOR6H-Hngcsm5kYfjwQBwkE,1543
|
383
|
-
khoj-1.30.11.
|
384
|
-
khoj-1.30.11.
|
385
|
-
khoj-1.30.11.
|
386
|
-
khoj-1.30.11.
|
387
|
-
khoj-1.30.11.
|
385
|
+
khoj-1.30.11.dev55.dist-info/METADATA,sha256=nx4jQGk3CQhrJv8uCJcivXBXPWJfpUM5z2rKHD7sWxI,7569
|
386
|
+
khoj-1.30.11.dev55.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
|
387
|
+
khoj-1.30.11.dev55.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
|
388
|
+
khoj-1.30.11.dev55.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
389
|
+
khoj-1.30.11.dev55.dist-info/RECORD,,
|