khoj 1.38.1.dev9__py3-none-any.whl → 1.38.1.dev18__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 (39) hide show
  1. khoj/interface/compiled/404/index.html +2 -2
  2. khoj/interface/compiled/_next/static/chunks/{2327-0bbe3ee35f80659f.js → 2327-b21ecded25471e6c.js} +1 -1
  3. khoj/interface/compiled/_next/static/chunks/{8515-f305779d95dd5780.js → 8515-010dd769c584b672.js} +1 -1
  4. khoj/interface/compiled/_next/static/chunks/app/chat/{page-926ee054e844236a.js → page-e3f298848d59803b.js} +1 -1
  5. khoj/interface/compiled/_next/static/chunks/{webpack-c6bde5961098facd.js → webpack-2707657083ef5456.js} +1 -1
  6. khoj/interface/compiled/agents/index.html +2 -2
  7. khoj/interface/compiled/agents/index.txt +2 -2
  8. khoj/interface/compiled/automations/index.html +2 -2
  9. khoj/interface/compiled/automations/index.txt +3 -3
  10. khoj/interface/compiled/chat/index.html +2 -2
  11. khoj/interface/compiled/chat/index.txt +2 -2
  12. khoj/interface/compiled/index.html +2 -2
  13. khoj/interface/compiled/index.txt +2 -2
  14. khoj/interface/compiled/search/index.html +2 -2
  15. khoj/interface/compiled/search/index.txt +2 -2
  16. khoj/interface/compiled/settings/index.html +2 -2
  17. khoj/interface/compiled/settings/index.txt +5 -5
  18. khoj/interface/compiled/share/chat/index.html +2 -2
  19. khoj/interface/compiled/share/chat/index.txt +2 -2
  20. khoj/processor/conversation/google/gemini_chat.py +2 -3
  21. khoj/processor/conversation/google/utils.py +33 -2
  22. khoj/processor/conversation/openai/gpt.py +39 -1
  23. khoj/processor/conversation/prompts.py +3 -1
  24. khoj/processor/tools/run_code.py +1 -1
  25. khoj/routers/helpers.py +15 -7
  26. khoj/utils/initialization.py +23 -14
  27. {khoj-1.38.1.dev9.dist-info → khoj-1.38.1.dev18.dist-info}/METADATA +1 -1
  28. {khoj-1.38.1.dev9.dist-info → khoj-1.38.1.dev18.dist-info}/RECORD +39 -39
  29. /khoj/interface/compiled/_next/static/{J5RtRciYC8sK6ywli27r1 → a8Ep1B_uDjBIIAWNMjH5_}/_buildManifest.js +0 -0
  30. /khoj/interface/compiled/_next/static/{J5RtRciYC8sK6ywli27r1 → a8Ep1B_uDjBIIAWNMjH5_}/_ssgManifest.js +0 -0
  31. /khoj/interface/compiled/_next/static/chunks/{1915-ab4353eaca76f690.js → 1915-1943ee8a628b893c.js} +0 -0
  32. /khoj/interface/compiled/_next/static/chunks/{2117-1c18aa2098982bf9.js → 2117-5a41630a2bd2eae8.js} +0 -0
  33. /khoj/interface/compiled/_next/static/chunks/{4363-4efaf12abe696251.js → 4363-e6ac2203564d1a3b.js} +0 -0
  34. /khoj/interface/compiled/_next/static/chunks/{4447-5d44807c40355b1a.js → 4447-e038b251d626c340.js} +0 -0
  35. /khoj/interface/compiled/_next/static/chunks/{8667-adbe6017a66cef10.js → 8667-8136f74e9a086fca.js} +0 -0
  36. /khoj/interface/compiled/_next/static/chunks/{9259-d8bcd9da9e80c81e.js → 9259-640fdd77408475df.js} +0 -0
  37. {khoj-1.38.1.dev9.dist-info → khoj-1.38.1.dev18.dist-info}/WHEEL +0 -0
  38. {khoj-1.38.1.dev9.dist-info → khoj-1.38.1.dev18.dist-info}/entry_points.txt +0 -0
  39. {khoj-1.38.1.dev9.dist-info → khoj-1.38.1.dev18.dist-info}/licenses/LICENSE +0 -0
khoj/routers/helpers.py CHANGED
@@ -34,7 +34,7 @@ from apscheduler.job import Job
34
34
  from apscheduler.triggers.cron import CronTrigger
35
35
  from asgiref.sync import sync_to_async
36
36
  from fastapi import Depends, Header, HTTPException, Request, UploadFile
37
- from pydantic import BaseModel
37
+ from pydantic import BaseModel, Field
38
38
  from starlette.authentication import has_required_scope
39
39
  from starlette.requests import URL
40
40
 
