khoj 1.36.7.dev31__py3-none-any.whl → 1.36.7.dev38__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 (36) hide show
  1. khoj/interface/compiled/404/index.html +2 -2
  2. khoj/interface/compiled/_next/static/chunks/{webpack-7dd724db4c453474.js → webpack-1169ca6e9e7e6247.js} +1 -1
  3. khoj/interface/compiled/agents/index.html +2 -2
  4. khoj/interface/compiled/agents/index.txt +2 -2
  5. khoj/interface/compiled/automations/index.html +2 -2
  6. khoj/interface/compiled/automations/index.txt +3 -3
  7. khoj/interface/compiled/chat/index.html +2 -2
  8. khoj/interface/compiled/chat/index.txt +2 -2
  9. khoj/interface/compiled/index.html +2 -2
  10. khoj/interface/compiled/index.txt +2 -2
  11. khoj/interface/compiled/search/index.html +2 -2
  12. khoj/interface/compiled/search/index.txt +2 -2
  13. khoj/interface/compiled/settings/index.html +2 -2
  14. khoj/interface/compiled/settings/index.txt +5 -5
  15. khoj/interface/compiled/share/chat/index.html +2 -2
  16. khoj/interface/compiled/share/chat/index.txt +2 -2
  17. khoj/processor/conversation/google/gemini_chat.py +2 -0
  18. khoj/processor/conversation/google/utils.py +1 -0
  19. khoj/processor/conversation/openai/gpt.py +18 -2
  20. khoj/processor/conversation/openai/utils.py +31 -41
  21. khoj/processor/conversation/utils.py +6 -0
  22. khoj/routers/helpers.py +10 -0
  23. khoj/routers/research.py +42 -2
  24. {khoj-1.36.7.dev31.dist-info → khoj-1.36.7.dev38.dist-info}/METADATA +1 -1
  25. {khoj-1.36.7.dev31.dist-info → khoj-1.36.7.dev38.dist-info}/RECORD +36 -36
  26. /khoj/interface/compiled/_next/static/chunks/{1915-1943ee8a628b893c.js → 1915-ab4353eaca76f690.js} +0 -0
  27. /khoj/interface/compiled/_next/static/chunks/{2117-ce1f0a4598f5e4fe.js → 2117-f99825f0a867a42d.js} +0 -0
  28. /khoj/interface/compiled/_next/static/chunks/{4363-e6ac2203564d1a3b.js → 4363-4efaf12abe696251.js} +0 -0
  29. /khoj/interface/compiled/_next/static/chunks/{4447-e038b251d626c340.js → 4447-5d44807c40355b1a.js} +0 -0
  30. /khoj/interface/compiled/_next/static/chunks/{8667-8136f74e9a086fca.js → 8667-adbe6017a66cef10.js} +0 -0
  31. /khoj/interface/compiled/_next/static/chunks/{9259-640fdd77408475df.js → 9259-d8bcd9da9e80c81e.js} +0 -0
  32. /khoj/interface/compiled/_next/static/{hepimf4SPAqsEp5RETQE4 → eZU2iDTEpRdulsZYyzL5V}/_buildManifest.js +0 -0
  33. /khoj/interface/compiled/_next/static/{hepimf4SPAqsEp5RETQE4 → eZU2iDTEpRdulsZYyzL5V}/_ssgManifest.js +0 -0
  34. {khoj-1.36.7.dev31.dist-info → khoj-1.36.7.dev38.dist-info}/WHEEL +0 -0
  35. {khoj-1.36.7.dev31.dist-info → khoj-1.36.7.dev38.dist-info}/entry_points.txt +0 -0
  36. {khoj-1.36.7.dev31.dist-info → khoj-1.36.7.dev38.dist-info}/licenses/LICENSE +0 -0
@@ -878,3 +878,9 @@ def messages_to_print(messages: list[ChatMessage], max_length: int = 70) -> str:
878
878
  return str(content)
879
879
 
880
880
  return "\n".join([f"{json.dumps(safe_serialize(message.content))[:max_length]}..." for message in messages])
