khoj 1.32.3.dev34__py3-none-any.whl → 1.32.3.dev61__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 (63) hide show
  1. khoj/database/adapters/__init__.py +14 -1
  2. khoj/interface/compiled/404/index.html +1 -1
  3. khoj/interface/compiled/_next/static/chunks/1010-8f39bb4648b5ba10.js +1 -0
  4. khoj/interface/compiled/_next/static/chunks/4124-f5c857c57e5391d9.js +1 -0
  5. khoj/interface/compiled/_next/static/chunks/5427-b52d95253e692bfa.js +1 -0
  6. khoj/interface/compiled/_next/static/chunks/5477-0bbddb79c25a54a7.js +1 -0
  7. khoj/interface/compiled/_next/static/chunks/{3175-b2e522f8ca392f7e.js → 6293-469dd16402ea8a6f.js} +2 -2
  8. khoj/interface/compiled/_next/static/chunks/app/agents/layout-e49165209d2e406c.js +1 -0
  9. khoj/interface/compiled/_next/static/chunks/app/agents/page-f6f93b8b4457f1f7.js +1 -0
  10. khoj/interface/compiled/_next/static/chunks/app/automations/page-e8f13a995ae7f2fa.js +1 -0
  11. khoj/interface/compiled/_next/static/chunks/app/chat/{page-a0b61f10b0bf6dd5.js → page-4645a696ec970a94.js} +1 -1
  12. khoj/interface/compiled/_next/static/chunks/app/page-8ebd7e62c0542aa1.js +1 -0
  13. khoj/interface/compiled/_next/static/chunks/app/settings/page-1bf10e8d882533b6.js +1 -0
  14. khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-6fb51c5c80f8ec67.js +1 -0
  15. khoj/interface/compiled/_next/static/chunks/app/share/chat/{page-02dc1f2e2a41e522.js → page-3067638b97048e5f.js} +1 -1
  16. khoj/interface/compiled/_next/static/chunks/webpack-4f582c9505ac1fb8.js +1 -0
  17. khoj/interface/compiled/_next/static/css/307dd5243338dfd8.css +1 -0
  18. khoj/interface/compiled/_next/static/css/{c3acbadc30537d04.css → 4e4e6a4a1c920d06.css} +1 -1
  19. khoj/interface/compiled/_next/static/css/5dd9bb87a50b706e.css +25 -0
  20. khoj/interface/compiled/agents/index.html +1 -1
  21. khoj/interface/compiled/agents/index.txt +2 -2
  22. khoj/interface/compiled/automations/index.html +1 -1
  23. khoj/interface/compiled/automations/index.txt +3 -3
  24. khoj/interface/compiled/chat/index.html +1 -1
  25. khoj/interface/compiled/chat/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 +4 -4
  32. khoj/interface/compiled/share/chat/index.html +1 -1
  33. khoj/interface/compiled/share/chat/index.txt +2 -2
  34. khoj/processor/conversation/prompts.py +37 -17
  35. khoj/routers/api.py +23 -20
  36. khoj/routers/auth.py +32 -14
  37. khoj/routers/helpers.py +129 -14
  38. {khoj-1.32.3.dev34.dist-info → khoj-1.32.3.dev61.dist-info}/METADATA +1 -1
  39. {khoj-1.32.3.dev34.dist-info → khoj-1.32.3.dev61.dist-info}/RECORD +50 -50
  40. khoj/interface/compiled/_next/static/chunks/4124-0baa32400521e909.js +0 -1
  41. khoj/interface/compiled/_next/static/chunks/4357-03ea130575287c27.js +0 -1
  42. khoj/interface/compiled/_next/static/chunks/5427-3e7360c8e6ac9728.js +0 -1
  43. khoj/interface/compiled/_next/static/chunks/5477-c5d7eabee28a789a.js +0 -1
  44. khoj/interface/compiled/_next/static/chunks/app/agents/layout-e00fb81dca656a10.js +0 -1
  45. khoj/interface/compiled/_next/static/chunks/app/agents/page-ab5ebe4efba9b582.js +0 -1
  46. khoj/interface/compiled/_next/static/chunks/app/automations/page-37d56a7bbfd307df.js +0 -1
  47. khoj/interface/compiled/_next/static/chunks/app/page-33a3375b1414d1bd.js +0 -1
  48. khoj/interface/compiled/_next/static/chunks/app/settings/page-430db6215e48aea2.js +0 -1
  49. khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-e8e5db7830bf3f47.js +0 -1
  50. khoj/interface/compiled/_next/static/chunks/webpack-b0a1b08bb62bdc15.js +0 -1
  51. khoj/interface/compiled/_next/static/css/0f04760e76bba6c1.css +0 -25
  52. khoj/interface/compiled/_next/static/css/e546bf5cc4914244.css +0 -1
  53. /khoj/interface/compiled/_next/static/chunks/{182-8cd8b17d40e6e989.js → 182-f1c48a203dc91e0e.js} +0 -0
  54. /khoj/interface/compiled/_next/static/chunks/{1915-605f698f2573cfd4.js → 1915-d3c36ad6ce697ce7.js} +0 -0
  55. /khoj/interface/compiled/_next/static/chunks/{2117-9886e6a0232dc093.js → 2117-165ef4747a5b836b.js} +0 -0
  56. /khoj/interface/compiled/_next/static/chunks/{8667-d3e5bc726e4ff4e3.js → 8667-b6bf63c72b2d76eb.js} +0 -0
  57. /khoj/interface/compiled/_next/static/chunks/{9259-27d1ff42af9a43e0.js → 9259-1172dbaca0515237.js} +0 -0
  58. /khoj/interface/compiled/_next/static/chunks/{9665-1ab5c8c667b74dca.js → 9665-391df1e5c51c960a.js} +0 -0
  59. /khoj/interface/compiled/_next/static/{mqcIHpVqVWkmBuN0npYHA → iX3n9kOMMR5_Xg2yB-YVv}/_buildManifest.js +0 -0
  60. /khoj/interface/compiled/_next/static/{mqcIHpVqVWkmBuN0npYHA → iX3n9kOMMR5_Xg2yB-YVv}/_ssgManifest.js +0 -0
  61. {khoj-1.32.3.dev34.dist-info → khoj-1.32.3.dev61.dist-info}/WHEEL +0 -0
  62. {khoj-1.32.3.dev34.dist-info → khoj-1.32.3.dev61.dist-info}/entry_points.txt +0 -0
  63. {khoj-1.32.3.dev34.dist-info → khoj-1.32.3.dev61.dist-info}/licenses/LICENSE +0 -0
