khoj 1.25.1.dev12__py3-none-any.whl → 1.26.2__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 (58) hide show
  1. khoj/database/adapters/__init__.py +87 -9
  2. khoj/database/admin.py +16 -0
  3. khoj/database/migrations/0068_alter_agent_output_modes.py +24 -0
  4. khoj/database/migrations/0069_webscraper_serverchatsettings_web_scraper.py +89 -0
  5. khoj/database/models/__init__.py +78 -2
  6. khoj/interface/compiled/404/index.html +1 -1
  7. khoj/interface/compiled/_next/static/chunks/1603-fa3ee48860b9dc5c.js +1 -0
  8. khoj/interface/compiled/_next/static/chunks/{9417-1d158bf46d3a0dc9.js → 9417-46ed3aaa639c85ef.js} +1 -1
  9. khoj/interface/compiled/_next/static/chunks/{9479-563e4d61f91d5a7c.js → 9479-ea776e73f549090c.js} +1 -1
  10. khoj/interface/compiled/_next/static/chunks/app/agents/{layout-e71c8e913cccf792.js → layout-75636ab3a413fa8e.js} +1 -1
  11. khoj/interface/compiled/_next/static/chunks/app/agents/{page-f8d03847a0fa2539.js → page-88aa3042711107b7.js} +1 -1
  12. khoj/interface/compiled/_next/static/chunks/app/chat/{layout-8102549127db3067.js → layout-96fcf62857bf8f30.js} +1 -1
  13. khoj/interface/compiled/_next/static/chunks/app/{layout-f3e40d346da53112.js → layout-d0f0a9067427fb20.js} +1 -1
  14. khoj/interface/compiled/_next/static/chunks/app/settings/{layout-6f9314b0d7a26046.js → layout-a8f33dfe92f997fb.js} +1 -1
  15. khoj/interface/compiled/_next/static/chunks/app/share/chat/{layout-39f03f9e32399f0f.js → layout-2df56074e42adaa0.js} +1 -1
  16. khoj/interface/compiled/_next/static/chunks/{webpack-dff708c71e9234cb.js → webpack-64dc39af85cd2625.js} +1 -1
  17. khoj/interface/compiled/_next/static/css/467a524c75e7d7c0.css +1 -0
  18. khoj/interface/compiled/agents/index.html +1 -1
  19. khoj/interface/compiled/agents/index.txt +2 -2
  20. khoj/interface/compiled/automations/index.html +1 -1
  21. khoj/interface/compiled/automations/index.txt +2 -2
  22. khoj/interface/compiled/chat/index.html +1 -1
  23. khoj/interface/compiled/chat/index.txt +2 -2
  24. khoj/interface/compiled/factchecker/index.html +1 -1
  25. khoj/interface/compiled/factchecker/index.txt +2 -2
  26. khoj/interface/compiled/index.html +1 -1
  27. khoj/interface/compiled/index.txt +2 -2
  28. khoj/interface/compiled/search/index.html +1 -1
  29. khoj/interface/compiled/search/index.txt +2 -2
  30. khoj/interface/compiled/settings/index.html +1 -1
  31. khoj/interface/compiled/settings/index.txt +3 -3
  32. khoj/interface/compiled/share/chat/index.html +1 -1
  33. khoj/interface/compiled/share/chat/index.txt +2 -2
  34. khoj/interface/web/assets/icons/agents.svg +1 -0
  35. khoj/interface/web/assets/icons/automation.svg +1 -0
  36. khoj/interface/web/assets/icons/chat.svg +24 -0
  37. khoj/interface/web/login.html +11 -22
  38. khoj/processor/content/images/image_to_entries.py +2 -0
  39. khoj/processor/content/pdf/pdf_to_entries.py +1 -1
  40. khoj/processor/conversation/google/utils.py +4 -0
  41. khoj/processor/conversation/prompts.py +1 -1
  42. khoj/processor/embeddings.py +1 -0
  43. khoj/processor/tools/online_search.py +135 -40
  44. khoj/routers/api_chat.py +41 -31
  45. khoj/routers/helpers.py +13 -11
  46. khoj/search_type/text_search.py +7 -2
  47. khoj/utils/helpers.py +50 -5
  48. {khoj-1.25.1.dev12.dist-info → khoj-1.26.2.dist-info}/METADATA +4 -4
  49. {khoj-1.25.1.dev12.dist-info → khoj-1.26.2.dist-info}/RECORD +56 -53
  50. khoj/interface/compiled/_next/static/chunks/1603-67a89278e2c5dbe6.js +0 -1
  51. khoj/interface/compiled/_next/static/css/1538cedb321e3a97.css +0 -1
  52. /khoj/interface/compiled/_next/static/chunks/{9178-f208a3e6404714a9.js → 9178-899fe9a6b754ecfe.js} +0 -0
  53. /khoj/interface/compiled/_next/static/chunks/app/{page-421d13f70c505dd9.js → page-10a5aad6e04f3cf8.js} +0 -0
  54. /khoj/interface/compiled/_next/static/{CGyts-FEbV6owmPboHtLL → eim4XajTfG4ub4ft5AEkJ}/_buildManifest.js +0 -0
  55. /khoj/interface/compiled/_next/static/{CGyts-FEbV6owmPboHtLL → eim4XajTfG4ub4ft5AEkJ}/_ssgManifest.js +0 -0
  56. {khoj-1.25.1.dev12.dist-info → khoj-1.26.2.dist-info}/WHEEL +0 -0
  57. {khoj-1.25.1.dev12.dist-info → khoj-1.26.2.dist-info}/entry_points.txt +0 -0
  58. {khoj-1.25.1.dev12.dist-info → khoj-1.26.2.dist-info}/licenses/LICENSE +0 -0
khoj/routers/api_chat.py CHANGED
@@ -3,7 +3,6 @@ import base64
3
3
  import json
4
4
  import logging
5
5
  import time
6
- import warnings
7
6
  from datetime import datetime
8
7
  from functools import partial
9
8
  from typing import Dict, Optional
@@ -11,9 +10,8 @@ from urllib.parse import unquote
11
10
 
12
11
  from asgiref.sync import sync_to_async
13
12
  from fastapi import APIRouter, Depends, HTTPException, Request
14
- from fastapi.requests import Request
15
13
  from fastapi.responses import Response, StreamingResponse
16
- from starlette.authentication import has_required_scope, requires
14
+ from starlette.authentication import requires
17
15
 
18
16
  from khoj.app.settings import ALLOWED_HOSTS