881
+
882
+
883
+ class JsonSupport(int, Enum):
884
+ NONE = 0
885
+ OBJECT = 1
886
+ SCHEMA = 2
khoj/routers/helpers.py CHANGED
@@ -540,11 +540,15 @@ async def generate_online_subqueries(
540
540
 
541
541
  agent_chat_model = agent.chat_model if agent else None
542
542
 
543
+ class OnlineQueries(BaseModel):
544
+ queries: List[str]
545
+
543
546
  with timer("Chat actor: Generate online search subqueries", logger):
544
547
  response = await send_message_to_model_wrapper(
545
548
  online_queries_prompt,
546
549
  query_images=query_images,
547
550
  response_type="json_object",
551
+ response_schema=OnlineQueries,
548
552
  user=user,
549
553
  query_files=query_files,
550
554
  agent_chat_model=agent_chat_model,
@@ -1129,6 +1133,7 @@ async def send_message_to_model_wrapper(
1129
1133
  query: str,
1130
1134
  system_message: str = "",
1131
1135
  response_type: str = "text",
1136
+ response_schema: BaseModel = None,
1132
1137
  deepthought: bool = False,
1133
1138
  user: KhojUser = None,
1134
1139
  query_images: List[str] = None,
@@ -1209,6 +1214,7 @@ async def send_message_to_model_wrapper(
1209
1214
  api_key=api_key,
1210
1215
  model=chat_model_name,
1211
1216
  response_type=response_type,
1217
+ response_schema=response_schema,
1212
1218
  api_base_url=api_base_url,
1213
1219
  tracer=tracer,
1214
1220
  )
@@ -1255,6 +1261,7 @@ async def send_message_to_model_wrapper(
1255
1261
  api_key=api_key,
1256
1262
  model=chat_model_name,
1257
1263
  response_type=response_type,
1264
+ response_schema=response_schema,
1258
1265
  tracer=tracer,
1259
1266
  )
1260
1267
  else:
@@ -1265,6 +1272,7 @@ def send_message_to_model_wrapper_sync(
1265
1272
  message: str,
1266
1273
  system_message: str = "",
1267
1274
  response_type: str = "text",
1275
+ response_schema: BaseModel = None,
1268
1276
  user: KhojUser = None,
1269
1277
  query_images: List[str] = None,
1270
1278
  query_files: str = "",
@@ -1326,6 +1334,7 @@ def send_message_to_model_wrapper_sync(
1326
1334
  api_base_url=api_base_url,
1327
1335
  model=chat_model_name,
1328
1336
  response_type=response_type,
1337
+ response_schema=response_schema,
1329
1338
  tracer=tracer,
1330
1339
  )
1331
1340
 
@@ -1370,6 +1379,7 @@ def send_message_to_model_wrapper_sync(
1370
1379
  api_key=api_key,
1371
1380
  model=chat_model_name,
1372
1381
  response_type=response_type,
1382
+ response_schema=response_schema,
1373
1383
  tracer=tracer,
1374
1384
  )
1375
1385
  else:
khoj/routers/research.py CHANGED
@@ -1,10 +1,12 @@
1
1
  import logging
2
2
  import os
3
3
  from datetime import datetime
4
- from typing import Callable, Dict, List, Optional
4
+ from enum import Enum
5
+ from typing import Callable, Dict, List, Optional, Type
5
6
 
6
7
  import yaml
7
8
  from fastapi import Request
9
+ from pydantic import BaseModel, Field
8
10
 
9
11
  from khoj.database.adapters import EntryAdapters
10
12
  from khoj.database.models import Agent, KhojUser
@@ -36,6 +38,40 @@ from khoj.utils.rawconfig import LocationData
36
38
  logger = logging.getLogger(__name__)
37
39
 
38
40
 
41
+ class PlanningResponse(BaseModel):
42
+ """
43
+ Schema for the response from planning agent when deciding the next tool to pick.
44
+ The tool field is dynamically validated based on available tools.
45
+ """
46
+
47
+ scratchpad: str = Field(..., description="Reasoning about which tool to use next")
48
+ query: str = Field(..., description="Detailed query for the selected tool")
49
+
50
+ class Config:
51
+ arbitrary_types_allowed = True
52
+
53
+ @classmethod
54
+ def create_model_with_enum(cls: Type["PlanningResponse"], tool_options: dict) -> Type["PlanningResponse"]:
55
+ """
56
+ Factory method that creates a customized PlanningResponse model
57
+ with a properly typed tool field based on available tools.
58
+
59
+ Args:
60
+ tool_options: Dictionary mapping tool names to values
61
+
62
+ Returns:
63
+ A customized PlanningResponse class
64
+ """
65
+ # Create dynamic enum from tool options
66
+ tool_enum = Enum("ToolEnum", tool_options) # type: ignore
67
+
68
+ # Create and return a customized response model with the enum
69
+ class PlanningResponseWithTool(PlanningResponse):
70
+ tool: tool_enum = Field(..., description="Name of the tool to use")
71
+
72
+ return PlanningResponseWithTool
73
+
74
+
39
75
  async def apick_next_tool(
40
76
  query: str,
41
77
  conversation_history: dict,
@@ -61,10 +97,13 @@ async def apick_next_tool(
61
97
  # Skip showing Notes tool as an option if user has no entries
62
98
  if tool == ConversationCommand.Notes and not user_has_entries:
63
99
  continue
64
- tool_options[tool.value] = description
65
100
  if len(agent_tools) == 0 or tool.value in agent_tools:
101
+ tool_options[tool.name] = tool.value
66
102
  tool_options_str += f'- "{tool.value}": "{description}"\n'
67
103
 
104
+ # Create planning reponse model with dynamically populated tool enum class
105
+ planning_response_model = PlanningResponse.create_model_with_enum(tool_options)
106
+
68
107
  # Construct chat history with user and iteration history with researcher agent for context
69
108
  chat_history = construct_chat_history(conversation_history, agent_name=agent.name if agent else "Khoj")
70
109
  previous_iterations_history = construct_iteration_history(previous_iterations, prompts.previous_iteration)
@@ -96,6 +135,7 @@ async def apick_next_tool(
96
135
  query=query,
97
136
  context=function_planning_prompt,
98
137
  response_type="json_object",
138
+ response_schema=planning_response_model,
99
139
  deepthought=True,
100
140
  user=user,
101
141
  query_images=query_images,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: khoj
3
- Version: 1.36.7.dev31
3
+ Version: 1.36.7.dev38
4
4
  Summary: Your Second Brain
5
5
  Project-URL: Homepage, https://khoj.dev
6
6
  Project-URL: Documentation, https://docs.khoj.dev
@@ -126,22 +126,22 @@ khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvt
126
126
  khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
127
127
  khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
128
128
  khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
129
- khoj/interface/compiled/index.html,sha256=K6Wod7sxEiAE3kTWvIftznbRE6Gi8PWE24hZOFGSn5Y,53009
130
- khoj/interface/compiled/index.txt,sha256=iVmzzrrlXMGDxjNS-WLcxmczHHLWhG6t0W_1nIsXHiQ,7584
129
+ khoj/interface/compiled/index.html,sha256=EXm4S6rmWsuzSM-9lTdcfHtWNZbGfEC5E4CL-boYZtQ,53009
130
+ khoj/interface/compiled/index.txt,sha256=xsf_Pp8i3pCJIK0PFPY3veIGCLww8ON_UZdDRf--BJw,7584
131
131
  khoj/interface/compiled/khoj.webmanifest,sha256=9wOK2BMS6xH5NKd2eaUgTLg9WepIxB2K2U33KU89LD8,2543
132
132
  khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
133
133
  khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
134
134
  khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
135
135
  khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
136
136
  khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
137
- khoj/interface/compiled/404/index.html,sha256=yRqz0m1mEhaUo4I_wv6sDgS_NhKTwYtg9X9zVJJ1VrI,17063
137
+ khoj/interface/compiled/404/index.html,sha256=INLr9cNalla-DTfvJi2PhFIXA8_b04E8hqUK9kWLTrI,17063
138
138
  khoj/interface/compiled/_next/static/chunks/1160-8e7e42e77145b712.js,sha256=-QFyQbKtlBEXOxl_xK246z8WERbIc88SU1RehiTjcaI,317731
139
139
  khoj/interface/compiled/_next/static/chunks/1243.ea2826fb35adb15a.js,sha256=Y6ceAwyTH4HSGDvBRoBB-RVXRCzGGr8NSPcspYF5OM8,182
140
140
  khoj/interface/compiled/_next/static/chunks/133.392ae90c3b2a67f2.js,sha256=IK-mb9ZlF6uJUdU8AuXsppc99tFL8svJvZtKNZGNtcY,411
141
141
  khoj/interface/compiled/_next/static/chunks/1592.b069bdb7aaddd2eb.js,sha256=VUaP2gjX3W9tA9pOH_VIPG_2BIg7Wk1AICrfU5iHgrk,71096
142
- khoj/interface/compiled/_next/static/chunks/1915-1943ee8a628b893c.js,sha256=qArqL3leavWRcZkX4ZuWgemtKnmV6c-_yrNtMu_8SeY,11277
142
+ khoj/interface/compiled/_next/static/chunks/1915-ab4353eaca76f690.js,sha256=qArqL3leavWRcZkX4ZuWgemtKnmV6c-_yrNtMu_8SeY,11277
143
143
  khoj/interface/compiled/_next/static/chunks/2069.f060659791c0c484.js,sha256=C_oat_BkZcLOHsyJlNN_5I55fB7ee1zkkZ9FT5zOzn4,186
144
- khoj/interface/compiled/_next/static/chunks/2117-ce1f0a4598f5e4fe.js,sha256=vLJikd2wJoZNWopR64Y4ccsOU2TNfdkBxVyfrgTHk10,123994
144
+ khoj/interface/compiled/_next/static/chunks/2117-f99825f0a867a42d.js,sha256=vLJikd2wJoZNWopR64Y4ccsOU2TNfdkBxVyfrgTHk10,123994
145
145
  khoj/interface/compiled/_next/static/chunks/2170.45431769330fa5b7.js,sha256=C7Puu9x18DhdR5Sh8XXvTzPdP_HTK6WhsJDNW-NoB7o,24019
146
146
  khoj/interface/compiled/_next/static/chunks/2327-b21ecded25471e6c.js,sha256=BFM9odS4wSUfVJSBaqUqhE0D79Dxe9fDRyg-H50WNdY,127377
147
147
  khoj/interface/compiled/_next/static/chunks/3237.c4754f02f1a388cb.js,sha256=Z5iOEX0mPj-5tuoU4Bq_IjpAlyc4MURKlBoaExsULTk,177
@@ -152,9 +152,9 @@ khoj/interface/compiled/_next/static/chunks/3460.39c2b9b6a3898384.js,sha256=gehY
152
152
  khoj/interface/compiled/_next/static/chunks/4299.2aaa569416cfc208.js,sha256=3HJ8OvB9BDJW0-qCBd1eUmChoBAxaCX6R81ftWZ1CHw,21659
153
153
  khoj/interface/compiled/_next/static/chunks/4327.238d15c09a039b8b.js,sha256=mZa4Oyltc9JrokqnalRTjzcvWgX4S3i3REXiHzRYH1o,296536
154
154
  khoj/interface/compiled/_next/static/chunks/4357-d86d3401f6f6f802.js,sha256=KDM1m01Fz-vcAMfxQfYPO6SEZJVK7z4241JOCEvou6Y,45442
155
- khoj/interface/compiled/_next/static/chunks/4363-e6ac2203564d1a3b.js,sha256=YFO-i3X2LrX9c4MgYY1kPsoRBaqVUkmfAKI62Rz2BVI,468054
155
+ khoj/interface/compiled/_next/static/chunks/4363-4efaf12abe696251.js,sha256=YFO-i3X2LrX9c4MgYY1kPsoRBaqVUkmfAKI62Rz2BVI,468054
156
156
  khoj/interface/compiled/_next/static/chunks/4415.e0c0da5eedae4dd7.js,sha256=DEf8HPEstDFvBflOU0j0ilYHlVJilGcGsLgUx524FZQ,25544
157
- khoj/interface/compiled/_next/static/chunks/4447-e038b251d626c340.js,sha256=Uw8IrcKmVR3wba-FB9maP9i9l_kAYg59r8PN1T_ipQE,19621
157
+ khoj/interface/compiled/_next/static/chunks/4447-5d44807c40355b1a.js,sha256=Uw8IrcKmVR3wba-FB9maP9i9l_kAYg59r8PN1T_ipQE,19621
158
158
  khoj/interface/compiled/_next/static/chunks/4609-33aa487dff03a9fd.js,sha256=1M6QAfVZa2g2Q4jXRdSI1wjrZ4G9yKjINJt8qyTKm1A,24698
159
159
  khoj/interface/compiled/_next/static/chunks/4610.a1e7f40a759ed2aa.js,sha256=b5JDRPyQv2MsibYoK2TDT76LMAoDTRzFM-fa81mJxow,14102
160
160
  khoj/interface/compiled/_next/static/chunks/4650.41f041da0ad365ad.js,sha256=EZeckNrMc3ZUX_LexPgaeusEq-dGBNEPm7nc5nvb4OM,33902
@@ -182,12 +182,12 @@ khoj/interface/compiled/_next/static/chunks/7953.f6fc335a23efb959.js,sha256=8XIn
182
182
  khoj/interface/compiled/_next/static/chunks/8254.3145a4fbdcfdca46.js,sha256=sur8InabGfvh1HqNQhwBssc1tCPae_WKQ-efoYU1Q8A,412
183
183
  khoj/interface/compiled/_next/static/chunks/8400.c95e4e79bcd79a56.js,sha256=3SlFozKtF4DYQYPT3hB5M7VEm3e_W71kC19JgADz-3k,19864
184
184
  khoj/interface/compiled/_next/static/chunks/8515-010dd769c584b672.js,sha256=ZVTZ8aIgkQ-S2wAYrBKYmRhkzJzLqRMgzeGpfkOknDs,1619194
185
- khoj/interface/compiled/_next/static/chunks/8667-8136f74e9a086fca.js,sha256=kyiAVJTylsiOPFTb63uZn_pMlk4pYhDYt_N7xL76PTM,7214
185
+ khoj/interface/compiled/_next/static/chunks/8667-adbe6017a66cef10.js,sha256=kyiAVJTylsiOPFTb63uZn_pMlk4pYhDYt_N7xL76PTM,7214
186
186
  khoj/interface/compiled/_next/static/chunks/8673.be44c4d9e4f1d084.js,sha256=jiE4xU-TbkVC4R60SIgxwdo31T9mbdVBVuhP4H60i94,18629
187
187
  khoj/interface/compiled/_next/static/chunks/8698.a088118fef40d302.js,sha256=mrK-3ZahVSF7sZij3l-PyXKxp-ccXU9orykXDc7YzsM,180
188
188
  khoj/interface/compiled/_next/static/chunks/9022.33974a513a281fd2.js,sha256=6NmDzRbI0NyTisUT04sq9M0czUqvlwZoV4E7Onp-55Q,57192
189
189
  khoj/interface/compiled/_next/static/chunks/90542734.9e6e44b1b45b30fe.js,sha256=5Ivye3p3HC-Ekf-bIPdnvmg_JtYLkCqyRPWtciOmuuo,413716
190
- khoj/interface/compiled/_next/static/chunks/9259-640fdd77408475df.js,sha256=lZJF9qq4_MeSRsHeNPNcxkqh2vhBfag5iAxg6krHA9g,34848
190
+ khoj/interface/compiled/_next/static/chunks/9259-d8bcd9da9e80c81e.js,sha256=lZJF9qq4_MeSRsHeNPNcxkqh2vhBfag5iAxg6krHA9g,34848
191
191
  khoj/interface/compiled/_next/static/chunks/9334-b22127fe2d39bc60.js,sha256=_TPWqSCbf86Ig1vIEDRLXzloZujDoxpoEWhRPUf6b5U,29065
192
192
  khoj/interface/compiled/_next/static/chunks/9433.b1b5f5d050c43e3c.js,sha256=kMVC0Gg95UqjfQXpGvi-WUSg_kYp0SN7CTPTHxHxDBk,144858
193
193
  khoj/interface/compiled/_next/static/chunks/94ca1967.1b3402358e0e1255.js,sha256=WJXEIy24FD6PNQePg-uahendJMNc03GgnVveitFeshI,1174524
@@ -200,7 +200,7 @@ khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js,sha256
200
200
  khoj/interface/compiled/_next/static/chunks/main-98eb5932d6b2e3fa.js,sha256=AawaSgw7Q3CVsGFBX7BuL4bBqqXkJ4DJdGs-2cif97I,111273
201
201
  khoj/interface/compiled/_next/static/chunks/main-app-de1f09df97a3cfc7.js,sha256=bqnztujKItXfFBzQlaBmDZyfJpQt_M93CXOuchJfpD0,471
202
202
  khoj/interface/compiled/_next/static/chunks/polyfills-42372ed130431b0a.js,sha256=CXPB1kyIrcjjyVBBDLWLKI9yEY1ZZbeASUON648vloM,112594
203
- khoj/interface/compiled/_next/static/chunks/webpack-7dd724db4c453474.js,sha256=AErMm9jpEVOYKPphd6Jdg8ksg7NCjz5G8ClJZd3LSwE,4891
203
+ khoj/interface/compiled/_next/static/chunks/webpack-1169ca6e9e7e6247.js,sha256=eK6LuYVr9XwNIkuaEpEyigJUhcXcx_iOdEnQzpvgG6c,4891
204
204
  khoj/interface/compiled/_next/static/chunks/app/layout-bd8210ff1de491d7.js,sha256=8gTcL8-sV5oa7vJRTxlgOpZvhNrsKomsu75DpVpqfE0,3983
205
205
  khoj/interface/compiled/_next/static/chunks/app/page-29e3b092fe46f190.js,sha256=CtcKc_rbNvydX9S7aO60uEigyuyKZzFzJP8OoLlv2WI,30989
206
206
  khoj/interface/compiled/_next/static/chunks/app/_not-found/page-0ec97c4970898f2d.js,sha256=zElhiTkdu2JqrEvJ8Lrxh4HCyfLmPllBHHWOuDtrVlw,1755
@@ -226,8 +226,8 @@ khoj/interface/compiled/_next/static/css/e4eb883b5265d372.css,sha256=6LaW-lQ_Zpg
226
226
  khoj/interface/compiled/_next/static/css/ea5485b3f3859a5a.css,sha256=tn6qi2xSLTWhtzDUE8UlC8iipH9QGV6A9oGj1ap-Sk4,1659
227
227
  khoj/interface/compiled/_next/static/css/f29752d6e1be7624.css,sha256=mLPRnYpBFaVhTMJ3CFou5_lrwLJs2mhBlAjNY2lrRYs,6354
228
228
  khoj/interface/compiled/_next/static/css/fca983d49c3dd1a3.css,sha256=3F1qPtz6PQG-gIpo8h3rAfxreAc2Uvxy8F_G2e78EsM,30452
229
- khoj/interface/compiled/_next/static/hepimf4SPAqsEp5RETQE4/_buildManifest.js,sha256=f2_nYnw25hHWQJ-39Lf5OH1u6kgdbOInyfplqgjvAV4,224
230
- khoj/interface/compiled/_next/static/hepimf4SPAqsEp5RETQE4/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
229
+ khoj/interface/compiled/_next/static/eZU2iDTEpRdulsZYyzL5V/_buildManifest.js,sha256=f2_nYnw25hHWQJ-39Lf5OH1u6kgdbOInyfplqgjvAV4,224
230
+ khoj/interface/compiled/_next/static/eZU2iDTEpRdulsZYyzL5V/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
231
231
  khoj/interface/compiled/_next/static/media/1d8a05b60287ae6c-s.p.woff2,sha256=IzKBwB_bpSGvO7C9aRv29Js-jAbZPRDI-D-P4H2P918,14508
232
232
  khoj/interface/compiled/_next/static/media/2aa11a72f7f24b58-s.woff2,sha256=QjuuSKmViymmy-itXLB1UbSARxFNHWuMiPpCrYqClFI,22728
233
233
  khoj/interface/compiled/_next/static/media/383a65b63658737d-s.woff2,sha256=VH1XkI87HdFVhsurH5D5ekEjG_ZORTVBVg6xz7p87C8,16704
@@ -305,8 +305,8 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
305
305
  khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
306
306
  khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
307
307
  khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
308
- khoj/interface/compiled/agents/index.html,sha256=zOffdOMsXeh8Pk2SYfiN_Fb9REqWMwcw3jibZC1Dqic,19256
309
- khoj/interface/compiled/agents/index.txt,sha256=ZWo2WhhA8igfrRHpaBn8VBEn52BHWvVAlQJneHckCUg,8706
308
+ khoj/interface/compiled/agents/index.html,sha256=HcZ_Ok7HnqHyQEYsbV_4K_gkR_XW_xI6OVhPz9rBbG8,19256
309
+ khoj/interface/compiled/agents/index.txt,sha256=MT08mvpNUPrA3pxkFvnO2ccd95S14l2BYZsa78JRIqc,8706
310
310
  khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
311
311
  khoj/interface/compiled/assets/icons/khoj_lantern.svg,sha256=I_8XP5X84gEOoCRhCRKOQn_GKZrz3SUBXct7WxHvY7c,8767
312
312
  khoj/interface/compiled/assets/icons/khoj_lantern_1200x1200.png,sha256=xDx0bbD-WMflgg8zck9oPIIuTIvywtuED2k7CjSQS4w,66194
@@ -321,16 +321,16 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
321
321
  khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
322
322
  khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
323
323
  khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
324
- khoj/interface/compiled/automations/index.html,sha256=9b1znf84u7H5pTRlKH8bI8EFEVLd3IRBi5UepXkmvUc,55923
325
- khoj/interface/compiled/automations/index.txt,sha256=5HAiYF9DX1yboMjqzzEbyaWaxPAbmtv4ZbkCa4Fdlno,8303
326
- khoj/interface/compiled/chat/index.html,sha256=pboD5EVsz7v9p9wPqAuAxDUmU4SIu6flXxSz1zkyARo,56251
327
- khoj/interface/compiled/chat/index.txt,sha256=fv8YjDHf4qPa4M-8pnl3DWXJHyHlQD35ZqVSK7GtaRc,9342
328
- khoj/interface/compiled/search/index.html,sha256=IC1uG5gQnipHWfFpok84PfzXOs3ZiBriHPafERDZEnU,58213
329
- khoj/interface/compiled/search/index.txt,sha256=WdKHGwBU3iXu2rvL-hYBZB16fWQr1Ho6qDQ4tXYA324,7990
330
- khoj/interface/compiled/settings/index.html,sha256=RHQE8JwvTn_eKSWJr3-7bp6ZpQbUs2VymPSfikN2id0,55947
331
- khoj/interface/compiled/settings/index.txt,sha256=69AGDnAc63WI5BaMTFKLm5hzqSd9aVLoi236LhD0X0s,9431
332
- khoj/interface/compiled/share/chat/index.html,sha256=acOaOTi3T3NijH0h5IcD_5z8t6TwRPLhuCPE8c7QXqM,56843
333
- khoj/interface/compiled/share/chat/index.txt,sha256=z1IMgXhQbgFBws6Hku973eghm0xohzNtvMmSO3RfBaw,9810
324
+ khoj/interface/compiled/automations/index.html,sha256=3HYgBmZ26xMO5rhiX-NtfDuDNr-rmgng1tYJ4Oe4inI,55923
325
+ khoj/interface/compiled/automations/index.txt,sha256=BF6J-HPSKvu76ZpGGYz-mMT03Y7jIAGQScBzh0onEs0,8303
326
+ khoj/interface/compiled/chat/index.html,sha256=ynGrTC_UBLm2KVS1AtkQQoolC7NYafUaOCF2848gtvk,56251
327
+ khoj/interface/compiled/chat/index.txt,sha256=SPfSjIpq8Y_8Bk_oiVBBp7hQ2b6p5-XxJ1wwNcdrblc,9342
328
+ khoj/interface/compiled/search/index.html,sha256=D4ZLvTWsGftEa2ns__g8hyMfJnmxLYrw_Jz5GDgR2dw,58213
329
+ khoj/interface/compiled/search/index.txt,sha256=x1Mn1siQWHTRKB0wnkGCwbmbZkSpxVXP8J28qdl1ThA,7990
330
+ khoj/interface/compiled/settings/index.html,sha256=HuaAuu9d19fYuM909q_XCeCnuz1b-hzkr65ARUPZTTs,55947
331
+ khoj/interface/compiled/settings/index.txt,sha256=kkEsgyez4Z3f2J1NnP8_2cfRwe8J9hz2TG9ac-CBYKI,9431
332
+ khoj/interface/compiled/share/chat/index.html,sha256=WxN6_0XbFX6wui3U1RJWRveTWV9ADY9KkcrKe58VPbI,56843
333
+ khoj/interface/compiled/share/chat/index.txt,sha256=i6cLHw8rAoqNGYnF1RQgogNgcK5Bj9LxCESbUHDHiU8,9810
334
334
  khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
335
335
  khoj/interface/email/magic_link.html,sha256=372ESbTPKM9acekuZcOIKOw6kBl-KikFg_L9MOHqJkg,2094
336
336
  khoj/interface/email/task.html,sha256=tY7a0gzVeQ2lSQNu7WyXR_s7VYeWTrxWEj1iHVuoVE4,2813
@@ -383,20 +383,20 @@ khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
383
383
  khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=wFZwK_zIc7gWbRtO9sOHo9KvfhGAzL9psX_nKWYFduo,4975
384
384
  khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
385
385
  khoj/processor/conversation/prompts.py,sha256=wM7XmOztzFdHN4xXe340bahVt9rb96SSE4WtYdJDr98,57159
386
- khoj/processor/conversation/utils.py,sha256=Hr8KRF-V8Yydt9b80uvFEXsvpxvrqFt0IlyqpkZZwUk,33234
386
+ khoj/processor/conversation/utils.py,sha256=Z_sQrB26nou6VExBRrRIvL-gk6GUkKlYl3_s38RjKrY,33309
387
387
  khoj/processor/conversation/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
388
388
  khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=64NJ2l0ejFzJCNhH5zxgcXAw13w-sdwcpYsmBiZFfTc,9092
389
389
  khoj/processor/conversation/anthropic/utils.py,sha256=2Jn9PZylKQHedJVonrDT1zdzuL6pj-vM-HmxzVO2Wpw,8339
390
390
  khoj/processor/conversation/google/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
391
- khoj/processor/conversation/google/gemini_chat.py,sha256=IsDLtfpLu38S6nyaTwYgAGI9S8VDJYL0P6DYK4fJ6Es,9247
392
- khoj/processor/conversation/google/utils.py,sha256=ciqNoSEtGRaW-x9E2bnaiVRwPKAPm0w_vae0ohwcTks,10531
391
+ khoj/processor/conversation/google/gemini_chat.py,sha256=GcsMHPLiDf-NJ1qZNZe-VRIRkxjIpOSmqB1bMRcRsg4,9331
392
+ khoj/processor/conversation/google/utils.py,sha256=eP3RahmJzFwbdMGoQq8iOy9XZsA2lYpV3nuRplp8W1k,10624
393
393
  khoj/processor/conversation/offline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
394
394
  khoj/processor/conversation/offline/chat_model.py,sha256=Sr0VpCipeWdEnuOQjgBo89uPZzQkQRSdTo5fm0EZTpI,11326
395
395
  khoj/processor/conversation/offline/utils.py,sha256=51McImxl6u1qgRYvMt7uzsgLGSLq5SMFy74ymlNjIcc,3033
396
396
  khoj/processor/conversation/offline/whisper.py,sha256=DJI-8y8DULO2cQ49m2VOvRyIZ2TxBypc15gM8O3HuMI,470
397
397
  khoj/processor/conversation/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
398
- khoj/processor/conversation/openai/gpt.py,sha256=FFiMevjK_EiryjsZcYzpYMA-o3sgQpC87x1c6nKek8Y,8515
399
- khoj/processor/conversation/openai/utils.py,sha256=RYWeBFG2m54yV-oIyvTTkHdLdSyAs4Vzba4gFmWOBvY,9728
398
+ khoj/processor/conversation/openai/gpt.py,sha256=rGumVo0kuNWe9TwNcvwCaOGr6YMNo12eFl1Ipu--TYw,8942
399
+ khoj/processor/conversation/openai/utils.py,sha256=zkfBT6n9Zf8LvRIM3AIlttJ1dUSoaeatTM4vd749qtI,9290
400
400
  khoj/processor/conversation/openai/whisper.py,sha256=zoEeK1LNCg_tzP4xzYi5vRPzNPGuDGzpkrkG7d1LUn4,447
401
401
  khoj/processor/image/generate.py,sha256=oMUzVic2uT8Ud2zfhsaafzkfO4GbEq8OiEs6sxvYgEA,10531
402
402
  khoj/processor/speech/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -414,9 +414,9 @@ khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,220
414
414
  khoj/routers/api_subscription.py,sha256=qnbKwA6N1TWK8Aiu1FFLka_JhbPOuwqT262NSHGZDiQ,5569
415
415
  khoj/routers/auth.py,sha256=4inFy4kwepVVoUFw9pGDXSDEw2zdSvS1ierkzVwf7l4,10802
416
416
  khoj/routers/email.py,sha256=wvr6_fpk0RuKcTPC6suI8JDZPLYzJ9hAhz_G41yZytc,3923
417
- khoj/routers/helpers.py,sha256=G6_8oz9GOMzHqXt_eppbh3MKFvWKTo_7T85j59xBzds,95721
417
+ khoj/routers/helpers.py,sha256=ZJrOhVIVM7vgBsbB2B2YLaRRdeMHewdZjJDZec5wWZI,96086
418
418
  khoj/routers/notion.py,sha256=g53xyYFmjr2JnuIrTW2vytbfkiK_UkoRTxqnnLSmD5o,2802
419
- khoj/routers/research.py,sha256=Ieozc55cHUHrYku_VZfHzHTEI8CQu846SnNilsHGTWk,16449
419
+ khoj/routers/research.py,sha256=3v4obl7RHJaSz6Sv1ZXEZreHvlPG8-VyFYT9Qlnsy14,17976
420
420
  khoj/routers/storage.py,sha256=tJrwhFRVWv0MHv7V7huMc1Diwm-putZSwnZXJ3tqT_c,2338
421
421
  khoj/routers/twilio.py,sha256=MLsuCm4--ETvr3sLxbF0CL_ehlg_l2rKBSLR2Qh2Xls,1081
422
422
  khoj/routers/web_client.py,sha256=_vyfDaHZZjNoI2LwGNQFRiFmGLkNcgYJe7dOr3mrxH8,4386
@@ -439,8 +439,8 @@ khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
439
439
  khoj/utils/rawconfig.py,sha256=wfZTk-Aifb-_q9Yh-NPfh9LlLTioYG-yBqrasgvo4pc,5045
440
440
  khoj/utils/state.py,sha256=axjZhnby8L3bY-N1VVoWgBH1RpFGK6U3_ZeNo1Kt7hs,1679
441
441
  khoj/utils/yaml.py,sha256=qy1Tkc61rDMesBw_Cyx2vOR6H-Hngcsm5kYfjwQBwkE,1543
442
- khoj-1.36.7.dev31.dist-info/METADATA,sha256=XU4G2WErwpjEMfKXaJYQ7vh9-PrHxtNaJS6e9ahZ8ss,7781
443
- khoj-1.36.7.dev31.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
444
- khoj-1.36.7.dev31.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
445
- khoj-1.36.7.dev31.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
446
- khoj-1.36.7.dev31.dist-info/RECORD,,
442
+ khoj-1.36.7.dev38.dist-info/METADATA,sha256=EhdcN3a-5lHUldgb4-j-RhYFgdcNTCCTBCV8_OTaOl0,7781
443
+ khoj-1.36.7.dev38.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
444
+ khoj-1.36.7.dev38.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
445
+ khoj-1.36.7.dev38.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
446
+ khoj-1.36.7.dev38.dist-info/RECORD,,