khoj 1.20.4.dev8__py3-none-any.whl → 1.20.5.dev15__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 (50) hide show
  1. khoj/configure.py +1 -0
  2. khoj/database/adapters/__init__.py +15 -8
  3. khoj/database/admin.py +11 -1
  4. khoj/database/migrations/0056_searchmodelconfig_cross_encoder_model_config.py +17 -0
  5. khoj/database/models/__init__.py +2 -0
  6. khoj/interface/compiled/404/index.html +1 -1
  7. khoj/interface/compiled/_next/static/chunks/app/automations/page-559111e9b97f158d.js +1 -0
  8. khoj/interface/compiled/_next/static/chunks/{webpack-ace3bded0dbc790e.js → webpack-072d1cbdec7e1782.js} +1 -1
  9. khoj/interface/compiled/_next/static/css/9d5b867ec04494a6.css +25 -0
  10. khoj/interface/compiled/agents/index.html +1 -1
  11. khoj/interface/compiled/agents/index.txt +2 -2
  12. khoj/interface/compiled/automations/index.html +1 -1
  13. khoj/interface/compiled/automations/index.txt +2 -2
  14. khoj/interface/compiled/chat/index.html +1 -1
  15. khoj/interface/compiled/chat/index.txt +2 -2
  16. khoj/interface/compiled/factchecker/index.html +1 -1
  17. khoj/interface/compiled/factchecker/index.txt +2 -2
  18. khoj/interface/compiled/index.html +1 -1
  19. khoj/interface/compiled/index.txt +2 -2
  20. khoj/interface/compiled/search/index.html +1 -1
  21. khoj/interface/compiled/search/index.txt +2 -2
  22. khoj/interface/compiled/settings/index.html +1 -1
  23. khoj/interface/compiled/settings/index.txt +1 -1
  24. khoj/interface/compiled/share/chat/index.html +1 -1
  25. khoj/interface/compiled/share/chat/index.txt +2 -2
  26. khoj/processor/conversation/anthropic/anthropic_chat.py +6 -2
  27. khoj/processor/conversation/offline/chat_model.py +15 -3
  28. khoj/processor/conversation/openai/gpt.py +6 -3
  29. khoj/processor/conversation/openai/utils.py +3 -1
  30. khoj/processor/conversation/prompts.py +20 -0
  31. khoj/processor/embeddings.py +3 -1
  32. khoj/processor/tools/online_search.py +9 -3
  33. khoj/routers/api.py +3 -1
  34. khoj/routers/api_chat.py +2 -2
  35. khoj/routers/helpers.py +10 -2
  36. khoj/search_filter/file_filter.py +5 -2
  37. {khoj-1.20.4.dev8.dist-info → khoj-1.20.5.dev15.dist-info}/METADATA +1 -1
  38. {khoj-1.20.4.dev8.dist-info → khoj-1.20.5.dev15.dist-info}/RECORD +48 -47
  39. khoj/interface/compiled/_next/static/chunks/app/automations/page-353b67d89adf9e29.js +0 -1
  40. khoj/interface/compiled/_next/static/css/a271b936f2650562.css +0 -25
  41. /khoj/interface/compiled/_next/static/{ODdN-kjtaBbdkH0MkvaLs → K0mF1QxJRVM2LVZZQ_Edc}/_buildManifest.js +0 -0
  42. /khoj/interface/compiled/_next/static/{ODdN-kjtaBbdkH0MkvaLs → K0mF1QxJRVM2LVZZQ_Edc}/_ssgManifest.js +0 -0
  43. /khoj/interface/compiled/_next/static/chunks/{8423-132ea64eac83fd43.js → 8423-898d821eaab634af.js} +0 -0
  44. /khoj/interface/compiled/_next/static/chunks/{9178-5a1fa2b9023249af.js → 9178-ef3257c08d8973c8.js} +0 -0
  45. /khoj/interface/compiled/_next/static/chunks/{9417-2e54c6fd056982d8.js → 9417-5d14ac74aaab2c66.js} +0 -0
  46. /khoj/interface/compiled/_next/static/chunks/app/agents/{page-3c01900e7b5c7e50.js → page-6ade083d5e27a023.js} +0 -0
  47. /khoj/interface/compiled/_next/static/chunks/app/{page-d403fc59c9c3f8cc.js → page-a7e6517e91dde51a.js} +0 -0
  48. {khoj-1.20.4.dev8.dist-info → khoj-1.20.5.dev15.dist-info}/WHEEL +0 -0
  49. {khoj-1.20.4.dev8.dist-info → khoj-1.20.5.dev15.dist-info}/entry_points.txt +0 -0
  50. {khoj-1.20.4.dev8.dist-info → khoj-1.20.5.dev15.dist-info}/licenses/LICENSE +0 -0
@@ -10,6 +10,7 @@ import aiohttp
10
10
  from bs4 import BeautifulSoup
11
11
  from markdownify import markdownify
12
12
 
