khoj 2.0.0b14.dev43__py3-none-any.whl → 2.0.0b15.dev22__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 (46) hide show
  1. khoj/database/adapters/__init__.py +59 -20
  2. khoj/database/admin.py +6 -2
  3. khoj/database/migrations/0094_serverchatsettings_think_free_deep_and_more.py +61 -0
  4. khoj/database/models/__init__.py +18 -2
  5. khoj/interface/compiled/404/index.html +1 -1
  6. khoj/interface/compiled/_next/static/chunks/{9808-c0742b05e1ef29ba.js → 9808-bd5d7361ad026094.js} +1 -1
  7. khoj/interface/compiled/_next/static/chunks/app/chat/page-ac7ed0a1aff1b145.js +1 -0
  8. khoj/interface/compiled/_next/static/css/fb7ea16e60b40ecd.css +1 -0
  9. khoj/interface/compiled/agents/index.html +1 -1
  10. khoj/interface/compiled/agents/index.txt +1 -1
  11. khoj/interface/compiled/automations/index.html +1 -1
  12. khoj/interface/compiled/automations/index.txt +1 -1
  13. khoj/interface/compiled/chat/index.html +2 -2
  14. khoj/interface/compiled/chat/index.txt +2 -2
  15. khoj/interface/compiled/index.html +2 -2
  16. khoj/interface/compiled/index.txt +1 -1
  17. khoj/interface/compiled/search/index.html +1 -1
  18. khoj/interface/compiled/search/index.txt +1 -1
  19. khoj/interface/compiled/settings/index.html +1 -1
  20. khoj/interface/compiled/settings/index.txt +1 -1
  21. khoj/interface/compiled/share/chat/index.html +2 -2
  22. khoj/interface/compiled/share/chat/index.txt +2 -2
  23. khoj/processor/conversation/anthropic/anthropic_chat.py +4 -88
  24. khoj/processor/conversation/anthropic/utils.py +1 -2
  25. khoj/processor/conversation/google/gemini_chat.py +5 -89
  26. khoj/processor/conversation/google/utils.py +8 -9
  27. khoj/processor/conversation/openai/gpt.py +16 -93
  28. khoj/processor/conversation/openai/utils.py +58 -43
  29. khoj/processor/conversation/prompts.py +30 -39
  30. khoj/processor/conversation/utils.py +71 -84
  31. khoj/processor/image/generate.py +69 -15
  32. khoj/processor/tools/run_code.py +3 -2
  33. khoj/routers/api_chat.py +8 -21
  34. khoj/routers/helpers.py +243 -156
  35. khoj/routers/research.py +6 -6
  36. khoj/utils/constants.py +3 -1
  37. khoj/utils/helpers.py +6 -2
  38. {khoj-2.0.0b14.dev43.dist-info → khoj-2.0.0b15.dev22.dist-info}/METADATA +1 -1
  39. {khoj-2.0.0b14.dev43.dist-info → khoj-2.0.0b15.dev22.dist-info}/RECORD +44 -43
  40. khoj/interface/compiled/_next/static/chunks/app/chat/page-1b4893b1a9957220.js +0 -1
  41. khoj/interface/compiled/_next/static/css/cea3bdfe98c144bd.css +0 -1
  42. /khoj/interface/compiled/_next/static/{OKbGpkzD6gHDfr1vAog6p → t8O_8CJ9p3UtV9kEsAAWT}/_buildManifest.js +0 -0
  43. /khoj/interface/compiled/_next/static/{OKbGpkzD6gHDfr1vAog6p → t8O_8CJ9p3UtV9kEsAAWT}/_ssgManifest.js +0 -0
  44. {khoj-2.0.0b14.dev43.dist-info → khoj-2.0.0b15.dev22.dist-info}/WHEEL +0 -0
  45. {khoj-2.0.0b14.dev43.dist-info → khoj-2.0.0b15.dev22.dist-info}/entry_points.txt +0 -0
  46. {khoj-2.0.0b14.dev43.dist-info → khoj-2.0.0b15.dev22.dist-info}/licenses/LICENSE +0 -0
