khoj 1.29.2.dev9__py3-none-any.whl → 1.29.2.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 (43) hide show
  1. khoj/database/admin.py +32 -1
  2. khoj/interface/compiled/404/index.html +1 -1
  3. khoj/interface/compiled/_next/static/chunks/8423-c0123d454681e03a.js +1 -0
  4. khoj/interface/compiled/_next/static/chunks/app/agents/{page-ee4f0da14df15091.js → page-4353b1a532795ad1.js} +1 -1
  5. khoj/interface/compiled/_next/static/chunks/app/automations/{page-da59a2b9ec07da16.js → page-c9f13c865e739607.js} +1 -1
  6. khoj/interface/compiled/_next/static/chunks/app/chat/{page-e95e87da53d725a7.js → page-5769106919cb9efd.js} +1 -1
  7. khoj/interface/compiled/_next/static/chunks/app/page-e83f8a77f5c3caef.js +1 -0
  8. khoj/interface/compiled/_next/static/chunks/app/search/{page-4f44549ba3807021.js → page-8e28deacb61f75aa.js} +1 -1
  9. khoj/interface/compiled/_next/static/chunks/app/settings/{page-5591490850437232.js → page-610d33158b233b34.js} +1 -1
  10. khoj/interface/compiled/_next/static/chunks/app/share/chat/{page-3a752baa5fb62e20.js → page-a0a8dd453394b651.js} +1 -1
  11. khoj/interface/compiled/_next/static/chunks/{webpack-d1bea816ba11738d.js → webpack-1a1965c8ec904e57.js} +1 -1
  12. khoj/interface/compiled/_next/static/css/23f801d22927d568.css +1 -0
  13. khoj/interface/compiled/_next/static/css/592ca99f5122e75a.css +1 -0
  14. khoj/interface/compiled/agents/index.html +1 -1
  15. khoj/interface/compiled/agents/index.txt +2 -2
  16. khoj/interface/compiled/automations/index.html +1 -1
  17. khoj/interface/compiled/automations/index.txt +2 -2
  18. khoj/interface/compiled/chat/index.html +1 -1
  19. khoj/interface/compiled/chat/index.txt +2 -2
  20. khoj/interface/compiled/index.html +1 -1
  21. khoj/interface/compiled/index.txt +2 -2
  22. khoj/interface/compiled/search/index.html +1 -1
  23. khoj/interface/compiled/search/index.txt +2 -2
  24. khoj/interface/compiled/settings/index.html +1 -1
  25. khoj/interface/compiled/settings/index.txt +2 -2
  26. khoj/interface/compiled/share/chat/index.html +1 -1
  27. khoj/interface/compiled/share/chat/index.txt +2 -2
  28. khoj/main.py +7 -3
  29. khoj/processor/content/pdf/pdf_to_entries.py +1 -1
  30. khoj/utils/constants.py +1 -1
  31. khoj/utils/initialization.py +34 -10
  32. {khoj-1.29.2.dev9.dist-info → khoj-1.29.2.dev22.dist-info}/METADATA +1 -1
  33. {khoj-1.29.2.dev9.dist-info → khoj-1.29.2.dev22.dist-info}/RECORD +38 -39
  34. khoj/interface/compiled/_next/static/chunks/8423-ffdc2b835629c7f8.js +0 -1
  35. khoj/interface/compiled/_next/static/chunks/app/page-774dcd8ca4459c7e.js +0 -1
  36. khoj/interface/compiled/_next/static/css/4cae6c0e5c72fb2d.css +0 -1
  37. khoj/interface/compiled/_next/static/css/9d45de78fba367c1.css +0 -1
  38. khoj/interface/web/assets/icons/favicon-128x128.ico +0 -0
  39. /khoj/interface/compiled/_next/static/{7acOSS11CR2nhrzdGoI81 → yKXUn_P1xddTXl0eyb3Nz}/_buildManifest.js +0 -0
  40. /khoj/interface/compiled/_next/static/{7acOSS11CR2nhrzdGoI81 → yKXUn_P1xddTXl0eyb3Nz}/_ssgManifest.js +0 -0
  41. {khoj-1.29.2.dev9.dist-info → khoj-1.29.2.dev22.dist-info}/WHEEL +0 -0
  42. {khoj-1.29.2.dev9.dist-info → khoj-1.29.2.dev22.dist-info}/entry_points.txt +0 -0
  43. {khoj-1.29.2.dev9.dist-info → khoj-1.29.2.dev22.dist-info}/licenses/LICENSE +0 -0
@@ -2,12 +2,13 @@ import logging
2
2
  import os
3
3
  from typing import Tuple
4
4
 
5
+ import openai
6
+
5
7
  from khoj.database.adapters import ConversationAdapters
6
8
  from khoj.database.models import (
7
9
  ChatModelOptions,
8
10
  KhojUser,
9
11
  OpenAIProcessorConversationConfig,
10
- ServerChatSettings,
11
12
  SpeechToTextModelOptions,
12
13
  TextToImageModelConfig,
13
14
  )
@@ -42,14 +43,32 @@ def initialization(interactive: bool = True):
42
43
  "🗣️ Configure chat models available to your server. You can always update these at /server/admin using your admin account"
43
44
  )
44
45
 
46
+ openai_api_base = os.getenv("OPENAI_API_BASE")
47
+ provider = "Ollama" if openai_api_base and openai_api_base.endswith(":11434/v1/") else "OpenAI"
48
+ openai_api_key = os.getenv("OPENAI_API_KEY", "placeholder" if openai_api_base else None)
49
+ default_chat_models = default_openai_chat_models
50
+ if openai_api_base:
51
+ # Get available chat models from OpenAI compatible API
52
+ try:
53
+ openai_client = openai.OpenAI(api_key=openai_api_key, base_url=openai_api_base)
54
+ default_chat_models = [model.id for model in openai_client.models.list()]
55
+ # Put the available default OpenAI models at the top
56
+ valid_default_models = [model for model in default_openai_chat_models if model in default_chat_models]
57
+ other_available_models = [model for model in default_chat_models if model not in valid_default_models]
58
+ default_chat_models = valid_default_models + other_available_models
59
+ except Exception:
60
+ logger.warning(f"⚠️ Failed to fetch {provider} chat models. Fallback to default models. Error: {e}")
61
+
45
62
  # Set up OpenAI's online chat models
46
63
  openai_configured, openai_provider = _setup_chat_model_provider(
47
64
  ChatModelOptions.ModelType.OPENAI,
48
- default_openai_chat_models,
49
- default_api_key=os.getenv("OPENAI_API_KEY"),
65
+ default_chat_models,
66
+ default_api_key=openai_api_key,
67
+ api_base_url=openai_api_base,
50
68
  vision_enabled=True,
51
69
  is_offline=False,
52
70
  interactive=interactive,
71
+ provider_name=provider,
53
72
  )
54
73
 
55
74
  # Setup OpenAI speech to text model
@@ -87,7 +106,7 @@ def initialization(interactive: bool = True):
87
106
  ChatModelOptions.ModelType.GOOGLE,
88
107
  default_gemini_chat_models,
89
108
  default_api_key=os.getenv("GEMINI_API_KEY"),
90
- vision_enabled=False,
109
+ vision_enabled=True,
91
110
  is_offline=False,
92
111
  interactive=interactive,
93
112
  provider_name="Google Gemini",
@@ -98,7 +117,7 @@ def initialization(interactive: bool = True):
98
117
  ChatModelOptions.ModelType.ANTHROPIC,
99
118
  default_anthropic_chat_models,
100
119
  default_api_key=os.getenv("ANTHROPIC_API_KEY"),
101
- vision_enabled=False,
120
+ vision_enabled=True,
102
121
  is_offline=False,
103
122
  interactive=interactive,
104
123
  )
@@ -154,11 +173,14 @@ def initialization(interactive: bool = True):
154
173
  default_chat_models: list,
155
174
  default_api_key: str,
156
175
  interactive: bool,
176
+ api_base_url: str = None,
157
177
  vision_enabled: bool = False,
158
178
  is_offline: bool = False,
159
179
  provider_name: str = None,
160
180
  ) -> Tuple[bool, OpenAIProcessorConversationConfig]:
161
- supported_vision_models = ["gpt-4o-mini", "gpt-4o"]
181
+ supported_vision_models = (
182
+ default_openai_chat_models + default_anthropic_chat_models + default_gemini_chat_models
183
+ )
162
184
  provider_name = provider_name or model_type.name.capitalize()
163
185
  default_use_model = {True: "y", False: "n"}[default_api_key is not None or is_offline]
