khoj 1.28.4.dev72__py3-none-any.whl → 1.28.4.dev76__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 (51) hide show
  1. khoj/configure.py +4 -6
  2. khoj/database/adapters/__init__.py +121 -35
  3. khoj/interface/compiled/404/index.html +1 -1
  4. khoj/interface/compiled/_next/static/chunks/app/agents/{page-4353b1a532795ad1.js → page-ee4f0da14df15091.js} +1 -1
  5. khoj/interface/compiled/_next/static/chunks/app/automations/{page-c9f13c865e739607.js → page-da59a2b9ec07da16.js} +1 -1
  6. khoj/interface/compiled/_next/static/chunks/app/chat/{page-97876b3bd3c5e69d.js → page-04313ed6d8f38904.js} +1 -1
  7. khoj/interface/compiled/_next/static/chunks/app/{page-c33ebe19a3b7b0b2.js → page-5c06dadacb1b5945.js} +1 -1
  8. khoj/interface/compiled/_next/static/chunks/app/search/{page-8e28deacb61f75aa.js → page-4f44549ba3807021.js} +1 -1
  9. khoj/interface/compiled/_next/static/chunks/app/settings/{page-2fab613a557d3cc5.js → page-88dbd5c184dcd1e3.js} +1 -1
  10. khoj/interface/compiled/_next/static/chunks/app/share/chat/{page-3ee3da7e8dfe3572.js → page-9257e8817dcd6af3.js} +1 -1
  11. khoj/interface/compiled/_next/static/chunks/{webpack-63a7b969d34e6698.js → webpack-d37377886a1b4e56.js} +1 -1
  12. khoj/interface/compiled/_next/static/css/4cae6c0e5c72fb2d.css +1 -0
  13. khoj/interface/compiled/_next/static/css/9d45de78fba367c1.css +1 -0
  14. khoj/interface/compiled/agents/index.html +1 -1
  15. khoj/interface/compiled/agents/index.txt +2 -2
  16. khoj/interface/compiled/automations/index.html +1 -1
  17. khoj/interface/compiled/automations/index.txt +2 -2
  18. khoj/interface/compiled/chat/index.html +1 -1
  19. khoj/interface/compiled/chat/index.txt +2 -2
  20. khoj/interface/compiled/index.html +1 -1
  21. khoj/interface/compiled/index.txt +2 -2
  22. khoj/interface/compiled/search/index.html +1 -1
  23. khoj/interface/compiled/search/index.txt +2 -2
  24. khoj/interface/compiled/settings/index.html +1 -1
  25. khoj/interface/compiled/settings/index.txt +2 -2
  26. khoj/interface/compiled/share/chat/index.html +1 -1
  27. khoj/interface/compiled/share/chat/index.txt +2 -2
  28. khoj/processor/content/docx/docx_to_entries.py +2 -2
  29. khoj/processor/content/github/github_to_entries.py +2 -2
  30. khoj/processor/content/images/image_to_entries.py +2 -2
  31. khoj/processor/content/markdown/markdown_to_entries.py +2 -2
  32. khoj/processor/content/notion/notion_to_entries.py +2 -2
  33. khoj/processor/content/org_mode/org_to_entries.py +2 -2
  34. khoj/processor/content/pdf/pdf_to_entries.py +2 -2
  35. khoj/processor/content/plaintext/plaintext_to_entries.py +2 -2
  36. khoj/processor/content/text_to_entries.py +2 -2
  37. khoj/routers/api.py +1 -1
  38. khoj/routers/api_content.py +2 -2
  39. khoj/routers/helpers.py +2 -2
  40. khoj/routers/notion.py +1 -1
  41. khoj/search_type/text_search.py +1 -1
  42. khoj/utils/fs_syncer.py +2 -1
  43. {khoj-1.28.4.dev72.dist-info → khoj-1.28.4.dev76.dist-info}/METADATA +1 -1
  44. {khoj-1.28.4.dev72.dist-info → khoj-1.28.4.dev76.dist-info}/RECORD +49 -49
  45. khoj/interface/compiled/_next/static/css/23f801d22927d568.css +0 -1
  46. khoj/interface/compiled/_next/static/css/592ca99f5122e75a.css +0 -1
  47. /khoj/interface/compiled/_next/static/{3RbVsXsK7UMQenlE7W2Dh → o-l9xN70-eH1BC65S0umF}/_buildManifest.js +0 -0
  48. /khoj/interface/compiled/_next/static/{3RbVsXsK7UMQenlE7W2Dh → o-l9xN70-eH1BC65S0umF}/_ssgManifest.js +0 -0
  49. {khoj-1.28.4.dev72.dist-info → khoj-1.28.4.dev76.dist-info}/WHEEL +0 -0
  50. {khoj-1.28.4.dev72.dist-info → khoj-1.28.4.dev76.dist-info}/entry_points.txt +0 -0
  51. {khoj-1.28.4.dev72.dist-info → khoj-1.28.4.dev76.dist-info}/licenses/LICENSE +0 -0
@@ -48,7 +48,7 @@ class GithubToEntries(TextToEntries):
48
48
  else:
49
49
  return
50
50
 
51
- def process(self, files: dict[str, str] = None, user: KhojUser = None, regenerate: bool = False) -> Tuple[int, int]:
51
+ def process(self, files: dict[str, str], user: KhojUser, regenerate: bool = False) -> Tuple[int, int]:
52
52
  if self.config.pat_token is None or self.config.pat_token == "":
53
53
  logger.error(f"Github PAT token is not set. Skipping github content")
54
54
  raise ValueError("Github PAT token is not set. Skipping github content")
@@ -101,12 +101,12 @@ class GithubToEntries(TextToEntries):
101
101
  # Identify, mark and merge any new entries with previous entries
102
102
  with timer("Identify new or updated entries", logger):
103
103
  num_new_embeddings, num_deleted_embeddings = self.update_embeddings(
104
+ user,
104
105
  current_entries,
105
106
  DbEntry.EntryType.GITHUB,
106
107
  DbEntry.EntrySource.GITHUB,
107
108
  key="compiled",
108
109
  logger=logger,
109
- user=user,
110
110
  )
111
111
 
112
112
  return num_new_embeddings, num_deleted_embeddings
