khoj 1.30.11.dev65__py3-none-any.whl → 1.30.11.dev68__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 (37) hide show
  1. khoj/interface/compiled/404/index.html +1 -1
  2. khoj/interface/compiled/_next/static/chunks/app/agents/layout-f2ea2b26fc0e78b1.js +1 -0
  3. khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-f662c9e5091603cf.js +1 -0
  4. khoj/interface/compiled/_next/static/chunks/{webpack-64477b5a1e621214.js → webpack-69440f9c6674390f.js} +1 -1
  5. khoj/interface/compiled/_next/static/css/34f2d177dfee2dd8.css +1 -0
  6. khoj/interface/compiled/agents/index.html +1 -1
  7. khoj/interface/compiled/agents/index.txt +1 -1
  8. khoj/interface/compiled/automations/index.html +1 -1
  9. khoj/interface/compiled/automations/index.txt +1 -1
  10. khoj/interface/compiled/chat/index.html +1 -1
  11. khoj/interface/compiled/chat/index.txt +1 -1
  12. khoj/interface/compiled/index.html +1 -1
  13. khoj/interface/compiled/index.txt +1 -1
  14. khoj/interface/compiled/search/index.html +1 -1
  15. khoj/interface/compiled/search/index.txt +1 -1
  16. khoj/interface/compiled/settings/index.html +1 -1
  17. khoj/interface/compiled/settings/index.txt +1 -1
  18. khoj/interface/compiled/share/chat/index.html +1 -1
  19. khoj/interface/compiled/share/chat/index.txt +1 -1
  20. khoj/processor/conversation/anthropic/anthropic_chat.py +2 -4
  21. khoj/processor/conversation/google/gemini_chat.py +2 -4
  22. khoj/processor/conversation/offline/chat_model.py +3 -1
  23. khoj/processor/conversation/openai/gpt.py +3 -5
  24. khoj/processor/conversation/prompts.py +33 -21
  25. khoj/processor/conversation/utils.py +31 -30
  26. khoj/routers/api_chat.py +14 -1
  27. khoj/routers/helpers.py +11 -9
  28. {khoj-1.30.11.dev65.dist-info → khoj-1.30.11.dev68.dist-info}/METADATA +1 -1
  29. {khoj-1.30.11.dev65.dist-info → khoj-1.30.11.dev68.dist-info}/RECORD +34 -34
  30. khoj/interface/compiled/_next/static/chunks/app/agents/layout-1878cc328ea380bd.js +0 -1
  31. khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-592e8c470f2c2084.js +0 -1
  32. khoj/interface/compiled/_next/static/css/cb167d6771069fbf.css +0 -1
  33. /khoj/interface/compiled/_next/static/{pzCibzlX5xLa_-x0rn8Ch → K_yMtbMBGMl0Y_znpf-jV}/_buildManifest.js +0 -0
  34. /khoj/interface/compiled/_next/static/{pzCibzlX5xLa_-x0rn8Ch → K_yMtbMBGMl0Y_znpf-jV}/_ssgManifest.js +0 -0
  35. {khoj-1.30.11.dev65.dist-info → khoj-1.30.11.dev68.dist-info}/WHEEL +0 -0
  36. {khoj-1.30.11.dev65.dist-info → khoj-1.30.11.dev68.dist-info}/entry_points.txt +0 -0
  37. {khoj-1.30.11.dev65.dist-info → khoj-1.30.11.dev68.dist-info}/licenses/LICENSE +0 -0
@@ -40,6 +40,7 @@ from khoj.utils.helpers import (
40
40
  merge_dicts,
41
41
  )
42
42
  from khoj.utils.rawconfig import FileAttachment
43
+ from khoj.utils.yaml import yaml_dump
43
44
 
44
45
  logger = logging.getLogger(__name__)
45
46
 
@@ -381,9 +382,8 @@ def generate_chatml_messages_with_context(
381
382
  model_type="",
382
383
  context_message="",
383
384
  query_files: str = None,
384
- generated_images: Optional[list[str]] = None,
385
385
  generated_files: List[FileAttachment] = None,
386
- generated_excalidraw_diagram: str = None,
386
+ generated_asset_results: Dict[str, Dict] = {},
387
387
  program_execution_context: List[str] = [],
388
388
  ):
389
389
  """Generate chat messages with appropriate context from previous conversation to send to the chat model"""
