khoj 1.30.11.dev13__py3-none-any.whl → 1.30.11.dev46__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.
Files changed (78) hide show
  1. khoj/app/settings.py +21 -0
  2. khoj/database/admin.py +47 -37
  3. khoj/database/migrations/0075_migrate_generated_assets_and_validate.py +85 -0
  4. khoj/database/models/__init__.py +164 -31
  5. khoj/interface/compiled/404/index.html +1 -1
  6. khoj/interface/compiled/_next/static/chunks/1603-f5babe72ba9f6a59.js +1 -0
  7. khoj/interface/compiled/_next/static/chunks/5538-0ea2d3944ca051e1.js +1 -0
  8. khoj/interface/compiled/_next/static/chunks/app/agents/layout-1878cc328ea380bd.js +1 -0
  9. khoj/interface/compiled/_next/static/chunks/app/agents/{page-8eead7920b0ff92a.js → page-f5c0801b27a8e95e.js} +1 -1
  10. khoj/interface/compiled/_next/static/chunks/app/automations/{page-b5800b5286306140.js → page-8691f6c09a0acd44.js} +1 -1
  11. khoj/interface/compiled/_next/static/chunks/app/chat/layout-9219a85f3477e722.js +1 -0
  12. khoj/interface/compiled/_next/static/chunks/app/chat/{page-d7d2ab93e519f0b2.js → page-135d56dd4263e40d.js} +1 -1
  13. khoj/interface/compiled/_next/static/chunks/app/layout-6310c57b674dd6f5.js +1 -0
  14. khoj/interface/compiled/_next/static/chunks/app/{page-3c32ad5472f75965.js → page-e79ace822d51557b.js} +1 -1
  15. khoj/interface/compiled/_next/static/chunks/app/search/{page-faa998c71eb7ca8e.js → page-e8b578d155550386.js} +1 -1
  16. khoj/interface/compiled/_next/static/chunks/app/settings/{page-cbe7f56b1f87d77a.js → page-b6c835050c970be7.js} +1 -1
  17. khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-6f4879fbbf8b90f7.js +1 -0
  18. khoj/interface/compiled/_next/static/chunks/app/share/chat/{page-cd5757199539bbf2.js → page-635635e4fb39fe29.js} +1 -1
  19. khoj/interface/compiled/_next/static/chunks/{webpack-3a2dfd74acf6e193.js → webpack-5203c3872078c10c.js} +1 -1
  20. khoj/interface/compiled/_next/static/css/{bedf49fbfc598358.css → 089de1d8526b96e9.css} +1 -1
  21. khoj/interface/compiled/_next/static/css/4cae6c0e5c72fb2d.css +1 -0
  22. khoj/interface/compiled/_next/static/css/edd3abaf11580924.css +1 -0
  23. khoj/interface/compiled/_next/static/media/1d8a05b60287ae6c-s.p.woff2 +0 -0
  24. khoj/interface/compiled/_next/static/media/6f22fce21a7c433c-s.woff2 +0 -0
  25. khoj/interface/compiled/_next/static/media/77c207b095007c34-s.p.woff2 +0 -0
  26. khoj/interface/compiled/_next/static/media/82ef96de0e8f4d8c-s.p.woff2 +0 -0
  27. khoj/interface/compiled/_next/static/media/a6ecd16fa044d500-s.p.woff2 +0 -0
  28. khoj/interface/compiled/_next/static/media/bd82c78e5b7b3fe9-s.p.woff2 +0 -0
  29. khoj/interface/compiled/_next/static/media/c32c8052c071fc42-s.woff2 +0 -0
  30. khoj/interface/compiled/_next/static/media/c4250770ab8708b6-s.p.woff2 +0 -0
  31. khoj/interface/compiled/agents/index.html +1 -1
  32. khoj/interface/compiled/agents/index.txt +2 -2
  33. khoj/interface/compiled/assets/icons/khoj_lantern.svg +100 -0
  34. khoj/interface/compiled/assets/icons/khoj_lantern_128x128_dark.png +0 -0
  35. khoj/interface/compiled/automations/index.html +1 -1
  36. khoj/interface/compiled/automations/index.txt +2 -2
  37. khoj/interface/compiled/chat/index.html +1 -1
  38. khoj/interface/compiled/chat/index.txt +2 -2
  39. khoj/interface/compiled/index.html +1 -1
  40. khoj/interface/compiled/index.txt +2 -2
  41. khoj/interface/compiled/search/index.html +1 -1
  42. khoj/interface/compiled/search/index.txt +2 -2
  43. khoj/interface/compiled/settings/index.html +1 -1
  44. khoj/interface/compiled/settings/index.txt +2 -2
  45. khoj/interface/compiled/share/chat/index.html +1 -1
  46. khoj/interface/compiled/share/chat/index.txt +2 -2
  47. khoj/processor/conversation/anthropic/anthropic_chat.py +11 -3
  48. khoj/processor/conversation/google/gemini_chat.py +11 -3
  49. khoj/processor/conversation/offline/chat_model.py +6 -2
  50. khoj/processor/conversation/openai/gpt.py +10 -2
  51. khoj/processor/conversation/prompts.py +18 -0
  52. khoj/processor/conversation/utils.py +82 -26
  53. khoj/processor/image/generate.py +10 -13
  54. khoj/routers/api_chat.py +49 -98
  55. khoj/routers/helpers.py +41 -1
  56. {khoj-1.30.11.dev13.dist-info → khoj-1.30.11.dev46.dist-info}/METADATA +2 -1
  57. {khoj-1.30.11.dev13.dist-info → khoj-1.30.11.dev46.dist-info}/RECORD +62 -59
  58. khoj/interface/compiled/_next/static/chunks/1603-c68d44bc4ae6039a.js +0 -1
  59. khoj/interface/compiled/_next/static/chunks/5538-e5f3c9f4d67a64b9.js +0 -1
  60. khoj/interface/compiled/_next/static/chunks/app/agents/layout-f2ea2b26fc0e78b1.js +0 -1
  61. khoj/interface/compiled/_next/static/chunks/app/chat/layout-1072c3b0ab136e74.js +0 -1
  62. khoj/interface/compiled/_next/static/chunks/app/layout-72ec1be8afd0b1ab.js +0 -1
  63. khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-dc97434f0354a74e.js +0 -1
  64. khoj/interface/compiled/_next/static/css/2d097a35da6bfe8d.css +0 -1
  65. khoj/interface/compiled/_next/static/css/80bd6301fc657983.css +0 -1
  66. khoj/interface/compiled/_next/static/media/5455839c73f146e7-s.p.woff2 +0 -0
  67. khoj/interface/compiled/_next/static/media/5984b96ba4822821-s.p.woff2 +0 -0
  68. khoj/interface/compiled/_next/static/media/684adc3dde1b03f1-s.p.woff2 +0 -0
  69. khoj/interface/compiled/_next/static/media/82e3b9a1bdaf0c26-s.p.woff2 +0 -0
  70. khoj/interface/compiled/_next/static/media/8d1ea331386a0db8-s.p.woff2 +0 -0
  71. khoj/interface/compiled/_next/static/media/91475f6526542a4f-s.woff2 +0 -0
  72. khoj/interface/compiled/_next/static/media/b98b13dbc1c3b59c-s.p.woff2 +0 -0
  73. khoj/interface/compiled/_next/static/media/c824d7a20139e39d-s.woff2 +0 -0
  74. /khoj/interface/compiled/_next/static/{K_WyVARSz0loPVvwOW1gg → VhbBwTudxbu82AwZhVKwF}/_buildManifest.js +0 -0
  75. /khoj/interface/compiled/_next/static/{K_WyVARSz0loPVvwOW1gg → VhbBwTudxbu82AwZhVKwF}/_ssgManifest.js +0 -0
  76. {khoj-1.30.11.dev13.dist-info → khoj-1.30.11.dev46.dist-info}/WHEEL +0 -0
  77. {khoj-1.30.11.dev13.dist-info → khoj-1.30.11.dev46.dist-info}/entry_points.txt +0 -0
  78. {khoj-1.30.11.dev13.dist-info → khoj-1.30.11.dev46.dist-info}/licenses/LICENSE +0 -0
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
- await sync_to_async(save_to_conversation_log)(
879
- q,
880
- response_log,
881
- user,
882
- meta_log,
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
- return
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, intent_type = result
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
- content_obj = {
1122
- "content-type": "application/json",
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
- return
1128
+ else:
1129
+ generated_images.append(generated_image)
1130
1130
 
1131
- await sync_to_async(save_to_conversation_log)(
1132
- q,
1133
- generated_image,
1134
- user,
1135
- meta_log,
1136
- user_message_time,
1137
- intent_type=intent_type,
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
- async for result in send_llm_response(error_message, tracer.get("usage")):
1189
- yield result
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
- await sync_to_async(save_to_conversation_log)(
1217
- q,
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 {"response": processor.raw_response, "references": processor.references, "usage": processor.usage}
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):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: khoj
3
- Version: 1.30.11.dev13
3
+ Version: 1.30.11.dev46
4
4
  Summary: Your Second Brain
5
5
  Project-URL: Homepage, https://khoj.dev
6
6
  Project-URL: Documentation, https://docs.khoj.dev
@@ -31,6 +31,7 @@ Requires-Dist: dateparser>=1.1.1
31
31
  Requires-Dist: defusedxml==0.7.1
32
32
  Requires-Dist: django-apscheduler==0.6.2
33
33
  Requires-Dist: django-phonenumber-field==7.3.0
34
+ Requires-Dist: django-unfold==0.42.0
34
35
  Requires-Dist: django==5.0.9
35
36
  Requires-Dist: docx2txt==0.8
36
37
  Requires-Dist: einops==0.8.0
@@ -5,10 +5,10 @@ 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
7
7
  khoj/app/asgi.py,sha256=soh3C1xazlgHt_bDgKzrfzo2TKXbNYJsckcXNEgTip8,388
8
- khoj/app/settings.py,sha256=M6sQUu_AdeKl3eruecBaifRBhYOBIait0KA2NPizcBM,6198
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=QJ580R2dwr1p8EFHzLhX5rY1HWBmZxeW9X9hDlU0FhA,12086
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=KxpJ6a_t-1AVV4dYR2hw7YEzIGw37uCSGbMqLkUcUQs,24169
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=2zgUd6Csh2haqlv-vmcbg62PRslEbSGkk6-3LPxxW5w,13332
115
- khoj/interface/compiled/index.txt,sha256=U001ub6wx0CKVbjSUJn731rMZ9C6Y1jlO9PM_KIZb8M,5532
115
+ khoj/interface/compiled/index.html,sha256=pjkza64bQsWBfGdAxCUBw6sCaucCZ3y0q-snf7aYLhE,13332
116
+ khoj/interface/compiled/index.txt,sha256=Igi6dMyQdn0VcLTGvMJr2OOoL_o5ENhjdzg6_OOQucU,5532
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=bTcnbTuu6KkhU_rar8vQuOvFy9mIOW_Hrtq8xEfXAcs,13459
123
- khoj/interface/compiled/_next/static/K_WyVARSz0loPVvwOW1gg/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
124
- khoj/interface/compiled/_next/static/K_WyVARSz0loPVvwOW1gg/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
123
+ khoj/interface/compiled/404/index.html,sha256=QFAjBcI9SqBOO9-GsEqK0pGQnFGQeyLNQ6GxFDpfKZM,13459
124
+ khoj/interface/compiled/_next/static/VhbBwTudxbu82AwZhVKwF/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
125
+ khoj/interface/compiled/_next/static/VhbBwTudxbu82AwZhVKwF/_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-c68d44bc4ae6039a.js,sha256=yCs6OdRzInuO4FYE6Ie1lMU_AlNBC3TZPTylPR8wAEA,90673
129
+ khoj/interface/compiled/_next/static/chunks/1603-f5babe72ba9f6a59.js,sha256=Hy0wyYvTTszstY50-Pg6ouaauup3k7BGHOzrxfRl1fw,90913
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-e5f3c9f4d67a64b9.js,sha256=fVmOVGfIWKLMGBa8S2twxDRAZBXDDXn-bLKV_PNemB0,34224
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,38 +149,36 @@ 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-3a2dfd74acf6e193.js,sha256=ErHdBhfVp-SbvEWFhu62TlUIA8AD-0ux4ZtZ40juPWM,3991
152
- khoj/interface/compiled/_next/static/chunks/app/layout-72ec1be8afd0b1ab.js,sha256=Hb2f_jhNZWv_3G4BNGyHK16XO3ha-FCXO8GBZq7iPLE,709
153
- khoj/interface/compiled/_next/static/chunks/app/page-3c32ad5472f75965.js,sha256=N5VccvRQ1_b1uzeLeLOKxhxnfVtEFI5AFAFMEwEDbvQ,33109
152
+ khoj/interface/compiled/_next/static/chunks/webpack-5203c3872078c10c.js,sha256=6KnHYl8G5sgHqQGUwZ0JFnufnN-yjXvjzN7JHKqr0iw,3991
153
+ khoj/interface/compiled/_next/static/chunks/app/layout-6310c57b674dd6f5.js,sha256=w4zG3noOTaiH6TMWlvYaV2jpxzSgmFNj10o1Yq6mKtI,709
154
+ khoj/interface/compiled/_next/static/chunks/app/page-e79ace822d51557b.js,sha256=MPNqEOO96HJrYTfjJp6v4rU8_AHmce53UyuHRFJ0r0M,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-f2ea2b26fc0e78b1.js,sha256=G_qzJ-78ks26uCT6sW06IJbPds_4hRH4Ait6-rqh1-w,180
156
- khoj/interface/compiled/_next/static/chunks/app/agents/page-8eead7920b0ff92a.js,sha256=uCjAfpFl-vTWqt4fdhiBVCpTc68sSvIF5aECr5M_KCU,11745
156
+ khoj/interface/compiled/_next/static/chunks/app/agents/layout-1878cc328ea380bd.js,sha256=foKQN1MOnaGA0hgPpbiLKvn7H87Xmmr_TC2nKkkH5I8,180
157
+ khoj/interface/compiled/_next/static/chunks/app/agents/page-f5c0801b27a8e95e.js,sha256=ZBZOd8ajB4OubnrHYQLFtmVi6C0GfXu4tBbuHPsS81g,11745
157
158
  khoj/interface/compiled/_next/static/chunks/app/automations/layout-f1050c1f20a3af67.js,sha256=t7ixWyTCvIkRQtpqmpXK31_hcwUBYnKSEdDD9Phc3Ag,5148
158
- khoj/interface/compiled/_next/static/chunks/app/automations/page-b5800b5286306140.js,sha256=ei4BNQ7C9s48HdRMS7q40qZEhQojbAbU4XdyVEIAsVk,35401
159
- khoj/interface/compiled/_next/static/chunks/app/chat/layout-1072c3b0ab136e74.js,sha256=EaIIPpDq5wl_oI5gnsIfNygswHSMRbLoAx7BuBZzGJ0,180
160
- khoj/interface/compiled/_next/static/chunks/app/chat/page-d7d2ab93e519f0b2.js,sha256=s9PB2PVRvuAkeZcdjmq_76jQ-zF_X4frQQn1a9nnqMo,7139
159
+ khoj/interface/compiled/_next/static/chunks/app/automations/page-8691f6c09a0acd44.js,sha256=WOsq8GJW3vAhqzqgU_M_23GJRw1r2qYl0chK1L8GHAg,35406
160
+ khoj/interface/compiled/_next/static/chunks/app/chat/layout-9219a85f3477e722.js,sha256=m3FPwrm9nauoPVn_HTs2lgIb3YNc93tzAjKWazSd5ko,180
161
+ khoj/interface/compiled/_next/static/chunks/app/chat/page-135d56dd4263e40d.js,sha256=OUm7ehx0ufE6aAOvo8jEuwuNnPWbzyiRS_-q_ETUYlU,7134
161
162
  khoj/interface/compiled/_next/static/chunks/app/search/layout-cae84c87073877f0.js,sha256=DBqvyhiyjNn9uzNbt7l4g_TT0kFKsXkv2UgCuXv_hDI,180
162
- khoj/interface/compiled/_next/static/chunks/app/search/page-faa998c71eb7ca8e.js,sha256=YJjVAeiB2CiLFw0JJlqYXSPZAafumGv3PWu9ReWZJow,6948
163
+ khoj/interface/compiled/_next/static/chunks/app/search/page-e8b578d155550386.js,sha256=fgsV5-mo0VzHTN8s0ZRJwAqgNHTYKUxv1ebHGzRQN3s,6948
163
164
  khoj/interface/compiled/_next/static/chunks/app/settings/layout-fe8a2f65ccafd142.js,sha256=_LNxKuVAZurwFfeYKk8g08FY4S9_P_0kHwtGwR_Kjlk,5148
164
- khoj/interface/compiled/_next/static/chunks/app/settings/page-cbe7f56b1f87d77a.js,sha256=pL2FvEL35aB3c0oqQ-MNK0vRjVRqq0DRj5GmMtl1bTY,32244
165
- khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-dc97434f0354a74e.js,sha256=BK0-si_1SxlueaYQ48rT9jBts9An2I6OUGkBN0_qpKI,180
166
- khoj/interface/compiled/_next/static/chunks/app/share/chat/page-cd5757199539bbf2.js,sha256=mmUFdXPgbnDJZZ1-COKZ0BVmHOgH0UqNqKLGVbc3iKc,4366
165
+ khoj/interface/compiled/_next/static/chunks/app/settings/page-b6c835050c970be7.js,sha256=cdLFFn8J9InHmLeWJVsmz1DWO1cJbOCiyWoVR7Q083Y,32244
166
+ khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-6f4879fbbf8b90f7.js,sha256=ia29jjZ94vDbU9Ew41iqDCHFO5aN_r7JgkDm1mJOj0M,180
167
+ khoj/interface/compiled/_next/static/chunks/app/share/chat/page-635635e4fb39fe29.js,sha256=1jCQbNiSBpyUU6JWbZMi9s73_4M5A_nAfNCiXJoiLNs,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
170
+ khoj/interface/compiled/_next/static/css/089de1d8526b96e9.css,sha256=sjpmNlk7H2uKEYK9_DFccNq9J8V9uR799cS0yT-E7EI,4041
169
171
  khoj/interface/compiled/_next/static/css/1f293605f2871853.css,sha256=G2b3Wx4e0DRBWSdNU20ivCChZI5HBzvPYUVVIdTRjLc,26590
170
- khoj/interface/compiled/_next/static/css/2d097a35da6bfe8d.css,sha256=Px3pPL_D-UjBJEghSLIchKux1WSch40GQHPv60qZEC8,8449
171
172
  khoj/interface/compiled/_next/static/css/3c34171b174cc381.css,sha256=NEDZ3BbH1X6AYS6epyE-j3SdOZDE1UL3FzKnXVGCYfE,3058815
172
173
  khoj/interface/compiled/_next/static/css/3cf13271869a4aeb.css,sha256=sGjJTeMeN6wbQF4OCPgWYgJmSLLSHyzIH2rSVstWx7k,1857
174
+ khoj/interface/compiled/_next/static/css/4cae6c0e5c72fb2d.css,sha256=3CjTMmtMrm_MYt1ywtUh2MHEjSLSl356SQLl4hdBuYw,534
173
175
  khoj/interface/compiled/_next/static/css/592ca99f5122e75a.css,sha256=BSqRkeb9vBh0phx5GkAlZirTFZintbyggGaUkuOBfaU,914
174
176
  khoj/interface/compiled/_next/static/css/5a400c87d295e68a.css,sha256=ojDUPJ9fJpEo9DzTAsEa-k1cg7Bef-nSTfpszMiqknQ,17711
175
- khoj/interface/compiled/_next/static/css/80bd6301fc657983.css,sha256=T7_aQHcWpQBQLKadauHNzjYGw713FtRNTlUqmJjsL6I,1634
176
- khoj/interface/compiled/_next/static/css/bedf49fbfc598358.css,sha256=NCnK01erXMI9lUahFhW4FWh_Sh0s9CNi_3zyxSVUj6c,4041
177
- khoj/interface/compiled/_next/static/media/5455839c73f146e7-s.p.woff2,sha256=BUeNjYxyX7Bu76aNlJrZtW3PwYgcH-kp8syFdODZoyc,35788
178
- khoj/interface/compiled/_next/static/media/5984b96ba4822821-s.p.woff2,sha256=RFrf6fMTduuQwEe78qK6_Y_Mnj97HmRDG-VujYxwA90,99368
179
- khoj/interface/compiled/_next/static/media/684adc3dde1b03f1-s.p.woff2,sha256=5loL1Nrr0sWovNVA8BcfMnck7uDntv7wBNd9oxGMaM8,19820
180
- khoj/interface/compiled/_next/static/media/82e3b9a1bdaf0c26-s.p.woff2,sha256=12nxTBGEi6NMmSKH4aLyaTynNRtuMM_boJeA15j-tCU,70720
181
- khoj/interface/compiled/_next/static/media/8d1ea331386a0db8-s.p.woff2,sha256=LinNkR026HAjnEHitceckgTUQJZNMkpOkpJLKGajPWY,167984
182
- khoj/interface/compiled/_next/static/media/91475f6526542a4f-s.woff2,sha256=S-6BrPKi8mCL1RgdWeUl1X2-owSeZe_FtCpGxE6spVQ,10760
177
+ khoj/interface/compiled/_next/static/css/edd3abaf11580924.css,sha256=FETON8PTAKmkRIhX6PK1esiB8Z0nR9H1i2fTyEtLlKA,9931
178
+ khoj/interface/compiled/_next/static/media/1d8a05b60287ae6c-s.p.woff2,sha256=IzKBwB_bpSGvO7C9aRv29Js-jAbZPRDI-D-P4H2P918,14508
179
+ khoj/interface/compiled/_next/static/media/6f22fce21a7c433c-s.woff2,sha256=T773llrgKNUxGlJzhaH0DUs2rcuRHU7bQpf0DTC4sSU,21812
180
+ khoj/interface/compiled/_next/static/media/77c207b095007c34-s.p.woff2,sha256=vk9tBKB084h1U8mxwJ5WNHDz_pdUVqE_xb9-ILVhKXY,168144
181
+ khoj/interface/compiled/_next/static/media/82ef96de0e8f4d8c-s.p.woff2,sha256=sBrs5opQ1F_gUCaXucknwMb6xJtMAlh3CGmWdc8mN0I,70648
183
182
  khoj/interface/compiled/_next/static/media/KaTeX_AMS-Regular.1608a09b.woff,sha256=MNqR6EyJP4deJSaJ-uvcWQsocRReitx_mp1NvYzgslE,33516
184
183
  khoj/interface/compiled/_next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf,sha256=aFNIQLz90r_7bw6N60hoTdAefwTqKBMmdXevuQbeHRM,63632
185
184
  khoj/interface/compiled/_next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2,sha256=DN04fJWQoan5eUVgAi27WWVKfYbxh6oMgUla1C06cwg,28076
@@ -240,18 +239,22 @@ khoj/interface/compiled/_next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf,sha2
240
239
  khoj/interface/compiled/_next/static/media/KaTeX_Typewriter-Regular.6258592b.woff,sha256=4U_tArGrp86fWv1YRLXQMhsiNR_rxyDg3ouHI1J2Cfc,16028
241
240
  khoj/interface/compiled/_next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2,sha256=cdUX1ngneHz6vfGGkUzDNY7aU543kxlB8rL9SiH2jAs,13568
242
241
  khoj/interface/compiled/_next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf,sha256=8B8-h9nGphwMCBzrV3q9hk6wCmEvesFiDdaRX60u9ao,27556
243
- khoj/interface/compiled/_next/static/media/b98b13dbc1c3b59c-s.p.woff2,sha256=IFYibW121lOX2r1qlYb53zIkSvP_DOI5wBFkvpiyrd0,14456
244
- khoj/interface/compiled/_next/static/media/c824d7a20139e39d-s.woff2,sha256=YTBjBpMFGNfNGOqz3DU-R0tI5OmIxLFnT4eRKmNQ8HE,21580
242
+ khoj/interface/compiled/_next/static/media/a6ecd16fa044d500-s.p.woff2,sha256=cK-fZ2sqsrKKJI7Hm0mHYsyYHsbVLWptyLQqO6XAX1A,20028
243
+ khoj/interface/compiled/_next/static/media/bd82c78e5b7b3fe9-s.p.woff2,sha256=oMzV7oWVhFL-n_WsmjGIdm3THHOGTv2jy7p2GItOkLA,99252
244
+ khoj/interface/compiled/_next/static/media/c32c8052c071fc42-s.woff2,sha256=cXQVjE87ySrc0IAbYZBgfXQYX4WVQ6wfxMqwiFEv8lQ,10836
245
+ khoj/interface/compiled/_next/static/media/c4250770ab8708b6-s.p.woff2,sha256=tW3vlshCW6-bzkWNem16exT5vO8X5Fk_07T3pxYb-3A,35800
245
246
  khoj/interface/compiled/_next/static/media/e098aaaecc9cfbb2-s.p.woff2,sha256=AerPpBhu5XuJ0elZww9trvMvzGJwHPZWMbrXh6zt8lI,201724
246
247
  khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBnqDVp8fm33s1kM1w6xOtAjHn53JFfxmlqg,56280
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=1tcKlXBs79hnOW15J7ojiXaW_BDfgq9SeJSrfCAqpig,14178
251
- khoj/interface/compiled/agents/index.txt,sha256=TOKXi_xFNCCo706KHDg6b13NyheekwEeqn-1xIdmLSw,6116
251
+ khoj/interface/compiled/agents/index.html,sha256=CipSVJ2uN89ow_oEfocsWC_ym2s78v08V1VbXc5L1xQ,14178
252
+ khoj/interface/compiled/agents/index.txt,sha256=ts3qr6nhhP2HNggOOJqQsEvYk-5ZuQGvIdxFk8h7m4g,6116
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
257
+ khoj/interface/compiled/assets/icons/khoj_lantern_128x128_dark.png,sha256=XX-1PBk6gbQT3PfNpmRA84zyv6nHLqKPNVq5pcPCBWA,7025
255
258
  khoj/interface/compiled/assets/icons/khoj_lantern_256x256.png,sha256=xPCMLHiaL7lYOdQLZrKwWE-Qjn5ZaysSZB0ScYv4UZU,12312
256
259
  khoj/interface/compiled/assets/icons/khoj_lantern_512x512.png,sha256=iaxVWSyDvzE4FFofFsaBdoJlUi0V56nDGVTw83FxDaE,48687
257
260
  khoj/interface/compiled/assets/icons/khoj_lantern_logomarktype_1200x630.png,sha256=fYyp7RW0WoCn-SbcqZhqQbQMyhySSlLWmH_n82M1LdY,46736
@@ -261,16 +264,16 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
261
264
  khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
262
265
  khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
263
266
  khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
264
- khoj/interface/compiled/automations/index.html,sha256=b0SiUH50Z_xVXLkNvGncqkB3N6wQButO5G-Xl49REEc,32070
265
- khoj/interface/compiled/automations/index.txt,sha256=Lxhsi660NQx3Po7LtZ3mOTxDgTh2GNk5IQ3uhTfkV2U,5517
266
- khoj/interface/compiled/chat/index.html,sha256=yUCoU8au7QK3Vf1_ufCW_g5-OorRPa28YpLKX2gIAkQ,15074
267
- khoj/interface/compiled/chat/index.txt,sha256=judYeJ8xk_AiK2k9HtN9vbzHK3nqMhQAuy2hdM0xREM,6528
268
- khoj/interface/compiled/search/index.html,sha256=kLNVkru-odgwnpw6Bb621kQd-Kkzg2Kv3qNCJJeS89A,31336
269
- khoj/interface/compiled/search/index.txt,sha256=YO5pGkjGJ2xj4-KSGYcGv2U22rBvMIWR5RemQv16y-I,5177
270
- khoj/interface/compiled/settings/index.html,sha256=jnmlEfmZuiY3yIFGO0R_e4vOkBQCcsb3J42ZgyaKu40,14305
271
- khoj/interface/compiled/settings/index.txt,sha256=pX2a1UaORX273iCMiTpR-qd6zvkxjrUkEZQvYbNI5s8,6112
272
- khoj/interface/compiled/share/chat/index.html,sha256=cKBbRnVNzgY3Dr8yq0T_x2dklL922s54koaCw0Ke1jg,16373
273
- khoj/interface/compiled/share/chat/index.txt,sha256=-h8D0t6UKWvLRJWYvp6KtJjpFeGHm0IOLK3mDASKWc4,7325
267
+ khoj/interface/compiled/automations/index.html,sha256=YAXNyQEGJNqNr9T9zc9bi5kbXyYZ6ByZKJCdiGWP9jE,32381
268
+ khoj/interface/compiled/automations/index.txt,sha256=sBvUvbc3ypL3jPi06iHSHzerQv1vOS2lmk4BXePEGUY,5650
269
+ khoj/interface/compiled/chat/index.html,sha256=8SSHxf-PaCAE2SwEYFIm2WzDtIbZk7w2vz7fx4apsqs,14764
270
+ khoj/interface/compiled/chat/index.txt,sha256=koQBHIA5UaW3ZyCxic2hPENdeN5GXgLQFWYEah0ejME,6395
271
+ khoj/interface/compiled/search/index.html,sha256=nU-tdHYa2UT3b1TbAyXZwZhZ3g2KphBMdv7WrcZSk_E,31336
272
+ khoj/interface/compiled/search/index.txt,sha256=h4-8sKA755UcmslWzKDNh8TEZKoUeCKkQcA4XLOCx4Q,5177
273
+ khoj/interface/compiled/settings/index.html,sha256=5kyRHCZqrlM1JPqHY9E4mDa7i0ZHqpjDUVrie-gcDHw,14305
274
+ khoj/interface/compiled/settings/index.txt,sha256=EbZ75k5yxh0J2Nckx3w7n3UpNTgZ0_sCquRWGuQhMbE,6112
275
+ khoj/interface/compiled/share/chat/index.html,sha256=64ocZ3dlEN1dN10fNi9a_TfLfbAnZPecOF3c-ygBxMg,16373
276
+ khoj/interface/compiled/share/chat/index.txt,sha256=mGcT89FG9aIORXKGMVoDCpOWpHyyJI_sk_l09dWKQjQ,7325
274
277
  khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
275
278
  khoj/interface/email/magic_link.html,sha256=EoGKQucfPj3xQrWXhSZAzPFOYCHF_ZX94TWCd1XHl1M,941
276
279
  khoj/interface/email/task.html,sha256=tY7a0gzVeQ2lSQNu7WyXR_s7VYeWTrxWEj1iHVuoVE4,2813
@@ -322,23 +325,23 @@ khoj/processor/content/pdf/pdf_to_entries.py,sha256=GQUvab61okhV9_DK0g2MCrMq8wKp
322
325
  khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
323
326
  khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=wFZwK_zIc7gWbRtO9sOHo9KvfhGAzL9psX_nKWYFduo,4975
324
327
  khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
325
- khoj/processor/conversation/prompts.py,sha256=KLGjz1745IChHxtznxevEnh2VAolrJDa-cp6v_OwL0k,49981
326
- khoj/processor/conversation/utils.py,sha256=OeNX6QO1i22sl_7gL-5uCqQ3MMt1EhoZT5OfPwGcCCU,30311
328
+ khoj/processor/conversation/prompts.py,sha256=Xn7lqyDalQKC5fFkARu6Tzb7o-xEwEhtuPbrJAOnQlA,50624
329
+ khoj/processor/conversation/utils.py,sha256=VWSO65A1yAnPcoiGYdOPUKd7YsMp9WsXbFNJMtWXLKc,32706
327
330
  khoj/processor/conversation/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
328
- khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=AWniFa1tRGzU2aXsMmEA5h3DshCDi5inna1HS_ejjcs,8696
331
+ khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=ZybRPZ4yXkFh9kCgoj61pfHL1KtOgSPlxpVauaT5vBY,9091
329
332
  khoj/processor/conversation/anthropic/utils.py,sha256=En5uBBsxDBWb6QTs5g8nH_f2FVBX1uYK40i13fDRAhc,7327
330
333
  khoj/processor/conversation/google/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
331
- khoj/processor/conversation/google/gemini_chat.py,sha256=6b2oTjf1cBbVla2iUVXqjVpNQLYKtqNIBPaoStUhmis,8897
334
+ khoj/processor/conversation/google/gemini_chat.py,sha256=FC2Q7Xo1GKA6lPECJy66SkJJFYFIA_KGwf56uAw5z1c,9282
332
335
  khoj/processor/conversation/google/utils.py,sha256=2vV7MNXFhJqBut5iMmQwcfvsqL_AkGoEd4XiViCk51s,10851
333
336
  khoj/processor/conversation/offline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
334
- khoj/processor/conversation/offline/chat_model.py,sha256=NTsZOnagy6mjitj5wtgBk3OwqG4uhmTZ0uwv_xHKwz8,11058
337
+ khoj/processor/conversation/offline/chat_model.py,sha256=ten5TbO2L0UBilSGDzEQgGwHgw1PHUNzNts1jIDb_GY,11207
335
338
  khoj/processor/conversation/offline/utils.py,sha256=51McImxl6u1qgRYvMt7uzsgLGSLq5SMFy74ymlNjIcc,3033
336
339
  khoj/processor/conversation/offline/whisper.py,sha256=DJI-8y8DULO2cQ49m2VOvRyIZ2TxBypc15gM8O3HuMI,470
337
340
  khoj/processor/conversation/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
338
- khoj/processor/conversation/openai/gpt.py,sha256=Hs188lv2_bNyrwTL2s3lCkRWeNgNR8Oqx-myg356_VY,8193
341
+ khoj/processor/conversation/openai/gpt.py,sha256=7mt6T8tVzgb5jhUFv83SQWpMZU7XvGXu_y1BDomiqIg,8632
339
342
  khoj/processor/conversation/openai/utils.py,sha256=7EjpsqqU_Y47q8hXm-9GSkVhukBzMJpTiz9o47UrDLk,7590
340
343
  khoj/processor/conversation/openai/whisper.py,sha256=zoEeK1LNCg_tzP4xzYi5vRPzNPGuDGzpkrkG7d1LUn4,447
341
- khoj/processor/image/generate.py,sha256=i5J51AwlMZbdlHHov-_MAw9bYgdVYmGgFjCYWDfx02s,9120
344
+ khoj/processor/image/generate.py,sha256=o81lmVbcc9X_oMb9sjOxq2ATJpgCCdSkqO2l7q4wYJs,8809
342
345
  khoj/processor/speech/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
343
346
  khoj/processor/speech/text_to_speech.py,sha256=Q7sapi5Hv6woXOumtrGqR0t6izZrFBkWXFOGrHM6dJ4,1929
344
347
  khoj/processor/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -347,14 +350,14 @@ khoj/processor/tools/run_code.py,sha256=pa8slKYU21yDxBxK2CoQTEwHxZIANA_-bI8GhEDj
347
350
  khoj/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
348
351
  khoj/routers/api.py,sha256=Z-0MqhlbhxR-palz_Kl3CqsC8O91n-xmgj8JNqQ8lv0,28495
349
352
  khoj/routers/api_agents.py,sha256=vHPruCjlQxGBdm0lcmymEb9-aAELqbOplqh21WwD0DQ,9699
350
- khoj/routers/api_chat.py,sha256=Oneo5gdYyta8TapQPFTe-n2bb5cU5X9AV80zTO71dLc,50583
353
+ khoj/routers/api_chat.py,sha256=-refkl569pdMWhx0pTKHwFhilEF65tL70bffBdJJPlk,48723
351
354
  khoj/routers/api_content.py,sha256=WNlB6lVwRW8hHDthO2HypbpPvqrqt9rTU5oMRNknpMU,21070
352
355
  khoj/routers/api_model.py,sha256=KDsxNwHspC94eTcv6l3ehr773EOvgc670UnZLE1WZ4o,3642
353
356
  khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,2208
354
357
  khoj/routers/api_subscription.py,sha256=qnbKwA6N1TWK8Aiu1FFLka_JhbPOuwqT262NSHGZDiQ,5569
355
358
  khoj/routers/auth.py,sha256=kWPB2McwT6z4rGF6mWl92Q7ToRX-XezBPFefdxqQUk4,6579
356
359
  khoj/routers/email.py,sha256=SGYNPQvfcvYeHf70F0YqpY0FLMRElF2ZekROXdwGI18,3821
357
- khoj/routers/helpers.py,sha256=92X4p9JhvpVOShfzjmxwksGc4fgdIx7ZOar-TEZNLSY,82386
360
+ khoj/routers/helpers.py,sha256=cvJ_Umx0fLupItxoFibUxTC43M_3oHutwf2vepBNiAo,84360
358
361
  khoj/routers/notion.py,sha256=g53xyYFmjr2JnuIrTW2vytbfkiK_UkoRTxqnnLSmD5o,2802
359
362
  khoj/routers/research.py,sha256=KjUuo-rwtSqUX-0BYjXgP6cWeH3xazffwtxfxKXZL00,16083
360
363
  khoj/routers/storage.py,sha256=tJrwhFRVWv0MHv7V7huMc1Diwm-putZSwnZXJ3tqT_c,2338
@@ -379,8 +382,8 @@ khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
379
382
  khoj/utils/rawconfig.py,sha256=bQ_MGbBzYt6ZUIsHUwZjaHKDLh6GQ7h-sENkv3fyVbQ,5028
380
383
  khoj/utils/state.py,sha256=axjZhnby8L3bY-N1VVoWgBH1RpFGK6U3_ZeNo1Kt7hs,1679
381
384
  khoj/utils/yaml.py,sha256=qy1Tkc61rDMesBw_Cyx2vOR6H-Hngcsm5kYfjwQBwkE,1543
382
- khoj-1.30.11.dev13.dist-info/METADATA,sha256=-C4rGDy1lUG4VSc857xZlEoNLm7Zo255w-BsIm1b5vg,7532
383
- khoj-1.30.11.dev13.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
384
- khoj-1.30.11.dev13.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
385
- khoj-1.30.11.dev13.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
386
- khoj-1.30.11.dev13.dist-info/RECORD,,
385
+ khoj-1.30.11.dev46.dist-info/METADATA,sha256=kR1meKeS5ER9dajIjEwgjNTzOXk-cZOn3FBpF2OjTYU,7569
386
+ khoj-1.30.11.dev46.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
387
+ khoj-1.30.11.dev46.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
388
+ khoj-1.30.11.dev46.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
389
+ khoj-1.30.11.dev46.dist-info/RECORD,,