@@ -18,7 +18,7 @@ class ImageToEntries(TextToEntries):
18
18
  super().__init__()
19
19
 
20
20
  # Define Functions
21
- def process(self, files: dict[str, str] = None, user: KhojUser = None, regenerate: bool = False) -> Tuple[int, int]:
21
+ def process(self, files: dict[str, str], user: KhojUser, regenerate: bool = False) -> Tuple[int, int]:
22
22
  # Extract required fields from config
23
23
  deletion_file_names = set([file for file in files if files[file] == b""])
24
24
  files_to_process = set(files) - deletion_file_names
@@ -35,13 +35,13 @@ class ImageToEntries(TextToEntries):
35
35
  # Identify, mark and merge any new entries with previous entries
36
36
  with timer("Identify new or updated entries", logger):
37
37
  num_new_embeddings, num_deleted_embeddings = self.update_embeddings(
38
+ user,
38
39
  current_entries,
39
40
  DbEntry.EntryType.IMAGE,
40
41
  DbEntry.EntrySource.COMPUTER,
41
42
  "compiled",
42
43
  logger,
43
44
  deletion_file_names,
44
- user,
45
45
  regenerate=regenerate,
46
46
  file_to_text_map=file_to_text_map,
47
47
  )
@@ -19,7 +19,7 @@ class MarkdownToEntries(TextToEntries):
19
19
  super().__init__()
20
20
 
21
21
  # Define Functions
22
- def process(self, files: dict[str, str] = None, user: KhojUser = None, regenerate: bool = False) -> Tuple[int, int]:
22
+ def process(self, files: dict[str, str], user: KhojUser, regenerate: bool = False) -> Tuple[int, int]:
23
23
  # Extract required fields from config
24
24
  deletion_file_names = set([file for file in files if files[file] == ""])
25
25
  files_to_process = set(files) - deletion_file_names
@@ -37,13 +37,13 @@ class MarkdownToEntries(TextToEntries):
37
37
  # Identify, mark and merge any new entries with previous entries
38
38
  with timer("Identify new or updated entries", logger):
39
39
  num_new_embeddings, num_deleted_embeddings = self.update_embeddings(
40
+ user,
40
41
  current_entries,
41
42
  DbEntry.EntryType.MARKDOWN,
42
43
  DbEntry.EntrySource.COMPUTER,
43
44
  "compiled",
44
45
  logger,
45
46
  deletion_file_names,
46
- user,
47
47
  regenerate=regenerate,
48
48
  file_to_text_map=file_to_text_map,
49
49
  )
@@ -79,7 +79,7 @@ class NotionToEntries(TextToEntries):
79
79
 
80
80
  self.body_params = {"page_size": 100}
81
81
 
82
- def process(self, files: dict[str, str] = None, user: KhojUser = None, regenerate: bool = False) -> Tuple[int, int]:
82
+ def process(self, files: dict[str, str], user: KhojUser, regenerate: bool = False) -> Tuple[int, int]:
83
83
  current_entries = []
84
84
 
85
85
  # Get all pages
@@ -248,12 +248,12 @@ class NotionToEntries(TextToEntries):
248
248
  # Identify, mark and merge any new entries with previous entries
249
249
  with timer("Identify new or updated entries", logger):
250
250
  num_new_embeddings, num_deleted_embeddings = self.update_embeddings(
251
+ user,
251
252
  current_entries,
252
253
  DbEntry.EntryType.NOTION,
253
254
  DbEntry.EntrySource.NOTION,
254
255
  key="compiled",
255
256
  logger=logger,
256
- user=user,
257
257
  )
258
258
 
259
259
  return num_new_embeddings, num_deleted_embeddings
@@ -20,7 +20,7 @@ class OrgToEntries(TextToEntries):
20
20
  super().__init__()
21
21
 
22
22
  # Define Functions
23
- def process(self, files: dict[str, str] = None, user: KhojUser = None, regenerate: bool = False) -> Tuple[int, int]:
23
+ def process(self, files: dict[str, str], user: KhojUser, regenerate: bool = False) -> Tuple[int, int]:
24
24
  deletion_file_names = set([file for file in files if files[file] == ""])
25
25
  files_to_process = set(files) - deletion_file_names
26
26
  files = {file: files[file] for file in files_to_process}
@@ -36,13 +36,13 @@ class OrgToEntries(TextToEntries):
36
36
  # Identify, mark and merge any new entries with previous entries
37
37
  with timer("Identify new or updated entries", logger):
38
38
  num_new_embeddings, num_deleted_embeddings = self.update_embeddings(
39
+ user,
39
40
  current_entries,
40
41
  DbEntry.EntryType.ORG,
41
42
  DbEntry.EntrySource.COMPUTER,
42
43
  "compiled",
43
44
  logger,
44
45
  deletion_file_names,
45
- user,
46
46
  regenerate=regenerate,
47
47
  file_to_text_map=file_to_text_map,
48
48
  )
@@ -19,7 +19,7 @@ class PdfToEntries(TextToEntries):
19
19
  super().__init__()
20
20
 
21
21
  # Define Functions
22
- def process(self, files: dict[str, str] = None, user: KhojUser = None, regenerate: bool = False) -> Tuple[int, int]:
22
+ def process(self, files: dict[str, str], user: KhojUser, regenerate: bool = False) -> Tuple[int, int]:
23
23
  # Extract required fields from config
24
24
  deletion_file_names = set([file for file in files if files[file] == b""])
25
25
  files_to_process = set(files) - deletion_file_names
@@ -36,13 +36,13 @@ class PdfToEntries(TextToEntries):
36
36
  # Identify, mark and merge any new entries with previous entries
37
37
  with timer("Identify new or updated entries", logger):
38
38
  num_new_embeddings, num_deleted_embeddings = self.update_embeddings(
39
+ user,
39
40
  current_entries,
40
41
  DbEntry.EntryType.PDF,
41
42
  DbEntry.EntrySource.COMPUTER,
42
43
  "compiled",
43
44
  logger,
44
45
  deletion_file_names,
45
- user,
46
46
  regenerate=regenerate,
47
47
  file_to_text_map=file_to_text_map,
48
48
  )
@@ -20,7 +20,7 @@ class PlaintextToEntries(TextToEntries):
20
20
  super().__init__()
21
21
 