19
17
  from khoj.database.adapters import (
@@ -574,7 +572,6 @@ async def chat(
574
572
  chat_metadata: dict = {}
575
573
  connection_alive = True
576
574
  user: KhojUser = request.user.object
577
- subscribed: bool = has_required_scope(request, ["premium"])
578
575
  event_delimiter = "␃🔚␗"
579
576
  q = unquote(q)
580
577
  nonlocal conversation_id
@@ -641,7 +638,7 @@ async def chat(
641
638
  request=request,
642
639
  telemetry_type="api",
643
640
  api="chat",
644
- client=request.user.client_app,
641
+ client=common.client,
645
642
  user_agent=request.headers.get("user-agent"),
646
643
  host=request.headers.get("host"),
647
644
  metadata=chat_metadata,
@@ -839,26 +836,34 @@ async def chat(
839
836
 
840
837
  # Gather Context
841
838
  ## Extract Document References
842
- compiled_references, inferred_queries, defiltered_query = [], [], None
843
- async for result in extract_references_and_questions(
844
- request,
845
- meta_log,
846
- q,
847
- (n or 7),
848
- d,
849
- conversation_id,
850
- conversation_commands,
851
- location,
852
- partial(send_event, ChatEvent.STATUS),
853
- uploaded_image_url=uploaded_image_url,
854
- agent=agent,
855
- ):
856
- if isinstance(result, dict) and ChatEvent.STATUS in result:
857
- yield result[ChatEvent.STATUS]
858
- else:
859
- compiled_references.extend(result[0])
860
- inferred_queries.extend(result[1])
861
- defiltered_query = result[2]
839
+ compiled_references, inferred_queries, defiltered_query = [], [], q
840
+ try:
841
+ async for result in extract_references_and_questions(
842
+ request,
843
+ meta_log,
844
+ q,
845
+ (n or 7),
846
+ d,
847
+ conversation_id,
848
+ conversation_commands,
849
+ location,
850
+ partial(send_event, ChatEvent.STATUS),
851
+ uploaded_image_url=uploaded_image_url,
852
+ agent=agent,
853
+ ):
854
+ if isinstance(result, dict) and ChatEvent.STATUS in result:
855
+ yield result[ChatEvent.STATUS]
856
+ else:
857
+ compiled_references.extend(result[0])
858
+ inferred_queries.extend(result[1])
859
+ defiltered_query = result[2]
860
+ except Exception as e:
861
+ error_message = f"Error searching knowledge base: {e}. Attempting to respond without document references."
862
+ logger.error(error_message, exc_info=True)
863
+ async for result in send_event(
864
+ ChatEvent.STATUS, "Document search failed. I'll try respond without document references"
865
+ ):
866
+ yield result
862
867
 
863
868
  if not is_none_or_empty(compiled_references):
864
869
  headings = "\n- " + "\n- ".join(set([c.get("compiled", c).split("\n")[0] for c in compiled_references]))
@@ -894,12 +899,13 @@ async def chat(
894
899
  yield result[ChatEvent.STATUS]
895
900
  else:
896
901
  online_results = result
897
- except ValueError as e:
902
+ except Exception as e:
898
903
  error_message = f"Error searching online: {e}. Attempting to respond without online results"
899
904
  logger.warning(error_message)
900
- async for result in send_llm_response(error_message):
905
+ async for result in send_event(
906
+ ChatEvent.STATUS, "Online search failed. I'll try respond without online references"
907
+ ):
901
908
  yield result
902
- return
903
909
 
904
910
  ## Gather Webpage References
905
911
  if ConversationCommand.Webpage in conversation_commands:
@@ -928,11 +934,15 @@ async def chat(
928
934
  webpages.append(webpage["link"])
929
935
  async for result in send_event(ChatEvent.STATUS, f"**Read web pages**: {webpages}"):
930
936
  yield result
931
- except ValueError as e:
937
+ except Exception as e:
932
938
  logger.warning(
933
- f"Error directly reading webpages: {e}. Attempting to respond without online results",
939
+ f"Error reading webpages: {e}. Attempting to respond without webpage results",
934
940
  exc_info=True,
935
941
  )
942
+ async for result in send_event(
943
+ ChatEvent.STATUS, "Webpage read failed. I'll try respond without webpage references"
944
+ ):
945
+ yield result
936
946
 
937
947
  ## Send Gathered References
938
948
  async for result in send_event(
@@ -949,7 +959,7 @@ async def chat(
949
959
  ## Generate Image Output
950
960
  if ConversationCommand.Image in conversation_commands:
951
961
  async for result in text_to_image(
952
- q,
962
+ defiltered_query,
953
963
  user,
954
964
  meta_log,
955
965
  location_data=location,
khoj/routers/helpers.py CHANGED
@@ -353,13 +353,13 @@ async def aget_relevant_information_sources(
353
353
  final_response = [ConversationCommand.Default]
354
354
  else:
355
355
  final_response = [ConversationCommand.General]
356
- return final_response
357
- except Exception as e:
356
+ except Exception:
358
357
  logger.error(f"Invalid response for determining relevant tools: {response}")
359
358
  if len(agent_tools) == 0:
360
359
  final_response = [ConversationCommand.Default]
361
360
  else:
362
361
  final_response = agent_tools
362
+ return final_response
363
363
 
364
364
 
365
365
  async def aget_relevant_output_modes(
@@ -551,12 +551,14 @@ async def schedule_query(
551
551
  raise AssertionError(f"Invalid response for scheduling query: {raw_response}")
552
552
 
553
553
 
554
- async def extract_relevant_info(q: str, corpus: str, user: KhojUser = None, agent: Agent = None) -> Union[str, None]:
554
+ async def extract_relevant_info(
555
+ qs: set[str], corpus: str, user: KhojUser = None, agent: Agent = None
556
+ ) -> Union[str, None]:
555
557
  """
556
558
  Extract relevant information for a given query from the target corpus
557
559
  """
558
560
 
559
- if is_none_or_empty(corpus) or is_none_or_empty(q):
561
+ if is_none_or_empty(corpus) or is_none_or_empty(qs):
560
562
  return None
561
563
 
562
564
  personality_context = (
@@ -564,17 +566,16 @@ async def extract_relevant_info(q: str, corpus: str, user: KhojUser = None, agen
564
566
  )
565
567
 
566
568
  extract_relevant_information = prompts.extract_relevant_information.format(
567
- query=q,
569
+ query=", ".join(qs),
568
570
  corpus=corpus.strip(),
569
571
  personality_context=personality_context,
570
572
  )
571
573
 
572
- with timer("Chat actor: Extract relevant information from data", logger):
573
- response = await send_message_to_model_wrapper(
574
- extract_relevant_information,
575
- prompts.system_prompt_extract_relevant_information,
576
- user=user,
577
- )
574
+ response = await send_message_to_model_wrapper(
575
+ extract_relevant_information,
576
+ prompts.system_prompt_extract_relevant_information,
577
+ user=user,
578
+ )
578
579
  return response.strip()
579
580
 
580
581
 
@@ -880,6 +881,7 @@ def send_message_to_model_wrapper_sync(
880
881
  messages=truncated_messages,
881
882
  api_key=api_key,
882
883
  model=chat_model,
884
+ response_type=response_type,
883
885
  )
884
886
  else:
885
887
  raise HTTPException(status_code=500, detail="Invalid conversation config")
@@ -3,6 +3,7 @@ import math
3
3
  from pathlib import Path
4
4
  from typing import List, Optional, Tuple, Type, Union
5
5
 
6
+ import requests
6
7
  import torch
7
8
  from asgiref.sync import sync_to_async
8
9
  from sentence_transformers import util
@@ -231,8 +232,12 @@ def setup(
231
232
 
232
233
  def cross_encoder_score(query: str, hits: List[SearchResponse], search_model_name: str) -> List[SearchResponse]:
233
234
  """Score all retrieved entries using the cross-encoder"""
234
- with timer("Cross-Encoder Predict Time", logger, state.device):
235
- cross_scores = state.cross_encoder_model[search_model_name].predict(query, hits)
235
+ try:
236
+ with timer("Cross-Encoder Predict Time", logger, state.device):
237
+ cross_scores = state.cross_encoder_model[search_model_name].predict(query, hits)
238
+ except requests.exceptions.HTTPError as e:
239
+ logger.error(f"Failed to rerank documents using the inference endpoint. Error: {e}.", exc_info=True)
240
+ cross_scores = [0.0] * len(hits)
236
241
 
237
242
  # Convert cross-encoder scores to distances and pass in hits for reranking
238
243
  for idx in range(len(cross_scores)):
khoj/utils/helpers.py CHANGED
@@ -2,10 +2,12 @@ from __future__ import annotations # to avoid quoting type hints
2
2
 
3
3
  import datetime
4
4
  import io
5
+ import ipaddress
5
6
  import logging
6
7
  import os
7
8
  import platform
8
9
  import random
10
+ import urllib.parse
9
11
  import uuid
10
12
  from collections import OrderedDict
11
13
  from enum import Enum
@@ -125,6 +127,8 @@ def get_file_type(file_type: str, file_content: bytes) -> tuple[str, str]:
125
127
  return "image", encoding
126
128
  elif file_type in ["image/png"]:
127
129
  return "image", encoding
130
+ elif file_type in ["image/webp"]:
131
+ return "image", encoding
128
132
  elif content_group in ["code", "text"]:
129
133
  return "plaintext", encoding
130
134
  else:
@@ -164,9 +168,9 @@ def get_class_by_name(name: str) -> object:
164
168
  class timer:
165
169
  """Context manager to log time taken for a block of code to run"""
166
170
 
167
- def __init__(self, message: str, logger: logging.Logger, device: torch.device = None):
171
+ def __init__(self, message: str, logger: logging.Logger, device: torch.device = None, log_level=logging.DEBUG):
168
172
  self.message = message
169
- self.logger = logger
173
+ self.logger = logger.debug if log_level == logging.DEBUG else logger.info
170
174
  self.device = device
171
175
 
172
176
  def __enter__(self):
@@ -176,9 +180,9 @@ class timer:
176
180
  def __exit__(self, *_):
177
181
  elapsed = perf_counter() - self.start
178
182
  if self.device is None:
179
- self.logger.debug(f"{self.message}: {elapsed:.3f} seconds")
183
+ self.logger(f"{self.message}: {elapsed:.3f} seconds")
180
184
  else:
181
- self.logger.debug(f"{self.message}: {elapsed:.3f} seconds on device: {self.device}")
185
+ self.logger(f"{self.message}: {elapsed:.3f} seconds on device: {self.device}")
182
186
 
183
187
 
184
188
  class LRU(OrderedDict):
@@ -347,12 +351,13 @@ tool_descriptions_for_llm = {
347
351
 
348
352
  mode_descriptions_for_llm = {
349
353
  ConversationCommand.Image: "Use this if the user is requesting you to generate a picture based on their description.",
350
- ConversationCommand.Automation: "Use this if the user is requesting a response at a scheduled date or time.",
354
+ ConversationCommand.Automation: "Use this if you are confident the user is requesting a response at a scheduled date, time and frequency",
351
355
  ConversationCommand.Text: "Use this if the other response modes don't seem to fit the query.",
352
356
  }
353
357
 
354
358
  mode_descriptions_for_agent = {
355
359
  ConversationCommand.Image: "Agent can generate image in response.",
360
+ ConversationCommand.Automation: "Agent can schedule a task to run at a scheduled date, time and frequency in response.",
356
361
  ConversationCommand.Text: "Agent can generate text in response.",
357
362
  }
358
363
 
@@ -435,6 +440,46 @@ def is_internet_connected():
435
440
  return False
436
441
 
437
442
 
443
+ def is_internal_url(url: str) -> bool:
444
+ """
445
+ Check if a URL is likely to be internal/non-public.
446
+
447
+ Args:
448
+ url (str): The URL to check.
449
+
450
+ Returns:
451
+ bool: True if the URL is likely internal, False otherwise.
452
+ """
453
+ try:
454
+ parsed_url = urllib.parse.urlparse(url)
455
+ hostname = parsed_url.hostname
456
+
457
+ # Check for localhost
458
+ if hostname in ["localhost", "127.0.0.1", "::1"]:
459
+ return True
460
+
461
+ # Check for IP addresses in private ranges
462
+ try:
463
+ ip = ipaddress.ip_address(hostname)
464
+ return ip.is_private
465
+ except ValueError:
466
+ pass # Not an IP address, continue with other checks
467
+
468
+ # Check for common internal TLDs
469
+ internal_tlds = [".local", ".internal", ".private", ".corp", ".home", ".lan"]
470
+ if any(hostname.endswith(tld) for tld in internal_tlds):
471
+ return True
472
+
473
+ # Check for URLs without a TLD
474
+ if "." not in hostname:
475
+ return True
476
+
477
+ return False
478
+ except Exception:
479
+ # If we can't parse the URL or something else goes wrong, assume it's not internal
480
+ return False
481
+
482
+
438
483
  def convert_image_to_webp(image_bytes):
439
484
  """Convert image bytes to webp format for faster loading"""
440
485
  image_io = io.BytesIO(image_bytes)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: khoj
3
- Version: 1.25.1.dev12
3
+ Version: 1.26.2
4
4
  Summary: Your Second Brain
5
5
  Project-URL: Homepage, https://khoj.dev
6
6
  Project-URL: Documentation, https://docs.khoj.dev
@@ -32,7 +32,7 @@ Requires-Dist: dateparser>=1.1.1
32
32
  Requires-Dist: defusedxml==0.7.1
33
33
  Requires-Dist: django-apscheduler==0.6.2
34
34
  Requires-Dist: django-phonenumber-field==7.3.0
35
- Requires-Dist: django==5.0.8
35
+ Requires-Dist: django==5.0.9
36
36
  Requires-Dist: docx2txt==0.8
37
37
  Requires-Dist: einops==0.8.0
38
38
  Requires-Dist: fastapi>=0.110.0
@@ -138,8 +138,8 @@ Description-Content-Type: text/markdown
138
138
  - Chat with any local or online LLM (e.g llama3, qwen, gemma, mistral, gpt, claude, gemini).
139
139
  - Get answers from the internet and your docs (including image, pdf, markdown, org-mode, word, notion files).
140
140
  - Access it from your Browser, Obsidian, Emacs, Desktop, Phone or Whatsapp.
141
- - Build agents with custom knowledge bases and tools.
142
- - Create automations to get personal newsletters and smart notifications.
141
+ - Create agents with custom knowledge, persona, chat model and tools to take on any role.
142
+ - Automate away repetitive research. Get personal newsletters and smart notifications delivered to your inbox.
143
143
  - Find relevant docs quickly and easily using our advanced semantic search.
144
144
  - Generate images, talk out loud, play your messages.
145
145
  - Khoj is open-source, self-hostable. Always.
@@ -8,10 +8,10 @@ khoj/app/asgi.py,sha256=soh3C1xazlgHt_bDgKzrfzo2TKXbNYJsckcXNEgTip8,388
8
8
  khoj/app/settings.py,sha256=M6sQUu_AdeKl3eruecBaifRBhYOBIait0KA2NPizcBM,6198
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=H7q24au3KiAx583Rz-Ow6oV4Tb5NzBY-hx1PLASx1W0,9234
11
+ khoj/database/admin.py,sha256=VGXfQYYURbfeAslZq9icTsKKk3s93iTmssW6UtTtw88,9571
12
12
  khoj/database/apps.py,sha256=pM4tkX5Odw4YW_hLLKK8Nd5kqGddf1en0oMCea44RZw,153
13
13
  khoj/database/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
14
- khoj/database/adapters/__init__.py,sha256=P5R8k1iVmICHaPh3QE4bxNM6utbygxGwMWaDRenY9jM,60806
14
+ khoj/database/adapters/__init__.py,sha256=Utuj9i9_cAI6mWZcbmZg5wbPNxczdefHBzAhlVS_YQI,64141
15
15
  khoj/database/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  khoj/database/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  khoj/database/management/commands/change_generated_images_url.py,sha256=w52FwRlyOL4YRpp9O6jJUjSIuGLxVhaS2w1D7gtQgOE,2644
@@ -95,27 +95,27 @@ khoj/database/migrations/0064_remove_conversation_temp_id_alter_conversation_id.
95
95
  khoj/database/migrations/0065_remove_agent_avatar_remove_agent_public_and_more.py,sha256=Gyj6vARtNo96weF9UXBIiPn5y3cAxQecbtYmNxgFFKw,1529
96
96
  khoj/database/migrations/0066_remove_agent_tools_agent_input_tools_and_more.py,sha256=M4mprWoUmAizYOLNehBLREybHzFc5dbKoLtIsuoEaNI,2358
97
97
  khoj/database/migrations/0067_alter_agent_style_icon.py,sha256=Z2HrLjBV5gx_OguzeJOPQmopx4HO52SsjAeR7bvZBQw,1861
98
+ khoj/database/migrations/0068_alter_agent_output_modes.py,sha256=G86wHkT2eWUSwsO4U2NS1t_UzVjEz4kzbgENy8mpicw,692
99
+ khoj/database/migrations/0069_webscraper_serverchatsettings_web_scraper.py,sha256=5yQ4DsYqtz2SvUU7b1izrNtgFOHNsVD2l05oC_gBAjU,3145
98
100
  khoj/database/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
- khoj/database/models/__init__.py,sha256=ukxFL-UCHRy9L_jSVOKgK8i320nnfnwA8usXxkfd2Qo,20866
101
+ khoj/database/models/__init__.py,sha256=ls0tbnxI4UNlIXT7UQR3A8ROGpHEkHJUJs5dKI7PjYo,23912
100
102
  khoj/interface/compiled/agents.svg,sha256=yFCRwIM-Qawa0C5ggAo3ekb-Q1ElmotBOKIGhtfIQqM,1722
101
103
  khoj/interface/compiled/automation.svg,sha256=o7L2XYwJWRSMvl8h6TBv6Pt28RTRVMHqF04EPY0AFj0,1467
102
104
  khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvtM3A,2424
103
105
  khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
104
106
  khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
105
107
  khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
106
- khoj/interface/compiled/index.html,sha256=gyV1sUvIn7GuYMLCxmSobeq93PFjDEwzEO_S9CiXkl4,11791
107
- khoj/interface/compiled/index.txt,sha256=8sBIqpxl6vVCnBIsqjZUZ6gSVNa5UZYY1qhU9KcHrms,5479
108
+ khoj/interface/compiled/index.html,sha256=Z7fgO21VZ8Zf3Qj4fKB5QgDkjYkNh7gjycmirQWRbrg,11791
109
+ khoj/interface/compiled/index.txt,sha256=8bXoeNKkyBaGlVTlc6zDRkCRT1RZXNSFOR0DSiDqsts,5479
108
110
  khoj/interface/compiled/khoj.webmanifest,sha256=lsknYkvEdMbRTOUYKXPM_8krN2gamJmM4u3qj8u9lrU,1682
109
111
  khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
110
112
  khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
111
113
  khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
112
114
  khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
113
115
  khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
114
- khoj/interface/compiled/404/index.html,sha256=fmroJ3oFoq6AGXi-0joFxpQFjeThCTn5ohX6i0oLBJQ,12051
115
- khoj/interface/compiled/_next/static/CGyts-FEbV6owmPboHtLL/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
116
- khoj/interface/compiled/_next/static/CGyts-FEbV6owmPboHtLL/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
116
+ khoj/interface/compiled/404/index.html,sha256=HLDD_LULAJNiocF66xLYzesuYp2UmiFvQseHyD-j65M,12051
117
117
  khoj/interface/compiled/_next/static/chunks/121-7024f479c297aef0.js,sha256=CcRT2AArGYTo7Orl5w69nrnMqdI_EmyEP_YqIj3FU1c,20952
118
- khoj/interface/compiled/_next/static/chunks/1603-67a89278e2c5dbe6.js,sha256=2ZLMR7DmmkCjtMyIwUy2FrHXh8fAmEEdlzhjr4Zll3k,71252
118
+ khoj/interface/compiled/_next/static/chunks/1603-fa3ee48860b9dc5c.js,sha256=HVKZBRar7SDL79-0YMd-Czrr3nyWu5nWvcU11xSQH2k,71504
119
119
  khoj/interface/compiled/_next/static/chunks/2697-a38d01981ad3bdf8.js,sha256=bPajH6RHGusfrF6IlxIsLLwnIwMIPeZfsFzJ_oS-UCI,7511
120
120
  khoj/interface/compiled/_next/static/chunks/3062-71ed4b46ac2bb87c.js,sha256=847h3nNxc8t4GOW20GIAp8c5kquVPEQ7EZurPzGySo0,258667
121
121
  khoj/interface/compiled/_next/static/chunks/3110-ef2cacd1b8d79ad8.js,sha256=6Mbnwyhm_BJLppjqXE74SDZsekJV-t1mhjTK86iE904,9508
@@ -129,44 +129,46 @@ khoj/interface/compiled/_next/static/chunks/6297-d1c842ed3f714ab0.js,sha256=4nzZ
129
129
  khoj/interface/compiled/_next/static/chunks/7023-a5bf5744d19b3bd3.js,sha256=TBJA7dTnI8nymtbljKuZzo2hbStXWR-P8Qkl57k2Tw8,123898
130
130
  khoj/interface/compiled/_next/static/chunks/7762-79f2205740622b5c.js,sha256=DOPdP09qQbmaPZhirSEh6YqTkC7afirl0Pzu3v3A9Pg,35789
131
131
  khoj/interface/compiled/_next/static/chunks/9001-3b27af6d5f21df44.js,sha256=ran2mMGTO2kiAJebRGMyfyAu4Sdjw-WobS_m6g-qjz8,34223
132
- khoj/interface/compiled/_next/static/chunks/9178-f208a3e6404714a9.js,sha256=AkZ8mx8fdZKFZxR0wXVkQ_0hkcd8NYbNoSSF8sthUSY,17798
133
- khoj/interface/compiled/_next/static/chunks/9417-1d158bf46d3a0dc9.js,sha256=RCdrdKyvMQRMyVnZPALFw_EU0IMNvl3x0DN4_1XzJig,19473
134
- khoj/interface/compiled/_next/static/chunks/9479-563e4d61f91d5a7c.js,sha256=c4VtkdNKRyB4nl1tAEqPKQHOJUEzcsQ8shdC4y2YFI8,22261
132
+ khoj/interface/compiled/_next/static/chunks/9178-899fe9a6b754ecfe.js,sha256=AkZ8mx8fdZKFZxR0wXVkQ_0hkcd8NYbNoSSF8sthUSY,17798
133
+ khoj/interface/compiled/_next/static/chunks/9417-46ed3aaa639c85ef.js,sha256=xFWvkQGxr-fe7OTQKZKN8oTIwFindg50yrM15g_F-Sw,19484
134
+ khoj/interface/compiled/_next/static/chunks/9479-ea776e73f549090c.js,sha256=UMEvFNiYVNbeJneDLiBMzVZkjQusLakatsMUh71vFAI,22265
135
135
  khoj/interface/compiled/_next/static/chunks/d3ac728e-a9e3522eef9b6b28.js,sha256=wK1TsLdl56xtbQG6HMRDpylzTOYXQaAnnn2xobFnX40,267216
136
136
  khoj/interface/compiled/_next/static/chunks/fd9d1056-2b978342deb60015.js,sha256=2lquiZSfbI-gX4j4TW4JSMLL_D5ShqwydgWpFyXrTy8,172834
137
137
  khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js,sha256=sFFnSyDnFoOc61lP-EtTzTyf-zGA78ejDyMgPFMDw2Q,140001
138
138
  khoj/interface/compiled/_next/static/chunks/main-app-6d6ee3495efe03d4.js,sha256=i52E7sWOcSq1G8eYZL3mtTxbUbwRNxcAbSWQ6uWpMsY,475
139
139
  khoj/interface/compiled/_next/static/chunks/main-f84cd3c1873cd842.js,sha256=jKg2A4pPMmEAQmrA10rACH3daS8XXJeMnGOz1AsTkdI,111099
140
140
  khoj/interface/compiled/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
141
- khoj/interface/compiled/_next/static/chunks/webpack-dff708c71e9234cb.js,sha256=2LSuY6NKV6K5HhtsHlbQQs_eQSfEbIIRlZzjpzijKWU,3724
142
- khoj/interface/compiled/_next/static/chunks/app/layout-f3e40d346da53112.js,sha256=nekGSUVbvB81OfqGgJa2UoDmbxPhNwFwtc4o11O_1jI,442
143
- khoj/interface/compiled/_next/static/chunks/app/page-421d13f70c505dd9.js,sha256=eugKXd0nrJGg9NbfmNmUrkCxT-w5opawTRxpheHICQ4,28641
141
+ khoj/interface/compiled/_next/static/chunks/webpack-64dc39af85cd2625.js,sha256=3suqw3hD_HZpSmBVYQPLKgBMab-tLjaGIVM2oVIYn6M,3724
142
+ khoj/interface/compiled/_next/static/chunks/app/layout-d0f0a9067427fb20.js,sha256=ilPUPuMQt_2D48lC5c6AYeXT7J28ElR_Ym6VtjQwCO0,442
143
+ khoj/interface/compiled/_next/static/chunks/app/page-10a5aad6e04f3cf8.js,sha256=eugKXd0nrJGg9NbfmNmUrkCxT-w5opawTRxpheHICQ4,28641
144
144
  khoj/interface/compiled/_next/static/chunks/app/_not-found/page-07ff4ab42b07845e.js,sha256=3mCUnxfMxyK44eqk21TVBrC6u--WSbvx31fTmQuOvMQ,1755
145
- khoj/interface/compiled/_next/static/chunks/app/agents/layout-e71c8e913cccf792.js,sha256=VyIMrkvntFObMzXF-elNtngJ8mBdjg8XrOGfboJ2f_4,372
146
- khoj/interface/compiled/_next/static/chunks/app/agents/page-f8d03847a0fa2539.js,sha256=QbWJOIYwuZ62ROosgC52EcBRvxq5Ja-Jx0jq4jybTbs,38462
145
+ khoj/interface/compiled/_next/static/chunks/app/agents/layout-75636ab3a413fa8e.js,sha256=0bdI7GBXZxpLy88hdWQiOc26QRZaD9R86YNMmGakWl4,372
146
+ khoj/interface/compiled/_next/static/chunks/app/agents/page-88aa3042711107b7.js,sha256=vRLLjZnRlAh_FsSoEvBcXmMWOnl0YpetRuQ5ijVmsk8,38511
147
147
  khoj/interface/compiled/_next/static/chunks/app/automations/layout-27c28e923c9b1ff0.js,sha256=d2vJ_lVB0pfeFXNUPzHAe1ca5NzdNowHPh___SPqugM,5143
148
148
  khoj/interface/compiled/_next/static/chunks/app/automations/page-5480731341f34450.js,sha256=PgsFxtYymaDBMcJR31xPXLp4HX--uFJt6OAES95jM8k,35441
149
- khoj/interface/compiled/_next/static/chunks/app/chat/layout-8102549127db3067.js,sha256=YIoA3fqOBt8nKWw5iQAwA_avg2t1Q5Afn65IA5PBOz4,374
149
+ khoj/interface/compiled/_next/static/chunks/app/chat/layout-96fcf62857bf8f30.js,sha256=1CjjxW27P-98-jfx8gBX3eBiLI-3k9zQ6nJqcZoNMBQ,374
150
150
  khoj/interface/compiled/_next/static/chunks/app/chat/page-702057ccbcf27881.js,sha256=Fge4qq3mFhPk0-tI5ts5JsJErlfjmlgHwbEugyVyAnk,5666
151
151
  khoj/interface/compiled/_next/static/chunks/app/factchecker/layout-7b30c541c05fb904.js,sha256=yub2AuBKHKSCqrHRFnkZv9JXLmLJLOB99iiaD3DtZQM,170
152
152
  khoj/interface/compiled/_next/static/chunks/app/factchecker/page-e7b34316ec6f44de.js,sha256=DPWy4Lh773zmhmrgEu8TPTI-r5DfZDeaoIOUGPKhi18,14032
153
153
  khoj/interface/compiled/_next/static/chunks/app/search/layout-3720f1362310bebb.js,sha256=Smpa4MQaw5ItashtspsDKsOvRa6sOXH_lv4jIfWIbNI,170
154
154
  khoj/interface/compiled/_next/static/chunks/app/search/page-d56541c746fded7d.js,sha256=4uRb6Ns9ichFXH7kBmbFLa7g8KgSgUsKFEYXEQqx9CQ,6958
155
- khoj/interface/compiled/_next/static/chunks/app/settings/layout-6f9314b0d7a26046.js,sha256=ikl3vCXnp81sa24uPSuRbgvgDtpHGWfhxEs4OAOYXIM,5347
155
+ khoj/interface/compiled/_next/static/chunks/app/settings/layout-a8f33dfe92f997fb.js,sha256=VQp-ZD9hDz-r6yXCDMgdxrvnm6qcuKViX7AKc9B6JBw,5347
156
156
  khoj/interface/compiled/_next/static/chunks/app/settings/page-e044a999468a7c5d.js,sha256=PgBPWWlZyx65XgxrttZlHREESMDt44ICdrrZiO5gH9M,31848
157
- khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-39f03f9e32399f0f.js,sha256=ClS8wrj6HOsRL4VX8DMiqX_MlQDsi_3CA-AQt4m7vuA,373
157
+ khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-2df56074e42adaa0.js,sha256=RPeayaV3Gbu0bJnD9vW5ml-xN-zN6UFBlTel-vOMYys,373
158
158
  khoj/interface/compiled/_next/static/chunks/app/share/chat/page-fbbd66a4d4633438.js,sha256=NfaF2T_Do-HHf0aFKmWqMUIQIXBJDzFiyxInUV7ulgw,4820
159
159
  khoj/interface/compiled/_next/static/chunks/pages/_app-f870474a17b7f2fd.js,sha256=eqdFPAN_XFyMUzZ9qwFk-_rhMWZrU7lgNVt1foVUANo,286
160
160
  khoj/interface/compiled/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
161
- khoj/interface/compiled/_next/static/css/1538cedb321e3a97.css,sha256=-qLZhPN-wA3kcrVODVTaG1sN0pmuzRCqNH12gs5_qYc,2569
162
161
  khoj/interface/compiled/_next/static/css/2272c73fc7a3b571.css,sha256=1fHKFd8zLOHosAHx-kxv4b9lVSqHag_E71WkV3dXx2Y,26940
163
162
  khoj/interface/compiled/_next/static/css/2de69f0be774c768.css,sha256=E00JnHdJVDT2Ai0dxE6VRD0odoBTLEyeQW48rlv5zH4,7849
164
163
  khoj/interface/compiled/_next/static/css/3e1f1fdd70775091.css,sha256=HT70_NVRMtV5IPc5k9JBGrVirjDZ3tyap7mEPXjQlGM,1634
164
+ khoj/interface/compiled/_next/static/css/467a524c75e7d7c0.css,sha256=yNoCTf6WSvmOpMGCnq1LEjF8lFDydKu4O5isN5KWqO8,2622
165
165
  khoj/interface/compiled/_next/static/css/553f9cdcc7a2bcd6.css,sha256=JpjOOwmqP9Hba-w_8Lx9jWW0ZD0kD3wR0HvdPGDyUPo,2134
166
166
  khoj/interface/compiled/_next/static/css/592ca99f5122e75a.css,sha256=BSqRkeb9vBh0phx5GkAlZirTFZintbyggGaUkuOBfaU,914
167
167
  khoj/interface/compiled/_next/static/css/5a400c87d295e68a.css,sha256=ojDUPJ9fJpEo9DzTAsEa-k1cg7Bef-nSTfpszMiqknQ,17711
168
168
  khoj/interface/compiled/_next/static/css/b9a6bf04305d98d7.css,sha256=NfTj8QxZYyhwgCdImGQBYwhxnvByYhtK9LhVooVBqHA,1882291
169
169
  khoj/interface/compiled/_next/static/css/c808691c459e3887.css,sha256=Xj1SLFCKntSIqZSDCMg2MnzZowIiKFtqPT3KxrT4i94,1857
170
+ khoj/interface/compiled/_next/static/eim4XajTfG4ub4ft5AEkJ/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
171
+ khoj/interface/compiled/_next/static/eim4XajTfG4ub4ft5AEkJ/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
170
172
  khoj/interface/compiled/_next/static/media/0e790e04fd40ad16-s.p.woff2,sha256=41ewITd0G1ZAoB62BTHMW58a1q8Hl6vSbTQkkHP7EbI,39372
171
173
  khoj/interface/compiled/_next/static/media/4221e1667cd19c7d-s.woff2,sha256=_Y3g0keA8P6nZnFfm_VO5o2Sne1iST3v9xz4fBo3fwM,75532
172
174
  khoj/interface/compiled/_next/static/media/6c276159aa0eb14b-s.woff2,sha256=i9Ibzi_O7y5KpImujj2rEdOZf96lpNYxYzVvCryW5Uc,140408
@@ -239,8 +241,8 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
239
241
  khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
240
242
  khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
241
243
  khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
242
- khoj/interface/compiled/agents/index.html,sha256=OWnsW-lhKuCOUG-1NGZcn4sBD4ENSeq0Ei9TX3RHsiw,12830
243
- khoj/interface/compiled/agents/index.txt,sha256=Drney4Ep3E6o8B7nmyCVqMxby_mn794c5aJzPcdzKvA,6126
244
+ khoj/interface/compiled/agents/index.html,sha256=Agw5cLPj5cCK0MN-jTHmvh_oqzq4j0FL4rKoZIYmiHg,12830
245
+ khoj/interface/compiled/agents/index.txt,sha256=2TJ6LCyP7hcXOLZRJ4rIkKFa3wuEx-VU1ZAKsFTz9oo,6126
244
246
  khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
245
247
  khoj/interface/compiled/assets/icons/khoj_lantern_128x128.png,sha256=aTxivDb3CYyThkVZWz8A19xl_dNut5DbkXhODWF3A9Q,5640
246
248
  khoj/interface/compiled/assets/icons/khoj_lantern_256x256.png,sha256=xPCMLHiaL7lYOdQLZrKwWE-Qjn5ZaysSZB0ScYv4UZU,12312
@@ -251,30 +253,31 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
251
253
  khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
252
254
  khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
253
255
  khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
254
- khoj/interface/compiled/automations/index.html,sha256=XsNAo62Och4goO8VUUqW1ncxsYEA-6W-6q_23ZilFFk,30624
255
- khoj/interface/compiled/automations/index.txt,sha256=39E8uzoJ6HrE2F8q7W-yEET7mHBINNaG3PUAspneLNc,5494
256
- khoj/interface/compiled/chat/index.html,sha256=QCptSNMgqilCy-k0EO8RTm_sEqKhoW8YHAuwajRTwhk,13724
257
- khoj/interface/compiled/chat/index.txt,sha256=vGsKz340iVVY5_jyazh7xAOrXUO-H1xa5iywB2NR3Yg,6486
258
- khoj/interface/compiled/factchecker/index.html,sha256=PxfLFKOnPa6DJBiyITV_fdRvFLbVk3kBldkQf9HXXOQ,29973
259
- khoj/interface/compiled/factchecker/index.txt,sha256=Rn4YrsQh-t_6jld1y53X3FLyxUfq9wyBoIdoNCkha_A,5788
260
- khoj/interface/compiled/search/index.html,sha256=OZekI_8_hq_9MJWHJk67kKq3P3CpHTyvj7w6SzxuaLQ,30161
261
- khoj/interface/compiled/search/index.txt,sha256=YOyLm42ZOKE7B31FFETIyYld_Zgwf-s3QU7A8TRKAk4,5256
262
- khoj/interface/compiled/settings/index.html,sha256=xCcxFIRN7aQB8O07mOV5fLNCR8NFNwvlU1xKlN0o2h4,12831
263
- khoj/interface/compiled/settings/index.txt,sha256=sO7dm9ljbgB3imOUx2PGIi-c2rlBBIu68AGWkXrFvQY,6078
264
- khoj/interface/compiled/share/chat/index.html,sha256=QobYOrSvQaMQ1DX__nBLbHWhX8OeR2Bh5LxWXQ6PwL4,15049
265
- khoj/interface/compiled/share/chat/index.txt,sha256=z-jB8cQEXsRHWUAhMSxYbxtSknGTx4QqippfRlF7KCk,7297
256
+ khoj/interface/compiled/automations/index.html,sha256=9gA8DETG69t1Ce-wAohc7F49gPtvkxqmv45OYcrYQxw,30624
257
+ khoj/interface/compiled/automations/index.txt,sha256=X6R0pcIrDzbeve096zvvcBfRiAZUp2UgvdToXRcy3e0,5494
258
+ khoj/interface/compiled/chat/index.html,sha256=Wy-mHS729C1ZGB5pn2lTyETTDVCi_Ro5CjV6kkCFPio,13724
259
+ khoj/interface/compiled/chat/index.txt,sha256=AUhHQhQVS_X6dDR3Ba4g-dzIzqJzBqNNGYDJpQc6ITc,6486
260
+ khoj/interface/compiled/factchecker/index.html,sha256=ZeIpVY5ZzQy6ptY8MRjl1f_Jrn41nQx5i8v-gkjx1sI,29973
261
+ khoj/interface/compiled/factchecker/index.txt,sha256=kUVWAFpv-4bgcj0qgy5L5ZUwX_jz_okDhQT2CVeTl_Y,5788
262
+ khoj/interface/compiled/search/index.html,sha256=I8Yxymzav6nyd6divZ2ORYeXlARf-v6jbWh-e4ZaZos,30161
263
+ khoj/interface/compiled/search/index.txt,sha256=GJyZGMXyN3cNXPcJQ3ocYcXvswX0L1MsLXGjVpcUpKI,5256
264
+ khoj/interface/compiled/settings/index.html,sha256=xuvAbVY4LFaeKPR4J9DdgdMIN-9CPxTIKGYk-YL1fo0,12831
265
+ khoj/interface/compiled/settings/index.txt,sha256=Xl2BIozV8qWqtEEDJZ5Xg9rhxVh6QyfOpok4ymg53-s,6078
266
+ khoj/interface/compiled/share/chat/index.html,sha256=GENOCPpU2RO-4RX9VIsVeeG4GvctJ-ccfWmAJSURgGE,15049
267
+ khoj/interface/compiled/share/chat/index.txt,sha256=1IX_FXR0OTkUb_TNSpqra48rhNtWtbZA6N-HZtcq4k4,7297
266
268
  khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
267
269
  khoj/interface/email/magic_link.html,sha256=EoGKQucfPj3xQrWXhSZAzPFOYCHF_ZX94TWCd1XHl1M,941
268
270
  khoj/interface/email/task.html,sha256=tY7a0gzVeQ2lSQNu7WyXR_s7VYeWTrxWEj1iHVuoVE4,2813
269
271
  khoj/interface/email/welcome.html,sha256=CpOLmNZV8jK1B_el7bxtZEFMr7k4g6MHfSHBhYFifB0,6081
270
272
  khoj/interface/web/base_config.html,sha256=3aRwGF546vUdtCqL4tbWDdvO3ThEzt627vopx_tS4zo,12181
271
273
  khoj/interface/web/content_source_github_input.html,sha256=YpsLBpsATW08ttrGysqktx2EczC4nebKlvWpwxtwmFY,8249
272
- khoj/interface/web/login.html,sha256=6GbNz1S9oC_iY4yb1Xygm2ukYT36KexDUzV8NMRnScc,9962
274
+ khoj/interface/web/login.html,sha256=xSrzU_rjfA-7Bwb9hkgxbOti8SWowIUD5JhzPgsnKNU,9245
273
275
  khoj/interface/web/utils.html,sha256=_UrcCvSkx1SAzhlTsvrj9LFlnJuJ-_cMtz6HY-rEIkI,3143
274
276
  khoj/interface/web/assets/khoj.css,sha256=rhW8-RwvkpTC5GbtBt0EByaXaHjlxpxPYxrUuzMWDC0,5659
275
277
  khoj/interface/web/assets/utils.js,sha256=A22W1nOVuD1osI7TtZC8fZ0r1g4pE66tXQ_4XNbhreo,1269
276
- khoj/interface/web/assets/icons/agents.svg,sha256=_d5_QjyqF6U4Q7o5sIrQd8C0juJcsmJG-YgGcPKha7o,2579
277
- khoj/interface/web/assets/icons/automation.svg,sha256=5PYprcNRK3rb1fVS2E3caR0sqLj32K4Thr2QPy_ZgsY,1549
278
+ khoj/interface/web/assets/icons/agents.svg,sha256=_DK73fRvvn5I-ajKZxH--9qLv-721QSiMk_lnwZKXlw,2609
279
+ khoj/interface/web/assets/icons/automation.svg,sha256=6SHlGisTmg7iFQ3mLG1BQoSc-HMaaJKsLFVIYaFV2Hs,1579
280
+ khoj/interface/web/assets/icons/chat.svg,sha256=cDicxL36Nn0BkCUFezwm7UOM0KefSClsid5HbRHxovU,2439
278
281
  khoj/interface/web/assets/icons/favicon-128x128.ico,sha256=JMZf9aZor9AUbh5kuFNDaG3Mjxvoau5k80yRA9ly5TQ,205167
279
282
  khoj/interface/web/assets/icons/github.svg,sha256=E789GwMweG0aU1wJNp0FjWHlFX1AxuA5H0durEnw5hQ,964
280
283
  khoj/interface/web/assets/icons/khoj-logo-sideways-200.png,sha256=2_F1PpTZzfjvaHej9jjENx03H1vKtFsVkolwTPLJP9Q,6637
@@ -293,7 +296,7 @@ khoj/migrations/migrate_processor_config_openai.py,sha256=FfeUU2JPQMtlr1iYoc4Cer
293
296
  khoj/migrations/migrate_server_pg.py,sha256=b6ULFFBEF__W10YpgF28deKoOzGqDbdvyL4nBdj3eNU,5015
294
297
  khoj/migrations/migrate_version.py,sha256=6CTsLuxiLnFVF8A7CjsIz3PcnJd8fAOZeIx6tTu6Vgg,569
295
298
  khoj/processor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
296
- khoj/processor/embeddings.py,sha256=qL2Vx5SxDJXJ7TZJNl6s4xclq-zJiVMLYbdnvod5_Cw,5427
299
+ khoj/processor/embeddings.py,sha256=DirOTKBVBJ9kuzxixdT227zgEHQV3ttjLLGdzedYsFs,5467
297
300
  khoj/processor/content/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
298
301
  khoj/processor/content/text_to_entries.py,sha256=Oa4Ny8c5S1_IGCmjCtUI45hX1fPTRwxXhHg1lHFqHy8,14537
299
302
  khoj/processor/content/docx/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -301,7 +304,7 @@ khoj/processor/content/docx/docx_to_entries.py,sha256=qCVbvetCDG30lxxUeEjg_BTNJt
301
304
  khoj/processor/content/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
302
305
  khoj/processor/content/github/github_to_entries.py,sha256=SfgXJi59LvFldnRLC5dJ3tUhM5vym-ZrbUovh1G42LQ,9887
303
306
  khoj/processor/content/images/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
304
- khoj/processor/content/images/image_to_entries.py,sha256=unAgYEc9h_kDzFQv_iS_w5Pi29UnPWEpdBVQpLBrET4,4999
307
+ khoj/processor/content/images/image_to_entries.py,sha256=zv71SpXlHmMbdJsDw6mEgwQITNWlr3nd_VRj0CH2rm8,5120
305
308
  khoj/processor/content/markdown/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
306
309
  khoj/processor/content/markdown/markdown_to_entries.py,sha256=3ZXkJtehcVcMrNY6V4p-8i53zDIIsiVGQg-AMtD_U1U,7076
307
310
  khoj/processor/content/notion/notion_to_entries.py,sha256=aFu41uynXTDU5TjXJhGpE6kYNDzXTB98NX3ruJUomRY,9858
@@ -309,18 +312,18 @@ khoj/processor/content/org_mode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
309
312
  khoj/processor/content/org_mode/org_to_entries.py,sha256=UYlCJRaNwwuf9LobiprVSGECOOyNV0q3R1kVnmOdvE8,10251
310
313
  khoj/processor/content/org_mode/orgnode.py,sha256=C0j0e6iHAY3bKBIcM9PaytqoR9dQ1Qd6hNHzMN-Zeg0,18476
311
314
  khoj/processor/content/pdf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
312
- khoj/processor/content/pdf/pdf_to_entries.py,sha256=OE90osFchohih3RYvDmZepbtzWoGJRdgW-KdqSd2rG8,4911
315
+ khoj/processor/content/pdf/pdf_to_entries.py,sha256=kROQUGqHs6J8Xi2rEHVgkc_iLMcSlhtyXTAL5yafsRo,4912
313
316
  khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
314
317
  khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=97i7Cm0DTY7jW4iqKOT_oVc2ooa_XhQ8iImsljp1Kek,4994
315
318
  khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
316
- khoj/processor/conversation/prompts.py,sha256=w6mCZ-_j1CC61dMuZU-GipTTERuJh6KQa1snYn2pkWo,36268
319
+ khoj/processor/conversation/prompts.py,sha256=UZqtvZ4HmVLJMW_3rVPGdXqrTeLLTa3sr5ic2PUpWv4,36307
317
320
  khoj/processor/conversation/utils.py,sha256=16Y8DUHcw7SQa65qnA1jFzJjoKyuTek9-5BGsnt1Qhk,11963
318
321
  khoj/processor/conversation/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
319
322
  khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=2O44WySb7xZqXxqA0M12gT9YsOLdBn4mz-mtJKj6fgY,8143
320
323
  khoj/processor/conversation/anthropic/utils.py,sha256=GHCz-xll_DBipqSc5e5qdVhLQiKX5Kso3KQRf1BXbVA,3456
321
324
  khoj/processor/conversation/google/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
322
325
  khoj/processor/conversation/google/gemini_chat.py,sha256=WMXsufumpQBqq2onpJ_Wc6CFrJd0YsvYajiYpstM3Qo,7823
323
- khoj/processor/conversation/google/utils.py,sha256=jdeI4dscid9I59YhTvDv91uCmD0mMgjL27tO20IvLB0,8766
326
+ khoj/processor/conversation/google/utils.py,sha256=TplQ2_lwyOkbncBjokXVWFPY6o9BJmBAIjxvV8_0NmI,8930
324
327
  khoj/processor/conversation/offline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
325
328
  khoj/processor/conversation/offline/chat_model.py,sha256=aqAhf2N-Kw3klTg3StrKWev6FWmFCH2BN9Jqq2Nm_FU,9740
326
329
  khoj/processor/conversation/offline/utils.py,sha256=51McImxl6u1qgRYvMt7uzsgLGSLq5SMFy74ymlNjIcc,3033
@@ -333,17 +336,17 @@ khoj/processor/image/generate.py,sha256=sY0mYhFubeZqZ02KGBdAXGskTeCIsADwwf715tNV
333
336
  khoj/processor/speech/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
334
337
  khoj/processor/speech/text_to_speech.py,sha256=Q7sapi5Hv6woXOumtrGqR0t6izZrFBkWXFOGrHM6dJ4,1929
335
338
  khoj/processor/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
336
- khoj/processor/tools/online_search.py,sha256=shkYPmeNn1SYMcd7nd5vTRP_02PwMRJDdbYc-xbDmNg,10254
339
+ khoj/processor/tools/online_search.py,sha256=rve174mQz6CEBsLHt4SWEWA9Sp9anXjFHJo62SxmP3M,14317
337
340
  khoj/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
338
341
  khoj/routers/api.py,sha256=rf31Pfs6mEA_SHXWNzjUHoFrIZJwiwN9hebRQ3Evq8Y,27590
339
342
  khoj/routers/api_agents.py,sha256=1rmFp6rnvf3JxL0VS7X5awEvartYieBHjEWNJNnObvQ,8877
340
- khoj/routers/api_chat.py,sha256=t0anhs08V4DSx-WXPlGeXNavrHbWLq7G574HW09Cy5k,39671
343
+ khoj/routers/api_chat.py,sha256=Z0HbSTw_fY4UJA6C7t--aNLWpiUof8fqjYtSp7rifwI,40293
341
344
  khoj/routers/api_content.py,sha256=lWunOwVWYvnl1ue_D81g9ZSwBc0UxHmBIrdJoVPxN_A,17900
342
345
  khoj/routers/api_model.py,sha256=CR6aMVwgbh6dZEq1NZEeUBRVMMZubBQHTWAu6uzckf8,4650
343
346
  khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,2208
344
347
  khoj/routers/auth.py,sha256=d3wzcysoYBQkPeqc1-gX8EnE7I_roVirMp5uzxOgobs,6560
345
348
  khoj/routers/email.py,sha256=SGYNPQvfcvYeHf70F0YqpY0FLMRElF2ZekROXdwGI18,3821
346
- khoj/routers/helpers.py,sha256=2MH0MllE1ZtqpVN9Y-yQeKuZtCs7gJNg124U30DYAJQ,67927
349
+ khoj/routers/helpers.py,sha256=592dErA2MU9LSDfRNxnJeOtBjMnIBcSs4w17B3jZHM8,67886
347
350
  khoj/routers/notion.py,sha256=Lp67xP9rVgpAF9BQoGTjZFcVdF1HYtvPP0kjq6uurKU,2802
348
351
  khoj/routers/storage.py,sha256=tJrwhFRVWv0MHv7V7huMc1Diwm-putZSwnZXJ3tqT_c,2338
349
352
  khoj/routers/subscription.py,sha256=JsKYS00Z2QXlXTobP1vU8T5cN5SE2PYp50CGDAQXofU,4699
@@ -355,21 +358,21 @@ khoj/search_filter/date_filter.py,sha256=4VL63kDVqYKFOzkCeV6R8Z8lxFaAbbn_z_RWaWQ
355
358
  khoj/search_filter/file_filter.py,sha256=tHYW-ibaENf_jrJ88kiO_xhrPZb6FQLtngG9ISTB6h8,1168
356
359
  khoj/search_filter/word_filter.py,sha256=5Yx95aSiqGke9kEIbp8T-Ak4dS9cTd3VxI1SaJoK1wY,1005
357
360
  khoj/search_type/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
358
- khoj/search_type/text_search.py,sha256=i_4-uknO2z2mdyG6txHln4JiXy6C11jkvDMGphfLxfE,9240
361
+ khoj/search_type/text_search.py,sha256=S7aHl6WhOuIe5HyXVAukmWJDu5NwzBo_XOvEDbUHH7A,9470
359
362
  khoj/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
360
363
  khoj/utils/cli.py,sha256=AgO3rO-bN5oI71sIReGxrJXPeXEH80fnCIsyVlZYgjI,3695
361
364
  khoj/utils/config.py,sha256=aiOkH0je8A30DAGYTHMRePrgJonFv_i07_7CdhhhcdA,1805
362
365
  khoj/utils/constants.py,sha256=UwE7U9bNsfeqTb0K2lcdXdAscM4-7uuVoR3KbZS03Pg,1216
363
366
  khoj/utils/fs_syncer.py,sha256=bQgcbYYC3x11RyCqI_kUzzqGpcKTodGgdT-3OTQsXqw,9977
364
- khoj/utils/helpers.py,sha256=4DR3kWn5wrgrZRPAWNg1GB4JJdAvuqwJcIyzPwphes0,15976
367
+ khoj/utils/helpers.py,sha256=eT-KuLiGpEw_umINhDjGUrt2CPbM2AiYTQbJEHG3wP8,17455
365
368
  khoj/utils/initialization.py,sha256=TjA2ZImYKI-J1tEBE_0TaOLnVQidVV5GDEFBOPq8aik,10048
366
369
  khoj/utils/jsonl.py,sha256=0Ac_COqr8sLCXntzZtquxuCEVRM2c3yKeDRGhgOBRpQ,1192
367
370
  khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
368
371
  khoj/utils/rawconfig.py,sha256=kURDuk7x0MDtniGLU4x1IsvU4UIBS-V9dSM4GD8X-LY,4274
369
372
  khoj/utils/state.py,sha256=x4GTewP1YhOA6c_32N4wOjnV-3AA3xG_qbY1-wC2Uxc,1559
370
373
  khoj/utils/yaml.py,sha256=H0mfw0ZvBFUvFmCQn8pWkfxdmIebsrSykza7D8Wv6wQ,1430
371
- khoj-1.25.1.dev12.dist-info/METADATA,sha256=Ut3aSAm8ySMsWthLLSiNSin2WGUzKFFGxojgfi8kBmU,6952
372
- khoj-1.25.1.dev12.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
373
- khoj-1.25.1.dev12.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
374
- khoj-1.25.1.dev12.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
375
- khoj-1.25.1.dev12.dist-info/RECORD,,
374
+ khoj-1.26.2.dist-info/METADATA,sha256=aggi03FPND43osEv0tIIWIDGmIXF2WVbHXjTrCboCa4,7019
375
+ khoj-1.26.2.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
376
+ khoj-1.26.2.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
377
+ khoj-1.26.2.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
378
+ khoj-1.26.2.dist-info/RECORD,,