164
186
  use_model_provider = (
@@ -170,14 +192,16 @@ def initialization(interactive: bool = True):
170
192
 
171
193
  logger.info(f"️💬 Setting up your {provider_name} chat configuration")
172
194
 
173
- chat_model_provider = None
195
+ chat_provider = None
174
196
  if not is_offline:
175
197
  if interactive:
176
198
  user_api_key = input(f"Enter your {provider_name} API key (default: {default_api_key}): ")
177
199
  api_key = user_api_key if user_api_key != "" else default_api_key
178
200
  else:
179
201
  api_key = default_api_key
180
- chat_model_provider = OpenAIProcessorConversationConfig.objects.create(api_key=api_key, name=provider_name)
202
+ chat_provider = OpenAIProcessorConversationConfig.objects.create(
203
+ api_key=api_key, name=provider_name, api_base_url=api_base_url
204
+ )
181
205
 
182
206
  if interactive:
183
207
  chat_model_names = input(
@@ -199,13 +223,13 @@ def initialization(interactive: bool = True):
199
223
  "max_prompt_size": default_max_tokens,
200
224
  "vision_enabled": vision_enabled,
201
225
  "tokenizer": default_tokenizer,
202
- "openai_config": chat_model_provider,
226
+ "openai_config": chat_provider,
203
227
  }
204
228
 
205
229
  ChatModelOptions.objects.create(**chat_model_options)
206
230
 
207
231
  logger.info(f"🗣️ {provider_name} chat model configuration complete")
208
- return True, chat_model_provider
232
+ return True, chat_provider
209
233
 
210
234
  admin_user = KhojUser.objects.filter(is_staff=True).first()
211
235
  if admin_user is None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: khoj
3
- Version: 1.29.2.dev9
3
+ Version: 1.29.2.dev22
4
4
  Summary: Your Second Brain
5
5
  Project-URL: Homepage, https://khoj.dev
6
6
  Project-URL: Documentation, https://docs.khoj.dev
@@ -1,6 +1,6 @@
1
1
  khoj/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  khoj/configure.py,sha256=JKqLxXFVe2Xm3MUWYA-3E45SJj_xo0THiLB2YKPb9dU,17312
3
- khoj/main.py,sha256=9YMJEaKlVin5hxU0TcVH5X1CP6wX9HE8Z7qWSxNGPd0,8161
3
+ khoj/main.py,sha256=WaV3muJXT-2MOBOm80kwvx76beUv2njJKRlbxs7jYvA,8300
4
4
  khoj/manage.py,sha256=njo6uLxGaMamTPesHjFEOIBJbpIUrz39e1V59zKj544,664
5
5
  khoj/app/README.md,sha256=PSQjKCdpU2hgszLVF8yEhV7TWhbEEb-1aYLTRuuAsKI,2832
6
6
  khoj/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -8,7 +8,7 @@ khoj/app/asgi.py,sha256=soh3C1xazlgHt_bDgKzrfzo2TKXbNYJsckcXNEgTip8,388
8
8
  khoj/app/settings.py,sha256=M6sQUu_AdeKl3eruecBaifRBhYOBIait0KA2NPizcBM,6198
9
9
  khoj/app/urls.py,sha256=7ECnusoAPAfbO_H_b5FUzYGvnb4LLdWaRDyKNvYuBvg,869
10
10
  khoj/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- khoj/database/admin.py,sha256=Tmvcc4f3HECgxtynIs9ISkjapvu9hsPaStugzVoCmyE,9640
11
+ khoj/database/admin.py,sha256=9xVVQ91gjLW4_ZpN1Ojp6zHynZBjMpJ_F_mEd1eyDA0,10718
12
12
  khoj/database/apps.py,sha256=pM4tkX5Odw4YW_hLLKK8Nd5kqGddf1en0oMCea44RZw,153
13
13
  khoj/database/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
14
14
  khoj/database/adapters/__init__.py,sha256=gv2SNrTpJvW1cPzFwSSY7qF7DYYXY1bWWxi-A141nkM,69020
@@ -111,17 +111,15 @@ khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvt
111
111
  khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
112
112
  khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
113
113
  khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
114
- khoj/interface/compiled/index.html,sha256=lstA4z3sEzkVQFuk-dUoesQ6i7lhewZuALY298kc-_g,12156
115
- khoj/interface/compiled/index.txt,sha256=pEUMsbFtZdKeANiSYM3VzkZ3LHBs7rtoTmymQHYWLIk,5611
114
+ khoj/interface/compiled/index.html,sha256=klfWMy49hUCyd8eRFs-3RBSu-MPWrhtqa6lozzmpR1w,12156
115
+ khoj/interface/compiled/index.txt,sha256=z4MuDWutPjdiupVpjJIbgf0Ytwp7Lr4TVBWapMD55JE,5611
116
116
  khoj/interface/compiled/khoj.webmanifest,sha256=lsknYkvEdMbRTOUYKXPM_8krN2gamJmM4u3qj8u9lrU,1682
117
117
  khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
118
118
  khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
119
119
  khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
120
120
  khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
121
121
  khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
122
- khoj/interface/compiled/404/index.html,sha256=knZiASSGMfuwzQSu4HP3GyTzbdV6nDDE20Y-DWPlIlQ,12023
123
- khoj/interface/compiled/_next/static/7acOSS11CR2nhrzdGoI81/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
124
- khoj/interface/compiled/_next/static/7acOSS11CR2nhrzdGoI81/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
122
+ khoj/interface/compiled/404/index.html,sha256=d6zNJoyrsIthr924v-zGRN2aw2TVxXsvdvVv_3XMPZE,12023
125
123
  khoj/interface/compiled/_next/static/chunks/1210.132a7e1910006bbb.js,sha256=2dJueIfOg5qlQdanOM9HrgwcfrUXCD57bfd8Iv7iJcU,2104
126
124
  khoj/interface/compiled/_next/static/chunks/1279-f37ee4a388ebf544.js,sha256=U_1WaocOdgJ4HZB8tRx_izzYGD1EZlCohC1uLCffCWc,45582
127
125
  khoj/interface/compiled/_next/static/chunks/1459.690bf20e7d7b7090.js,sha256=z-ruZPxF_Z3ef_WOThd9Ox36AMhxaW3znizVivNnA34,34239
@@ -139,7 +137,7 @@ khoj/interface/compiled/_next/static/chunks/5961-3c104d9736b7902b.js,sha256=qss4
139
137
  khoj/interface/compiled/_next/static/chunks/6297-d1c842ed3f714ab0.js,sha256=4nzZ2umR-q6wQ-8L4RSivWXKV_SE1dWoN9qA1I9lCRI,25675
140
138
  khoj/interface/compiled/_next/static/chunks/7023-a5bf5744d19b3bd3.js,sha256=TBJA7dTnI8nymtbljKuZzo2hbStXWR-P8Qkl57k2Tw8,123898
141
139
  khoj/interface/compiled/_next/static/chunks/7883-b1305ec254213afe.js,sha256=dDbERTNiKRIIdC7idybjZq03gnxQtudMawrekye0zH8,241134
142
- khoj/interface/compiled/_next/static/chunks/8423-ffdc2b835629c7f8.js,sha256=e2jAWQ-jQxP-067cJlzMogEtg-UwLZxrg9DP4DHstng,15238
140
+ khoj/interface/compiled/_next/static/chunks/8423-c0123d454681e03a.js,sha256=ZMV9-K9UbK23ldDrwnYVox4UU9vqxvbcwSgAPlqoeR8,15303
143
141
  khoj/interface/compiled/_next/static/chunks/9001-3b27af6d5f21df44.js,sha256=ran2mMGTO2kiAJebRGMyfyAu4Sdjw-WobS_m6g-qjz8,34223
144
142
  khoj/interface/compiled/_next/static/chunks/9417-32c4db52ca42e681.js,sha256=9r3lV-DxmhmQnYjroVbjAXPyX6rvSmhZKfUguE0dENw,15039
145
143
  khoj/interface/compiled/_next/static/chunks/94ca1967.5584df65931cfe83.js,sha256=lxdrZ8h3_IWkTuk6QlzM2Hd9Pvu9_p8h_EI4aveSOgE,1174519
@@ -150,31 +148,31 @@ khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js,sha256
150
148
  khoj/interface/compiled/_next/static/chunks/main-1ea5c2e0fdef4626.js,sha256=8_u87PGI3PahFbDfGWGvpD-a18J7X7ChUqWIeqxVq7g,111061
151
149
  khoj/interface/compiled/_next/static/chunks/main-app-6d6ee3495efe03d4.js,sha256=i52E7sWOcSq1G8eYZL3mtTxbUbwRNxcAbSWQ6uWpMsY,475
152
150
  khoj/interface/compiled/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
153
- khoj/interface/compiled/_next/static/chunks/webpack-d1bea816ba11738d.js,sha256=O0AnvaKw4-vIWPs2nt5PFC74kBCf6TrWYu94VNUSmvw,4054
151
+ khoj/interface/compiled/_next/static/chunks/webpack-1a1965c8ec904e57.js,sha256=NGIUyAbWbYTDIe6_USp6wzmgECdC748v5e2Vrnwu3ro,4054
154
152
  khoj/interface/compiled/_next/static/chunks/app/layout-86561d2fac35a91a.js,sha256=2EWsyKE2kcC5uDvsOtgG5OP0hHCX8sCph4NqhUU2rCg,442
155
- khoj/interface/compiled/_next/static/chunks/app/page-774dcd8ca4459c7e.js,sha256=ueEIbfyWJZsqjAz2b1gQBAEEyHek-hbiehBpxswXRnc,29683
153
+ khoj/interface/compiled/_next/static/chunks/app/page-e83f8a77f5c3caef.js,sha256=u72hDk0g6SFJNe-2B0yCF5BaI5PJa9Yr4aG9ZfseQW0,33220
156
154
  khoj/interface/compiled/_next/static/chunks/app/_not-found/page-07ff4ab42b07845e.js,sha256=3mCUnxfMxyK44eqk21TVBrC6u--WSbvx31fTmQuOvMQ,1755
157
155
  khoj/interface/compiled/_next/static/chunks/app/agents/layout-e9838b642913a071.js,sha256=w3vWDf7m2_VG7q98_KGAWbCO06RI7iqFYsb4nDqGUDw,372
158
- khoj/interface/compiled/_next/static/chunks/app/agents/page-ee4f0da14df15091.js,sha256=uqFdU7KMW0ZqRQySoGhRNXTHvodXxMC34a1zhr47vVs,11750
156
+ khoj/interface/compiled/_next/static/chunks/app/agents/page-4353b1a532795ad1.js,sha256=VYSOSTRUsJQxg-C2ntEbHW5Fwm_a5k1e79bUYlcZBa0,11755
159
157
  khoj/interface/compiled/_next/static/chunks/app/automations/layout-27c28e923c9b1ff0.js,sha256=d2vJ_lVB0pfeFXNUPzHAe1ca5NzdNowHPh___SPqugM,5143
160
- khoj/interface/compiled/_next/static/chunks/app/automations/page-da59a2b9ec07da16.js,sha256=R7auC6hEUsXt6aysFhuyAEcGGUaZ4QOnLxxc8XdDSbc,35349
158
+ khoj/interface/compiled/_next/static/chunks/app/automations/page-c9f13c865e739607.js,sha256=hkZk61Vrde0LIL4KPqnm_u2pd_LPzvt-f6Z0hkq8FCs,35344
161
159
  khoj/interface/compiled/_next/static/chunks/app/chat/layout-b0e7ff4baa3b5265.js,sha256=a-Qv2nHUrCa1gIs4Qo5txnOlhhQessAdcnAhhjaN3ag,374
162
- khoj/interface/compiled/_next/static/chunks/app/chat/page-e95e87da53d725a7.js,sha256=-2zXrMu8g66gPw4jsGKbeplGd8rXMlkqfsG8qAOtGf4,7181
160
+ khoj/interface/compiled/_next/static/chunks/app/chat/page-5769106919cb9efd.js,sha256=6G6NTB0oA7XEUahaogiogFtkqwjVXbZiY6kk8plgSis,7181
163
161
  khoj/interface/compiled/_next/static/chunks/app/search/layout-ea6b73fdaf9b24ca.js,sha256=mBgNUjaTBNgIKOpZj722mh1ojg1CNIYRBPiupStSS6s,165
164
- khoj/interface/compiled/_next/static/chunks/app/search/page-4f44549ba3807021.js,sha256=3O3gUM_ALtxAqNVAwQ9X_FDedXFYEcNWEqndayZeTBY,6958
162
+ khoj/interface/compiled/_next/static/chunks/app/search/page-8e28deacb61f75aa.js,sha256=A3klMSdb4sxIAuHZ8NdbYgzc_WXhzIPFACF-D4CRino,6958
165
163
  khoj/interface/compiled/_next/static/chunks/app/settings/layout-254eaaf916449a60.js,sha256=kHAKleDbNFfhNM3e1WLJm3OFw6PDtGcjyj5toO24vps,5347
166
- khoj/interface/compiled/_next/static/chunks/app/settings/page-5591490850437232.js,sha256=p0kRFoAYcSHSxG2y8JOaUBU-Xc__jwCIbYrUs_NEJu8,32149
164
+ khoj/interface/compiled/_next/static/chunks/app/settings/page-610d33158b233b34.js,sha256=gvcwqYV9CrC5M3KBpyn0b88m8u34brimEEYC0Z8ExiI,32149
167
165
  khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-cf7445cf0326bda3.js,sha256=W3axh1K4y-pLSXcXogLl4qLKXr5BZLY1uA7JfSWp5TU,373
168
- khoj/interface/compiled/_next/static/chunks/app/share/chat/page-3a752baa5fb62e20.js,sha256=gIcgm8Wtf38E8fP2jE58mPYm2GLOL5WU7HRxONXrK1g,4376
166
+ khoj/interface/compiled/_next/static/chunks/app/share/chat/page-a0a8dd453394b651.js,sha256=HknoLJgT71zQp4OivbU6CDtl3Yk4PABbu39aHmK8hYE,4376
169
167
  khoj/interface/compiled/_next/static/chunks/pages/_app-f870474a17b7f2fd.js,sha256=eqdFPAN_XFyMUzZ9qwFk-_rhMWZrU7lgNVt1foVUANo,286
170
168
  khoj/interface/compiled/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
171
169
  khoj/interface/compiled/_next/static/css/0e9d53dcd7f11342.css,sha256=52_LSJ59Vwm1p2UpcDXEvq99pTjz2sW4EjF5iKf-dzs,2622
172
170
  khoj/interface/compiled/_next/static/css/1f293605f2871853.css,sha256=G2b3Wx4e0DRBWSdNU20ivCChZI5HBzvPYUVVIdTRjLc,26590
171
+ khoj/interface/compiled/_next/static/css/23f801d22927d568.css,sha256=vVeNg0xTNJbdrtpZNuFCvNJPW5An06hr7i2M6yDXjK4,8449
173
172
  khoj/interface/compiled/_next/static/css/3cf13271869a4aeb.css,sha256=sGjJTeMeN6wbQF4OCPgWYgJmSLLSHyzIH2rSVstWx7k,1857
174
- khoj/interface/compiled/_next/static/css/4cae6c0e5c72fb2d.css,sha256=3CjTMmtMrm_MYt1ywtUh2MHEjSLSl356SQLl4hdBuYw,534
173
+ khoj/interface/compiled/_next/static/css/592ca99f5122e75a.css,sha256=BSqRkeb9vBh0phx5GkAlZirTFZintbyggGaUkuOBfaU,914
175
174
  khoj/interface/compiled/_next/static/css/5a400c87d295e68a.css,sha256=ojDUPJ9fJpEo9DzTAsEa-k1cg7Bef-nSTfpszMiqknQ,17711
176
175
  khoj/interface/compiled/_next/static/css/80bd6301fc657983.css,sha256=T7_aQHcWpQBQLKadauHNzjYGw713FtRNTlUqmJjsL6I,1634
177
- khoj/interface/compiled/_next/static/css/9d45de78fba367c1.css,sha256=TGW4CbYNGAfDm8sAwMbO2zxxIdxxKJq5fhxVpHgRW0E,8829
178
176
  khoj/interface/compiled/_next/static/css/ed437164d77aa600.css,sha256=l7axYkpTLwbVjhTCUNh8BWdkBom06sG-JrpDX5vSPUU,3056024
179
177
  khoj/interface/compiled/_next/static/media/5455839c73f146e7-s.p.woff2,sha256=BUeNjYxyX7Bu76aNlJrZtW3PwYgcH-kp8syFdODZoyc,35788
180
178
  khoj/interface/compiled/_next/static/media/5984b96ba4822821-s.woff2,sha256=RFrf6fMTduuQwEe78qK6_Y_Mnj97HmRDG-VujYxwA90,99368
@@ -248,8 +246,10 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
248
246
  khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
249
247
  khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
250
248
  khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
251
- khoj/interface/compiled/agents/index.html,sha256=7fdWbnr3eZT5b-l1NuofcxrHsOCqhIlKw-QIh1cPXPE,12658
252
- khoj/interface/compiled/agents/index.txt,sha256=bz4SLlMztgL0EFPo7K6TdAJxHeQcRYIZTWRoa32Vz7w,6045
249
+ khoj/interface/compiled/_next/static/yKXUn_P1xddTXl0eyb3Nz/_buildManifest.js,sha256=6I9QUstNpJnhe3leR2Daw0pSXwzcbBscv6h2jmmPpms,224
250
+ khoj/interface/compiled/_next/static/yKXUn_P1xddTXl0eyb3Nz/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
251
+ khoj/interface/compiled/agents/index.html,sha256=gaNRPjaJtl-4cgEUB_sHSMvZ8evvJ5CCok54nRRcpIg,12966
252
+ khoj/interface/compiled/agents/index.txt,sha256=ueMcMkXLht4Aa4NKJdKjgOkdR90N4sySSolWNurQgFE,6178
253
253
  khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
254
254
  khoj/interface/compiled/assets/icons/khoj_lantern_128x128.png,sha256=aTxivDb3CYyThkVZWz8A19xl_dNut5DbkXhODWF3A9Q,5640
255
255
  khoj/interface/compiled/assets/icons/khoj_lantern_256x256.png,sha256=xPCMLHiaL7lYOdQLZrKwWE-Qjn5ZaysSZB0ScYv4UZU,12312
@@ -260,16 +260,16 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
260
260
  khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
261
261
  khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
262
262
  khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
263
- khoj/interface/compiled/automations/index.html,sha256=HcBpeMDdMsXZmLPrrdzy76iGRDIQR5IRbrXcjkLI-rA,30941
264
- khoj/interface/compiled/automations/index.txt,sha256=8Xjn96kThF9smfdSe331CIpP_wzp0dH18x4cRQAiwLs,5633
265
- khoj/interface/compiled/chat/index.html,sha256=Ladjd_1RmtUexL7Feb_E9B2QHqItNueGCjuEeOQGsV4,13860
266
- khoj/interface/compiled/chat/index.txt,sha256=EIEkm1eiqhaJL1X_QH-2z00MNGEj5vT3HDeyxaLKSFs,6590
267
- khoj/interface/compiled/search/index.html,sha256=jFDtNcTQetcp4XRxg6yzYHdNdfZBe-N2q_V7NEvdJl8,30161
268
- khoj/interface/compiled/search/index.txt,sha256=M3u026J-qKnWM35VGHSjPP8TDIy3JWT_3lL_-4rM2w8,5256
269
- khoj/interface/compiled/settings/index.html,sha256=T-2pKok5IGRpfhxHhJ0KV1wQYymeO3dL0ZuV92CCIiY,12831
270
- khoj/interface/compiled/settings/index.txt,sha256=motd0RdDqL8qMPefyNkXmibi8B7WHPAjvUsj_dTVBs4,6078
271
- khoj/interface/compiled/share/chat/index.html,sha256=Tox8IDtg79HDyGd5Fikl8rjb3fWrTKyOuokjJQmgq3o,15157
272
- khoj/interface/compiled/share/chat/index.txt,sha256=acRQw-weEnRjOH6TBCNNQBh29EtOAcRvWrDQGmuCusE,7387
263
+ khoj/interface/compiled/automations/index.html,sha256=G9ISsHuvMnbrpe2enfr_zVb4L6Bg0JUEG6VmTIWdJRg,30633
264
+ khoj/interface/compiled/automations/index.txt,sha256=R30pX0w_G9b9pVpayFkfiZhl7vuTFKZ9J4cUTINojQ8,5500
265
+ khoj/interface/compiled/chat/index.html,sha256=GWiGNpk_pesFTzKLjXw0PMNEhh-voUD5b1GwjcsDB0A,13860
266
+ khoj/interface/compiled/chat/index.txt,sha256=5fNHWSumE8wT2hFhD7OG62k6vKdb0adM69K5fULNIyk,6590
267
+ khoj/interface/compiled/search/index.html,sha256=IqD6OL_Gmv5hiVoU8pV_lSGtP7OD4HAuIF37fKXXdQc,30161
268
+ khoj/interface/compiled/search/index.txt,sha256=wEbpytXY-KoeDyk2VYAfa8bXr31cdsOny9bKEPss_Bo,5256
269
+ khoj/interface/compiled/settings/index.html,sha256=c1WszS5cjkklp-LqIiyQTc-_vt0ggMWXCP9HzLE9lbo,12831
270
+ khoj/interface/compiled/settings/index.txt,sha256=PxVW4Z7dSKnEdOkOgCBGncbmCnLO1JwSHRzJC8YISGI,6078
271
+ khoj/interface/compiled/share/chat/index.html,sha256=LPx0XTMRzhKXoL6xcwNUkKIdgwM5N87Le-uUAg3OQ_I,15157
272
+ khoj/interface/compiled/share/chat/index.txt,sha256=wq1mZNZUAuVV0Rd7BRevHlAiTeEV2HJzkOravFT4aJ8,7387
273
273
  khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
274
274
  khoj/interface/email/magic_link.html,sha256=EoGKQucfPj3xQrWXhSZAzPFOYCHF_ZX94TWCd1XHl1M,941
275
275
  khoj/interface/email/task.html,sha256=tY7a0gzVeQ2lSQNu7WyXR_s7VYeWTrxWEj1iHVuoVE4,2813
@@ -283,7 +283,6 @@ khoj/interface/web/assets/utils.js,sha256=A22W1nOVuD1osI7TtZC8fZ0r1g4pE66tXQ_4XN
283
283
  khoj/interface/web/assets/icons/agents.svg,sha256=_DK73fRvvn5I-ajKZxH--9qLv-721QSiMk_lnwZKXlw,2609
284
284
  khoj/interface/web/assets/icons/automation.svg,sha256=6SHlGisTmg7iFQ3mLG1BQoSc-HMaaJKsLFVIYaFV2Hs,1579
285
285
  khoj/interface/web/assets/icons/chat.svg,sha256=cDicxL36Nn0BkCUFezwm7UOM0KefSClsid5HbRHxovU,2439
286
- khoj/interface/web/assets/icons/favicon-128x128.ico,sha256=JMZf9aZor9AUbh5kuFNDaG3Mjxvoau5k80yRA9ly5TQ,205167
287
286
  khoj/interface/web/assets/icons/github.svg,sha256=E789GwMweG0aU1wJNp0FjWHlFX1AxuA5H0durEnw5hQ,964
288
287
  khoj/interface/web/assets/icons/khoj-logo-sideways-200.png,sha256=2_F1PpTZzfjvaHej9jjENx03H1vKtFsVkolwTPLJP9Q,6637
289
288
  khoj/interface/web/assets/icons/khoj-logo-sideways-500.png,sha256=VQsQ20NC-sKYHa9UgAvLM2N25DWRISZUIGW0zhnRres,18603
@@ -317,7 +316,7 @@ khoj/processor/content/org_mode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
317
316
  khoj/processor/content/org_mode/org_to_entries.py,sha256=KQBn792yM9fsfaFu8FFoxk1PwYR-lmA07RUXEJQFkHs,10237
318
317
  khoj/processor/content/org_mode/orgnode.py,sha256=DlHZICxbCRxqGxA_osYf1faxslxpSuIqbHco8oxAKKM,18478
319
318
  khoj/processor/content/pdf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
320
- khoj/processor/content/pdf/pdf_to_entries.py,sha256=ig7GzAoNewBD-9IwwLayWofTSlhvYYAUrMgkddkY0es,5016
319
+ khoj/processor/content/pdf/pdf_to_entries.py,sha256=GQUvab61okhV9_DK0g2MCrMq8wKpM208EbXvsaTAkzs,4995
321
320
  khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
322
321
  khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=wFZwK_zIc7gWbRtO9sOHo9KvfhGAzL9psX_nKWYFduo,4975
323
322
  khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -369,17 +368,17 @@ khoj/search_type/text_search.py,sha256=PZzJVCXpeBM795SIqiAKXAxgnCp1NIRiVikm040r1
369
368
  khoj/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
370
369
  khoj/utils/cli.py,sha256=EA7IvWAInUIll8YFTOpQtqLtCQXwphfHi5rJ2TKAdSQ,3757
371
370
  khoj/utils/config.py,sha256=aiOkH0je8A30DAGYTHMRePrgJonFv_i07_7CdhhhcdA,1805
372
- khoj/utils/constants.py,sha256=UwE7U9bNsfeqTb0K2lcdXdAscM4-7uuVoR3KbZS03Pg,1216
371
+ khoj/utils/constants.py,sha256=DNts_NN4ZL9nRCA9KH3ZD_6PBK9VVggtun79pQxzNnU,1219
373
372
  khoj/utils/fs_syncer.py,sha256=5nqwAZqRk3Nwhkwd8y4IomTPZQmW32GwAqyMzal5KyY,9996
374
373
  khoj/utils/helpers.py,sha256=JMCxQKEmz9ktZrSLQQh3cpm97dVsHT5J0rKY3bTrNco,20126
375
- khoj/utils/initialization.py,sha256=TjA2ZImYKI-J1tEBE_0TaOLnVQidVV5GDEFBOPq8aik,10048
374
+ khoj/utils/initialization.py,sha256=YMqZAMxCzYwJXsJulJhco4nuEuuda5Kz2xHWetnqeBk,11402
376
375
  khoj/utils/jsonl.py,sha256=0Ac_COqr8sLCXntzZtquxuCEVRM2c3yKeDRGhgOBRpQ,1192
377
376
  khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
378
377
  khoj/utils/rawconfig.py,sha256=bQ_MGbBzYt6ZUIsHUwZjaHKDLh6GQ7h-sENkv3fyVbQ,5028
379
378
  khoj/utils/state.py,sha256=KtUEIKAZdGGN_Qr58RS1pgcywgSafun8YIXx-YEclAY,1645
380
379
  khoj/utils/yaml.py,sha256=qy1Tkc61rDMesBw_Cyx2vOR6H-Hngcsm5kYfjwQBwkE,1543
381
- khoj-1.29.2.dev9.dist-info/METADATA,sha256=wQ2GbpQlKynUMTsVfLtM8KN533LzTiVcW67yBb_09y0,7119
382
- khoj-1.29.2.dev9.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
383
- khoj-1.29.2.dev9.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
384
- khoj-1.29.2.dev9.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
385
- khoj-1.29.2.dev9.dist-info/RECORD,,
380
+ khoj-1.29.2.dev22.dist-info/METADATA,sha256=yuQFYLMiDp-P5JgHHD14EfZns5iTM95TyzCDFumAJBY,7120
381
+ khoj-1.29.2.dev22.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
382
+ khoj-1.29.2.dev22.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
383
+ khoj-1.29.2.dev22.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
384
+ khoj-1.29.2.dev22.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8423],{38423:function(e,t,a){"use strict";a.d(t,{a:function(){return O}});var n=a(57437),r=a(37649),s=a.n(r),l=a(2265),o=a(11838),i=a.n(o);a(7395);var c=a(86819),d=a(35719),u=a(77689),h=a(86829),f=a(33009),m=a(51091),g=a(82119),x=a(42491),p=a(6780),j=a(50495),b=a(70571),v=a(19573),w=a(61485),y=a(93146),N=a(19666),C=a(58575),k=a(66820),E=a(58485),T=a(89417),z=a(9557),D=a(69591),R=a(90837),S=a(94880);let O=(0,l.forwardRef)((e,t)=>{let[a,r]=(0,l.useState)(""),o=(0,l.useRef)(null),[O,M]=(0,l.useState)(null),[A,_]=(0,l.useState)(null),[I,L]=(0,l.useState)(!1),[P,U]=(0,l.useState)(null),[F,W]=(0,l.useState)(!1),[Y,$]=(0,l.useState)(!1),[B,H]=(0,l.useState)([]),[J,K]=(0,l.useState)([]),[Z,V]=(0,l.useState)(null),[X,q]=(0,l.useState)([]),[G,Q]=(0,l.useState)(!1),[ee,et]=(0,l.useState)(null),[ea,en]=(0,l.useState)(0),[er,es]=(0,l.useState)(!1),[el,eo]=(0,l.useState)(!1),[ei,ec]=(0,l.useState)(e.isResearchModeEnabled||!1);function ed(){if(Y&&($(!1),H([]),J.forEach(t=>e.sendImage(t))),!a.trim())return;if(!e.isLoggedIn){U("Hey there, you need to be signed in to send messages to Khoj AI"),W(!0);return}let t=a.trim();ei&&!t.startsWith("/research")&&(t="/research ".concat(t)),e.sendMessage(t),V(null),q([]),r("")}function eu(a){var n,r;if(!e.isLoggedIn){U("Please login to chat with your files"),W(!0);return}let s=["jpg","jpeg","png","webp"],l=[];for(let e=0;e<a.length;e++){let t=a[e],n=t.name.split(".").pop();s.includes(n||"")&&l.push(i().sanitize(URL.createObjectURL(t)))}l.length>0&&($(!0),H(e=>[...e,...l]),null==t||null===(r=t.current)||void 0===r||r.focus());let o=Array.from(a).filter(e=>!s.includes(e.name.split(".").pop()||"")),c=o?Array.from(o).concat(Array.from(Z||[])):Array.from(Z||[]);if(c.length>0){for(let e=0;e<c.length;e++)if(c[e].size>10485760){M("File ".concat(c[e].name," is too large. Please upload files smaller than 10 MB."));return}let t=new DataTransfer;c.forEach(e=>t.items.add(e)),eh(t.files).then(a=>{e.setUploadedFiles(a),V(t.files),q(a)})}null==t||null===(n=t.current)||void 0===n||n.focus()}async function eh(e){let t=await (0,z.M1)(e);L(!0);try{let e=await fetch("/api/content/convert",{method:"POST",body:t});if(L(!1),!e.ok)throw Error("HTTP error! status: ".concat(e.status));return await e.json()}catch(e){return _("Error converting files. "+e+". Please try again, or contact team@khoj.dev if the issue persists."),console.error("Error converting files:",e),[]}}async function ef(){try{let e=await navigator.mediaDevices.getUserMedia({audio:!0}),t=new MediaRecorder(e,{mimeType:"audio/webm"}),a=[];t.ondataavailable=async e=>{a.push(e.data);let t=new Blob(a,{type:"audio/webm"}),n=new FormData;n.append("file",t);try{let e=await fetch("/api/transcribe",{method:"POST",body:n});if(!e.ok)throw Error("Network response was not ok");let t=await e.json();r(t.text.trim())}catch(e){console.error("Error sending audio to server:",e)}},t.start(1500),t.onstop=async()=>{let e=new Blob(a,{type:"audio/webm"}),n=new FormData;n.append("file",e);try{let e=await fetch("/api/transcribe",{method:"POST",body:n});if(!e.ok)throw Error("Network response was not ok");let a=await e.json();t.stream.getTracks().forEach(e=>e.stop()),et(null),r(a.text.trim())}catch(e){console.error("Error sending audio to server:",e)}},et(t)}catch(e){console.error("Error getting microphone",e)}}return(0,l.useEffect)(()=>{if(I||en(0),I){let e=setInterval(()=>{en(e=>{let t=e+(Math.floor(5*Math.random())+1);return t<100?t:100})},800);return()=>clearInterval(e)}},[I]),(0,l.useEffect)(()=>{async function e(){B.length>0&&K(await Promise.all(B.map(async e=>{let t=await fetch(e),a=await t.blob();return new Promise(e=>{let t=new FileReader;t.onload=()=>e(t.result),t.readAsDataURL(a)})}))),L(!1)}L(!0),e()},[B]),(0,l.useEffect)(()=>{e.isResearchModeEnabled&&ec(e.isResearchModeEnabled)},[e.isResearchModeEnabled]),(0,l.useEffect)(()=>{!G&&ee&&ee.stop(),G&&!ee&&ef()},[G,ee]),(0,l.useEffect)(()=>{(null==t?void 0:t.current)&&(t.current.style.height="auto",t.current.style.height=Math.max(t.current.scrollHeight-24,64)+"px",a.startsWith("/")&&1===a.split(" ").length?eo(!0):eo(!1))},[a]),(0,n.jsxs)(n.Fragment,{children:[F&&P&&(0,n.jsx)(k.Z,{onOpenChange:W,loginRedirectMessage:P}),I&&(0,n.jsx)(p.aR,{open:I,children:(0,n.jsxs)(p._T,{children:[(0,n.jsx)(p.fY,{children:(0,n.jsx)(p.f$,{children:"Uploading data. Please wait."})}),(0,n.jsx)(p.yT,{children:(0,n.jsx)(b.E,{indicatorColor:"bg-slate-500",className:"w-full h-2 rounded-full",value:ea})}),(0,n.jsx)(p.OL,{className:"bg-slate-400 hover:bg-slate-500",onClick:()=>L(!1),children:"Dismiss"})]})}),O&&(0,n.jsx)(p.aR,{open:null!==O,children:(0,n.jsxs)(p._T,{children:[(0,n.jsx)(p.fY,{children:(0,n.jsx)(p.f$,{children:"Data Upload Warning"})}),(0,n.jsx)(p.yT,{children:O}),(0,n.jsx)(p.OL,{className:"bg-slate-400 hover:bg-slate-500",onClick:()=>M(null),children:"Close"})]})}),A&&(0,n.jsx)(p.aR,{open:null!==A,children:(0,n.jsxs)(p._T,{children:[(0,n.jsxs)(p.fY,{children:[(0,n.jsx)(p.f$,{children:"Oh no!"}),(0,n.jsx)(p.yT,{children:"Something went wrong while uploading your data"})]}),(0,n.jsx)(p.yT,{children:A}),(0,n.jsx)(p.OL,{className:"bg-slate-400 hover:bg-slate-500",onClick:()=>_(null),children:"Close"})]})}),el&&(0,n.jsx)("div",{className:"flex justify-center text-center",children:(0,n.jsxs)(v.J2,{open:el,onOpenChange:eo,children:[(0,n.jsx)(w.xo,{className:"flex justify-center text-center"}),(0,n.jsx)(v.yk,{onOpenAutoFocus:e=>e.preventDefault(),className:"".concat(e.isMobileWidth?"w-[100vw]":"w-full"," rounded-md"),side:"bottom",align:"center",sideOffset:e.conversationId?0:80,alignOffset:0,children:(0,n.jsxs)(x.mY,{className:"max-w-full",children:[(0,n.jsx)(x.sZ,{placeholder:"Type a command or search...",value:a,className:"hidden"}),(0,n.jsxs)(x.e8,{children:[(0,n.jsx)(x.rb,{children:"No matching commands."}),(0,n.jsx)(x.fu,{heading:"Agent Tools",children:e.chatOptionsData&&Object.entries(e.chatOptionsData).map(e=>{let[t,a]=e;return(0,n.jsx)(x.di,{className:"text-md",onSelect:()=>{r("/".concat(t," "))},children:(0,n.jsxs)("div",{className:"grid grid-cols-1 gap-1",children:[(0,n.jsxs)("div",{className:"font-bold flex items-center",children:[(0,T.vH)(t,"h-4 w-4 mr-2"),"/",t]}),(0,n.jsx)("div",{children:a})]})},t)})}),(0,n.jsx)(x.zz,{})]})]})})]})}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 overflow-x-auto",children:[Y&&B.map((e,t)=>(0,n.jsxs)("div",{className:"relative flex-shrink-0 pb-3 pt-2 group",children:[(0,n.jsx)("img",{src:e,alt:"img-".concat(t),className:"w-auto h-16 object-cover rounded-xl"}),(0,n.jsx)(j.z,{variant:"ghost",size:"icon",className:"absolute -top-0 -right-2 h-5 w-5 rounded-full bg-neutral-200 dark:bg-neutral-600 hover:bg-neutral-300 dark:hover:bg-neutral-500 opacity-0 group-hover:opacity-100 transition-opacity",onClick:()=>{H(e=>e.filter((e,a)=>a!==t)),K(e=>e.filter((e,a)=>a!==t)),1===B.length&&$(!1)},children:(0,n.jsx)(c.X,{className:"h-3 w-3"})})]},t)),X&&Array.from(X).map((t,a)=>(0,n.jsxs)(R.Vq,{children:[(0,n.jsx)(R.hg,{asChild:!0,children:(0,n.jsxs)("div",{className:"relative flex-shrink-0 p-2 group",children:[(0,n.jsx)("div",{className:"w-auto h-16 object-cover rounded-xl ".concat(e.agentColor?(0,C.tp)(e.agentColor):"bg-orange-300 hover:bg-orange-500"," bg-opacity-15"),children:(0,n.jsxs)("div",{className:"flex p-2 flex-col justify-start items-start h-full",children:[(0,n.jsx)("span",{className:"text-sm font-bold text-neutral-500 dark:text-neutral-400 text-ellipsis truncate max-w-[200px] break-words",children:t.name}),(0,n.jsxs)("span",{className:"flex items-center gap-1",children:[(0,T.Le)(t.file_type),(0,n.jsx)("span",{className:"text-xs text-neutral-500 dark:text-neutral-400",children:(0,D.xq)(t.size)})]})]})}),(0,n.jsx)(j.z,{variant:"ghost",size:"icon",className:"absolute -top-0 -right-2 h-5 w-5 rounded-full bg-neutral-200 dark:bg-neutral-600 hover:bg-neutral-300 dark:hover:bg-neutral-500 opacity-0 group-hover:opacity-100 transition-opacity",onClick:()=>{V(a=>{let n=t.name;if(!a)return null;let r=Array.from(a).filter(e=>e.name!==n),s=new DataTransfer;r.forEach(e=>s.items.add(e));let l=X.filter(e=>e.name!==n);return e.setUploadedFiles(l),q(l),s.files})},children:(0,n.jsx)(c.X,{className:"h-3 w-3"})})]},a)}),(0,n.jsxs)(R.cZ,{children:[(0,n.jsx)(R.fK,{children:(0,n.jsx)(R.$N,{children:t.name})}),(0,n.jsx)(R.Be,{children:(0,n.jsx)(S.x,{className:"h-72 w-full rounded-md",children:t.content})})]})]},a))]}),(0,n.jsxs)("div",{className:"".concat(s().actualInputArea," justify-between dark:bg-neutral-700 relative ").concat(er&&"animate-pulse"),onDragOver:function(e){e.preventDefault(),es(!0)},onDragLeave:function(e){e.preventDefault(),es(!1)},onDrop:function(e){e.preventDefault(),es(!1),e.dataTransfer.files&&eu(e.dataTransfer.files)},children:[(0,n.jsx)("input",{type:"file",accept:".pdf,.doc,.docx,.txt,.md,.org,.jpg,.jpeg,.png,.webp",multiple:!0,ref:o,onChange:function(e){e.target.files&&eu(e.target.files)},style:{display:"none"}}),(0,n.jsx)("div",{className:"flex items-center",children:(0,n.jsx)(j.z,{variant:"ghost",className:"!bg-none p-0 m-2 h-auto text-3xl rounded-full text-gray-300 hover:text-gray-500",disabled:e.sendDisabled,onClick:function(){o.current&&o.current.click()},children:(0,n.jsx)(d.p,{className:"w-8 h-8"})})}),(0,n.jsx)("div",{className:"flex-grow flex flex-col w-full gap-1.5 relative",children:(0,n.jsx)(y.g,{ref:t,className:"border-none focus:border-none\n focus:outline-none focus-visible:ring-transparent\n w-full h-16 min-h-16 max-h-[128px] md:py-4 rounded-lg resize-none dark:bg-neutral-700\n ".concat(e.isMobileWidth?"text-md":"text-lg"),placeholder:"Type / to see a list of commands",id:"message",autoFocus:!0,value:a,onKeyDown:t=>{"Enter"!==t.key||t.shiftKey||e.isMobileWidth||($(!1),H([]),t.preventDefault(),ed())},onChange:e=>r(e.target.value),disabled:e.sendDisabled||G})}),(0,n.jsxs)("div",{className:"flex items-end pb-2",children:[G?(0,n.jsx)(N.pn,{children:(0,n.jsxs)(N.u,{children:[(0,n.jsx)(N.aJ,{asChild:!0,children:(0,n.jsx)(j.z,{variant:"default",className:"".concat(!G&&"hidden"," ").concat(e.agentColor?(0,C.tp)(e.agentColor):"bg-orange-300 hover:bg-orange-500"," rounded-full p-1 m-2 h-auto text-3xl transition transform md:hover:-translate-y-1"),onClick:()=>{Q(!G)},disabled:e.sendDisabled,children:(0,n.jsx)(u.d,{weight:"fill",className:"w-6 h-6"})})}),(0,n.jsx)(N._v,{children:"Click to stop recording and transcribe your voice."})]})}):ee?(0,n.jsx)(E.l,{}):(0,n.jsx)(N.pn,{children:(0,n.jsxs)(N.u,{children:[(0,n.jsx)(N.aJ,{asChild:!0,children:e.sendDisabled?(0,n.jsx)(j.z,{variant:"default",className:"".concat(e.agentColor?(0,C.tp)(e.agentColor):"bg-orange-300 hover:bg-orange-500"," rounded-full p-1 m-2 h-auto text-3xl transition transform md:hover:-translate-y-1"),onClick:()=>{e.setTriggeredAbort(!0)},children:(0,n.jsx)(u.d,{weight:"fill",className:"w-6 h-6"})}):(0,n.jsx)(j.z,{variant:"default",className:"".concat(!a||G||"hidden"," ").concat(e.agentColor?(0,C.tp)(e.agentColor):"bg-orange-300 hover:bg-orange-500"," rounded-full p-1 m-2 h-auto text-3xl transition transform md:hover:-translate-y-1"),onClick:()=>{r("Listening..."),Q(!G)},children:(0,n.jsx)(h.P,{weight:"fill",className:"w-6 h-6"})})}),(0,n.jsx)(N._v,{children:e.sendDisabled?"Click here to stop the streaming.":"Click to transcribe your message with voice."})]})}),(0,n.jsx)(j.z,{className:"".concat((!a||G)&&"hidden"," ").concat(e.agentColor?(0,C.tp)(e.agentColor):"bg-orange-300 hover:bg-orange-500"," rounded-full p-1 m-2 h-auto text-3xl transition transform md:hover:-translate-y-1"),onClick:ed,children:(0,n.jsx)(f.a,{className:"w-6 h-6",weight:"bold"})})]})]}),(0,n.jsx)(N.pn,{children:(0,n.jsxs)(N.u,{children:[(0,n.jsx)(N.aJ,{asChild:!0,children:(0,n.jsxs)(j.z,{variant:"ghost",className:"float-right justify-center gap-1 flex items-center p-1.5 mr-2 h-fit",onClick:()=>{var e;ec(!ei),null==t||null===(e=t.current)||void 0===e||e.focus()},children:[(0,n.jsx)("span",{className:"text-muted-foreground text-sm",children:"Research Mode"}),ei?(0,n.jsx)(m.W,{weight:"fill",className:"w-6 h-6 inline-block ".concat(e.agentColor?(0,C.oz)(e.agentColor):(0,C.oz)("orange")," rounded-full")}):(0,n.jsx)(g.$,{weight:"fill",className:"w-6 h-6 inline-block ".concat((0,C.oz)("gray")," rounded-full")})]})}),(0,n.jsx)(N._v,{className:"text-xs",children:"(Experimental) Research Mode allows you to get more deeply researched, detailed responses. Response times may be longer."})]})})]})]})});O.displayName="ChatInputArea"},66820:function(e,t,a){"use strict";a.d(t,{Z:function(){return l}});var n=a(57437),r=a(6780),s=a(87138);function l(e){return(0,n.jsx)(r.aR,{open:!0,onOpenChange:e.onOpenChange,children:(0,n.jsxs)(r._T,{children:[(0,n.jsx)(r.fY,{children:(0,n.jsx)(r.f$,{children:"Sign in to Khoj to continue"})}),(0,n.jsxs)(r.yT,{children:[e.loginRedirectMessage,". By logging in, you agree to our"," ",(0,n.jsx)(s.default,{href:"https://khoj.dev/terms-of-service",children:"Terms of Service."})]}),(0,n.jsxs)(r.xo,{children:[(0,n.jsx)(r.le,{children:"Dismiss"}),(0,n.jsx)(r.OL,{className:"bg-slate-400 hover:bg-slate-500",onClick:()=>{window.location.href="/login?next=".concat(encodeURIComponent(window.location.pathname))},children:(0,n.jsxs)(s.default,{href:"/login?next=".concat(encodeURIComponent(window.location.pathname)),children:[" ","Login"]})})]})]})})}},70571:function(e,t,a){"use strict";a.d(t,{E:function(){return o}});var n=a(57437),r=a(2265),s=a(52431),l=a(37440);let o=r.forwardRef((e,t)=>{let{className:a,value:r,indicatorColor:o,...i}=e;return(0,n.jsx)(s.fC,{ref:t,className:(0,l.cn)("relative h-4 w-full overflow-hidden rounded-full bg-secondary",a),...i,children:(0,n.jsx)(s.z$,{className:"h-full w-full flex-1 bg-primary transition-all ".concat(o),style:{transform:"translateX(-".concat(100-(r||0),"%)")}})})});o.displayName=s.fC.displayName},93146:function(e,t,a){"use strict";a.d(t,{g:function(){return l}});var n=a(57437),r=a(2265),s=a(37440);let l=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,n.jsx)("textarea",{className:(0,s.cn)("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",a),ref:t,...r})});l.displayName="Textarea"},19666:function(e,t,a){"use strict";a.d(t,{_v:function(){return d},aJ:function(){return c},pn:function(){return o},u:function(){return i}});var n=a(57437),r=a(2265),s=a(27071),l=a(37440);let o=s.zt,i=s.fC,c=s.xz,d=r.forwardRef((e,t)=>{let{className:a,sideOffset:r=4,...o}=e;return(0,n.jsx)(s.VY,{ref:t,sideOffset:r,className:(0,l.cn)("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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",a),...o})});d.displayName=s.VY.displayName},37649:function(e){e.exports={actualInputArea:"chatInputArea_actualInputArea__Ha6cN"}}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1931],{1507:function(e,t,n){Promise.resolve().then(n.bind(n,4515))},4515:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return U}});var i,o,a=n(57437);n(58877);var r=n(68518),s=n.n(r);n(7395);var l=n(2265),c=n(29039),d=n(52195);let p=new Map([["bold",l.createElement(l.Fragment,null,l.createElement("path",{d:"M228,128a100,100,0,0,1-98.66,100H128a99.39,99.39,0,0,1-68.62-27.29,12,12,0,0,1,16.48-17.45,76,76,0,1,0-1.57-109c-.13.13-.25.25-.39.37L54.89,92H72a12,12,0,0,1,0,24H24a12,12,0,0,1-12-12V56a12,12,0,0,1,24,0V76.72L57.48,57.06A100,100,0,0,1,228,128Z"}))],["duotone",l.createElement(l.Fragment,null,l.createElement("path",{d:"M216,128a88,88,0,1,1-88-88A88,88,0,0,1,216,128Z",opacity:"0.2"}),l.createElement("path",{d:"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L44.59,96H72a8,8,0,0,1,0,16H24a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0V85.8L60.25,60A96,96,0,0,1,224,128Z"}))],["fill",l.createElement(l.Fragment,null,l.createElement("path",{d:"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L60.63,81.29l17,17A8,8,0,0,1,72,112H24a8,8,0,0,1-8-8V56A8,8,0,0,1,29.66,50.3L49.31,70,60.25,60A96,96,0,0,1,224,128Z"}))],["light",l.createElement(l.Fragment,null,l.createElement("path",{d:"M222,128a94,94,0,0,1-92.74,94H128a93.43,93.43,0,0,1-64.5-25.65,6,6,0,1,1,8.24-8.72A82,82,0,1,0,70,70l-.19.19L39.44,98H72a6,6,0,0,1,0,12H24a6,6,0,0,1-6-6V56a6,6,0,0,1,12,0V90.34L61.63,61.4A94,94,0,0,1,222,128Z"}))],["regular",l.createElement(l.Fragment,null,l.createElement("path",{d:"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L44.59,96H72a8,8,0,0,1,0,16H24a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0V85.8L60.25,60A96,96,0,0,1,224,128Z"}))],["thin",l.createElement(l.Fragment,null,l.createElement("path",{d:"M220,128a92,92,0,0,1-90.77,92H128a91.47,91.47,0,0,1-63.13-25.1,4,4,0,1,1,5.5-5.82A84,84,0,1,0,68.6,68.57l-.13.12L34.3,100H72a4,4,0,0,1,0,8H24a4,4,0,0,1-4-4V56a4,4,0,0,1,8,0V94.89l35-32A92,92,0,0,1,220,128Z"}))]]);var u=Object.defineProperty,h=Object.defineProperties,g=Object.getOwnPropertyDescriptors,m=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,k=(e,t,n)=>t in e?u(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,b=(e,t)=>{for(var n in t||(t={}))f.call(t,n)&&k(e,n,t[n]);if(m)for(var n of m(t))y.call(t,n)&&k(e,n,t[n]);return e},v=(e,t)=>h(e,g(t));let w=(0,l.forwardRef)((e,t)=>l.createElement(d.Z,v(b({ref:t},e),{weights:p})));w.displayName="ArrowCounterClockwise";var x=n(36013),P=n(31806),C=n.n(P),L=n(58575),j=n(89417);(i=o||(o={})).Automation="Automation",i.Paint="Paint",i.Travel="Travel",i.Health="Health",i.Learning="Learning",i.Language="Language",i.PopCulture="Pop Culture",i.Food="Food",i.Interviewing="Interviewing",i.Home="Home",i.Fun="Fun",i.Code="Code",i.Finance="Finance";let A={};A.Automation="blue",A.Paint="indigo",A.Travel="yellow",A.Health="teal",A.Learning="purple",A.Language="blue",A["Pop Culture"]="red",A.Food="yellow",A.Interviewing="orange",A.Home="green",A.Fun="fuchsia",A.Code="purple",A.Finance="green";let S="orange",E=[{type:"Automation",color:A.Automation||S,description:"Send me a summary of HackerNews every morning.",link:"/automations?subject=Summarizing%20Top%20Headlines%20from%20HackerNews&query=Summarize%20the%20top%20headlines%20on%20HackerNews&crontime=00%207%20*%20*%20*"},{type:"Automation",color:A.Automation||S,description:"Compose a bedtime story that a five-year-old might enjoy.",link:"/automations?subject=Daily%20Bedtime%20Story&query=Compose%20a%20bedtime%20story%20that%20a%20five-year-old%20might%20enjoy.%20It%20should%20not%20exceed%20five%20paragraphs.%20Appeal%20to%20the%20imagination%2C%20but%20weave%20in%20learnings.&crontime=0%2021%20*%20*%20*"},{type:"Paint",color:A.Paint||S,description:"Paint a picture of a sunset but it's made of stained glass tiles",link:""},{type:"Travel",color:A.Travel||S,description:"Search for the best attractions in Austria Hungary",link:""},{type:"Health",color:A.Health||S,description:"Generate a weekly meal plan with recipes.",link:"/automations?subject=Weekly Meal Plan&query=Create a weekly meal plan with 7 dinner recipes, including ingredients and brief instructions. Focus on balanced, healthy meals.&crontime=0 18 * * 0"},{type:"Paint",color:A.Paint||S,description:"Paint a futuristic cityscape with flying cars.",link:""},{type:"Travel",color:A.Travel||S,description:"Find the top-rated coffee shops in Seattle.",link:""},{type:"Automation",color:A.Automation||S,description:"Send daily motivational quotes.",link:"/automations?subject=Daily Motivation&query=Provide an inspiring quote for the day along with a brief explanation of its meaning.&crontime=0 7 * * *"},{type:"Paint",color:A.Paint||S,description:"Create an abstract representation of jazz music.",link:""},{type:"Learning",color:A.Learning||S,description:"Research the history of the Eiffel Tower.",link:""},{type:"Automation",color:A.Automation||S,description:"Compile a weekly news summary.",link:"/automations?subject=Weekly News Digest&query=Summarize the top 5 most important news stories of the week across various categories.&crontime=0 18 * * 5"},{type:"Paint",color:A.Paint||S,description:"Paint a portrait of a cat wearing a Victorian-era costume.",link:""},{type:"Travel",color:A.Travel||S,description:"Find beginner-friendly hiking trails near Los Angeles.",link:""},{type:"Automation",color:A.Automation||S,description:"Generate a daily writing prompt.",link:"/automations?subject=Daily Writing Prompt&query=Create an engaging writing prompt suitable for short story or journal writing.&crontime=0 9 * * *"},{type:"Paint",color:A.Paint||S,description:"Create a surrealist landscape inspired by Salvador Dali.",link:""},{type:"Learning",color:A.Learning||S,description:"Research the benefits and drawbacks of electric vehicles.",link:""},{type:"Automation",color:A.Automation||S,description:"Send weekly language learning tips for Spanish.",link:"/automations?subject=Spanish Learning Tips&query=Provide a useful Spanish language learning tip, including vocabulary, grammar, or cultural insight.&crontime=0 19 * * 2"},{type:"Paint",color:A.Paint||S,description:"Paint a scene from a fairy tale in the style of Studio Ghibli.",link:""},{type:"Pop Culture",color:"yellow",description:"Find the best-rated science fiction books of the last decade.",link:""},{type:"Paint",color:A.Paint||S,description:"Paint a still life of exotic fruits in a neon color palette.",link:""},{type:"Travel",color:A.Travel||S,description:"Research the most eco-friendly cities in Europe.",link:""},{type:"Automation",color:A.Automation||S,description:"Send daily reminders for habit tracking.",link:"/automations?subject=Habit Tracker&query=Generate a daily reminder to track habits, including a motivational message.&crontime=0 20 * * *"},{type:"Paint",color:A.Paint||S,description:"Create a digital painting of a cyberpunk street market.",link:""},{type:"Learning",color:A.Learning||S,description:"Summarize the biography of this figure: https://en.wikipedia.org/wiki/Jean_Baptiste_Point_du_Sable",link:""},{type:"Language",color:"blue",description:"Send daily Spanish phrases used in Latin America.",link:"/automations?subject=Daily Latin American Spanish&query=Provide a common Spanish phrase or slang term used in Latin America, its meaning, and an example of usage. Include which countries it's most common in.&crontime=0 8 * * *"},{type:"Paint",color:A.Paint||S,description:"Create a vibrant painting inspired by Frida Kahlo's style.",link:""},{type:"Food",color:A.Food||S,description:"Find the best empanada recipe from Colombia.",link:""},{type:"Automation",color:A.Automation||S,description:"Weekly update on the Brazilian startup ecosystems.",link:"/automations?subject=LatAm Startup News&query=Provide a summary of the most significant developments in Latin American startup ecosystems this week. Include notable funding rounds, expansions, or policy changes.&crontime=0 18 * * 5"},{type:"Paint",color:A.Paint||S,description:"Paint a colorful scene of a traditional Day of the Dead celebration in Mexico.",link:""},{type:"Language",color:A.Language||S,description:"Daily Swahili phrase with English translation.",link:"/automations?subject=Daily Swahili Lesson&query=Provide a common Swahili phrase or proverb, its English translation, and a brief explanation of its cultural significance in East Africa.&crontime=0 7 * * *"},{type:"Paint",color:A.Paint||S,description:"Create a digital painting of the Serengeti during wildebeest migration.",link:""},{type:"Learning",color:A.Learning||S,description:"Research the top M-Pesa alternatives in East Africa.",link:""},{type:"Automation",color:A.Automation||S,description:"Weekly update on East African tech startups and innovations.",link:"/automations?subject=East African Tech News&query=Summarize the most significant developments in East African tech startups and innovations this week. Include notable funding rounds, new product launches, or policy changes affecting the tech ecosystem.&crontime=0 18 * * 5"},{type:"Paint",color:A.Paint||S,description:"Paint a colorful scene inspired by Maasai traditional clothing and jewelry.",link:""},{type:"Automation",color:A.Automation||S,description:"Weekly summary of EU policy changes and their impact.",link:"/automations?subject=EU Policy Update&query=Summarize the most significant EU policy changes or proposals from this week. Explain their potential impact on European citizens and businesses.&crontime=0 17 * * 5"},{type:"Paint",color:A.Paint||S,description:"Paint a digital landscape of the Northern Lights over the Norwegian fjords.",link:""},{type:"Automation",color:A.Automation||S,description:"Daily East Asian proverb with explanation.",link:"/automations?subject=East Asian Wisdom&query=Provide a proverb from an East Asian language (rotating through Chinese, Japanese, Korean, etc.), its English translation, and a brief explanation of its cultural significance and practical application.&crontime=0 7 * * *"},{type:"Paint",color:A.Paint||S,description:"Create a digital painting in the style of traditional Chinese ink wash landscape.",link:""},{type:"Pop Culture",color:"yellow",description:"Research the latest trends in K-pop and its global influence.",link:""},{type:"Automation",color:A.Automation||S,description:"Weekly summary of technological innovations from East Asian tech giants.",link:"/automations?subject=East Asian Tech Update&query=Summarize the most significant technological innovations or product launches from major East Asian tech companies (e.g., Samsung, Sony, Alibaba, Tencent) this week. Explain their potential impact on global markets.&crontime=0 18 * * 5"},{type:"Paint",color:A.Paint||S,description:"Paint a vibrant scene of a Japanese cherry blossom festival.",link:""},{type:"Automation",color:A.Automation||S,description:"Daily South Asian recipe with cultural significance.",link:"/automations?subject=South Asian Culinary Journey&query=Provide a traditional South Asian recipe (rotating through Indian, Pakistani, Bangladeshi, Sri Lankan, etc. cuisines), including ingredients, brief instructions, and its cultural significance or origin story.&crontime=0 10 * * *"},{type:"Pop Culture",color:A["Pop Culture"]||S,description:"Research the impact of Bollywood on global cinema and fashion.",link:""},{type:"Automation",color:A.Automation||S,description:"Weekly update on South Asian startup ecosystems and innovations.",link:"/automations?subject=South Asian Startup Pulse&query=Summarize the most significant developments in South Asian startup ecosystems this week. Include notable funding rounds, innovative solutions to local challenges, and any policy changes affecting the tech landscape in countries like India, Bangladesh, Pakistan, and Sri Lanka.&crontime=0 18 * * 5"},{type:"Interviewing",color:A.Interviewing||S,description:"Create interview prep questions for a consulting job.",link:""},{type:"Interviewing",color:A.Interviewing||S,description:"What information should I include in a CV for a PhD application?",link:""},{type:"Home",color:A.Home||S,description:"Recommend plants that can grow well indoors.",link:""},{type:"Health",color:A.Health||S,description:"Suggest healthy meal prep ideas for a busy work week.",link:""},{type:"Learning",color:A.Learning||S,description:"List effective time management techniques for students.",link:""},{type:"Learning",color:A.Learning||S,description:"Provide tips for improving public speaking skills.",link:""},{type:"Learning",color:A.Learning||S,description:"Recommend books for learning about personal finance.",link:""},{type:"Home",color:A.Home||S,description:"Suggest ways to reduce plastic waste in daily life.",link:""},{type:"Health",color:A.Health||S,description:"Create a beginner's guide to meditation and mindfulness.",link:""},{type:"Health",color:A.Health||S,description:"Give me some tips for improving my sleep quality.",link:""},{type:"Health",color:A.Health||S,description:"What are weight loss strategies supported by clinical studies?",link:""},{type:"Fun",color:A.Fun||S,description:"List creative date ideas for couples on a budget.",link:""},{type:"Code",color:A.Interviewing||S,description:"Provide tips for writing an effective resume.",link:""},{type:"Code",color:A.Code||S,description:"Explain the concept of recursion with a simple coding example.",link:""},{type:"Code",color:A.Code||S,description:"Provide a coding challenge to reverse a string without using built-in functions.",link:""},{type:"Code",color:A.Code||S,description:"Explain the difference between 'let', 'const', and 'var' in JavaScript.",link:""},{type:"Code",color:A.Code||S,description:"Create a coding exercise to implement a basic sorting algorithm (e.g., bubble sort).",link:""},{type:"Code",color:A.Code||S,description:"Explain object-oriented programming principles with a simple class example.",link:""},{type:"Code",color:A.Code||S,description:"Provide a coding challenge to find the longest palindromic substring in a given string.",link:""},{type:"Code",color:A.Code||S,description:"Explain the concept of asynchronous programming with a JavaScript Promise example.",link:""},{type:"Code",color:A.Code||S,description:"Create a coding exercise to implement a basic data structure (e.g., linked list or stack).",link:""},{type:"Code",color:A.Code||S,description:"Explain the time and space complexity of common algorithms (e.g., binary search).",link:""},{type:"Code",color:A.Code||S,description:"Provide a coding challenge to implement a simple REST API using Node.js and Express.",link:""},{type:"Code",color:A.Code||S,description:"Compare popular web frameworks in Rust and Python",link:""},{type:"Travel",color:A.Travel||S,description:"Craft an off-beat itinerary for a weekend in Lagos, Nigeria.",link:""},{type:"Language",color:A.Language||S,description:"Teach me about declensions in Latin.",link:""},{type:"Learning",color:A.Learning||S,description:"Break down the concept of photosynthesis for a middle school student.",link:""},{type:"Learning",color:A.Learning||S,description:"Use the Socratic method to explore the causes of World War I.",link:""},{type:"Learning",color:A.Learning||S,description:"Explain the water cycle using an analogy suitable for elementary students.",link:""},{type:"Learning",color:A.Learning||S,description:"Guide a high school student through solving a quadratic equation step-by-step.",link:""},{type:"Learning",color:A.Learning||S,description:"Create a series of questions to help a student discover the principles of basic economics.",link:""},{type:"Learning",color:A.Learning||S,description:"Develop a hands-on experiment to demonstrate the concept of density to middle schoolers.",link:""},{type:"Learning",color:A.Learning||S,description:"Use guided discovery to help a student understand the structure of DNA.",link:""},{type:"Learning",color:A.Learning||S,description:"Create a personalized learning plan for a student struggling with grammar concepts.",link:""},{type:"Learning",color:A.Learning||S,description:"Design a series of questions to encourage critical thinking about climate change.",link:""},{type:"Learning",color:A.Learning||S,description:"Develop a step-by-step guide for conducting a basic science experiment on plant growth.",link:""},{type:"Health",color:A.Health||S,description:"Provide a detailed explanation about how to manage type 2 diabetes.",link:""},{type:"Health",color:A.Health||S,description:"Explain the effects a stroke might have on the body.",link:""},{type:"Health",color:A.Health||S,description:"Describe the recommended steps for preventing heart disease.",link:""},{type:"Health",color:A.Health||S,description:"Explain the differences between various types of headaches and their treatments.",link:""},{type:"Health",color:A.Health||S,description:"Provide an overview of the most effective stress management techniques.",link:""},{type:"Health",color:A.Health||S,description:"Explain the importance of vaccination and how vaccines work.",link:""},{type:"Health",color:A.Health||S,description:"Describe the symptoms and treatment options for depression.",link:""},{type:"Health",color:A.Health||S,description:"Explain the process of digestion and common digestive disorders.",link:""},{type:"Health",color:A.Health||S,description:"Provide an overview of the different types of cancer screenings and their importance.",link:""},{type:"Health",color:A.Health||S,description:"Explain the effects of sleep deprivation on physical and mental health.",link:""},{type:"Fun",color:A.Fun||S,description:"Create a list of fun activities for a family game night.",link:""},{type:"Finance",color:A.Finance||S,description:"Explain the concept of compound interest and its importance in long-term savings.",link:""},{type:"Finance",color:A.Finance||S,description:"Provide an overview of different types of retirement accounts (e.g., 401(k), IRA, Roth IRA).",link:""},{type:"Finance",color:A.Finance||S,description:"Describe strategies for creating and sticking to a personal budget.",link:""},{type:"Finance",color:A.Finance||S,description:"Explain the basics of stock market investing for beginners.",link:""},{type:"Finance",color:A.Finance||S,description:"Outline the pros and cons of renting vs. buying a home.",link:""},{type:"Finance",color:A.Finance||S,description:"Describe different methods for paying off debt, such as the snowball and avalanche methods.",link:""},{type:"Finance",color:A.Finance||S,description:"Explain the importance of an emergency fund and how to build one.",link:""},{type:"Finance",color:A.Finance||S,description:"Provide an overview of different types of insurance and their importance in financial planning.",link:""},{type:"Finance",color:A.Finance||S,description:"Explain the concept of diversification in investment portfolios.",link:""},{type:"Finance",color:A.Finance||S,description:"Describe strategies for minimizing tax liability legally.",link:""}];function H(e){var t,n;let i=(0,L.Zc)(e.color),o="".concat(C().card," ").concat(i," md:w-full md:h-fit sm:w-full h-fit md:w-[200px] md:h-[180px] cursor-pointer md:p-2"),r="".concat(C().text," dark:text-white"),s=(0,a.jsx)(x.Zb,{className:o,children:(0,a.jsx)("div",{className:"flex w-full",children:(0,a.jsxs)(x.aY,{className:"m-0 p-2 w-full",children:[(t=e.title,n=e.color.toLowerCase(),"Automation"===t?(0,j.TI)("Robot",n,"w-6","h-6"):"Paint"===t?(0,j.TI)("Palette",n,"w-6","h-6"):"Pop Culture"===t?(0,j.TI)("Confetti",n,"w-6","h-6"):"Travel"===t?(0,j.TI)("Jeep",n,"w-6","h-6"):"Learning"===t?(0,j.TI)("Book",n,"w-6","h-6"):"Health"===t?(0,j.TI)("Asclepius",n,"w-6","h-6"):"Fun"===t?(0,j.TI)("Island",n,"w-6","h-6"):"Home"===t?(0,j.TI)("House",n,"w-6","h-6"):"Language"===t?(0,j.TI)("Translate",n,"w-6","h-6"):"Code"===t?(0,j.TI)("Code",n,"w-6","h-6"):"Food"===t?(0,j.TI)("BowlFood",n,"w-6","h-6"):"Interviewing"===t?(0,j.TI)("Lectern",n,"w-6","h-6"):"Finance"===t?(0,j.TI)("Wallet",n,"w-6","h-6"):(0,j.TI)("Lightbulb",n,"w-6","h-6")),(0,a.jsx)(x.SZ,{className:"".concat(r," sm:line-clamp-2 md:line-clamp-4 pt-1 break-words whitespace-pre-wrap max-w-full"),children:e.body})]})})});return e.link?(0,a.jsx)("a",{href:e.link,className:"no-underline",children:s}):s}var I=n(48861),F=n(58485),_=n(38423),T=n(66820),N=n(79306),M=n(9557),D=n(69591),W=n(16463),B=n(94880),O=n(81970),q=n(19573);function R(e){var t,n;let[i,o]=(0,l.useState)(""),[r,d]=(0,l.useState)([]),[p,u]=(0,l.useState)(!1),[h,g]=(0,l.useState)(""),[m,f]=(0,l.useState)([]),[y,k]=(0,l.useState)(null),b=(0,D.Nr)(y,500),[v,P]=(0,l.useState)(!1),[C,A]=(0,l.useState)("khoj"),[S,I]=(0,l.useState)([]),[F,R]=(0,l.useState)([]),U=(0,l.useRef)(null),[Z,z]=(0,l.useState)(!1),V=(0,W.useRouter)(),J=(0,W.useSearchParams)().get("q");(0,l.useEffect)(()=>{J&&o(decodeURIComponent(J))},[J]),(0,l.useEffect)(()=>{b&&P(!0)},[b]);let G=e.onConversationIdChange,{data:K,error:Y}=(0,c.ZP)("agents",()=>window.fetch("/api/agents").then(e=>e.json()).catch(e=>console.log(e)),{revalidateOnFocus:!1}),Q=e=>{V.push("/agents?agent=".concat(e))};function X(){f((function(e){for(let t=e.length-1;t>0;t--){let n=Math.floor(Math.random()*(t+1));[e[t],e[n]]=[e[n],e[t]]}return e})(E).slice(0,3))}return(0,l.useEffect)(()=>{var t,n;if(e.isLoadingUserConfig)return;let i=new Date,o=i.getDay(),a=i.getHours()>=17||4>i.getHours()?"evening":i.getHours()>=12?"afternoon":"morning",r=(null===(t=e.userConfig)||void 0===t?void 0:t.given_name)?", ".concat(null===(n=e.userConfig)||void 0===n?void 0:n.given_name):"",s=["What would you like to get done".concat(r,"?"),"Hey".concat(r,"! How can I help?"),"Good ".concat(a).concat(r,"! What's on your mind?"),"Ready to breeze through ".concat(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][o],"?"),"Let's navigate your ".concat(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][o]," workload")];g(s[Math.floor(Math.random()*s.length)])},[e.isLoadingUserConfig,e.userConfig]),(0,l.useEffect)(()=>{e.chatOptionsData&&X()},[e.chatOptionsData]),(0,l.useEffect)(()=>{let e=(K||[]).filter(e=>null!=e);R(e),A(e.length>1?e[0].slug:"khoj"),I(e.map(e=>(0,j.TI)(e.icon,e.color)))},[K,e.isMobileWidth]),(0,l.useEffect)(()=>{(async()=>{if(i&&!p){u(!0);try{let e=await (0,M.A0)(C||"khoj");null==G||G(e),localStorage.setItem("message",i),r.length>0&&localStorage.setItem("images",JSON.stringify(r)),window.location.href="/chat?conversationId=".concat(e)}catch(e){console.error("Error creating new conversation:",e),u(!1)}o(""),d([])}})(),(i||r.length>0)&&u(!0)},[C,i,p,G]),(0,l.useEffect)(()=>{let e=document.querySelector("[data-radix-scroll-area-viewport]"),t=()=>{k(null),P(!1)};return null==e||e.addEventListener("scroll",t),()=>null==e?void 0:e.removeEventListener("scroll",t)},[]),(0,a.jsxs)("div",{className:"".concat(s().homeGreetings," w-full md:w-auto"),children:[Z&&(0,a.jsx)(T.Z,{onOpenChange:z,loginRedirectMessage:"Login to your second brain"}),(0,a.jsxs)("div",{className:"w-full text-center justify-end content-end",children:[(0,a.jsx)("div",{className:"items-center",children:(0,a.jsx)("h1",{className:"text-2xl md:text-3xl text-center w-fit pb-6 px-4 mx-auto",children:h})}),!e.isMobileWidth&&(0,a.jsxs)(B.x,{className:"w-full max-w-[600px] mx-auto",children:[(0,a.jsx)("div",{className:"flex pb-2 gap-2 items-center justify-center",children:F.map((t,n)=>(0,a.jsxs)(q.J2,{open:v&&b===t.slug,onOpenChange:e=>{e||(k(null),P(!1))},children:[(0,a.jsx)(q.xo,{asChild:!0,children:(0,a.jsx)(x.Zb,{className:"".concat(C===t.slug?(0,L.Iu)(t.color):"border-stone-100 dark:border-neutral-700 text-muted-foreground","\n hover:cursor-pointer rounded-lg px-2 py-2"),onDoubleClick:()=>Q(t.slug),onClick:()=>{var e;A(t.slug),null===(e=U.current)||void 0===e||e.focus(),k(null),P(!1)},onMouseEnter:()=>k(t.slug),onMouseLeave:()=>{k(null),P(!1)},children:(0,a.jsxs)(x.ll,{className:"text-center text-md font-medium flex justify-center items-center whitespace-nowrap",children:[S[n]," ",t.name]})})}),(0,a.jsx)(q.yk,{className:"w-80 p-0 border-none bg-transparent shadow-none",onMouseLeave:()=>{k(null),P(!1)},children:(0,a.jsx)(O.EY,{data:t,userProfile:null,isMobileWidth:e.isMobileWidth||!1,showChatButton:!1,editCard:!1,filesOptions:[],selectedChatModelOption:"",agentSlug:"",isSubscribed:(0,N.T8)(e.userConfig),setAgentChangeTriggered:()=>{},modelOptions:[],inputToolOptions:{},outputModeOptions:{}})})]},"".concat(n,"-").concat(t.slug)))}),(0,a.jsx)(B.B,{orientation:"horizontal"})]})]}),(0,a.jsxs)("div",{className:"mx-auto ".concat(e.isMobileWidth?"w-full":"w-fit max-w-screen-md"),children:[!e.isMobileWidth&&(0,a.jsx)("div",{className:"w-full ".concat(s().inputBox," shadow-lg bg-background align-middle items-center justify-center px-3 py-1 dark:bg-neutral-700 border-stone-100 dark:border-none dark:shadow-none rounded-2xl"),children:(0,a.jsx)(_.a,{isLoggedIn:e.isLoggedIn,sendMessage:e=>o(e),sendImage:e=>d(t=>[...t,e]),sendDisabled:p,chatOptionsData:e.chatOptionsData,conversationId:null,isMobileWidth:e.isMobileWidth,setUploadedFiles:e.setUploadedFiles,agentColor:null===(t=F.find(e=>e.slug===C))||void 0===t?void 0:t.color,ref:U,setTriggeredAbort:()=>{}})}),(0,a.jsx)("div",{className:"".concat(s().suggestions," w-full ").concat(e.isMobileWidth?"grid":"flex flex-row"," justify-center items-center"),children:m.map((t,n)=>(0,a.jsx)("div",{onClick:n=>{e.isLoggedIn?function(e,t,n){if(!e){let e="";n=n.charAt(0).toLowerCase()+n.slice(1),e="Online Search"===t?"/online "+n:"Paint"===t?"/image "+n:n;let i=document.getElementById("message");i&&(i.value=e,o(e))}}(t.link,t.type,t.description):(n.preventDefault(),n.stopPropagation(),z(!0))},children:(0,a.jsx)(H,{title:t.type,body:t.description,link:t.link,color:t.color},t.type+Math.random())},"".concat(t.type," ").concat(t.description)))}),(0,a.jsx)("div",{className:"flex items-center justify-center margin-auto",children:(0,a.jsxs)("button",{onClick:function(){X()},className:"m-2 p-1.5 rounded-lg dark:hover:bg-[var(--background-color)] hover:bg-stone-100 border border-stone-100 text-sm text-stone-500 dark:text-stone-300 dark:border-neutral-700",children:["More Ideas ",(0,a.jsx)(w,{className:"h-4 w-4 inline"})]})})]}),e.isMobileWidth&&(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)("div",{className:"".concat(s().inputBox," pt-1 shadow-[0_-20px_25px_-5px_rgba(0,0,0,0.1)] dark:bg-neutral-700 bg-background align-middle items-center justify-center pb-3 mx-1 rounded-t-2xl rounded-b-none"),children:[(0,a.jsxs)(B.x,{className:"w-full max-w-[85vw]",children:[(0,a.jsx)("div",{className:"flex gap-2 items-center justify-left pt-1 pb-2 px-12",children:S.map((e,t)=>(0,a.jsx)(x.Zb,{className:"".concat(C===F[t].slug?(0,L.Iu)(F[t].color):"border-muted text-muted-foreground"," hover:cursor-pointer"),children:(0,a.jsxs)(x.ll,{className:"text-center text-xs font-medium flex justify-center items-center whitespace-nowrap px-1.5 py-1",onDoubleClick:()=>Q(F[t].slug),onClick:()=>{var e;A(F[t].slug),null===(e=U.current)||void 0===e||e.focus()},children:[e," ",F[t].name]})},"".concat(t,"-").concat(F[t].slug)))}),(0,a.jsx)(B.B,{orientation:"horizontal"})]}),(0,a.jsx)(_.a,{isLoggedIn:e.isLoggedIn,sendMessage:e=>o(e),sendImage:e=>d(t=>[...t,e]),sendDisabled:p,chatOptionsData:e.chatOptionsData,conversationId:null,isMobileWidth:e.isMobileWidth,setUploadedFiles:e.setUploadedFiles,agentColor:null===(n=F.find(e=>e.slug===C))||void 0===n?void 0:n.color,ref:U,setTriggeredAbort:()=>{}})]})})]})}function U(){let[e,t]=(0,l.useState)(null),[n,i]=(0,l.useState)(!0),[o,r]=(0,l.useState)(null),[c,d]=(0,l.useState)(null),p=(0,D.IC)(),{userConfig:u,isLoadingUserConfig:h}=(0,N.h2)(!0),[g,m]=(0,l.useState)(null),f=(0,N.GW)();return((0,l.useEffect)(()=>{m(u)},[u]),(0,l.useEffect)(()=>{c&&localStorage.setItem("uploadedFiles",JSON.stringify(c))},[c]),(0,l.useEffect)(()=>{fetch("/api/chat/options").then(e=>e.json()).then(e=>{i(!1),e&&t(e)}).catch(e=>{console.error(e)})},[]),n)?(0,a.jsx)(F.Z,{}):(0,a.jsxs)("div",{className:"".concat(s().main," ").concat(s().chatLayout),children:[(0,a.jsx)("title",{children:"Khoj AI - Your Second Brain"}),(0,a.jsx)("div",{className:"".concat(s().sidePanel),children:(0,a.jsx)(I.ZP,{conversationId:o,uploadedFiles:[],isMobileWidth:p})}),(0,a.jsx)("div",{className:"".concat(s().chatBox),children:(0,a.jsx)("div",{className:"".concat(s().chatBoxBody),children:(0,a.jsx)(R,{isLoggedIn:null!==f,chatOptionsData:e,setUploadedFiles:d,isMobileWidth:p,onConversationIdChange:e=>{r(e)},userConfig:g,isLoadingUserConfig:h})})})]})}},16463:function(e,t,n){"use strict";var i=n(71169);n.o(i,"useRouter")&&n.d(t,{useRouter:function(){return i.useRouter}}),n.o(i,"useSearchParams")&&n.d(t,{useSearchParams:function(){return i.useSearchParams}})},58877:function(){},31806:function(e){e.exports={card:"suggestions_card__fbiZo",title:"suggestions_title__vNozc",text:"suggestions_text__J_IfY"}},68518:function(e){e.exports={main:"page_main__nw1Wk",suggestions:"page_suggestions__Y8EqU",inputBox:"page_inputBox__LrcZ4",chatBodyFull:"page_chatBodyFull__Qu2T2",chatBody:"page_chatBody__IirQQ",chatLayout:"page_chatLayout__bJUjP",chatBox:"page_chatBox__gsR6V",titleBar:"page_titleBar__3btUI",chatBoxBody:"page_chatBoxBody__xORKr",homeGreetings:"page_homeGreetings__VjQhh",sidePanel:"page_sidePanel__mxpxa"}}},function(e){e.O(0,[404,4836,9848,9001,3062,3124,3803,5512,2261,4602,1603,9417,8423,1970,2971,7023,1744],function(){return e(e.s=1507)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- div.automations_automationsLayout__Atoh_{display:grid;grid-template-columns:1fr 1fr;gap:1rem}div.automations_automationCard__BKidA{display:grid;grid-template-rows:auto 1fr auto}div.automations_pageLayout__OaoYA{max-width:60vw;margin:auto auto 2rem}div.automations_sidePanel__MPciO{position:fixed;height:100%;z-index:1}@media screen and (max-width:768px){div.automations_automationsLayout__Atoh_{grid-template-columns:1fr}div.automations_pageLayout__OaoYA{max-width:90vw}div.automations_sidePanel__MPciO{position:relative;height:100%}}
@@ -1 +0,0 @@
1
- div.agents_titleBar__FzYbY{padding:16px 0;text-align:left}.agents_agentPersonality__o0Ysz p{white-space:inherit;overflow:hidden;height:77px;line-height:1.5}div.agents_agentPersonality__o0Ysz{text-align:left;grid-column:span 3;overflow:hidden}div.agents_pageLayout__gR3S3{max-width:60vw;margin:auto auto 2rem}div.agents_sidePanel__wGVGc{position:fixed;height:100%;z-index:1}button.agents_infoButton__NqI7E{border:none;background-color:transparent!important;text-align:left;font-family:inherit;font-size:medium}div.agents_agentList__XVx4A{display:grid;gap:20px;padding-top:30px;margin-right:auto;grid-auto-flow:row;grid-template-columns:1fr 1fr;margin-left:auto}@media only screen and (max-width:768px){div.agents_agentList__XVx4A{width:100%;padding:0;margin-right:auto;margin-left:auto;grid-template-columns:1fr}div.agents_pageLayout__gR3S3{max-width:90vw}div.agents_sidePanel__wGVGc{position:relative;height:100%}}div.sidePanel_session__R9wgH{padding:.5rem;margin-bottom:.25rem;border-radius:.5rem;cursor:pointer;max-width:14rem;font-size:medium;display:grid;grid-template-columns:minmax(auto,400px) 1fr;gap:0}div.sidePanel_compressed__YBPtM{grid-template-columns:minmax(12rem,100%) 1fr 1fr}div.sidePanel_sessionHover__iwfo8,div.sidePanel_session__R9wgH:hover{background-color:hsla(var(--popover))}div.sidePanel_session__R9wgH:hover{color:hsla(var(--popover-foreground))}div.sidePanel_session__R9wgH a{text-decoration:none}button.sidePanel_button__ihOfG{border:none;outline:none;background-color:transparent;cursor:pointer;color:var(--main-text-color);width:24px}button.sidePanel_showMoreButton__dt9Zw{border-radius:.5rem;padding:8px}div.sidePanel_panel__VZ8ye{display:flex;flex-direction:column;padding:1rem;overflow-y:auto;max-width:auto;transition:background-color .5s}div.sidePanel_expanded__ZjTHo{gap:1rem;background-color:hsla(var(--muted));height:100%}div.sidePanel_collapsed__OjVmG{display:grid;grid-template-columns:1fr;height:-moz-fit-content;height:fit-content;padding:1rem 0 0 1rem}p.sidePanel_session__R9wgH{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-align:left;font-size:small}div.sidePanel_header__d5cGA{display:grid;grid-template-columns:1fr auto}div.sidePanel_profile__x0w58{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;margin-top:auto}div.sidePanel_panelWrapper__k_lal{display:grid;grid-template-rows:1fr auto auto;height:100%}div.sidePanel_modalSessionsList__nKe2n{position:fixed;top:0;left:0;width:100%;height:100%;background-color:hsla(var(--frosted-background-color));z-index:1;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}div.sidePanel_modalSessionsList__nKe2n div.sidePanel_content__Wq20_{max-width:80%;max-height:80%;background-color:hsla(var(--frosted-background-color));overflow:auto;padding:20px;border-radius:10px}div.sidePanel_modalSessionsList__nKe2n div.sidePanel_session__R9wgH{max-width:100%;text-overflow:ellipsis}@media screen and (max-width:768px){div.sidePanel_panel__VZ8ye{padding:.25rem;width:100%}div.sidePanel_expanded__ZjTHo{z-index:1}div.sidePanel_singleReference__r9z1n{padding:4px}div.sidePanel_panelWrapper__k_lal{width:100%;padding:0 1rem}div.sidePanel_session__R9wgH.sidePanel_compressed__YBPtM{max-width:100%;display:grid;grid-template-columns:70vw auto;justify-content:space-between}div.sidePanel_session__R9wgH{max-width:100%;grid-template-columns:minmax(auto,70vw) 1fr}}menu.navMenu_menu__fqlFF a{text-decoration:none;font-size:medium;font-weight:400;padding:0 4px;border-radius:4px;display:flex;justify-self:center;margin:0;align-items:center;gap:4px}a.navMenu_selected__A__aP{background-color:hsl(var(--accent))}div.navMenu_titleBar__HJoio{display:flex;justify-content:space-between;align-content:space-evenly;align-items:start}div.navMenu_titleBar__HJoio menu{padding:0;margin:0;border-radius:.5rem;display:grid;grid-auto-flow:column;gap:32px}div.navMenu_settingsMenuProfile__3npiK img{border-radius:50%;width:32px;height:32px;margin:0}div.navMenu_settingsMenu__X2i2U{padding:0 4px;border-radius:4px;display:flex;justify-self:center;margin:0;align-items:center}div.navMenu_settingsMenuOptions__KWnLv{display:block;grid-auto-flow:row;position:absolute;background-color:var(--background-color);box-shadow:0 8px 16px 0 rgba(0,0,0,.2);top:64px;text-align:left;padding:8px;border-radius:8px}@media screen and (max-width:600px){menu.navMenu_menu__fqlFF span{display:none}div.navMenu_settingsMenuOptions__KWnLv{right:4px}div.navMenu_titleBar__HJoio{padding:8px}}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{border:1px solid var(--border-color);border-radius:16px;padding:8px 16px;margin:12px}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;max-width:80vw}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}div.chatMessage_khojfullHistory__NPu2l{border-width:1px;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_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,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.chatInputArea_actualInputArea__Ha6cN{display:grid;grid-template-columns:auto 1fr auto auto}.agentCard_agentPersonality__MmRlN p{white-space:inherit;overflow:hidden;height:77px;line-height:1.5}div.agentCard_agentPersonality__MmRlN{text-align:left;grid-column:span 3;overflow:hidden}button.agentCard_infoButton__heh_w{border:none;background-color:transparent!important;text-align:left;font-family:inherit;font-size:medium}div.search_searchLayout__fP3m0{display:grid;grid-template-columns:1fr;gap:1rem;height:100vh}div.search_sidePanel__myfc9{position:fixed;height:100%;z-index:1}@media screen and (max-width:768px){div.search_searchLayout__fP3m0{gap:0}div.search_sidePanel__myfc9{position:relative;height:100%}}