khoj 1.20.5.dev15__py3-none-any.whl → 1.20.5.dev16__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. khoj/configure.py +5 -32
  2. khoj/database/adapters/__init__.py +61 -20
  3. khoj/database/admin.py +4 -2
  4. khoj/database/migrations/0057_remove_serverchatsettings_default_model_and_more.py +51 -0
  5. khoj/database/models/__init__.py +5 -4
  6. khoj/interface/compiled/404/index.html +1 -1
  7. khoj/interface/compiled/_next/static/chunks/{9178-ef3257c08d8973c8.js → 9178-8c339c3aa3c720a7.js} +1 -1
  8. khoj/interface/compiled/_next/static/chunks/app/agents/{page-6ade083d5e27a023.js → page-922694b75f1fb67b.js} +1 -1
  9. khoj/interface/compiled/_next/static/chunks/app/automations/{page-559111e9b97f158d.js → page-d7972645ccb80df1.js} +1 -1
  10. khoj/interface/compiled/_next/static/chunks/app/chat/page-8c9b92236d4daf4b.js +1 -0
  11. khoj/interface/compiled/_next/static/chunks/app/factchecker/{page-6ca723a9ff0dfd70.js → page-60be5e3295e2c0bc.js} +1 -1
  12. khoj/interface/compiled/_next/static/chunks/app/{page-a7e6517e91dde51a.js → page-ef4e7248d37fae41.js} +1 -1
  13. khoj/interface/compiled/_next/static/chunks/app/search/{page-fa15807b1ad7e30b.js → page-dcd385f03255ef36.js} +1 -1
  14. khoj/interface/compiled/_next/static/chunks/app/settings/page-ddcd51147d18c694.js +1 -0
  15. khoj/interface/compiled/_next/static/chunks/app/share/chat/{page-0ae8f5b868af65c1.js → page-699b364dc6fbf139.js} +1 -1
  16. khoj/interface/compiled/_next/static/chunks/{webpack-072d1cbdec7e1782.js → webpack-c6008e79c8ef349d.js} +1 -1
  17. khoj/interface/compiled/_next/static/css/4cae6c0e5c72fb2d.css +1 -0
  18. khoj/interface/compiled/_next/static/css/df6f4c34ec280d53.css +1 -0
  19. khoj/interface/compiled/agents/index.html +1 -1
  20. khoj/interface/compiled/agents/index.txt +2 -2
  21. khoj/interface/compiled/automations/index.html +1 -1
  22. khoj/interface/compiled/automations/index.txt +2 -2
  23. khoj/interface/compiled/chat/index.html +1 -1
  24. khoj/interface/compiled/chat/index.txt +2 -2
  25. khoj/interface/compiled/factchecker/index.html +1 -1
  26. khoj/interface/compiled/factchecker/index.txt +2 -2
  27. khoj/interface/compiled/index.html +1 -1
  28. khoj/interface/compiled/index.txt +2 -2
  29. khoj/interface/compiled/search/index.html +1 -1
  30. khoj/interface/compiled/search/index.txt +2 -2
  31. khoj/interface/compiled/settings/index.html +1 -1
  32. khoj/interface/compiled/settings/index.txt +2 -2
  33. khoj/interface/compiled/share/chat/index.html +1 -1
  34. khoj/interface/compiled/share/chat/index.txt +2 -2
  35. khoj/processor/tools/online_search.py +10 -5
  36. khoj/routers/api_chat.py +19 -9
  37. khoj/routers/helpers.py +28 -12
  38. {khoj-1.20.5.dev15.dist-info → khoj-1.20.5.dev16.dist-info}/METADATA +1 -1
  39. {khoj-1.20.5.dev15.dist-info → khoj-1.20.5.dev16.dist-info}/RECORD +46 -45
  40. khoj/interface/compiled/_next/static/chunks/app/chat/page-37ff98d93e65b5a4.js +0 -1
  41. khoj/interface/compiled/_next/static/chunks/app/settings/page-b0fae6e054ca311e.js +0 -1
  42. khoj/interface/compiled/_next/static/css/2bfe35fbe2c97a56.css +0 -1
  43. khoj/interface/compiled/_next/static/css/592ca99f5122e75a.css +0 -1
  44. /khoj/interface/compiled/_next/static/{K0mF1QxJRVM2LVZZQ_Edc → Ag8X5vKsldGVxyGhiqgw2}/_buildManifest.js +0 -0
  45. /khoj/interface/compiled/_next/static/{K0mF1QxJRVM2LVZZQ_Edc → Ag8X5vKsldGVxyGhiqgw2}/_ssgManifest.js +0 -0
  46. /khoj/interface/compiled/_next/static/chunks/{8423-898d821eaab634af.js → 8423-132ea64eac83fd43.js} +0 -0
  47. /khoj/interface/compiled/_next/static/chunks/{9417-5d14ac74aaab2c66.js → 9417-2e54c6fd056982d8.js} +0 -0
  48. {khoj-1.20.5.dev15.dist-info → khoj-1.20.5.dev16.dist-info}/WHEEL +0 -0
  49. {khoj-1.20.5.dev15.dist-info → khoj-1.20.5.dev16.dist-info}/entry_points.txt +0 -0
  50. {khoj-1.20.5.dev15.dist-info → khoj-1.20.5.dev16.dist-info}/licenses/LICENSE +0 -0
khoj/configure.py CHANGED
@@ -32,10 +32,9 @@ from khoj.database.adapters import (
32
32
  ClientApplicationAdapters,
33
33
  ConversationAdapters,
34
34
  ProcessLockAdapters,
35
- SubscriptionState,
36
35
  aget_or_create_user_by_phone_number,
37
36
  aget_user_by_phone_number,
38
- aget_user_subscription_state,
37
+ ais_user_subscribed,
39
38
  delete_user_requests,
40
39
  get_all_users,
41
40
  get_or_create_search_models,
@@ -119,15 +118,7 @@ class UserAuthenticationBackend(AuthenticationBackend):
119
118
  .afirst()
120
119
  )
121
120
  if user:
122
- if not state.billing_enabled:
123
- return AuthCredentials(["authenticated", "premium"]), AuthenticatedKhojUser(user)
124
-
125
- subscription_state = await aget_user_subscription_state(user)
126
- subscribed = (
127
- subscription_state == SubscriptionState.SUBSCRIBED.value
128
- or subscription_state == SubscriptionState.TRIAL.value
129
- or subscription_state == SubscriptionState.UNSUBSCRIBED.value
130
- )
121
+ subscribed = await ais_user_subscribed(user)
131
122
  if subscribed:
132
123
  return AuthCredentials(["authenticated", "premium"]), AuthenticatedKhojUser(user)
133
124
  return AuthCredentials(["authenticated"]), AuthenticatedKhojUser(user)
@@ -144,15 +135,7 @@ class UserAuthenticationBackend(AuthenticationBackend):
144
135
  .afirst()
145
136
  )
146
137
  if user_with_token:
147
- if not state.billing_enabled:
148
- return AuthCredentials(["authenticated", "premium"]), AuthenticatedKhojUser(user_with_token.user)
149
-
150
- subscription_state = await aget_user_subscription_state(user_with_token.user)
151
- subscribed = (
152
- subscription_state == SubscriptionState.SUBSCRIBED.value
153
- or subscription_state == SubscriptionState.TRIAL.value
154
- or subscription_state == SubscriptionState.UNSUBSCRIBED.value
155
- )
138
+ subscribed = await ais_user_subscribed(user_with_token.user)
156
139
  if subscribed:
157
140
  return AuthCredentials(["authenticated", "premium"]), AuthenticatedKhojUser(user_with_token.user)
158
141
  return AuthCredentials(["authenticated"]), AuthenticatedKhojUser(user_with_token.user)
@@ -189,20 +172,10 @@ class UserAuthenticationBackend(AuthenticationBackend):
189
172
  if user is None:
190
173
  return AuthCredentials(), UnauthenticatedUser()
191
174
 
192
- if not state.billing_enabled:
193
- return AuthCredentials(["authenticated", "premium"]), AuthenticatedKhojUser(user, client_application)
175
+ subscribed = await ais_user_subscribed(user)
194
176
 
195
- subscription_state = await aget_user_subscription_state(user)
196
- subscribed = (
197
- subscription_state == SubscriptionState.SUBSCRIBED.value
198
- or subscription_state == SubscriptionState.TRIAL.value
199
- or subscription_state == SubscriptionState.UNSUBSCRIBED.value
200
- )
201
177
  if subscribed:
202
- return (
203
- AuthCredentials(["authenticated", "premium"]),
204
- AuthenticatedKhojUser(user, client_application),
205
- )
178
+ return AuthCredentials(["authenticated", "premium"]), AuthenticatedKhojUser(user, client_application)
206
179
  return AuthCredentials(["authenticated"]), AuthenticatedKhojUser(user, client_application)
207
180
 
208
181
  # No auth required if server in anonymous mode
@@ -300,6 +300,38 @@ async def aget_user_subscription_state(user: KhojUser) -> str:
300
300
  return subscription_to_state(user_subscription)
301
301
 
302
302
 
303
+ async def ais_user_subscribed(user: KhojUser) -> bool:
304
+ """
305
+ Get whether the user is subscribed
306
+ """
307
+ if not state.billing_enabled or state.anonymous_mode:
308
+ return True
309
+
310
+ subscription_state = await aget_user_subscription_state(user)
311
+ subscribed = (
312
+ subscription_state == SubscriptionState.SUBSCRIBED.value
313
+ or subscription_state == SubscriptionState.TRIAL.value
314
+ or subscription_state == SubscriptionState.UNSUBSCRIBED.value
315
+ )
316
+ return subscribed
317
+
318
+
319
+ def is_user_subscribed(user: KhojUser) -> bool:
320
+ """
321
+ Get whether the user is subscribed
322
+ """
323
+ if not state.billing_enabled or state.anonymous_mode:
324
+ return True
325
+
326
+ subscription_state = get_user_subscription_state(user.email)
327
+ subscribed = (
328
+ subscription_state == SubscriptionState.SUBSCRIBED.value
329
+ or subscription_state == SubscriptionState.TRIAL.value
330
+ or subscription_state == SubscriptionState.UNSUBSCRIBED.value
331
+ )
332
+ return subscribed
333
+
334
+
303
335
  async def get_user_by_email(email: str) -> KhojUser:
304
336
  return await KhojUser.objects.filter(email=email).afirst()
305
337
 
@@ -751,17 +783,23 @@ class ConversationAdapters:
751
783
 
752
784
  @staticmethod
753
785
  def get_conversation_config(user: KhojUser):
786
+ subscribed = is_user_subscribed(user)
787
+ if not subscribed:
788
+ return ConversationAdapters.get_default_conversation_config()
754
789
  config = UserConversationConfig.objects.filter(user=user).first()
755
- if not config:
756
- return None
757
- return config.setting
790
+ if config:
791
+ return config.setting
792
+ return ConversationAdapters.get_advanced_conversation_config()
758
793
 
759
794
  @staticmethod
760
795
  async def aget_conversation_config(user: KhojUser):
796
+ subscribed = await ais_user_subscribed(user)
797
+ if not subscribed:
798
+ return await ConversationAdapters.aget_default_conversation_config()
761
799
  config = await UserConversationConfig.objects.filter(user=user).prefetch_related("setting").afirst()
762
- if not config:
763
- return None
764
- return config.setting
800
+ if config:
801
+ return config.setting
802
+ return ConversationAdapters.aget_advanced_conversation_config()
765
803
 
766
804
  @staticmethod
767
805
  async def aget_voice_model_config(user: KhojUser) -> Optional[VoiceModelOption]:
@@ -784,35 +822,38 @@ class ConversationAdapters:
784
822
  @staticmethod
785
823
  def get_default_conversation_config():
786
824
  server_chat_settings = ServerChatSettings.objects.first()
787
- if server_chat_settings is None or server_chat_settings.default_model is None:
825
+ if server_chat_settings is None or server_chat_settings.chat_default is None:
788
826
  return ChatModelOptions.objects.filter().first()
789
- return server_chat_settings.default_model
827
+ return server_chat_settings.chat_default
790
828
 
791
829
  @staticmethod
792
830
  async def aget_default_conversation_config():
793
831
  server_chat_settings: ServerChatSettings = (
794
832
  await ServerChatSettings.objects.filter()
795
- .prefetch_related("default_model", "default_model__openai_config")
833
+ .prefetch_related("chat_default", "chat_default__openai_config")
796
834
  .afirst()
797
835
  )
798
- if server_chat_settings is None or server_chat_settings.default_model is None:
836
+ if server_chat_settings is None or server_chat_settings.chat_default is None:
799
837
  return await ChatModelOptions.objects.filter().prefetch_related("openai_config").afirst()
800
- return server_chat_settings.default_model
838
+ return server_chat_settings.chat_default
801
839
 
802
840
  @staticmethod
803
- async def aget_summarizer_conversation_config():
841
+ def get_advanced_conversation_config():
842
+ server_chat_settings = ServerChatSettings.objects.first()
843
+ if server_chat_settings is None or server_chat_settings.chat_advanced is None:
844
+ return ConversationAdapters.get_default_conversation_config()
845
+ return server_chat_settings.chat_advanced
846
+
847
+ @staticmethod
848
+ async def aget_advanced_conversation_config():
804
849
  server_chat_settings: ServerChatSettings = (
805
850
  await ServerChatSettings.objects.filter()
806
- .prefetch_related(
807
- "summarizer_model", "default_model", "default_model__openai_config", "summarizer_model__openai_config"
808
- )
851
+ .prefetch_related("chat_advanced", "chat_advanced__openai_config")
809
852
  .afirst()
810
853
  )
811
- if server_chat_settings is None or (
812
- server_chat_settings.summarizer_model is None and server_chat_settings.default_model is None
813
- ):
814
- return await ChatModelOptions.objects.filter().prefetch_related("openai_config").afirst()
815
- return server_chat_settings.summarizer_model or server_chat_settings.default_model
854
+ if server_chat_settings is None or server_chat_settings.chat_advanced is None:
855
+ return await ConversationAdapters.aget_default_conversation_config()
856
+ return server_chat_settings.chat_advanced
816
857
 
817
858
  @staticmethod