@@ -403,11 +403,15 @@ def generate_chatml_messages_with_context(
403
403
  message_context = ""
404
404
  message_attached_files = ""
405
405
 
406
+ generated_assets = {}
407
+
406
408
  chat_message = chat.get("message")
407
409
  role = "user" if chat["by"] == "you" else "assistant"
408
410
 
411
+ # Legacy code to handle excalidraw diagrams prior to Dec 2024
409
412
  if chat["by"] == "khoj" and "excalidraw" in chat["intent"].get("type", ""):
410
413
  chat_message = chat["intent"].get("inferred-queries")[0]
414
+
411
415
  if not is_none_or_empty(chat.get("context")):
412
416
  references = "\n\n".join(
413
417
  {
@@ -434,15 +438,23 @@ def generate_chatml_messages_with_context(
434
438
  reconstructed_context_message = ChatMessage(content=message_context, role="user")
435
439
  chatml_messages.insert(0, reconstructed_context_message)
436
440
 
437
- if chat.get("images") and role == "assistant":
438
- # Issue: the assistant role cannot accept an image as a message content, so send it in a separate user message.
439
- file_attachment_message = construct_structured_message(
440
- message=prompts.generated_image_attachment.format(),
441
- images=chat.get("images"),
442
- model_type=model_type,
443
- vision_enabled=vision_enabled,
441
+ if not is_none_or_empty(chat.get("images")) and role == "assistant":
442
+ generated_assets["image"] = {
443
+ "query": chat.get("intent", {}).get("inferred-queries", [user_message])[0],
444
+ }
445
+
446
+ if not is_none_or_empty(chat.get("excalidrawDiagram")) and role == "assistant":
447
+ generated_assets["diagram"] = {
448
+ "query": chat.get("intent", {}).get("inferred-queries", [user_message])[0],
449
+ }
450
+
451
+ if not is_none_or_empty(generated_assets):
452
+ chatml_messages.append(
453
+ ChatMessage(
454
+ content=f"{prompts.generated_assets_context.format(generated_assets=yaml_dump(generated_assets))}\n",
455
+ role="user",
456
+ )
444
457
  )
445
- chatml_messages.append(ChatMessage(content=file_attachment_message, role="user"))
446
458
 
447
459
  message_content = construct_structured_message(
448
460
  chat_message, chat.get("images") if role == "user" else [], model_type, vision_enabled
@@ -465,33 +477,22 @@ def generate_chatml_messages_with_context(
465
477
  role="user",
466
478
  )
467
479
  )
468
- if not is_none_or_empty(context_message):
469
- messages.append(ChatMessage(content=context_message, role="user"))
470
-
471
- if generated_images:
472
- messages.append(
473
- ChatMessage(
474
- content=construct_structured_message(
475
- prompts.generated_image_attachment.format(), generated_images, model_type, vision_enabled
476
- ),
477
- role="user",
478
- )
479
- )
480
480
 
481
481
  if generated_files:
482
482
  message_attached_files = gather_raw_query_files({file.name: file.content for file in generated_files})
483
483
  messages.append(ChatMessage(content=message_attached_files, role="assistant"))
484
484
 
485
- if generated_excalidraw_diagram:
486
- messages.append(ChatMessage(content=prompts.generated_diagram_attachment.format(), role="assistant"))
485
+ if not is_none_or_empty(generated_asset_results):
486
+ context_message += (
487
+ f"{prompts.generated_assets_context.format(generated_assets=yaml_dump(generated_asset_results))}\n\n"
488
+ )
487
489
 
488
490
  if program_execution_context:
489
- messages.append(
490
- ChatMessage(
491
- content=prompts.additional_program_context.format(context="\n".join(program_execution_context)),
492
- role="assistant",
493
- )
494
- )
491
+ program_context_text = "\n".join(program_execution_context)
492
+ context_message += f"{prompts.additional_program_context.format(context=program_context_text)}\n"
493
+
494
+ if not is_none_or_empty(context_message):
495
+ messages.append(ChatMessage(content=context_message, role="user"))
495
496
 
496
497
  if len(chatml_messages) > 0:
497
498
  messages += chatml_messages
khoj/routers/api_chat.py CHANGED
@@ -23,6 +23,7 @@ from khoj.database.adapters import (
23
23
  aget_user_name,
24
24
  )
25
25
  from khoj.database.models import Agent, KhojUser
26
+ from khoj.processor.conversation import prompts
26
27
  from khoj.processor.conversation.prompts import help_message, no_entries_found
27
28
  from khoj.processor.conversation.utils import defilter_query, save_to_conversation_log
28
29
  from khoj.processor.image.generate import text_to_image
@@ -765,6 +766,7 @@ async def chat(
765
766
  researched_results = ""
766
767
  online_results: Dict = dict()
767
768
  code_results: Dict = dict()
769
+ generated_asset_results: Dict = dict()
768
770
  ## Extract Document References
769
771
  compiled_references: List[Any] = []
770
772
  inferred_queries: List[Any] = []
@@ -1128,6 +1130,10 @@ async def chat(
1128
1130
  else:
1129
1131
  generated_images.append(generated_image)
1130
1132
 
1133
+ generated_asset_results["images"] = {
1134
+ "query": improved_image_prompt,
1135
+ }
1136
+
1131
1137
  async for result in send_event(
1132
1138
  ChatEvent.GENERATED_ASSETS,
1133
1139
  {
@@ -1166,6 +1172,10 @@ async def chat(
1166
1172
 
1167
1173
  generated_excalidraw_diagram = diagram_description
1168
1174
 
1175
+ generated_asset_results["diagrams"] = {
1176
+ "query": better_diagram_description_prompt,
1177
+ }
1178
+
1169
1179
  async for result in send_event(
1170
1180
  ChatEvent.GENERATED_ASSETS,
1171
1181
  {
@@ -1176,7 +1186,9 @@ async def chat(
1176
1186
  else:
1177
1187
  error_message = "Failed to generate diagram. Please try again later."
1178
1188
  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."
1189
+ prompts.failed_diagram_generation.format(
1190
+ attempted_diagram=better_diagram_description_prompt
1191
+ )
1180
1192
  )
1181
1193
 
1182
1194
  async for result in send_event(ChatEvent.STATUS, error_message):
@@ -1209,6 +1221,7 @@ async def chat(
1209
1221
  generated_files,
1210
1222
  generated_excalidraw_diagram,
1211
1223
  program_execution_context,
1224
+ generated_asset_results,
1212
1225
  tracer,
1213
1226
  )
1214
1227
 
khoj/routers/helpers.py CHANGED
@@ -88,7 +88,10 @@ from khoj.processor.conversation.offline.chat_model import (
88
88
  converse_offline,
89
89
  send_message_to_model_offline,
90
90
  )
91
- from khoj.processor.conversation.openai.gpt import converse, send_message_to_model
91
+ from khoj.processor.conversation.openai.gpt import (
92
+ converse_openai,
93
+ send_message_to_model,
94
+ )
92
95
  from khoj.processor.conversation.utils import (
93
96
  ChatEvent,
94
97
  ThreadedGenerator,
@@ -751,7 +754,7 @@ async def generate_excalidraw_diagram(
751
754
  )
752
755
  except Exception as e:
753
756
  logger.error(f"Error generating Excalidraw diagram for {user.email}: {e}", exc_info=True)
754
- yield None, None
757
+ yield better_diagram_description_prompt, None
755
758
  return
756
759
 
757
760
  scratchpad = excalidraw_diagram_description.get("scratchpad")
@@ -1189,6 +1192,7 @@ def generate_chat_response(
1189
1192
  raw_generated_files: List[FileAttachment] = [],
1190
1193
  generated_excalidraw_diagram: str = None,
1191
1194
  program_execution_context: List[str] = [],
1195
+ generated_asset_results: Dict[str, Dict] = {},
1192
1196
  tracer: dict = {},
1193
1197
  ) -> Tuple[Union[ThreadedGenerator, Iterator[str]], Dict[str, str]]:
1194
1198
  # Initialize Variables
@@ -1251,6 +1255,7 @@ def generate_chat_response(
1251
1255
  agent=agent,
1252
1256
  query_files=query_files,
1253
1257
  generated_files=raw_generated_files,
1258
+ generated_asset_results=generated_asset_results,
1254
1259
  tracer=tracer,
1255
1260
  )
1256
1261
 
@@ -1258,7 +1263,7 @@ def generate_chat_response(
1258
1263
  openai_chat_config = conversation_config.ai_model_api
1259
1264
  api_key = openai_chat_config.api_key
1260
1265
  chat_model = conversation_config.chat_model
1261
- chat_response = converse(
1266
+ chat_response = converse_openai(
1262
1267
  compiled_references,
1263
1268
  query_to_run,
1264
1269
  query_images=query_images,
@@ -1278,8 +1283,7 @@ def generate_chat_response(
1278
1283
  vision_available=vision_available,
1279
1284
  query_files=query_files,
1280
1285
  generated_files=raw_generated_files,
1281
- generated_images=generated_images,
1282
- generated_excalidraw_diagram=generated_excalidraw_diagram,
1286
+ generated_asset_results=generated_asset_results,
1283
1287
  program_execution_context=program_execution_context,
1284
1288
  tracer=tracer,
1285
1289
  )
@@ -1305,8 +1309,7 @@ def generate_chat_response(
1305
1309
  vision_available=vision_available,
1306
1310
  query_files=query_files,
1307
1311
  generated_files=raw_generated_files,
1308
- generated_images=generated_images,
1309
- generated_excalidraw_diagram=generated_excalidraw_diagram,
1312
+ generated_asset_results=generated_asset_results,
1310
1313
  program_execution_context=program_execution_context,
1311
1314
  tracer=tracer,
1312
1315
  )
@@ -1331,8 +1334,7 @@ def generate_chat_response(
1331
1334
  vision_available=vision_available,
1332
1335
  query_files=query_files,
1333
1336
  generated_files=raw_generated_files,
1334
- generated_images=generated_images,
1335
- generated_excalidraw_diagram=generated_excalidraw_diagram,
1337
+ generated_asset_results=generated_asset_results,
1336
1338
  program_execution_context=program_execution_context,
1337
1339
  tracer=tracer,
1338
1340
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: khoj
3
- Version: 1.30.11.dev65
3
+ Version: 1.30.11.dev68
4
4
  Summary: Your Second Brain
5
5
  Project-URL: Homepage, https://khoj.dev
6
6
  Project-URL: Documentation, https://docs.khoj.dev
@@ -113,15 +113,17 @@ khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvt
113
113
  khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
114
114
  khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
115
115
  khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
116
- khoj/interface/compiled/index.html,sha256=2HJsFbAi4ktKUcXQVvoWUlH4seQUHpC8kttkg2Ba3F8,13432
117
- khoj/interface/compiled/index.txt,sha256=313Pd8ts0k6SNNkUPNnJ9CyggZq9oft9fEO8e6Ap8YE,5582
116
+ khoj/interface/compiled/index.html,sha256=OulWz15ebAjORVOo5BRo8-ebZG_EIMYGRYXiYNYmkY0,13432
117
+ khoj/interface/compiled/index.txt,sha256=2y4GT2y8rjfRVUVd2BKVyRQUTBxIXB8T2kYfR_3vzqY,5582
118
118
  khoj/interface/compiled/khoj.webmanifest,sha256=9wOK2BMS6xH5NKd2eaUgTLg9WepIxB2K2U33KU89LD8,2543
119
119
  khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
120
120
  khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
121
121
  khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
122
122
  khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
123
123
  khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
124
- khoj/interface/compiled/404/index.html,sha256=45ll_qb7MsxW8iK1CyidWMxwsoFWcf0eZkH5VsWJgnk,13559
124
+ khoj/interface/compiled/404/index.html,sha256=GHx1sQbah9HOlFs8rllhNiWapBIua23QWJDjJ-enq1o,13559
125
+ khoj/interface/compiled/_next/static/K_yMtbMBGMl0Y_znpf-jV/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
126
+ khoj/interface/compiled/_next/static/K_yMtbMBGMl0Y_znpf-jV/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
125
127
  khoj/interface/compiled/_next/static/chunks/1210.ef7a0f9a7e43da1d.js,sha256=yOh1qtmNHPpDd6vR7CJOXSbq8M_slPujdTR_OXxaEYU,2121
126
128
  khoj/interface/compiled/_next/static/chunks/1279-4cb23143aa2c0228.js,sha256=zHMz-ixoNkLNUjN2-C48RGEyMs2mI9wsNRCczXnzIvQ,45616
127
129
  khoj/interface/compiled/_next/static/chunks/1459.690bf20e7d7b7090.js,sha256=z-ruZPxF_Z3ef_WOThd9Ox36AMhxaW3znizVivNnA34,34239
@@ -148,11 +150,11 @@ khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js,sha256
148
150
  khoj/interface/compiled/_next/static/chunks/main-1ea5c2e0fdef4626.js,sha256=8_u87PGI3PahFbDfGWGvpD-a18J7X7ChUqWIeqxVq7g,111061
149
151
  khoj/interface/compiled/_next/static/chunks/main-app-6d6ee3495efe03d4.js,sha256=i52E7sWOcSq1G8eYZL3mtTxbUbwRNxcAbSWQ6uWpMsY,475
150
152
  khoj/interface/compiled/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
151
- khoj/interface/compiled/_next/static/chunks/webpack-64477b5a1e621214.js,sha256=v8DO-8HTKm12pVXSR6O_eaV8e4RYzRWfJDeDtSepWsQ,3991
153
+ khoj/interface/compiled/_next/static/chunks/webpack-69440f9c6674390f.js,sha256=YHhdbT-1B0JiE1v5X8Zt2UqgBlXdTc1u2aeaVclPFH4,3991
152
154
  khoj/interface/compiled/_next/static/chunks/app/layout-6310c57b674dd6f5.js,sha256=w4zG3noOTaiH6TMWlvYaV2jpxzSgmFNj10o1Yq6mKtI,709
153
155
  khoj/interface/compiled/_next/static/chunks/app/page-3ffd8f0934b896f3.js,sha256=pggs7VXApO6QgEWIUMJn9wSSlAGJO0gZOIv3lgFjtys,33109
154
156
  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-1878cc328ea380bd.js,sha256=foKQN1MOnaGA0hgPpbiLKvn7H87Xmmr_TC2nKkkH5I8,180
157
+ khoj/interface/compiled/_next/static/chunks/app/agents/layout-f2ea2b26fc0e78b1.js,sha256=G_qzJ-78ks26uCT6sW06IJbPds_4hRH4Ait6-rqh1-w,180
156
158
  khoj/interface/compiled/_next/static/chunks/app/agents/page-2ffa7560aebff9a1.js,sha256=JU0mCi3ZuJlCmaYiB292hdOO5znLVRRJWKU07YeALaQ,11740
157
159
  khoj/interface/compiled/_next/static/chunks/app/automations/layout-7f1b79a2c67af0b4.js,sha256=MvPp1IfxmpfRaT4XDDpj-l6F4CV-loeGqi315QYXKZw,5143
158
160
  khoj/interface/compiled/_next/static/chunks/app/automations/page-b0a6a6ed2267c1a2.js,sha256=0Vqc5rqS4PDIdGfStH3XDo7bf834iXnLvujWzOSSTqg,35406
@@ -162,18 +164,18 @@ khoj/interface/compiled/_next/static/chunks/app/search/layout-2ca475462c0b2176.j
162
164
  khoj/interface/compiled/_next/static/chunks/app/search/page-059f237514f77628.js,sha256=oySWDErv9jG8CKknKa3en2fzbdFgeq1FvSbTwBJMyhY,6948
163
165
  khoj/interface/compiled/_next/static/chunks/app/settings/layout-f285795bc3154b8c.js,sha256=SBNluXZKXEfcDqJz2W3t8US0nsRbPHV2iblQ5Xiv2Y8,13218
164
166
  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-592e8c470f2c2084.js,sha256=f4uHzU7NvCArgecxL5t2nKni8w9rdQp_rZV6GPhDZHg,180
167
+ khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-f662c9e5091603cf.js,sha256=WfzMeFdhBC-koMD1NRojGHN9iJQaGQl682czCRm1l0E,180
166
168
  khoj/interface/compiled/_next/static/chunks/app/share/chat/page-0b8d90dc57dbc1d8.js,sha256=JfyH3AEqVfXPeW24llHGu3tJueOOvnrTa6_wmkhbr5M,4366
167
169
  khoj/interface/compiled/_next/static/chunks/pages/_app-f870474a17b7f2fd.js,sha256=eqdFPAN_XFyMUzZ9qwFk-_rhMWZrU7lgNVt1foVUANo,286
168
170
  khoj/interface/compiled/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
169
171
  khoj/interface/compiled/_next/static/css/089de1d8526b96e9.css,sha256=sjpmNlk7H2uKEYK9_DFccNq9J8V9uR799cS0yT-E7EI,4041
170
172
  khoj/interface/compiled/_next/static/css/1f293605f2871853.css,sha256=G2b3Wx4e0DRBWSdNU20ivCChZI5HBzvPYUVVIdTRjLc,26590
173
+ khoj/interface/compiled/_next/static/css/34f2d177dfee2dd8.css,sha256=27v3BCENlFNH4HDz8gZcLEbWwbtTP9iEx8m7hdWKBuU,9211
171
174
  khoj/interface/compiled/_next/static/css/3c34171b174cc381.css,sha256=NEDZ3BbH1X6AYS6epyE-j3SdOZDE1UL3FzKnXVGCYfE,3058815
172
175
  khoj/interface/compiled/_next/static/css/3cf13271869a4aeb.css,sha256=sGjJTeMeN6wbQF4OCPgWYgJmSLLSHyzIH2rSVstWx7k,1857
173
176
  khoj/interface/compiled/_next/static/css/4cae6c0e5c72fb2d.css,sha256=3CjTMmtMrm_MYt1ywtUh2MHEjSLSl356SQLl4hdBuYw,534
174
177
  khoj/interface/compiled/_next/static/css/5a400c87d295e68a.css,sha256=ojDUPJ9fJpEo9DzTAsEa-k1cg7Bef-nSTfpszMiqknQ,17711
175
178
  khoj/interface/compiled/_next/static/css/80bd6301fc657983.css,sha256=T7_aQHcWpQBQLKadauHNzjYGw713FtRNTlUqmJjsL6I,1634
176
- khoj/interface/compiled/_next/static/css/cb167d6771069fbf.css,sha256=yZPsTnUYGAD_1KzBmop3_Zs7o2M7il0q4XjYpIOu_ZM,9211
177
179
  khoj/interface/compiled/_next/static/media/1d8a05b60287ae6c-s.p.woff2,sha256=IzKBwB_bpSGvO7C9aRv29Js-jAbZPRDI-D-P4H2P918,14508
178
180
  khoj/interface/compiled/_next/static/media/6f22fce21a7c433c-s.woff2,sha256=T773llrgKNUxGlJzhaH0DUs2rcuRHU7bQpf0DTC4sSU,21812
179
181
  khoj/interface/compiled/_next/static/media/77c207b095007c34-s.p.woff2,sha256=vk9tBKB084h1U8mxwJ5WNHDz_pdUVqE_xb9-ILVhKXY,168144
@@ -247,10 +249,8 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
247
249
  khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
248
250
  khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
249
251
  khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
250
- khoj/interface/compiled/_next/static/pzCibzlX5xLa_-x0rn8Ch/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
251
- khoj/interface/compiled/_next/static/pzCibzlX5xLa_-x0rn8Ch/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
252
- khoj/interface/compiled/agents/index.html,sha256=sUFXuNMSDRKJXS-ccvmuNvRq7uvrO20XAsbiq9EV_4s,14091
253
- khoj/interface/compiled/agents/index.txt,sha256=MqECqZkBboy22x12C3UOX7QQqCcSw-30zD6RR2kH-5w,6095
252
+ khoj/interface/compiled/agents/index.html,sha256=f5KfOG3PACFORVwt5e2nK0vmdkCbtcayQXDk5U8-_j4,14091
253
+ khoj/interface/compiled/agents/index.txt,sha256=QFrlGGpKKMfkSVXVQcyIqnaKWLp-PDKB2Ft72JzN2oo,6095
254
254
  khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
255
255
  khoj/interface/compiled/assets/icons/khoj_lantern.svg,sha256=I_8XP5X84gEOoCRhCRKOQn_GKZrz3SUBXct7WxHvY7c,8767
256
256
  khoj/interface/compiled/assets/icons/khoj_lantern_1200x1200.png,sha256=xDx0bbD-WMflgg8zck9oPIIuTIvywtuED2k7CjSQS4w,66194
@@ -265,16 +265,16 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
265
265
  khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
266
266
  khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
267
267
  khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
268
- khoj/interface/compiled/automations/index.html,sha256=1j1Gq4vtjoHs-R1Of_o5DHioEK4EXaI6fGlQV0GSjRI,33921
269
- khoj/interface/compiled/automations/index.txt,sha256=a0UyAXpq1YkaKmcVyiVphHMXp3dyOUaxyeBlgvazkQ0,6373
270
- khoj/interface/compiled/chat/index.html,sha256=rIyLf5IlxMYRewa8jSHMRdhHy9h-vdVl5pECl-TjEqw,15274
271
- khoj/interface/compiled/chat/index.txt,sha256=e66ia_GMcsXAjiTzPv20YnOFpQsEu7y5s7vMLCrPQZg,6628
272
- khoj/interface/compiled/search/index.html,sha256=VqW1K-w8LXiA9EcSC1ZL0ioYWXQWzIiLEloLQw8lNRc,32875
273
- khoj/interface/compiled/search/index.txt,sha256=t_G-TtRri_FRJOkQ3UxEjGRgoAf7AOiNnoPChHFYNGY,5900
274
- khoj/interface/compiled/settings/index.html,sha256=zMcdd7veFIi9qPLRbMYMrKDAmXmXYCoMe83c_-UHdvA,14885
275
- khoj/interface/compiled/settings/index.txt,sha256=EqH1F6yLG5HofQINjk7Ix2PopMc54pFlr5cKu1NhZ9o,6496
276
- khoj/interface/compiled/share/chat/index.html,sha256=QJuCPgZDQi1Z47vjmUT9F0M1ZcXFhhyHo1FJ-28A7hI,16611
277
- khoj/interface/compiled/share/chat/index.txt,sha256=GsviCwCwwUofDL7xrR3C1dPBtV6BmGuD5IPhrU7CY4Q,7444
268
+ khoj/interface/compiled/automations/index.html,sha256=r7jUtjDgL2AzmzrmGTP7Z8ET0Y-6OBrBGZUu0uo6i80,33921
269
+ khoj/interface/compiled/automations/index.txt,sha256=UNc2f4vG1NX3CRV-VChBZ22UqYSDmrqQ2z5ZQ4nkCZo,6373
270
+ khoj/interface/compiled/chat/index.html,sha256=3gOliLuak-F-rTJXQJjLVEszRGb28zoQS82qe6zR1fM,15274
271
+ khoj/interface/compiled/chat/index.txt,sha256=OySr2GfURtsErcE7KvyXt2wMC3q1ZSl2jgYjGZpzj9A,6628
272
+ khoj/interface/compiled/search/index.html,sha256=MMNri6xG0LLFqLKbDFdZUw6IooXZd0_G1eyeeXXoEO0,32875
273
+ khoj/interface/compiled/search/index.txt,sha256=3XfuSlwGTR5oodQc6oCmxdFiu2YLsBi-FxsKBlU8WgI,5900
274
+ khoj/interface/compiled/settings/index.html,sha256=VmYS6OyS05-ZaA-mQ99Egxx7t9us8Zj-W2X2eBbCsGs,14885
275
+ khoj/interface/compiled/settings/index.txt,sha256=cFuzyxZgHjLHIhhxuGnba9B1WZOR_8BNwz9AuVdY6oU,6496
276
+ khoj/interface/compiled/share/chat/index.html,sha256=CejQAKMEAou98k6Mq5zk_SMnuV_8X5TaJRa21fGFknk,16611
277
+ khoj/interface/compiled/share/chat/index.txt,sha256=Zjgnly59bx4DztcC1yUV24icpGi24QB6htjHcoROF9c,7444
278
278
  khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
279
279
  khoj/interface/email/magic_link.html,sha256=EoGKQucfPj3xQrWXhSZAzPFOYCHF_ZX94TWCd1XHl1M,941
280
280
  khoj/interface/email/task.html,sha256=tY7a0gzVeQ2lSQNu7WyXR_s7VYeWTrxWEj1iHVuoVE4,2813
@@ -326,20 +326,20 @@ khoj/processor/content/pdf/pdf_to_entries.py,sha256=GQUvab61okhV9_DK0g2MCrMq8wKp
326
326
  khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
327
327
  khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=wFZwK_zIc7gWbRtO9sOHo9KvfhGAzL9psX_nKWYFduo,4975
328
328
  khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
329
- khoj/processor/conversation/prompts.py,sha256=HIYrf8trCZ9-8UyC2hkq4X0EkL9bsZQiiqSveiWSMUU,50682
330
- khoj/processor/conversation/utils.py,sha256=d8_D1-hRfipkCq2dGO7XS42RctBIywtAiNTaw7TlJwc,32726
329
+ khoj/processor/conversation/prompts.py,sha256=dAmE_rPbyLK3JtdYF869iKVQWjeZswU7FzfCUzCbozg,51040
330
+ khoj/processor/conversation/utils.py,sha256=Se33hiNm6dEEuw3t0h75o0p8F8_JSeCt3rRTPDkcrQg,32738
331
331
  khoj/processor/conversation/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
332
- khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=ZybRPZ4yXkFh9kCgoj61pfHL1KtOgSPlxpVauaT5vBY,9091
332
+ khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=wNFqfcm7ZIXkK49WMNLEV-iOmG_xxlEYb1vw3YJTyAw,8983
333
333
  khoj/processor/conversation/anthropic/utils.py,sha256=En5uBBsxDBWb6QTs5g8nH_f2FVBX1uYK40i13fDRAhc,7327
334
334
  khoj/processor/conversation/google/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
335
- khoj/processor/conversation/google/gemini_chat.py,sha256=FC2Q7Xo1GKA6lPECJy66SkJJFYFIA_KGwf56uAw5z1c,9282
335
+ khoj/processor/conversation/google/gemini_chat.py,sha256=H90_TQOFeQWvetxeIe9CHny9qqVt7JmqxnsWPqmNvSA,9174
336
336
  khoj/processor/conversation/google/utils.py,sha256=2vV7MNXFhJqBut5iMmQwcfvsqL_AkGoEd4XiViCk51s,10851
337
337
  khoj/processor/conversation/offline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
338
- khoj/processor/conversation/offline/chat_model.py,sha256=ten5TbO2L0UBilSGDzEQgGwHgw1PHUNzNts1jIDb_GY,11207
338
+ khoj/processor/conversation/offline/chat_model.py,sha256=8bePyMU_kObH6aYrWjCHSl8OnaKPD3M93_Tb2VylClo,11321
339
339
  khoj/processor/conversation/offline/utils.py,sha256=51McImxl6u1qgRYvMt7uzsgLGSLq5SMFy74ymlNjIcc,3033
340
340
  khoj/processor/conversation/offline/whisper.py,sha256=DJI-8y8DULO2cQ49m2VOvRyIZ2TxBypc15gM8O3HuMI,470
341
341
  khoj/processor/conversation/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
342
- khoj/processor/conversation/openai/gpt.py,sha256=7mt6T8tVzgb5jhUFv83SQWpMZU7XvGXu_y1BDomiqIg,8632
342
+ khoj/processor/conversation/openai/gpt.py,sha256=80VopHkTiZRrS6an5bpiHBuYB6uAcjRma9Q2V74zdJU,8531
343
343
  khoj/processor/conversation/openai/utils.py,sha256=u-p-9wg6Xrd_ceNcalZd8x5g6ZSgBqarozEMqeLtYyE,7529
344
344
  khoj/processor/conversation/openai/whisper.py,sha256=zoEeK1LNCg_tzP4xzYi5vRPzNPGuDGzpkrkG7d1LUn4,447
345
345
  khoj/processor/image/generate.py,sha256=v1ZVeE0IQxP1-34j6IZBAB267knAbSvE8jYspO_tQw4,8807
@@ -351,14 +351,14 @@ khoj/processor/tools/run_code.py,sha256=pa8slKYU21yDxBxK2CoQTEwHxZIANA_-bI8GhEDj
351
351
  khoj/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
352
352
  khoj/routers/api.py,sha256=2cCCknPtPIRB3OD5yeh4RlWiuLSJp8tNSaX6lUadHVA,28498
353
353
  khoj/routers/api_agents.py,sha256=vHPruCjlQxGBdm0lcmymEb9-aAELqbOplqh21WwD0DQ,9699
354
- khoj/routers/api_chat.py,sha256=-refkl569pdMWhx0pTKHwFhilEF65tL70bffBdJJPlk,48723
354
+ khoj/routers/api_chat.py,sha256=qjIyEti0pcfzULR76FSZMbc9x-CGbD-AqfGUMcHyC6Y,49030
355
355
  khoj/routers/api_content.py,sha256=WNlB6lVwRW8hHDthO2HypbpPvqrqt9rTU5oMRNknpMU,21070
356
356
  khoj/routers/api_model.py,sha256=KDsxNwHspC94eTcv6l3ehr773EOvgc670UnZLE1WZ4o,3642
357
357
  khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,2208
358
358
  khoj/routers/api_subscription.py,sha256=qnbKwA6N1TWK8Aiu1FFLka_JhbPOuwqT262NSHGZDiQ,5569
359
359
  khoj/routers/auth.py,sha256=kWPB2McwT6z4rGF6mWl92Q7ToRX-XezBPFefdxqQUk4,6579
360
360
  khoj/routers/email.py,sha256=SGYNPQvfcvYeHf70F0YqpY0FLMRElF2ZekROXdwGI18,3821
361
- khoj/routers/helpers.py,sha256=uvqJdTBf6h4Y6T-gswaWseV_tvkL-43h84LbneIGfzs,84349
361
+ khoj/routers/helpers.py,sha256=YDOT3G3Ix2a-OEX_j_PNrVMG9gwFoVWhncCdbur6mOg,84338
362
362
  khoj/routers/notion.py,sha256=g53xyYFmjr2JnuIrTW2vytbfkiK_UkoRTxqnnLSmD5o,2802
363
363
  khoj/routers/research.py,sha256=KjUuo-rwtSqUX-0BYjXgP6cWeH3xazffwtxfxKXZL00,16083
364
364
  khoj/routers/storage.py,sha256=tJrwhFRVWv0MHv7V7huMc1Diwm-putZSwnZXJ3tqT_c,2338
@@ -383,8 +383,8 @@ khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
383
383
  khoj/utils/rawconfig.py,sha256=bQ_MGbBzYt6ZUIsHUwZjaHKDLh6GQ7h-sENkv3fyVbQ,5028
384
384
  khoj/utils/state.py,sha256=axjZhnby8L3bY-N1VVoWgBH1RpFGK6U3_ZeNo1Kt7hs,1679
385
385
  khoj/utils/yaml.py,sha256=qy1Tkc61rDMesBw_Cyx2vOR6H-Hngcsm5kYfjwQBwkE,1543
386
- khoj-1.30.11.dev65.dist-info/METADATA,sha256=F-ZPskM_fw1njM8lvPx_1Va1teqLzwkzeHa6I9_3vYE,7570
387
- khoj-1.30.11.dev65.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
388
- khoj-1.30.11.dev65.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
389
- khoj-1.30.11.dev65.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
390
- khoj-1.30.11.dev65.dist-info/RECORD,,
386
+ khoj-1.30.11.dev68.dist-info/METADATA,sha256=aoh_TEdjnwBeoC6acdg1lSmZtRfcvuvqSSQFvOm4WcU,7570
387
+ khoj-1.30.11.dev68.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
388
+ khoj-1.30.11.dev68.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
389
+ khoj-1.30.11.dev68.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
390
+ khoj-1.30.11.dev68.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8459,3317,244,7138],{63521:function(){}},function(n){n.O(0,[2971,7023,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,3317,244],{63521:function(){}},function(n){n.O(0,[2971,7023,1744],function(){return n(n.s=63521)}),_N_E=n.O()}]);
@@ -1 +0,0 @@
1
- div.agents_titleBar__FzYbY{padding:16px 0;text-align:left}.agents_agentPersonality__o0Ysz p{white-space:inherit;overflow:hidden;height:77px;line-height:1.5}div.agents_agentPersonality__o0Ysz{text-align:left;grid-column:span 3;overflow:hidden}div.agents_pageLayout__gR3S3{max-width:60vw;margin:auto auto 2rem}div.agents_sidePanel__wGVGc{position:fixed;height:100%;z-index:1}button.agents_infoButton__NqI7E{border:none;background-color:transparent!important;text-align:left;font-family:inherit;font-size:medium}div.agents_agentList__XVx4A{display:grid;gap:20px;padding-top:30px;margin-right:auto;grid-auto-flow:row;grid-template-columns:1fr 1fr;margin-left:auto}@media only screen and (max-width:768px){div.agents_agentList__XVx4A{width:100%;padding:0;margin-right:auto;margin-left:auto;grid-template-columns:1fr}div.agents_pageLayout__gR3S3{max-width:90vw}div.agents_sidePanel__wGVGc{position:relative;height:100%}}div.sidePanel_session__R9wgH{padding:.5rem;margin-bottom:.25rem;border-radius:.5rem;cursor:pointer;max-width:14rem;font-size:medium;display:grid;grid-template-columns:minmax(auto,400px) 1fr;gap:0}div.sidePanel_compressed__YBPtM{grid-template-columns:minmax(12rem,100%) 1fr 1fr}div.sidePanel_sessionHover__iwfo8,div.sidePanel_session__R9wgH:hover{background-color:hsla(var(--popover))}div.sidePanel_session__R9wgH:hover{color:hsla(var(--popover-foreground))}div.sidePanel_session__R9wgH a{text-decoration:none}button.sidePanel_button__ihOfG{border:none;outline:none;background-color:transparent;cursor:pointer;color:var(--main-text-color);width:24px}button.sidePanel_showMoreButton__dt9Zw{border-radius:.5rem;padding:8px}div.sidePanel_panel__VZ8ye{display:flex;flex-direction:column;padding:1rem;overflow-y:auto;max-width:auto;transition:background-color .5s}div.sidePanel_expanded__ZjTHo{gap:1rem;background-color:hsla(var(--muted));height:100%}div.sidePanel_collapsed__OjVmG{display:grid;grid-template-columns:1fr;height:-moz-fit-content;height:fit-content;padding:1rem 0 0 1rem}p.sidePanel_session__R9wgH{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-align:left;font-size:small}div.sidePanel_header__d5cGA{display:grid;grid-template-columns:1fr auto}div.sidePanel_profile__x0w58{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;margin-top:auto}div.sidePanel_panelWrapper__k_lal{display:grid;grid-template-rows:1fr auto auto;height:100%}div.sidePanel_modalSessionsList__nKe2n{position:fixed;top:0;left:0;width:100%;height:100%;background-color:hsla(var(--frosted-background-color));z-index:1;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}div.sidePanel_modalSessionsList__nKe2n div.sidePanel_content__Wq20_{max-width:80%;max-height:80%;background-color:hsla(var(--frosted-background-color));overflow:auto;padding:20px;border-radius:10px}div.sidePanel_modalSessionsList__nKe2n div.sidePanel_session__R9wgH{max-width:100%;text-overflow:ellipsis}@media screen and (max-width:768px){div.sidePanel_panel__VZ8ye{padding:.25rem;width:100%}div.sidePanel_expanded__ZjTHo{z-index:1}div.sidePanel_singleReference__r9z1n{padding:4px}div.sidePanel_panelWrapper__k_lal{width:100%;padding:0 1rem}div.sidePanel_session__R9wgH.sidePanel_compressed__YBPtM{max-width:100%;display:grid;grid-template-columns:70vw auto;justify-content:space-between}div.sidePanel_session__R9wgH{max-width:100%;grid-template-columns:minmax(auto,70vw) 1fr}}menu.navMenu_menu__fqlFF a{text-decoration:none;font-size:medium;font-weight:400;padding:0 4px;border-radius:4px;display:flex;justify-self:center;margin:0;align-items:center;gap:4px}a.navMenu_selected__A__aP{background-color:hsl(var(--accent))}div.navMenu_titleBar__HJoio{display:flex;justify-content:space-between;align-content:space-evenly;align-items:start}div.navMenu_titleBar__HJoio menu{padding:0;margin:0;border-radius:.5rem;display:grid;grid-auto-flow:column;gap:32px}div.navMenu_settingsMenuProfile__3npiK img{border-radius:50%;width:32px;height:32px;margin:0}div.navMenu_settingsMenu__X2i2U{padding:0 4px;border-radius:4px;display:flex;justify-self:center;margin:0;align-items:center}div.navMenu_settingsMenuOptions__KWnLv{display:block;grid-auto-flow:row;position:absolute;background-color:var(--background-color);box-shadow:0 8px 16px 0 rgba(0,0,0,.2);top:64px;text-align:left;padding:8px;border-radius:8px}@media screen and (max-width:600px){menu.navMenu_menu__fqlFF span{display:none}div.navMenu_settingsMenuOptions__KWnLv{right:4px}div.navMenu_titleBar__HJoio{padding:8px}}div.chatHistory_chatHistory__CoaVT{display:flex;flex-direction:column;height:100%;margin:auto}div.chatHistory_agentIndicator__wOU1f a{display:flex;text-align:center;align-content:center;align-items:center}div.chatHistory_trainOfThought__mMWSR{border:1px solid var(--border-color);border-radius:16px;padding:8px 16px;margin:12px}div.chatMessage_chatMessageContainer__sAivf{display:flex;flex-direction:column;margin:12px;border-radius:16px;padding:8px 16px 0;word-break:break-word}div.chatMessage_chatMessageWrapper__u5m8A{padding-left:1rem;padding-bottom:1rem;max-width:80vw}div.chatMessage_chatMessageWrapper__u5m8A ol,div.chatMessage_chatMessageWrapper__u5m8A p:not(:last-child),div.chatMessage_chatMessageWrapper__u5m8A ul{margin-bottom:16px}div.chatMessage_chatMessageWrapper__u5m8A a span{display:revert!important}div.chatMessage_khojfullHistory__NPu2l{border-width:1px;padding-left:4px}div.chatMessage_youfullHistory__ioyfH{max-width:100%}div.chatMessage_chatMessageContainer__sAivf.chatMessage_youfullHistory__ioyfH{padding-left:0}div.chatMessage_you__6GUC4{background-color:hsla(var(--secondary));align-self:flex-end;border-radius:16px}div.chatMessage_khoj__cjWON{background-color:transparent;color:hsl(var(--accent-foreground));align-self:flex-start}div.chatMessage_khojChatMessage__BabQz{padding-top:8px;padding-left:16px}div.chatMessage_emptyChatMessage__J9JRn{display:none}div.chatMessage_imagesContainer__HTRjT{display:flex;overflow-x:auto;padding-bottom:8px;margin-bottom:8px}div.chatMessage_imageWrapper__DF92M{flex:0 0 auto;margin-right:8px}div.chatMessage_imageWrapper__DF92M img{width:auto;height:128px;-o-object-fit:cover;object-fit:cover;border-radius:8px}div.chatMessage_khoj__cjWON div.chatMessage_imageWrapper__DF92M img{height:512px}div.chatMessage_khoj__cjWON div.chatMessage_imageWrapper__DF92M{flex:1 1 auto}div.chatMessage_khoj__cjWON div.chatMessage_imagesContainer__HTRjT{display:flex;flex-wrap:wrap;flex-direction:row;overflow-x:hidden}div.chatMessage_chatMessageContainer__sAivf>img{width:auto;height:auto;max-width:100%;max-height:80vh;-o-object-fit:contain;object-fit:contain;display:block;margin-top:.25rem;margin-right:auto}div.chatMessage_chatMessageContainer__sAivf h3 img{width:24px}div.chatMessage_you__6GUC4{color:hsla(var(--secondary-foreground))}div.chatMessage_author__muRtC{font-size:.75rem;color:grey;text-align:right}div.chatMessage_chatFooter__0vR8s{display:flex;justify-content:space-between;min-height:28px}div.chatMessage_chatButtons__Lbk8T{display:flex;justify-content:flex-end;width:-moz-min-content;width:min-content;border:1px solid var(--border-color);border-radius:16px;position:relative;bottom:-12px;background-color:hsla(var(--secondary))}div.chatMessage_chatFooter__0vR8s button{cursor:pointer;color:hsl(var(--muted-foreground));border:none;border-radius:16px;padding:4px;margin-left:4px;margin-right:4px}div.chatMessage_chatFooter__0vR8s button:hover{background-color:hsla(var(--frosted-background-color))}button.chatMessage_codeCopyButton__Y_Ujv{cursor:pointer;float:right;border-radius:8px}button.chatMessage_codeCopyButton__Y_Ujv:hover{color:hsla(var(--frosted-background-color))}button.chatMessage_codeCopyButton__Y_Ujv img,button.chatMessage_copyButton__jd7q7 img,div.chatMessage_feedbackButtons___Brdy img{width:24px}div.chatMessage_trainOfThought__mR2Gg strong{font-weight:500}div.chatMessage_trainOfThought__mR2Gg.chatMessage_primary__WYPEb strong{font-weight:500;color:hsla(var(--secondary-foreground))}div.chatMessage_trainOfThought__mR2Gg.chatMessage_primary__WYPEb p{color:inherit}div.chatMessage_trainOfThoughtElement__le_bC{display:grid;grid-template-columns:auto 1fr;align-items:start}div.chatMessage_trainOfThoughtElement__le_bC ol,div.chatMessage_trainOfThoughtElement__le_bC ul{margin:auto;word-break:break-word}@media screen and (max-width:768px){div.chatMessage_youfullHistory__ioyfH{max-width:90%}div.chatMessage_khoj__cjWON div.chatMessage_imageWrapper__DF92M img{width:100%;height:auto}}div.chatInputArea_actualInputArea__Ha6cN{display:grid;grid-template-columns:auto 1fr auto auto}.agentCard_agentPersonality__MmRlN p{white-space:inherit;overflow:hidden;height:77px;line-height:1.5}div.agentCard_agentPersonality__MmRlN{text-align:left;grid-column:span 3;overflow:hidden}button.agentCard_infoButton__heh_w{border:none;background-color:transparent!important;text-align:left;font-family:inherit;font-size:medium}div.search_searchLayout__fP3m0{display:grid;grid-template-columns:1fr;gap:1rem;height:100vh}div.search_sidePanel__myfc9{position:fixed;height:100%;z-index:1}@media screen and (max-width:768px){div.search_searchLayout__fP3m0{gap:0}div.search_sidePanel__myfc9{position:relative;height:100%}}