22
22
  # Define Functions
23
- def process(self, files: dict[str, str] = None, user: KhojUser = None, regenerate: bool = False) -> Tuple[int, int]:
23
+ def process(self, files: dict[str, str], user: KhojUser, regenerate: bool = False) -> Tuple[int, int]:
24
24
  deletion_file_names = set([file for file in files if files[file] == ""])
25
25
  files_to_process = set(files) - deletion_file_names
26
26
  files = {file: files[file] for file in files_to_process}
@@ -36,13 +36,13 @@ class PlaintextToEntries(TextToEntries):
36
36
  # Identify, mark and merge any new entries with previous entries
37
37
  with timer("Identify new or updated entries", logger):
38
38
  num_new_embeddings, num_deleted_embeddings = self.update_embeddings(
39
+ user,
39
40
  current_entries,
40
41
  DbEntry.EntryType.PLAINTEXT,
41
42
  DbEntry.EntrySource.COMPUTER,
42
43
  key="compiled",
43
44
  logger=logger,
44
45
  deletion_filenames=deletion_file_names,
45
- user=user,
46
46
  regenerate=regenerate,
47
47
  file_to_text_map=file_to_text_map,
48
48
  )
@@ -31,7 +31,7 @@ class TextToEntries(ABC):
31
31
  self.date_filter = DateFilter()
32
32
 
33
33
  @abstractmethod
34
- def process(self, files: dict[str, str] = None, user: KhojUser = None, regenerate: bool = False) -> Tuple[int, int]:
34
+ def process(self, files: dict[str, str], user: KhojUser, regenerate: bool = False) -> Tuple[int, int]:
35
35
  ...
36
36
 
37
37
  @staticmethod
@@ -114,13 +114,13 @@ class TextToEntries(ABC):
114
114
 
115
115
  def update_embeddings(
116
116
  self,
117
+ user: KhojUser,
117
118
  current_entries: List[Entry],
118
119
  file_type: str,
119
120
  file_source: str,
120
121
  key="compiled",
121
122
  logger: logging.Logger = None,
122
123
  deletion_filenames: Set[str] = None,
123
- user: KhojUser = None,
124
124
  regenerate: bool = False,
125
125
  file_to_text_map: dict[str, str] = None,
126
126
  ):