khoj/routers/research.py CHANGED
@@ -159,14 +159,15 @@ async def apick_next_tool(
159
159
  with timer("Chat actor: Infer information sources to refer", logger):
160
160
  response = await send_message_to_model_wrapper(
161
161
  query="",
162
+ query_files=query_files,
163
+ query_images=query_images,
162
164
  system_message=function_planning_prompt,
163
165
  chat_history=chat_and_research_history,
164
166
  tools=tools,
165
167
  deepthought=True,
166
- user=user,
167
- query_images=query_images,
168
- query_files=query_files,
168
+ fast_model=False,
169
169
  agent_chat_model=agent_chat_model,
170
+ user=user,
170
171
  tracer=tracer,
171
172
  )
172
173
  except Exception as e:
@@ -217,12 +218,11 @@ async def research(
217
218
  send_status_func: Optional[Callable] = None,
218
219
  user_name: str = None,
219
220
  location: LocationData = None,
220
- file_filters: List[str] = [],
221
- tracer: dict = {},
222
221
  query_files: str = None,
223
222
  cancellation_event: Optional[asyncio.Event] = None,
224
223
  interrupt_queue: Optional[asyncio.Queue] = None,
225
224
  abort_message: str = ChatEvent.END_EVENT.value,
225
+ tracer: dict = {},
226
226
  ):
227
227
  max_document_searches = 7
228
228
  max_online_searches = 3
@@ -317,7 +317,7 @@ async def research(
317
317
  user=user,
318
318
  chat_history=construct_tool_chat_history(previous_iterations, ConversationCommand.SemanticSearchFiles),
319
319
  conversation_id=conversation_id,
320
- conversation_commands=[ConversationCommand.Default],
320
+ conversation_commands=[ConversationCommand.Notes],
321
321
  location_data=location,
322
322
  send_status_func=send_status_func,
323
323
  query_images=query_images,
khoj/utils/constants.py CHANGED
@@ -11,7 +11,7 @@ app_env_filepath = "~/.khoj/env"
11
11
  telemetry_server = "https://khoj.beta.haletic.com/v1/telemetry"
12
12
  content_directory = "~/.khoj/content/"
13
13
  default_openai_chat_models = ["gpt-4o-mini", "gpt-4.1", "o3", "o4-mini"]
14
- default_gemini_chat_models = ["gemini-2.0-flash", "gemini-2.5-flash-preview-05-20", "gemini-2.5-pro-preview-06-05"]
14
+ default_gemini_chat_models = ["gemini-2.0-flash", "gemini-2.5-flash", "gemini-2.5-pro", "gemini-2.5-flash-lite"]
15
15
  default_anthropic_chat_models = ["claude-sonnet-4-0", "claude-3-5-haiku-latest"]
16
16
 
17
17
  empty_config = {
@@ -50,6 +50,7 @@ model_to_cost: Dict[str, Dict[str, float]] = {
50
50
  "gemini-1.5-pro-002": {"input": 1.25, "output": 5.00},
51
51
  "gemini-2.0-flash": {"input": 0.10, "output": 0.40},
52
52
  "gemini-2.0-flash-lite": {"input": 0.0075, "output": 0.30},
53
+ "gemini-2.5-flash-lite": {"input": 0.10, "output": 0.40},
53
54
  "gemini-2.5-flash": {"input": 0.30, "output": 2.50},
54
55
  "gemini-2.5-pro": {"input": 1.25, "output": 10.0},
55
56
  # Anthropic Pricing: https://www.anthropic.com/pricing#anthropic-api
@@ -74,4 +75,5 @@ model_to_cost: Dict[str, Dict[str, float]] = {
74
75
  # Groq pricing
75
76
  "moonshotai/kimi-k2-instruct": {"input": 1.00, "output": 3.00},
76
77
  "openai/gpt-oss-120b": {"input": 0.15, "output": 0.75},
78
+ "openai/gpt-oss-20b": {"input": 0.10, "output": 0.50},
77
79
  }
khoj/utils/helpers.py CHANGED
@@ -435,7 +435,6 @@ class ConversationCommand(str, Enum):
435
435
  command_descriptions = {
436
436
  ConversationCommand.General: "Only talk about information that relies on Khoj's general knowledge, not your personal knowledge base.",
437
437
  ConversationCommand.Notes: "Only talk about information that is available in your knowledge base.",
438
- ConversationCommand.Default: "The default command when no command specified. It intelligently auto-switches between general and notes mode.",
439
438
  ConversationCommand.Online: "Search for information on the internet.",
440
439
  ConversationCommand.Webpage: "Get information from webpage suggested by you.",
441
440
  ConversationCommand.Code: "Run Python code to parse information, run complex calculations, create documents and charts.",
@@ -476,7 +475,6 @@ terrarium_tool_description = dedent(
476
475
  ).strip()
477
476
 
478
477
  tool_descriptions_for_llm = {
479
- ConversationCommand.Default: "To use a mix of your internal knowledge and the user's personal knowledge, or if you don't entirely understand the query.",
480
478
  ConversationCommand.General: "To use when you can answer the question without any outside information or personal knowledge",
481
479
  ConversationCommand.Notes: "To search the user's personal knowledge base. Especially helpful if the question expects context from the user's notes or documents.",
482
480
  ConversationCommand.Online: "To search for the latest, up-to-date information from the internet. Note: **Questions about Khoj should always use this data source**",
@@ -875,6 +873,12 @@ def convert_image_data_uri(image_data_uri: str, target_format: str = "png") -> s
875
873
  return output_data_uri
876
874
 
877
875
 
876
+ class ImageShape(str, Enum):
877
+ PORTRAIT = "Portrait"
878
+ LANDSCAPE = "Landscape"
879
+ SQUARE = "Square"
880
+
881
+
878
882
  def truncate_code_context(original_code_results: dict[str, Any], max_chars=10000) -> dict[str, Any]:
879
883
  """
880
884
  Truncate large output files and drop image file data from code results.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: khoj
3
- Version: 2.0.0b14.dev43
3
+ Version: 2.0.0b15.dev22
4
4
  Summary: Your Second Brain
5
5
  Project-URL: Homepage, https://khoj.dev
6
6
  Project-URL: Documentation, https://docs.khoj.dev
@@ -8,10 +8,10 @@ khoj/app/asgi.py,sha256=soh3C1xazlgHt_bDgKzrfzo2TKXbNYJsckcXNEgTip8,388
8
8
  khoj/app/settings.py,sha256=8ESyAioroVUEVYR--8vEJUJf0X8TtVtrk-0ZSohij1k,9005
9
9
  khoj/app/urls.py,sha256=CcIcBEUB6gGUp4lmTCzX2kHLZ7WiinCXmFBIoRV0eyk,870
10
10
  khoj/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- khoj/database/admin.py,sha256=CfIAnwxV_HfbnhyjVqk9wtrz8hHnStFu-7ap82x6lYU,13256
11
+ khoj/database/admin.py,sha256=ZFenG4CybYj2p8etvMhmIoOV-sN4XIykON4PzVOmZYE,13364
12
12
  khoj/database/apps.py,sha256=pM4tkX5Odw4YW_hLLKK8Nd5kqGddf1en0oMCea44RZw,153
13
13
  khoj/database/tests.py,sha256=qWDvA9ZhVCQ1rPbkoFify7o_fDirXMUdYMxF12q3WIM,26
14
- khoj/database/adapters/__init__.py,sha256=7umgKmnh-h91YjOEjCCcfMq-pdvZmEFr8PiN5qQCM8Y,82631
14
+ khoj/database/adapters/__init__.py,sha256=Z5zL9SxBHrayIztsaSRYZcF2X3FBo3BTTf1FQt2TPH8,84605
15
15
  khoj/database/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  khoj/database/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  khoj/database/management/commands/change_default_model.py,sha256=6QXJttG58gpU7vZApQEeEPVNAuhjU2xa6_BwJsfz320,4877
@@ -125,25 +125,24 @@ khoj/database/migrations/0090_alter_khojuser_uuid.py,sha256=2h9v-DiuqFuZKpAyWYwu
125
125
  khoj/database/migrations/0091_chatmodel_friendly_name_and_more.py,sha256=e-2DQhyW9kMxMg7ItGSyCKE5GQFI0ZSuyfD8CdfVa0k,1758
126
126
  khoj/database/migrations/0092_alter_chatmodel_model_type_alter_chatmodel_name_and_more.py,sha256=1HozJIVPuixZK8Ss6-lcbSuUUAXQ3LVZPgmVoy3ywtM,1178
127
127
  khoj/database/migrations/0093_remove_localorgconfig_user_and_more.py,sha256=OvCNxGq37BVHKX-ZLBpW5LoHGzaWXpa6gf588QwP8-w,920
128
+ khoj/database/migrations/0094_serverchatsettings_think_free_deep_and_more.py,sha256=2Tiz7RRZVyBIJ-sCQfPeorWX5e3Xj2wpjQFtzKVjv4E,1916
128
129
  khoj/database/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
- khoj/database/models/__init__.py,sha256=tmxo2imUS1w-OtXz3Cee_HRIU94aJlJM73xhA21yykY,31916
130
+ khoj/database/models/__init__.py,sha256=qVQwdGpEB3doiecZtUQKgCuFQXRUoVylUrLgGqFIFYg,32966
130
131
  khoj/interface/compiled/agents.svg,sha256=yFCRwIM-Qawa0C5ggAo3ekb-Q1ElmotBOKIGhtfIQqM,1722
131
132
  khoj/interface/compiled/automation.svg,sha256=o7L2XYwJWRSMvl8h6TBv6Pt28RTRVMHqF04EPY0AFj0,1467
132
133
  khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvtM3A,2424
133
134
  khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
134
135
  khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
135
136
  khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
136
- khoj/interface/compiled/index.html,sha256=E-F0vifuKEQja5DaVhdWJV5EzUaGC0ZUHVKU2wgo9Jo,53353
137
- khoj/interface/compiled/index.txt,sha256=LMnb4ikQ5ebAHv5ospgeFYcn6u_Iwpa_gD2Nfl1bw1Q,7749
137
+ khoj/interface/compiled/index.html,sha256=9zjx6aJYBs9N3KSPK0URL_4lQzpooyfSd6cPYlERRgM,53353
138
+ khoj/interface/compiled/index.txt,sha256=tLx8_2nwnJp-H83jsQpLaTsJszRBsQ4sEtbCEChU1JQ,7749
138
139
  khoj/interface/compiled/khoj.webmanifest,sha256=9wOK2BMS6xH5NKd2eaUgTLg9WepIxB2K2U33KU89LD8,2543
139
140
  khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
140
141
  khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
141
142
  khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
142
143
  khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
143
144
  khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
144
- khoj/interface/compiled/404/index.html,sha256=quXE_3txWmKvAT1Eb_mP5mY6P15DDu_nJsHvMBFUROI,17407
145
- khoj/interface/compiled/_next/static/OKbGpkzD6gHDfr1vAog6p/_buildManifest.js,sha256=f2_nYnw25hHWQJ-39Lf5OH1u6kgdbOInyfplqgjvAV4,224
146
- khoj/interface/compiled/_next/static/OKbGpkzD6gHDfr1vAog6p/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
145
+ khoj/interface/compiled/404/index.html,sha256=DSnVaePis7FbhjqMulyqprxSCjgvHHMx4c8wsmo7C_Q,17407
147
146
  khoj/interface/compiled/_next/static/chunks/1225.ecac11e7421504c4.js,sha256=h7OGlQyJHNblfAxjh9NxeF2TfA5R-44W7kq30la-tWA,145739
148
147
  khoj/interface/compiled/_next/static/chunks/1320.ae930ad00affe685.js,sha256=_7Rr2YFKkuvZINMyuBk6HxVzmwtsMh7bHpPeWLZeVyc,71098
149
148
  khoj/interface/compiled/_next/static/chunks/1327-e254819a9172cfa7.js,sha256=gF0GGZk14_JkuoTQHtktiq2fxMAjnU8hxETqmL67nV0,443139
@@ -205,7 +204,7 @@ khoj/interface/compiled/_next/static/chunks/9599.ec50b5296c27dae9.js,sha256=s-el
205
204
  khoj/interface/compiled/_next/static/chunks/9643.b34248df52ffc77c.js,sha256=nARYR9WXzmfbTlJvd5yq06ebrFYsSgpgSmGZsfV1loo,42177
206
205
  khoj/interface/compiled/_next/static/chunks/964ecbae.d5be7c49c320d695.js,sha256=Dp7-5a_bYiET4lBiy1sTrb1cQnE3_TC0f1EQCD2Coko,1175124
207
206
  khoj/interface/compiled/_next/static/chunks/9747.2fd9065b1435abb1.js,sha256=VJfnI0aioXeyDBCXy4gKNqaA6oz5t4ZfKHGENsqamdM,38655
208
- khoj/interface/compiled/_next/static/chunks/9808-c0742b05e1ef29ba.js,sha256=lzERUGUIjh82oBCOFujsqNrhVbsK_kxyThAGFxX3f-c,50100
207
+ khoj/interface/compiled/_next/static/chunks/9808-bd5d7361ad026094.js,sha256=OmPRBiz56nX_yEQUiks6G_BSS0U8hVukCfZXjZy5aO8,50100
209
208
  khoj/interface/compiled/_next/static/chunks/9922.98f2b2a9959b4ebe.js,sha256=1rS3hAPdeawf4Q7Zucz8_IKypZzFeAyTOE7yT5KRxaM,11264
210
209
  khoj/interface/compiled/_next/static/chunks/d3ac728e-4c56e7f41db266b7.js,sha256=KH2S98yagVOcqDG836x8mxIFFjrq11AdYodjBurPvmg,268514
211
210
  khoj/interface/compiled/_next/static/chunks/fd9d1056-aa94101ec5388dba.js,sha256=hlytZKRKDEm1va3Ww-mpo2P2lD-5pw78G2KS66tnJ28,172837
@@ -222,7 +221,7 @@ khoj/interface/compiled/_next/static/chunks/app/agents/page-e291b49977f43880.js,
222
221
  khoj/interface/compiled/_next/static/chunks/app/automations/layout-8639ff99d6c2fec6.js,sha256=YyyuDO2d-3qEy6jBrihuQKxFAV9ki-mENrHq1XTzhvM,5148
223
222
  khoj/interface/compiled/_next/static/chunks/app/automations/page-1047097af99d31c7.js,sha256=suOoMhVLJwWMjMWNmYwfQ-ZYr66777tMrpQHeKEeBvc,34764
224
223
  khoj/interface/compiled/_next/static/chunks/app/chat/layout-2ff3e18a6feae92a.js,sha256=o4b4VL_8nN3WbUJ43qnXmgCTgnnGK8nBMRMu3VdCn38,5148
225
- khoj/interface/compiled/_next/static/chunks/app/chat/page-1b4893b1a9957220.js,sha256=GqgfBJSEhAG4DgRF0Q-_bmJt9gqm0j9xG03Yc87fcdw,31505
224
+ khoj/interface/compiled/_next/static/chunks/app/chat/page-ac7ed0a1aff1b145.js,sha256=-jmQIdaqtUU0yXLqaxAWNftI9kaNEA0VKyNKm73dmKk,31512
226
225
  khoj/interface/compiled/_next/static/chunks/app/search/layout-78dd7cdd97510485.js,sha256=V8eklRDWZZFNY8FDN_wdlACutXubhyt8DlpK8zzDS04,175
227
226
  khoj/interface/compiled/_next/static/chunks/app/search/page-3639e50ec3e9acfd.js,sha256=DFDpUem-27PpUEfqc72xv3zo7TcZpTFjvyXszZSGrNM,30929
228
227
  khoj/interface/compiled/_next/static/chunks/app/settings/layout-f88cedfe9ad4df7c.js,sha256=aFBEgUCsKnoeyULmh7g-DmaznQ0ztcq6y2pj4bSMCIY,6132
@@ -237,9 +236,9 @@ khoj/interface/compiled/_next/static/css/5c7a72bad47e50b3.css,sha256=ZMNMhAG3iGh
237
236
  khoj/interface/compiled/_next/static/css/76c658ee459140a9.css,sha256=7tI24VB66ZUsAPUxRdQhboopun0AXLUnF64uv9RkC08,1833
238
237
  khoj/interface/compiled/_next/static/css/7889a30fe9c83846.css,sha256=IUkZhkx4GpYOIhN-EJw9T1DqGMO3Wa3mNpUwaOBuZoY,7204
239
238
  khoj/interface/compiled/_next/static/css/c34713c98384ee87.css,sha256=uypGqyDrKf-9vcU_Rf9as1XLvMSMDDfKQjmHnLaixfM,9831
240
- khoj/interface/compiled/_next/static/css/cea3bdfe98c144bd.css,sha256=99cD9Juy4GbOJLYAOVSDDtTfufc_ys2sz1CjH_YNy7c,35201
241
239
  khoj/interface/compiled/_next/static/css/db7d90554f3ab82b.css,sha256=A3ZAf0StEG3sr_LxAIizczSTYRe1NbtNUpfslvmkqgk,17713
242
240
  khoj/interface/compiled/_next/static/css/ea5485b3f3859a5a.css,sha256=tn6qi2xSLTWhtzDUE8UlC8iipH9QGV6A9oGj1ap-Sk4,1659
241
+ khoj/interface/compiled/_next/static/css/fb7ea16e60b40ecd.css,sha256=EJENn7RqPclfFTObLL4kYmcEVTAo_yBdNv2XOqnRQcM,36025
243
242
  khoj/interface/compiled/_next/static/media/1d8a05b60287ae6c-s.p.woff2,sha256=IzKBwB_bpSGvO7C9aRv29Js-jAbZPRDI-D-P4H2P918,14508
244
243
  khoj/interface/compiled/_next/static/media/2aa11a72f7f24b58-s.woff2,sha256=QjuuSKmViymmy-itXLB1UbSARxFNHWuMiPpCrYqClFI,22728
245
244
  khoj/interface/compiled/_next/static/media/383a65b63658737d-s.woff2,sha256=VH1XkI87HdFVhsurH5D5ekEjG_ZORTVBVg6xz7p87C8,16704
@@ -317,8 +316,10 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
317
316
  khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
318
317
  khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
319
318
  khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
320
- khoj/interface/compiled/agents/index.html,sha256=mUjT80jM7oaYNVqDFnPeKzoVVTbVT05EbhpILPMc1XA,16535
321
- khoj/interface/compiled/agents/index.txt,sha256=stf1bEffsWaxoyZ10BwNNaSRz0VTm8HP389ZeduNKDs,7353
319
+ khoj/interface/compiled/_next/static/t8O_8CJ9p3UtV9kEsAAWT/_buildManifest.js,sha256=f2_nYnw25hHWQJ-39Lf5OH1u6kgdbOInyfplqgjvAV4,224
320
+ khoj/interface/compiled/_next/static/t8O_8CJ9p3UtV9kEsAAWT/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
321
+ khoj/interface/compiled/agents/index.html,sha256=oZRepT9nZwGBWxuar6uMG6k08aPFOgJ2K4uecQt_g0U,16535
322
+ khoj/interface/compiled/agents/index.txt,sha256=XoJCrsdJVpiHpfSUQZ7r-tgvJIy4sIna405_Tf5J3Yo,7353
322
323
  khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
323
324
  khoj/interface/compiled/assets/icons/khoj_lantern.svg,sha256=I_8XP5X84gEOoCRhCRKOQn_GKZrz3SUBXct7WxHvY7c,8767
324
325
  khoj/interface/compiled/assets/icons/khoj_lantern_1200x1200.png,sha256=xDx0bbD-WMflgg8zck9oPIIuTIvywtuED2k7CjSQS4w,66194
@@ -333,16 +334,16 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
333
334
  khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
334
335
  khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
335
336
  khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
336
- khoj/interface/compiled/automations/index.html,sha256=sHv9I9IyJFNtePQAnGsdSSyaOH1F37BOrDWJzlUznOI,54405
337
- khoj/interface/compiled/automations/index.txt,sha256=aqIJdHbq_ih0SdV39SVI8gh5fETVXb2tokC-Li3MybM,7582
338
- khoj/interface/compiled/chat/index.html,sha256=MEW4I_sTDMiqC-vVLBxRsfWC0wpQWspa-_rU7M8xTP8,54178
339
- khoj/interface/compiled/chat/index.txt,sha256=JSYYdhyClNL-bxuoofR6OFW5YZdHN5xbVL8v_oVidWU,8189
340
- khoj/interface/compiled/search/index.html,sha256=vKjoQ81yv1Idt8FfvpPSNcR9k-hjAtCcnxc0WaWj2K8,55611
341
- khoj/interface/compiled/search/index.txt,sha256=xBKkk5S5XQRhoDxenuMN2FaCSKxz04KlN8zDxUJNT8g,6698
342
- khoj/interface/compiled/settings/index.html,sha256=YriBEjccWLpSoEc-5IrDa0tIHvAjqQh9gYZowa7ThbA,53050
343
- khoj/interface/compiled/settings/index.txt,sha256=eETXL_R6VBNBNYhZ1jwaQeRQ-QvWg57HeJalnpHSmH4,7834
344
- khoj/interface/compiled/share/chat/index.html,sha256=NJ5ZNRXgPabrEz49kbRb1wNqerms5wWiyxNCXA4m3zM,54112
345
- khoj/interface/compiled/share/chat/index.txt,sha256=wxK-5Q-9mAv8mhPagUORwpSlG45w7vnqOrWdNs2kFPw,8453
337
+ khoj/interface/compiled/automations/index.html,sha256=vo-Ex_Y1GgJyD-hD9qr6nK9az9ihRLsvgeAGBiUwE70,54405
338
+ khoj/interface/compiled/automations/index.txt,sha256=wkXjY95eEHEGjj4NLLSpHLI8k2CkqfYMZGxLk6x-bRY,7582
339
+ khoj/interface/compiled/chat/index.html,sha256=pefW86FB5JBAUVY3wyyfl-zEJNUmWnfZeUlbKhuhD_w,54178
340
+ khoj/interface/compiled/chat/index.txt,sha256=EORGHGN6dr0iPks-50udsGjfYSt3NfxbO_SUL_JUtFQ,8189
341
+ khoj/interface/compiled/search/index.html,sha256=cxxCa9AGTt3GWF_h4GGP6NUtjEbqdB6tDiVHP7-tvdQ,55611
342
+ khoj/interface/compiled/search/index.txt,sha256=hjoaJ61BYX4J3_9SBLsf9pWyN7IE-1PYPsbTXDmyxqY,6698
343
+ khoj/interface/compiled/settings/index.html,sha256=6GZBDQXVFdqThGqUePY5ZRDYLBoFYxwwsflyjzzge7g,53050
344
+ khoj/interface/compiled/settings/index.txt,sha256=B2tV-0SoNPB2I29Gp9wHQsKZ8kVCrjF5M_IX5QXepeE,7834
345
+ khoj/interface/compiled/share/chat/index.html,sha256=ZhxTPMArqsFEII5ocboFl6hpvnxZhKlw00yQymWF26Q,54112
346
+ khoj/interface/compiled/share/chat/index.txt,sha256=k5_wLVQTS5XevCi-sL39IlfU1IS7DRAY9_62Dn9HO4w,8453
346
347
  khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
347
348
  khoj/interface/email/magic_link.html,sha256=372ESbTPKM9acekuZcOIKOw6kBl-KikFg_L9MOHqJkg,2094
348
349
  khoj/interface/email/task.html,sha256=tY7a0gzVeQ2lSQNu7WyXR_s7VYeWTrxWEj1iHVuoVE4,2813
@@ -387,19 +388,19 @@ khoj/processor/content/pdf/pdf_to_entries.py,sha256=GQUvab61okhV9_DK0g2MCrMq8wKp
387
388
  khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
388
389
  khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=vEKv7qsb2xmWvm1d1GOuoAg9zipMH8a5mPUCK33qYRo,4954
389
390
  khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
390
- khoj/processor/conversation/prompts.py,sha256=eXLzvFE9o9DWR42-LPuRBUu9CPNsC3Lo8rO7ebW0Pj4,54115
391
- khoj/processor/conversation/utils.py,sha256=h3sRX_iurY4UOcwVMfOAxW6b9HQQiFe2kgQvslEF-t0,47837
391
+ khoj/processor/conversation/prompts.py,sha256=btJm4QTLP02MOVtsKR3RODIMIdHPOHTdsIu8K9UCqXo,53926
392
+ khoj/processor/conversation/utils.py,sha256=owTsHoQBI2Y8eS7JLGYmKIkcrvdf7GauNSdnQ7YC0-4,46957
392
393
  khoj/processor/conversation/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
393
- khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=6IG-YlpFx86EgW3PdGuv4xGMRzvHx4xVUcQMqkKn4vs,5358
394
- khoj/processor/conversation/anthropic/utils.py,sha256=Z7mz-LnunLHubZvdzNEAozlJxukl2eNoLvYzeYzsglc,16568
394
+ khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=ziqaI8upnR2M1d1-qe6ym62woFRLlD5JgkYm_9AHT10,1879
395
+ khoj/processor/conversation/anthropic/utils.py,sha256=rG434pELqYsQvIid8GmU9ZYqZ91ayPC3jcmq3Zmmtlo,16533
395
396
  khoj/processor/conversation/google/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
396
- khoj/processor/conversation/google/gemini_chat.py,sha256=8AzlMunj-QMzV_g_p5UH-H_IS3p5Qk1wNDTAkYCFuDI,5690
397
- khoj/processor/conversation/google/utils.py,sha256=MY2ut_Kkqk1tbu0bwEZgRT0RBTrLJJ_U2hEUMPhxilc,25646
397
+ khoj/processor/conversation/google/gemini_chat.py,sha256=-j8UhoGJRMUY55YA8orx8hqibo7-E9opSRCc3ZOjeys,2176
398
+ khoj/processor/conversation/google/utils.py,sha256=3C8XtMcVxlUzGg9puPGU-CJy9qFbKFBScfedC8-luY8,25681
398
399
  khoj/processor/conversation/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
399
- khoj/processor/conversation/openai/gpt.py,sha256=2PoQMB8mEJDW-5JK-dfCXvyB2POFV2hEJWITG0s64VU,7485
400
- khoj/processor/conversation/openai/utils.py,sha256=jkgon6IEC3wWRZgJC7FxO_rwSoYeto-pLOf2WQEYCvg,55252
400
+ khoj/processor/conversation/openai/gpt.py,sha256=N8_FneCg6keskBi0nPZzwMY8-IaDR8eQtEIEQ7XBBAc,4335
401
+ khoj/processor/conversation/openai/utils.py,sha256=UQ-V62gL5SNHzOzzap3hqotLk7wLZmG9YrTclILymsE,55519
401
402
  khoj/processor/conversation/openai/whisper.py,sha256=zoEeK1LNCg_tzP4xzYi5vRPzNPGuDGzpkrkG7d1LUn4,447
402
- khoj/processor/image/generate.py,sha256=zBYTEaAEHPgFngM6KS-y5CJ3XwRIEGafcmH7EK465aw,12196
403
+ khoj/processor/image/generate.py,sha256=JE_3UaZwmSbIyVqYIrl0bv3JlHNmlz19R94thkWmVjM,13896
403
404
  khoj/processor/operator/README.md,sha256=QaV00W1IB7i8ZrvhNkpjmFMVDtORFt-OASieRQGE_UE,2308
404
405
  khoj/processor/operator/__init__.py,sha256=4reSyuCZcIxnmyg6IlwwpYiWneuSglauyDn29rJg82c,11158
405
406
  khoj/processor/operator/grounding_agent.py,sha256=gW8ffj516616rU9p5yhBRdX-5l_LzPceIN1kGe1qY_8,19093
@@ -416,21 +417,21 @@ khoj/processor/speech/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
416
417
  khoj/processor/speech/text_to_speech.py,sha256=y7pqzJPK6B8kofrATkO4wUZq53jwa9LO_lK21-D2ek4,1882
417
418
  khoj/processor/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
418
419
  khoj/processor/tools/online_search.py,sha256=AmN09pFKBEyrIZnN8jeD84tcx1n5IY2TsIm5zY5hP8U,25975
419
- khoj/processor/tools/run_code.py,sha256=pc0Vdl__OuD9lozXAmROyiQiN2CigAmVqZ_XckzCPX0,12314
420
+ khoj/processor/tools/run_code.py,sha256=AavkJStAEkwtHlRShpXJJuqV7cYYXUKq4g4vOaYsH7o,12340
420
421
  khoj/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
421
422
  khoj/routers/api.py,sha256=Jmdbo38aRTAlSgxBELWHsqbOaY1VjW1KYQxy7anosLQ,7867
422
423
  khoj/routers/api_agents.py,sha256=loqfmI14OI3vaheI--igF18hiMGGnrVx0GghguB_G8k,17219
423
424
  khoj/routers/api_automation.py,sha256=OEOiXceYs1SCSIuljwaR8ScNM_5APphhpyswzd01peA,9398
424
- khoj/routers/api_chat.py,sha256=4P0aIrGSSXYXSysnwltwxtn2mhFaToZvtJvgjJjfoaw,69762
425
+ khoj/routers/api_chat.py,sha256=YyB7FeYjLOTda_iRh07vB8tgQ66lkHdAv94iNBGziHE,69154
425
426
  khoj/routers/api_content.py,sha256=4uPIM0jQHvO-kTXHopE-rsDjXzStj-VyMW8gLkrYbYI,20501
426
427
  khoj/routers/api_model.py,sha256=vPddBwdpG-nrQSAah1GXuHpvda8NdFPDfWSPcCLHU38,5236
427
428
  khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,2208
428
429
  khoj/routers/api_subscription.py,sha256=IlbnucpgjzATet_g88um2KChpyVPOWOhvRIZzO2CK6A,6480
429
430
  khoj/routers/auth.py,sha256=jk2lqAS_650lQsoaOFTlZd9W_LL8HbN5zhHTZza_lqs,11258
430
431
  khoj/routers/email.py,sha256=0nDwbMeon5c-9s3tvj0-fB3IOPlJEnIaoU1t7HGlNnI,3917
431
- khoj/routers/helpers.py,sha256=f3BBwNNxEkWKE0H32-jI3oPY6e7e7Y6R6rRAhBMEbrA,121368
432
+ khoj/routers/helpers.py,sha256=OlL9VvXXreQ-k9ISS9IcHFItTwzgL1-0gp5grQWUs0Q,123961
432
433
  khoj/routers/notion.py,sha256=g53xyYFmjr2JnuIrTW2vytbfkiK_UkoRTxqnnLSmD5o,2802
433
- khoj/routers/research.py,sha256=JAKmrtIViNZ8HWKZAvgOsXF2hf0riHzC6yCOE-aD6GY,26452
434
+ khoj/routers/research.py,sha256=Y4Flf1Thqdf0jE5FyhgK0IcNzpo7s6fR1ES8D4ZBlU8,26450
434
435
  khoj/routers/storage.py,sha256=lao0DvsF49QleZvOdjKM98RU2cGfCJDBb7WeoI7Rr3I,2172
435
436
  khoj/routers/twilio.py,sha256=MLsuCm4--ETvr3sLxbF0CL_ehlg_l2rKBSLR2Qh2Xls,1081
436
437
  khoj/routers/web_client.py,sha256=ArYv1yM04Lb3KOrDHzruf_rClVq1PEyBkdZ_e1W49_A,4573
@@ -444,16 +445,16 @@ khoj/search_type/text_search.py,sha256=wbvQgEs5tFbkZwZesyHqp-gi46j3GNQa7di6swhXM
444
445
  khoj/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
445
446
  khoj/utils/cli.py,sha256=GUJFGltXXXfKWvxjzQGFNc6WxY-PaRNPfNkt62W58jg,2117
446
447
  khoj/utils/config.py,sha256=5dGQ-RcAKZWA3nqP1-2t8mdfB_rbf6xu0bBez4KbB9Y,322
447
- khoj/utils/constants.py,sha256=OLNXaWrJ5qZJvc1sC4otTDSBHf5gkXlrf4OrMMIq0Nc,4394
448
- khoj/utils/helpers.py,sha256=n_20DHM6-DG1N6cFIap1qqp-bt-9dvuQC2GDoISF07k,43536
448
+ khoj/utils/constants.py,sha256=VbtG0RTX2DFWj2akBkfDcEzOcVavJg1r7pEowso3dzE,4512
449
+ khoj/utils/helpers.py,sha256=L9ppM8r08FV7oAuEDthXmJdNqK2ec5Hka4lsdeXQD3Q,43339
449
450
  khoj/utils/initialization.py,sha256=_qCa3Nospjg2F7c6CNQAU8Su8kD7bT6kyokVQW-4BoY,13121
450
451
  khoj/utils/jsonl.py,sha256=0Ac_COqr8sLCXntzZtquxuCEVRM2c3yKeDRGhgOBRpQ,1192
451
452
  khoj/utils/models.py,sha256=_7yEVUXXG59_2p8a0nbda2jzhpLkxnfMtlBYwi34U0k,1993
452
453
  khoj/utils/rawconfig.py,sha256=uABGqIR3pIj5h7Tn-QvYuITB2ogrmi6waSv-KBq1Qc0,3533
453
454
  khoj/utils/state.py,sha256=OwoWGeuz6O7nK-Pa98ADUScLz83GsK8ruyRYex9s3lw,1527
454
455
  khoj/utils/yaml.py,sha256=I8FfdcmxYLSEOjJWgkQxxl_xlrU9Wg1HIuxKj3dWJtE,264
455
- khoj-2.0.0b14.dev43.dist-info/METADATA,sha256=eindk_viPbuUNmB5BiIL2nt4pv68KQFqToLqcLUNuRA,8961
456
- khoj-2.0.0b14.dev43.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
457
- khoj-2.0.0b14.dev43.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
458
- khoj-2.0.0b14.dev43.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
459
- khoj-2.0.0b14.dev43.dist-info/RECORD,,
456
+ khoj-2.0.0b15.dev22.dist-info/METADATA,sha256=3o-3Fgeeuxzv1apPsHp_LXPAirdexkQp_V1BrlssCC4,8961
457
+ khoj-2.0.0b15.dev22.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
458
+ khoj-2.0.0b15.dev22.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
459
+ khoj-2.0.0b15.dev22.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
460
+ khoj-2.0.0b15.dev22.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1929],{39929:function(e,t,s){Promise.resolve().then(s.bind(s,42780))},42780:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return ec}});var a=s(57437),n=s(63136),i=s.n(n),l=s(2265),r=s(2208),o=s(29808),d=s(99376),c=s(14308),u=s(59199);s(2446);var h=s(7436),m=s(5477),f=s(56937),x=s(55287),p=s(60729),g=s(34124),j=s(6512),v=s(37104),N=s(62869),y=s(91890),b=s(77992),w=s(68772),_=s(79603),S=s(23594),C=s(34153),O=s(43551),k=s(32046),I=s(5223),T=s(76818),M=s(75256),E=s(24148),A=s(94508),z=s(23518),B=s(57054),R=s(16605);let L=R.fC,F=R.xz,P=l.forwardRef((e,t)=>{let{className:s,align:n="center",sideOffset:i=4,...l}=e;return(0,a.jsx)(R.VY,{ref:t,align:n,sideOffset:i,className:(0,A.cn)("z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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",s),...l})});P.displayName=R.VY.displayName;var D=s(54036);function W(e){var t,s;let{...n}=e,[i,r]=l.useState(!1),[o,d]=(0,l.useState)(void 0),[c,u]=(0,l.useState)(void 0),{data:m,error:x,isLoading:p}=(0,f.h2)(!0),[g,j]=(0,l.useState)([]),v=(0,h.IC)();return((0,l.useEffect)(()=>{if(!p&&m){if(j(m.chat_model_options),n.initialModel)u(m.chat_model_options.find(e=>e.name===n.initialModel));else{let e=m.chat_model_options.find(e=>e.id===m.selected_chat_model_config);!e&&m.chat_model_options.length>0?u(m.chat_model_options[0]):u(e)}}},[m,n.initialModel,p]),(0,l.useEffect)(()=>{c&&m&&n.onSelect(c)},[c,m,n.onSelect]),p)?(0,a.jsx)(D.O,{className:"w-full h-10"}):x?(0,a.jsx)("div",{className:"text-sm text-error",children:x.message}):(0,a.jsx)("div",{className:"grid gap-2 w-[250px]",children:(0,a.jsxs)(B.J2,{open:i,onOpenChange:r,...n,children:[(0,a.jsx)(B.xo,{asChild:!0,children:(0,a.jsxs)(N.z,{variant:"outline",role:"combobox","aria-expanded":i,"aria-label":"Select a model",className:"w-full justify-between text-left",disabled:null!==(s=n.disabled)&&void 0!==s&&s,children:[(0,a.jsx)("p",{className:"truncate",children:c?null===(t=c.name)||void 0===t?void 0:t.substring(0,20):"Select a model..."}),(0,a.jsx)(M.K,{className:"opacity-50"})]})}),(0,a.jsx)(B.yk,{align:"end",className:"w-[250px] p-0",children:v?(0,a.jsx)("div",{children:(0,a.jsx)(z.mY,{loop:!0,children:(0,a.jsxs)(z.e8,{className:"h-[var(--cmdk-list-height)]",children:[(0,a.jsx)(z.sZ,{placeholder:"Search Models..."}),(0,a.jsx)(z.rb,{children:"No Models found."}),(0,a.jsx)(z.fu,{heading:"Models",children:g&&g.length>0&&g.map(e=>(0,a.jsx)(Z,{model:e,isSelected:(null==c?void 0:c.id)===e.id,onPeek:e=>d(e),onSelect:()=>{u(e),r(!1)},isActive:n.isActive},e.id))},"models")]})})}):(0,a.jsxs)(L,{children:[(0,a.jsx)(P,{side:"left",align:"start",forceMount:!0,className:"min-h-[280px]",children:(0,a.jsxs)("div",{className:"grid gap-2",children:[(0,a.jsx)("h4",{className:"font-medium leading-none",children:null==o?void 0:o.name}),(0,a.jsx)("div",{className:"text-sm text-muted-foreground",children:null==o?void 0:o.description}),(null==o?void 0:o.strengths)?(0,a.jsxs)("div",{className:"mt-4 grid gap-2",children:[(0,a.jsx)("h5",{className:"text-sm font-medium leading-none",children:"Strengths"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:o.strengths})]}):null]})}),(0,a.jsxs)("div",{children:[(0,a.jsx)(F,{}),(0,a.jsx)(z.mY,{loop:!0,children:(0,a.jsxs)(z.e8,{className:"h-[var(--cmdk-list-height)]",children:[(0,a.jsx)(z.sZ,{placeholder:"Search Models..."}),(0,a.jsx)(z.rb,{children:"No Models found."}),(0,a.jsx)(z.fu,{heading:"Models",children:g&&g.length>0&&g.map(e=>(0,a.jsx)(Z,{model:e,isSelected:(null==c?void 0:c.id)===e.id,onPeek:e=>d(e),onSelect:()=>{u(e),r(!1)},isActive:n.isActive},e.id))},"models")]})})]})]})})]})})}function Z(e){let{model:t,isSelected:s,onSelect:n,onPeek:i,isActive:r}=e,o=l.useRef(null);return(0,h.Iy)(o,e=>{e.forEach(e=>{var s;"attributes"===e.type&&"aria-selected"===e.attributeName&&(null===(s=o.current)||void 0===s?void 0:s.getAttribute("aria-selected"))==="true"&&i(t)})}),(0,a.jsxs)(z.di,{onSelect:n,ref:o,className:"data-[selected=true]:bg-muted data-[selected=true]:text-secondary-foreground",disabled:!r&&"free"!==t.tier,children:[t.name," ","standard"===t.tier&&(0,a.jsx)("span",{className:"text-green-500 ml-2",children:"(Futurist)"}),(0,a.jsx)(E.J,{className:(0,A.cn)("ml-auto",s?"opacity-100":"opacity-0")})]},t.id)}var J=s(17200),V=s(6952),U=s(69304),K=s(42225),H=s(26815),G=s(9270),Q=s(30401);let q=l.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)(G.fC,{ref:t,className:(0,A.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-secondary-foreground ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-gray-500 data-[state=checked]:text-primary-foreground",s),...n,children:(0,a.jsx)(G.z$,{className:(0,A.cn)("flex items-center justify-center text-current"),children:(0,a.jsx)(Q.Z,{className:"h-4 w-4"})})})});q.displayName=G.fC.displayName;var Y=s(81103),$=s(61312),X=s(26110),ee=s(53647),et=s(84671),es=s(95186),ea=s(27648),en=s(98239);let ei=e=>fetch(e).then(e=>e.json());function el(e){let{...t}=e;return t.isMobileWidth?(0,a.jsx)(U.yo,{open:t.isOpen,onOpenChange:t.onOpenChange,children:(0,a.jsx)(U.ue,{className:"w-[300px] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",children:(0,a.jsx)(eo,{...t})})}):(0,a.jsx)("div",{className:"relative",children:(0,a.jsx)(eo,{...t})})}function er(e){let t=(0,K.BI)(),s=et.xF,[n,i]=(0,l.useState)(!1),[r,o]=(0,l.useState)(),[d,c]=(0,l.useState)(),[u,h]=(0,l.useState)(),[m,f]=(0,l.useState)(!1),[x,p]=(0,l.useState)(),[g,j]=(0,l.useState)(!1),[v,y]=(0,l.useState)();return(0,l.useEffect)(()=>{r&&d&&u?j(!0):j(!1)},[r,d,u]),(0,a.jsxs)(X.Vq,{children:[(0,a.jsx)(X.hg,{asChild:!0,children:(0,a.jsx)(N.z,{className:"w-full",variant:"secondary",children:"Create Agent"})}),(0,a.jsxs)(X.cZ,{children:[(0,a.jsxs)(X.fK,{children:[m&&x?(0,a.jsxs)(X.$N,{children:["Created ",r]}):(0,a.jsx)(X.$N,{children:"Create a New Agent"}),(0,a.jsx)(X.GG,{}),(0,a.jsx)(X.Be,{children:"If these settings have been helpful, create a dedicated agent you can re-use across conversations."})]}),(0,a.jsx)("div",{className:"py-4",children:m&&x?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center gap-4 py-8",children:[(0,a.jsx)(en.E.div,{initial:{scale:0},animate:{scale:1},transition:{type:"spring",stiffness:260,damping:20},children:(0,a.jsx)(w.f,{className:"w-16 h-16 text-green-500",weight:"fill"})}),(0,a.jsx)(en.E.p,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.2},className:"text-center text-lg font-medium text-accent-foreground",children:"Created successfully!"}),(0,a.jsx)(en.E.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.4},children:(0,a.jsx)(ea.default,{href:"/agents?agent=".concat(x),children:(0,a.jsx)(N.z,{variant:"secondary",className:"mt-2",children:"Manage Agent"})})})]}):(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(H._,{htmlFor:"agent_name",children:"Name"}),(0,a.jsx)(es.I,{id:"agent_name",className:"w-full p-2 border mt-4 border-slate-500 rounded-lg",disabled:n,value:r,onChange:e=>o(e.target.value)})]}),(0,a.jsxs)("div",{className:"flex gap-4",children:[(0,a.jsx)("div",{className:"flex-1",children:(0,a.jsxs)(ee.Ph,{onValueChange:h,defaultValue:u,children:[(0,a.jsx)(ee.i4,{className:"w-full dark:bg-muted",disabled:n,children:(0,a.jsx)(ee.ki,{placeholder:"Color"})}),(0,a.jsx)(ee.Bw,{className:"items-center space-y-1 inline-flex flex-col",children:s.map(e=>(0,a.jsx)(ee.Ql,{value:e,children:(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)(_.C,{className:"w-6 h-6 mr-2 ".concat((0,et.oz)(e)),weight:"fill"}),e]})},e))})]})}),(0,a.jsx)("div",{className:"flex-1",children:(0,a.jsxs)(ee.Ph,{onValueChange:c,defaultValue:d,children:[(0,a.jsx)(ee.i4,{className:"w-full dark:bg-muted",disabled:n,children:(0,a.jsx)(ee.ki,{placeholder:"Icon"})}),(0,a.jsx)(ee.Bw,{className:"items-center space-y-1 inline-flex flex-col",children:t.map(e=>(0,a.jsx)(ee.Ql,{value:e,children:(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,K.TI)(e,null!=u?u:"gray","w-6","h-6"),e]})},e))})]})})]})]})}),(0,a.jsxs)(X.cN,{children:[v&&(0,a.jsx)("div",{className:"text-red-500 text-sm",children:v}),!m&&(0,a.jsxs)(N.z,{type:"submit",onClick:()=>void(!n&&(i(!0),fetch("/api/agents",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:r,icon:d,color:u,persona:e.customPrompt,chat_model:e.selectedModel,input_tools:e.inputTools,output_modes:e.outputModes,privacy_level:"private"})}).then(e=>e.json()).then(e=>{if(console.log("Success:",e),"detail"in e){y("Error creating agent: ".concat(e.detail)),i(!1);return}f(!0),p(e.slug),i(!1)}).catch(e=>{console.error("Error:",e),y("Error creating agent: ".concat(e)),i(!1)}))),disabled:n||!g,children:[n?(0,a.jsx)(S.U,{className:"animate-spin"}):(0,a.jsx)(C.R,{}),"Create"]}),(0,a.jsx)(X.GG,{})]})]})]})}function eo(e){var t,s,n,i,r;let{...o}=e,[d,c]=(0,l.useState)(!1),{data:u,error:h}=(0,J.ZP)("/api/agents/options",ei),{data:m,isLoading:g,error:j}=(0,J.ZP)("/api/agents/conversation?conversation_id=".concat(o.conversationId),ei),{data:v,error:y,isLoading:b}=(0,f.GW)(),[w,_]=(0,l.useState)(),[C,M]=(0,l.useState)(),[E,A]=(0,l.useState)(),[z,R]=(0,l.useState)(),[L,F]=(0,l.useState)(!1),[P,D]=(0,l.useState)(!m||(null==m?void 0:null===(t=m.slug)||void 0===t?void 0:t.toLowerCase())==="khoj"),[Z,U]=(0,l.useState)(),[G,Q]=(0,l.useState)(),[X,ee]=(0,l.useState)(!1),et=null!==(s=null==v?void 0:v.is_active)&&void 0!==s&&s;function es(){if(m){var e,t;A(m.input_tools),U(m.input_tools),(void 0===m.input_tools||0===m.input_tools.length)&&U((null==u?void 0:u.input_tools)?Object.keys(u.input_tools):[]),R(m.output_modes),Q(m.output_modes),(void 0===m.output_modes||0===m.output_modes.length)&&Q((null==u?void 0:u.output_modes)?Object.keys(u.output_modes):[]),((null===(e=m.name)||void 0===e?void 0:e.toLowerCase())==="khoj"||!0===m.is_hidden)&&c(!0),(null===(t=m.slug)||void 0===t?void 0:t.toLowerCase())==="khoj"?(M(void 0),_(void 0),D(!0)):(D(!1),_(m.persona),M(m.chat_model))}}function ea(e,t){return t.includes(e)?t.filter(t=>t!==e):[...t,e]}return(0,l.useEffect)(()=>{es(),F(!1)},[m]),(0,l.useEffect)(()=>{var e,t;if(!m||g)return;let s=!!C&&C!==m.chat_model,a=!!w&&w!==m.persona,n=JSON.stringify((null==E?void 0:E.sort())||[])!==JSON.stringify(null===(e=m.input_tools)||void 0===e?void 0:e.sort()),i=JSON.stringify((null==z?void 0:z.sort())||[])!==JSON.stringify(null===(t=m.output_modes)||void 0===t?void 0:t.sort());F(s||a||n||i)},[C,w,E,z,m,g]),(0,a.jsxs)(p.DD,{collapsible:"none",className:"ml-auto opacity-30 rounded-lg p-2 transition-all transform duration-300 ease-in-out\n ".concat(o.isOpen?"translate-x-0 opacity-100 w-[300px] relative":"translate-x-full opacity-100 w-0 p-0 m-0","\n "),variant:"floating",children:[(0,a.jsxs)(p.TZ,{children:[(0,a.jsx)(p.$l,{children:m&&!d?(0,a.jsx)("div",{className:"flex items-center relative text-sm",children:(0,a.jsxs)("a",{className:"text-lg font-bold flex flex-row items-center",href:"/agents?agent=".concat(m.slug),children:[(0,K.TI)(m.icon,m.color),m.name]})}):(0,a.jsx)("div",{className:"flex items-center relative text-sm justify-between",children:(0,a.jsx)("p",{children:"Chat Options"})})}),(0,a.jsx)(p.Hz,{className:"border-b last:border-none",children:(0,a.jsx)(p.Ks,{className:"gap-0",children:(0,a.jsx)(p.w3,{className:"p-0 m-0",children:m&&m.has_files?(0,a.jsx)(p.LO,{className:"list-none",children:(0,a.jsxs)("div",{className:"flex items-center space-x-2 rounded-full",children:[(0,a.jsx)("div",{className:"text-muted-foreground",children:(0,a.jsx)(O.J,{})}),(0,a.jsx)("div",{className:"text-muted-foreground text-sm",children:"Using custom knowledge base"})]})},"agent_knowledge"):null})})},"knowledge"),(0,a.jsx)(p.Hz,{children:(0,a.jsxs)(p.Ks,{children:[(0,a.jsx)(p.nO,{children:"Instructions"}),(0,a.jsx)(p.w3,{className:"p-0 m-0",children:(0,a.jsx)(p.LO,{className:"list-none",children:(0,a.jsx)(T.g,{className:"w-full h-32 resize-none hover:resize-y",value:w||"",onChange:e=>{_(e.target.value)},readOnly:!d,disabled:!d})})})]})},"instructions"),!g&&m&&(0,a.jsx)(p.Hz,{children:(0,a.jsxs)(p.Ks,{children:[(0,a.jsxs)(p.nO,{children:["Model",!et&&(0,a.jsx)("a",{href:"/settings",className:"hover:font-bold text-accent-foreground m-2 bg-accent bg-opacity-10 p-1 rounded-lg",children:"Upgrade"})]}),(0,a.jsx)(p.w3,{className:"p-0 m-0",children:(0,a.jsx)(p.LO,{className:"list-none",children:(0,a.jsx)(W,{disabled:!d,onSelect:e=>{M(e.name)},initialModel:P?void 0:null==m?void 0:m.chat_model,isActive:o.isActive})},"model")})]})},"model"),(0,a.jsx)(B.J2,{defaultOpen:!1,children:(0,a.jsxs)(p.Hz,{children:[(0,a.jsx)(p.nO,{asChild:!0,children:(0,a.jsxs)(B.xo,{children:["Tools",(0,a.jsx)(k._,{className:"ml-auto transition-transform group-data-[state=open]/collapsible:rotate-180"})]})}),(0,a.jsx)(B.yk,{children:(0,a.jsx)(p.Ks,{children:(0,a.jsxs)(p.w3,{className:"p-1 m-0",children:[Object.entries(null!==(n=null==u?void 0:u.input_tools)&&void 0!==n?n:{}).map(e=>{let[t,s]=e;return(0,a.jsx)(p.LO,{className:"list-none",children:(0,a.jsxs)(Y.u,{children:[(0,a.jsx)(Y.aJ,{asChild:!0,children:(0,a.jsxs)("div",{className:"flex items-center space-x-2 py-1 justify-between",children:[(0,a.jsxs)(H._,{htmlFor:t,className:"flex items-center gap-2 text-accent-foreground p-1 cursor-pointer",children:[(0,K.vH)(t),(0,a.jsx)("p",{className:"text-sm my-auto flex items-center",children:t})]}),(0,a.jsx)(q,{id:t,className:"".concat(d?"cursor-pointer":""),checked:(null!=Z?Z:[]).includes(t),onCheckedChange:()=>{let e=ea(t,null!=Z?Z:[]);A(e),U(e)},disabled:!d,children:t})]})},t),(0,a.jsx)($._v,{sideOffset:5,side:"left",align:"start",className:"text-sm bg-background text-foreground shadow-sm border border-slate-500 border-opacity-20 p-2 rounded-lg",children:s})]})},t)}),Object.entries(null!==(i=null==u?void 0:u.output_modes)&&void 0!==i?i:{}).map(e=>{let[t,s]=e;return(0,a.jsx)(p.LO,{className:"list-none",children:(0,a.jsxs)(Y.u,{children:[(0,a.jsx)(Y.aJ,{asChild:!0,children:(0,a.jsxs)("div",{className:"flex items-center space-x-2 py-1 justify-between",children:[(0,a.jsxs)(H._,{htmlFor:t,className:"flex items-center gap-2 p-1 rounded-lg cursor-pointer",children:[(0,K.vH)(t),(0,a.jsx)("p",{className:"text-sm my-auto flex items-center",children:t})]}),(0,a.jsx)(q,{id:t,className:"".concat(d?"cursor-pointer":""),checked:(null!=G?G:[]).includes(t),onCheckedChange:()=>{let e=ea(t,null!=G?G:[]);R(e),Q(e)},disabled:!d,children:t})]})},t),(0,a.jsx)($._v,{sideOffset:5,side:"left",align:"start",className:"text-sm bg-background text-foreground shadow-sm border border-slate-500 border-opacity-20 p-2 rounded-lg",children:s})]})},t)})]})})})]})}),(0,a.jsx)(p.Hz,{children:(0,a.jsxs)(p.Ks,{children:[(0,a.jsx)(p.nO,{children:"Files"}),(0,a.jsx)(p.w3,{className:"p-0 m-0",children:(0,a.jsx)(p.LO,{className:"list-none",children:(0,a.jsx)(x.J_,{conversationId:o.conversationId,uploadedFiles:[],isMobileWidth:null!==(r=o.isMobileWidth)&&void 0!==r&&r})},"files-conversation")})]})},"files")]}),o.isOpen&&(0,a.jsx)(p.ZW,{children:(0,a.jsx)(p.w3,{className:"p-0 m-0",children:m&&!d&&m.is_creator?(0,a.jsx)(p.LO,{children:(0,a.jsx)(p.bb,{asChild:!0,children:(0,a.jsx)(N.z,{className:"w-full",variant:"ghost",onClick:()=>window.location.href="/agents?agent=".concat(null==m?void 0:m.slug),children:"Manage"})})}):(0,a.jsxs)(a.Fragment,{children:[!L&&d&&w&&!P&&C&&(0,a.jsx)(p.LO,{children:(0,a.jsx)(p.bb,{asChild:!0,children:(0,a.jsx)(er,{customPrompt:w,selectedModel:C,inputTools:null!=Z?Z:[],outputModes:null!=G?G:[]})})}),(0,a.jsx)(p.LO,{children:(0,a.jsx)(p.bb,{asChild:!0,children:(0,a.jsx)(N.z,{className:"w-full",onClick:()=>void(es(),F(!1)),variant:"ghost",disabled:!d||!L,children:"Reset"})})}),(0,a.jsx)(p.LO,{children:(0,a.jsx)(p.bb,{asChild:!0,children:(0,a.jsxs)(N.z,{className:"w-full ".concat(L?"bg-accent-foreground text-accent":""),variant:"secondary",onClick:()=>(function(){if(L){if(!P&&(null==m?void 0:m.is_hidden)===!1){alert("This agent is not a hidden agent. It cannot be modified from this interface.");return}let e="PATCH";P&&(e="POST");let t={persona:w,chat_model:C,input_tools:E,output_modes:z,...P?{}:{slug:null==m?void 0:m.slug}};ee(!0),fetch(P?"/api/agents/hidden?conversation_id=".concat(o.conversationId):"/api/agents/hidden",{method:e,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then(e=>{ee(!1),e.json()}).then(e=>{(0,V.j)("/api/agents/conversation?conversation_id=".concat(o.conversationId)),F(!1)}).catch(e=>{console.error("Error:",e),ee(!1)})}})(),disabled:!d||!L||X,children:[X?(0,a.jsx)(S.U,{className:"animate-spin"}):(0,a.jsx)(I.Z,{}),X?"Saving":"Save"]})})})]})})},"actions")]})}function ed(e){let t=(0,d.useSearchParams)().get("conversationId"),[s,n]=(0,l.useState)(""),[r,c]=(0,l.useState)([]),[u,h]=(0,l.useState)(!1),[f,x]=(0,l.useState)(null),[p,g]=(0,l.useState)(!1),j=(0,l.useRef)(null),v=e.setQueryToProcess,N=e.onConversationIdChange,y=e.isMobileWidth?"w-full":"w-4/6";if((0,l.useEffect)(()=>{if(r.length>0){let t=r.map(e=>encodeURIComponent(e));e.setImages(t)}},[r,e.setImages]),(0,l.useEffect)(()=>{let t=localStorage.getItem("images");if(t){let s=JSON.parse(t);c(s);let a=s.map(e=>encodeURIComponent(e));e.setImages(a),localStorage.removeItem("images")}let s=localStorage.getItem("message");s&&(h(!0),v(s),s.trim().startsWith("/research")&&g(!0));let a=localStorage.getItem("uploadedFiles");if(a){let t=a?JSON.parse(a):[],s=[];for(let e of t)s.push({name:e.name,file_type:e.file_type,content:e.content,size:e.size});localStorage.removeItem("uploadedFiles"),e.setUploadedFiles(s)}},[v,e.setImages,t]),(0,l.useEffect)(()=>{s&&(h(!0),v(s))},[s,v]),(0,l.useEffect)(()=>{t&&(null==N||N(t))},[t,N]),(0,l.useEffect)(()=>{e.streamedMessages&&e.streamedMessages.length>0&&e.streamedMessages[e.streamedMessages.length-1].completed?(h(!1),c([]),e.setUploadedFiles(void 0)):n("")},[e.streamedMessages]),!t){window.location.href="/";return}return(0,a.jsxs)("div",{className:"flex flex-row h-full w-full",children:[(0,a.jsxs)("div",{className:"flex flex-col h-full w-full",children:[(0,a.jsx)("div",{className:i().chatBodyFull,children:(0,a.jsx)(o.Z,{conversationId:t,setTitle:e.setTitle,setAgent:x,pendingMessage:u?s:"",incomingMessages:e.streamedMessages,setIncomingMessages:e.setStreamedMessages,customClassName:y,setIsChatSideBarOpen:e.setIsChatSideBarOpen,onRetryMessage:e.onRetryMessage})}),(0,a.jsx)("div",{className:"".concat(i().inputBox," print-hidden p-1 md:px-2 shadow-md bg-background align-middle items-center justify-center dark:bg-neutral-700 dark:border-0 dark:shadow-sm rounded-2xl md:rounded-xl h-fit ").concat(y," mr-auto ml-auto mt-auto"),children:(0,a.jsx)(m.a,{agentColor:null==f?void 0:f.color,isLoggedIn:e.isLoggedIn,sendMessage:e=>n(e),sendImage:e=>c(t=>[...t,e]),sendDisabled:e.isParentProcessing||!1,chatOptionsData:e.chatOptionsData,conversationId:t,isMobileWidth:e.isMobileWidth,setUploadedFiles:e.setUploadedFiles,ref:j,isResearchModeEnabled:p,setTriggeredAbort:e.setTriggeredAbort})})]}),(0,a.jsx)("div",{className:"print-hidden",children:(0,a.jsx)(el,{conversationId:t,isActive:e.isActive,isOpen:e.isChatSideBarOpen,onOpenChange:e.setIsChatSideBarOpen,isMobileWidth:e.isMobileWidth})})]})}function ec(){let e="Khoj AI - Chat",[t,s]=(0,l.useState)(null),[n,o]=(0,l.useState)(!0),[d,m]=(0,l.useState)(e),[w,_]=(0,l.useState)(null),[S,C]=(0,l.useState)([]),[O,k]=(0,l.useState)(""),[I,T]=(0,l.useState)(!1),[M,E]=(0,l.useState)(void 0),[A,z]=(0,l.useState)([]),[B,R]=(0,l.useState)(!1),[L,F]=(0,l.useState)(""),P=(0,l.useRef)(""),D=(0,l.useRef)(null),{locationData:W,locationDataError:Z,locationDataLoading:J}=(0,h.k6)()||{locationData:{timezone:Intl.DateTimeFormat().resolvedOptions().timeZone}},{data:V,error:U,isLoading:K}=(0,f.GW)(),H=(0,h.IC)(),[G,Q]=(0,l.useState)(!1),[q,Y]=(0,l.useState)(null),$=(0,l.useRef)(!1),X=(0,l.useRef)(!1),ee=(0,l.useCallback)(()=>{D.current&&clearTimeout(D.current),X.current=!0,Y(null),console.log("WebSocket disconnected due to inactivity.")},[]),et=(0,l.useCallback)(()=>{D.current&&clearTimeout(D.current),D.current=setTimeout(ee,6e5)},[ee]),{toast:es}=(0,b.pm)(),{sendMessage:ea,lastMessage:en}=(0,r.ZP)(q,{share:!0,shouldReconnect:e=>!0,reconnectAttempts:10,reconnectInterval:e=>Math.min(1e3*Math.pow(2,e)+1e3*Math.random(),2e4),onOpen:()=>{console.log("WebSocket connection established."),et(),$.current=!1,X.current=!1},onClose:e=>{console.log("WebSocket connection closed."),D.current&&clearTimeout(D.current),X.current||(null==e?void 0:e.code)===1e3||(null==e?void 0:e.code)===1001||!O||$.current||(es({title:"Network issue",description:"Connection lost. Please check your network and try again when ready.",variant:"destructive",duration:6e3}),$.current=!0),C(e=>{if(!e||0===e.length)return e;let t=[...e],s=t[t.length-1];return s&&!s.completed&&(s.completed=!0),t}),T(!1),k("")},onError:e=>{console.error("WebSocket error",e),C(e=>{if(!e||0===e.length)return e;let t=[...e],s=t[t.length-1];return s&&!s.completed&&(s.completed=!0),t}),T(!1),k(""),X.current||$.current||(es({title:"Network error",description:"Connection lost. Please check your network and try again when ready.",variant:"destructive",duration:5e3}),$.current=!0)}});async function ei(){if(localStorage.removeItem("message"),!O||!w){T(!1);return}if(et(),!q){let e="https:"===window.location.protocol?"wss:":"ws:";Y("".concat(e,"//").concat(window.location.host,"/api/chat/ws?client=web"))}ea(JSON.stringify({q:O,conversation_id:w,stream:!0,...W&&{city:W.city,region:W.region,country:W.country,country_code:W.countryCode,timezone:W.timezone},...A.length>0&&{images:A},...M&&{files:M}}))}return(0,l.useEffect)(()=>{let e=()=>{X.current=!0};return window.addEventListener("beforeunload",e),()=>window.removeEventListener("beforeunload",e)},[]),(0,l.useEffect)(()=>{if(null!==en){let e;et();try{let e=JSON.parse(en.data);if("interrupt_acknowledged"===e.type){console.log("Interrupt acknowledged by server"),T(!1);return}if("interrupt_message_acknowledged"===e.type){console.log("Interrupt message acknowledged by server"),T(!1);return}if(e.error){console.error("WebSocket error:",e.error),T(!1);return}}catch(e){}let t="␃\uD83D\uDD1A␗";for(P.current+=en.data;-1!==(e=P.current.indexOf(t));){let s=P.current.slice(0,e);P.current=P.current.slice(e+t.length),s&&C(e=>{let t=[...e],a=t[t.length-1];if(!a||a.completed)return e;let{context:n,onlineContext:i,codeContext:l}=(0,u.VK)(s,a,a.context||[],a.onlineContext||{},a.codeContext||{});return a.context=n,a.onlineContext=i,a.codeContext=l,a.completed&&(k(""),T(!1),z([]),w&&(0,u.tQ)(w,m)),t})}}},[en,C]),(0,l.useEffect)(()=>{fetch("/api/chat/options").then(e=>e.json()).then(e=>{o(!1),e&&s(e)}).catch(e=>{console.error(e)}),(0,h.EK)()},[]),((0,l.useEffect)(()=>{B&&(ea(JSON.stringify({type:"interrupt",query:L})),console.log("Sent interrupt message via WebSocket:",L),C(e=>{let t=[...e],s=t[t.length-1];return s&&(s.completed=!0),t}),k(L),R(!1),F(""))},[B,ea]),(0,l.useEffect)(()=>{if(O){let e={rawResponse:"",trainOfThought:[],context:[],onlineContext:{},codeContext:{},completed:!1,timestamp:new Date().toISOString(),rawQuery:O||"",images:A,queryFiles:M};C(t=>[...t,e]),T(!0)}},[O]),(0,l.useEffect)(()=>{I&&!J&&ei()},[I,J]),(0,l.useEffect)(()=>{if(!w)return;let e="https:"===window.location.protocol?"wss:":"ws:";return Y("".concat(e,"//").concat(window.location.host,"/api/chat/ws?client=web")),()=>{D.current&&clearTimeout(D.current)}},[w]),n)?(0,a.jsx)(c.Z,{}):(0,a.jsxs)(p.Hn,{children:[(0,a.jsx)("div",{className:"print-hidden",children:(0,a.jsx)(g.S,{conversationId:w||""})}),(0,a.jsxs)(p.kV,{children:[(0,a.jsxs)("header",{className:"flex h-16 shrink-0 items-center gap-2 border-b px-4 print-hidden",children:[(0,a.jsx)(p.vP,{className:"-ml-1"}),(0,a.jsx)(j.Z,{orientation:"vertical",className:"mr-2 h-4"}),w&&(0,a.jsx)("div",{className:"".concat(i().chatTitleWrapper," text-nowrap text-ellipsis overflow-hidden max-w-screen-md grid items-top font-bold mx-2 md:mr-8 col-auto h-fit"),children:H?(0,a.jsx)("a",{className:"p-0 no-underline",href:"/",children:(0,a.jsx)(v.VO,{className:"h-auto w-16"})}):d&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{className:"text-lg text-ellipsis whitespace-nowrap overflow-x-hidden mr-4",children:d}),(0,a.jsx)(x.En,{conversationId:w,setTitle:m,sizing:"md"})]})}),(0,a.jsx)("div",{className:"flex justify-end items-start gap-2 text-sm ml-auto",children:(0,a.jsx)(N.z,{variant:"ghost",size:"icon",className:"h-12 w-12 data-[state=open]:bg-accent print-hidden",onClick:()=>Q(!G),children:(0,a.jsx)(y.T,{className:"w-6 h-6"})})})]}),(0,a.jsxs)("div",{className:"".concat(i().main," ").concat(i().chatLayout),children:[(0,a.jsx)("title",{children:"".concat(e).concat(d&&d!==e?": ".concat(d):"")}),(0,a.jsx)("div",{className:i().chatBox,children:(0,a.jsx)("div",{className:i().chatBoxBody,children:(0,a.jsx)(l.Suspense,{fallback:(0,a.jsx)(c.Z,{}),children:(0,a.jsx)(ed,{isLoggedIn:!!V,streamedMessages:S,setStreamedMessages:C,chatOptionsData:t,setTitle:m,setQueryToProcess:k,setUploadedFiles:E,isMobileWidth:H,onConversationIdChange:e=>{_(e)},setImages:z,setTriggeredAbort:(e,t)=>{e&&F(t||""),R(e)},isChatSideBarOpen:G,setIsChatSideBarOpen:Q,isActive:null==V?void 0:V.is_active,isParentProcessing:I,onRetryMessage:(e,t)=>{if(!e){console.warn("No query provided for retry");return}t&&(C(e=>e.filter(e=>e.turnId!==t)),fetch("/api/chat/conversation/message",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({conversation_id:w,turn_id:t})}).catch(e=>{console.error("Failed to delete message for retry:",e)})),k(e)}})})})})]})]})]})}},26815:function(e,t,s){"use strict";s.d(t,{_:function(){return d}});var a=s(57437),n=s(2265),i=s(6394),l=s(90535),r=s(94508);let o=(0,l.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),d=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)(i.f,{ref:t,className:(0,r.cn)(o(),s),...n})});d.displayName=i.f.displayName},53647:function(e,t,s){"use strict";s.d(t,{Bw:function(){return x},Ph:function(){return c},Ql:function(){return p},i4:function(){return h},ki:function(){return u}});var a=s(57437),n=s(2265),i=s(56873),l=s(40875),r=s(22135),o=s(30401),d=s(94508);let c=i.fC;i.ZA;let u=i.B4,h=n.forwardRef((e,t)=>{let{className:s,children:n,...r}=e;return(0,a.jsxs)(i.xz,{ref:t,className:(0,d.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",s),...r,children:[n,(0,a.jsx)(i.JO,{asChild:!0,children:(0,a.jsx)(l.Z,{className:"h-4 w-4 opacity-50"})})]})});h.displayName=i.xz.displayName;let m=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)(i.u_,{ref:t,className:(0,d.cn)("flex cursor-default items-center justify-center py-1",s),...n,children:(0,a.jsx)(r.Z,{className:"h-4 w-4"})})});m.displayName=i.u_.displayName;let f=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)(i.$G,{ref:t,className:(0,d.cn)("flex cursor-default items-center justify-center py-1",s),...n,children:(0,a.jsx)(l.Z,{className:"h-4 w-4"})})});f.displayName=i.$G.displayName;let x=n.forwardRef((e,t)=>{let{className:s,children:n,position:l="popper",...r}=e;return(0,a.jsx)(i.h_,{children:(0,a.jsxs)(i.VY,{ref:t,className:(0,d.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"===l&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",s),position:l,...r,children:[(0,a.jsx)(m,{}),(0,a.jsx)(i.l_,{className:(0,d.cn)("p-1","popper"===l&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:n}),(0,a.jsx)(f,{})]})})});x.displayName=i.VY.displayName,n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)(i.__,{ref:t,className:(0,d.cn)("py-1.5 pl-8 pr-2 text-sm font-semibold",s),...n})}).displayName=i.__.displayName;let p=n.forwardRef((e,t)=>{let{className:s,children:n,...l}=e;return(0,a.jsxs)(i.ck,{ref:t,className:(0,d.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",s),...l,children:[(0,a.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,a.jsx)(i.wU,{children:(0,a.jsx)(o.Z,{className:"h-4 w-4"})})}),(0,a.jsx)(i.eT,{children:n})]})});p.displayName=i.ck.displayName,n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)(i.Z0,{ref:t,className:(0,d.cn)("-mx-1 my-1 h-px bg-muted",s),...n})}).displayName=i.Z0.displayName},77992:function(e,t,s){"use strict";s.d(t,{pm:function(){return h}});var a=s(2265);let n=0,i=new Map,l=e=>{if(i.has(e))return;let t=setTimeout(()=>{i.delete(e),c({type:"REMOVE_TOAST",toastId:e})},1e6);i.set(e,t)},r=(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:s}=t;return s?l(s):e.toasts.forEach(e=>{l(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===s||void 0===s?{...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)}}},o=[],d={toasts:[]};function c(e){d=r(d,e),o.forEach(e=>{e(d)})}function u(e){let{...t}=e,s=(n=(n+1)%Number.MAX_SAFE_INTEGER).toString(),a=()=>c({type:"DISMISS_TOAST",toastId:s});return c({type:"ADD_TOAST",toast:{...t,id:s,open:!0,onOpenChange:e=>{e||a()}}}),{id:s,dismiss:a,update:e=>c({type:"UPDATE_TOAST",toast:{...e,id:s}})}}function h(){let[e,t]=a.useState(d);return a.useEffect(()=>(o.push(t),()=>{let e=o.indexOf(t);e>-1&&o.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>c({type:"DISMISS_TOAST",toastId:e})}}},63136:function(e){e.exports={main:"chat_main__8xQu5",suggestions:"chat_suggestions__m8n2t",inputBox:"chat_inputBox__LOFws",chatBodyFull:"chat_chatBodyFull__FfKEK",chatBody:"chat_chatBody__sS1LX",chatLayout:"chat_chatLayout__pR203",chatBox:"chat_chatBox__FBct_",titleBar:"chat_titleBar__R5QlK",chatBoxBody:"chat_chatBoxBody__qT_SC",agentIndicator:"chat_agentIndicator__8V55w",chatTitleWrapper:"chat_chatTitleWrapper__6ChWq",chatHistory:"chat_chatHistory__EzBJM"}}},function(e){e.O(0,[4842,5638,3954,9183,2939,7200,8667,1327,4447,3592,3260,9139,2327,5477,9808,2971,2117,1744],function(){return e(e.s=39929)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- div.chat_main__8xQu5{height:100%;color:hsla(var(--foreground));margin-left:auto;margin-right:auto}.chat_suggestions__m8n2t{display:flex;overflow-x:none;height:50%;padding:10px;white-space:nowrap;gap:1rem}div.chat_inputBox__LOFws{border:1px solid var(--border-color);margin-bottom:20px;gap:12px;align-content:center}input.chat_inputBox__LOFws{border:none}input.chat_inputBox__LOFws:focus{outline:none;background-color:transparent}div.chat_inputBox__LOFws:focus{box-shadow:0 8px 16px 0 rgba(0,0,0,.2)}div.chat_chatBodyFull__FfKEK{display:grid;grid-template-columns:1fr;height:auto}button.chat_inputBox__LOFws{border:none;outline:none;background-color:transparent;cursor:pointer;border-radius:.5rem;padding:.5rem;background:linear-gradient(var(--calm-green),var(--calm-blue))}div.chat_chatBody__sS1LX{display:grid;grid-template-columns:1fr 1fr;height:100%}.chat_inputBox__LOFws{color:hsla(var(--foreground))}div.chat_chatLayout__pR203{display:grid;grid-template-columns:1fr;gap:1rem;width:100%}div.chat_chatBox__FBct_{display:grid;height:100%}div.chat_titleBar__R5QlK{display:grid;grid-template-columns:1fr auto}div.chat_chatBoxBody__qT_SC{display:grid;height:100%;width:100%;margin:auto}div.chat_agentIndicator__8V55w a{display:flex;text-align:center;align-content:center;align-items:center}div.chat_agentIndicator__8V55w{padding:10px}div.chat_chatTitleWrapper__6ChWq{grid-template-columns:1fr auto}@media screen and (max-width:768px){div.chat_inputBox__LOFws{margin-bottom:0}div.chat_chatBoxBody__qT_SC{width:100%}div.chat_chatBody__sS1LX{grid-template-columns:0fr 1fr}div.chat_chatBox__FBct_{padding:0;height:100%}div.chat_chatLayout__pR203{gap:0;grid-template-columns:1fr}}@media print{div.chat_chatBoxBody__qT_SC,div.chat_chatBox__FBct_,div.chat_chatLayout__pR203,div.chat_main__8xQu5{height:auto!important;max-height:none!important;width:100%!important;margin:0!important;padding:0!important;overflow:visible!important}div.chat_chatBoxBody__qT_SC,div.chat_chatBox__FBct_,div.chat_chatLayout__pR203{display:block!important;position:static!important}div.chat_chatBodyFull__FfKEK,div.chat_chatBody__sS1LX{display:block!important;width:100%!important;height:auto!important;max-height:none!important;grid-template-columns:none!important;overflow:visible!important;position:static!important}div.chat_inputBox__LOFws{display:none!important}.chat_chatHistory__EzBJM{width:100%!important;max-width:none!important}}div.chatHistory_chatHistory__CoaVT{display:flex;flex-direction:column;height:100%;margin:auto}div.chatHistory_agentIndicator__wOU1f a{display:flex;text-align:center;align-content:center;align-items:center}div.chatHistory_trainOfThought__mMWSR{padding:8px 16px;margin:12px}div.chatHistory_trainOfThought__mMWSR code,div.chatHistory_trainOfThought__mMWSR p,div.chatHistory_trainOfThought__mMWSR pre,div.chatHistory_trainOfThought__mMWSR span{overflow-wrap:anywhere}@media print{div.chatHistory_chatHistory__CoaVT{display:block!important;flex-direction:column!important}div.chatHistory_chatHistory__CoaVT,div.chatHistory_chatHistory__CoaVT>*{height:auto!important;max-height:none!important;overflow:visible!important;position:static!important}div.chatHistory_chatHistory__CoaVT>*{width:100%!important;max-width:none!important}div.chatHistory_agentIndicator__wOU1f{margin-bottom:.5rem!important}div.chatHistory_trainOfThought__mMWSR{border-left:2px solid #ccc!important;margin:.5rem 0!important;padding:.5rem 1rem!important;font-size:.9em!important}}div.chatMessage_chatMessageContainer__sAivf{display:flex;flex-direction:column;margin:12px;border-radius:16px;padding:8px 16px 0;word-break:break-word}div.chatMessage_chatMessageWrapper__u5m8A{padding-left:1rem;padding-bottom:1rem}div.chatMessage_chatMessageWrapper__u5m8A ol,div.chatMessage_chatMessageWrapper__u5m8A p:not(:last-child),div.chatMessage_chatMessageWrapper__u5m8A ul{margin-bottom:16px}div.chatMessage_chatMessageWrapper__u5m8A a span{display:revert!important}.chatMessage_chatMessageWrapper__u5m8A a.chatMessage_file-link__PL84f{color:hsl(var(--primary));text-decoration:underline;cursor:pointer;transition:color .2s ease}.chatMessage_chatMessageWrapper__u5m8A a.chatMessage_file-link__PL84f:hover{color:hsl(var(--primary-foreground));background-color:hsl(var(--primary));text-decoration:none;padding:2px 4px;border-radius:4px}div.chatMessage_khojfullHistory__NPu2l{padding-left:4px}div.chatMessage_youfullHistory__ioyfH{max-width:100%}div.chatMessage_chatMessageContainer__sAivf.chatMessage_youfullHistory__ioyfH{padding-left:0}div.chatMessage_you__6GUC4{background-color:hsla(var(--secondary));align-self:flex-end;border-radius:16px}div.chatMessage_khoj__cjWON{background-color:transparent;color:hsl(var(--accent-foreground));align-self:flex-start}div.chatMessage_khojChatMessage__BabQz{padding-top:8px;padding-left:16px}div.chatMessage_emptyChatMessage__J9JRn{display:none}div.chatMessage_imagesContainer__HTRjT{display:flex;overflow-x:auto;padding-bottom:8px;margin-bottom:8px}div.chatMessage_imageWrapper__DF92M{flex:0 0 auto;margin-right:8px}div.chatMessage_imageWrapper__DF92M img{width:auto;height:128px;-o-object-fit:cover;object-fit:cover;border-radius:8px}div.chatMessage_khoj__cjWON div.chatMessage_imageWrapper__DF92M img{height:512px}div.chatMessage_khoj__cjWON div.chatMessage_imageWrapper__DF92M{flex:1 1 auto}div.chatMessage_khoj__cjWON div.chatMessage_imagesContainer__HTRjT{display:flex;flex-wrap:wrap;flex-direction:row;overflow-x:hidden}div.chatMessage_chatMessageContainer__sAivf>img{width:auto;height:auto;max-width:100%;max-height:80vh;-o-object-fit:contain;object-fit:contain;display:block;margin-top:.25rem;margin-right:auto}div.chatMessage_chatMessageContainer__sAivf h3 img{width:24px}div.chatMessage_you__6GUC4{color:hsla(var(--secondary-foreground))}div.chatMessage_author__muRtC{font-size:.75rem;color:grey;text-align:right}div.chatMessage_chatFooter__0vR8s{display:flex;justify-content:space-between;min-height:28px}div.chatMessage_chatButtons__Lbk8T{display:flex;justify-content:flex-end;width:-moz-min-content;width:min-content;border:1px solid var(--border-color);border-radius:16px;position:relative;bottom:-12px;background-color:hsla(var(--secondary))}div.chatMessage_chatFooter__0vR8s button{cursor:pointer;color:hsl(var(--muted-foreground));border:none;border-radius:16px;padding:4px;margin-left:4px;margin-right:4px}div.chatMessage_chatFooter__0vR8s button:hover{background-color:hsla(var(--frosted-background-color))}button.chatMessage_codeCopyButton__Y_Ujv{cursor:pointer;float:right;border-radius:8px}button.chatMessage_codeCopyButton__Y_Ujv:hover{color:hsla(var(--frosted-background-color))}button.chatMessage_codeCopyButton__Y_Ujv img,button.chatMessage_copyButton__jd7q7 img,button.chatMessage_retryButton__Z7Pzk img,div.chatMessage_feedbackButtons___Brdy img{width:24px}div.chatMessage_trainOfThought__mR2Gg strong{font-weight:500}div.chatMessage_trainOfThought__mR2Gg.chatMessage_primary__WYPEb strong{font-weight:500;color:hsla(var(--secondary-foreground))}div.chatMessage_trainOfThought__mR2Gg.chatMessage_primary__WYPEb p{color:inherit}div.chatMessage_trainOfThoughtElement__le_bC{display:grid;grid-template-columns:auto 1fr;align-items:start}div.chatMessage_trainOfThoughtElement__le_bC ol,div.chatMessage_trainOfThoughtElement__le_bC ul{margin:auto;word-break:break-word}@media screen and (max-width:768px){div.chatMessage_youfullHistory__ioyfH{max-width:90%}div.chatMessage_khoj__cjWON div.chatMessage_imageWrapper__DF92M img{width:100%;height:auto}}@media print{div.chatMessage_chatMessageContainer__sAivf{background:transparent!important;border:1px solid #ccc!important;border-radius:8px!important;margin:.5rem 0!important;padding:.5rem!important;width:100%!important;max-width:none!important}div.chatMessage_chatMessageContainer__sAivf.chatMessage_you__6GUC4{margin:1rem 0 0!important;background:transparent!important;border:none!important}div.chatMessage_chatMessageContainer__sAivf.chatMessage_khoj__cjWON{margin:0!important}div.chatMessage_chatMessageWrapper__u5m8A{padding-left:.5rem!important;padding-bottom:.5rem!important;width:100%!important;max-width:none!important}div.chatMessage_you__6GUC4 div.chatMessage_chatMessageWrapper__u5m8A{padding:0!important}div.chatMessage_you__6GUC4{font-size:16pt!important;font-weight:500!important;padding:.8rem 0 .1rem!important;align-self:flex-start!important;text-align:left!important}div.chatMessage_khoj__cjWON,div.chatMessage_you__6GUC4{background-color:transparent!important;color:#000!important}div.chatMessage_khoj__cjWON{align-self:stretch!important}div.chatMessage_khoj__cjWON,div.chatMessage_khojfullHistory__NPu2l,div.chatMessage_youfullHistory__ioyfH{width:100%!important;max-width:none!important}div.chatMessage_author__muRtC{color:#666!important;font-size:.7rem!important}div.chatMessage_you__6GUC4.chatMessage_chatMessageContainer__sAivf:after{content:"🕐 " attr(data-created)!important;display:block!important;color:#888!important;font-size:9pt!important;font-weight:400!important;margin:.2rem 0 .6rem!important;padding-bottom:.4rem!important}button.chatMessage_codeCopyButton__Y_Ujv,button.chatMessage_copyButton__jd7q7,button.chatMessage_retryButton__Z7Pzk,div.chatMessage_chatButtons__Lbk8T,div.chatMessage_chatFooter__0vR8s,div.chatMessage_feedbackButtons___Brdy{display:none!important}div.chatMessage_imagesContainer__HTRjT{display:block!important;overflow:visible!important;margin-bottom:.5rem!important}div.chatMessage_imageWrapper__DF92M{margin-right:0!important;margin-bottom:.5rem!important}div.chatMessage_imageWrapper__DF92M img,div.chatMessage_khoj__cjWON div.chatMessage_imageWrapper__DF92M img{width:auto!important;height:auto!important;max-width:100%!important;max-height:4in!important;-o-object-fit:contain!important;object-fit:contain!important;page-break-inside:avoid}div.chatMessage_trainOfThought__mR2Gg{border-left:2px solid #ccc!important;margin:.5rem 0!important;padding:.5rem!important;font-size:.9em!important;color:#666!important}div.chatMessage_trainOfThought__mR2Gg strong{color:#000!important}div.chatMessage_trainOfThought__mR2Gg.chatMessage_primary__WYPEb{border-left-color:#000!important}div.chatMessage_trainOfThought__mR2Gg.chatMessage_primary__WYPEb strong{color:#000!important}div.chatMessage_trainOfThoughtElement__le_bC{display:block!important;margin-bottom:.5rem!important}}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2) format("woff2"),url(/_next/static/media/KaTeX_AMS-Regular.1608a09b.woff) format("woff"),url(/_next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2) format("woff2"),url(/_next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff) format("woff"),url(/_next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2) format("woff2"),url(/_next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff) format("woff"),url(/_next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2) format("woff2"),url(/_next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff) format("woff"),url(/_next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2) format("woff2"),url(/_next/static/media/KaTeX_Fraktur-Regular.7c187121.woff) format("woff"),url(/_next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2) format("woff2"),url(/_next/static/media/KaTeX_Main-Bold.d181c465.woff) format("woff"),url(/_next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/_next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2) format("woff2"),url(/_next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff) format("woff"),url(/_next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_Main-Italic.8916142b.woff2) format("woff2"),url(/_next/static/media/KaTeX_Main-Italic.9024d815.woff) format("woff"),url(/_next/static/media/KaTeX_Main-Italic.47373d1e.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Main-Regular.0462f03b.woff2) format("woff2"),url(/_next/static/media/KaTeX_Main-Regular.7f51fe03.woff) format("woff"),url(/_next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/_next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2) format("woff2"),url(/_next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff) format("woff"),url(/_next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_Math-Italic.f28c23ac.woff2) format("woff2"),url(/_next/static/media/KaTeX_Math-Italic.5295ba48.woff) format("woff"),url(/_next/static/media/KaTeX_Math-Italic.939bc644.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2) format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff) format("woff"),url(/_next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2) format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff) format("woff"),url(/_next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2) format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Regular.74048478.woff) format("woff"),url(/_next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Script-Regular.03e9641d.woff2) format("woff2"),url(/_next/static/media/KaTeX_Script-Regular.07505710.woff) format("woff"),url(/_next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size1-Regular.eae34984.woff2) format("woff2"),url(/_next/static/media/KaTeX_Size1-Regular.e1e279cb.woff) format("woff"),url(/_next/static/media/KaTeX_Size1-Regular.fabc004a.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size2-Regular.5916a24f.woff2) format("woff2"),url(/_next/static/media/KaTeX_Size2-Regular.57727022.woff) format("woff"),url(/_next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2) format("woff2"),url(/_next/static/media/KaTeX_Size3-Regular.9acaf01c.woff) format("woff"),url(/_next/static/media/KaTeX_Size3-Regular.a144ef58.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2) format("woff2"),url(/_next/static/media/KaTeX_Size4-Regular.7a996c9d.woff) format("woff"),url(/_next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2) format("woff2"),url(/_next/static/media/KaTeX_Typewriter-Regular.6258592b.woff) format("woff"),url(/_next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.22"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.suggestions_card__fbiZo{border-radius:.5rem}.suggestions_title__vNozc{font-size:1rem}.suggestions_text__J_IfY{padding-top:.2rem;font-size:.9rem;white-space:wrap;padding-right:4px;color:#000}