@@ -321,13 +321,19 @@ async def acheck_if_safe_prompt(system_prompt: str, user: KhojUser = None, lax:
321
321
  is_safe = True
322
322
  reason = ""
323
323
 
324
+ class SafetyCheck(BaseModel):
325
+ safe: bool
326
+ reason: str
327
+
324
328
  with timer("Chat actor: Check if safe prompt", logger):
325
- response = await send_message_to_model_wrapper(safe_prompt_check, user=user)
329
+ response = await send_message_to_model_wrapper(
330
+ safe_prompt_check, user=user, response_type="json_object", response_schema=SafetyCheck
331
+ )
326
332
 
327
333
  response = response.strip()
328
334
  try:
329
335
  response = json.loads(clean_json(response))
330
- is_safe = response.get("safe", "True") == "True"
336
+ is_safe = str(response.get("safe", "true")).lower() == "true"
331
337
  if not is_safe:
332
338
  reason = response.get("reason", "")
333
339
  except Exception:
@@ -400,7 +406,7 @@ async def aget_data_sources_and_output_format(
400
406
  agent_chat_model = agent.chat_model if agent else None
401
407
 
402
408
  class PickTools(BaseModel):
403
- source: List[str]
409
+ source: List[str] = Field(..., min_items=1)
404
410
  output: str
405
411
 
406
412
  with timer("Chat actor: Infer information sources to refer", logger):
@@ -489,7 +495,7 @@ async def infer_webpage_urls(
489
495
  agent_chat_model = agent.chat_model if agent else None
490
496
 
491
497
  class WebpageUrls(BaseModel):
492
- links: List[str]
498
+ links: List[str] = Field(..., min_items=1, max_items=max_webpages)
493
499
 
494
500
  with timer("Chat actor: Infer webpage urls to read", logger):
495
501
  response = await send_message_to_model_wrapper(
@@ -535,15 +541,17 @@ async def generate_online_subqueries(
535
541
  username = prompts.user_name.format(name=user.get_full_name()) if user.get_full_name() else ""
536
542
  chat_history = construct_chat_history(conversation_history)
537
543
 
544
+ max_queries = 3
538
545
  utc_date = datetime.utcnow().strftime("%Y-%m-%d")
539
546
  personality_context = (
540
547
  prompts.personality_context.format(personality=agent.personality) if agent and agent.personality else ""
541
548
  )
542
549
 
543
550
  online_queries_prompt = prompts.online_search_conversation_subqueries.format(
544
- current_date=utc_date,
545
551
  query=q,
546
552
  chat_history=chat_history,
553
+ max_queries=max_queries,
554
+ current_date=utc_date,
547
555
  location=location,
548
556
  username=username,
549
557
  personality_context=personality_context,
@@ -552,7 +560,7 @@ async def generate_online_subqueries(
552
560
  agent_chat_model = agent.chat_model if agent else None
553
561
 
554
562
  class OnlineQueries(BaseModel):
555
- queries: List[str]
563
+ queries: List[str] = Field(..., min_items=1, max_items=max_queries)
556
564
 
557
565
  with timer("Chat actor: Generate online search subqueries", logger):
558
566
  response = await send_message_to_model_wrapper(
@@ -51,11 +51,15 @@ def initialization(interactive: bool = True):
51
51
  # Get available chat models from OpenAI compatible API
52
52
  try:
53
53
  openai_client = openai.OpenAI(api_key=openai_api_key, base_url=openai_base_url)
54
- default_chat_models = [model.id for model in openai_client.models.list()]
54
+ available_chat_models = [model.id for model in openai_client.models.list()]
55
55
  # Put the available default OpenAI models at the top
56
- valid_default_models = [model for model in default_openai_chat_models if model in default_chat_models]
57
- other_available_models = [model for model in default_chat_models if model not in valid_default_models]
58
- default_chat_models = valid_default_models + other_available_models
56
+ known_available_models = [
57
+ model for model in default_openai_chat_models if model in available_chat_models
58
+ ]
59
+ other_available_models = [
60
+ model for model in available_chat_models if model not in known_available_models
61
+ ]
62
+ default_chat_models = known_available_models + other_available_models
59
63
  except Exception as e:
60
64
  logger.warning(
61
65
  f"⚠️ Failed to fetch {provider} chat models. Fallback to default models. Error: {str(e)}"
@@ -75,7 +79,7 @@ def initialization(interactive: bool = True):
75
79
 
76
80
  # Setup OpenAI speech to text model
77
81
  if openai_configured:
78
- default_speech2text_model = "whisper-1"
82
+ default_speech2text_model = "whisper-1" if openai_base_url is None else None
79
83
  if interactive:
80
84
  openai_speech2text_model = input(
81
85
  f"Enter the OpenAI speech to text model you want to use (default: {default_speech2text_model}): "
@@ -83,13 +87,16 @@ def initialization(interactive: bool = True):
83
87
  openai_speech2text_model = openai_speech2text_model or default_speech2text_model
84
88
  else:
85
89
  openai_speech2text_model = default_speech2text_model
86
- SpeechToTextModelOptions.objects.create(
87
- model_name=openai_speech2text_model, model_type=SpeechToTextModelOptions.ModelType.OPENAI
88
- )
90
+
91
+ if openai_speech2text_model:
92
+ SpeechToTextModelOptions.objects.create(
93
+ model_name=openai_speech2text_model,
94
+ model_type=SpeechToTextModelOptions.ModelType.OPENAI,
95
+ )
89
96
 
90
97
  # Setup OpenAI text to image model
91
98
  if openai_configured:
92
- default_text_to_image_model = "dall-e-3"
99
+ default_text_to_image_model = "dall-e-3" if openai_base_url is None else None
93
100
  if interactive:
94
101
  openai_text_to_image_model = input(
95
102
  f"Enter the OpenAI text to image model you want to use (default: {default_text_to_image_model}): "
@@ -97,11 +104,13 @@ def initialization(interactive: bool = True):
97
104
  openai_text_to_image_model = openai_text_to_image_model or default_text_to_image_model
98
105
  else:
99
106
  openai_text_to_image_model = default_text_to_image_model
100
- TextToImageModelConfig.objects.create(
101
- model_name=openai_text_to_image_model,
102
- model_type=TextToImageModelConfig.ModelType.OPENAI,
103
- ai_model_api=openai_provider,
104
- )
107
+
108
+ if openai_text_to_image_model:
109
+ TextToImageModelConfig.objects.create(
110
+ model_name=openai_text_to_image_model,
111
+ model_type=TextToImageModelConfig.ModelType.OPENAI,
112
+ ai_model_api=openai_provider,
113
+ )
105
114
 
106
115
  # Set up Google's Gemini online chat models
107
116
  google_ai_configured, google_ai_provider = _setup_chat_model_provider(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: khoj
3
- Version: 1.38.1.dev9
3
+ Version: 1.38.1.dev18
4
4
  Summary: Your Second Brain
5
5
  Project-URL: Homepage, https://khoj.dev
6
6
  Project-URL: Documentation, https://docs.khoj.dev
@@ -127,26 +127,26 @@ khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvt
127
127
  khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
128
128
  khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
129
129
  khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
130
- khoj/interface/compiled/index.html,sha256=2ApJrMTXtiz4Hn2i03O0QmMHVj4PKfl72_7L4z3BVX0,53319
131
- khoj/interface/compiled/index.txt,sha256=rLYjeCu_YAMVcZxqNtaCejX-yT7DEphpp5uLxMuNnR8,7717
130
+ khoj/interface/compiled/index.html,sha256=SGf2zZIRuPtait6_s0M3Wim_8rAN8DxvCHfFoSsHt5g,53319
131
+ khoj/interface/compiled/index.txt,sha256=esle6XWJVY4GRg3qwk3LwNMbjBs3c28aXVpkCGjr8jE,7717
132
132
  khoj/interface/compiled/khoj.webmanifest,sha256=9wOK2BMS6xH5NKd2eaUgTLg9WepIxB2K2U33KU89LD8,2543
133
133
  khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
134
134
  khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
135
135
  khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
136
136
  khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
137
137
  khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
138
- khoj/interface/compiled/404/index.html,sha256=2GJ1AnnESIMyL7cZrWrhsyhPMXGuiNubGApEiMAycYU,17063
139
- khoj/interface/compiled/_next/static/J5RtRciYC8sK6ywli27r1/_buildManifest.js,sha256=f2_nYnw25hHWQJ-39Lf5OH1u6kgdbOInyfplqgjvAV4,224
140
- khoj/interface/compiled/_next/static/J5RtRciYC8sK6ywli27r1/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
138
+ khoj/interface/compiled/404/index.html,sha256=x20S9cyyBULUm9oFTjt292gYnaPscHIQcXLwtDwjYG8,17063
139
+ khoj/interface/compiled/_next/static/a8Ep1B_uDjBIIAWNMjH5_/_buildManifest.js,sha256=f2_nYnw25hHWQJ-39Lf5OH1u6kgdbOInyfplqgjvAV4,224
140
+ khoj/interface/compiled/_next/static/a8Ep1B_uDjBIIAWNMjH5_/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
141
141
  khoj/interface/compiled/_next/static/chunks/1160-8e7e42e77145b712.js,sha256=-QFyQbKtlBEXOxl_xK246z8WERbIc88SU1RehiTjcaI,317731
142
142
  khoj/interface/compiled/_next/static/chunks/1243.ea2826fb35adb15a.js,sha256=Y6ceAwyTH4HSGDvBRoBB-RVXRCzGGr8NSPcspYF5OM8,182
143
143
  khoj/interface/compiled/_next/static/chunks/133.392ae90c3b2a67f2.js,sha256=IK-mb9ZlF6uJUdU8AuXsppc99tFL8svJvZtKNZGNtcY,411
144
144
  khoj/interface/compiled/_next/static/chunks/1592.b069bdb7aaddd2eb.js,sha256=VUaP2gjX3W9tA9pOH_VIPG_2BIg7Wk1AICrfU5iHgrk,71096
145
- khoj/interface/compiled/_next/static/chunks/1915-ab4353eaca76f690.js,sha256=qArqL3leavWRcZkX4ZuWgemtKnmV6c-_yrNtMu_8SeY,11277
145
+ khoj/interface/compiled/_next/static/chunks/1915-1943ee8a628b893c.js,sha256=qArqL3leavWRcZkX4ZuWgemtKnmV6c-_yrNtMu_8SeY,11277
146
146
  khoj/interface/compiled/_next/static/chunks/2069.f060659791c0c484.js,sha256=C_oat_BkZcLOHsyJlNN_5I55fB7ee1zkkZ9FT5zOzn4,186
147
- khoj/interface/compiled/_next/static/chunks/2117-1c18aa2098982bf9.js,sha256=3KtUs1Aeno0OfsXZ2ymJ0d5HXwO2_Osq2uGIIGiDagI,123994
147
+ khoj/interface/compiled/_next/static/chunks/2117-5a41630a2bd2eae8.js,sha256=3KtUs1Aeno0OfsXZ2ymJ0d5HXwO2_Osq2uGIIGiDagI,123994
148
148
  khoj/interface/compiled/_next/static/chunks/2170.45431769330fa5b7.js,sha256=C7Puu9x18DhdR5Sh8XXvTzPdP_HTK6WhsJDNW-NoB7o,24019
149
- khoj/interface/compiled/_next/static/chunks/2327-0bbe3ee35f80659f.js,sha256=8yNIQilcj1QOr7dEYHN0zCYS46ckF5KuvrckvgEPEEk,127377
149
+ khoj/interface/compiled/_next/static/chunks/2327-b21ecded25471e6c.js,sha256=BFM9odS4wSUfVJSBaqUqhE0D79Dxe9fDRyg-H50WNdY,127377
150
150
  khoj/interface/compiled/_next/static/chunks/3237.c4754f02f1a388cb.js,sha256=Z5iOEX0mPj-5tuoU4Bq_IjpAlyc4MURKlBoaExsULTk,177
151
151
  khoj/interface/compiled/_next/static/chunks/3305.1fc7297ba154ee95.js,sha256=mfrpv-asuYmBmbqIh1p3UnPMAxg2pKlxE3Rzmth8O6s,37266
152
152
  khoj/interface/compiled/_next/static/chunks/3332.6313db5217bb1b67.js,sha256=4lNF9JhPQdTX2xDojGOvvanM0Y0VScwM3kmF4p0RHFg,3776
@@ -155,9 +155,9 @@ khoj/interface/compiled/_next/static/chunks/3460.39c2b9b6a3898384.js,sha256=gehY
155
155
  khoj/interface/compiled/_next/static/chunks/4299.2aaa569416cfc208.js,sha256=3HJ8OvB9BDJW0-qCBd1eUmChoBAxaCX6R81ftWZ1CHw,21659
156
156
  khoj/interface/compiled/_next/static/chunks/4327.238d15c09a039b8b.js,sha256=mZa4Oyltc9JrokqnalRTjzcvWgX4S3i3REXiHzRYH1o,296536
157
157
  khoj/interface/compiled/_next/static/chunks/4357-d86d3401f6f6f802.js,sha256=KDM1m01Fz-vcAMfxQfYPO6SEZJVK7z4241JOCEvou6Y,45442
158
- khoj/interface/compiled/_next/static/chunks/4363-4efaf12abe696251.js,sha256=YFO-i3X2LrX9c4MgYY1kPsoRBaqVUkmfAKI62Rz2BVI,468054
158
+ khoj/interface/compiled/_next/static/chunks/4363-e6ac2203564d1a3b.js,sha256=YFO-i3X2LrX9c4MgYY1kPsoRBaqVUkmfAKI62Rz2BVI,468054
159
159
  khoj/interface/compiled/_next/static/chunks/4415.e0c0da5eedae4dd7.js,sha256=DEf8HPEstDFvBflOU0j0ilYHlVJilGcGsLgUx524FZQ,25544
160
- khoj/interface/compiled/_next/static/chunks/4447-5d44807c40355b1a.js,sha256=Uw8IrcKmVR3wba-FB9maP9i9l_kAYg59r8PN1T_ipQE,19621
160
+ khoj/interface/compiled/_next/static/chunks/4447-e038b251d626c340.js,sha256=Uw8IrcKmVR3wba-FB9maP9i9l_kAYg59r8PN1T_ipQE,19621
161
161
  khoj/interface/compiled/_next/static/chunks/4609-33aa487dff03a9fd.js,sha256=1M6QAfVZa2g2Q4jXRdSI1wjrZ4G9yKjINJt8qyTKm1A,24698
162
162
  khoj/interface/compiled/_next/static/chunks/4610.a1e7f40a759ed2aa.js,sha256=b5JDRPyQv2MsibYoK2TDT76LMAoDTRzFM-fa81mJxow,14102
163
163
  khoj/interface/compiled/_next/static/chunks/4650.41f041da0ad365ad.js,sha256=EZeckNrMc3ZUX_LexPgaeusEq-dGBNEPm7nc5nvb4OM,33902
@@ -184,13 +184,13 @@ khoj/interface/compiled/_next/static/chunks/7890.f681eb1d1f83bea2.js,sha256=xd1q
184
184
  khoj/interface/compiled/_next/static/chunks/7953.f6fc335a23efb959.js,sha256=8XInVs3uzJAMGBndN2k4BeJNHmgZOembNuoyPe9Z7Oo,412
185
185
  khoj/interface/compiled/_next/static/chunks/8254.3145a4fbdcfdca46.js,sha256=sur8InabGfvh1HqNQhwBssc1tCPae_WKQ-efoYU1Q8A,412
186
186
  khoj/interface/compiled/_next/static/chunks/8400.c95e4e79bcd79a56.js,sha256=3SlFozKtF4DYQYPT3hB5M7VEm3e_W71kC19JgADz-3k,19864
187
- khoj/interface/compiled/_next/static/chunks/8515-f305779d95dd5780.js,sha256=QyTarawMADcAup6ipG9JMVnvkbkoYh0Ury2EWkflZ3o,1619194
188
- khoj/interface/compiled/_next/static/chunks/8667-adbe6017a66cef10.js,sha256=kyiAVJTylsiOPFTb63uZn_pMlk4pYhDYt_N7xL76PTM,7214
187
+ khoj/interface/compiled/_next/static/chunks/8515-010dd769c584b672.js,sha256=ZVTZ8aIgkQ-S2wAYrBKYmRhkzJzLqRMgzeGpfkOknDs,1619194
188
+ khoj/interface/compiled/_next/static/chunks/8667-8136f74e9a086fca.js,sha256=kyiAVJTylsiOPFTb63uZn_pMlk4pYhDYt_N7xL76PTM,7214
189
189
  khoj/interface/compiled/_next/static/chunks/8673.be44c4d9e4f1d084.js,sha256=jiE4xU-TbkVC4R60SIgxwdo31T9mbdVBVuhP4H60i94,18629
190
190
  khoj/interface/compiled/_next/static/chunks/8698.a088118fef40d302.js,sha256=mrK-3ZahVSF7sZij3l-PyXKxp-ccXU9orykXDc7YzsM,180
191
191
  khoj/interface/compiled/_next/static/chunks/9022.33974a513a281fd2.js,sha256=6NmDzRbI0NyTisUT04sq9M0czUqvlwZoV4E7Onp-55Q,57192
192
192
  khoj/interface/compiled/_next/static/chunks/90542734.9e6e44b1b45b30fe.js,sha256=5Ivye3p3HC-Ekf-bIPdnvmg_JtYLkCqyRPWtciOmuuo,413716
193
- khoj/interface/compiled/_next/static/chunks/9259-d8bcd9da9e80c81e.js,sha256=lZJF9qq4_MeSRsHeNPNcxkqh2vhBfag5iAxg6krHA9g,34848
193
+ khoj/interface/compiled/_next/static/chunks/9259-640fdd77408475df.js,sha256=lZJF9qq4_MeSRsHeNPNcxkqh2vhBfag5iAxg6krHA9g,34848
194
194
  khoj/interface/compiled/_next/static/chunks/9334-b22127fe2d39bc60.js,sha256=_TPWqSCbf86Ig1vIEDRLXzloZujDoxpoEWhRPUf6b5U,29065
195
195
  khoj/interface/compiled/_next/static/chunks/9433.b1b5f5d050c43e3c.js,sha256=kMVC0Gg95UqjfQXpGvi-WUSg_kYp0SN7CTPTHxHxDBk,144858
196
196
  khoj/interface/compiled/_next/static/chunks/94ca1967.1b3402358e0e1255.js,sha256=WJXEIy24FD6PNQePg-uahendJMNc03GgnVveitFeshI,1174524
@@ -203,7 +203,7 @@ khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js,sha256
203
203
  khoj/interface/compiled/_next/static/chunks/main-876327ac335776ab.js,sha256=JkQUmA9vh1B4VVGF5dbZ8Kun0AnIVUbZr5IBK90T4Zs,111290
204
204
  khoj/interface/compiled/_next/static/chunks/main-app-de1f09df97a3cfc7.js,sha256=bqnztujKItXfFBzQlaBmDZyfJpQt_M93CXOuchJfpD0,471
205
205
  khoj/interface/compiled/_next/static/chunks/polyfills-42372ed130431b0a.js,sha256=CXPB1kyIrcjjyVBBDLWLKI9yEY1ZZbeASUON648vloM,112594
206
- khoj/interface/compiled/_next/static/chunks/webpack-c6bde5961098facd.js,sha256=cnc91CGfuR_tfaK_H83C6r2Fp4WZEfCBaruUKRkMRDM,4891
206
+ khoj/interface/compiled/_next/static/chunks/webpack-2707657083ef5456.js,sha256=bkcak6MnrKiBSj-SecRWMjnZw8XMx3_t-TToHMSE_ZI,4891
207
207
  khoj/interface/compiled/_next/static/chunks/app/layout-bd8210ff1de491d7.js,sha256=8gTcL8-sV5oa7vJRTxlgOpZvhNrsKomsu75DpVpqfE0,3983
208
208
  khoj/interface/compiled/_next/static/chunks/app/page-df51e61295c4a9b5.js,sha256=Jtm6XRwe69g_JpU_0cs4VCFWhPWhUagFKfBGZX0I4bo,31223
209
209
  khoj/interface/compiled/_next/static/chunks/app/_not-found/page-0ec97c4970898f2d.js,sha256=zElhiTkdu2JqrEvJ8Lrxh4HCyfLmPllBHHWOuDtrVlw,1755
@@ -212,7 +212,7 @@ khoj/interface/compiled/_next/static/chunks/app/agents/page-0d31f76257d6ec11.js,
212
212
  khoj/interface/compiled/_next/static/chunks/app/automations/layout-7f5c33a70e46b3af.js,sha256=s2wHeQ-ai9rKyU9EjOGY1Yo51L4ZEkjLtML85BqN3Zc,5143
213
213
  khoj/interface/compiled/_next/static/chunks/app/automations/page-c6180af69fc9c766.js,sha256=5UqvUzxfTu8XqS1o9enSFi3jFZ6OmpCIW-Vzvhbb8Pc,34836
214
214
  khoj/interface/compiled/_next/static/chunks/app/chat/layout-3e25af7224d678a0.js,sha256=GdLRvoYSJiXx3limcAoEnq5fOiuDey_7d23CZ9b6c1A,3455
215
- khoj/interface/compiled/_next/static/chunks/app/chat/page-926ee054e844236a.js,sha256=YgxOe-lQsomVqIflMsdH6ciSq1r1mvZQGkg3PeBKTlM,28294
215
+ khoj/interface/compiled/_next/static/chunks/app/chat/page-e3f298848d59803b.js,sha256=d5etAZ06CzLhR8i2ti0Q6AiMV3wKWM5jCuMgHNxbZHc,28294
216
216
  khoj/interface/compiled/_next/static/chunks/app/search/layout-9ccd090dcc2aa58a.js,sha256=YpMcmZ-rIm4KgkDJr9jncqcoVZodRdiiTNx1iBdN51w,3455
217
217
  khoj/interface/compiled/_next/static/chunks/app/search/page-098017fa7f6ba0bf.js,sha256=uP1wUboLrSP3hT2XxW98YvLjmcJnBV26vv0SBkV9dmk,32714
218
218
  khoj/interface/compiled/_next/static/chunks/app/settings/layout-a7262b2bb8c7ae64.js,sha256=lvyfWVLYyJsxhQvh5UWUVUBM71nmq9DdsmmnVfFXCgk,9401
@@ -306,8 +306,8 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
306
306
  khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
307
307
  khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
308
308
  khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
309
- khoj/interface/compiled/agents/index.html,sha256=IdMzF3xKmerLdSAzkq2UUiN23BQkW9FWxaR1sxt3soc,19567
310
- khoj/interface/compiled/agents/index.txt,sha256=uGYi8KDExSY1eUfJcLXa96Zq678tdsS9IKU3eC5MrqA,8839
309
+ khoj/interface/compiled/agents/index.html,sha256=mHWjekEGhLA26NcJzt_6Csv7qrRiJOsO4Dw57E8t8kA,19567
310
+ khoj/interface/compiled/agents/index.txt,sha256=RaGiS-znMbOg9MQpDB8mwy90tsH79YJXr2_f3kuQe8Y,8839
311
311
  khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
312
312
  khoj/interface/compiled/assets/icons/khoj_lantern.svg,sha256=I_8XP5X84gEOoCRhCRKOQn_GKZrz3SUBXct7WxHvY7c,8767
313
313
  khoj/interface/compiled/assets/icons/khoj_lantern_1200x1200.png,sha256=xDx0bbD-WMflgg8zck9oPIIuTIvywtuED2k7CjSQS4w,66194
@@ -322,16 +322,16 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
322
322
  khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
323
323
  khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
324
324
  khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
325
- khoj/interface/compiled/automations/index.html,sha256=HMWmDIvgSYeMMnpWl-hyaYzvMnkxumbGk_E0hf8qJ9c,56234
326
- khoj/interface/compiled/automations/index.txt,sha256=YiP_DfS0EPpfIQktQyyQNoD9XPxaoUWWE5UK_fVUKUk,8436
327
- khoj/interface/compiled/chat/index.html,sha256=1epRLhenqtcgRNAeqq8DydrYRclZWy2Yr7SHA4antZs,56561
328
- khoj/interface/compiled/chat/index.txt,sha256=2o54GmWz_jyAFMFoo0WiNLlHE6dIIpXYYyH--tEvt-I,9475
329
- khoj/interface/compiled/search/index.html,sha256=d2Rn_FPxP_N3v4c1EijcbvFkGuhe4HZhBaE-a1wxrls,58213
330
- khoj/interface/compiled/search/index.txt,sha256=rGq2MzEHp0oEA2P6VtI4DhDBjhLZhMyQ6Z3DqCw12OI,7990
331
- khoj/interface/compiled/settings/index.html,sha256=YphTNE7WuNpVaDgBaGkQSZ496WT90BGqSZEMxSRQr70,56257
332
- khoj/interface/compiled/settings/index.txt,sha256=FEpkSjg-deknIvUt2vzzxtEaSiFesxiFZkiNpRCgH6g,9564
333
- khoj/interface/compiled/share/chat/index.html,sha256=JYNnZ4mgn8sAYD0cj4LgCrDLTg6UGFfbykBEYeL6Mes,57153
334
- khoj/interface/compiled/share/chat/index.txt,sha256=eEAYGsreJGUgIRKi7wC5uqupwBhUbAPS8IElcKvk2ck,9943
325
+ khoj/interface/compiled/automations/index.html,sha256=_KvQ4CgBgfjAbjNY9XGbN1ijl7Lztl6Pr9syvsuDcgE,56234
326
+ khoj/interface/compiled/automations/index.txt,sha256=ohFNOROPhdxQbYHL6Qy8MkTwy0IOOEWz9IpPpJyQnjU,8436
327
+ khoj/interface/compiled/chat/index.html,sha256=9gW43gRY2D2q-pq2IGhQQziBT3gWt-N8D0orrYz-E-o,56561
328
+ khoj/interface/compiled/chat/index.txt,sha256=nvqcPdhbELAvxsJKyqJqtnbY01VvFf474QX42IEb8O0,9475
329
+ khoj/interface/compiled/search/index.html,sha256=Z_occeAAa0i46WWX85DNi8KNHiw9i-qh1pBRio2IK38,58213
330
+ khoj/interface/compiled/search/index.txt,sha256=vvBxfJdIoBeO2QRbsxKLLpvJH2FF2SmPiQYc5MEvekc,7990
331
+ khoj/interface/compiled/settings/index.html,sha256=Y2wfy1VwjfmM8nMaLTB0VXU1NOc3VCaNbL2eDow1cN4,56257
332
+ khoj/interface/compiled/settings/index.txt,sha256=6g2f1niXwGod3thn5yLTWduZgBpssQN5PHkeSwVIuIM,9564
333
+ khoj/interface/compiled/share/chat/index.html,sha256=I-WydPw9kF_gg3fdFfqwz7Jt3slkwroJ4ldjuXAkJuQ,57153
334
+ khoj/interface/compiled/share/chat/index.txt,sha256=iqNEm9dzxe1RpyhV4yVOWDfsOBqysQiZffgcglYhfYs,9943
335
335
  khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
336
336
  khoj/interface/email/magic_link.html,sha256=372ESbTPKM9acekuZcOIKOw6kBl-KikFg_L9MOHqJkg,2094
337
337
  khoj/interface/email/task.html,sha256=tY7a0gzVeQ2lSQNu7WyXR_s7VYeWTrxWEj1iHVuoVE4,2813
@@ -383,20 +383,20 @@ khoj/processor/content/pdf/pdf_to_entries.py,sha256=GQUvab61okhV9_DK0g2MCrMq8wKp
383
383
  khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
384
384
  khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=wFZwK_zIc7gWbRtO9sOHo9KvfhGAzL9psX_nKWYFduo,4975
385
385
  khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
386
- khoj/processor/conversation/prompts.py,sha256=AHzJCHMWVytwv7rIaqmGW7_NoGNBZEzEEKLSdTbh0bc,57266
386
+ khoj/processor/conversation/prompts.py,sha256=BZbq_uLebKtDyeQNtO-iKqVUKJul--avBlrqoWGk-pM,57294
387
387
  khoj/processor/conversation/utils.py,sha256=TYASt3HV3Rm0s2oc9yBZu7H52O7D2kpPiRJhBpouiJE,33942
388
388
  khoj/processor/conversation/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
389
389
  khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=b38Lzv-TemziLPTgvTKC8VGTMx_zUkcPKPA3IRbz4m8,8954
390
390
  khoj/processor/conversation/anthropic/utils.py,sha256=kY2Re6_OtU3uLD13zZAxXqRF_LCt47LGR1lhN7y8vAM,9656
391
391
  khoj/processor/conversation/google/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
392
- khoj/processor/conversation/google/gemini_chat.py,sha256=TCKJY_pW7xJ-m9nbrMUmqY17ofvA8J_LRp4UPfSscgc,9388
393
- khoj/processor/conversation/google/utils.py,sha256=vwmJCjT3WSDNadYCPBJYreqAI0rdOFUWVljfg_AbinE,12180
392
+ khoj/processor/conversation/google/gemini_chat.py,sha256=GqHVyVzazV3FRV-4276-xl4yCtMYnXPVygAGC5hqZTE,9389
393
+ khoj/processor/conversation/google/utils.py,sha256=239DpV8UuLT_6se5yPt6vmnXPOmT5XlXSraFol8xO14,13463
394
394
  khoj/processor/conversation/offline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
395
395
  khoj/processor/conversation/offline/chat_model.py,sha256=Sr0VpCipeWdEnuOQjgBo89uPZzQkQRSdTo5fm0EZTpI,11326
396
396
  khoj/processor/conversation/offline/utils.py,sha256=51McImxl6u1qgRYvMt7uzsgLGSLq5SMFy74ymlNjIcc,3033
397
397
  khoj/processor/conversation/offline/whisper.py,sha256=DJI-8y8DULO2cQ49m2VOvRyIZ2TxBypc15gM8O3HuMI,470
398
398
  khoj/processor/conversation/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
399
- khoj/processor/conversation/openai/gpt.py,sha256=svdfFZtQz5J9Wf3aOn750u89Qj6Ys-xXEn0ZP7eRr1E,8965
399
+ khoj/processor/conversation/openai/gpt.py,sha256=9AyXGBMfAhwedMlNaf5oI6WrC0T6MEiK-wc3bieV1uA,10675
400
400
  khoj/processor/conversation/openai/utils.py,sha256=N8V8RuxvmPNsb0sJTCjTcTSzSC4Bh6LubS0RerMlOVw,9522
401
401
  khoj/processor/conversation/openai/whisper.py,sha256=zoEeK1LNCg_tzP4xzYi5vRPzNPGuDGzpkrkG7d1LUn4,447
402
402
  khoj/processor/image/generate.py,sha256=FAIIsr8TIHxWxK-INNK4jJOOswBxQFyi_G4tI8NNEI8,10571
@@ -404,7 +404,7 @@ khoj/processor/speech/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
404
404
  khoj/processor/speech/text_to_speech.py,sha256=Q7sapi5Hv6woXOumtrGqR0t6izZrFBkWXFOGrHM6dJ4,1929
405
405
  khoj/processor/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
406
406
  khoj/processor/tools/online_search.py,sha256=NkKitJZ5cx4N8Vsnt2pahFWJXoUa5wtcZSMHl_SgrXo,24689
407
- khoj/processor/tools/run_code.py,sha256=TuGSp-WYUas0dSK19a96SPfC423F2vvkZDwwPJm67IY,12159
407
+ khoj/processor/tools/run_code.py,sha256=FtPniI6woRhf7KY_BePBKghODQAnKVQOABjRtNO6IN8,12157
408
408
  khoj/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
409
409
  khoj/routers/api.py,sha256=1sAJN5KvssFph7AcoFSJmQDlveOgyy530E9Bb-rJUTk,29491
410
410
  khoj/routers/api_agents.py,sha256=McM3YfT5Og8hoVIE3_hdJK87YPXUsxGK_e2o82QEp2I,15379
@@ -415,7 +415,7 @@ khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,220
415
415
  khoj/routers/api_subscription.py,sha256=qnbKwA6N1TWK8Aiu1FFLka_JhbPOuwqT262NSHGZDiQ,5569
416
416
  khoj/routers/auth.py,sha256=W6iKUDdZ4rUwl-LAjiunTjvKJtEupVRIOSKXBseMXMY,10659
417
417
  khoj/routers/email.py,sha256=wvr6_fpk0RuKcTPC6suI8JDZPLYzJ9hAhz_G41yZytc,3923
418
- khoj/routers/helpers.py,sha256=1KAhybnLPekjXBcPEyGiIR5NW8S6suHbkEfbnl772rk,97069
418
+ khoj/routers/helpers.py,sha256=nD_Fs1xFIQXOA-XTxkWRrUXbNyImFI6BjZZntYS5Ig0,97421
419
419
  khoj/routers/notion.py,sha256=g53xyYFmjr2JnuIrTW2vytbfkiK_UkoRTxqnnLSmD5o,2802
420
420
  khoj/routers/research.py,sha256=yo8w5upC7mSUaSi0YF9QIJO4iATceuM6fCv7qLFr5ys,18315
421
421
  khoj/routers/storage.py,sha256=lao0DvsF49QleZvOdjKM98RU2cGfCJDBb7WeoI7Rr3I,2172
@@ -434,14 +434,14 @@ khoj/utils/config.py,sha256=aiOkH0je8A30DAGYTHMRePrgJonFv_i07_7CdhhhcdA,1805
434
434
  khoj/utils/constants.py,sha256=lTIeBbQ-dix-X02DISzCgjI_4r54XEMIvV4aqTXP34w,2844
435
435
  khoj/utils/fs_syncer.py,sha256=5nqwAZqRk3Nwhkwd8y4IomTPZQmW32GwAqyMzal5KyY,9996
436
436
  khoj/utils/helpers.py,sha256=SRAotrYgxvyzti4FXdOAL7tjdxplRtGyaCK5tDJqPy0,27290
437
- khoj/utils/initialization.py,sha256=aTbHJ39tWIxdxTUcl3SUd7ehc1getCJkBNF9y5qtdzs,15559
437
+ khoj/utils/initialization.py,sha256=1FKJanuXMZKlMs1WfUw6GshtHW-QEVFMjgsMC5Mu5aA,15860
438
438
  khoj/utils/jsonl.py,sha256=0Ac_COqr8sLCXntzZtquxuCEVRM2c3yKeDRGhgOBRpQ,1192
439
439
  khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
440
440
  khoj/utils/rawconfig.py,sha256=wfZTk-Aifb-_q9Yh-NPfh9LlLTioYG-yBqrasgvo4pc,5045
441
441
  khoj/utils/state.py,sha256=axjZhnby8L3bY-N1VVoWgBH1RpFGK6U3_ZeNo1Kt7hs,1679
442
442
  khoj/utils/yaml.py,sha256=qy1Tkc61rDMesBw_Cyx2vOR6H-Hngcsm5kYfjwQBwkE,1543
443
- khoj-1.38.1.dev9.dist-info/METADATA,sha256=k8U3hl1CvMfZzSpu30NMQJe0eTnimiaNTlj_V5ERFjA,7838
444
- khoj-1.38.1.dev9.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
445
- khoj-1.38.1.dev9.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
446
- khoj-1.38.1.dev9.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
447
- khoj-1.38.1.dev9.dist-info/RECORD,,
443
+ khoj-1.38.1.dev18.dist-info/METADATA,sha256=2-IkPr-G6DxDt0Bcke_7l82scBlcC8hGb15BZQ_yHb0,7839
444
+ khoj-1.38.1.dev18.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
445
+ khoj-1.38.1.dev18.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
446
+ khoj-1.38.1.dev18.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
447
+ khoj-1.38.1.dev18.dist-info/RECORD,,