khoj/routers/api.py CHANGED
@@ -212,7 +212,7 @@ def update(
212
212
  logger.warning(error_msg)
213
213
  raise HTTPException(status_code=500, detail=error_msg)
214
214
  try:
215
- initialize_content(regenerate=force, search_type=t, user=user)
215
+ initialize_content(user=user, regenerate=force, search_type=t)
216
216
  except Exception as e:
217
217
  error_msg = f"🚨 Failed to update server via API: {e}"
218
218
  logger.error(error_msg, exc_info=True)
@@ -239,7 +239,7 @@ async def set_content_notion(
239
239
 
240
240
  if updated_config.token:
241
241
  # Trigger an async job to configure_content. Let it run without blocking the response.
242
- background_tasks.add_task(run_in_executor, configure_content, {}, False, SearchType.Notion, user)
242
+ background_tasks.add_task(run_in_executor, configure_content, user, {}, False, SearchType.Notion)
243
243
 
244
244
  update_telemetry_state(
245
245
  request=request,
@@ -512,10 +512,10 @@ async def indexer(
512
512
  success = await loop.run_in_executor(
513
513
  None,
514
514
  configure_content,
515
+ user,
515
516
  indexer_input.model_dump(),
516
517
  regenerate,
517
518
  t,
518
- user,
519
519
  )
520
520
  if not success:
521
521
  raise RuntimeError(f"Failed to {method} {t} data sent by {client} client into content index")
khoj/routers/helpers.py CHANGED
@@ -703,7 +703,7 @@ async def generate_summary_from_files(
703
703
  if await EntryAdapters.aagent_has_entries(agent):
704
704
  file_names = await EntryAdapters.aget_agent_entry_filepaths(agent)
705
705
  if len(file_names) > 0:
706
- file_objects = await FileObjectAdapters.async_get_file_objects_by_name(None, file_names.pop(), agent)
706
+ file_objects = await FileObjectAdapters.aget_file_objects_by_name(None, file_names.pop(), agent)
707
707
 
708
708
  if (file_objects and len(file_objects) == 0 and not query_files) or (not file_objects and not query_files):
709
709
  response_log = "Sorry, I couldn't find anything to summarize."
@@ -1975,10 +1975,10 @@ def get_user_config(user: KhojUser, request: Request, is_detailed: bool = False)
1975
1975
 
1976
1976
 
1977
1977
  def configure_content(
1978
+ user: KhojUser,
1978
1979
  files: Optional[dict[str, dict[str, str]]],
1979
1980
  regenerate: bool = False,
1980
1981
  t: Optional[state.SearchType] = state.SearchType.All,
1981
- user: KhojUser = None,
1982
1982
  ) -> bool:
1983
1983
  success = True
1984
1984
  if t == None:
khoj/routers/notion.py CHANGED
@@ -80,6 +80,6 @@ async def notion_auth_callback(request: Request, background_tasks: BackgroundTas
80
80
  notion_redirect = str(request.app.url_path_for("config_page"))
81
81
 
82
82
  # Trigger an async job to configure_content. Let it run without blocking the response.
83
- background_tasks.add_task(run_in_executor, configure_content, {}, False, SearchType.Notion, user)
83
+ background_tasks.add_task(run_in_executor, configure_content, user, {}, False, SearchType.Notion)
84
84
 
85
85
  return RedirectResponse(notion_redirect)
@@ -208,7 +208,7 @@ def setup(
208
208
  text_to_entries: Type[TextToEntries],
209
209
  files: dict[str, str],
210
210
  regenerate: bool,
211
- user: KhojUser = None,
211
+ user: KhojUser,
212
212
  config=None,
213
213
  ) -> Tuple[int, int]:
214
214
  if config:
khoj/utils/fs_syncer.py CHANGED
@@ -8,6 +8,7 @@ from bs4 import BeautifulSoup
8
8
  from magika import Magika
9
9
 
10
10
  from khoj.database.models import (
11
+ KhojUser,
11
12
  LocalMarkdownConfig,
12
13
  LocalOrgConfig,
13
14
  LocalPdfConfig,
@@ -21,7 +22,7 @@ logger = logging.getLogger(__name__)
21
22
  magika = Magika()
22
23
 
23
24
 
24
- def collect_files(search_type: Optional[SearchType] = SearchType.All, user=None) -> dict:
25
+ def collect_files(user: KhojUser, search_type: Optional[SearchType] = SearchType.All) -> dict:
25
26
  files: dict[str, dict] = {"docx": {}, "image": {}}
26
27
 
27
28
  if search_type == SearchType.All or search_type == SearchType.Org:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: khoj
3
- Version: 1.28.4.dev72
3
+ Version: 1.28.4.dev76
4
4
  Summary: Your Second Brain
5
5
  Project-URL: Homepage, https://khoj.dev
6
6
  Project-URL: Documentation, https://docs.khoj.dev
@@ -1,5 +1,5 @@
1
1
  khoj/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- khoj/configure.py,sha256=mOagLV6APR2GfTtIopuHinFCO_NcJZe54dz9xpE2K6c,17324
2
+ khoj/configure.py,sha256=UpbSbCqMHzujVA5f4pxDG8XGlnfru7zDIFgqtXZQw_s,17212
3
3
  khoj/main.py,sha256=9YMJEaKlVin5hxU0TcVH5X1CP6wX9HE8Z7qWSxNGPd0,8161
4
4
  khoj/manage.py,sha256=njo6uLxGaMamTPesHjFEOIBJbpIUrz39e1V59zKj544,664
5
5
  khoj/app/README.md,sha256=PSQjKCdpU2hgszLVF8yEhV7TWhbEEb-1aYLTRuuAsKI,2832
@@ -11,7 +11,7 @@ khoj/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  khoj/database/admin.py,sha256=Tmvcc4f3HECgxtynIs9ISkjapvu9hsPaStugzVoCmyE,9640
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=2L0-2uTwqcqYJyQhW882tFyJWmcz9vGdrzxVyanzrK0,67241
14
+ khoj/database/adapters/__init__.py,sha256=gv2SNrTpJvW1cPzFwSSY7qF7DYYXY1bWWxi-A141nkM,69020
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_default_model.py,sha256=HkFQOI-2rFjlu7YiulyRcTrITzSzXmY4WiV2hBmml0w,5209
@@ -110,17 +110,15 @@ khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvt
110
110
  khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
111
111
  khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
112
112
  khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
113
- khoj/interface/compiled/index.html,sha256=LEhV85FC8E2mUDxvlZWVj1KkH619m6OPHXBgkghYIdc,12156
114
- khoj/interface/compiled/index.txt,sha256=BqTOGnVyIDI97pr2Pr8YNZbTbvPTaZsRJ6hBEuuoVVk,5611
113
+ khoj/interface/compiled/index.html,sha256=0rWeYAvV5lOdGLUU3Cyc5de0NJpsbP5xxEWpPojd_nM,12156
114
+ khoj/interface/compiled/index.txt,sha256=VnUfROnB_XVv1v6IqZPWw281m4msd1nFedkFsByeI5g,5611
115
115
  khoj/interface/compiled/khoj.webmanifest,sha256=lsknYkvEdMbRTOUYKXPM_8krN2gamJmM4u3qj8u9lrU,1682
116
116
  khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
117
117
  khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
118
118
  khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
119
119
  khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
120
120
  khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
121
- khoj/interface/compiled/404/index.html,sha256=lgI9TtA794IK6kzVDMFjZQRy2Tr6dcYh6d2no2TcjKY,12023
122
- khoj/interface/compiled/_next/static/3RbVsXsK7UMQenlE7W2Dh/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
123
- khoj/interface/compiled/_next/static/3RbVsXsK7UMQenlE7W2Dh/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
121
+ khoj/interface/compiled/404/index.html,sha256=Lvs00GibsLWoJNLNeGjnkipOztnguZm1Ja3xcEXpxdg,12023
124
122
  khoj/interface/compiled/_next/static/chunks/1210.132a7e1910006bbb.js,sha256=2dJueIfOg5qlQdanOM9HrgwcfrUXCD57bfd8Iv7iJcU,2104
125
123
  khoj/interface/compiled/_next/static/chunks/1279-f37ee4a388ebf544.js,sha256=U_1WaocOdgJ4HZB8tRx_izzYGD1EZlCohC1uLCffCWc,45582
126
124
  khoj/interface/compiled/_next/static/chunks/1459.690bf20e7d7b7090.js,sha256=z-ruZPxF_Z3ef_WOThd9Ox36AMhxaW3znizVivNnA34,34239
@@ -149,31 +147,31 @@ khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js,sha256
149
147
  khoj/interface/compiled/_next/static/chunks/main-1ea5c2e0fdef4626.js,sha256=8_u87PGI3PahFbDfGWGvpD-a18J7X7ChUqWIeqxVq7g,111061
150
148
  khoj/interface/compiled/_next/static/chunks/main-app-6d6ee3495efe03d4.js,sha256=i52E7sWOcSq1G8eYZL3mtTxbUbwRNxcAbSWQ6uWpMsY,475
151
149
  khoj/interface/compiled/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
152
- khoj/interface/compiled/_next/static/chunks/webpack-63a7b969d34e6698.js,sha256=YXsRBGMWN01ciOv4OadI11jh51dox7cDDgR34p6NGfs,4054
150
+ khoj/interface/compiled/_next/static/chunks/webpack-d37377886a1b4e56.js,sha256=uZx5Rho2ddFBfyZSvMYSu3v0CVZ6bZaB5oKzHGSvIbE,4054
153
151
  khoj/interface/compiled/_next/static/chunks/app/layout-86561d2fac35a91a.js,sha256=2EWsyKE2kcC5uDvsOtgG5OP0hHCX8sCph4NqhUU2rCg,442
154
- khoj/interface/compiled/_next/static/chunks/app/page-c33ebe19a3b7b0b2.js,sha256=kcq8-Zi13bY08YXwrrodHMkcIo3NpqietdK1_aK31fM,29576
152
+ khoj/interface/compiled/_next/static/chunks/app/page-5c06dadacb1b5945.js,sha256=RLPwyO_U0zAfZDJ3rCHC9SViS6cdKeKs8qVzsLxahfg,29576
155
153
  khoj/interface/compiled/_next/static/chunks/app/_not-found/page-07ff4ab42b07845e.js,sha256=3mCUnxfMxyK44eqk21TVBrC6u--WSbvx31fTmQuOvMQ,1755
156
154
  khoj/interface/compiled/_next/static/chunks/app/agents/layout-e9838b642913a071.js,sha256=w3vWDf7m2_VG7q98_KGAWbCO06RI7iqFYsb4nDqGUDw,372
157
- khoj/interface/compiled/_next/static/chunks/app/agents/page-4353b1a532795ad1.js,sha256=VYSOSTRUsJQxg-C2ntEbHW5Fwm_a5k1e79bUYlcZBa0,11755
155
+ khoj/interface/compiled/_next/static/chunks/app/agents/page-ee4f0da14df15091.js,sha256=uqFdU7KMW0ZqRQySoGhRNXTHvodXxMC34a1zhr47vVs,11750
158
156
  khoj/interface/compiled/_next/static/chunks/app/automations/layout-27c28e923c9b1ff0.js,sha256=d2vJ_lVB0pfeFXNUPzHAe1ca5NzdNowHPh___SPqugM,5143
159
- khoj/interface/compiled/_next/static/chunks/app/automations/page-c9f13c865e739607.js,sha256=hkZk61Vrde0LIL4KPqnm_u2pd_LPzvt-f6Z0hkq8FCs,35344
157
+ khoj/interface/compiled/_next/static/chunks/app/automations/page-da59a2b9ec07da16.js,sha256=R7auC6hEUsXt6aysFhuyAEcGGUaZ4QOnLxxc8XdDSbc,35349
160
158
  khoj/interface/compiled/_next/static/chunks/app/chat/layout-b0e7ff4baa3b5265.js,sha256=a-Qv2nHUrCa1gIs4Qo5txnOlhhQessAdcnAhhjaN3ag,374
161
- khoj/interface/compiled/_next/static/chunks/app/chat/page-97876b3bd3c5e69d.js,sha256=Nbc7HZrmixqdnTPfQVN-b1iMzzpaNpjc-EMSDlwRCnA,6632
159
+ khoj/interface/compiled/_next/static/chunks/app/chat/page-04313ed6d8f38904.js,sha256=EQq99vTkZL3G_By-CgEM-O1oFlTiV-UAsPiK91II9bE,6632
162
160
  khoj/interface/compiled/_next/static/chunks/app/search/layout-ea6b73fdaf9b24ca.js,sha256=mBgNUjaTBNgIKOpZj722mh1ojg1CNIYRBPiupStSS6s,165
163
- khoj/interface/compiled/_next/static/chunks/app/search/page-8e28deacb61f75aa.js,sha256=A3klMSdb4sxIAuHZ8NdbYgzc_WXhzIPFACF-D4CRino,6958
161
+ khoj/interface/compiled/_next/static/chunks/app/search/page-4f44549ba3807021.js,sha256=3O3gUM_ALtxAqNVAwQ9X_FDedXFYEcNWEqndayZeTBY,6958
164
162
  khoj/interface/compiled/_next/static/chunks/app/settings/layout-254eaaf916449a60.js,sha256=kHAKleDbNFfhNM3e1WLJm3OFw6PDtGcjyj5toO24vps,5347
165
- khoj/interface/compiled/_next/static/chunks/app/settings/page-2fab613a557d3cc5.js,sha256=G_DVPh2mV5Yd7UIdKwo0VZFOZuSGd-C1FEANccTg12o,32201
163
+ khoj/interface/compiled/_next/static/chunks/app/settings/page-88dbd5c184dcd1e3.js,sha256=c2NLtAOlRpDSeaeU057OwFg0mOCDLJoCYqsL4B0F8pA,32201
166
164
  khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-cf7445cf0326bda3.js,sha256=W3axh1K4y-pLSXcXogLl4qLKXr5BZLY1uA7JfSWp5TU,373
167
- khoj/interface/compiled/_next/static/chunks/app/share/chat/page-3ee3da7e8dfe3572.js,sha256=dK74NZELIX9uLTa_cUQG03_-AWkN7wnpT0IXaXwfQr8,4351
165
+ khoj/interface/compiled/_next/static/chunks/app/share/chat/page-9257e8817dcd6af3.js,sha256=ShEiJcwodrpx6js-E7NxdEtSppZoDsSgUGHa5BL3FmM,4351
168
166
  khoj/interface/compiled/_next/static/chunks/pages/_app-f870474a17b7f2fd.js,sha256=eqdFPAN_XFyMUzZ9qwFk-_rhMWZrU7lgNVt1foVUANo,286
169
167
  khoj/interface/compiled/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
170
168
  khoj/interface/compiled/_next/static/css/0e9d53dcd7f11342.css,sha256=52_LSJ59Vwm1p2UpcDXEvq99pTjz2sW4EjF5iKf-dzs,2622
171
169
  khoj/interface/compiled/_next/static/css/1f293605f2871853.css,sha256=G2b3Wx4e0DRBWSdNU20ivCChZI5HBzvPYUVVIdTRjLc,26590
172
- khoj/interface/compiled/_next/static/css/23f801d22927d568.css,sha256=vVeNg0xTNJbdrtpZNuFCvNJPW5An06hr7i2M6yDXjK4,8449
173
170
  khoj/interface/compiled/_next/static/css/3cf13271869a4aeb.css,sha256=sGjJTeMeN6wbQF4OCPgWYgJmSLLSHyzIH2rSVstWx7k,1857
174
- khoj/interface/compiled/_next/static/css/592ca99f5122e75a.css,sha256=BSqRkeb9vBh0phx5GkAlZirTFZintbyggGaUkuOBfaU,914
171
+ khoj/interface/compiled/_next/static/css/4cae6c0e5c72fb2d.css,sha256=3CjTMmtMrm_MYt1ywtUh2MHEjSLSl356SQLl4hdBuYw,534
175
172
  khoj/interface/compiled/_next/static/css/5a400c87d295e68a.css,sha256=ojDUPJ9fJpEo9DzTAsEa-k1cg7Bef-nSTfpszMiqknQ,17711
176
173
  khoj/interface/compiled/_next/static/css/80bd6301fc657983.css,sha256=T7_aQHcWpQBQLKadauHNzjYGw713FtRNTlUqmJjsL6I,1634
174
+ khoj/interface/compiled/_next/static/css/9d45de78fba367c1.css,sha256=TGW4CbYNGAfDm8sAwMbO2zxxIdxxKJq5fhxVpHgRW0E,8829
177
175
  khoj/interface/compiled/_next/static/css/af0f36f71f368260.css,sha256=Mje17fTElmqXbWAHiLvEnQAdY2YNCScR2wu9P6qEJKc,3055746
178
176
  khoj/interface/compiled/_next/static/media/5455839c73f146e7-s.p.woff2,sha256=BUeNjYxyX7Bu76aNlJrZtW3PwYgcH-kp8syFdODZoyc,35788
179
177
  khoj/interface/compiled/_next/static/media/5984b96ba4822821-s.woff2,sha256=RFrf6fMTduuQwEe78qK6_Y_Mnj97HmRDG-VujYxwA90,99368
@@ -247,8 +245,10 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
247
245
  khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
248
246
  khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
249
247
  khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
250
- khoj/interface/compiled/agents/index.html,sha256=YYPcAcrlAJ7aITnlX46YNvoEApGd2eMYn07QAXRBD5o,12966
251
- khoj/interface/compiled/agents/index.txt,sha256=1yivYd9jRNpjmcIDViHeF14L-SMcCPj40en45ulmVMM,6178
248
+ khoj/interface/compiled/_next/static/o-l9xN70-eH1BC65S0umF/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
249
+ khoj/interface/compiled/_next/static/o-l9xN70-eH1BC65S0umF/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
250
+ khoj/interface/compiled/agents/index.html,sha256=KBJG_KP4KG-R24aDOZvzF8C7Q0pZGnuVcw31AXM06Yk,12658
251
+ khoj/interface/compiled/agents/index.txt,sha256=tRlYvojPnStVnFGzpkb3vKKBWlqGMNDin_-99q2ZXYo,6045
252
252
  khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
253
253
  khoj/interface/compiled/assets/icons/khoj_lantern_128x128.png,sha256=aTxivDb3CYyThkVZWz8A19xl_dNut5DbkXhODWF3A9Q,5640
254
254
  khoj/interface/compiled/assets/icons/khoj_lantern_256x256.png,sha256=xPCMLHiaL7lYOdQLZrKwWE-Qjn5ZaysSZB0ScYv4UZU,12312
@@ -259,16 +259,16 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
259
259
  khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
260
260
  khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
261
261
  khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
262
- khoj/interface/compiled/automations/index.html,sha256=8tZVeFj4wK2FpnOY-kabMVYgvcurNEATvMbvHlTTG4Y,30633
263
- khoj/interface/compiled/automations/index.txt,sha256=BqZELMGw01WZCVOEb47I_bhS-a7xdsq3Pe8FA_aXN7s,5500
264
- khoj/interface/compiled/chat/index.html,sha256=fo2fuZwb-2mPdAC5vqrlvE8tmBNfoIwgFuc6qFcBkWg,13860
265
- khoj/interface/compiled/chat/index.txt,sha256=n2YrGKS3RaEyHLpgnLcKqDhzgbZPeMVWjY4z5oUkbYs,6590
266
- khoj/interface/compiled/search/index.html,sha256=q9Ek71kgmlEYVzrniAim0LA1aDcHUfdA0enxD_ob5xg,30161
267
- khoj/interface/compiled/search/index.txt,sha256=SQKcjoro7wHN6MC5ltHp8RcB24CtSVGmYLe6YXXVy8A,5256
268
- khoj/interface/compiled/settings/index.html,sha256=-PLAZ5xn4Z7MQanMhRWsuAYYDD2FnAbsTtW01CsQJ9U,12831
269
- khoj/interface/compiled/settings/index.txt,sha256=xnFpHWih1RK-hgB_nPGw_k82cZdTUqSS7aziwrhnrm4,6078
270
- khoj/interface/compiled/share/chat/index.html,sha256=OGWpIL1XXZc-kBnQsljWdPpqL1NUOgYLgmMrUJt-MH8,15157
271
- khoj/interface/compiled/share/chat/index.txt,sha256=0y6clMtDwFYwYsrgz8mXSay-AIcQbAVny-zyjgfdjO4,7387
262
+ khoj/interface/compiled/automations/index.html,sha256=HTzJlI7PL4LTQrgfq_Qg2MJ1mEm94i1mRBqbUlmw-nU,30941
263
+ khoj/interface/compiled/automations/index.txt,sha256=sRI9RY2V_5rJ22Q97D6kpnJZBlMA6k1pF-xL5sUmHoo,5633
264
+ khoj/interface/compiled/chat/index.html,sha256=--jm0lP8AHSWS7AmHDjMAulTUXu2V1FgQuZdOutrwuI,13860
265
+ khoj/interface/compiled/chat/index.txt,sha256=MevOIwKFxpsL0EO6SnWBY0wTkk1gAUfjJnKXfHQ5ZIw,6590
266
+ khoj/interface/compiled/search/index.html,sha256=7cJvvpV2BuzHzbC9OJpqGEYvyOMCIt0iJH2OpOMFmmI,30161
267
+ khoj/interface/compiled/search/index.txt,sha256=WXrwiH0kKTvAoo_IWVjKjUn79-rIqGWp0llOC2vegHU,5256
268
+ khoj/interface/compiled/settings/index.html,sha256=ZWRxvxh7CGujv9v-SpP7zABHOUHTK8Rz5yIum6VVTh0,12831
269
+ khoj/interface/compiled/settings/index.txt,sha256=3UVhAASA5lyLrV7REofMyyNul6mTtS33O5_D4iRmU58,6078
270
+ khoj/interface/compiled/share/chat/index.html,sha256=VzOBwSlkUpeSqK7t0m9zbaUGuXnqXBfPUL76jmx_SOQ,15157
271
+ khoj/interface/compiled/share/chat/index.txt,sha256=rtQZnct1rppEqwoU-tHaFjeJBVV9adZMVNft8f4S9b0,7387
272
272
  khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
273
273
  khoj/interface/email/magic_link.html,sha256=EoGKQucfPj3xQrWXhSZAzPFOYCHF_ZX94TWCd1XHl1M,941
274
274
  khoj/interface/email/task.html,sha256=tY7a0gzVeQ2lSQNu7WyXR_s7VYeWTrxWEj1iHVuoVE4,2813
@@ -302,23 +302,23 @@ khoj/migrations/migrate_version.py,sha256=6CTsLuxiLnFVF8A7CjsIz3PcnJd8fAOZeIx6tT
302
302
  khoj/processor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
303
303
  khoj/processor/embeddings.py,sha256=jGLLXkenvCxWEeFqw3g5YpX08hy2wgSZKvPC4BGD7Og,5527
304
304
  khoj/processor/content/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
305
- khoj/processor/content/text_to_entries.py,sha256=mobsDnva4OVKVe1607dSPDOvB5MXqwtbNPeLQE5kaCM,14561
305
+ khoj/processor/content/text_to_entries.py,sha256=HL7o2g8OyS5QJEm0C6F4Jebj0MPAa8CCYFg8XUb6mrc,14540
306
306
  khoj/processor/content/docx/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
307
- khoj/processor/content/docx/docx_to_entries.py,sha256=TRwChDj_mwXcL4LRXVPyMn32fg4y6NEnshIiO2ZeNXg,4580
307
+ khoj/processor/content/docx/docx_to_entries.py,sha256=OiO_Q1EudlOGqUpWCV9BseSjWZjrR4plk63a6ZPeC-4,4566
308
308
  khoj/processor/content/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
309
- khoj/processor/content/github/github_to_entries.py,sha256=SfgXJi59LvFldnRLC5dJ3tUhM5vym-ZrbUovh1G42LQ,9887
309
+ khoj/processor/content/github/github_to_entries.py,sha256=25RberAd38W0h70SOwFLzCWTMrfF6V-YTptFMKYoMN0,9868
310
310
  khoj/processor/content/images/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
311
- khoj/processor/content/images/image_to_entries.py,sha256=zv71SpXlHmMbdJsDw6mEgwQITNWlr3nd_VRj0CH2rm8,5120
311
+ khoj/processor/content/images/image_to_entries.py,sha256=Ne0pOWvJm_zxKYjquovo8EchumaVYKYgEjY-_uC4w6w,5106
312
312
  khoj/processor/content/markdown/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
313
- khoj/processor/content/markdown/markdown_to_entries.py,sha256=3ZXkJtehcVcMrNY6V4p-8i53zDIIsiVGQg-AMtD_U1U,7076
314
- khoj/processor/content/notion/notion_to_entries.py,sha256=aFu41uynXTDU5TjXJhGpE6kYNDzXTB98NX3ruJUomRY,9858
313
+ khoj/processor/content/markdown/markdown_to_entries.py,sha256=MshR6XQGSN1O-aHgVrr4b4M91csfoI5XwZfYhenkw84,7062
314
+ khoj/processor/content/notion/notion_to_entries.py,sha256=hC8u826szKgrtsc2ibdr7EqmBo7OQQ1a2oCKGsejVVk,9839
315
315
  khoj/processor/content/org_mode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
316
- khoj/processor/content/org_mode/org_to_entries.py,sha256=UYlCJRaNwwuf9LobiprVSGECOOyNV0q3R1kVnmOdvE8,10251
316
+ khoj/processor/content/org_mode/org_to_entries.py,sha256=KQBn792yM9fsfaFu8FFoxk1PwYR-lmA07RUXEJQFkHs,10237
317
317
  khoj/processor/content/org_mode/orgnode.py,sha256=DlHZICxbCRxqGxA_osYf1faxslxpSuIqbHco8oxAKKM,18478
318
318
  khoj/processor/content/pdf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
319
- khoj/processor/content/pdf/pdf_to_entries.py,sha256=PfaZfyhMqr-TwhD7cgloWo-IsqUUOeng9vIDFubpEjs,4930
319
+ khoj/processor/content/pdf/pdf_to_entries.py,sha256=ZR-4Z22NcRi_AjUEV7Cv_S6sT3WYQbj9gyZIFMlz5W4,4916
320
320
  khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
321
- khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=97i7Cm0DTY7jW4iqKOT_oVc2ooa_XhQ8iImsljp1Kek,4994
321
+ khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=wFZwK_zIc7gWbRtO9sOHo9KvfhGAzL9psX_nKWYFduo,4975
322
322
  khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
323
323
  khoj/processor/conversation/prompts.py,sha256=0ocq9XokhvzAzK3XghVSfhhTDwWINMp3YRhhfD7Op_k,48555
324
324
  khoj/processor/conversation/utils.py,sha256=I-tjKQy97nAlOaz10GYKhG7eXIweMDC2fMErMpiFsAM,27592
@@ -343,17 +343,17 @@ khoj/processor/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
343
343
  khoj/processor/tools/online_search.py,sha256=uxwtvKReGEW1XhkeToi7XB_oZ301DIcnD7Wr3xojuM4,16307
344
344
  khoj/processor/tools/run_code.py,sha256=wdGRdQqoxqM84baUmUkinQoLBK5xKJ_AZoeL2vddMlc,4971
345
345
  khoj/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
346
- khoj/routers/api.py,sha256=nZLGINg7tnRrBa9uEHpgvILAmEdH-X1QWm5vXSqX5HE,28489
346
+ khoj/routers/api.py,sha256=_AI1pnQMQM75L6WVZSAVfvrk04pLEdLbHA0fkyxnUbo,28489
347
347
  khoj/routers/api_agents.py,sha256=vHPruCjlQxGBdm0lcmymEb9-aAELqbOplqh21WwD0DQ,9699
348
348
  khoj/routers/api_chat.py,sha256=CBb-mqEO761BQH9qDAJe48MuQKM_u8JZgSUBjeVlALA,48416
349
- khoj/routers/api_content.py,sha256=ezSiM3scThpsBFq8Lykwh_aGW6zk5g7Gd8NBgRr3Ub0,20544
349
+ khoj/routers/api_content.py,sha256=10dw55vesCsuci577OCYgYylWgmIDA45Iax1ZQ8dnGI,20544
350
350
  khoj/routers/api_model.py,sha256=KDsxNwHspC94eTcv6l3ehr773EOvgc670UnZLE1WZ4o,3642
351
351
  khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,2208
352
352
  khoj/routers/api_subscription.py,sha256=sR5_XxQ4e_1hk3K4g0i3S8PZeULP23lnGtrWnfjhNDI,5307
353
353
  khoj/routers/auth.py,sha256=HO54PR-BkWA_iJIktEobUrObcXVYG-00jpnIcEVdR5s,6564
354
354
  khoj/routers/email.py,sha256=SGYNPQvfcvYeHf70F0YqpY0FLMRElF2ZekROXdwGI18,3821
355
- khoj/routers/helpers.py,sha256=60_W-CndVqJWjj6aHPxlWx1YlMIm1nazCSN6TdZo1EQ,82231
356
- khoj/routers/notion.py,sha256=Lp67xP9rVgpAF9BQoGTjZFcVdF1HYtvPP0kjq6uurKU,2802
355
+ khoj/routers/helpers.py,sha256=EBF5oop-PfESuvhRqtg3bffbuiKdBDZys1bcSNEf4lY,82219
356
+ khoj/routers/notion.py,sha256=g53xyYFmjr2JnuIrTW2vytbfkiK_UkoRTxqnnLSmD5o,2802
357
357
  khoj/routers/research.py,sha256=e_p2Rj9ypryCdgCb9fhNldzf57gWQN99eDy1aOTk1yU,15675
358
358
  khoj/routers/storage.py,sha256=tJrwhFRVWv0MHv7V7huMc1Diwm-putZSwnZXJ3tqT_c,2338
359
359
  khoj/routers/twilio.py,sha256=MLsuCm4--ETvr3sLxbF0CL_ehlg_l2rKBSLR2Qh2Xls,1081
@@ -364,12 +364,12 @@ khoj/search_filter/date_filter.py,sha256=7MCXyeDy9TGG81IesLrgV7vnTUDXWe8xj8NeeES
364
364
  khoj/search_filter/file_filter.py,sha256=H47C8yoVMiSub8VWu8wHerlIq-PffFnB08Nm2OJyBE8,1146
365
365
  khoj/search_filter/word_filter.py,sha256=5Yx95aSiqGke9kEIbp8T-Ak4dS9cTd3VxI1SaJoK1wY,1005
366
366
  khoj/search_type/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
367
- khoj/search_type/text_search.py,sha256=aDoRdwlREh1G0J-PZZUPhfL0arHP8f-g1DZDlT117qE,9450
367
+ khoj/search_type/text_search.py,sha256=PZzJVCXpeBM795SIqiAKXAxgnCp1NIRiVikm040r1b0,9443
368
368
  khoj/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
369
369
  khoj/utils/cli.py,sha256=AgO3rO-bN5oI71sIReGxrJXPeXEH80fnCIsyVlZYgjI,3695
370
370
  khoj/utils/config.py,sha256=aiOkH0je8A30DAGYTHMRePrgJonFv_i07_7CdhhhcdA,1805
371
371
  khoj/utils/constants.py,sha256=UwE7U9bNsfeqTb0K2lcdXdAscM4-7uuVoR3KbZS03Pg,1216
372
- khoj/utils/fs_syncer.py,sha256=bQgcbYYC3x11RyCqI_kUzzqGpcKTodGgdT-3OTQsXqw,9977
372
+ khoj/utils/fs_syncer.py,sha256=5nqwAZqRk3Nwhkwd8y4IomTPZQmW32GwAqyMzal5KyY,9996
373
373
  khoj/utils/helpers.py,sha256=3UHNiamfVQwaXgcvMqoNlRK1mlW9R-UYFiVovElvKWg,19956
374
374
  khoj/utils/initialization.py,sha256=TjA2ZImYKI-J1tEBE_0TaOLnVQidVV5GDEFBOPq8aik,10048
375
375
  khoj/utils/jsonl.py,sha256=0Ac_COqr8sLCXntzZtquxuCEVRM2c3yKeDRGhgOBRpQ,1192
@@ -377,8 +377,8 @@ khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
377
377
  khoj/utils/rawconfig.py,sha256=bQ_MGbBzYt6ZUIsHUwZjaHKDLh6GQ7h-sENkv3fyVbQ,5028
378
378
  khoj/utils/state.py,sha256=x4GTewP1YhOA6c_32N4wOjnV-3AA3xG_qbY1-wC2Uxc,1559
379
379
  khoj/utils/yaml.py,sha256=qy1Tkc61rDMesBw_Cyx2vOR6H-Hngcsm5kYfjwQBwkE,1543
380
- khoj-1.28.4.dev72.dist-info/METADATA,sha256=kwN6ZPO_ZhjvwR8VAV_mgsT-6hzqYwyG26xufbOkcmE,7093
381
- khoj-1.28.4.dev72.dist-info/WHEEL,sha256=3U_NnUcV_1B1kPkYaPzN-irRckL5VW_lytn0ytO_kRY,87
382
- khoj-1.28.4.dev72.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
383
- khoj-1.28.4.dev72.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
384
- khoj-1.28.4.dev72.dist-info/RECORD,,
380
+ khoj-1.28.4.dev76.dist-info/METADATA,sha256=4199wC_md7svNqENkAjlGUDZEnxLf9rjSFZWFF_kbRY,7093
381
+ khoj-1.28.4.dev76.dist-info/WHEEL,sha256=3U_NnUcV_1B1kPkYaPzN-irRckL5VW_lytn0ytO_kRY,87
382
+ khoj-1.28.4.dev76.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
383
+ khoj-1.28.4.dev76.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
384
+ khoj-1.28.4.dev76.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- div.automations_automationsLayout__Atoh_{display:grid;grid-template-columns:1fr 1fr;gap:1rem}div.automations_automationCard__BKidA{display:grid;grid-template-rows:auto 1fr auto}div.automations_pageLayout__OaoYA{max-width:60vw;margin:auto auto 2rem}div.automations_sidePanel__MPciO{position:fixed;height:100%;z-index:1}@media screen and (max-width:768px){div.automations_automationsLayout__Atoh_{grid-template-columns:1fr}div.automations_pageLayout__OaoYA{max-width:90vw}div.automations_sidePanel__MPciO{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_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.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%}}
@@ -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%}}