818
859
  def create_conversation_from_public_conversation(
khoj/database/admin.py CHANGED
@@ -26,6 +26,7 @@ from khoj.database.models import (
26
26
  SpeechToTextModelOptions,
27
27
  Subscription,
28
28
  TextToImageModelConfig,
29
+ UserConversationConfig,
29
30
  UserSearchModelConfig,
30
31
  UserVoiceModelConfig,
31
32
  VoiceModelOption,
@@ -101,6 +102,7 @@ admin.site.register(GithubConfig)
101
102
  admin.site.register(NotionConfig)
102
103
  admin.site.register(UserVoiceModelConfig)
103
104
  admin.site.register(VoiceModelOption)
105
+ admin.site.register(UserConversationConfig)
104
106
 
105
107
 
106
108
  @admin.register(Agent)
@@ -191,8 +193,8 @@ class SearchModelConfigAdmin(admin.ModelAdmin):
191
193
  @admin.register(ServerChatSettings)
192
194
  class ServerChatSettingsAdmin(admin.ModelAdmin):
193
195
  list_display = (
194
- "default_model",
195
- "summarizer_model",
196
+ "chat_default",
197
+ "chat_advanced",
196
198
  )
197
199
 
198
200
 
@@ -0,0 +1,51 @@
1
+ # Generated by Django 5.0.7 on 2024-08-16 18:18
2
+
3
+ import django.db.models.deletion
4
+ from django.db import migrations, models
5
+
6
+
7
+ class Migration(migrations.Migration):
8
+ dependencies = [
9
+ ("database", "0056_searchmodelconfig_cross_encoder_model_config"),
10
+ ]
11
+
12
+ operations = [
13
+ migrations.RenameField(
14
+ model_name="serverchatsettings",
15
+ old_name="default_model",
16
+ new_name="chat_default",
17
+ ),
18
+ migrations.RemoveField(
19
+ model_name="serverchatsettings",
20
+ name="summarizer_model",
21
+ ),
22
+ migrations.AddField(
23
+ model_name="chatmodeloptions",
24
+ name="subscribed_max_prompt_size",
25
+ field=models.IntegerField(blank=True, default=None, null=True),
26
+ ),
27
+ migrations.AddField(
28
+ model_name="serverchatsettings",
29
+ name="chat_advanced",
30
+ field=models.ForeignKey(
31
+ blank=True,
32
+ default=None,
33
+ null=True,
34
+ on_delete=django.db.models.deletion.CASCADE,
35
+ related_name="chat_advanced",
36
+ to="database.chatmodeloptions",
37
+ ),
38
+ ),
39
+ migrations.AlterField(
40
+ model_name="serverchatsettings",
41
+ name="chat_default",
42
+ field=models.ForeignKey(
43
+ blank=True,
44
+ default=None,
45
+ null=True,
46
+ on_delete=django.db.models.deletion.CASCADE,
47
+ related_name="chat_default",
48
+ to="database.chatmodeloptions",
49
+ ),
50
+ ),
51
+ ]
@@ -89,6 +89,7 @@ class ChatModelOptions(BaseModel):
89
89
  ANTHROPIC = "anthropic"
90
90
 
91
91
  max_prompt_size = models.IntegerField(default=None, null=True, blank=True)
92
+ subscribed_max_prompt_size = models.IntegerField(default=None, null=True, blank=True)
92
93
  tokenizer = models.CharField(max_length=200, default=None, null=True, blank=True)
93
94
  chat_model = models.CharField(max_length=200, default="NousResearch/Hermes-2-Pro-Mistral-7B-GGUF")
94
95
  model_type = models.CharField(max_length=200, choices=ModelType.choices, default=ModelType.OFFLINE)
@@ -205,11 +206,11 @@ class GithubRepoConfig(BaseModel):
205
206
 
206
207
 
207
208
  class ServerChatSettings(BaseModel):
208
- default_model = models.ForeignKey(
209
- ChatModelOptions, on_delete=models.CASCADE, default=None, null=True, blank=True, related_name="default_model"
209
+ chat_default = models.ForeignKey(
210
+ ChatModelOptions, on_delete=models.CASCADE, default=None, null=True, blank=True, related_name="chat_default"
210
211
  )
211
- summarizer_model = models.ForeignKey(
212
- ChatModelOptions, on_delete=models.CASCADE, default=None, null=True, blank=True, related_name="summarizer_model"
212
+ chat_advanced = models.ForeignKey(
213
+ ChatModelOptions, on_delete=models.CASCADE, default=None, null=True, blank=True, related_name="chat_advanced"
213
214
  )
214
215
 
215
216
 
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/0e790e04fd40ad16-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/1538cedb321e3a97.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/9d5b867ec04494a6.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-072d1cbdec7e1782.js"/><script src="/_next/static/chunks/fd9d1056-2b978342deb60015.js" async=""></script><script src="/_next/static/chunks/7023-52c1be60135eb057.js" async=""></script><script src="/_next/static/chunks/main-app-6d6ee3495efe03d4.js" async=""></script><meta http-equiv="Content-Security-Policy" content="default-src &#x27;self&#x27; https://assets.khoj.dev; media-src * blob:; script-src &#x27;self&#x27; https://assets.khoj.dev &#x27;unsafe-inline&#x27; &#x27;unsafe-eval&#x27;; connect-src &#x27;self&#x27; https://ipapi.co/json ws://localhost:42110; style-src &#x27;self&#x27; https://assets.khoj.dev &#x27;unsafe-inline&#x27; https://fonts.googleapis.com; img-src &#x27;self&#x27; data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src &#x27;self&#x27; https://assets.khoj.dev https://fonts.gstatic.com; child-src &#x27;none&#x27;; object-src &#x27;none&#x27;;"/><title>404: This page could not be found.</title><title>Khoj AI - Home</title><meta name="description" content="Your Second Brain."/><link rel="manifest" href="/static/khoj.webmanifest" crossorigin="use-credentials"/><meta property="og:title" content="Khoj AI - Home"/><meta property="og:description" content="Your Second Brain."/><meta property="og:url" content="https://app.khoj.dev/"/><meta property="og:site_name" content="Khoj AI"/><meta property="og:image" content="https://assets.khoj.dev/khoj_lantern_256x256.png"/><meta property="og:image:width" content="256"/><meta property="og:image:height" content="256"/><meta property="og:image" content="https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Khoj AI - Home"/><meta name="twitter:description" content="Your Second Brain."/><meta name="twitter:image" content="https://assets.khoj.dev/khoj_lantern_256x256.png"/><meta name="twitter:image:width" content="256"/><meta name="twitter:image:height" content="256"/><meta name="twitter:image" content="https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/static/assets/icons/khoj_lantern.ico"/><link rel="apple-touch-icon" href="/static/assets/icons/khoj_lantern_256x256.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script></head><body class="__className_90df87"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-072d1cbdec7e1782.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/0e790e04fd40ad16-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/css/1538cedb321e3a97.css\",\"style\"]\n3:HL[\"/_next/static/css/9d5b867ec04494a6.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"4:I[95751,[],\"\"]\n6:I[39275,[],\"\"]\n7:I[61343,[],\"\"]\nd:I[76130,[],\"\"]\n8:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n9:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\na:{\"display\":\"inline-block\"}\nb:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\ne:[]\n"])</script><script>self.__next_f.push([1,"0:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1538cedb321e3a97.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9d5b867ec04494a6.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"buildId\":\"K0mF1QxJRVM2LVZZQ_Edc\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/_not-found/\",\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L5\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]]],null],null]},[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"meta\",null,{\"httpEquiv\":\"Content-Security-Policy\",\"content\":\"default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';\"}],[\"$\",\"body\",null,{\"className\":\"__className_90df87\",\"children\":[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$8\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$9\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$a\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$b\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"styles\":null}]}]]}],null],null],\"couldBeIntercepted\":false,\"initialHead\":[false,\"$Lc\"],\"globalErrorComponent\":\"$d\",\"missingSlots\":\"$We\"}]]\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Khoj AI - Home\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Your Second Brain.\"}],[\"$\",\"link\",\"4\",{\"rel\":\"manifest\",\"href\":\"/static/khoj.webmanifest\",\"crossOrigin\":\"use-credentials\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:title\",\"content\":\"Khoj AI - Home\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:description\",\"content\":\"Your Second Brain.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:url\",\"content\":\"https://app.khoj.dev/\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:site_name\",\"content\":\"Khoj AI\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:width\",\"content\":\"256\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:height\",\"content\":\"256\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:title\",\"content\":\"Khoj AI - Home\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:description\",\"content\":\"Your Second Brain.\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:image:width\",\"content\":\"256\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:image:height\",\"content\":\"256\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"24\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"25\",{\"rel\":\"icon\",\"href\":\"/static/assets/icons/khoj_lantern.ico\"}],[\"$\",\"link\",\"26\",{\"rel\":\"apple-touch-icon\",\"href\":\"/static/assets/icons/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"27\",{\"name\":\"next-size-adjust\"}]]\n"])</script><script>self.__next_f.push([1,"5:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/0e790e04fd40ad16-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/1538cedb321e3a97.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/9d5b867ec04494a6.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-c6008e79c8ef349d.js"/><script src="/_next/static/chunks/fd9d1056-2b978342deb60015.js" async=""></script><script src="/_next/static/chunks/7023-52c1be60135eb057.js" async=""></script><script src="/_next/static/chunks/main-app-6d6ee3495efe03d4.js" async=""></script><meta http-equiv="Content-Security-Policy" content="default-src &#x27;self&#x27; https://assets.khoj.dev; media-src * blob:; script-src &#x27;self&#x27; https://assets.khoj.dev &#x27;unsafe-inline&#x27; &#x27;unsafe-eval&#x27;; connect-src &#x27;self&#x27; https://ipapi.co/json ws://localhost:42110; style-src &#x27;self&#x27; https://assets.khoj.dev &#x27;unsafe-inline&#x27; https://fonts.googleapis.com; img-src &#x27;self&#x27; data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src &#x27;self&#x27; https://assets.khoj.dev https://fonts.gstatic.com; child-src &#x27;none&#x27;; object-src &#x27;none&#x27;;"/><title>404: This page could not be found.</title><title>Khoj AI - Home</title><meta name="description" content="Your Second Brain."/><link rel="manifest" href="/static/khoj.webmanifest" crossorigin="use-credentials"/><meta property="og:title" content="Khoj AI - Home"/><meta property="og:description" content="Your Second Brain."/><meta property="og:url" content="https://app.khoj.dev/"/><meta property="og:site_name" content="Khoj AI"/><meta property="og:image" content="https://assets.khoj.dev/khoj_lantern_256x256.png"/><meta property="og:image:width" content="256"/><meta property="og:image:height" content="256"/><meta property="og:image" content="https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Khoj AI - Home"/><meta name="twitter:description" content="Your Second Brain."/><meta name="twitter:image" content="https://assets.khoj.dev/khoj_lantern_256x256.png"/><meta name="twitter:image:width" content="256"/><meta name="twitter:image:height" content="256"/><meta name="twitter:image" content="https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/static/assets/icons/khoj_lantern.ico"/><link rel="apple-touch-icon" href="/static/assets/icons/khoj_lantern_256x256.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script></head><body class="__className_90df87"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-c6008e79c8ef349d.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/0e790e04fd40ad16-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/css/1538cedb321e3a97.css\",\"style\"]\n3:HL[\"/_next/static/css/9d5b867ec04494a6.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"4:I[95751,[],\"\"]\n6:I[39275,[],\"\"]\n7:I[61343,[],\"\"]\nd:I[76130,[],\"\"]\n8:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n9:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\na:{\"display\":\"inline-block\"}\nb:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\ne:[]\n"])</script><script>self.__next_f.push([1,"0:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1538cedb321e3a97.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9d5b867ec04494a6.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"buildId\":\"Ag8X5vKsldGVxyGhiqgw2\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/_not-found/\",\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L5\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]]],null],null]},[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"meta\",null,{\"httpEquiv\":\"Content-Security-Policy\",\"content\":\"default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';\"}],[\"$\",\"body\",null,{\"className\":\"__className_90df87\",\"children\":[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$8\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$9\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$a\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$b\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"styles\":null}]}]]}],null],null],\"couldBeIntercepted\":false,\"initialHead\":[false,\"$Lc\"],\"globalErrorComponent\":\"$d\",\"missingSlots\":\"$We\"}]]\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Khoj AI - Home\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Your Second Brain.\"}],[\"$\",\"link\",\"4\",{\"rel\":\"manifest\",\"href\":\"/static/khoj.webmanifest\",\"crossOrigin\":\"use-credentials\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:title\",\"content\":\"Khoj AI - Home\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:description\",\"content\":\"Your Second Brain.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:url\",\"content\":\"https://app.khoj.dev/\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:site_name\",\"content\":\"Khoj AI\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:width\",\"content\":\"256\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:height\",\"content\":\"256\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:title\",\"content\":\"Khoj AI - Home\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:description\",\"content\":\"Your Second Brain.\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:image:width\",\"content\":\"256\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:image:height\",\"content\":\"256\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"24\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"25\",{\"rel\":\"icon\",\"href\":\"/static/assets/icons/khoj_lantern.ico\"}],[\"$\",\"link\",\"26\",{\"rel\":\"apple-touch-icon\",\"href\":\"/static/assets/icons/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"27\",{\"name\":\"next-size-adjust\"}]]\n"])</script><script>self.__next_f.push([1,"5:null\n"])</script></body></html>
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9178],{89178:function(e,t,a){"use strict";a.d(t,{H:function(){return Q},Z:function(){return X}});var s=a(57437),n=a(34531),l=a.n(n),r=a(14944),o=a(39952),c=a.n(o),i=a(2265);a(7395);var d=a(26100),h=a(36013),u=a(13304),m=a(12218),g=a(74697),p=a(37440);let f=u.fC,x=u.xz;u.x8;let w=u.h_,j=i.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(u.aV,{className:(0,p.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...n,ref:t})});j.displayName=u.aV.displayName;let y=(0,m.j)("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),b=i.forwardRef((e,t)=>{let{side:a="right",className:n,children:l,...r}=e;return(0,s.jsxs)(w,{children:[(0,s.jsx)(j,{}),(0,s.jsxs)(u.VY,{ref:t,className:(0,p.cn)(y({side:a}),n),...r,children:[l,(0,s.jsxs)(u.x8,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[(0,s.jsx)(g.Z,{className:"h-4 w-4"}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});b.displayName=u.VY.displayName;let N=e=>{let{className:t,...a}=e;return(0,s.jsx)("div",{className:(0,p.cn)("flex flex-col space-y-2 text-center sm:text-left",t),...a})};N.displayName="SheetHeader";let k=i.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(u.Dx,{ref:t,className:(0,p.cn)("text-lg font-semibold text-foreground",a),...n})});k.displayName=u.Dx.displayName;let C=i.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(u.dk,{ref:t,className:(0,p.cn)("text-sm text-muted-foreground",a),...n})});C.displayName=u.dk.displayName;var M=a(19573),v=a(11838),_=a.n(v),R=a(89417);let E=new r.Z({html:!0,linkify:!0,typographer:!0});function T(e){let t=(0,R.L)(e.title||".txt","w-6 h-6 text-muted-foreground inline-flex mr-2"),a=function(e){let t=["org","md","markdown"].includes(e.title.split(".").pop()||"")?e.content.split("\n").slice(1).join("\n"):e.content;return e.showFullContent?_().sanitize(E.render(t)):_().sanitize(t)}(e),[n,l]=(0,i.useState)(!1);return(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)(M.J2,{open:n&&!e.showFullContent,onOpenChange:l,children:[(0,s.jsx)(M.xo,{asChild:!0,children:(0,s.jsxs)(h.Zb,{onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),className:"".concat(e.showFullContent?"w-auto":"w-[200px]"," overflow-hidden break-words text-balance rounded-lg p-2 bg-muted border-none"),children:[(0,s.jsxs)("h3",{className:"".concat(e.showFullContent?"block":"line-clamp-1"," text-muted-foreground}"),children:[t,e.title]}),(0,s.jsx)("p",{className:"".concat(e.showFullContent?"block":"overflow-hidden line-clamp-2"),dangerouslySetInnerHTML:{__html:a}})]})}),(0,s.jsx)(M.yk,{className:"w-[400px] mx-2",children:(0,s.jsxs)(h.Zb,{className:"w-auto overflow-hidden break-words text-balance rounded-lg p-2 border-none",children:[(0,s.jsxs)("h3",{className:"line-clamp-2 text-muted-foreground}",children:[t,e.title]}),(0,s.jsx)("p",{className:"overflow-hidden line-clamp-3",dangerouslySetInnerHTML:{__html:a}})]})})]})})}function L(e){let[t,a]=(0,i.useState)(!1);if(!e.link||e.link.split(" ").length>1)return null;let n="https://www.google.com/s2/favicons?domain=globe",l="unknown";try{l=new URL(e.link).hostname,n="https://www.google.com/s2/favicons?domain=".concat(l)}catch(t){return console.warn("Error parsing domain from link: ".concat(e.link)),null}return(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)(M.J2,{open:t&&!e.showFullContent,onOpenChange:a,children:[(0,s.jsx)(M.xo,{asChild:!0,children:(0,s.jsx)(h.Zb,{onMouseEnter:()=>{a(!0)},onMouseLeave:()=>{a(!1)},className:"".concat(e.showFullContent?"w-auto":"w-[200px]"," overflow-hidden break-words rounded-lg text-balance p-2 bg-muted border-none"),children:(0,s.jsx)("div",{className:"flex flex-col",children:(0,s.jsxs)("a",{href:e.link,target:"_blank",rel:"noreferrer",className:"!no-underline p-2",children:[(0,s.jsxs)("div",{className:"flex items-center",children:[(0,s.jsx)("img",{src:n,alt:"",className:"!w-4 h-4 mr-2"}),(0,s.jsx)("h3",{className:"overflow-hidden ".concat(e.showFullContent?"block":"line-clamp-1"," text-muted-foreground"),children:l})]}),(0,s.jsx)("h3",{className:"overflow-hidden ".concat(e.showFullContent?"block":"line-clamp-1"," font-bold"),children:e.title}),(0,s.jsx)("p",{className:"overflow-hidden ".concat(e.showFullContent?"block":"line-clamp-2"),children:e.description})]})})})}),(0,s.jsx)(M.yk,{className:"w-[400px] mx-2",children:(0,s.jsx)(h.Zb,{className:"w-auto overflow-hidden break-words text-balance rounded-lg border-none",children:(0,s.jsx)("div",{className:"flex flex-col",children:(0,s.jsxs)("a",{href:e.link,target:"_blank",rel:"noreferrer",className:"!no-underline p-2",children:[(0,s.jsxs)("div",{className:"flex items-center",children:[(0,s.jsx)("img",{src:n,alt:"",className:"!w-4 h-4 mr-2"}),(0,s.jsx)("h3",{className:"overflow-hidden ".concat(e.showFullContent?"block":"line-clamp-2"," text-muted-foreground"),children:l})]}),(0,s.jsx)("h3",{className:"overflow-hidden ".concat(e.showFullContent?"block":"line-clamp-2"," font-bold"),children:e.title}),(0,s.jsx)("p",{className:"overflow-hidden ".concat(e.showFullContent?"block":"line-clamp-3"),children:e.description})]})})})})]})})}function D(e){let[t,a]=(0,i.useState)(3);(0,i.useEffect)(()=>{a(e.isMobileWidth?1:3)},[e.isMobileWidth]);let n=e.notesReferenceCardData.slice(0,t),l=n.length<t?e.onlineReferenceCardData.slice(0,t-n.length):[],r=e.notesReferenceCardData.length>0||e.onlineReferenceCardData.length>0,o=e.notesReferenceCardData.length+e.onlineReferenceCardData.length;return 0===o?null:(0,s.jsxs)("div",{className:"pt-0 px-4 pb-4 md:px-6",children:[(0,s.jsxs)("h3",{className:"inline-flex items-center",children:["References",(0,s.jsxs)("p",{className:"text-gray-400 m-2",children:[o," sources"]})]}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-2 w-auto mt-2",children:[n.map((e,t)=>(0,i.createElement)(T,{showFullContent:!1,...e,key:"".concat(e.title,"-").concat(t)})),l.map((e,t)=>(0,i.createElement)(L,{showFullContent:!1,...e,key:"".concat(e.title,"-").concat(t)})),r&&(0,s.jsx)(F,{notesReferenceCardData:e.notesReferenceCardData,onlineReferenceCardData:e.onlineReferenceCardData})]})]})}function F(e){return e.notesReferenceCardData||e.onlineReferenceCardData?(0,s.jsxs)(f,{children:[(0,s.jsxs)(x,{className:"text-balance w-auto md:w-[200px] justify-start overflow-hidden break-words p-0 bg-transparent border-none text-gray-400 align-middle items-center !m-2 inline-flex",children:["View references",(0,s.jsx)(d.o,{className:"m-1"})]}),(0,s.jsxs)(b,{className:"overflow-y-scroll",children:[(0,s.jsxs)(N,{children:[(0,s.jsx)(k,{children:"References"}),(0,s.jsx)(C,{children:"View all references for this response"})]}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-2 w-auto mt-2",children:[e.notesReferenceCardData.map((e,t)=>(0,i.createElement)(T,{showFullContent:!0,...e,key:"".concat(e.title,"-").concat(t)})),e.onlineReferenceCardData.map((e,t)=>(0,i.createElement)(L,{showFullContent:!0,...e,key:"".concat(e.title,"-").concat(t)}))]})]})]}):null}var S=a(34149),B=a(29386),H=a(31784),O=a(60665),A=a(96006),Z=a(18444),q=a(35304),$=a(8589),P=a(63205),W=a(92880),z=a(48408),G=a(67722),I=a(58485),U=a(58575),V=a(25800);let Y=new r.Z({html:!0,linkify:!0,typographer:!0});function J(e,t,a){fetch("/api/chat/feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uquery:e,kquery:t,sentiment:a})})}function K(e){let{uquery:t,kquery:a}=e,[n,r]=(0,i.useState)(null);return(0,i.useEffect)(()=>{null!==n&&setTimeout(()=>{r(null)},2e3)},[n]),(0,s.jsxs)("div",{className:"".concat(l().feedbackButtons," flex align-middle justify-center items-center"),children:[(0,s.jsx)("button",{title:"Like",className:l().thumbsUpButton,disabled:null!==n,onClick:()=>{J(t,a,"positive"),r(!0)},children:!0===n?(0,s.jsx)(S.V,{alt:"Liked Message",className:"text-green-500",weight:"fill"}):(0,s.jsx)(S.V,{alt:"Like Message",className:"hsl(var(--muted-foreground)) hover:text-green-500"})}),(0,s.jsx)("button",{title:"Dislike",className:l().thumbsDownButton,disabled:null!==n,onClick:()=>{J(t,a,"negative"),r(!1)},children:!1===n?(0,s.jsx)(B.L,{alt:"Disliked Message",className:"text-red-500",weight:"fill"}):(0,s.jsx)(B.L,{alt:"Dislike Message",className:"hsl(var(--muted-foreground)) hover:text-red-500"})})]})}function Q(e){let t=e.message.match(/\*\*(.*)\*\*/),a=function(e,t){let a=e.toLowerCase(),n="inline mt-1 mr-2 ".concat(t," h-4 w-4");return a.includes("understanding")?(0,s.jsx)(H.a,{className:"".concat(n)}):a.includes("generating")?(0,s.jsx)(O.Z,{className:"".concat(n)}):a.includes("data sources")||a.includes("notes")?(0,s.jsx)(A.g,{className:"".concat(n)}):a.includes("read")?(0,s.jsx)(Z.f,{className:"".concat(n)}):a.includes("search")?(0,s.jsx)(q.Y,{className:"".concat(n)}):a.includes("summary")||a.includes("summarize")||a.includes("enhanc")?(0,s.jsx)($.u,{className:"".concat(n)}):a.includes("paint")?(0,s.jsx)(P.Y,{className:"".concat(n)}):(0,s.jsx)(H.a,{className:"".concat(n)})}(t?t[1]:"",e.primary?(0,U.oz)(e.agentColor):"text-gray-500"),n=_().sanitize(Y.render(e.message));return(0,s.jsxs)("div",{className:"".concat(l().trainOfThoughtElement," items-center ").concat(e.primary?"text-gray-400":"text-gray-300"," ").concat(l().trainOfThought," ").concat(e.primary?l().primary:""),children:[a,(0,s.jsx)("div",{dangerouslySetInnerHTML:{__html:n}})]})}function X(e){var t,a;let n,r,o,c,d;let[h,u]=(0,i.useState)(!1),[m,g]=(0,i.useState)(!1),[p,f]=(0,i.useState)(""),[x,w]=(0,i.useState)(!1),[j,y]=(0,i.useState)(!1),b=(0,i.useRef)(!1),N=(0,i.useRef)(null);if((0,i.useEffect)(()=>{b.current=j},[j]),(0,i.useEffect)(()=>{let e=new MutationObserver((e,t)=>{if(N.current)for(let t of e)"childList"===t.type&&t.addedNodes.length>0&&(0,V.Z)(N.current,{delimiters:[{left:"$$",right:"$$",display:!0},{left:"\\[",right:"\\]",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1}]})});return N.current&&e.observe(N.current,{childList:!0}),()=>e.disconnect()},[N.current]),(0,i.useEffect)(()=>{var t;let a=e.chatMessage.message;a=a.replace(/\\\(/g,"LEFTPAREN").replace(/\\\)/g,"RIGHTPAREN").replace(/\\\[/g,"LEFTBRACKET").replace(/\\\]/g,"RIGHTBRACKET"),e.chatMessage.intent&&"text-to-image"==e.chatMessage.intent.type?a="![generated image](data:image/png;base64,".concat(a,")"):e.chatMessage.intent&&"text-to-image2"==e.chatMessage.intent.type?a="![generated image](".concat(a,")"):e.chatMessage.intent&&"text-to-image-v3"==e.chatMessage.intent.type&&(a="![generated image](data:image/webp;base64,".concat(a,")")),e.chatMessage.intent&&e.chatMessage.intent.type.includes("text-to-image")&&(null===(t=e.chatMessage.intent["inferred-queries"])||void 0===t?void 0:t.length)>0&&(a+="\n\n**Inferred Query**\n\n".concat(e.chatMessage.intent["inferred-queries"][0]));let s=Y.render(a);s=s.replace(/LEFTPAREN/g,"\\(").replace(/RIGHTPAREN/g,"\\)").replace(/LEFTBRACKET/g,"\\[").replace(/RIGHTBRACKET/g,"\\]"),f(_().sanitize(s))},[e.chatMessage.message,e.chatMessage.intent]),(0,i.useEffect)(()=>{h&&setTimeout(()=>{u(!1)},2e3)},[h]),(0,i.useEffect)(()=>{N.current&&(N.current.querySelectorAll("pre > .hljs").forEach(e=>{let t=document.createElement("button"),a=document.createElement("img");a.src="/static/copy-button.svg",a.alt="Copy",a.width=24,a.height=24,t.appendChild(a),t.className="hljs ".concat(l().codeCopyButton),t.addEventListener("click",()=>{let t=e.textContent||"";t=(t=(t=t.replace(/^\$+/,"")).replace(/^Copy/,"")).trim(),navigator.clipboard.writeText(t),a.src="/static/copy-button-success.svg"}),e.prepend(t)}),console.log("render katex within the chat message"),(0,V.Z)(N.current,{delimiters:[{left:"$$",right:"$$",display:!0},{left:"\\[",right:"\\]",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1}]}))},[p,m,N]),!e.chatMessage.message)return null;async function k(){let t=e.chatMessage.message.match(/[^.!?]+[.!?]*/g)||[];if(!t||0===t.length||!t[0])return;w(!0);let a=C(t[0]);for(let e=0;e<t.length&&!b.current;e++){let s=a;e<t.length-1&&(a=C(t[e+1]));try{let e=await s,t=URL.createObjectURL(e);await function(e){return new Promise((t,a)=>{let s=new Audio(e);s.onended=t,s.onerror=a,s.play()})}(t)}catch(e){console.error("Error:",e);break}}w(!1),y(!1)}async function C(e){let t=await fetch("/api/chat/speech?text=".concat(encodeURIComponent(e)),{method:"POST",headers:{"Content-Type":"application/json"}});if(!t.ok)throw Error("Network response was not ok");return await t.blob()}let M=function(e,t){let a=[],s=[];if(t){let e=[];for(let[a,s]of Object.entries(t)){if(s.answerBox&&e.push({title:s.answerBox.title,description:s.answerBox.answer,link:s.answerBox.source}),s.knowledgeGraph&&e.push({title:s.knowledgeGraph.title,description:s.knowledgeGraph.description,link:s.knowledgeGraph.descriptionLink}),s.webpages){if(s.webpages instanceof Array){let t=s.webpages.map(e=>({title:e.query,description:e.snippet,link:e.link}));e.push(...t)}else{let t=s.webpages;e.push({title:t.query,description:t.snippet,link:t.link})}}if(s.organic){let t=s.organic.map(e=>({title:e.title,description:e.snippet,link:e.link}));e.push(...t)}}a.push(...e)}if(e){let t=e.map(e=>e.compiled?{title:e.file,content:e.compiled}:{title:e.split("\n")[0],content:e.split("\n").slice(1).join("\n")});s.push(...t)}return{notesReferenceCardData:s,onlineReferenceCardData:a}}(e.chatMessage.context,e.chatMessage.onlineContext);return(0,s.jsxs)("div",{className:(t=e.chatMessage,(n=[l().chatMessageContainer,"shadow-md"]).push(l()[t.by]),e.customClassName&&n.push(l()["".concat(t.by).concat(e.customClassName)]),n.join(" ")),onMouseLeave:e=>g(!1),onMouseEnter:e=>g(!0),onClick:"khoj"===e.chatMessage.by?e=>void 0:void 0,children:[(0,s.jsx)("div",{className:(a=e.chatMessage,(r=[l().chatMessageWrapper]).push(l()[a.by]),"khoj"===a.by&&r.push("border-l-4 border-opacity-50 ".concat("border-l-"+e.borderLeftColor)),r.join(" ")),children:(0,s.jsx)("div",{ref:N,className:l().chatMessage,dangerouslySetInnerHTML:{__html:p}})}),(0,s.jsx)("div",{className:l().teaserReferencesContainer,children:(0,s.jsx)(D,{isMobileWidth:e.isMobileWidth,notesReferenceCardData:M.notesReferenceCardData,onlineReferenceCardData:M.onlineReferenceCardData})}),(0,s.jsx)("div",{className:l().chatFooter,children:(m||e.isMobileWidth||e.isLastMessage||x)&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{title:(c=(o=new Date(e.chatMessage.created+"Z")).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0}).toUpperCase(),d=o.toLocaleString("en-US",{year:"numeric",month:"short",day:"2-digit"}).replaceAll("-"," "),"".concat(c," on ").concat(d)),className:"text-gray-400 relative top-0 left-4",children:function(e){e.endsWith("Z")||(e+="Z");let t=new Date(e),a=new Date().getTime()-t.getTime();return a<6e4?"Just now":a<36e5?"".concat(Math.round(a/6e4),"m ago"):a<864e5?"".concat(Math.round(a/36e5),"h ago"):"".concat(Math.round(a/864e5),"d ago")}(e.chatMessage.created)}),(0,s.jsxs)("div",{className:"".concat(l().chatButtons," shadow-sm"),children:["khoj"===e.chatMessage.by&&(x?j?(0,s.jsx)(I.l,{iconClassName:"p-0",className:"m-0"}):(0,s.jsx)("button",{title:"Pause Speech",onClick:e=>y(!0),children:(0,s.jsx)(W.d,{alt:"Pause Message",className:"hsl(var(--muted-foreground))"})}):(0,s.jsx)("button",{title:"Speak",onClick:e=>k(),children:(0,s.jsx)(z.j,{alt:"Speak Message",className:"hsl(var(--muted-foreground)) hover:text-green-500"})})),(0,s.jsx)("button",{title:"Copy",className:"".concat(l().copyButton),onClick:()=>{navigator.clipboard.writeText(e.chatMessage.message),u(!0)},children:h?(0,s.jsx)(G.C,{alt:"Copied Message",weight:"fill",className:"text-green-500"}):(0,s.jsx)(G.C,{alt:"Copy Message",className:"hsl(var(--muted-foreground)) hover:text-green-500"})}),"khoj"===e.chatMessage.by&&(e.chatMessage.intent?(0,s.jsx)(K,{uquery:e.chatMessage.intent.query,kquery:e.chatMessage.message}):(0,s.jsx)(K,{uquery:e.chatMessage.rawQuery||e.chatMessage.message,kquery:e.chatMessage.message}))]})]})})]})}Y.use(c(),{inline:!0,code:!0})},34531:function(e){e.exports={chatMessageContainer:"chatMessage_chatMessageContainer__sAivf",chatMessageWrapper:"chatMessage_chatMessageWrapper__u5m8A",khojfullHistory:"chatMessage_khojfullHistory__NPu2l",youfullHistory:"chatMessage_youfullHistory__ioyfH",you:"chatMessage_you__6GUC4",khoj:"chatMessage_khoj__cjWON",khojChatMessage:"chatMessage_khojChatMessage__BabQz",author:"chatMessage_author__muRtC",chatFooter:"chatMessage_chatFooter__0vR8s",chatButtons:"chatMessage_chatButtons__Lbk8T",codeCopyButton:"chatMessage_codeCopyButton__Y_Ujv",feedbackButtons:"chatMessage_feedbackButtons___Brdy",copyButton:"chatMessage_copyButton__jd7q7",trainOfThought:"chatMessage_trainOfThought__mR2Gg",primary:"chatMessage_primary__WYPEb",trainOfThoughtElement:"chatMessage_trainOfThoughtElement__le_bC"}}}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9178],{89178:function(e,t,a){"use strict";a.d(t,{H:function(){return Q},Z:function(){return X}});var s=a(57437),n=a(34531),l=a.n(n),r=a(14944),o=a(39952),c=a.n(o),i=a(2265);a(7395);var d=a(26100),h=a(36013),u=a(13304),m=a(12218),g=a(74697),p=a(37440);let f=u.fC,x=u.xz;u.x8;let w=u.h_,j=i.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(u.aV,{className:(0,p.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...n,ref:t})});j.displayName=u.aV.displayName;let y=(0,m.j)("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),b=i.forwardRef((e,t)=>{let{side:a="right",className:n,children:l,...r}=e;return(0,s.jsxs)(w,{children:[(0,s.jsx)(j,{}),(0,s.jsxs)(u.VY,{ref:t,className:(0,p.cn)(y({side:a}),n),...r,children:[l,(0,s.jsxs)(u.x8,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[(0,s.jsx)(g.Z,{className:"h-4 w-4"}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});b.displayName=u.VY.displayName;let N=e=>{let{className:t,...a}=e;return(0,s.jsx)("div",{className:(0,p.cn)("flex flex-col space-y-2 text-center sm:text-left",t),...a})};N.displayName="SheetHeader";let k=i.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(u.Dx,{ref:t,className:(0,p.cn)("text-lg font-semibold text-foreground",a),...n})});k.displayName=u.Dx.displayName;let C=i.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(u.dk,{ref:t,className:(0,p.cn)("text-sm text-muted-foreground",a),...n})});C.displayName=u.dk.displayName;var M=a(19573),v=a(11838),_=a.n(v),R=a(89417);let E=new r.Z({html:!0,linkify:!0,typographer:!0});function T(e){let t=(0,R.L)(e.title||".txt","w-6 h-6 text-muted-foreground inline-flex mr-2"),a=function(e){let t=["org","md","markdown"].includes(e.title.split(".").pop()||"")?e.content.split("\n").slice(1).join("\n"):e.content;return e.showFullContent?_().sanitize(E.render(t)):_().sanitize(t)}(e),[n,l]=(0,i.useState)(!1);return(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)(M.J2,{open:n&&!e.showFullContent,onOpenChange:l,children:[(0,s.jsx)(M.xo,{asChild:!0,children:(0,s.jsxs)(h.Zb,{onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),className:"".concat(e.showFullContent?"w-auto":"w-[200px]"," overflow-hidden break-words text-balance rounded-lg p-2 bg-muted border-none"),children:[(0,s.jsxs)("h3",{className:"".concat(e.showFullContent?"block":"line-clamp-1"," text-muted-foreground}"),children:[t,e.title]}),(0,s.jsx)("p",{className:"".concat(e.showFullContent?"block":"overflow-hidden line-clamp-2"),dangerouslySetInnerHTML:{__html:a}})]})}),(0,s.jsx)(M.yk,{className:"w-[400px] mx-2",children:(0,s.jsxs)(h.Zb,{className:"w-auto overflow-hidden break-words text-balance rounded-lg p-2 border-none",children:[(0,s.jsxs)("h3",{className:"line-clamp-2 text-muted-foreground}",children:[t,e.title]}),(0,s.jsx)("p",{className:"overflow-hidden line-clamp-3",dangerouslySetInnerHTML:{__html:a}})]})})]})})}function L(e){let[t,a]=(0,i.useState)(!1);if(!e.link||e.link.split(" ").length>1)return null;let n="https://www.google.com/s2/favicons?domain=globe",l="unknown";try{l=new URL(e.link).hostname,n="https://www.google.com/s2/favicons?domain=".concat(l)}catch(t){return console.warn("Error parsing domain from link: ".concat(e.link)),null}return(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)(M.J2,{open:t&&!e.showFullContent,onOpenChange:a,children:[(0,s.jsx)(M.xo,{asChild:!0,children:(0,s.jsx)(h.Zb,{onMouseEnter:()=>{a(!0)},onMouseLeave:()=>{a(!1)},className:"".concat(e.showFullContent?"w-auto":"w-[200px]"," overflow-hidden break-words rounded-lg text-balance p-2 bg-muted border-none"),children:(0,s.jsx)("div",{className:"flex flex-col",children:(0,s.jsxs)("a",{href:e.link,target:"_blank",rel:"noreferrer",className:"!no-underline p-2",children:[(0,s.jsxs)("div",{className:"flex items-center",children:[(0,s.jsx)("img",{src:n,alt:"",className:"!w-4 h-4 mr-2"}),(0,s.jsx)("h3",{className:"overflow-hidden ".concat(e.showFullContent?"block":"line-clamp-1"," text-muted-foreground"),children:l})]}),(0,s.jsx)("h3",{className:"overflow-hidden ".concat(e.showFullContent?"block":"line-clamp-1"," font-bold"),children:e.title}),(0,s.jsx)("p",{className:"overflow-hidden ".concat(e.showFullContent?"block":"line-clamp-2"),children:e.description})]})})})}),(0,s.jsx)(M.yk,{className:"w-[400px] mx-2",children:(0,s.jsx)(h.Zb,{className:"w-auto overflow-hidden break-words text-balance rounded-lg border-none",children:(0,s.jsx)("div",{className:"flex flex-col",children:(0,s.jsxs)("a",{href:e.link,target:"_blank",rel:"noreferrer",className:"!no-underline p-2",children:[(0,s.jsxs)("div",{className:"flex items-center",children:[(0,s.jsx)("img",{src:n,alt:"",className:"!w-4 h-4 mr-2"}),(0,s.jsx)("h3",{className:"overflow-hidden ".concat(e.showFullContent?"block":"line-clamp-2"," text-muted-foreground"),children:l})]}),(0,s.jsx)("h3",{className:"overflow-hidden ".concat(e.showFullContent?"block":"line-clamp-2"," font-bold"),children:e.title}),(0,s.jsx)("p",{className:"overflow-hidden ".concat(e.showFullContent?"block":"line-clamp-3"),children:e.description})]})})})})]})})}function D(e){let[t,a]=(0,i.useState)(3);(0,i.useEffect)(()=>{a(e.isMobileWidth?1:3)},[e.isMobileWidth]);let n=e.notesReferenceCardData.slice(0,t),l=n.length<t?e.onlineReferenceCardData.slice(0,t-n.length):[],r=e.notesReferenceCardData.length>0||e.onlineReferenceCardData.length>0,o=e.notesReferenceCardData.length+e.onlineReferenceCardData.length;return 0===o?null:(0,s.jsxs)("div",{className:"pt-0 px-4 pb-4 md:px-6",children:[(0,s.jsxs)("h3",{className:"inline-flex items-center",children:["References",(0,s.jsxs)("p",{className:"text-gray-400 m-2",children:[o," sources"]})]}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-2 w-auto mt-2",children:[n.map((e,t)=>(0,i.createElement)(T,{showFullContent:!1,...e,key:"".concat(e.title,"-").concat(t)})),l.map((e,t)=>(0,i.createElement)(L,{showFullContent:!1,...e,key:"".concat(e.title,"-").concat(t)})),r&&(0,s.jsx)(F,{notesReferenceCardData:e.notesReferenceCardData,onlineReferenceCardData:e.onlineReferenceCardData})]})]})}function F(e){return e.notesReferenceCardData||e.onlineReferenceCardData?(0,s.jsxs)(f,{children:[(0,s.jsxs)(x,{className:"text-balance w-auto md:w-[200px] justify-start overflow-hidden break-words p-0 bg-transparent border-none text-gray-400 align-middle items-center !m-2 inline-flex",children:["View references",(0,s.jsx)(d.o,{className:"m-1"})]}),(0,s.jsxs)(b,{className:"overflow-y-scroll",children:[(0,s.jsxs)(N,{children:[(0,s.jsx)(k,{children:"References"}),(0,s.jsx)(C,{children:"View all references for this response"})]}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-2 w-auto mt-2",children:[e.notesReferenceCardData.map((e,t)=>(0,i.createElement)(T,{showFullContent:!0,...e,key:"".concat(e.title,"-").concat(t)})),e.onlineReferenceCardData.map((e,t)=>(0,i.createElement)(L,{showFullContent:!0,...e,key:"".concat(e.title,"-").concat(t)}))]})]})]}):null}var S=a(34149),B=a(29386),H=a(31784),O=a(60665),A=a(96006),Z=a(18444),q=a(35304),$=a(8589),P=a(63205),W=a(92880),z=a(48408),G=a(67722),I=a(58485),U=a(58575),V=a(25800);let Y=new r.Z({html:!0,linkify:!0,typographer:!0});function J(e,t,a){fetch("/api/chat/feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uquery:e,kquery:t,sentiment:a})})}function K(e){let{uquery:t,kquery:a}=e,[n,r]=(0,i.useState)(null);return(0,i.useEffect)(()=>{null!==n&&setTimeout(()=>{r(null)},2e3)},[n]),(0,s.jsxs)("div",{className:"".concat(l().feedbackButtons," flex align-middle justify-center items-center"),children:[(0,s.jsx)("button",{title:"Like",className:l().thumbsUpButton,disabled:null!==n,onClick:()=>{J(t,a,"positive"),r(!0)},children:!0===n?(0,s.jsx)(S.V,{alt:"Liked Message",className:"text-green-500",weight:"fill"}):(0,s.jsx)(S.V,{alt:"Like Message",className:"hsl(var(--muted-foreground)) hover:text-green-500"})}),(0,s.jsx)("button",{title:"Dislike",className:l().thumbsDownButton,disabled:null!==n,onClick:()=>{J(t,a,"negative"),r(!1)},children:!1===n?(0,s.jsx)(B.L,{alt:"Disliked Message",className:"text-red-500",weight:"fill"}):(0,s.jsx)(B.L,{alt:"Dislike Message",className:"hsl(var(--muted-foreground)) hover:text-red-500"})})]})}function Q(e){let t=e.message.match(/\*\*(.*)\*\*/),a=function(e,t){let a=e.toLowerCase(),n="inline mt-1 mr-2 ".concat(t," h-4 w-4");return a.includes("understanding")?(0,s.jsx)(H.a,{className:"".concat(n)}):a.includes("generating")?(0,s.jsx)(O.Z,{className:"".concat(n)}):a.includes("data sources")||a.includes("notes")?(0,s.jsx)(A.g,{className:"".concat(n)}):a.includes("read")?(0,s.jsx)(Z.f,{className:"".concat(n)}):a.includes("search")?(0,s.jsx)(q.Y,{className:"".concat(n)}):a.includes("summary")||a.includes("summarize")||a.includes("enhanc")?(0,s.jsx)($.u,{className:"".concat(n)}):a.includes("paint")?(0,s.jsx)(P.Y,{className:"".concat(n)}):(0,s.jsx)(H.a,{className:"".concat(n)})}(t?t[1]:"",e.primary?(0,U.oz)(e.agentColor):"text-gray-500"),n=_().sanitize(Y.render(e.message));return(0,s.jsxs)("div",{className:"".concat(l().trainOfThoughtElement," items-center ").concat(e.primary?"text-gray-400":"text-gray-300"," ").concat(l().trainOfThought," ").concat(e.primary?l().primary:""),children:[a,(0,s.jsx)("div",{dangerouslySetInnerHTML:{__html:n}})]})}function X(e){var t,a;let n,r,o,c,d;let[h,u]=(0,i.useState)(!1),[m,g]=(0,i.useState)(!1),[p,f]=(0,i.useState)(""),[x,w]=(0,i.useState)(!1),[j,y]=(0,i.useState)(!1),b=(0,i.useRef)(!1),N=(0,i.useRef)(null);if((0,i.useEffect)(()=>{b.current=j},[j]),(0,i.useEffect)(()=>{let e=new MutationObserver((e,t)=>{if(N.current)for(let t of e)"childList"===t.type&&t.addedNodes.length>0&&(0,V.Z)(N.current,{delimiters:[{left:"$$",right:"$$",display:!0},{left:"\\[",right:"\\]",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1}]})});return N.current&&e.observe(N.current,{childList:!0}),()=>e.disconnect()},[N.current]),(0,i.useEffect)(()=>{var t;let a=e.chatMessage.message;a=a.replace(/\\\(/g,"LEFTPAREN").replace(/\\\)/g,"RIGHTPAREN").replace(/\\\[/g,"LEFTBRACKET").replace(/\\\]/g,"RIGHTBRACKET"),e.chatMessage.intent&&"text-to-image"==e.chatMessage.intent.type?a="![generated image](data:image/png;base64,".concat(a,")"):e.chatMessage.intent&&"text-to-image2"==e.chatMessage.intent.type?a="![generated image](".concat(a,")"):e.chatMessage.intent&&"text-to-image-v3"==e.chatMessage.intent.type&&(a="![generated image](data:image/webp;base64,".concat(a,")")),e.chatMessage.intent&&e.chatMessage.intent.type.includes("text-to-image")&&(null===(t=e.chatMessage.intent["inferred-queries"])||void 0===t?void 0:t.length)>0&&(a+="\n\n**Inferred Query**\n\n".concat(e.chatMessage.intent["inferred-queries"][0]));let s=Y.render(a);s=s.replace(/LEFTPAREN/g,"\\(").replace(/RIGHTPAREN/g,"\\)").replace(/LEFTBRACKET/g,"\\[").replace(/RIGHTBRACKET/g,"\\]"),f(_().sanitize(s))},[e.chatMessage.message,e.chatMessage.intent]),(0,i.useEffect)(()=>{h&&setTimeout(()=>{u(!1)},2e3)},[h]),(0,i.useEffect)(()=>{N.current&&(N.current.querySelectorAll("pre > .hljs").forEach(e=>{let t=document.createElement("button"),a=document.createElement("img");a.src="/static/copy-button.svg",a.alt="Copy",a.width=24,a.height=24,t.appendChild(a),t.className="hljs ".concat(l().codeCopyButton),t.addEventListener("click",()=>{let t=e.textContent||"";t=(t=(t=t.replace(/^\$+/,"")).replace(/^Copy/,"")).trim(),navigator.clipboard.writeText(t),a.src="/static/copy-button-success.svg"}),e.prepend(t)}),(0,V.Z)(N.current,{delimiters:[{left:"$$",right:"$$",display:!0},{left:"\\[",right:"\\]",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1}]}))},[p,m,N]),!e.chatMessage.message)return null;async function k(){let t=e.chatMessage.message.match(/[^.!?]+[.!?]*/g)||[];if(!t||0===t.length||!t[0])return;w(!0);let a=C(t[0]);for(let e=0;e<t.length&&!b.current;e++){let s=a;e<t.length-1&&(a=C(t[e+1]));try{let e=await s,t=URL.createObjectURL(e);await function(e){return new Promise((t,a)=>{let s=new Audio(e);s.onended=t,s.onerror=a,s.play()})}(t)}catch(e){console.error("Error:",e);break}}w(!1),y(!1)}async function C(e){let t=await fetch("/api/chat/speech?text=".concat(encodeURIComponent(e)),{method:"POST",headers:{"Content-Type":"application/json"}});if(!t.ok)throw Error("Network response was not ok");return await t.blob()}let M=function(e,t){let a=[],s=[];if(t){let e=[];for(let[a,s]of Object.entries(t)){if(s.answerBox&&e.push({title:s.answerBox.title,description:s.answerBox.answer,link:s.answerBox.source}),s.knowledgeGraph&&e.push({title:s.knowledgeGraph.title,description:s.knowledgeGraph.description,link:s.knowledgeGraph.descriptionLink}),s.webpages){if(s.webpages instanceof Array){let t=s.webpages.map(e=>({title:e.query,description:e.snippet,link:e.link}));e.push(...t)}else{let t=s.webpages;e.push({title:t.query,description:t.snippet,link:t.link})}}if(s.organic){let t=s.organic.map(e=>({title:e.title,description:e.snippet,link:e.link}));e.push(...t)}}a.push(...e)}if(e){let t=e.map(e=>e.compiled?{title:e.file,content:e.compiled}:{title:e.split("\n")[0],content:e.split("\n").slice(1).join("\n")});s.push(...t)}return{notesReferenceCardData:s,onlineReferenceCardData:a}}(e.chatMessage.context,e.chatMessage.onlineContext);return(0,s.jsxs)("div",{className:(t=e.chatMessage,(n=[l().chatMessageContainer,"shadow-md"]).push(l()[t.by]),e.customClassName&&n.push(l()["".concat(t.by).concat(e.customClassName)]),n.join(" ")),onMouseLeave:e=>g(!1),onMouseEnter:e=>g(!0),onClick:"khoj"===e.chatMessage.by?e=>void 0:void 0,children:[(0,s.jsx)("div",{className:(a=e.chatMessage,(r=[l().chatMessageWrapper]).push(l()[a.by]),"khoj"===a.by&&r.push("border-l-4 border-opacity-50 ".concat("border-l-"+e.borderLeftColor)),r.join(" ")),children:(0,s.jsx)("div",{ref:N,className:l().chatMessage,dangerouslySetInnerHTML:{__html:p}})}),(0,s.jsx)("div",{className:l().teaserReferencesContainer,children:(0,s.jsx)(D,{isMobileWidth:e.isMobileWidth,notesReferenceCardData:M.notesReferenceCardData,onlineReferenceCardData:M.onlineReferenceCardData})}),(0,s.jsx)("div",{className:l().chatFooter,children:(m||e.isMobileWidth||e.isLastMessage||x)&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{title:(c=(o=new Date(e.chatMessage.created+"Z")).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0}).toUpperCase(),d=o.toLocaleString("en-US",{year:"numeric",month:"short",day:"2-digit"}).replaceAll("-"," "),"".concat(c," on ").concat(d)),className:"text-gray-400 relative top-0 left-4",children:function(e){e.endsWith("Z")||(e+="Z");let t=new Date(e),a=new Date().getTime()-t.getTime();return a<6e4?"Just now":a<36e5?"".concat(Math.round(a/6e4),"m ago"):a<864e5?"".concat(Math.round(a/36e5),"h ago"):"".concat(Math.round(a/864e5),"d ago")}(e.chatMessage.created)}),(0,s.jsxs)("div",{className:"".concat(l().chatButtons," shadow-sm"),children:["khoj"===e.chatMessage.by&&(x?j?(0,s.jsx)(I.l,{iconClassName:"p-0",className:"m-0"}):(0,s.jsx)("button",{title:"Pause Speech",onClick:e=>y(!0),children:(0,s.jsx)(W.d,{alt:"Pause Message",className:"hsl(var(--muted-foreground))"})}):(0,s.jsx)("button",{title:"Speak",onClick:e=>k(),children:(0,s.jsx)(z.j,{alt:"Speak Message",className:"hsl(var(--muted-foreground)) hover:text-green-500"})})),(0,s.jsx)("button",{title:"Copy",className:"".concat(l().copyButton),onClick:()=>{navigator.clipboard.writeText(e.chatMessage.message),u(!0)},children:h?(0,s.jsx)(G.C,{alt:"Copied Message",weight:"fill",className:"text-green-500"}):(0,s.jsx)(G.C,{alt:"Copy Message",className:"hsl(var(--muted-foreground)) hover:text-green-500"})}),"khoj"===e.chatMessage.by&&(e.chatMessage.intent?(0,s.jsx)(K,{uquery:e.chatMessage.intent.query,kquery:e.chatMessage.message}):(0,s.jsx)(K,{uquery:e.chatMessage.rawQuery||e.chatMessage.message,kquery:e.chatMessage.message}))]})]})})]})}Y.use(c(),{inline:!0,code:!0})},34531:function(e){e.exports={chatMessageContainer:"chatMessage_chatMessageContainer__sAivf",chatMessageWrapper:"chatMessage_chatMessageWrapper__u5m8A",khojfullHistory:"chatMessage_khojfullHistory__NPu2l",youfullHistory:"chatMessage_youfullHistory__ioyfH",you:"chatMessage_you__6GUC4",khoj:"chatMessage_khoj__cjWON",khojChatMessage:"chatMessage_khojChatMessage__BabQz",author:"chatMessage_author__muRtC",chatFooter:"chatMessage_chatFooter__0vR8s",chatButtons:"chatMessage_chatButtons__Lbk8T",codeCopyButton:"chatMessage_codeCopyButton__Y_Ujv",feedbackButtons:"chatMessage_feedbackButtons___Brdy",copyButton:"chatMessage_copyButton__jd7q7",trainOfThought:"chatMessage_trainOfThought__mR2Gg",primary:"chatMessage_primary__WYPEb",trainOfThoughtElement:"chatMessage_trainOfThoughtElement__le_bC"}}}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9718],{1813:function(e,a,t){Promise.resolve().then(t.bind(t,87529))},87529:function(e,a,t){"use strict";t.r(a),t.d(a,{default:function(){return R}});var n=t(57437),r=t(15283),l=t.n(r),s=t(66648),o=t(29039),c=t(2265),i=t(79306),d=t(50495),h=t(19666),u=t(52195);let m=new Map([["bold",c.createElement(c.Fragment,null,c.createElement("path",{d:"M230.14,25.86a20,20,0,0,0-19.57-5.11l-.22.07L18.44,79a20,20,0,0,0-3.06,37.25L99,157l40.71,83.65a19.81,19.81,0,0,0,18,11.38c.57,0,1.15,0,1.73-.07A19.82,19.82,0,0,0,177,237.56L235.18,45.65a1.42,1.42,0,0,0,.07-.22A20,20,0,0,0,230.14,25.86ZM156.91,221.07l-34.37-70.64,46-45.95a12,12,0,0,0-17-17l-46,46L34.93,99.09,210,46Z"}))],["duotone",c.createElement(c.Fragment,null,c.createElement("path",{d:"M223.69,42.18l-58.22,192a8,8,0,0,1-14.92,1.25L108,148,20.58,105.45a8,8,0,0,1,1.25-14.92l192-58.22A8,8,0,0,1,223.69,42.18Z",opacity:"0.2"}),c.createElement("path",{d:"M227.32,28.68a16,16,0,0,0-15.66-4.08l-.15,0L19.57,82.84a16,16,0,0,0-2.49,29.8L102,154l41.3,84.87A15.86,15.86,0,0,0,157.74,248q.69,0,1.38-.06a15.88,15.88,0,0,0,14-11.51l58.2-191.94c0-.05,0-.1,0-.15A16,16,0,0,0,227.32,28.68ZM157.83,231.85l-.05.14,0-.07-40.06-82.3,48-48a8,8,0,0,0-11.31-11.31l-48,48L24.08,98.25l-.07,0,.14,0L216,40Z"}))],["fill",c.createElement(c.Fragment,null,c.createElement("path",{d:"M231.4,44.34s0,.1,0,.15l-58.2,191.94a15.88,15.88,0,0,1-14,11.51q-.69.06-1.38.06a15.86,15.86,0,0,1-14.42-9.15L107,164.15a4,4,0,0,1,.77-4.58l57.92-57.92a8,8,0,0,0-11.31-11.31L96.43,148.26a4,4,0,0,1-4.58.77L17.08,112.64a16,16,0,0,1,2.49-29.8l191.94-58.2.15,0A16,16,0,0,1,231.4,44.34Z"}))],["light",c.createElement(c.Fragment,null,c.createElement("path",{d:"M225.88,30.12a13.83,13.83,0,0,0-13.7-3.58l-.11,0L20.14,84.77A14,14,0,0,0,18,110.85l85.56,41.64L145.12,238a13.87,13.87,0,0,0,12.61,8c.4,0,.81,0,1.21-.05a13.9,13.9,0,0,0,12.29-10.09l58.2-191.93,0-.11A13.83,13.83,0,0,0,225.88,30.12Zm-8,10.4L159.73,232.43l0,.11a2,2,0,0,1-3.76.26l-40.68-83.58,49-49a6,6,0,1,0-8.49-8.49l-49,49L23.15,100a2,2,0,0,1,.31-3.74l.11,0L215.48,38.08a1.94,1.94,0,0,1,1.92.52A2,2,0,0,1,217.92,40.52Z"}))],["regular",c.createElement(c.Fragment,null,c.createElement("path",{d:"M227.32,28.68a16,16,0,0,0-15.66-4.08l-.15,0L19.57,82.84a16,16,0,0,0-2.49,29.8L102,154l41.3,84.87A15.86,15.86,0,0,0,157.74,248q.69,0,1.38-.06a15.88,15.88,0,0,0,14-11.51l58.2-191.94c0-.05,0-.1,0-.15A16,16,0,0,0,227.32,28.68ZM157.83,231.85l-.05.14,0-.07-40.06-82.3,48-48a8,8,0,0,0-11.31-11.31l-48,48L24.08,98.25l-.07,0,.14,0L216,40Z"}))],["thin",c.createElement(c.Fragment,null,c.createElement("path",{d:"M224.47,31.52a11.87,11.87,0,0,0-11.82-3L20.74,86.67a12,12,0,0,0-1.91,22.38L105,151l41.92,86.15A11.88,11.88,0,0,0,157.74,244c.34,0,.69,0,1,0a11.89,11.89,0,0,0,10.52-8.63l58.21-192,0-.08A11.85,11.85,0,0,0,224.47,31.52Zm-4.62,9.54-58.23,192a4,4,0,0,1-7.48.59l-41.3-84.86,50-50a4,4,0,1,0-5.66-5.66l-50,50-84.9-41.31a3.88,3.88,0,0,1-2.27-4,3.93,3.93,0,0,1,3-3.54L214.9,36.16A3.93,3.93,0,0,1,216,36a4,4,0,0,1,2.79,1.19A3.93,3.93,0,0,1,219.85,41.06Z"}))]]);var g=Object.defineProperty,p=Object.defineProperties,f=Object.getOwnPropertyDescriptors,x=Object.getOwnPropertySymbols,j=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,b=(e,a,t)=>a in e?g(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t,w=(e,a)=>{for(var t in a||(a={}))j.call(a,t)&&b(e,t,a[t]);if(x)for(var t of x(a))v.call(a,t)&&b(e,t,a[t]);return e},y=(e,a)=>p(e,f(a));let N=(0,c.forwardRef)((e,a)=>c.createElement(u.Z,y(w({ref:a},e),{weights:m})));N.displayName="PaperPlaneTilt";var L=t(35418),E=t(64945),Z=t(36013),A=t(90837),O=t(7951),M=t(66820),k=t(58485),P=t(48861),_=t(89417),F=t(58575),z=t(47412),C=t(69591);async function V(e,a){let t="/login?next=/agents?agent=".concat(e);if(!a){window.location.href=t;return}let n=await fetch("/api/chat/sessions?agent_slug=".concat(e),{method:"POST"}),r=await n.json();200==n.status?window.location.href="/chat?conversationId=".concat(r.conversation_id):403==n.status||401==n.status?window.location.href=t:alert("Failed to start chat session")}let S=()=>window.fetch("/api/agents").then(e=>e.json()).catch(e=>console.log(e));function H(e){let a=new URLSearchParams(window.location.search).get("agent"),[t,r]=(0,c.useState)(a===e.data.slug),[o,i]=(0,c.useState)(!1),h=e.userProfile;t&&window.history.pushState({},"Khoj AI - Agent ".concat(e.data.slug),"/agents?agent=".concat(e.data.slug));let u=(0,F.oz)(e.data.color);return(0,n.jsxs)(Z.Zb,{className:"shadow-sm bg-gradient-to-b from-white 20% to-".concat(e.data.color?e.data.color:"gray","-100/50 dark:from-[hsl(var(--background))] dark:to-").concat(e.data.color?e.data.color:"gray","-950/50 rounded-xl hover:shadow-md"),children:[o&&(0,n.jsx)(M.Z,{loginRedirectMessage:"Sign in to start chatting with ".concat(e.data.name),onOpenChange:i}),(0,n.jsx)(Z.Ol,{children:(0,n.jsx)(Z.ll,{children:e.isMobileWidth?(0,n.jsxs)(O.dy,{open:t,onOpenChange:e=>{r(e),window.history.pushState({},"Khoj AI - Agents","/agents")},children:[(0,n.jsx)(O.Qz,{children:(0,n.jsxs)("div",{className:"flex items-center",children:[(0,_.T)(e.data.icon,e.data.color)||(0,n.jsx)(s.default,{src:e.data.avatar,alt:e.data.name,width:50,height:50}),e.data.name]})}),(0,n.jsx)("div",{className:"float-right",children:e.userProfile?(0,n.jsx)(d.z,{className:"bg-[hsl(var(--background))] w-14 h-14 rounded-xl border dark:border-neutral-700 shadow-sm hover:bg-stone-100",onClick:()=>V(e.data.slug,h),children:(0,n.jsx)(N,{className:"w-6 h-6 ".concat((0,F.oz)(e.data.color))})}):(0,n.jsx)(d.z,{className:"bg-[hsl(var(--background))] w-14 h-14 rounded-xl border dark:border-neutral-700 shadow-sm",onClick:()=>i(!0),children:(0,n.jsx)(N,{className:"w-6 h-6 ".concat((0,F.oz)(e.data.color))})})}),(0,n.jsxs)(O.sc,{className:"whitespace-pre-line p-2",children:[(0,n.jsxs)(O.OX,{children:[(0,n.jsx)(O.iI,{children:e.data.name}),(0,n.jsx)(O.u6,{children:"Full Prompt"})]}),e.data.persona,(0,n.jsx)(O.ze,{children:(0,n.jsx)(O.uh,{children:"Done"})})]})]}):(0,n.jsxs)(A.Vq,{open:t,onOpenChange:()=>{r(!t),window.history.pushState({},"Khoj AI - Agents","/agents")},children:[(0,n.jsx)(A.hg,{children:(0,n.jsxs)("div",{className:"flex items-center relative top-2",children:[(0,_.T)(e.data.icon,e.data.color)||(0,n.jsx)(s.default,{src:e.data.avatar,alt:e.data.name,width:50,height:50}),e.data.name]})}),(0,n.jsx)("div",{className:"float-right",children:e.userProfile?(0,n.jsx)(d.z,{className:"bg-[hsl(var(--background))] w-14 h-14 rounded-xl border dark:border-neutral-700 shadow-sm hover:bg-stone-100 dark:hover:bg-neutral-900",onClick:()=>V(e.data.slug,h),children:(0,n.jsx)(N,{className:"w-6 h-6 ".concat((0,F.oz)(e.data.color))})}):(0,n.jsx)(d.z,{className:"bg-[hsl(var(--background))] w-14 h-14 rounded-xl border dark:border-neutral-700 shadow-sm hover:bg-stone-100 dark:hover:bg-neutral-900",onClick:()=>i(!0),children:(0,n.jsx)(N,{className:"w-6 h-6 ".concat((0,F.oz)(e.data.color))})})}),(0,n.jsxs)(A.cZ,{className:"whitespace-pre-line max-h-[80vh]",children:[(0,n.jsx)(A.fK,{children:(0,n.jsxs)("div",{className:"flex items-center",children:[(0,_.T)(e.data.icon,e.data.color)||(0,n.jsx)(s.default,{src:e.data.avatar,alt:e.data.name,width:32,height:50}),(0,n.jsx)("p",{className:"font-bold text-lg",children:e.data.name})]})}),(0,n.jsx)("div",{className:"max-h-[60vh] overflow-y-scroll text-neutral-500 dark:text-white",children:e.data.persona}),(0,n.jsx)(A.cN,{children:(0,n.jsxs)(d.z,{className:"pt-6 pb-6 ".concat(u," bg-white dark:bg-[hsl(var(--background))] text-neutral-500 dark:text-white border-2 border-stone-100 shadow-sm rounded-xl hover:bg-stone-100 dark:hover:bg-neutral-900 dark:border-neutral-700"),onClick:()=>{V(e.data.slug,h),r(!1)},children:[(0,n.jsx)(N,{className:"w-6 h-6 m-2 ".concat((0,F.oz)(e.data.color))}),"Start Chatting"]})})]})]})})}),(0,n.jsx)(Z.aY,{children:(0,n.jsx)("div",{className:l().agentPersonality,children:(0,n.jsx)("button",{className:"".concat(l().infoButton," text-neutral-500 dark:text-white"),onClick:()=>r(!0),children:(0,n.jsx)("p",{children:e.data.persona})})})})]})}function R(){let{data:e,error:a}=(0,o.ZP)("agents",S,{revalidateOnFocus:!1}),t=(0,i.G)(),[r,s]=(0,c.useState)(!1),d=(0,C.IC)();return a?(0,n.jsxs)("main",{className:l().main,children:[(0,n.jsx)("div",{className:"".concat(l().titleBar," text-5xl"),children:"Agents"}),(0,n.jsx)("div",{className:l().agentList,children:"Error loading agents"})]}):e?(0,n.jsx)("main",{className:"w-full mx-auto",children:(0,n.jsxs)("div",{className:"grid w-full mx-auto",children:[(0,n.jsx)("div",{className:"".concat(l().sidePanel," top-0"),children:(0,n.jsx)(P.Z,{conversationId:null,uploadedFiles:[],isMobileWidth:d})}),(0,n.jsxs)("div",{className:"".concat(l().pageLayout," w-full"),children:[(0,n.jsxs)("div",{className:"pt-6 md:pt-8 flex justify-between",children:[(0,n.jsx)("h1",{className:"text-3xl flex items-center",children:"Agents"}),(0,n.jsx)("div",{className:"ml-auto float-right border p-2 pt-3 rounded-xl font-bold hover:bg-stone-100 dark:hover:bg-neutral-900",children:(0,n.jsx)(h.pn,{children:(0,n.jsxs)(h.u,{children:[(0,n.jsx)(h.aJ,{children:(0,n.jsxs)("div",{className:"flex flex-row",children:[(0,n.jsx)(L.v,{className:"pr-2 w-6 h-6"}),(0,n.jsx)("p",{className:"pr-2",children:"Create Agent"})]})}),(0,n.jsx)(h._v,{children:(0,n.jsx)("p",{children:"Coming Soon!"})})]})})})]}),r&&(0,n.jsx)(M.Z,{loginRedirectMessage:"Sign in to start chatting with a specialized agent",onOpenChange:s}),(0,n.jsx)(z.bZ,{className:"bg-secondary border-none my-4",children:(0,n.jsxs)(z.X,{children:[(0,n.jsx)(E.B,{weight:"fill",className:"h-4 w-4 text-purple-400 inline"}),(0,n.jsx)("span",{className:"font-bold",children:"How it works"})," Use any of these specialized personas to tune your conversation to your needs."]})}),(0,n.jsx)("div",{className:"".concat(l().agentList),children:e.map(e=>(0,n.jsx)(H,{data:e,userProfile:t,isMobileWidth:d},e.slug))})]})]})}):(0,n.jsx)("main",{className:l().main,children:(0,n.jsxs)("div",{className:l().agentList,children:[(0,n.jsx)(k.l,{})," booting up your agents"]})})}},66820:function(e,a,t){"use strict";t.d(a,{Z:function(){return s}});var n=t(57437),r=t(6780),l=t(87138);function s(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)(l.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)(l.default,{href:"/login?next=".concat(encodeURIComponent(window.location.pathname)),children:[" ","Login"]})})]})]})})}},47412:function(e,a,t){"use strict";t.d(a,{X:function(){return i},bZ:function(){return c}});var n=t(57437),r=t(2265),l=t(12218),s=t(37440);let o=(0,l.j)("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),c=r.forwardRef((e,a)=>{let{className:t,variant:r,...l}=e;return(0,n.jsx)("div",{ref:a,role:"alert",className:(0,s.cn)(o({variant:r}),t),...l})});c.displayName="Alert",r.forwardRef((e,a)=>{let{className:t,...r}=e;return(0,n.jsx)("h5",{ref:a,className:(0,s.cn)("mb-1 font-medium leading-none tracking-tight",t),...r})}).displayName="AlertTitle";let i=r.forwardRef((e,a)=>{let{className:t,...r}=e;return(0,n.jsx)("div",{ref:a,className:(0,s.cn)("text-sm [&_p]:leading-relaxed",t),...r})});i.displayName="AlertDescription"},19666:function(e,a,t){"use strict";t.d(a,{_v:function(){return d},aJ:function(){return i},pn:function(){return o},u:function(){return c}});var n=t(57437),r=t(2265),l=t(27071),s=t(37440);let o=l.zt,c=l.fC,i=l.xz,d=r.forwardRef((e,a)=>{let{className:t,sideOffset:r=4,...o}=e;return(0,n.jsx)(l.VY,{ref:a,sideOffset:r,className:(0,s.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",t),...o})});d.displayName=l.VY.displayName},27158:function(e,a,t){"use strict";function n(e){let{src:a,width:t,quality:n}=e;return a.startsWith("http")?a:(a.startsWith("/")&&(a=a.slice(1)),"/static/".concat(a))}t.r(a),t.d(a,{default:function(){return n}})},15283:function(e){e.exports={titleBar:"agents_titleBar__FzYbY",agentPersonality:"agents_agentPersonality__o0Ysz",pageLayout:"agents_pageLayout__gR3S3",sidePanel:"agents_sidePanel__wGVGc",infoButton:"agents_infoButton__NqI7E",agentList:"agents_agentList__XVx4A"}},64945:function(e,a,t){"use strict";t.d(a,{B:function(){return p}});var n=t(2265),r=t(52195);let l=new Map([["bold",n.createElement(n.Fragment,null,n.createElement("path",{d:"M219.71,117.38a12,12,0,0,0-7.25-8.52L161.28,88.39l10.59-70.61a12,12,0,0,0-20.64-10l-112,120a12,12,0,0,0,4.31,19.33l51.18,20.47L84.13,238.22a12,12,0,0,0,20.64,10l112-120A12,12,0,0,0,219.71,117.38ZM113.6,203.55l6.27-41.77a12,12,0,0,0-7.41-12.92L68.74,131.37,142.4,52.45l-6.27,41.77a12,12,0,0,0,7.41,12.92l43.72,17.49Z"}))],["duotone",n.createElement(n.Fragment,null,n.createElement("path",{d:"M96,240l16-80L48,136,160,16,144,96l64,24Z",opacity:"0.2"}),n.createElement("path",{d:"M215.79,118.17a8,8,0,0,0-5-5.66L153.18,90.9l14.66-73.33a8,8,0,0,0-13.69-7l-112,120a8,8,0,0,0,3,13l57.63,21.61L88.16,238.43a8,8,0,0,0,13.69,7l112-120A8,8,0,0,0,215.79,118.17ZM109.37,214l10.47-52.38a8,8,0,0,0-5-9.06L62,132.71l84.62-90.66L136.16,94.43a8,8,0,0,0,5,9.06l52.8,19.8Z"}))],["fill",n.createElement(n.Fragment,null,n.createElement("path",{d:"M213.85,125.46l-112,120a8,8,0,0,1-13.69-7l14.66-73.33L45.19,143.49a8,8,0,0,1-3-13l112-120a8,8,0,0,1,13.69,7L153.18,90.9l57.63,21.61a8,8,0,0,1,3,12.95Z"}))],["light",n.createElement(n.Fragment,null,n.createElement("path",{d:"M213.84,118.63a6,6,0,0,0-3.73-4.25L150.88,92.17l15-75a6,6,0,0,0-10.27-5.27l-112,120a6,6,0,0,0,2.28,9.71l59.23,22.21-15,75a6,6,0,0,0,3.14,6.52A6.07,6.07,0,0,0,96,246a6,6,0,0,0,4.39-1.91l112-120A6,6,0,0,0,213.84,118.63ZM106,220.46l11.85-59.28a6,6,0,0,0-3.77-6.8l-55.6-20.85,91.46-98L138.12,94.82a6,6,0,0,0,3.77,6.8l55.6,20.85Z"}))],["regular",n.createElement(n.Fragment,null,n.createElement("path",{d:"M215.79,118.17a8,8,0,0,0-5-5.66L153.18,90.9l14.66-73.33a8,8,0,0,0-13.69-7l-112,120a8,8,0,0,0,3,13l57.63,21.61L88.16,238.43a8,8,0,0,0,13.69,7l112-120A8,8,0,0,0,215.79,118.17ZM109.37,214l10.47-52.38a8,8,0,0,0-5-9.06L62,132.71l84.62-90.66L136.16,94.43a8,8,0,0,0,5,9.06l52.8,19.8Z"}))],["thin",n.createElement(n.Fragment,null,n.createElement("path",{d:"M211.89,119.09a4,4,0,0,0-2.49-2.84l-60.81-22.8,15.33-76.67a4,4,0,0,0-6.84-3.51l-112,120a4,4,0,0,0-1,3.64,4,4,0,0,0,2.49,2.84l60.81,22.8L92.08,239.22a4,4,0,0,0,6.84,3.51l112-120A4,4,0,0,0,211.89,119.09ZM102.68,227l13.24-66.2a4,4,0,0,0-2.52-4.53L55,134.36,153.32,29l-13.24,66.2a4,4,0,0,0,2.52,4.53L201,121.64Z"}))]]);var s=Object.defineProperty,o=Object.defineProperties,c=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,u=(e,a,t)=>a in e?s(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t,m=(e,a)=>{for(var t in a||(a={}))d.call(a,t)&&u(e,t,a[t]);if(i)for(var t of i(a))h.call(a,t)&&u(e,t,a[t]);return e},g=(e,a)=>o(e,c(a));let p=(0,n.forwardRef)((e,a)=>n.createElement(r.Z,g(m({ref:a},e),{weights:l})));p.displayName="Lightning"},35418:function(e,a,t){"use strict";t.d(a,{v:function(){return p}});var n=t(2265),r=t(52195);let l=new Map([["bold",n.createElement(n.Fragment,null,n.createElement("path",{d:"M228,128a12,12,0,0,1-12,12H140v76a12,12,0,0,1-24,0V140H40a12,12,0,0,1,0-24h76V40a12,12,0,0,1,24,0v76h76A12,12,0,0,1,228,128Z"}))],["duotone",n.createElement(n.Fragment,null,n.createElement("path",{d:"M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z",opacity:"0.2"}),n.createElement("path",{d:"M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z"}))],["fill",n.createElement(n.Fragment,null,n.createElement("path",{d:"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM184,136H136v48a8,8,0,0,1-16,0V136H72a8,8,0,0,1,0-16h48V72a8,8,0,0,1,16,0v48h48a8,8,0,0,1,0,16Z"}))],["light",n.createElement(n.Fragment,null,n.createElement("path",{d:"M222,128a6,6,0,0,1-6,6H134v82a6,6,0,0,1-12,0V134H40a6,6,0,0,1,0-12h82V40a6,6,0,0,1,12,0v82h82A6,6,0,0,1,222,128Z"}))],["regular",n.createElement(n.Fragment,null,n.createElement("path",{d:"M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z"}))],["thin",n.createElement(n.Fragment,null,n.createElement("path",{d:"M220,128a4,4,0,0,1-4,4H132v84a4,4,0,0,1-8,0V132H40a4,4,0,0,1,0-8h84V40a4,4,0,0,1,8,0v84h84A4,4,0,0,1,220,128Z"}))]]);var s=Object.defineProperty,o=Object.defineProperties,c=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,u=(e,a,t)=>a in e?s(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t,m=(e,a)=>{for(var t in a||(a={}))d.call(a,t)&&u(e,t,a[t]);if(i)for(var t of i(a))h.call(a,t)&&u(e,t,a[t]);return e},g=(e,a)=>o(e,c(a));let p=(0,n.forwardRef)((e,a)=>n.createElement(r.Z,g(m({ref:a},e),{weights:l})));p.displayName="Plus"}},function(e){e.O(0,[9460,9427,9001,3062,743,7071,6648,1603,9417,2971,7023,1744],function(){return e(e.s=1813)}),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9718],{1813:function(e,a,t){Promise.resolve().then(t.bind(t,87529))},87529:function(e,a,t){"use strict";t.r(a),t.d(a,{default:function(){return R}});var n=t(57437),r=t(15283),l=t.n(r),s=t(66648),o=t(29039),c=t(2265),i=t(79306),d=t(50495),h=t(19666),u=t(52195);let m=new Map([["bold",c.createElement(c.Fragment,null,c.createElement("path",{d:"M230.14,25.86a20,20,0,0,0-19.57-5.11l-.22.07L18.44,79a20,20,0,0,0-3.06,37.25L99,157l40.71,83.65a19.81,19.81,0,0,0,18,11.38c.57,0,1.15,0,1.73-.07A19.82,19.82,0,0,0,177,237.56L235.18,45.65a1.42,1.42,0,0,0,.07-.22A20,20,0,0,0,230.14,25.86ZM156.91,221.07l-34.37-70.64,46-45.95a12,12,0,0,0-17-17l-46,46L34.93,99.09,210,46Z"}))],["duotone",c.createElement(c.Fragment,null,c.createElement("path",{d:"M223.69,42.18l-58.22,192a8,8,0,0,1-14.92,1.25L108,148,20.58,105.45a8,8,0,0,1,1.25-14.92l192-58.22A8,8,0,0,1,223.69,42.18Z",opacity:"0.2"}),c.createElement("path",{d:"M227.32,28.68a16,16,0,0,0-15.66-4.08l-.15,0L19.57,82.84a16,16,0,0,0-2.49,29.8L102,154l41.3,84.87A15.86,15.86,0,0,0,157.74,248q.69,0,1.38-.06a15.88,15.88,0,0,0,14-11.51l58.2-191.94c0-.05,0-.1,0-.15A16,16,0,0,0,227.32,28.68ZM157.83,231.85l-.05.14,0-.07-40.06-82.3,48-48a8,8,0,0,0-11.31-11.31l-48,48L24.08,98.25l-.07,0,.14,0L216,40Z"}))],["fill",c.createElement(c.Fragment,null,c.createElement("path",{d:"M231.4,44.34s0,.1,0,.15l-58.2,191.94a15.88,15.88,0,0,1-14,11.51q-.69.06-1.38.06a15.86,15.86,0,0,1-14.42-9.15L107,164.15a4,4,0,0,1,.77-4.58l57.92-57.92a8,8,0,0,0-11.31-11.31L96.43,148.26a4,4,0,0,1-4.58.77L17.08,112.64a16,16,0,0,1,2.49-29.8l191.94-58.2.15,0A16,16,0,0,1,231.4,44.34Z"}))],["light",c.createElement(c.Fragment,null,c.createElement("path",{d:"M225.88,30.12a13.83,13.83,0,0,0-13.7-3.58l-.11,0L20.14,84.77A14,14,0,0,0,18,110.85l85.56,41.64L145.12,238a13.87,13.87,0,0,0,12.61,8c.4,0,.81,0,1.21-.05a13.9,13.9,0,0,0,12.29-10.09l58.2-191.93,0-.11A13.83,13.83,0,0,0,225.88,30.12Zm-8,10.4L159.73,232.43l0,.11a2,2,0,0,1-3.76.26l-40.68-83.58,49-49a6,6,0,1,0-8.49-8.49l-49,49L23.15,100a2,2,0,0,1,.31-3.74l.11,0L215.48,38.08a1.94,1.94,0,0,1,1.92.52A2,2,0,0,1,217.92,40.52Z"}))],["regular",c.createElement(c.Fragment,null,c.createElement("path",{d:"M227.32,28.68a16,16,0,0,0-15.66-4.08l-.15,0L19.57,82.84a16,16,0,0,0-2.49,29.8L102,154l41.3,84.87A15.86,15.86,0,0,0,157.74,248q.69,0,1.38-.06a15.88,15.88,0,0,0,14-11.51l58.2-191.94c0-.05,0-.1,0-.15A16,16,0,0,0,227.32,28.68ZM157.83,231.85l-.05.14,0-.07-40.06-82.3,48-48a8,8,0,0,0-11.31-11.31l-48,48L24.08,98.25l-.07,0,.14,0L216,40Z"}))],["thin",c.createElement(c.Fragment,null,c.createElement("path",{d:"M224.47,31.52a11.87,11.87,0,0,0-11.82-3L20.74,86.67a12,12,0,0,0-1.91,22.38L105,151l41.92,86.15A11.88,11.88,0,0,0,157.74,244c.34,0,.69,0,1,0a11.89,11.89,0,0,0,10.52-8.63l58.21-192,0-.08A11.85,11.85,0,0,0,224.47,31.52Zm-4.62,9.54-58.23,192a4,4,0,0,1-7.48.59l-41.3-84.86,50-50a4,4,0,1,0-5.66-5.66l-50,50-84.9-41.31a3.88,3.88,0,0,1-2.27-4,3.93,3.93,0,0,1,3-3.54L214.9,36.16A3.93,3.93,0,0,1,216,36a4,4,0,0,1,2.79,1.19A3.93,3.93,0,0,1,219.85,41.06Z"}))]]);var g=Object.defineProperty,p=Object.defineProperties,f=Object.getOwnPropertyDescriptors,x=Object.getOwnPropertySymbols,j=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,b=(e,a,t)=>a in e?g(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t,w=(e,a)=>{for(var t in a||(a={}))j.call(a,t)&&b(e,t,a[t]);if(x)for(var t of x(a))v.call(a,t)&&b(e,t,a[t]);return e},y=(e,a)=>p(e,f(a));let N=(0,c.forwardRef)((e,a)=>c.createElement(u.Z,y(w({ref:a},e),{weights:m})));N.displayName="PaperPlaneTilt";var L=t(35418),E=t(64945),Z=t(36013),A=t(90837),O=t(7951),M=t(66820),k=t(58485),P=t(48861),_=t(89417),F=t(58575),z=t(47412),C=t(69591);async function V(e,a){let t="/login?next=/agents?agent=".concat(e);if(!a){window.location.href=t;return}let n=await fetch("/api/chat/sessions?agent_slug=".concat(e),{method:"POST"}),r=await n.json();200==n.status?window.location.href="/chat?conversationId=".concat(r.conversation_id):403==n.status||401==n.status?window.location.href=t:alert("Failed to start chat session")}let S=()=>window.fetch("/api/agents").then(e=>e.json()).catch(e=>console.log(e));function H(e){let a=new URLSearchParams(window.location.search).get("agent"),[t,r]=(0,c.useState)(a===e.data.slug),[o,i]=(0,c.useState)(!1),h=e.userProfile;t&&window.history.pushState({},"Khoj AI - Agent ".concat(e.data.slug),"/agents?agent=".concat(e.data.slug));let u=(0,F.oz)(e.data.color);return(0,n.jsxs)(Z.Zb,{className:"shadow-sm bg-gradient-to-b from-white 20% to-".concat(e.data.color?e.data.color:"gray","-100/50 dark:from-[hsl(var(--background))] dark:to-").concat(e.data.color?e.data.color:"gray","-950/50 rounded-xl hover:shadow-md"),children:[o&&(0,n.jsx)(M.Z,{loginRedirectMessage:"Sign in to start chatting with ".concat(e.data.name),onOpenChange:i}),(0,n.jsx)(Z.Ol,{children:(0,n.jsx)(Z.ll,{children:e.isMobileWidth?(0,n.jsxs)(O.dy,{open:t,onOpenChange:e=>{r(e),window.history.pushState({},"Khoj AI - Agents","/agents")},children:[(0,n.jsx)(O.Qz,{children:(0,n.jsxs)("div",{className:"flex items-center",children:[(0,_.T)(e.data.icon,e.data.color)||(0,n.jsx)(s.default,{src:e.data.avatar,alt:e.data.name,width:50,height:50}),e.data.name]})}),(0,n.jsx)("div",{className:"float-right",children:e.userProfile?(0,n.jsx)(d.z,{className:"bg-[hsl(var(--background))] w-14 h-14 rounded-xl border dark:border-neutral-700 shadow-sm hover:bg-stone-100",onClick:()=>V(e.data.slug,h),children:(0,n.jsx)(N,{className:"w-6 h-6 ".concat((0,F.oz)(e.data.color))})}):(0,n.jsx)(d.z,{className:"bg-[hsl(var(--background))] w-14 h-14 rounded-xl border dark:border-neutral-700 shadow-sm",onClick:()=>i(!0),children:(0,n.jsx)(N,{className:"w-6 h-6 ".concat((0,F.oz)(e.data.color))})})}),(0,n.jsxs)(O.sc,{className:"whitespace-pre-line p-2",children:[(0,n.jsxs)(O.OX,{children:[(0,n.jsx)(O.iI,{children:e.data.name}),(0,n.jsx)(O.u6,{children:"Full Prompt"})]}),e.data.persona,(0,n.jsx)(O.ze,{children:(0,n.jsx)(O.uh,{children:"Done"})})]})]}):(0,n.jsxs)(A.Vq,{open:t,onOpenChange:()=>{r(!t),window.history.pushState({},"Khoj AI - Agents","/agents")},children:[(0,n.jsx)(A.hg,{children:(0,n.jsxs)("div",{className:"flex items-center relative top-2",children:[(0,_.T)(e.data.icon,e.data.color)||(0,n.jsx)(s.default,{src:e.data.avatar,alt:e.data.name,width:50,height:50}),e.data.name]})}),(0,n.jsx)("div",{className:"float-right",children:e.userProfile?(0,n.jsx)(d.z,{className:"bg-[hsl(var(--background))] w-14 h-14 rounded-xl border dark:border-neutral-700 shadow-sm hover:bg-stone-100 dark:hover:bg-neutral-900",onClick:()=>V(e.data.slug,h),children:(0,n.jsx)(N,{className:"w-6 h-6 ".concat((0,F.oz)(e.data.color))})}):(0,n.jsx)(d.z,{className:"bg-[hsl(var(--background))] w-14 h-14 rounded-xl border dark:border-neutral-700 shadow-sm hover:bg-stone-100 dark:hover:bg-neutral-900",onClick:()=>i(!0),children:(0,n.jsx)(N,{className:"w-6 h-6 ".concat((0,F.oz)(e.data.color))})})}),(0,n.jsxs)(A.cZ,{className:"whitespace-pre-line max-h-[80vh]",children:[(0,n.jsx)(A.fK,{children:(0,n.jsxs)("div",{className:"flex items-center",children:[(0,_.T)(e.data.icon,e.data.color)||(0,n.jsx)(s.default,{src:e.data.avatar,alt:e.data.name,width:32,height:50}),(0,n.jsx)("p",{className:"font-bold text-lg",children:e.data.name})]})}),(0,n.jsx)("div",{className:"max-h-[60vh] overflow-y-scroll text-neutral-500 dark:text-white",children:e.data.persona}),(0,n.jsx)(A.cN,{children:(0,n.jsxs)(d.z,{className:"pt-6 pb-6 ".concat(u," bg-white dark:bg-[hsl(var(--background))] text-neutral-500 dark:text-white border-2 border-stone-100 shadow-sm rounded-xl hover:bg-stone-100 dark:hover:bg-neutral-900 dark:border-neutral-700"),onClick:()=>{V(e.data.slug,h),r(!1)},children:[(0,n.jsx)(N,{className:"w-6 h-6 m-2 ".concat((0,F.oz)(e.data.color))}),"Start Chatting"]})})]})]})})}),(0,n.jsx)(Z.aY,{children:(0,n.jsx)("div",{className:l().agentPersonality,children:(0,n.jsx)("button",{className:"".concat(l().infoButton," text-neutral-500 dark:text-white"),onClick:()=>r(!0),children:(0,n.jsx)("p",{children:e.data.persona})})})})]})}function R(){let{data:e,error:a}=(0,o.ZP)("agents",S,{revalidateOnFocus:!1}),t=(0,i.G)(),[r,s]=(0,c.useState)(!1),d=(0,C.IC)();return a?(0,n.jsxs)("main",{className:l().main,children:[(0,n.jsx)("div",{className:"".concat(l().titleBar," text-5xl"),children:"Agents"}),(0,n.jsx)("div",{className:l().agentList,children:"Error loading agents"})]}):e?(0,n.jsx)("main",{className:"w-full mx-auto",children:(0,n.jsxs)("div",{className:"grid w-full mx-auto",children:[(0,n.jsx)("div",{className:"".concat(l().sidePanel," top-0"),children:(0,n.jsx)(P.Z,{conversationId:null,uploadedFiles:[],isMobileWidth:d})}),(0,n.jsxs)("div",{className:"".concat(l().pageLayout," w-full"),children:[(0,n.jsxs)("div",{className:"pt-6 md:pt-8 flex justify-between",children:[(0,n.jsx)("h1",{className:"text-3xl flex items-center",children:"Agents"}),(0,n.jsx)("div",{className:"ml-auto float-right border p-2 pt-3 rounded-xl font-bold hover:bg-stone-100 dark:hover:bg-neutral-900",children:(0,n.jsx)(h.pn,{children:(0,n.jsxs)(h.u,{children:[(0,n.jsx)(h.aJ,{children:(0,n.jsxs)("div",{className:"flex flex-row",children:[(0,n.jsx)(L.v,{className:"pr-2 w-6 h-6"}),(0,n.jsx)("p",{className:"pr-2",children:"Create Agent"})]})}),(0,n.jsx)(h._v,{children:(0,n.jsx)("p",{children:"Coming Soon!"})})]})})})]}),r&&(0,n.jsx)(M.Z,{loginRedirectMessage:"Sign in to start chatting with a specialized agent",onOpenChange:s}),(0,n.jsx)(z.bZ,{className:"bg-secondary border-none my-4",children:(0,n.jsxs)(z.X,{children:[(0,n.jsx)(E.B,{weight:"fill",className:"h-4 w-4 text-purple-400 inline"}),(0,n.jsx)("span",{className:"font-bold",children:"How it works"})," Use any of these specialized personas to tune your conversation to your needs."]})}),(0,n.jsx)("div",{className:"".concat(l().agentList),children:e.map(e=>(0,n.jsx)(H,{data:e,userProfile:t,isMobileWidth:d},e.slug))})]})]})}):(0,n.jsx)("main",{className:l().main,children:(0,n.jsxs)("div",{className:l().agentList,children:[(0,n.jsx)(k.l,{})," booting up your agents"]})})}},66820:function(e,a,t){"use strict";t.d(a,{Z:function(){return s}});var n=t(57437),r=t(6780),l=t(87138);function s(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)(l.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)(l.default,{href:"/login?next=".concat(encodeURIComponent(window.location.pathname)),children:[" ","Login"]})})]})]})})}},47412:function(e,a,t){"use strict";t.d(a,{X:function(){return i},bZ:function(){return c}});var n=t(57437),r=t(2265),l=t(12218),s=t(37440);let o=(0,l.j)("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),c=r.forwardRef((e,a)=>{let{className:t,variant:r,...l}=e;return(0,n.jsx)("div",{ref:a,role:"alert",className:(0,s.cn)(o({variant:r}),t),...l})});c.displayName="Alert",r.forwardRef((e,a)=>{let{className:t,...r}=e;return(0,n.jsx)("h5",{ref:a,className:(0,s.cn)("mb-1 font-medium leading-none tracking-tight",t),...r})}).displayName="AlertTitle";let i=r.forwardRef((e,a)=>{let{className:t,...r}=e;return(0,n.jsx)("div",{ref:a,className:(0,s.cn)("text-sm [&_p]:leading-relaxed",t),...r})});i.displayName="AlertDescription"},19666:function(e,a,t){"use strict";t.d(a,{_v:function(){return d},aJ:function(){return i},pn:function(){return o},u:function(){return c}});var n=t(57437),r=t(2265),l=t(27071),s=t(37440);let o=l.zt,c=l.fC,i=l.xz,d=r.forwardRef((e,a)=>{let{className:t,sideOffset:r=4,...o}=e;return(0,n.jsx)(l.VY,{ref:a,sideOffset:r,className:(0,s.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",t),...o})});d.displayName=l.VY.displayName},27158:function(e,a,t){"use strict";function n(e){let{src:a,width:t,quality:n}=e;return a.startsWith("http")?a:(a.startsWith("/")&&(a=a.slice(1)),"/static/".concat(a))}t.r(a),t.d(a,{default:function(){return n}})},15283:function(e){e.exports={titleBar:"agents_titleBar__FzYbY",agentPersonality:"agents_agentPersonality__o0Ysz",pageLayout:"agents_pageLayout__gR3S3",sidePanel:"agents_sidePanel__wGVGc",infoButton:"agents_infoButton__NqI7E",agentList:"agents_agentList__XVx4A"}},64945:function(e,a,t){"use strict";t.d(a,{B:function(){return p}});var n=t(2265),r=t(52195);let l=new Map([["bold",n.createElement(n.Fragment,null,n.createElement("path",{d:"M219.71,117.38a12,12,0,0,0-7.25-8.52L161.28,88.39l10.59-70.61a12,12,0,0,0-20.64-10l-112,120a12,12,0,0,0,4.31,19.33l51.18,20.47L84.13,238.22a12,12,0,0,0,20.64,10l112-120A12,12,0,0,0,219.71,117.38ZM113.6,203.55l6.27-41.77a12,12,0,0,0-7.41-12.92L68.74,131.37,142.4,52.45l-6.27,41.77a12,12,0,0,0,7.41,12.92l43.72,17.49Z"}))],["duotone",n.createElement(n.Fragment,null,n.createElement("path",{d:"M96,240l16-80L48,136,160,16,144,96l64,24Z",opacity:"0.2"}),n.createElement("path",{d:"M215.79,118.17a8,8,0,0,0-5-5.66L153.18,90.9l14.66-73.33a8,8,0,0,0-13.69-7l-112,120a8,8,0,0,0,3,13l57.63,21.61L88.16,238.43a8,8,0,0,0,13.69,7l112-120A8,8,0,0,0,215.79,118.17ZM109.37,214l10.47-52.38a8,8,0,0,0-5-9.06L62,132.71l84.62-90.66L136.16,94.43a8,8,0,0,0,5,9.06l52.8,19.8Z"}))],["fill",n.createElement(n.Fragment,null,n.createElement("path",{d:"M213.85,125.46l-112,120a8,8,0,0,1-13.69-7l14.66-73.33L45.19,143.49a8,8,0,0,1-3-13l112-120a8,8,0,0,1,13.69,7L153.18,90.9l57.63,21.61a8,8,0,0,1,3,12.95Z"}))],["light",n.createElement(n.Fragment,null,n.createElement("path",{d:"M213.84,118.63a6,6,0,0,0-3.73-4.25L150.88,92.17l15-75a6,6,0,0,0-10.27-5.27l-112,120a6,6,0,0,0,2.28,9.71l59.23,22.21-15,75a6,6,0,0,0,3.14,6.52A6.07,6.07,0,0,0,96,246a6,6,0,0,0,4.39-1.91l112-120A6,6,0,0,0,213.84,118.63ZM106,220.46l11.85-59.28a6,6,0,0,0-3.77-6.8l-55.6-20.85,91.46-98L138.12,94.82a6,6,0,0,0,3.77,6.8l55.6,20.85Z"}))],["regular",n.createElement(n.Fragment,null,n.createElement("path",{d:"M215.79,118.17a8,8,0,0,0-5-5.66L153.18,90.9l14.66-73.33a8,8,0,0,0-13.69-7l-112,120a8,8,0,0,0,3,13l57.63,21.61L88.16,238.43a8,8,0,0,0,13.69,7l112-120A8,8,0,0,0,215.79,118.17ZM109.37,214l10.47-52.38a8,8,0,0,0-5-9.06L62,132.71l84.62-90.66L136.16,94.43a8,8,0,0,0,5,9.06l52.8,19.8Z"}))],["thin",n.createElement(n.Fragment,null,n.createElement("path",{d:"M211.89,119.09a4,4,0,0,0-2.49-2.84l-60.81-22.8,15.33-76.67a4,4,0,0,0-6.84-3.51l-112,120a4,4,0,0,0-1,3.64,4,4,0,0,0,2.49,2.84l60.81,22.8L92.08,239.22a4,4,0,0,0,6.84,3.51l112-120A4,4,0,0,0,211.89,119.09ZM102.68,227l13.24-66.2a4,4,0,0,0-2.52-4.53L55,134.36,153.32,29l-13.24,66.2a4,4,0,0,0,2.52,4.53L201,121.64Z"}))]]);var s=Object.defineProperty,o=Object.defineProperties,c=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,u=(e,a,t)=>a in e?s(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t,m=(e,a)=>{for(var t in a||(a={}))d.call(a,t)&&u(e,t,a[t]);if(i)for(var t of i(a))h.call(a,t)&&u(e,t,a[t]);return e},g=(e,a)=>o(e,c(a));let p=(0,n.forwardRef)((e,a)=>n.createElement(r.Z,g(m({ref:a},e),{weights:l})));p.displayName="Lightning"},35418:function(e,a,t){"use strict";t.d(a,{v:function(){return p}});var n=t(2265),r=t(52195);let l=new Map([["bold",n.createElement(n.Fragment,null,n.createElement("path",{d:"M228,128a12,12,0,0,1-12,12H140v76a12,12,0,0,1-24,0V140H40a12,12,0,0,1,0-24h76V40a12,12,0,0,1,24,0v76h76A12,12,0,0,1,228,128Z"}))],["duotone",n.createElement(n.Fragment,null,n.createElement("path",{d:"M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z",opacity:"0.2"}),n.createElement("path",{d:"M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z"}))],["fill",n.createElement(n.Fragment,null,n.createElement("path",{d:"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM184,136H136v48a8,8,0,0,1-16,0V136H72a8,8,0,0,1,0-16h48V72a8,8,0,0,1,16,0v48h48a8,8,0,0,1,0,16Z"}))],["light",n.createElement(n.Fragment,null,n.createElement("path",{d:"M222,128a6,6,0,0,1-6,6H134v82a6,6,0,0,1-12,0V134H40a6,6,0,0,1,0-12h82V40a6,6,0,0,1,12,0v82h82A6,6,0,0,1,222,128Z"}))],["regular",n.createElement(n.Fragment,null,n.createElement("path",{d:"M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z"}))],["thin",n.createElement(n.Fragment,null,n.createElement("path",{d:"M220,128a4,4,0,0,1-4,4H132v84a4,4,0,0,1-8,0V132H40a4,4,0,0,1,0-8h84V40a4,4,0,0,1,8,0v84h84A4,4,0,0,1,220,128Z"}))]]);var s=Object.defineProperty,o=Object.defineProperties,c=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,u=(e,a,t)=>a in e?s(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t,m=(e,a)=>{for(var t in a||(a={}))d.call(a,t)&&u(e,t,a[t]);if(i)for(var t of i(a))h.call(a,t)&&u(e,t,a[t]);return e},g=(e,a)=>o(e,c(a));let p=(0,n.forwardRef)((e,a)=>n.createElement(r.Z,g(m({ref:a},e),{weights:l})));p.displayName="Plus"}},function(e){e.O(0,[647,9001,3062,743,7071,6648,1603,9417,2971,7023,1744],function(){return e(e.s=1813)}),_N_E=e.O()}]);