13
+ from khoj.database.models import KhojUser
13
14
  from khoj.routers.helpers import (
14
15
  ChatEvent,
15
16
  extract_relevant_info,
@@ -51,6 +52,7 @@ async def search_online(
51
52
  query: str,
52
53
  conversation_history: dict,
53
54
  location: LocationData,
55
+ user: KhojUser,
54
56
  send_status_func: Optional[Callable] = None,
55
57
  custom_filters: List[str] = [],
56
58
  ):
@@ -61,7 +63,7 @@ async def search_online(
61
63
  return
62
64
 
63
65
  # Breakdown the query into subqueries to get the correct answer
64
- subqueries = await generate_online_subqueries(query, conversation_history, location)
66
+ subqueries = await generate_online_subqueries(query, conversation_history, location, user)
65
67
  response_dict = {}
66
68
 
67
69
  if subqueries:
@@ -126,14 +128,18 @@ async def search_with_google(query: str) -> Tuple[str, Dict[str, List[Dict]]]:
126
128
 
127
129
 
128
130
  async def read_webpages(
129
- query: str, conversation_history: dict, location: LocationData, send_status_func: Optional[Callable] = None
131
+ query: str,
132
+ conversation_history: dict,
133
+ location: LocationData,
134
+ user: KhojUser,
135
+ send_status_func: Optional[Callable] = None,
130
136
  ):
131
137
  "Infer web pages to read from the query and extract relevant information from them"
132
138
  logger.info(f"Inferring web pages to read")
133
139
  if send_status_func:
134
140
  async for event in send_status_func(f"**Inferring web pages to read**"):
135
141
  yield {ChatEvent.STATUS: event}
136
- urls = await infer_webpage_urls(query, conversation_history, location)
142
+ urls = await infer_webpage_urls(query, conversation_history, location, user)
137
143
 
138
144
  logger.info(f"Reading web pages at: {urls}")
139
145
  if send_status_func:
khoj/routers/api.py CHANGED
@@ -388,6 +388,7 @@ async def extract_references_and_questions(
388
388
  conversation_log=meta_log,
389
389
  should_extract_questions=True,
390
390
  location_data=location_data,
391
+ user=user,
391
392
  max_prompt_size=conversation_config.max_prompt_size,
392
393
  )
393
394
  elif conversation_config.model_type == ChatModelOptions.ModelType.OPENAI:
@@ -402,7 +403,7 @@ async def extract_references_and_questions(
402
403
  api_base_url=base_url,
403
404
  conversation_log=meta_log,
404
405
  location_data=location_data,
405
- max_tokens=conversation_config.max_prompt_size,
406
+ user=user,
406
407
  )
407
408
  elif conversation_config.model_type == ChatModelOptions.ModelType.ANTHROPIC:
408
409
  api_key = conversation_config.openai_config.api_key
@@ -413,6 +414,7 @@ async def extract_references_and_questions(
413
414
  api_key=api_key,
414
415
  conversation_log=meta_log,
415
416
  location_data=location_data,
417
+ user=user,
416
418
  )
417
419
 
418
420
  # Collate search results as context for GPT
khoj/routers/api_chat.py CHANGED
@@ -792,7 +792,7 @@ async def chat(
792
792
  if ConversationCommand.Online in conversation_commands:
793
793
  try:
794
794
  async for result in search_online(
795
- defiltered_query, meta_log, location, partial(send_event, ChatEvent.STATUS), custom_filters
795
+ defiltered_query, meta_log, location, user, partial(send_event, ChatEvent.STATUS), custom_filters
796
796
  ):
797
797
  if isinstance(result, dict) and ChatEvent.STATUS in result:
798
798
  yield result[ChatEvent.STATUS]
@@ -809,7 +809,7 @@ async def chat(
809
809
  if ConversationCommand.Webpage in conversation_commands:
810
810
  try:
811
811
  async for result in read_webpages(
812
- defiltered_query, meta_log, location, partial(send_event, ChatEvent.STATUS)
812
+ defiltered_query, meta_log, location, user, partial(send_event, ChatEvent.STATUS)
813
813
  ):
814
814
  if isinstance(result, dict) and ChatEvent.STATUS in result:
815
815
  yield result[ChatEvent.STATUS]
khoj/routers/helpers.py CHANGED
@@ -340,11 +340,14 @@ async def aget_relevant_output_modes(query: str, conversation_history: dict, is_
340
340
  return ConversationCommand.Text
341
341
 
342
342
 
343
- async def infer_webpage_urls(q: str, conversation_history: dict, location_data: LocationData) -> List[str]:
343
+ async def infer_webpage_urls(
344
+ q: str, conversation_history: dict, location_data: LocationData, user: KhojUser
345
+ ) -> List[str]:
344
346
  """
345
347
  Infer webpage links from the given query
346
348
  """
347
349
  location = f"{location_data.city}, {location_data.region}, {location_data.country}" if location_data else "Unknown"
350
+ username = prompts.user_name.format(name=user.get_full_name()) if user.get_full_name() else ""
348
351
  chat_history = construct_chat_history(conversation_history)
349
352
 
350
353
  utc_date = datetime.utcnow().strftime("%Y-%m-%d")
@@ -353,6 +356,7 @@ async def infer_webpage_urls(q: str, conversation_history: dict, location_data:
353
356
  query=q,
354
357
  chat_history=chat_history,
355
358
  location=location,
359
+ username=username,
356
360
  )
357
361
 
358
362
  with timer("Chat actor: Infer webpage urls to read", logger):
@@ -370,11 +374,14 @@ async def infer_webpage_urls(q: str, conversation_history: dict, location_data:
370
374
  raise ValueError(f"Invalid list of urls: {response}")
371
375
 
372
376
 
373
- async def generate_online_subqueries(q: str, conversation_history: dict, location_data: LocationData) -> List[str]:
377
+ async def generate_online_subqueries(
378
+ q: str, conversation_history: dict, location_data: LocationData, user: KhojUser
379
+ ) -> List[str]:
374
380
  """
375
381
  Generate subqueries from the given query
376
382
  """
377
383
  location = f"{location_data.city}, {location_data.region}, {location_data.country}" if location_data else "Unknown"
384
+ username = prompts.user_name.format(name=user.get_full_name()) if user.get_full_name() else ""
378
385
  chat_history = construct_chat_history(conversation_history)
379
386
 
380
387
  utc_date = datetime.utcnow().strftime("%Y-%m-%d")
@@ -383,6 +390,7 @@ async def generate_online_subqueries(q: str, conversation_history: dict, locatio
383
390
  query=q,
384
391
  chat_history=chat_history,
385
392
  location=location,
393
+ username=username,
386
394
  )
387
395
 
388
396
  with timer("Chat actor: Generate online search subqueries", logger):
@@ -11,7 +11,8 @@ logger = logging.getLogger(__name__)
11
11
 
12
12
 
13
13
  class FileFilter(BaseFilter):
14
- file_filter_regex = r'file:"(.+?)" ?'
14
+ file_filter_regex = r'(?<!-)file:"(.+?)" ?'
15
+ excluded_file_filter_regex = r'-file:"(.+?)" ?'
15
16
 
16
17
  def __init__(self, entry_key="file"):
17
18
  self.entry_key = entry_key
@@ -20,7 +21,9 @@ class FileFilter(BaseFilter):
20
21
 
21
22
  def get_filter_terms(self, query: str) -> List[str]:
22
23
  "Get all filter terms in query"
23
- return [f"{self.convert_to_regex(term)}" for term in re.findall(self.file_filter_regex, query)]
24
+ required_files = [f"{required_file}" for required_file in re.findall(self.file_filter_regex, query)]
25
+ excluded_files = [f"-{excluded_file}" for excluded_file in re.findall(self.excluded_file_filter_regex, query)]
26
+ return required_files + excluded_files
24
27
 
25
28
  def convert_to_regex(self, file_filter: str) -> str:
26
29
  "Convert file filter to regex"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: khoj
3
- Version: 1.20.4.dev8
3
+ Version: 1.20.5.dev15
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=niLSdoFERq4I2ZuFRwL-xgyNeE_DVzXs04ViJg1keEA,18395
2
+ khoj/configure.py,sha256=PMK7yNTK20NXTNsvmtrTw_eup53IEBiQBnftqOGtv3k,18466
3
3
  khoj/main.py,sha256=58Rssq2H5AM69dA2UyGHye3vPAMp5RRS6xLcGkB_G_w,8147
4
4
  khoj/manage.py,sha256=njo6uLxGaMamTPesHjFEOIBJbpIUrz39e1V59zKj544,664
5
5
  khoj/app/README.md,sha256=PSQjKCdpU2hgszLVF8yEhV7TWhbEEb-1aYLTRuuAsKI,2832
@@ -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=ztXOIjsHMKAuZqJ10xZi3wRIrnug_Rg5o85QFzRevjE,8882
11
+ khoj/database/admin.py,sha256=3V23Fzl9bNPlvhu08GtGH7dwJpQdaYQxGxuUpNGQQOA,9098
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=xGicLSE1nUo6BJ81vhWabXxbtWfSSz1Oer7gEdqqc4c,50593
14
+ khoj/database/adapters/__init__.py,sha256=PsE5cCNIcO4NW9IJ45KQ05ZB17EjPa_fg3Oibn2kjtM,51141
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
@@ -80,25 +80,26 @@ khoj/database/migrations/0052_alter_searchmodelconfig_bi_encoder_docs_encode_con
80
80
  khoj/database/migrations/0053_agent_style_color_agent_style_icon.py,sha256=j30FqSaRJYiDXlFdip7Nslw3OZZWkymQbcV4yie1hbk,2054
81
81
  khoj/database/migrations/0054_alter_agent_style_color.py,sha256=f6RnyvEMR0-Y4R2CtNWfVYHxI_y_nADnD-7o_FoISb4,1151
82
82
  khoj/database/migrations/0055_alter_agent_style_icon.py,sha256=0lkxmyDmOW_3CsnLl8iEsCI6qHi2YS9wfdFfDMNbZ4k,1218
83
+ khoj/database/migrations/0056_searchmodelconfig_cross_encoder_model_config.py,sha256=RuR5lyAp6T_bRg2gxhOGS4dfXOWBBEQ3bAvKf4ru5Gw,430
83
84
  khoj/database/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
- khoj/database/models/__init__.py,sha256=INX6CQ23x8KRPeGy84ZdDyaW4t1i-Yog-JLE-9Vhjq8,18815
85
+ khoj/database/models/__init__.py,sha256=ObqIHUCRsmw8gvJfxIEBuY4x5rbn2Q1W-M4yd32SHHs,19003
85
86
  khoj/interface/compiled/agents.svg,sha256=yFCRwIM-Qawa0C5ggAo3ekb-Q1ElmotBOKIGhtfIQqM,1722
86
87
  khoj/interface/compiled/automation.svg,sha256=o7L2XYwJWRSMvl8h6TBv6Pt28RTRVMHqF04EPY0AFj0,1467
87
88
  khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvtM3A,2424
88
89
  khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
89
90
  khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
90
91
  khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
91
- khoj/interface/compiled/index.html,sha256=jzDHjEAjvoZensmzT2dNYrXQreQf3dCW0qNk5Hji3aA,11912
92
- khoj/interface/compiled/index.txt,sha256=Wl3a2S_J-3r1CcO1GaG9gVw7PlrTCwZ1_OXo5wQmlTk,5515
92
+ khoj/interface/compiled/index.html,sha256=lJY4dGt357Fht7jALAA5UH1l51ABaQ9wC3afxnq8Xxc,11912
93
+ khoj/interface/compiled/index.txt,sha256=hFiomc7dWGRt9s322DYvvZwabGBdiG0jHq96qVXvqRQ,5515
93
94
  khoj/interface/compiled/khoj.webmanifest,sha256=lsknYkvEdMbRTOUYKXPM_8krN2gamJmM4u3qj8u9lrU,1682
94
95
  khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
95
96
  khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
96
97
  khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
97
98
  khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
98
99
  khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
99
- khoj/interface/compiled/404/index.html,sha256=xLVKJEZiFAx74L1SV27MF5fckFhuxbbOVXNErNTgGsY,11947
100
- khoj/interface/compiled/_next/static/ODdN-kjtaBbdkH0MkvaLs/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
101
- khoj/interface/compiled/_next/static/ODdN-kjtaBbdkH0MkvaLs/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
100
+ khoj/interface/compiled/404/index.html,sha256=oKh618dPf6jgjIqqEv19UovbiNsJNn4ZR_2lotqNIF0,11947
101
+ khoj/interface/compiled/_next/static/K0mF1QxJRVM2LVZZQ_Edc/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
102
+ khoj/interface/compiled/_next/static/K0mF1QxJRVM2LVZZQ_Edc/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
102
103
  khoj/interface/compiled/_next/static/chunks/1603-fb2d80ae73990df3.js,sha256=CCbOXifiixbhMf7lgTG96225tP1Pou72Wb0Zh6KC1Rs,71007
103
104
  khoj/interface/compiled/_next/static/chunks/2614-7cf01576d4457a75.js,sha256=aUjhjyxNPrZr4bLKzGkGgHH8K4J6g9dfiRjabnmvSDc,1104737
104
105
  khoj/interface/compiled/_next/static/chunks/3062-a42d847c919a9ea4.js,sha256=9UDsx_sY4b4x6jjR_A0AymC9rjBCoCcEpGR4U-0Ej3g,256170
@@ -109,11 +110,11 @@ khoj/interface/compiled/_next/static/chunks/6648-ff677e51f1b2bcf1.js,sha256=9bJl
109
110
  khoj/interface/compiled/_next/static/chunks/7023-52c1be60135eb057.js,sha256=CI8R2DdZNEt3nACmiXUG1NnKhnal1ImzXglW-xDuxcI,123657
110
111
  khoj/interface/compiled/_next/static/chunks/7071-b4711cecca6619a8.js,sha256=z-KSur3LbIFPg_90wN0EMhV0et9cJVfG_MR9POVmdCQ,7801
111
112
  khoj/interface/compiled/_next/static/chunks/743-1a64254447cda71f.js,sha256=YH4bEkjmttcOGzAzXKaDCJ-C68jk2qy1cQJP2ljjoAA,100834
112
- khoj/interface/compiled/_next/static/chunks/8423-132ea64eac83fd43.js,sha256=W8aFQibnAqcbhPYoD_WzHKoMwaWt3jXdan7n_LoY4t4,10327
113
+ khoj/interface/compiled/_next/static/chunks/8423-898d821eaab634af.js,sha256=W8aFQibnAqcbhPYoD_WzHKoMwaWt3jXdan7n_LoY4t4,10327
113
114
  khoj/interface/compiled/_next/static/chunks/9001-acbca3e19b1a5ddf.js,sha256=M2hBSe8WTnjEmUlOiOgt_zDJtv3sc4ghnubhkZyMvVA,35460
114
115
  khoj/interface/compiled/_next/static/chunks/9162-4a6d0d0dc5e27618.js,sha256=2csnvP4rJcL4oZlBAEkzeSxBJy4gwYxzAnqzeWbe9fw,149225
115
- khoj/interface/compiled/_next/static/chunks/9178-5a1fa2b9023249af.js,sha256=2wBw6-Bg4NGBNwXOEmfnlVh-lO29bg85b9sirLSxSic,17645
116
- khoj/interface/compiled/_next/static/chunks/9417-2e54c6fd056982d8.js,sha256=FZ8xOLMdzrlVmwtcyuQSy8bBwd8_UZ1hH3FlL4DwXpA,17252
116
+ khoj/interface/compiled/_next/static/chunks/9178-ef3257c08d8973c8.js,sha256=2wBw6-Bg4NGBNwXOEmfnlVh-lO29bg85b9sirLSxSic,17645
117
+ khoj/interface/compiled/_next/static/chunks/9417-5d14ac74aaab2c66.js,sha256=FZ8xOLMdzrlVmwtcyuQSy8bBwd8_UZ1hH3FlL4DwXpA,17252
117
118
  khoj/interface/compiled/_next/static/chunks/9693-91b03052c5cabded.js,sha256=htVs3WyaR5jF7tXL_VBwqtPcQ53T3s9jWRazqz7DU-c,28957
118
119
  khoj/interface/compiled/_next/static/chunks/d3ac728e-a9e3522eef9b6b28.js,sha256=wK1TsLdl56xtbQG6HMRDpylzTOYXQaAnnn2xobFnX40,267216
119
120
  khoj/interface/compiled/_next/static/chunks/fd9d1056-2b978342deb60015.js,sha256=2lquiZSfbI-gX4j4TW4JSMLL_D5ShqwydgWpFyXrTy8,172834
@@ -121,14 +122,14 @@ khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js,sha256
121
122
  khoj/interface/compiled/_next/static/chunks/main-175c164f5e0f026c.js,sha256=hlUnjERudON4V4kUKprrFz1e9JRtSp4A9i7vnM-1bzA,110324
122
123
  khoj/interface/compiled/_next/static/chunks/main-app-6d6ee3495efe03d4.js,sha256=i52E7sWOcSq1G8eYZL3mtTxbUbwRNxcAbSWQ6uWpMsY,475
123
124
  khoj/interface/compiled/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
124
- khoj/interface/compiled/_next/static/chunks/webpack-ace3bded0dbc790e.js,sha256=ugTXYuOOO--WF0R2ktNULpdEBvcHQCiw7ue1MuxAd3w,3724
125
+ khoj/interface/compiled/_next/static/chunks/webpack-072d1cbdec7e1782.js,sha256=iKJsw2a9B84T-qyE2Vmk7EL3zvShBdfBLes8a0ytjUg,3724
125
126
  khoj/interface/compiled/_next/static/chunks/app/layout-f3e40d346da53112.js,sha256=nekGSUVbvB81OfqGgJa2UoDmbxPhNwFwtc4o11O_1jI,442
126
- khoj/interface/compiled/_next/static/chunks/app/page-d403fc59c9c3f8cc.js,sha256=YUwVwaYzboELj6m928tR0hn5SL8BiUiVCFe1c0k-h-k,28602
127
+ khoj/interface/compiled/_next/static/chunks/app/page-a7e6517e91dde51a.js,sha256=YUwVwaYzboELj6m928tR0hn5SL8BiUiVCFe1c0k-h-k,28602
127
128
  khoj/interface/compiled/_next/static/chunks/app/_not-found/page-07ff4ab42b07845e.js,sha256=3mCUnxfMxyK44eqk21TVBrC6u--WSbvx31fTmQuOvMQ,1755
128
129
  khoj/interface/compiled/_next/static/chunks/app/agents/layout-e71c8e913cccf792.js,sha256=VyIMrkvntFObMzXF-elNtngJ8mBdjg8XrOGfboJ2f_4,372
129
- khoj/interface/compiled/_next/static/chunks/app/agents/page-3c01900e7b5c7e50.js,sha256=8tp_0cKBkscDxbQcd5hwQPOI7sZHZeHy0S4zEiVFkl8,18092
130
+ khoj/interface/compiled/_next/static/chunks/app/agents/page-6ade083d5e27a023.js,sha256=8tp_0cKBkscDxbQcd5hwQPOI7sZHZeHy0S4zEiVFkl8,18092
130
131
  khoj/interface/compiled/_next/static/chunks/app/automations/layout-27c28e923c9b1ff0.js,sha256=d2vJ_lVB0pfeFXNUPzHAe1ca5NzdNowHPh___SPqugM,5143
131
- khoj/interface/compiled/_next/static/chunks/app/automations/page-353b67d89adf9e29.js,sha256=nOQnnfM-QO1gk7GC4GmdcO0NekSgfms4cP14UH375VI,33868
132
+ khoj/interface/compiled/_next/static/chunks/app/automations/page-559111e9b97f158d.js,sha256=N1QwonT08ZsX2okhC0121yNaFe2lHhvjy1I29rf1ssY,33986
132
133
  khoj/interface/compiled/_next/static/chunks/app/chat/layout-8102549127db3067.js,sha256=YIoA3fqOBt8nKWw5iQAwA_avg2t1Q5Afn65IA5PBOz4,374
133
134
  khoj/interface/compiled/_next/static/chunks/app/chat/page-37ff98d93e65b5a4.js,sha256=_FzCaSZxsbEjhWg09tPBR00KTyd5dLhJuXBj0dnhfq8,10163
134
135
  khoj/interface/compiled/_next/static/chunks/app/factchecker/layout-7b30c541c05fb904.js,sha256=yub2AuBKHKSCqrHRFnkZv9JXLmLJLOB99iiaD3DtZQM,170
@@ -146,8 +147,8 @@ khoj/interface/compiled/_next/static/css/2272c73fc7a3b571.css,sha256=1fHKFd8zLOH
146
147
  khoj/interface/compiled/_next/static/css/2bfe35fbe2c97a56.css,sha256=ll38Skm4kA29LtqLUkDtUMT-6ua0ihpXJUJZh-HppCI,7371
147
148
  khoj/interface/compiled/_next/static/css/553f9cdcc7a2bcd6.css,sha256=JpjOOwmqP9Hba-w_8Lx9jWW0ZD0kD3wR0HvdPGDyUPo,2134
148
149
  khoj/interface/compiled/_next/static/css/592ca99f5122e75a.css,sha256=BSqRkeb9vBh0phx5GkAlZirTFZintbyggGaUkuOBfaU,914
150
+ khoj/interface/compiled/_next/static/css/9d5b867ec04494a6.css,sha256=X2BihvGWIRM1KI7iFgwUf6QAQh-_M_gBbcR-ZS66nEs,1880998
149
151
  khoj/interface/compiled/_next/static/css/a22d83f18a32957e.css,sha256=kgAD2DQYH2WF2wqL759i62nR093yU_UfFClMKkAue6U,17709
150
- khoj/interface/compiled/_next/static/css/a271b936f2650562.css,sha256=ZlpwvalQlK-Um1VsMlzsF_Yyh_SuKl7VzyrG3Nw-a3c,1880823
151
152
  khoj/interface/compiled/_next/static/css/a3530ec58b0b660f.css,sha256=2fpX695nzJ6sNaNZbX_3Z0o-IA5kRlyN0ByIIXRgmtg,1570
152
153
  khoj/interface/compiled/_next/static/css/b81e909d403fb2df.css,sha256=bbu108v2_T74MIyokVmUz0A_oFCIHJpzHdYExXFYgjs,1913
153
154
  khoj/interface/compiled/_next/static/media/0e790e04fd40ad16-s.p.woff2,sha256=41ewITd0G1ZAoB62BTHMW58a1q8Hl6vSbTQkkHP7EbI,39372
@@ -222,8 +223,8 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
222
223
  khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
223
224
  khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
224
225
  khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
225
- khoj/interface/compiled/agents/index.html,sha256=atb_q8aLl6ZCUUDHJsliV4_WawRLMr9QfJwuw5V2b2c,12699
226
- khoj/interface/compiled/agents/index.txt,sha256=W-Vk7bAmvzu2KDJX8k47PPfN9ocyTPOnpWnWlDBb3yQ,6075
226
+ khoj/interface/compiled/agents/index.html,sha256=6upW-KAzeKcBr5QLsg3PteJnTwwwNegnZj6S10CvGaQ,12699
227
+ khoj/interface/compiled/agents/index.txt,sha256=SFLyYLSfMN-Ara3Es49cL0JQf4CdJpgOtu_cclXuxKE,6075
227
228
  khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
228
229
  khoj/interface/compiled/assets/icons/khoj_lantern_128x128.png,sha256=aTxivDb3CYyThkVZWz8A19xl_dNut5DbkXhODWF3A9Q,5640
229
230
  khoj/interface/compiled/assets/icons/khoj_lantern_256x256.png,sha256=xPCMLHiaL7lYOdQLZrKwWE-Qjn5ZaysSZB0ScYv4UZU,12312
@@ -234,18 +235,18 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
234
235
  khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
235
236
  khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
236
237
  khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
237
- khoj/interface/compiled/automations/index.html,sha256=hbnr7VZ3azXNSqYdeIJkDP3yVUyoTadNd9VTImBfEIk,30500
238
- khoj/interface/compiled/automations/index.txt,sha256=UtGhrYli8_kD2LF9oNm2BAXx__SvfK353V9dhkbB9uw,5447
239
- khoj/interface/compiled/chat/index.html,sha256=LLmG1z7jHGLP022qg26TQrMXqdwGpEPlSRDUUGJLz84,13566
240
- khoj/interface/compiled/chat/index.txt,sha256=AColtLwmMwVSjPbP3nR27qxhl3cIeA801sa_VOoFzwI,6421
241
- khoj/interface/compiled/factchecker/index.html,sha256=jLG7bLadxS_3vW4PMPCcfvSUJ22Mi-t3-UcG1gEwUjA,29839
242
- khoj/interface/compiled/factchecker/index.txt,sha256=rxtjiLQeGrwS7XUhdQryuQEOxPNG3zRq3XkJjJz3dEc,5735
243
- khoj/interface/compiled/search/index.html,sha256=BxrfIQLVz_KVjWY2RxHUr4TkOhv7Uzh05NDTl8rZ9fg,30154
244
- khoj/interface/compiled/search/index.txt,sha256=HfjQXhbZhbAiQKMJW2hW8mqUXlpjsLCt8mtNDD3LQlY,5249
245
- khoj/interface/compiled/settings/index.html,sha256=s8LyX8v_87LA3OdiDAFGkjY0WYTjcjeIw37IObV9LBA,12827
246
- khoj/interface/compiled/settings/index.txt,sha256=HTisOAA44H--UghPRiLN-Jv3z1HCs_CAYcZu5msZk2A,6073
247
- khoj/interface/compiled/share/chat/index.html,sha256=_E3XO6CqXr5FTxB2JxMs2-GpQXSMdv1I4JfPpHIMo5A,14896
248
- khoj/interface/compiled/share/chat/index.txt,sha256=WKE2D9fCglwq9kiQeH6ZnwnWqFR0sePJtg0lQQBjpVc,7239
238
+ khoj/interface/compiled/automations/index.html,sha256=chIJwGeHu2vvSRdsQT0hEQXSPpmu9nFtRDEw-fRwfK8,30500
239
+ khoj/interface/compiled/automations/index.txt,sha256=XblegzZBZDnQywYqrU5pC_O3SnindLa8tl2Ii1EypoI,5447
240
+ khoj/interface/compiled/chat/index.html,sha256=9eNRABzaU4dHCOgGbbVWh1QI8vffvI6vHZ9jSkbO65A,13566
241
+ khoj/interface/compiled/chat/index.txt,sha256=ELNzbuEcXO9-08TedJdwHsXFjsEb_2ZeG1mv55zqONo,6421
242
+ khoj/interface/compiled/factchecker/index.html,sha256=e9QPAk3Ve9R9nnRsPLQpNO4U2mk2_rRA5ZxdSXz6XuA,29839
243
+ khoj/interface/compiled/factchecker/index.txt,sha256=dv3JNVaO4cTi4gqSxMU5R2195aBo87eTtFW2Y7luEFQ,5735
244
+ khoj/interface/compiled/search/index.html,sha256=FaqzQhxYSe8UewSouj9ka1Su88gtDeTJYjmI0Quj5go,30154
245
+ khoj/interface/compiled/search/index.txt,sha256=sfzyoz47YgIwWwc0pAMxV49YgjONADnkPhczAM61gyI,5249
246
+ khoj/interface/compiled/settings/index.html,sha256=9zA5u2MVp4rCHDRkZuPE6RTYmRLImDzXwFmdx8CZres,12827
247
+ khoj/interface/compiled/settings/index.txt,sha256=LMQtigNnW-DQf4ioxJ_4cUWJ5ItBYrzquKsh9qzCvEc,6073
248
+ khoj/interface/compiled/share/chat/index.html,sha256=RjA3hlLr2O00lcyoa5rDzhUgiZx3966Lrs2SuNuO-ig,14896
249
+ khoj/interface/compiled/share/chat/index.txt,sha256=vfQbHb_nbXWbV0FjLR9mDlRaj3y5ZC5kJt9nNsgeLew,7239
249
250
  khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
250
251
  khoj/interface/email/magic_link.html,sha256=jXY_2hD3o15Ns5UDzbjLT8FHBnZiS7jo38YkYXIS-4w,947
251
252
  khoj/interface/email/task.html,sha256=yXywzC-5P4nXbhqvgCmwcCpTRbD5eWuDXMpgYSotztM,3311
@@ -276,7 +277,7 @@ khoj/migrations/migrate_processor_config_openai.py,sha256=FfeUU2JPQMtlr1iYoc4Cer
276
277
  khoj/migrations/migrate_server_pg.py,sha256=b6ULFFBEF__W10YpgF28deKoOzGqDbdvyL4nBdj3eNU,5015
277
278
  khoj/migrations/migrate_version.py,sha256=6CTsLuxiLnFVF8A7CjsIz3PcnJd8fAOZeIx6tTu6Vgg,569
278
279
  khoj/processor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
279
- khoj/processor/embeddings.py,sha256=80irR_-dxQJ3LVTGUgaC1QyyCqyJ2CDUZ131u_rDLA0,5149
280
+ khoj/processor/embeddings.py,sha256=MUUNvv_2zDmm5auOhEyU_uAcl6wvdrUsTvpT7UbSMQ8,5262
280
281
  khoj/processor/content/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
281
282
  khoj/processor/content/text_to_entries.py,sha256=Oa4Ny8c5S1_IGCmjCtUI45hX1fPTRwxXhHg1lHFqHy8,14537
282
283
  khoj/processor/content/docx/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -296,33 +297,33 @@ khoj/processor/content/pdf/pdf_to_entries.py,sha256=OE90osFchohih3RYvDmZepbtzWoG
296
297
  khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
297
298
  khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=97i7Cm0DTY7jW4iqKOT_oVc2ooa_XhQ8iImsljp1Kek,4994
298
299
  khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
299
- khoj/processor/conversation/prompts.py,sha256=8X0FzJ8iZR0lTdNtCv0WmGPTm4EyP-YZiKJsluZkC9g,32086
300
+ khoj/processor/conversation/prompts.py,sha256=TGMniRnekGkJ2h6k2eCMqrUR5CE8AW8hixMUyKrZY4I,33527
300
301
  khoj/processor/conversation/utils.py,sha256=_uWu1nxcY-Cv2ip-TBdyqepUkMYhijvzjnproumvzXk,10586
301
302
  khoj/processor/conversation/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
302
- khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=7yBlY26PNI4wzwHph4TTQ_tJlLmoNjiXyhzHPJeUVmI,7887
303
+ khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=fOT75wfC4r53M_tGDL6T7kvnRekZbdVM3jvvl3ohH9w,8108
303
304
  khoj/processor/conversation/anthropic/utils.py,sha256=uc9d_gIk4Ux2NRlkw3FP9L9KeLRoUI7nC_qb2Qp6d_4,3253
304
305
  khoj/processor/conversation/offline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
305
- khoj/processor/conversation/offline/chat_model.py,sha256=7OIexLDXfdyF2jk-JFMqojNW-grlc2jtCt1zxCO-VAY,9349
306
+ khoj/processor/conversation/offline/chat_model.py,sha256=twkCgnPGvPYxwvp1EWrS4F6k0zG6kigVfmqmfYrO26M,9741
306
307
  khoj/processor/conversation/offline/utils.py,sha256=n2T3vwAIZnSe9-UN1VORLPrLEUcamXXE9isL2ie-9R8,3033
307
308
  khoj/processor/conversation/offline/whisper.py,sha256=DJI-8y8DULO2cQ49m2VOvRyIZ2TxBypc15gM8O3HuMI,470
308
309
  khoj/processor/conversation/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
309
- khoj/processor/conversation/openai/gpt.py,sha256=bbEyiOeRgko65bLsFHNlkMw1cvbiawQsjmDipCpy0E4,7111
310
- khoj/processor/conversation/openai/utils.py,sha256=UCfu-dHnkgcKxMajUaWnlxW5Zdidqecv5jIdmimie6o,4067
310
+ khoj/processor/conversation/openai/gpt.py,sha256=KHkTVo8cpEhTc01HDSwQfQSoI81nmx14A-nYep50_do,7312
311
+ khoj/processor/conversation/openai/utils.py,sha256=ozEsdrfm12yoi7XqXIgzF3QpKz2LSkXJ_Q9tn5hV4TQ,4131
311
312
  khoj/processor/conversation/openai/whisper.py,sha256=RuwDtxSJrVWYdZz4aVnk0XiMQy9w8W9lFcVfE0hMiFY,432
312
313
  khoj/processor/speech/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
313
314
  khoj/processor/speech/text_to_speech.py,sha256=Q7sapi5Hv6woXOumtrGqR0t6izZrFBkWXFOGrHM6dJ4,1929
314
315
  khoj/processor/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
315
- khoj/processor/tools/online_search.py,sha256=cQZ6Aw7Kg0QXCthK4Vdn3gtF2K9GtUZmCkbxWYC_hJw,9620
316
+ khoj/processor/tools/online_search.py,sha256=0FcUwGbD91bhfBgIbEvW-kRflisbG-cZyZlznlSYI5w,9727
316
317
  khoj/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
317
- khoj/routers/api.py,sha256=UpKDOE9Z8KkedDmn3TWg6fb0zAUDiu_OUpY6JRTmEUs,25602
318
+ khoj/routers/api.py,sha256=I-mQ6FSXw99yIRGMNDB_YQbqN82YE69WImnKjdeRvpM,25619
318
319
  khoj/routers/api_agents.py,sha256=ks8QzjmZiio6j1QGi6xFtDmVxd9lvC6LPB-WcDPnF8o,1525
319
- khoj/routers/api_chat.py,sha256=tAYKTRR6r8gACIlAb46zZ2OfUKdV7j4mlCiZAHMqh9Y,35491
320
+ khoj/routers/api_chat.py,sha256=ii-eeS9vYvX2kc4_5Ss7F5hrH0JQD-UVO9Jg_2adF8Q,35503
320
321
  khoj/routers/api_content.py,sha256=OfY05ggRmg0FuVWzodBfV_5Gc6UbGCfchiIk8eqKA2o,17387
321
322
  khoj/routers/api_model.py,sha256=5m7JWwgd9jILiLivRu7NEyY2E-tUkqoEkGg6j6uM1g0,4646
322
323
  khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,2208
323
324
  khoj/routers/auth.py,sha256=pCOLSRihJWcn097DRPxLjPdlejsjHJFRs9jHIzLujZU,6247
324
325
  khoj/routers/email.py,sha256=jA4jDTrYHUpY7mFHL4himeRlTBLRQmQKHqC91Dw1Zu0,3730
325
- khoj/routers/helpers.py,sha256=6AM2K9HzUCxs84HURbjR5O92T9EHm84WG1vzec7hrxQ,63011
326
+ khoj/routers/helpers.py,sha256=9N6Pgh1BPKBKsD_2Hnvdy_M7Z40e4_ci6lpnqo1cZKw,63307
326
327
  khoj/routers/notion.py,sha256=0iG_DPVjg8n_LBWGHA8M6eHnJJDL-isARSEHTYStz6c,2809
327
328
  khoj/routers/storage.py,sha256=9ZfBsr_omxdFV-Lcj6p30xTQcF_7wwCZ9XFJukzjITE,1429
328
329
  khoj/routers/subscription.py,sha256=qEyV7m7mrY6MGtaij8W3v61tpzX2a7ydm2B-E8h_R-M,4285
@@ -331,7 +332,7 @@ khoj/routers/web_client.py,sha256=-bmzl6yCLgYxCnyIOYS0DePNZtcC5z2k0lk-EmbK2pg,47
331
332
  khoj/search_filter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
332
333
  khoj/search_filter/base_filter.py,sha256=BzoZA_wAUg_eZ5vhaaipwVTSG0ZMxWCHxHsZrzo4KS0,358
333
334
  khoj/search_filter/date_filter.py,sha256=4VL63kDVqYKFOzkCeV6R8Z8lxFaAbbn_z_RWaWQNDWY,10103
334
- khoj/search_filter/file_filter.py,sha256=1b6xgFqBNB6ZvQFbEXERdTEYV6PDxfHpUVbnz3aFaws,939
335
+ khoj/search_filter/file_filter.py,sha256=tHYW-ibaENf_jrJ88kiO_xhrPZb6FQLtngG9ISTB6h8,1168
335
336
  khoj/search_filter/word_filter.py,sha256=5Yx95aSiqGke9kEIbp8T-Ak4dS9cTd3VxI1SaJoK1wY,1005
336
337
  khoj/search_type/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
337
338
  khoj/search_type/text_search.py,sha256=AEDBbkjMwDieDiz6_Bdaoq0cywIova1Uz6V1O-XRldQ,8939
@@ -347,8 +348,8 @@ khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
347
348
  khoj/utils/rawconfig.py,sha256=luk7Vb_ODuoTdMd_IG-yVXGoyoU-RktyapBG5D1N_VI,3985
348
349
  khoj/utils/state.py,sha256=x4GTewP1YhOA6c_32N4wOjnV-3AA3xG_qbY1-wC2Uxc,1559
349
350
  khoj/utils/yaml.py,sha256=H0mfw0ZvBFUvFmCQn8pWkfxdmIebsrSykza7D8Wv6wQ,1430
350
- khoj-1.20.4.dev8.dist-info/METADATA,sha256=69nVJH5aSFNj1WhPKMxb2PXUap0f0GdIaYqbjeMLnfI,6875
351
- khoj-1.20.4.dev8.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
352
- khoj-1.20.4.dev8.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
353
- khoj-1.20.4.dev8.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
354
- khoj-1.20.4.dev8.dist-info/RECORD,,
351
+ khoj-1.20.5.dev15.dist-info/METADATA,sha256=jcSDHIN3Tpem7ihhT_WxA7mEXYOD5UQoF8lf0W-nXV0,6876
352
+ khoj-1.20.5.dev15.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
353
+ khoj-1.20.5.dev15.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
354
+ khoj-1.20.5.dev15.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
355
+ khoj-1.20.5.dev15.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4371],{2743:function(e,t,a){Promise.resolve().then(a.bind(a,40393))},40393:function(e,t,a){"use strict";a.r(t),a.d(t,{default:function(){return eP}});var s=a(57437),n=a(29039),r=a(58485),o=a(36013),i=a(50495),l=a(2265),c=a(77539),d=a(42421),u=a(14392),m=a(22468),h=a(37440);let x=c.fC;c.ZA;let f=c.B4,p=l.forwardRef((e,t)=>{let{className:a,children:n,...r}=e;return(0,s.jsxs)(c.xz,{ref:t,className:(0,h.cn)("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...r,children:[n,(0,s.jsx)(c.JO,{asChild:!0,children:(0,s.jsx)(d.Z,{className:"h-4 w-4 opacity-50"})})]})});p.displayName=c.xz.displayName;let g=l.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(c.u_,{ref:t,className:(0,h.cn)("flex cursor-default items-center justify-center py-1",a),...n,children:(0,s.jsx)(u.Z,{className:"h-4 w-4"})})});g.displayName=c.u_.displayName;let j=l.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(c.$G,{ref:t,className:(0,h.cn)("flex cursor-default items-center justify-center py-1",a),...n,children:(0,s.jsx)(d.Z,{className:"h-4 w-4"})})});j.displayName=c.$G.displayName;let y=l.forwardRef((e,t)=>{let{className:a,children:n,position:r="popper",...o}=e;return(0,s.jsx)(c.h_,{children:(0,s.jsxs)(c.VY,{ref:t,className:(0,h.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===r&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:r,...o,children:[(0,s.jsx)(g,{}),(0,s.jsx)(c.l_,{className:(0,h.cn)("p-1","popper"===r&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:n}),(0,s.jsx)(j,{})]})})});y.displayName=c.VY.displayName,l.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(c.__,{ref:t,className:(0,h.cn)("py-1.5 pl-8 pr-2 text-sm font-semibold",a),...n})}).displayName=c.__.displayName;let w=l.forwardRef((e,t)=>{let{className:a,children:n,...r}=e;return(0,s.jsxs)(c.ck,{ref:t,className:(0,h.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...r,children:[(0,s.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,s.jsx)(c.wU,{children:(0,s.jsx)(m.Z,{className:"h-4 w-4"})})}),(0,s.jsx)(c.eT,{children:n})]})});w.displayName=c.ck.displayName,l.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(c.Z0,{ref:t,className:(0,h.cn)("-mx-1 my-1 h-px bg-muted",a),...n})}).displayName=c.Z0.displayName;var v=a(18760),b=a.n(v),N=a(31014),D=a(39343),S=a(59772),C=a(71538),k=a(67135);let _=D.RV,A=l.createContext({}),I=e=>{let{...t}=e;return(0,s.jsx)(A.Provider,{value:{name:t.name},children:(0,s.jsx)(D.Qr,{...t})})},M=()=>{let e=l.useContext(A),t=l.useContext(T),{getFieldState:a,formState:s}=(0,D.Gc)(),n=a(e.name,s);if(!e)throw Error("useFormField should be used within <FormField>");let{id:r}=t;return{id:r,name:e.name,formItemId:"".concat(r,"-form-item"),formDescriptionId:"".concat(r,"-form-item-description"),formMessageId:"".concat(r,"-form-item-message"),...n}},T=l.createContext({}),R=l.forwardRef((e,t)=>{let{className:a,...n}=e,r=l.useId();return(0,s.jsx)(T.Provider,{value:{id:r},children:(0,s.jsx)("div",{ref:t,className:(0,h.cn)("space-y-2",a),...n})})});R.displayName="FormItem";let L=l.forwardRef((e,t)=>{let{className:a,...n}=e,{error:r,formItemId:o}=M();return(0,s.jsx)(k._,{ref:t,className:(0,h.cn)(r&&"text-destructive",a),htmlFor:o,...n})});L.displayName="FormLabel";let O=l.forwardRef((e,t)=>{let{...a}=e,{error:n,formItemId:r,formDescriptionId:o,formMessageId:i}=M();return(0,s.jsx)(C.g7,{ref:t,id:r,"aria-describedby":n?"".concat(o," ").concat(i):"".concat(o),"aria-invalid":!!n,...a})});O.displayName="FormControl";let P=l.forwardRef((e,t)=>{let{className:a,...n}=e,{formDescriptionId:r}=M();return(0,s.jsx)("p",{ref:t,id:r,className:(0,h.cn)("text-sm text-muted-foreground",a),...n})});P.displayName="FormDescription";let z=l.forwardRef((e,t)=>{let{className:a,children:n,...r}=e,{error:o,formMessageId:i}=M(),l=o?String(null==o?void 0:o.message):n;return l?(0,s.jsx)("p",{ref:t,id:i,className:(0,h.cn)("text-sm font-medium text-destructive",a),...r,children:l}):null});z.displayName="FormMessage";var q=a(83102),W=a(90837),E=a(13304),U=a(93146),V=a(69591),F=a(23611),Z=a.n(F),B=a(18642),G=a(16463),Y=a(19573),$=a(20319),H=a(22049),K=a(55362),Q=a(13537),X=a(76082),J=a(52674),ee=a(23751),et=a(83522),ea=a(8837),es=a(21819),en=a(35418),er=a(64945),eo=a(79306),ei=a(66820),el=a(35657),ec=a(50151),ed=a(47412),eu=a(48861),em=a(7951);let eh=()=>window.fetch("/api/automations").then(e=>e.json()).catch(e=>console.log(e));function ex(e){let t=e.split(" "),a=t[2],s=t[4];return"*"===a&&"*"===s?"Day":"*"!==s?"Week":"*"!==a?"Month":"Day"}function ef(e){let t=e.split(" ");if("*"===t[3]&&"*"!==t[4])return Number(t[4])}function ep(e){let t=e.split(" "),a=t[1],s=t[0],n=Number(a)>=12?"PM":"AM",r=Number(a)>12?Number(a)-12:a;"00"===r&&(r="12");let o=s;return 10>Number(o)&&"00"!==o&&(o="0".concat(o)),"".concat(r,":").concat(o," ").concat(n)}function eg(e){return String(e.split(" ")[2])}function ej(e){return b().toString(e)}let ey=["Day","Week","Month"],ew=Array.from({length:31},(e,t)=>String(t+1)),ev=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],eb=[],eN=["AM","PM"];for(var eD=0;eD<eN.length;eD++)for(var eS=0;eS<12;eS++)for(var eC=0;eC<60;eC+=15){let e=String(eC).padStart(2,"0"),t=0===eS?12:eS;eb.push("".concat(t,":").concat(e," ").concat(eN[eD]))}let ek=Date.now(),e_=[{subject:"Weekly Newsletter",query_to_run:"Compile a message including: 1. A recap of news from last week 2. An at-home workout I can do before work 3. A quote to inspire me for the week ahead",schedule:"9AM every Monday",next:"Next run at 9AM on Monday",crontime:"0 9 * * 1",id:ek,scheduling_request:""},{subject:"Daily Bedtime Story",query_to_run:"Compose a bedtime story that a five-year-old might enjoy. It should not exceed five paragraphs. Appeal to the imagination, but weave in learnings.",schedule:"9PM every night",next:"Next run at 9PM today",crontime:"0 21 * * *",id:ek+1,scheduling_request:""},{subject:"Front Page of Hacker News",query_to_run:"Summarize the top 5 posts from https://news.ycombinator.com/best and share them with me, including links",schedule:"9PM on every Wednesday",next:"Next run at 9PM on Wednesday",crontime:"0 21 * * 3",id:ek+2,scheduling_request:""},{subject:"Market Summary",query_to_run:"Get the market summary for today and share it with me. Focus on tech stocks and the S&P 500.",schedule:"9AM on every weekday",next:"Next run at 9AM on Monday",crontime:"0 9 * * *",id:ek+3,scheduling_request:""}];function eA(e){let t=encodeURIComponent(e.subject),a=encodeURIComponent(e.query_to_run),s=encodeURIComponent(e.crontime);return"".concat(window.location.origin,"/automations?subject=").concat(t,"&query=").concat(a,"&crontime=").concat(s)}function eI(e){let[t,a]=(0,l.useState)(!1),[n,r]=(0,l.useState)(null),[c,d]=(0,l.useState)(!1),[u,m]=(0,l.useState)(""),{toast:h}=(0,el.pm)(),x=e.automation,[f,p]=(0,l.useState)(""),[g,j]=(0,l.useState)("");return((0,l.useEffect)(()=>{let e=n||x;p(ep(e.crontime));let t=ex(e.crontime);if("Day"===t)j("Daily");else if("Week"===t){let t=ef(e.crontime);void 0===t?j("Weekly"):j("".concat(ev[t]))}else if("Month"===t){let t=eg(e.crontime);j("Monthly on the ".concat(t))}},[n,x]),(0,l.useEffect)(()=>{let e="Automation: ".concat((null==n?void 0:n.subject)||x.subject);u&&(h({title:e,description:u,action:(0,s.jsx)(ec.gD,{altText:"Dismiss",children:"Ok"})}),m(""))},[u,n,x,h]),c)?null:(0,s.jsxs)(o.Zb,{className:"bg-secondary h-full shadow-sm rounded-lg bg-gradient-to-b from-background to-slate-50 dark:to-gray-950 border ".concat(Z().automationCard),children:[(0,s.jsx)(o.Ol,{children:(0,s.jsxs)(o.ll,{className:"line-clamp-2 leading-normal flex justify-between",children:[(null==n?void 0:n.subject)||x.subject,(0,s.jsxs)(Y.J2,{children:[(0,s.jsx)(Y.xo,{asChild:!0,children:(0,s.jsx)(i.z,{className:"bg-background",variant:"ghost",children:(0,s.jsx)($.F,{className:"h-4 w-4"})})}),(0,s.jsxs)(Y.yk,{className:"w-auto grid gap-2 text-left bg-secondary",children:[!e.suggestedCard&&e.locationData&&(0,s.jsx)(eO,{isMobileWidth:e.isMobileWidth,callToAction:"Edit",createNew:!1,setIsCreating:a,setShowLoginPrompt:e.setShowLoginPrompt,setNewAutomationData:r,authenticatedData:e.authenticatedData,isCreating:t,automation:x,ipLocationData:e.locationData}),(0,s.jsx)(B.Z,{buttonTitle:"Share",includeIcon:!0,buttonClassName:"justify-start px-4 py-2 h-10",buttonVariant:"outline",title:"Share Automation",description:"Copy the link below and share it with your coworkers or friends.",url:eA(x),onShare:()=>{navigator.clipboard.writeText(eA(x))}}),!e.suggestedCard&&(0,s.jsxs)(i.z,{variant:"outline",className:"justify-start",onClick:()=>{!function(e,t){fetch("/api/trigger/automation?automation_id=".concat(e),{method:"POST"}).then(e=>{if(!e.ok)throw Error("Network response was not ok");return e}).then(e=>{t("Automation triggered. Check your inbox in a few minutes!")}).catch(e=>{t("Sorry, something went wrong. Try again later.")})}(x.id.toString(),m)},children:[(0,s.jsx)(H.s,{className:"h-4 w-4 mr-2"}),"Run Now"]}),(0,s.jsxs)(i.z,{variant:"destructive",className:"justify-start",onClick:()=>{if(e.suggestedCard){d(!0);return}!function(e,t){fetch("/api/automation?automation_id=".concat(e),{method:"DELETE"}).then(e=>e.json()).then(e=>{t(!0)})}(x.id.toString(),d)},children:[(0,s.jsx)(K.r,{className:"h-4 w-4 mr-2"}),"Delete"]})]})]})]})}),(0,s.jsx)(o.aY,{className:"text-secondary-foreground break-all",children:(null==n?void 0:n.query_to_run)||x.query_to_run}),(0,s.jsxs)(o.eW,{className:"flex flex-col items-start md:flex-row md:justify-between md:items-center gap-2",children:[(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)("div",{className:"flex items-center bg-blue-50 rounded-lg p-1.5 border-blue-200 border dark:bg-blue-800 dark:border-blue-500",children:[(0,s.jsx)(Q.T,{className:"h-4 w-4 mr-2 text-blue-700 dark:text-blue-300"}),(0,s.jsx)("div",{className:"text-s text-blue-700 dark:text-blue-300",children:f})]}),(0,s.jsxs)("div",{className:"flex items-center bg-purple-50 rounded-lg p-1.5 border-purple-200 border dark:bg-purple-800 dark:border-purple-500",children:[(0,s.jsx)(X.u,{className:"h-4 w-4 mr-2 text-purple-700 dark:text-purple-300"}),(0,s.jsx)("div",{className:"text-s text-purple-700 dark:text-purple-300",children:g})]})]}),e.suggestedCard&&e.setNewAutomationData&&(0,s.jsx)(eO,{isMobileWidth:e.isMobileWidth,callToAction:"Add",createNew:!0,setIsCreating:a,setShowLoginPrompt:e.setShowLoginPrompt,setNewAutomationData:e.setNewAutomationData,authenticatedData:e.authenticatedData,isCreating:t,automation:x,ipLocationData:e.locationData})]})]})}function eM(e){let t=(0,G.useSearchParams)(),[a,n]=(0,l.useState)(!0),r=t.get("subject"),o=t.get("query"),i=t.get("crontime");if(!r||!o||!i)return null;let c={id:0,subject:decodeURIComponent(r),query_to_run:decodeURIComponent(o),scheduling_request:"",schedule:ej(decodeURIComponent(i)),crontime:decodeURIComponent(i),next:""};return a?(0,s.jsx)(eO,{isMobileWidth:e.isMobileWidth,callToAction:"Shared",createNew:!0,setIsCreating:n,setShowLoginPrompt:e.setShowLoginPrompt,setNewAutomationData:e.setNewAutomationData,authenticatedData:e.authenticatedData,isCreating:a,automation:c,ipLocationData:e.locationData}):null}let eT=S.z.object({subject:S.z.optional(S.z.string()),everyBlah:S.z.string({required_error:"Every is required"}),dayOfWeek:S.z.optional(S.z.number()),dayOfMonth:S.z.optional(S.z.string()),timeRecurrence:S.z.string({required_error:"Time Recurrence is required"}),queryToRun:S.z.string({required_error:"Query to Run is required"})});function eR(e){let t=e.automation,a=(0,D.cI)({resolver:(0,N.F)(eT),defaultValues:{subject:null==t?void 0:t.subject,everyBlah:(null==t?void 0:t.crontime)?ex(t.crontime):"Day",dayOfWeek:(null==t?void 0:t.crontime)?ef(t.crontime):void 0,timeRecurrence:(null==t?void 0:t.crontime)?ep(t.crontime):"12:00 PM",dayOfMonth:(null==t?void 0:t.crontime)?eg(t.crontime):"1",queryToRun:null==t?void 0:t.query_to_run}});return(0,s.jsx)(eL,{authenticatedData:e.authenticatedData,locationData:e.locationData||null,form:a,onSubmit:a=>{let s=function(e,t,a,s){let n="",r=t.split(":")[1].split(" ")[0],o=t.split(":")[1].split(" ")[1],i=Number(t.split(":")[0]),l="PM"===o&&i<12?String(i+12):i;switch(e){case"Day":n="".concat(r," ").concat(l," * * *");break;case"Week":n="".concat(r," ").concat(l," * * ").concat(a||"*");break;case"Month":n="".concat(r," ").concat(l," ").concat(s," * *")}return n}(a.everyBlah,a.timeRecurrence,a.dayOfWeek,a.dayOfMonth),n="/api/automation?";n+="q=".concat(a.queryToRun),(null==t?void 0:t.id)&&!e.createNew&&(n+="&automation_id=".concat(t.id)),a.subject&&(n+="&subject=".concat(a.subject)),n+="&crontime=".concat(s),e.locationData&&(n+="&city=".concat(e.locationData.city)+"&region=".concat(e.locationData.region)+"&country=".concat(e.locationData.country)+"&timezone=".concat(e.locationData.timezone)),fetch(n,{method:e.createNew?"POST":"PUT"}).then(e=>e.json()).then(t=>{e.setIsEditing(!1),e.setUpdatedAutomationData({id:t.id,subject:t.subject||"",query_to_run:t.query_to_run,scheduling_request:t.scheduling_request,schedule:ej(t.crontime),crontime:t.crontime,next:t.next})})},create:e.createNew,isLoggedIn:e.isLoggedIn,setShowLoginPrompt:e.setShowLoginPrompt})}function eL(e){var t,a;let[n,r]=(0,l.useState)(!1),{errors:o}=e.form.formState,c=["Make a picture of","Generate a summary of","Create a newsletter of","Notify me when"];return(0,s.jsx)(_,{...e.form,children:(0,s.jsxs)("form",{onSubmit:e.form.handleSubmit(t=>{e.onSubmit(t),r(!0)}),className:"space-y-8",children:[(0,s.jsxs)(R,{children:[(0,s.jsx)(L,{children:"Setup"}),(0,s.jsxs)(P,{children:["Emails will be sent to this address. Timezone and location data will be used to schedule automations.",e.locationData&&(t=e.locationData,a=e.authenticatedData,(0,s.jsxs)("div",{className:"flex flex-wrap gap-2 items-center justify-start md:justify-end",children:[a?(0,s.jsxs)("span",{className:"rounded-lg text-sm border-secondary border p-1 flex items-center shadow-sm",children:[(0,s.jsx)(et.w,{className:"h-4 w-4 mr-2 inline text-orange-500 shadow-sm"}),a.email]}):null,t&&(0,s.jsxs)("span",{className:"rounded-lg text-sm border-secondary border p-1 flex items-center shadow-sm",children:[(0,s.jsx)(ea.x,{className:"h-4 w-4 mr-2 inline text-purple-500"}),t?"".concat(t.city,", ").concat(t.country):"Unknown"]}),t&&(0,s.jsxs)("span",{className:"rounded-lg text-sm border-secondary border p-1 flex items-center shadow-sm",children:[(0,s.jsx)(es.S,{className:"h-4 w-4 mr-2 inline text-green-500"}),t?"".concat(t.timezone):"Unknown"]})]}))]})]}),!e.create&&(0,s.jsx)(I,{control:e.form.control,name:"subject",render:e=>{var t;let{field:a}=e;return(0,s.jsxs)(R,{children:[(0,s.jsx)(L,{children:"Subject"}),(0,s.jsx)(P,{children:"This is the subject of the email you will receive."}),(0,s.jsx)(O,{children:(0,s.jsx)(q.I,{placeholder:"Digest of Healthcare AI trends",...a})}),(0,s.jsx)(z,{}),o.subject&&(0,s.jsx)(z,{children:null===(t=o.subject)||void 0===t?void 0:t.message})]})}}),(0,s.jsx)(I,{control:e.form.control,name:"everyBlah",render:e=>{var t;let{field:a}=e;return(0,s.jsxs)(R,{className:"w-full",children:[(0,s.jsx)(L,{children:"Frequency"}),(0,s.jsx)(P,{children:"How often should this automation run?"}),(0,s.jsxs)(x,{onValueChange:a.onChange,defaultValue:a.value,children:[(0,s.jsx)(O,{children:(0,s.jsxs)(p,{className:"w-[200px]",children:[(0,s.jsxs)("div",{className:"flex items-center",children:[(0,s.jsx)(J.W,{className:"h-4 w-4 mr-2 inline"}),"Every"]}),(0,s.jsx)(f,{placeholder:""})]})}),(0,s.jsx)(y,{children:ey.map(e=>(0,s.jsx)(w,{value:e,children:e},e))})]}),(0,s.jsx)(z,{}),o.subject&&(0,s.jsx)(z,{children:null===(t=o.everyBlah)||void 0===t?void 0:t.message})]})}}),"Week"===e.form.watch("everyBlah")&&(0,s.jsx)(I,{control:e.form.control,name:"dayOfWeek",render:e=>{var t;let{field:a}=e;return(0,s.jsxs)(R,{className:"w-full",children:[(0,s.jsx)(P,{children:"Every week, on which day should this automation run?"}),(0,s.jsxs)(x,{onValueChange:e=>a.onChange(Number(e)),defaultValue:String(a.value),children:[(0,s.jsx)(O,{children:(0,s.jsxs)(p,{className:"w-[200px]",children:[(0,s.jsxs)("div",{className:"flex items-center",children:[(0,s.jsx)(ee.n,{className:"h-4 w-4 mr-2 inline"}),"On"]}),(0,s.jsx)(f,{placeholder:""})]})}),(0,s.jsx)(y,{children:ev.map((e,t)=>(0,s.jsx)(w,{value:String(t),children:e},e))})]}),(0,s.jsx)(z,{}),o.subject&&(0,s.jsx)(z,{children:null===(t=o.dayOfWeek)||void 0===t?void 0:t.message})]})}}),"Month"===e.form.watch("everyBlah")&&(0,s.jsx)(I,{control:e.form.control,name:"dayOfMonth",render:e=>{var t;let{field:a}=e;return(0,s.jsxs)(R,{className:"w-full",children:[(0,s.jsx)(P,{children:"Every month, on which day should the automation run?"}),(0,s.jsxs)(x,{onValueChange:a.onChange,defaultValue:a.value,children:[(0,s.jsx)(O,{children:(0,s.jsxs)(p,{className:"w-[200px]",children:[(0,s.jsxs)("div",{className:"flex items-center",children:[(0,s.jsx)(ee.n,{className:"h-4 w-4 mr-2 inline"}),"On the"]}),(0,s.jsx)(f,{placeholder:""})]})}),(0,s.jsx)(y,{children:ew.map(e=>(0,s.jsx)(w,{value:e,children:e},e))})]}),(0,s.jsx)(z,{}),o.subject&&(0,s.jsx)(z,{children:null===(t=o.dayOfMonth)||void 0===t?void 0:t.message})]})}}),("Day"===e.form.watch("everyBlah")||"Week"==e.form.watch("everyBlah")||"Month"==e.form.watch("everyBlah"))&&(0,s.jsx)(I,{control:e.form.control,name:"timeRecurrence",render:e=>{var t;let{field:a}=e;return(0,s.jsxs)(R,{className:"w-full",children:[(0,s.jsx)(L,{children:"Time"}),(0,s.jsx)(P,{children:"On the days this automation runs, at what time should it run?"}),(0,s.jsxs)(x,{onValueChange:a.onChange,defaultValue:a.value,children:[(0,s.jsx)(O,{children:(0,s.jsxs)(p,{className:"w-[200px]",children:[(0,s.jsxs)("div",{className:"flex items-center",children:[(0,s.jsx)(X.u,{className:"h-4 w-4 mr-2 inline"}),"At"]}),(0,s.jsx)(f,{placeholder:""})]})}),(0,s.jsx)(y,{children:eb.map(e=>(0,s.jsx)(w,{value:e,children:e},e))})]}),(0,s.jsx)(z,{}),o.subject&&(0,s.jsx)(z,{children:null===(t=o.timeRecurrence)||void 0===t?void 0:t.message})]})}}),(0,s.jsx)(I,{control:e.form.control,name:"queryToRun",render:t=>{var a;let{field:n}=t;return(0,s.jsxs)(R,{children:[(0,s.jsx)(L,{children:"Instructions"}),(0,s.jsx)(P,{children:"What do you want Khoj to do?"}),e.create&&(0,s.jsx)("div",{children:c.map(e=>{var t;return t=n.onChange,(0,s.jsxs)(i.z,{className:"text-xs bg-slate-50 dark:bg-slate-950 h-auto p-1.5 m-1 rounded-full",variant:"ghost",onClick:a=>{a.preventDefault(),t({target:{value:e}},a)},children:[e,"..."]},e)})}),(0,s.jsx)(O,{children:(0,s.jsx)(U.g,{placeholder:"Create a summary of the latest news about AI in healthcare.",value:n.value,onChange:n.onChange})}),(0,s.jsx)(z,{}),o.subject&&(0,s.jsx)(z,{children:null===(a=o.queryToRun)||void 0===a?void 0:a.message})]})}}),(0,s.jsx)("fieldset",{disabled:n,children:e.isLoggedIn?n?(0,s.jsx)(i.z,{type:"submit",disabled:!0,children:"Saving..."}):(0,s.jsx)(i.z,{type:"submit",children:"Save"}):(0,s.jsx)(i.z,{onClick:t=>{t.preventDefault(),e.setShowLoginPrompt(!0)},variant:"default",children:"Login to Save"})})]})})}function eO(e){return e.isMobileWidth?(0,s.jsxs)(em.dy,{open:e.isCreating,onOpenChange:t=>{e.setIsCreating(t)},children:[(0,s.jsx)(em.Qz,{asChild:!0,children:(0,s.jsxs)(i.z,{className:"shadow-sm justify-start",variant:"outline",children:[(0,s.jsx)(en.v,{className:"h-4 w-4 mr-2"}),e.callToAction]})}),(0,s.jsxs)(em.sc,{className:"p-2",children:[(0,s.jsx)(em.iI,{children:"Automation"}),(0,s.jsx)(eR,{createNew:e.createNew,automation:e.automation,setIsEditing:e.setIsCreating,isLoggedIn:!!e.authenticatedData,authenticatedData:e.authenticatedData,setShowLoginPrompt:e.setShowLoginPrompt,setUpdatedAutomationData:e.setNewAutomationData,locationData:e.ipLocationData})]})]}):(0,s.jsxs)(W.Vq,{open:e.isCreating,onOpenChange:t=>{e.setIsCreating(t)},children:[(0,s.jsx)(W.hg,{asChild:!0,children:(0,s.jsxs)(i.z,{className:"shadow-sm justify-start",variant:"outline",children:[(0,s.jsx)(en.v,{className:"h-4 w-4 mr-2"}),e.callToAction]})}),(0,s.jsxs)(W.cZ,{children:[(0,s.jsx)(E.$N,{children:"Automation"}),(0,s.jsx)(eR,{automation:e.automation,createNew:e.createNew,setIsEditing:e.setIsCreating,isLoggedIn:!!e.authenticatedData,authenticatedData:e.authenticatedData,setShowLoginPrompt:e.setShowLoginPrompt,setUpdatedAutomationData:e.setNewAutomationData,locationData:e.ipLocationData})]})]})}function eP(){let e=(0,eo.G)(),{data:t,error:a,isLoading:o}=(0,n.ZP)(e?"automations":null,eh,{revalidateOnFocus:!1}),[c,d]=(0,l.useState)(!1),[u,m]=(0,l.useState)(null),[h,x]=(0,l.useState)([]),[f,p]=(0,l.useState)([]),[g,j]=(0,l.useState)(!1),y=(0,V.IC)(),w=(0,V.k6)();return((0,l.useEffect)(()=>{u&&(x([...h,u]),m(null))},[u,h]),(0,l.useEffect)(()=>{let e=t?t.concat(h):h;e&&p(e_.filter(t=>void 0===e.find(e=>t.subject===e.subject)))},[t,h]),a)?(0,s.jsx)(r.l,{message:"Oops, something went wrong. Please refresh the page."}):(0,s.jsx)("main",{className:"w-full mx-auto",children:(0,s.jsxs)("div",{className:"grid w-full mx-auto",children:[(0,s.jsx)("div",{className:"".concat(Z().sidePanel," top-0"),children:(0,s.jsx)(eu.Z,{conversationId:null,uploadedFiles:[],isMobileWidth:y})}),(0,s.jsxs)("div",{className:"".concat(Z().pageLayout," w-full"),children:[(0,s.jsxs)("div",{className:"pt-6 md:pt-8 grid gap-1 md:flex md:justify-between",children:[(0,s.jsx)("h1",{className:"text-3xl flex items-center",children:"Automations"}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-2 items-center justify-start",children:[e?(0,s.jsxs)("span",{className:"rounded-lg text-sm border-secondary border p-1 flex items-center shadow-sm",children:[(0,s.jsx)(et.w,{className:"h-4 w-4 mr-2 inline text-orange-500 shadow-sm"}),e.email]}):null,w&&(0,s.jsxs)("span",{className:"rounded-lg text-sm border-secondary border p-1 flex items-center shadow-sm",children:[(0,s.jsx)(ea.x,{className:"h-4 w-4 mr-2 inline text-purple-500"}),w?"".concat(w.city,", ").concat(w.country):"Unknown"]}),w&&(0,s.jsxs)("span",{className:"rounded-lg text-sm border-secondary border p-1 flex items-center shadow-sm",children:[(0,s.jsx)(es.S,{className:"h-4 w-4 mr-2 inline text-green-500"}),w?"".concat(w.timezone):"Unknown"]})]})]}),g&&(0,s.jsx)(ei.Z,{loginRedirectMessage:"Create an account to make your own automation",onOpenChange:j}),(0,s.jsx)(ed.bZ,{className:"bg-secondary border-none my-4",children:(0,s.jsxs)(ed.X,{children:[(0,s.jsx)(er.B,{weight:"fill",className:"h-4 w-4 text-purple-400 inline"}),(0,s.jsx)("span",{className:"font-bold",children:"How it works"})," Automations help you structure your time by automating tasks you do regularly. Build your own, or try out our presets. Get results straight to your inbox."]})}),(0,s.jsxs)("div",{className:"flex justify-between items-center py-4",children:[(0,s.jsx)("h3",{className:"text-xl",children:"Your Creations"}),e?(0,s.jsx)(eO,{isMobileWidth:y,callToAction:"Create Automation",createNew:!0,setIsCreating:d,setShowLoginPrompt:j,setNewAutomationData:m,authenticatedData:e,isCreating:c,ipLocationData:w}):(0,s.jsxs)(i.z,{className:"shadow-sm",onClick:()=>j(!0),variant:"outline",children:[(0,s.jsx)(en.v,{className:"h-4 w-4 mr-2"}),"Create Automation"]})]}),(0,s.jsx)(l.Suspense,{children:(0,s.jsx)(eM,{isMobileWidth:y,authenticatedData:e,locationData:w,isLoggedIn:!!e,setShowLoginPrompt:j,setNewAutomationData:m})}),(!t||0===t.length)&&0==h.length&&!o&&(0,s.jsxs)("div",{className:"px-4",children:["So empty! Create your own automation to get started.",(0,s.jsx)("div",{className:"mt-4",children:e?(0,s.jsx)(eO,{isMobileWidth:y,callToAction:"Design Automation",createNew:!0,setIsCreating:d,setShowLoginPrompt:j,setNewAutomationData:m,authenticatedData:e,isCreating:c,ipLocationData:w}):(0,s.jsx)(i.z,{onClick:()=>j(!0),variant:"default",children:"Design"})})]}),o&&(0,s.jsx)(r.l,{message:"booting up your automations"}),(0,s.jsxs)("div",{className:"".concat(Z().automationsLayout),children:[t&&t.map(t=>(0,s.jsx)(eI,{isMobileWidth:y,authenticatedData:e,automation:t,locationData:w,isLoggedIn:!!e,setShowLoginPrompt:j},t.id)),h.map(t=>(0,s.jsx)(eI,{isMobileWidth:y,authenticatedData:e,automation:t,locationData:w,isLoggedIn:!!e,setShowLoginPrompt:j},t.id))]}),(0,s.jsx)("h3",{className:"text-xl py-4",children:"Try these out"}),(0,s.jsx)("div",{className:"".concat(Z().automationsLayout),children:f.map(t=>(0,s.jsx)(eI,{isMobileWidth:y,setNewAutomationData:m,authenticatedData:e,automation:t,locationData:w,isLoggedIn:!!e,setShowLoginPrompt:j,suggestedCard:!0},t.id))})]})]})})}},66820:function(e,t,a){"use strict";a.d(t,{Z:function(){return o}});var s=a(57437),n=a(6780),r=a(87138);function o(e){return(0,s.jsx)(n.aR,{open:!0,onOpenChange:e.onOpenChange,children:(0,s.jsxs)(n._T,{children:[(0,s.jsx)(n.fY,{children:(0,s.jsx)(n.f$,{children:"Sign in to Khoj to continue"})}),(0,s.jsxs)(n.yT,{children:[e.loginRedirectMessage,". By logging in, you agree to our"," ",(0,s.jsx)(r.default,{href:"https://khoj.dev/terms-of-service",children:"Terms of Service."})]}),(0,s.jsxs)(n.xo,{children:[(0,s.jsx)(n.le,{children:"Dismiss"}),(0,s.jsx)(n.OL,{className:"bg-slate-400 hover:bg-slate-500",onClick:()=>{window.location.href="/login?next=".concat(encodeURIComponent(window.location.pathname))},children:(0,s.jsxs)(r.default,{href:"/login?next=".concat(encodeURIComponent(window.location.pathname)),children:[" ","Login"]})})]})]})})}},18642:function(e,t,a){"use strict";a.d(t,{Z:function(){return c}});var s=a(57437),n=a(90837),r=a(50495),o=a(83102),i=a(67135),l=a(34797);function c(e){var t;return(0,s.jsxs)(n.Vq,{children:[(0,s.jsx)(n.hg,{asChild:!0,onClick:e.onShare,children:(0,s.jsxs)(r.z,{size:"sm",className:"".concat(e.buttonClassName||"px-3"),variant:null!==(t=e.buttonVariant)&&void 0!==t?t:"default",children:[e.includeIcon&&(0,s.jsx)(l.m,{className:"w-4 h-4 mr-2"}),e.buttonTitle]})}),(0,s.jsxs)(n.cZ,{children:[(0,s.jsxs)(n.fK,{children:[(0,s.jsx)(n.$N,{children:e.title}),(0,s.jsx)(n.Be,{children:e.description})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsxs)("div",{className:"grid flex-1 gap-2",children:[(0,s.jsx)(i._,{htmlFor:"link",className:"sr-only",children:"Link"}),(0,s.jsx)(o.I,{id:"link",defaultValue:e.url,readOnly:!0})]}),(0,s.jsx)(r.z,{type:"submit",size:"sm",className:"px-3",onClick:()=>(function(e){let t=navigator.clipboard;t&&t.writeText(e)})(e.url),children:(0,s.jsx)("span",{children:"Copy"})})]})]})]})}},47412:function(e,t,a){"use strict";a.d(t,{X:function(){return c},bZ:function(){return l}});var s=a(57437),n=a(2265),r=a(12218),o=a(37440);let i=(0,r.j)("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),l=n.forwardRef((e,t)=>{let{className:a,variant:n,...r}=e;return(0,s.jsx)("div",{ref:t,role:"alert",className:(0,o.cn)(i({variant:n}),a),...r})});l.displayName="Alert",n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)("h5",{ref:t,className:(0,o.cn)("mb-1 font-medium leading-none tracking-tight",a),...n})}).displayName="AlertTitle";let c=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)("div",{ref:t,className:(0,o.cn)("text-sm [&_p]:leading-relaxed",a),...n})});c.displayName="AlertDescription"},67135:function(e,t,a){"use strict";a.d(t,{_:function(){return c}});var s=a(57437),n=a(2265),r=a(38364),o=a(12218),i=a(37440);let l=(0,o.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),c=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(r.f,{ref:t,className:(0,i.cn)(l(),a),...n})});c.displayName=r.f.displayName},93146:function(e,t,a){"use strict";a.d(t,{g:function(){return o}});var s=a(57437),n=a(2265),r=a(37440);let o=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)("textarea",{className:(0,r.cn)("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",a),ref:t,...n})});o.displayName="Textarea"},50151:function(e,t,a){"use strict";a.d(t,{FN:function(){return m},Mi:function(){return f},VW:function(){return c},_i:function(){return d},gD:function(){return h},lj:function(){return p},sA:function(){return x}});var s=a(57437),n=a(2265),r=a(44504),o=a(12218),i=a(74697),l=a(37440);let c=r.zt,d=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(r.l_,{ref:t,className:(0,l.cn)("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",a),...n})});d.displayName=r.l_.displayName;let u=(0,o.j)("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),m=n.forwardRef((e,t)=>{let{className:a,variant:n,...o}=e;return(0,s.jsx)(r.fC,{ref:t,className:(0,l.cn)(u({variant:n}),a),...o})});m.displayName=r.fC.displayName;let h=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(r.aU,{ref:t,className:(0,l.cn)("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",a),...n})});h.displayName=r.aU.displayName;let x=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(r.x8,{ref:t,className:(0,l.cn)("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",a),"toast-close":"",...n,children:(0,s.jsx)(i.Z,{className:"h-4 w-4"})})});x.displayName=r.x8.displayName;let f=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(r.Dx,{ref:t,className:(0,l.cn)("text-sm font-semibold",a),...n})});f.displayName=r.Dx.displayName;let p=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(r.dk,{ref:t,className:(0,l.cn)("text-sm opacity-90",a),...n})});p.displayName=r.dk.displayName},35657:function(e,t,a){"use strict";a.d(t,{pm:function(){return m}});var s=a(2265);let n=0,r=new Map,o=e=>{if(r.has(e))return;let t=setTimeout(()=>{r.delete(e),d({type:"REMOVE_TOAST",toastId:e})},1e6);r.set(e,t)},i=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:a}=t;return a?o(a):e.toasts.forEach(e=>{o(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===a||void 0===a?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},l=[],c={toasts:[]};function d(e){c=i(c,e),l.forEach(e=>{e(c)})}function u(e){let{...t}=e,a=(n=(n+1)%Number.MAX_SAFE_INTEGER).toString(),s=()=>d({type:"DISMISS_TOAST",toastId:a});return d({type:"ADD_TOAST",toast:{...t,id:a,open:!0,onOpenChange:e=>{e||s()}}}),{id:a,dismiss:s,update:e=>d({type:"UPDATE_TOAST",toast:{...e,id:a}})}}function m(){let[e,t]=s.useState(c);return s.useEffect(()=>(l.push(t),()=>{let e=l.indexOf(t);e>-1&&l.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>d({type:"DISMISS_TOAST",toastId:e})}}},23611:function(e){e.exports={automationsLayout:"automations_automationsLayout__Atoh_",automationCard:"automations_automationCard__BKidA",pageLayout:"automations_pageLayout__OaoYA",sidePanel:"automations_sidePanel__MPciO"}}},function(e){e.O(0,[9427,9001,3062,4504,9162,1603,2971,7023,1744],function(){return e(e.s=2743)}),_N_E=e.O()}]);