khoj/routers/helpers.py CHANGED
@@ -325,7 +325,7 @@ async def acheck_if_safe_prompt(system_prompt: str, user: KhojUser = None, lax:
325
325
 
326
326
  response = response.strip()
327
327
  try:
328
- response = json.loads(response)
328
+ response = clean_json(response)
329
329
  is_safe = response.get("safe", "True") == "True"
330
330
  if not is_safe:
331
331
  reason = response.get("reason", "")
@@ -551,9 +551,37 @@ async def generate_online_subqueries(
551
551
  return {q}
552
552
 
553
553
 
554
- async def schedule_query(
554
+ def schedule_query(
555
555
  q: str, conversation_history: dict, user: KhojUser, query_images: List[str] = None, tracer: dict = {}
556
- ) -> Tuple[str, ...]:
556
+ ) -> Tuple[str, str, str]:
557
+ """
558
+ Schedule the date, time to run the query. Assume the server timezone is UTC.
559
+ """
560
+ chat_history = construct_chat_history(conversation_history)
561
+
562
+ crontime_prompt = prompts.crontime_prompt.format(
563
+ query=q,
564
+ chat_history=chat_history,
565
+ )
566
+
567
+ raw_response = send_message_to_model_wrapper_sync(
568
+ crontime_prompt, query_images=query_images, response_type="json_object", user=user, tracer=tracer
569
+ )
570
+
571
+ # Validate that the response is a non-empty, JSON-serializable list
572
+ try:
573
+ raw_response = raw_response.strip()
574
+ response: Dict[str, str] = json.loads(clean_json(raw_response))
575
+ if not response or not isinstance(response, Dict) or len(response) != 3:
576
+ raise AssertionError(f"Invalid response for scheduling query : {response}")
577
+ return response.get("crontime"), response.get("query"), response.get("subject")
578
+ except Exception:
579
+ raise AssertionError(f"Invalid response for scheduling query: {raw_response}")
580
+
581
+
582
+ async def aschedule_query(
583
+ q: str, conversation_history: dict, user: KhojUser, query_images: List[str] = None, tracer: dict = {}
584
+ ) -> Tuple[str, str, str]:
557
585
  """
558
586
  Schedule the date, time to run the query. Assume the server timezone is UTC.
559
587
  """
@@ -571,7 +599,7 @@ async def schedule_query(
571
599
  # Validate that the response is a non-empty, JSON-serializable list
572
600
  try:
573
601
  raw_response = raw_response.strip()
574
- response: Dict[str, str] = json.loads(raw_response)
602
+ response: Dict[str, str] = json.loads(clean_json(raw_response))
575
603
  if not response or not isinstance(response, Dict) or len(response) != 3:
576
604
  raise AssertionError(f"Invalid response for scheduling query : {response}")
577
605
  return response.get("crontime"), response.get("query"), response.get("subject")
@@ -1065,6 +1093,7 @@ def send_message_to_model_wrapper_sync(
1065
1093
  system_message: str = "",
1066
1094
  response_type: str = "text",
1067
1095
  user: KhojUser = None,
1096
+ query_images: List[str] = None,
1068
1097
  query_files: str = "",
1069
1098
  tracer: dict = {},
1070
1099
  ):
@@ -1090,6 +1119,7 @@ def send_message_to_model_wrapper_sync(
1090
1119
  max_prompt_size=max_tokens,
1091
1120
  vision_enabled=vision_available,
1092
1121
  model_type=chat_model.model_type,
1122
+ query_images=query_images,
1093
1123
  query_files=query_files,
1094
1124
  )
1095
1125
 
@@ -1112,6 +1142,7 @@ def send_message_to_model_wrapper_sync(
1112
1142
  max_prompt_size=max_tokens,
1113
1143
  vision_enabled=vision_available,
1114
1144
  model_type=chat_model.model_type,
1145
+ query_images=query_images,
1115
1146
  query_files=query_files,
1116
1147
  )
1117
1148
 
@@ -1134,6 +1165,7 @@ def send_message_to_model_wrapper_sync(
1134
1165
  max_prompt_size=max_tokens,
1135
1166
  vision_enabled=vision_available,
1136
1167
  model_type=chat_model.model_type,
1168
+ query_images=query_images,
1137
1169
  query_files=query_files,
1138
1170
  )
1139
1171
 
@@ -1154,6 +1186,7 @@ def send_message_to_model_wrapper_sync(
1154
1186
  max_prompt_size=max_tokens,
1155
1187
  vision_enabled=vision_available,
1156
1188
  model_type=chat_model.model_type,
1189
+ query_images=query_images,
1157
1190
  query_files=query_files,
1158
1191
  )
1159
1192
 
@@ -1634,6 +1667,25 @@ class CommonQueryParamsClass:
1634
1667
  CommonQueryParams = Annotated[CommonQueryParamsClass, Depends()]
1635
1668
 
1636
1669
 
1670
+ def format_automation_response(scheduling_request: str, executed_query: str, ai_response: str, user: KhojUser) -> bool:
1671
+ """
1672
+ Format the AI response to send in automation email to user.
1673
+ """
1674
+ name = get_user_name(user)
1675
+ if name:
1676
+ username = prompts.user_name.format(name=name)
1677
+
1678
+ automation_format_prompt = prompts.automation_format_prompt.format(
1679
+ original_query=scheduling_request,
1680
+ executed_query=executed_query,
1681
+ response=ai_response,
1682
+ username=username,
1683
+ )
1684
+
1685
+ with timer("Chat actor: Format automation response", logger):
1686
+ return send_message_to_model_wrapper_sync(automation_format_prompt, user=user)
1687
+
1688
+
1637
1689
  def should_notify(original_query: str, executed_query: str, ai_response: str, user: KhojUser) -> bool:
1638
1690
  """
1639
1691
  Decide whether to notify the user of the AI response.
@@ -1651,12 +1703,19 @@ def should_notify(original_query: str, executed_query: str, ai_response: str, us
1651
1703
  with timer("Chat actor: Decide to notify user of automation response", logger):
1652
1704
  try:
1653
1705
  # TODO Replace with async call so we don't have to maintain a sync version
1654
- response = send_message_to_model_wrapper_sync(to_notify_or_not, user)
1655
- should_notify_result = "no" not in response.lower()
1656
- logger.info(f'Decided to {"not " if not should_notify_result else ""}notify user of automation response.')
1706
+ raw_response = send_message_to_model_wrapper_sync(to_notify_or_not, user=user, response_type="json_object")
1707
+ response = json.loads(raw_response)
1708
+ should_notify_result = response["decision"] == "Yes"
1709
+ reason = response.get("reason", "unknown")
1710
+ logger.info(
1711
+ f'Decided to {"not " if not should_notify_result else ""}notify user of automation response because of reason: {reason}.'
1712
+ )
1657
1713
  return should_notify_result
1658
- except:
1659
- logger.warning(f"Fallback to notify user of automation response as failed to infer should notify or not.")
1714
+ except Exception as e:
1715
+ logger.warning(
1716
+ f"Fallback to notify user of automation response as failed to infer should notify or not. {e}",
1717
+ exc_info=True,
1718
+ )
1660
1719
  return True
1661
1720
 
1662
1721
 
@@ -1751,10 +1810,12 @@ def scheduled_chat(
1751
1810
  if should_notify(
1752
1811
  original_query=scheduling_request, executed_query=cleaned_query, ai_response=ai_response, user=user
1753
1812
  ):
1813
+ formatted_response = format_automation_response(scheduling_request, cleaned_query, ai_response, user)
1814
+
1754
1815
  if is_resend_enabled():
1755
- send_task_email(user.get_short_name(), user.email, cleaned_query, ai_response, subject, is_image)
1816
+ send_task_email(user.get_short_name(), user.email, cleaned_query, formatted_response, subject, is_image)
1756
1817
  else:
1757
- return raw_response
1818
+ return formatted_response
1758
1819
 
1759
1820
 
1760
1821
  async def create_automation(
@@ -1766,12 +1827,66 @@ async def create_automation(
1766
1827
  conversation_id: str = None,
1767
1828
  tracer: dict = {},
1768
1829
  ):
1769
- crontime, query_to_run, subject = await schedule_query(q, meta_log, user, tracer=tracer)
1770
- job = await schedule_automation(query_to_run, subject, crontime, timezone, q, user, calling_url, conversation_id)
1830
+ crontime, query_to_run, subject = await aschedule_query(q, meta_log, user, tracer=tracer)
1831
+ job = await aschedule_automation(query_to_run, subject, crontime, timezone, q, user, calling_url, conversation_id)
1771
1832
  return job, crontime, query_to_run, subject
1772
1833
 
1773
1834
 
1774
- async def schedule_automation(
1835
+ def schedule_automation(
1836
+ query_to_run: str,
1837
+ subject: str,
1838
+ crontime: str,
1839
+ timezone: str,
1840
+ scheduling_request: str,
1841
+ user: KhojUser,
1842
+ calling_url: URL,
1843
+ conversation_id: str,
1844
+ ):
1845
+ # Disable minute level automation recurrence
1846
+ minute_value = crontime.split(" ")[0]
1847
+ if not minute_value.isdigit():
1848
+ # Run automation at some random minute (to distribute request load) instead of running every X minutes
1849
+ crontime = " ".join([str(math.floor(random() * 60))] + crontime.split(" ")[1:])
1850
+
1851
+ user_timezone = pytz.timezone(timezone)
1852
+ trigger = CronTrigger.from_crontab(crontime, user_timezone)
1853
+ trigger.jitter = 60
1854
+ # Generate id and metadata used by task scheduler and process locks for the task runs
1855
+ job_metadata = json.dumps(
1856
+ {
1857
+ "query_to_run": query_to_run,
1858
+ "scheduling_request": scheduling_request,
1859
+ "subject": subject,
1860
+ "crontime": crontime,
1861
+ "conversation_id": str(conversation_id),
1862
+ }
1863
+ )
1864
+ query_id = hashlib.md5(f"{query_to_run}_{crontime}".encode("utf-8")).hexdigest()
1865
+ job_id = f"automation_{user.uuid}_{query_id}"
1866
+ job = state.scheduler.add_job(
1867
+ run_with_process_lock,
1868
+ trigger=trigger,
1869
+ args=(
1870
+ scheduled_chat,
1871
+ f"{ProcessLock.Operation.SCHEDULED_JOB}_{user.uuid}_{query_id}",
1872
+ ),
1873
+ kwargs={
1874
+ "query_to_run": query_to_run,
1875
+ "scheduling_request": scheduling_request,
1876
+ "subject": subject,
1877
+ "user": user,
1878
+ "calling_url": calling_url,
1879
+ "job_id": job_id,
1880
+ "conversation_id": conversation_id,
1881
+ },
1882
+ id=job_id,
1883
+ name=job_metadata,
1884
+ max_instances=2, # Allow second instance to kill any previous instance with stale lock
1885
+ )
1886
+ return job
1887
+
1888
+
1889
+ async def aschedule_automation(
1775
1890
  query_to_run: str,
1776
1891
  subject: str,
1777
1892
  crontime: str,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: khoj
3
- Version: 1.32.3.dev34
3
+ Version: 1.32.3.dev61
4
4
  Summary: Your Second Brain
5
5
  Project-URL: Homepage, https://khoj.dev
6
6
  Project-URL: Documentation, https://docs.khoj.dev
@@ -11,7 +11,7 @@ khoj/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  khoj/database/admin.py,sha256=0Z1jB2Dq8PLf9Fnvv9t9bWb5CymzwpghoStpr_aLrHw,12645
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=EekqnMMThbWSW2mBW1QqzymrYAOQeAApVSqiBJhg87A,69161
14
+ khoj/database/adapters/__init__.py,sha256=Qo8ZMTFIYmgx5XkE7-AXjQ079XaL0Ns1BU9--yO9ddA,69691
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
@@ -115,68 +115,70 @@ khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvt
115
115
  khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
116
116
  khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
117
117
  khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
118
- khoj/interface/compiled/index.html,sha256=eKZwtdUVZ3JedlOO1xuyuTf9JonFNfT3-KJIWe9XvaY,15886
119
- khoj/interface/compiled/index.txt,sha256=VZbIf7450r3lvTpOpOBjwVEBYl9r3ZvzevfqMEGEhrk,6792
118
+ khoj/interface/compiled/index.html,sha256=xRFFq5IO2q6MqlkUfN8RQjYFyoVi1o1eaCs5d3Vj4G0,15886
119
+ khoj/interface/compiled/index.txt,sha256=U0C2f3fNtXiC636-ZSAY7WIRnyr5s3lRJLadN1N4VvI,6792
120
120
  khoj/interface/compiled/khoj.webmanifest,sha256=9wOK2BMS6xH5NKd2eaUgTLg9WepIxB2K2U33KU89LD8,2543
121
121
  khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
122
122
  khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
123
123
  khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
124
124
  khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
125
125
  khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
126
- khoj/interface/compiled/404/index.html,sha256=BC22M_fwrN2uJRLCf2Pw2ss3dr3ecjlhXCF9qRCcpD8,15705
127
- khoj/interface/compiled/_next/static/chunks/182-8cd8b17d40e6e989.js,sha256=JRaMKdCDyIPYNIJkRYwiBj5I4h8JG8uj4I7Mxv9qiNA,469751
128
- khoj/interface/compiled/_next/static/chunks/1915-605f698f2573cfd4.js,sha256=qArqL3leavWRcZkX4ZuWgemtKnmV6c-_yrNtMu_8SeY,11277
129
- khoj/interface/compiled/_next/static/chunks/2117-9886e6a0232dc093.js,sha256=vTLu_qp-db5dk72ycjiCIq96HAsdHWNB3rC84EmAr-k,123993
126
+ khoj/interface/compiled/404/index.html,sha256=urgZwrBx75ozLstIeOJt0RMcNmeO_POGHveRRSpEBNA,15705
127
+ khoj/interface/compiled/_next/static/chunks/1010-8f39bb4648b5ba10.js,sha256=5YkAi84Tc3fqa83pPShWPNf6GInBsRvVDurP6WOjrqI,48173
128
+ khoj/interface/compiled/_next/static/chunks/182-f1c48a203dc91e0e.js,sha256=JRaMKdCDyIPYNIJkRYwiBj5I4h8JG8uj4I7Mxv9qiNA,469751
129
+ khoj/interface/compiled/_next/static/chunks/1915-d3c36ad6ce697ce7.js,sha256=qArqL3leavWRcZkX4ZuWgemtKnmV6c-_yrNtMu_8SeY,11277
130
+ khoj/interface/compiled/_next/static/chunks/2117-165ef4747a5b836b.js,sha256=vTLu_qp-db5dk72ycjiCIq96HAsdHWNB3rC84EmAr-k,123993
130
131
  khoj/interface/compiled/_next/static/chunks/2581-455000f8aeb08fc3.js,sha256=Ym3HUf6T2AJZNSPk0X3e_j2-n6htoq39Uh-UPSzlQpk,27056
131
- khoj/interface/compiled/_next/static/chunks/3175-b2e522f8ca392f7e.js,sha256=3W8bnHqqDtcvNuKvXiUEjFH9ZLn_04YXs6aTRlfvb3o,1105077
132
132
  khoj/interface/compiled/_next/static/chunks/3727.dcea8f2193111552.js,sha256=nPBaUoj--93LLnMYWR149vLsp3ZaViwX_6os6JJlujs,34242
133
133
  khoj/interface/compiled/_next/static/chunks/3789-a09e37a819171a9d.js,sha256=zaxGAee4SqCU7ngN5Hij1fsKoyqrRKnLZNx8LpagYa0,31652
134
- khoj/interface/compiled/_next/static/chunks/4124-0baa32400521e909.js,sha256=80WZa0ODZJwR5LyA1kq1eHMk2oPSe_0gddFQ2mfPNOY,124740
135
- khoj/interface/compiled/_next/static/chunks/4357-03ea130575287c27.js,sha256=5FPNF2yXaXxgumg4KfPWQQcOrqeF0RnsTTS0jsviAyQ,45294
134
+ khoj/interface/compiled/_next/static/chunks/4124-f5c857c57e5391d9.js,sha256=bq1Z7M0jagSLiYXsPf6ZtpVbv6h5eVOw6r1cQ54YvME,124919
136
135
  khoj/interface/compiled/_next/static/chunks/5243-f7f0a2a6e1ac5d28.js,sha256=FutSaX8UMYk7J_47NcsCB6H8hOpUbIHD10xHVyiycKY,221570
137
- khoj/interface/compiled/_next/static/chunks/5427-3e7360c8e6ac9728.js,sha256=kXXufWoORKjWO_fHgSw3aEXSREP6RnHH53BWPvdq1AE,31471
136
+ khoj/interface/compiled/_next/static/chunks/5427-b52d95253e692bfa.js,sha256=tPljJFjx3mRvd5QswmQ8xCiRCOGY48Ze2KtEgyIFdfA,31779
138
137
  khoj/interface/compiled/_next/static/chunks/5473-b1cf56dedac6577a.js,sha256=GggNQkdq_W4LyMcshYk7g6JEVnjHYGHXyloI05rGP58,45616
139
- khoj/interface/compiled/_next/static/chunks/5477-c5d7eabee28a789a.js,sha256=4TWaWVV_tGYocJSbN8pirwT7pdMD7IavdylBRAdIXbw,13832
138
+ khoj/interface/compiled/_next/static/chunks/5477-0bbddb79c25a54a7.js,sha256=gKDUs15ajWWuxIMV-CAYqumgqvcEMp_36liD1tRfdU0,14553
140
139
  khoj/interface/compiled/_next/static/chunks/6065-64db9ad305ba0bcd.js,sha256=QHRBp6KEitIXyCMG4IOQyrDisokI7NR6rO5vBlLK0x8,23715
141
- khoj/interface/compiled/_next/static/chunks/8667-d3e5bc726e4ff4e3.js,sha256=kyiAVJTylsiOPFTb63uZn_pMlk4pYhDYt_N7xL76PTM,7214
142
- khoj/interface/compiled/_next/static/chunks/9259-27d1ff42af9a43e0.js,sha256=VPDpPt7r_7xpFB-OxF6mnr2dvKuwFFZltMkpnc98dc8,34824
140
+ khoj/interface/compiled/_next/static/chunks/6293-469dd16402ea8a6f.js,sha256=eYDSoU5ouQST98It9-bq9BT-Juf_HzPTw2DHJ4iic80,1102198
141
+ khoj/interface/compiled/_next/static/chunks/8667-b6bf63c72b2d76eb.js,sha256=kyiAVJTylsiOPFTb63uZn_pMlk4pYhDYt_N7xL76PTM,7214
142
+ khoj/interface/compiled/_next/static/chunks/9259-1172dbaca0515237.js,sha256=VPDpPt7r_7xpFB-OxF6mnr2dvKuwFFZltMkpnc98dc8,34824
143
143
  khoj/interface/compiled/_next/static/chunks/94ca1967.1d9b42d929a1ee8c.js,sha256=4NgDGkBrtrBndP5tKblKoLgi9xpn4aDpIRH4kDop9Q0,1174520
144
144
  khoj/interface/compiled/_next/static/chunks/9597.83583248dfbf6e73.js,sha256=CndAkafBFeXVlIIlItX7fkn5pQSFPUUULHUZUSnolSM,2121
145
145
  khoj/interface/compiled/_next/static/chunks/964ecbae.51d6faf8801d15e6.js,sha256=c2w-Bc3Ru91uRlwy-IZZs8tMBZF84I7YvVGwG3gofhI,1175120
146
- khoj/interface/compiled/_next/static/chunks/9665-1ab5c8c667b74dca.js,sha256=sVVdXfK3a6QbJk91E0uJm36r6jrjlRZiKNrjOizrEuA,105531
146
+ khoj/interface/compiled/_next/static/chunks/9665-391df1e5c51c960a.js,sha256=sVVdXfK3a6QbJk91E0uJm36r6jrjlRZiKNrjOizrEuA,105531
147
147
  khoj/interface/compiled/_next/static/chunks/d3ac728e-44ebd2a0c99b12a0.js,sha256=W6sCoyCDYdfvkNjo_DZDyj9ArHFk216-aJcAHwdzIwk,268303
148
148
  khoj/interface/compiled/_next/static/chunks/fd9d1056-4482b99a36fd1673.js,sha256=IMKXmjolTYmQ_XEzOGc7GLgTH1e6iDJXu6rhdxT1Fn0,172834
149
149
  khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js,sha256=sFFnSyDnFoOc61lP-EtTzTyf-zGA78ejDyMgPFMDw2Q,140001
150
150
  khoj/interface/compiled/_next/static/chunks/main-app-de1f09df97a3cfc7.js,sha256=bqnztujKItXfFBzQlaBmDZyfJpQt_M93CXOuchJfpD0,471
151
151
  khoj/interface/compiled/_next/static/chunks/main-db4bfac6b0a8d00b.js,sha256=vPSmGIy1oxKoIImN-yu0Cac-8hxcwGJJvJ9V4UTGQ6k,111273
152
152
  khoj/interface/compiled/_next/static/chunks/polyfills-42372ed130431b0a.js,sha256=CXPB1kyIrcjjyVBBDLWLKI9yEY1ZZbeASUON648vloM,112594
153
- khoj/interface/compiled/_next/static/chunks/webpack-b0a1b08bb62bdc15.js,sha256=eIuXvZ5vgRtid4fxng73dPQlQrbUziNpu3l6TbCn074,4007
153
+ khoj/interface/compiled/_next/static/chunks/webpack-4f582c9505ac1fb8.js,sha256=oBfUYoPOJQ8seIH0GbiqcRYxI8W4uSCqVvM6tW0MhcU,4007
154
154
  khoj/interface/compiled/_next/static/chunks/app/layout-30e7fda7262713ce.js,sha256=U_kFR0Vycl8EfeY4NGizdPrucrgy5QnWZ4jqkkLJD20,712
155
- khoj/interface/compiled/_next/static/chunks/app/page-33a3375b1414d1bd.js,sha256=4N5tfyFi3CxcsUYzb_BUH-FaILNRTfdJOwIKoMctvO8,34361
155
+ khoj/interface/compiled/_next/static/chunks/app/page-8ebd7e62c0542aa1.js,sha256=lHSSldEF1Kjani2rP_3reEP9_72rycgdQcUj5SFZ0s4,27621
156
156
  khoj/interface/compiled/_next/static/chunks/app/_not-found/page-a834eddae3e235df.js,sha256=zElhiTkdu2JqrEvJ8Lrxh4HCyfLmPllBHHWOuDtrVlw,1755
157
- khoj/interface/compiled/_next/static/chunks/app/agents/layout-e00fb81dca656a10.js,sha256=Prg_1BSPDnJDTXEx-Ai9RtlK0nesPWDFIVFFCMuVUiw,180
158
- khoj/interface/compiled/_next/static/chunks/app/agents/page-ab5ebe4efba9b582.js,sha256=Pt7zJvWbVXUE5JOcL6FsRspksEofHgtSLvw6rRN4s1k,17947
157
+ khoj/interface/compiled/_next/static/chunks/app/agents/layout-e49165209d2e406c.js,sha256=WFG6nsdtjnYHsKazIx5-xBXemVzEKXfW_U6Q9dnc7CU,180
158
+ khoj/interface/compiled/_next/static/chunks/app/agents/page-f6f93b8b4457f1f7.js,sha256=FKTuIUdWj-Yk85ZG84Tb2B3A0GNlaMtUj-mDWUre5Fg,17985
159
159
  khoj/interface/compiled/_next/static/chunks/app/automations/layout-1fe1537449f43496.js,sha256=s2wHeQ-ai9rKyU9EjOGY1Yo51L4ZEkjLtML85BqN3Zc,5143
160
- khoj/interface/compiled/_next/static/chunks/app/automations/page-37d56a7bbfd307df.js,sha256=Mtj2I-m177B-Wj0Nhuq0oFQ0jKneqU366WEO9nJXaPk,34275
160
+ khoj/interface/compiled/_next/static/chunks/app/automations/page-e8f13a995ae7f2fa.js,sha256=2RU2CnraApW3Z6qccppCvpAGNuNEfcM2KcPtKv8e7IY,34761
161
161
  khoj/interface/compiled/_next/static/chunks/app/chat/layout-33934fc2d6ae6838.js,sha256=zKdgnv4zZCkeNWFODWPJKYB3VjkTq4X5LtTCs0sqxaQ,180
162
- khoj/interface/compiled/_next/static/chunks/app/chat/page-a0b61f10b0bf6dd5.js,sha256=6w-qakUbpApsI01yZ0MU8hlU6pbZR2mkmvCjRhc6p_A,7455
162
+ khoj/interface/compiled/_next/static/chunks/app/chat/page-4645a696ec970a94.js,sha256=DrQV-djAxgsoVEBooX95toh_xcNEzrW-7d-2Rg0lNxo,7455
163
163
  khoj/interface/compiled/_next/static/chunks/app/search/layout-c02531d586972d7d.js,sha256=VQACqzXZcJUaa3W_0wHsrdLP22pj8yqeAOGBQfVnQxw,180
164
164
  khoj/interface/compiled/_next/static/chunks/app/search/page-bbbfda90fa03c5be.js,sha256=0I-BcFFH48DLqY17gYilS7s0RGrkjEBZZ2OjFV6zA5k,7137
165
165
  khoj/interface/compiled/_next/static/chunks/app/settings/layout-d09d6510a45cd4bd.js,sha256=dIfmM5C_Al-Zh_uqaJmniSxjXbu3LqPzrEw4SQ7vs0I,6132
166
- khoj/interface/compiled/_next/static/chunks/app/settings/page-430db6215e48aea2.js,sha256=BLF-3IIt2QdfbGD6-8e_GHvg2c8xndVoc99U85p1Rs8,31266
167
- khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-e8e5db7830bf3f47.js,sha256=rcoit2AQboqPwZMTVlVhz1AbyHRJOs-xNMTdYonejCU,180
168
- khoj/interface/compiled/_next/static/chunks/app/share/chat/page-02dc1f2e2a41e522.js,sha256=O9Dpapj5WPWsquMYNiiyuH4N_uwGXPSv66xZramJG6w,4640
166
+ khoj/interface/compiled/_next/static/chunks/app/settings/page-1bf10e8d882533b6.js,sha256=BkTXpbUdtW4uxjr9dgiD_j3qsHAWsw-cbiXXunSoWLM,31267
167
+ khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-6fb51c5c80f8ec67.js,sha256=MRWVUV6hiulN_DJo7uyZvW0HaMGGqoq6fdGK_jt4kJE,180
168
+ khoj/interface/compiled/_next/static/chunks/app/share/chat/page-3067638b97048e5f.js,sha256=88oe0tt76OHy-UyeFaYHihUjhEoF0atm9oTsf-u2Iac,4640
169
169
  khoj/interface/compiled/_next/static/chunks/pages/_app-3c9ca398d360b709.js,sha256=UqtikLsCsOWtDUJOW6Tuk9P-bV1V3MhYd3ghrQuEmfs,286
170
170
  khoj/interface/compiled/_next/static/chunks/pages/_error-cf5ca766ac8f493f.js,sha256=w_It3VzKT8O1M3CrJ_hZHsaU7M7dq3EAaVG8KvJ-fhU,253
171
171
  khoj/interface/compiled/_next/static/css/089de1d8526b96e9.css,sha256=sjpmNlk7H2uKEYK9_DFccNq9J8V9uR799cS0yT-E7EI,4041
172
- khoj/interface/compiled/_next/static/css/0f04760e76bba6c1.css,sha256=025nAbb8nVOB1RTWgr5b-kmSyGBj4kNUn5WUh9zqSxI,3072196
172
+ khoj/interface/compiled/_next/static/css/307dd5243338dfd8.css,sha256=p5NIKY-t0BSsK_1vv-jU52o_6g7OchhVqC_4pq8chyc,17569
173
173
  khoj/interface/compiled/_next/static/css/37a73b87f02df402.css,sha256=hp0vlekKu0K2eITR5YIqFmLHQPqV3JETFnRd_-Uh0mk,165
174
+ khoj/interface/compiled/_next/static/css/4e4e6a4a1c920d06.css,sha256=v52KOOFVYsJajTXsn7R2-B8ZU1dDPdmyN5J2a1d2dwk,1696
175
+ khoj/interface/compiled/_next/static/css/5dd9bb87a50b706e.css,sha256=FlAYD9w3ogdYu-0MZL_w0wT-SLvYHphm5OSaMcYVb7E,3072695
174
176
  khoj/interface/compiled/_next/static/css/8e6a3ca11a60b189.css,sha256=KR0nA1LdEJ-BwslNVZPATvBu6pCWJMMDyqAW5fljCkI,5858
175
177
  khoj/interface/compiled/_next/static/css/9c164d9727dd8092.css,sha256=89nMwZaML1CQfnzEPwbi_6vfauV5D8QwIiJBfsg3Hc8,30651
176
- khoj/interface/compiled/_next/static/css/c3acbadc30537d04.css,sha256=DkW_MqKz7IXbXtwsh_AT2AfWymZxi_7pzkUGgEknKH8,1597
177
178
  khoj/interface/compiled/_next/static/css/dac88c17aaee5fcf.css,sha256=ZfRdWDktxctcmm_P9OmtA46MT7pPYRo2oHIQBt3DLQ0,401
178
179
  khoj/interface/compiled/_next/static/css/df4b47a2d0d85eae.css,sha256=EsBNJADFxaffgFa5iSYHPswGl9RAN9UdK3jD3d_W9Hs,1736
179
- khoj/interface/compiled/_next/static/css/e546bf5cc4914244.css,sha256=BwYqeZwV4edoJrYHA5-XdlcN5nm7wSOa_slyODHpH9I,17584
180
+ khoj/interface/compiled/_next/static/iX3n9kOMMR5_Xg2yB-YVv/_buildManifest.js,sha256=f2_nYnw25hHWQJ-39Lf5OH1u6kgdbOInyfplqgjvAV4,224
181
+ khoj/interface/compiled/_next/static/iX3n9kOMMR5_Xg2yB-YVv/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
180
182
  khoj/interface/compiled/_next/static/media/1d8a05b60287ae6c-s.p.woff2,sha256=IzKBwB_bpSGvO7C9aRv29Js-jAbZPRDI-D-P4H2P918,14508
181
183
  khoj/interface/compiled/_next/static/media/6f22fce21a7c433c-s.woff2,sha256=T773llrgKNUxGlJzhaH0DUs2rcuRHU7bQpf0DTC4sSU,21812
182
184
  khoj/interface/compiled/_next/static/media/77c207b095007c34-s.p.woff2,sha256=vk9tBKB084h1U8mxwJ5WNHDz_pdUVqE_xb9-ILVhKXY,168144
@@ -250,10 +252,8 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
250
252
  khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
251
253
  khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
252
254
  khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
253
- khoj/interface/compiled/_next/static/mqcIHpVqVWkmBuN0npYHA/_buildManifest.js,sha256=f2_nYnw25hHWQJ-39Lf5OH1u6kgdbOInyfplqgjvAV4,224
254
- khoj/interface/compiled/_next/static/mqcIHpVqVWkmBuN0npYHA/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
255
- khoj/interface/compiled/agents/index.html,sha256=5byMEydz2nZ1EzPlZO0y2CyX7f1zHjo_QTaB4bptyxc,16633
256
- khoj/interface/compiled/agents/index.txt,sha256=A5KTT10C0W3vCIAHaCNACZmYqHY8USlSlt8SK0ILP54,7344
255
+ khoj/interface/compiled/agents/index.html,sha256=PshumNYoyIrSg5UsrkjF7NWnOOoxRqX7Yc0nOXSgXgM,16633
256
+ khoj/interface/compiled/agents/index.txt,sha256=4LgH0hNWeGqxLIwgwX8w2Gu3PvrnV0fi1oFaiCQcAQ8,7344
257
257
  khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
258
258
  khoj/interface/compiled/assets/icons/khoj_lantern.svg,sha256=I_8XP5X84gEOoCRhCRKOQn_GKZrz3SUBXct7WxHvY7c,8767
259
259
  khoj/interface/compiled/assets/icons/khoj_lantern_1200x1200.png,sha256=xDx0bbD-WMflgg8zck9oPIIuTIvywtuED2k7CjSQS4w,66194
@@ -268,16 +268,16 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
268
268
  khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
269
269
  khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
270
270
  khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
271
- khoj/interface/compiled/automations/index.html,sha256=1qhrLrFJIJ3s8_ip0sytjZ3z7Q_ttMoNPWpMRkh7Axg,52500
272
- khoj/interface/compiled/automations/index.txt,sha256=vg4QeC7hG6-_FW-iXOpxdlsaJ5qOlQyo2SHboW0FVBM,7644
273
- khoj/interface/compiled/chat/index.html,sha256=boueGh52Yh6EmBiKO8oS4ESpOJLLAm27OQIv5q4TE5w,17782
274
- khoj/interface/compiled/chat/index.txt,sha256=R89Ocbr8Qss10AZPIkx9WEm1TjPjAy-1xuXD1d5yAmM,7882
275
- khoj/interface/compiled/search/index.html,sha256=eIza3EmflExrPfAKhSQeWySHh5Jt7yh00TP0R0eFJJc,50985
276
- khoj/interface/compiled/search/index.txt,sha256=GPkiu4klprt9uhGowBWsnBsZhsQeX8jMr4FqajJJqwI,6677
277
- khoj/interface/compiled/settings/index.html,sha256=DjDkQKW2nv_mlnXTxvN6CtjQrdsDRhj3W1N51kCy6_8,17441
278
- khoj/interface/compiled/settings/index.txt,sha256=nJU_HVmLG3j2josojRnLWDni2OTduJDoG8RjvWxziFE,7779
279
- khoj/interface/compiled/share/chat/index.html,sha256=UZqwvT32w3k-js0Rr-Sf0sjAUamcUHJRBcKKzZ_UWvs,18621
280
- khoj/interface/compiled/share/chat/index.txt,sha256=NOG8kHvvxdqLD1K9VHMg5gOWrdlEiDVP9xttK4sj-Jo,8440
271
+ khoj/interface/compiled/automations/index.html,sha256=YwYPuQmzKx5txyDK8thCM5AogSlvCZvQqYfkv4Hl-T4,52500
272
+ khoj/interface/compiled/automations/index.txt,sha256=Y8uiKWVzzORSI3oYQbVOn4nuj4ZsVLncfCJxT6LTN80,7644
273
+ khoj/interface/compiled/chat/index.html,sha256=hWPQvVv9woqgzChNjwOhehVsYinXkQUP-5dI0xOSEAQ,17782
274
+ khoj/interface/compiled/chat/index.txt,sha256=q6uXoGT82bMWaLs4VMsMcbYzt1Gfn1j5As_14tRwim0,7882
275
+ khoj/interface/compiled/search/index.html,sha256=C8qe7l3VPno9ftpZnBuRalbanmko6xhr1lg6TA37KSM,50985
276
+ khoj/interface/compiled/search/index.txt,sha256=8M3l_w8vNQf1F3kc4b5sPUM18szxw3OUCPDA4p3nC2E,6677
277
+ khoj/interface/compiled/settings/index.html,sha256=ueQUBJeCNxj47zs7WTy4HoGhQDux6w6wr_Z_hAPnN3U,17441
278
+ khoj/interface/compiled/settings/index.txt,sha256=nusPRifBhRAHxhx84S-dZvyrFdeWwKFihATz4dqOsoY,7779
279
+ khoj/interface/compiled/share/chat/index.html,sha256=DsSJlWzsbflg9qVcqxoa51PNjvmLFCIV72mwTWWANys,18621
280
+ khoj/interface/compiled/share/chat/index.txt,sha256=0nb26CT5HfrUJNnjuvCMelq6hvcLIDFa2F_W3NpVIVc,8440
281
281
  khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
282
282
  khoj/interface/email/magic_link.html,sha256=372ESbTPKM9acekuZcOIKOw6kBl-KikFg_L9MOHqJkg,2094
283
283
  khoj/interface/email/task.html,sha256=tY7a0gzVeQ2lSQNu7WyXR_s7VYeWTrxWEj1iHVuoVE4,2813
@@ -329,7 +329,7 @@ khoj/processor/content/pdf/pdf_to_entries.py,sha256=GQUvab61okhV9_DK0g2MCrMq8wKp
329
329
  khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
330
330
  khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=wFZwK_zIc7gWbRtO9sOHo9KvfhGAzL9psX_nKWYFduo,4975
331
331
  khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
332
- khoj/processor/conversation/prompts.py,sha256=gdNL97K9d-7Dt_Rl4Ovfjw-ZJZ3cCtlXv1hQ4AJn1u4,51030
332
+ khoj/processor/conversation/prompts.py,sha256=8NPOieonOdksIEVZepOLJ3udCvscugNAGJMtUYZbx3c,52258
333
333
  khoj/processor/conversation/utils.py,sha256=shGBCU1gtfGbWZgm1_zQtezt9RmVFcftopugQob7EhA,32709
334
334
  khoj/processor/conversation/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
335
335
  khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=2jLTh-5WiGcsm1b5pla9UDjeTrPFfck2TOPPex5MN4c,8962
@@ -352,16 +352,16 @@ khoj/processor/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
352
352
  khoj/processor/tools/online_search.py,sha256=LM-r9ED42RL5JEZhx61vUcwdyz5U7nwYMaRP1KvkPpg,19067
353
353
  khoj/processor/tools/run_code.py,sha256=pa8slKYU21yDxBxK2CoQTEwHxZIANA_-bI8GhEDjvxc,6547
354
354
  khoj/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
355
- khoj/routers/api.py,sha256=KfRCkx-CSTeAw6wNr4XiBJlcIDTw7oBtQ0LgpI0eTzY,28296
355
+ khoj/routers/api.py,sha256=8qq9MFmMlMC-M3E0cBb6qV7r643uYOKO9ocdSF0jueA,28621
356
356
  khoj/routers/api_agents.py,sha256=d6i2MQ6cxU5KjeH6MXTM6k2MOQcRdizV-OhCB4PiJ8s,9675
357
357
  khoj/routers/api_chat.py,sha256=O4dpo_xrFeSx-OEfa1k_G5-4B26cT5OGeiTkVouLQGA,49299
358
358
  khoj/routers/api_content.py,sha256=WNlB6lVwRW8hHDthO2HypbpPvqrqt9rTU5oMRNknpMU,21070
359
359
  khoj/routers/api_model.py,sha256=cEXEH9-213Mt7kv_YqfDjiN7uC0N1sdkdSajCIbZO58,3612
360
360
  khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,2208
361
361
  khoj/routers/api_subscription.py,sha256=qnbKwA6N1TWK8Aiu1FFLka_JhbPOuwqT262NSHGZDiQ,5569
362
- khoj/routers/auth.py,sha256=WA99XW-GgdFjmqF_Kr9UOU9mEki9-2qiH19C0hjf5LI,9937
362
+ khoj/routers/auth.py,sha256=944BdNZaFlwX2f8dD1_Rj7KqJljowoha-XXRP6urgDc,10811
363
363
  khoj/routers/email.py,sha256=rHn8ZizG9TbKm0TK7xnio8qrf9T3tNH1vEBSaAEwRzs,3902
364
- khoj/routers/helpers.py,sha256=ZIHdWg1s8lfwwJRWOiYa_az5zyeFtdPmHer1g4pQ5cQ,84831
364
+ khoj/routers/helpers.py,sha256=-E5G2EKyBtqX4lFr7n_MZpehK-zb-mJ_NfT7cETMnvg,89129
365
365
  khoj/routers/notion.py,sha256=g53xyYFmjr2JnuIrTW2vytbfkiK_UkoRTxqnnLSmD5o,2802
366
366
  khoj/routers/research.py,sha256=KjUuo-rwtSqUX-0BYjXgP6cWeH3xazffwtxfxKXZL00,16083
367
367
  khoj/routers/storage.py,sha256=tJrwhFRVWv0MHv7V7huMc1Diwm-putZSwnZXJ3tqT_c,2338
@@ -386,8 +386,8 @@ khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
386
386
  khoj/utils/rawconfig.py,sha256=bQ_MGbBzYt6ZUIsHUwZjaHKDLh6GQ7h-sENkv3fyVbQ,5028
387
387
  khoj/utils/state.py,sha256=axjZhnby8L3bY-N1VVoWgBH1RpFGK6U3_ZeNo1Kt7hs,1679
388
388
  khoj/utils/yaml.py,sha256=qy1Tkc61rDMesBw_Cyx2vOR6H-Hngcsm5kYfjwQBwkE,1543
389
- khoj-1.32.3.dev34.dist-info/METADATA,sha256=BWbHnHBV7GYG81JdVyvCZwMl5NBmuk5_I5MHNoke3SE,7533
390
- khoj-1.32.3.dev34.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
391
- khoj-1.32.3.dev34.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
392
- khoj-1.32.3.dev34.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
393
- khoj-1.32.3.dev34.dist-info/RECORD,,
389
+ khoj-1.32.3.dev61.dist-info/METADATA,sha256=hB_rDiHFME5eEadO7L_GA3s6ZjaLppu7Zl-oC2rco6g,7533
390
+ khoj-1.32.3.dev61.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
391
+ khoj-1.32.3.dev61.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
392
+ khoj-1.32.3.dev61.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
393
+ khoj-1.32.3.dev61.dist-info/RECORD,,