khoj 1.30.11.dev55__tar.gz → 1.30.11.dev62__tar.gz

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 (399) hide show
  1. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/PKG-INFO +1 -1
  2. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/configure.py +3 -3
  3. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/adapters/__init__.py +15 -15
  4. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/admin.py +8 -7
  5. khoj-1.30.11.dev62/src/khoj/database/migrations/0076_rename_openaiprocessorconversationconfig_aimodelapi_and_more.py +26 -0
  6. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/models/__init__.py +32 -12
  7. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/404/index.html +1 -1
  8. khoj-1.30.11.dev55/src/khoj/interface/compiled/_next/static/chunks/app/agents/page-2ffa7560aebff9a1.js → khoj-1.30.11.dev62/src/khoj/interface/compiled/_next/static/chunks/app/agents/page-8eead7920b0ff92a.js +1 -1
  9. khoj-1.30.11.dev55/src/khoj/interface/compiled/_next/static/chunks/app/automations/page-b0a6a6ed2267c1a2.js → khoj-1.30.11.dev62/src/khoj/interface/compiled/_next/static/chunks/app/automations/page-b5800b5286306140.js +1 -1
  10. khoj-1.30.11.dev62/src/khoj/interface/compiled/_next/static/chunks/app/chat/layout-3435e55ef2f45d88.js +1 -0
  11. khoj-1.30.11.dev55/src/khoj/interface/compiled/_next/static/chunks/app/chat/page-02f8616bba3e449e.js → khoj-1.30.11.dev62/src/khoj/interface/compiled/_next/static/chunks/app/chat/page-d7d2ab93e519f0b2.js +1 -1
  12. khoj-1.30.11.dev55/src/khoj/interface/compiled/_next/static/chunks/app/page-3ffd8f0934b896f3.js → khoj-1.30.11.dev62/src/khoj/interface/compiled/_next/static/chunks/app/page-3c32ad5472f75965.js +1 -1
  13. khoj-1.30.11.dev62/src/khoj/interface/compiled/_next/static/chunks/app/search/layout-2677a9f48ccd7b38.js +1 -0
  14. khoj-1.30.11.dev55/src/khoj/interface/compiled/_next/static/chunks/app/search/page-059f237514f77628.js → khoj-1.30.11.dev62/src/khoj/interface/compiled/_next/static/chunks/app/search/page-faa998c71eb7ca8e.js +1 -1
  15. khoj-1.30.11.dev55/src/khoj/interface/compiled/_next/static/chunks/app/settings/page-32e9423bede5b4a1.js → khoj-1.30.11.dev62/src/khoj/interface/compiled/_next/static/chunks/app/settings/page-cbe7f56b1f87d77a.js +1 -1
  16. khoj-1.30.11.dev62/src/khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-dc97434f0354a74e.js +1 -0
  17. khoj-1.30.11.dev55/src/khoj/interface/compiled/_next/static/chunks/app/share/chat/page-0b8d90dc57dbc1d8.js → khoj-1.30.11.dev62/src/khoj/interface/compiled/_next/static/chunks/app/share/chat/page-cd5757199539bbf2.js +1 -1
  18. khoj-1.30.11.dev55/src/khoj/interface/compiled/_next/static/chunks/webpack-56eb35ef7ce6af2e.js → khoj-1.30.11.dev62/src/khoj/interface/compiled/_next/static/chunks/webpack-e220e21d9a8c0d5e.js +1 -1
  19. khoj-1.30.11.dev62/src/khoj/interface/compiled/_next/static/css/33e9fb1e7a15c208.css +1 -0
  20. khoj-1.30.11.dev62/src/khoj/interface/compiled/_next/static/css/592ca99f5122e75a.css +1 -0
  21. khoj-1.30.11.dev62/src/khoj/interface/compiled/agents/index.html +1 -0
  22. khoj-1.30.11.dev62/src/khoj/interface/compiled/agents/index.txt +7 -0
  23. khoj-1.30.11.dev62/src/khoj/interface/compiled/automations/index.html +1 -0
  24. khoj-1.30.11.dev62/src/khoj/interface/compiled/automations/index.txt +8 -0
  25. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/chat/index.html +1 -1
  26. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/chat/index.txt +2 -2
  27. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/index.html +1 -1
  28. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/index.txt +2 -2
  29. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/search/index.html +1 -1
  30. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/search/index.txt +2 -2
  31. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/settings/index.html +1 -1
  32. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/settings/index.txt +2 -2
  33. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/share/chat/index.html +1 -1
  34. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/share/chat/index.txt +2 -2
  35. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/migrations/migrate_server_pg.py +3 -9
  36. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/conversation/openai/utils.py +1 -6
  37. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/conversation/prompts.py +1 -1
  38. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/conversation/utils.py +13 -14
  39. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/image/generate.py +2 -2
  40. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/routers/api.py +4 -5
  41. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/routers/helpers.py +11 -11
  42. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/utils/helpers.py +2 -2
  43. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/utils/initialization.py +14 -12
  44. khoj-1.30.11.dev55/src/khoj/interface/compiled/_next/static/chunks/app/chat/layout-9219a85f3477e722.js +0 -1
  45. khoj-1.30.11.dev55/src/khoj/interface/compiled/_next/static/chunks/app/search/layout-2ca475462c0b2176.js +0 -1
  46. khoj-1.30.11.dev55/src/khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-f662c9e5091603cf.js +0 -1
  47. khoj-1.30.11.dev55/src/khoj/interface/compiled/_next/static/css/34f2d177dfee2dd8.css +0 -1
  48. khoj-1.30.11.dev55/src/khoj/interface/compiled/_next/static/css/4cae6c0e5c72fb2d.css +0 -1
  49. khoj-1.30.11.dev55/src/khoj/interface/compiled/agents/index.html +0 -1
  50. khoj-1.30.11.dev55/src/khoj/interface/compiled/agents/index.txt +0 -7
  51. khoj-1.30.11.dev55/src/khoj/interface/compiled/automations/index.html +0 -1
  52. khoj-1.30.11.dev55/src/khoj/interface/compiled/automations/index.txt +0 -8
  53. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/.gitignore +0 -0
  54. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/LICENSE +0 -0
  55. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/README.md +0 -0
  56. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/pyproject.toml +0 -0
  57. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/__init__.py +0 -0
  58. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/app/README.md +0 -0
  59. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/app/__init__.py +0 -0
  60. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/app/asgi.py +0 -0
  61. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/app/settings.py +0 -0
  62. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/app/urls.py +0 -0
  63. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/__init__.py +0 -0
  64. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/apps.py +0 -0
  65. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/management/__init__.py +0 -0
  66. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/management/commands/__init__.py +0 -0
  67. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/management/commands/change_default_model.py +0 -0
  68. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/management/commands/change_generated_images_url.py +0 -0
  69. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/management/commands/convert_images_png_to_webp.py +0 -0
  70. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0001_khojuser.py +0 -0
  71. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0002_googleuser.py +0 -0
  72. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0003_vector_extension.py +0 -0
  73. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0004_content_types_and_more.py +0 -0
  74. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0005_embeddings_corpus_id.py +0 -0
  75. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0006_embeddingsdates.py +0 -0
  76. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0007_add_conversation.py +0 -0
  77. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0008_alter_conversation_conversation_log.py +0 -0
  78. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0009_khojapiuser.py +0 -0
  79. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0010_chatmodeloptions_and_more.py +0 -0
  80. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0010_rename_embeddings_entry_and_more.py +0 -0
  81. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0011_merge_20231102_0138.py +0 -0
  82. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0012_entry_file_source.py +0 -0
  83. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0013_subscription.py +0 -0
  84. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0014_alter_googleuser_picture.py +0 -0
  85. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0015_alter_subscription_user.py +0 -0
  86. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0016_alter_subscription_renewal_date.py +0 -0
  87. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0017_searchmodel.py +0 -0
  88. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0018_searchmodelconfig_delete_searchmodel.py +0 -0
  89. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0019_alter_googleuser_family_name_and_more.py +0 -0
  90. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0020_reflectivequestion.py +0 -0
  91. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0021_speechtotextmodeloptions_and_more.py +0 -0
  92. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0022_texttoimagemodelconfig.py +0 -0
  93. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0023_usersearchmodelconfig.py +0 -0
  94. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0024_alter_entry_embeddings.py +0 -0
  95. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0025_clientapplication_khojuser_phone_number_and_more.py +0 -0
  96. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0025_searchmodelconfig_embeddings_inference_endpoint_and_more.py +0 -0
  97. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0026_searchmodelconfig_cross_encoder_inference_endpoint_and_more.py +0 -0
  98. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0027_merge_20240118_1324.py +0 -0
  99. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0028_khojuser_verified_phone_number.py +0 -0
  100. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0029_userrequests.py +0 -0
  101. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0030_conversation_slug_and_title.py +0 -0
  102. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0031_agent_conversation_agent.py +0 -0
  103. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0031_alter_googleuser_locale.py +0 -0
  104. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0032_merge_20240322_0427.py +0 -0
  105. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0033_rename_tuning_agent_personality.py +0 -0
  106. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0034_alter_chatmodeloptions_chat_model.py +0 -0
  107. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0035_processlock.py +0 -0
  108. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0036_alter_processlock_name.py +0 -0
  109. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0036_delete_offlinechatprocessorconversationconfig.py +0 -0
  110. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0036_publicconversation.py +0 -0
  111. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0037_chatmodeloptions_openai_config_and_more.py +0 -0
  112. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0037_searchmodelconfig_bi_encoder_docs_encode_config_and_more.py +0 -0
  113. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0038_merge_20240425_0857.py +0 -0
  114. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0038_merge_20240426_1640.py +0 -0
  115. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0039_merge_20240501_0301.py +0 -0
  116. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0040_alter_processlock_name.py +0 -0
  117. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0040_merge_20240504_1010.py +0 -0
  118. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0041_merge_20240505_1234.py +0 -0
  119. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0042_serverchatsettings.py +0 -0
  120. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0043_alter_chatmodeloptions_model_type.py +0 -0
  121. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0044_conversation_file_filters.py +0 -0
  122. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0045_fileobject.py +0 -0
  123. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0046_khojuser_email_verification_code_and_more.py +0 -0
  124. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0047_alter_entry_file_type.py +0 -0
  125. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0048_voicemodeloption_uservoicemodelconfig.py +0 -0
  126. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0049_datastore.py +0 -0
  127. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0049_texttoimagemodelconfig_api_key_and_more.py +0 -0
  128. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0050_alter_processlock_name.py +0 -0
  129. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0051_merge_20240702_1220.py +0 -0
  130. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0052_alter_searchmodelconfig_bi_encoder_docs_encode_config_and_more.py +0 -0
  131. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0053_agent_style_color_agent_style_icon.py +0 -0
  132. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0054_alter_agent_style_color.py +0 -0
  133. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0055_alter_agent_style_icon.py +0 -0
  134. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0056_chatmodeloptions_vision_enabled.py +0 -0
  135. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0056_searchmodelconfig_cross_encoder_model_config.py +0 -0
  136. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0057_merge_20240816_1409.py +0 -0
  137. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0057_remove_serverchatsettings_default_model_and_more.py +0 -0
  138. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0058_alter_chatmodeloptions_chat_model.py +0 -0
  139. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0059_searchmodelconfig_bi_encoder_confidence_threshold.py +0 -0
  140. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0060_merge_20240905_1828.py +0 -0
  141. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0061_alter_chatmodeloptions_model_type.py +0 -0
  142. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0061_alter_texttoimagemodelconfig_model_type.py +0 -0
  143. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0062_merge_20240913_0222.py +0 -0
  144. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0063_conversation_temp_id.py +0 -0
  145. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0064_remove_conversation_temp_id_alter_conversation_id.py +0 -0
  146. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0065_remove_agent_avatar_remove_agent_public_and_more.py +0 -0
  147. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0066_remove_agent_tools_agent_input_tools_and_more.py +0 -0
  148. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0067_alter_agent_style_icon.py +0 -0
  149. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0068_alter_agent_output_modes.py +0 -0
  150. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0069_webscraper_serverchatsettings_web_scraper.py +0 -0
  151. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0070_alter_agent_input_tools_alter_agent_output_modes.py +0 -0
  152. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0071_subscription_enabled_trial_at_and_more.py +0 -0
  153. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0072_entry_search_model.py +0 -0
  154. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0073_delete_usersearchmodelconfig.py +0 -0
  155. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0074_alter_conversation_title.py +0 -0
  156. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/0075_migrate_generated_assets_and_validate.py +0 -0
  157. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/migrations/__init__.py +0 -0
  158. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/database/tests.py +0 -0
  159. {khoj-1.30.11.dev55/src/khoj/interface/compiled/_next/static/WZaSBOrll6IpdAZVluZmu → khoj-1.30.11.dev62/src/khoj/interface/compiled/_next/static/FJZukpb_TPhFjZ5RC7rGN}/_buildManifest.js +0 -0
  160. {khoj-1.30.11.dev55/src/khoj/interface/compiled/_next/static/WZaSBOrll6IpdAZVluZmu → khoj-1.30.11.dev62/src/khoj/interface/compiled/_next/static/FJZukpb_TPhFjZ5RC7rGN}/_ssgManifest.js +0 -0
  161. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/1210.ef7a0f9a7e43da1d.js +0 -0
  162. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/1279-4cb23143aa2c0228.js +0 -0
  163. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/1459.690bf20e7d7b7090.js +0 -0
  164. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/1603-e40aadd1e56ab030.js +0 -0
  165. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/1970-1b63ac1497b03a10.js +0 -0
  166. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/2646-92ba433951d02d52.js +0 -0
  167. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/3072-be830e4f8412b9d2.js +0 -0
  168. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/3463-081c031e873b7966.js +0 -0
  169. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/3690-51312931ba1eae30.js +0 -0
  170. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/3717-b46079dbe9f55694.js +0 -0
  171. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/4504-62ac13e7d94c52f9.js +0 -0
  172. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/4602-460621c3241e0d13.js +0 -0
  173. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/4752-554a3db270186ce3.js +0 -0
  174. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/5512-7cc62049bbe60e11.js +0 -0
  175. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/5538-0ea2d3944ca051e1.js +0 -0
  176. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/7023-e8de2bded4df6539.js +0 -0
  177. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/7592-a09c39a38e60634b.js +0 -0
  178. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/8423-1dda16bc56236523.js +0 -0
  179. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/94ca1967.5584df65931cfe83.js +0 -0
  180. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/964ecbae.ea4eab2a3a835ffe.js +0 -0
  181. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/app/_not-found/page-cfba071f5a657256.js +0 -0
  182. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/app/agents/layout-f2ea2b26fc0e78b1.js +0 -0
  183. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/app/automations/layout-7f1b79a2c67af0b4.js +0 -0
  184. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/app/layout-6310c57b674dd6f5.js +0 -0
  185. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/app/settings/layout-f285795bc3154b8c.js +0 -0
  186. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/d3ac728e-a9e3522eef9b6b28.js +0 -0
  187. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/fd9d1056-2e6c8140e79afc3b.js +0 -0
  188. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js +0 -0
  189. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/main-1ea5c2e0fdef4626.js +0 -0
  190. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/main-app-6d6ee3495efe03d4.js +0 -0
  191. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/pages/_app-f870474a17b7f2fd.js +0 -0
  192. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js +0 -0
  193. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
  194. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/css/089de1d8526b96e9.css +0 -0
  195. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/css/1f293605f2871853.css +0 -0
  196. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/css/3c34171b174cc381.css +0 -0
  197. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/css/3cf13271869a4aeb.css +0 -0
  198. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/css/5a400c87d295e68a.css +0 -0
  199. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/css/80bd6301fc657983.css +0 -0
  200. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/1d8a05b60287ae6c-s.p.woff2 +0 -0
  201. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/6f22fce21a7c433c-s.woff2 +0 -0
  202. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/77c207b095007c34-s.p.woff2 +0 -0
  203. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/82ef96de0e8f4d8c-s.p.woff2 +0 -0
  204. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_AMS-Regular.1608a09b.woff +0 -0
  205. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf +0 -0
  206. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2 +0 -0
  207. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff +0 -0
  208. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf +0 -0
  209. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2 +0 -0
  210. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf +0 -0
  211. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2 +0 -0
  212. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff +0 -0
  213. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff +0 -0
  214. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf +0 -0
  215. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2 +0 -0
  216. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Fraktur-Regular.7c187121.woff +0 -0
  217. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2 +0 -0
  218. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf +0 -0
  219. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf +0 -0
  220. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2 +0 -0
  221. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Main-Bold.d181c465.woff +0 -0
  222. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2 +0 -0
  223. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf +0 -0
  224. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff +0 -0
  225. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Main-Italic.47373d1e.ttf +0 -0
  226. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Main-Italic.8916142b.woff2 +0 -0
  227. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Main-Italic.9024d815.woff +0 -0
  228. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Main-Regular.0462f03b.woff2 +0 -0
  229. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Main-Regular.7f51fe03.woff +0 -0
  230. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf +0 -0
  231. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2 +0 -0
  232. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf +0 -0
  233. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff +0 -0
  234. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Math-Italic.5295ba48.woff +0 -0
  235. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Math-Italic.939bc644.ttf +0 -0
  236. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Math-Italic.f28c23ac.woff2 +0 -0
  237. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2 +0 -0
  238. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf +0 -0
  239. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff +0 -0
  240. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2 +0 -0
  241. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff +0 -0
  242. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf +0 -0
  243. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_SansSerif-Regular.74048478.woff +0 -0
  244. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2 +0 -0
  245. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf +0 -0
  246. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Script-Regular.03e9641d.woff2 +0 -0
  247. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Script-Regular.07505710.woff +0 -0
  248. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf +0 -0
  249. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Size1-Regular.e1e279cb.woff +0 -0
  250. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Size1-Regular.eae34984.woff2 +0 -0
  251. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Size1-Regular.fabc004a.ttf +0 -0
  252. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Size2-Regular.57727022.woff +0 -0
  253. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Size2-Regular.5916a24f.woff2 +0 -0
  254. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf +0 -0
  255. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Size3-Regular.9acaf01c.woff +0 -0
  256. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Size3-Regular.a144ef58.ttf +0 -0
  257. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2 +0 -0
  258. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2 +0 -0
  259. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Size4-Regular.7a996c9d.woff +0 -0
  260. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf +0 -0
  261. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Typewriter-Regular.6258592b.woff +0 -0
  262. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2 +0 -0
  263. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf +0 -0
  264. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/a6ecd16fa044d500-s.p.woff2 +0 -0
  265. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/bd82c78e5b7b3fe9-s.p.woff2 +0 -0
  266. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/c32c8052c071fc42-s.woff2 +0 -0
  267. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/c4250770ab8708b6-s.p.woff2 +0 -0
  268. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/e098aaaecc9cfbb2-s.p.woff2 +0 -0
  269. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp +0 -0
  270. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp +0 -0
  271. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/globe.98e105ca.webp +0 -0
  272. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp +0 -0
  273. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/agents.svg +0 -0
  274. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/assets/icons/khoj_lantern.ico +0 -0
  275. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/assets/icons/khoj_lantern.svg +0 -0
  276. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/assets/icons/khoj_lantern_1200x1200.png +0 -0
  277. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/assets/icons/khoj_lantern_128x128.png +0 -0
  278. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/assets/icons/khoj_lantern_128x128_dark.png +0 -0
  279. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/assets/icons/khoj_lantern_256x256.png +0 -0
  280. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/assets/icons/khoj_lantern_512x512.png +0 -0
  281. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/assets/icons/khoj_lantern_logomarktype_1200x630.png +0 -0
  282. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/assets/samples/desktop-browse-draw-sample.png +0 -0
  283. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/assets/samples/desktop-plain-chat-sample.png +0 -0
  284. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png +0 -0
  285. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png +0 -0
  286. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png +0 -0
  287. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png +0 -0
  288. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/automation.svg +0 -0
  289. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/chat.svg +0 -0
  290. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/close.svg +0 -0
  291. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/copy-button-success.svg +0 -0
  292. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/copy-button.svg +0 -0
  293. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/khoj.webmanifest +0 -0
  294. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/logo.svg +0 -0
  295. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/send.svg +0 -0
  296. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/share.svg +0 -0
  297. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/thumbs-down.svg +0 -0
  298. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/compiled/thumbs-up.svg +0 -0
  299. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/email/feedback.html +0 -0
  300. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/email/magic_link.html +0 -0
  301. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/email/task.html +0 -0
  302. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/email/welcome.html +0 -0
  303. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/web/.well-known/assetlinks.json +0 -0
  304. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/web/assets/icons/agents.svg +0 -0
  305. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/web/assets/icons/automation.svg +0 -0
  306. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/web/assets/icons/chat.svg +0 -0
  307. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/web/assets/icons/github.svg +0 -0
  308. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/web/assets/icons/khoj-logo-sideways-200.png +0 -0
  309. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/web/assets/icons/khoj-logo-sideways-500.png +0 -0
  310. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/web/assets/icons/khoj-logo-sideways.svg +0 -0
  311. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/web/assets/icons/khoj.svg +0 -0
  312. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/web/assets/icons/logotype.svg +0 -0
  313. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/web/assets/icons/search.svg +0 -0
  314. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/web/assets/icons/sync.svg +0 -0
  315. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/web/assets/khoj.css +0 -0
  316. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/web/assets/utils.js +0 -0
  317. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/web/base_config.html +0 -0
  318. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/web/content_source_github_input.html +0 -0
  319. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/web/login.html +0 -0
  320. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/interface/web/utils.html +0 -0
  321. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/main.py +0 -0
  322. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/manage.py +0 -0
  323. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/migrations/__init__.py +0 -0
  324. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/migrations/migrate_offline_chat_default_model.py +0 -0
  325. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/migrations/migrate_offline_chat_default_model_2.py +0 -0
  326. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/migrations/migrate_offline_chat_schema.py +0 -0
  327. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/migrations/migrate_offline_model.py +0 -0
  328. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/migrations/migrate_processor_config_openai.py +0 -0
  329. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/migrations/migrate_version.py +0 -0
  330. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/__init__.py +0 -0
  331. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/content/__init__.py +0 -0
  332. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/content/docx/__init__.py +0 -0
  333. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/content/docx/docx_to_entries.py +0 -0
  334. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/content/github/__init__.py +0 -0
  335. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/content/github/github_to_entries.py +0 -0
  336. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/content/images/__init__.py +0 -0
  337. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/content/images/image_to_entries.py +0 -0
  338. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/content/markdown/__init__.py +0 -0
  339. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/content/markdown/markdown_to_entries.py +0 -0
  340. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/content/notion/notion_to_entries.py +0 -0
  341. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/content/org_mode/__init__.py +0 -0
  342. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/content/org_mode/org_to_entries.py +0 -0
  343. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/content/org_mode/orgnode.py +0 -0
  344. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/content/pdf/__init__.py +0 -0
  345. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/content/pdf/pdf_to_entries.py +0 -0
  346. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/content/plaintext/__init__.py +0 -0
  347. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/content/plaintext/plaintext_to_entries.py +0 -0
  348. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/content/text_to_entries.py +0 -0
  349. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/conversation/__init__.py +0 -0
  350. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/conversation/anthropic/__init__.py +0 -0
  351. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/conversation/anthropic/anthropic_chat.py +0 -0
  352. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/conversation/anthropic/utils.py +0 -0
  353. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/conversation/google/__init__.py +0 -0
  354. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/conversation/google/gemini_chat.py +0 -0
  355. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/conversation/google/utils.py +0 -0
  356. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/conversation/offline/__init__.py +0 -0
  357. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/conversation/offline/chat_model.py +0 -0
  358. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/conversation/offline/utils.py +0 -0
  359. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/conversation/offline/whisper.py +0 -0
  360. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/conversation/openai/__init__.py +0 -0
  361. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/conversation/openai/gpt.py +0 -0
  362. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/conversation/openai/whisper.py +0 -0
  363. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/embeddings.py +0 -0
  364. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/speech/__init__.py +0 -0
  365. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/speech/text_to_speech.py +0 -0
  366. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/tools/__init__.py +0 -0
  367. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/tools/online_search.py +0 -0
  368. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/processor/tools/run_code.py +0 -0
  369. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/routers/__init__.py +0 -0
  370. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/routers/api_agents.py +0 -0
  371. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/routers/api_chat.py +0 -0
  372. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/routers/api_content.py +0 -0
  373. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/routers/api_model.py +0 -0
  374. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/routers/api_phone.py +0 -0
  375. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/routers/api_subscription.py +0 -0
  376. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/routers/auth.py +0 -0
  377. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/routers/email.py +0 -0
  378. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/routers/notion.py +0 -0
  379. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/routers/research.py +0 -0
  380. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/routers/storage.py +0 -0
  381. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/routers/twilio.py +0 -0
  382. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/routers/web_client.py +0 -0
  383. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/search_filter/__init__.py +0 -0
  384. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/search_filter/base_filter.py +0 -0
  385. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/search_filter/date_filter.py +0 -0
  386. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/search_filter/file_filter.py +0 -0
  387. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/search_filter/word_filter.py +0 -0
  388. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/search_type/__init__.py +0 -0
  389. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/search_type/text_search.py +0 -0
  390. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/utils/__init__.py +0 -0
  391. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/utils/cli.py +0 -0
  392. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/utils/config.py +0 -0
  393. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/utils/constants.py +0 -0
  394. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/utils/fs_syncer.py +0 -0
  395. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/utils/jsonl.py +0 -0
  396. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/utils/models.py +0 -0
  397. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/utils/rawconfig.py +0 -0
  398. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/utils/state.py +0 -0
  399. {khoj-1.30.11.dev55 → khoj-1.30.11.dev62}/src/khoj/utils/yaml.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: khoj
3
- Version: 1.30.11.dev55
3
+ Version: 1.30.11.dev62
4
4
  Summary: Your Second Brain
5
5
  Project-URL: Homepage, https://khoj.dev
6
6
  Project-URL: Documentation, https://docs.khoj.dev
@@ -232,9 +232,9 @@ def configure_server(
232
232
  config = FullConfig()
233
233
  state.config = config
234
234
 
235
- if ConversationAdapters.has_valid_openai_conversation_config():
236
- openai_config = ConversationAdapters.get_openai_conversation_config()
237
- state.openai_client = openai.OpenAI(api_key=openai_config.api_key)
235
+ if ConversationAdapters.has_valid_ai_model_api():
236
+ ai_model_api = ConversationAdapters.get_ai_model_api()
237
+ state.openai_client = openai.OpenAI(api_key=ai_model_api.api_key)
238
238
 
239
239
  # Initialize Search Models from Config and initialize content
240
240
  try:
@@ -35,6 +35,7 @@ from torch import Tensor
35
35
 
36
36
  from khoj.database.models import (
37
37
  Agent,
38
+ AiModelApi,
38
39
  ChatModelOptions,
39
40
  ClientApplication,
40
41
  Conversation,
@@ -46,7 +47,6 @@ from khoj.database.models import (
46
47
  KhojApiUser,
47
48
  KhojUser,
48
49
  NotionConfig,
49
- OpenAIProcessorConversationConfig,
50
50
  ProcessLock,
51
51
  PublicConversation,
52
52
  ReflectiveQuestion,
@@ -981,7 +981,7 @@ class ConversationAdapters:
981
981
 
982
982
  @staticmethod
983
983
  async def aget_all_conversation_configs():
984
- return await sync_to_async(list)(ChatModelOptions.objects.prefetch_related("openai_config").all())
984
+ return await sync_to_async(list)(ChatModelOptions.objects.prefetch_related("ai_model_api").all())
985
985
 
986
986
  @staticmethod
987
987
  def get_vision_enabled_config():
@@ -1000,12 +1000,12 @@ class ConversationAdapters:
1000
1000
  return None
1001
1001
 
1002
1002
  @staticmethod
1003
- def get_openai_conversation_config():
1004
- return OpenAIProcessorConversationConfig.objects.filter().first()
1003
+ def get_ai_model_api():
1004
+ return AiModelApi.objects.filter().first()
1005
1005
 
1006
1006
  @staticmethod
1007
- def has_valid_openai_conversation_config():
1008
- return OpenAIProcessorConversationConfig.objects.filter().exists()
1007
+ def has_valid_ai_model_api():
1008
+ return AiModelApi.objects.filter().exists()
1009
1009
 
1010
1010
  @staticmethod
1011
1011
  @arequire_valid_user
@@ -1093,7 +1093,7 @@ class ConversationAdapters:
1093
1093
  server_chat_settings: ServerChatSettings = (
1094
1094
  await ServerChatSettings.objects.filter()
1095
1095
  .prefetch_related(
1096
- "chat_default", "chat_default__openai_config", "chat_advanced", "chat_advanced__openai_config"
1096
+ "chat_default", "chat_default__ai_model_api", "chat_advanced", "chat_advanced__ai_model_api"
1097
1097
  )
1098
1098
  .afirst()
1099
1099
  )
@@ -1109,7 +1109,7 @@ class ConversationAdapters:
1109
1109
 
1110
1110
  # Get the user's chat settings, if the server chat settings are not set
1111
1111
  user_chat_settings = (
1112
- (await UserConversationConfig.objects.filter(user=user).prefetch_related("setting__openai_config").afirst())
1112
+ (await UserConversationConfig.objects.filter(user=user).prefetch_related("setting__ai_model_api").afirst())
1113
1113
  if user
1114
1114
  else None
1115
1115
  )
@@ -1117,7 +1117,7 @@ class ConversationAdapters:
1117
1117
  return user_chat_settings.setting
1118
1118
 
1119
1119
  # Get the first chat model if even the user chat settings are not set
1120
- return await ChatModelOptions.objects.filter().prefetch_related("openai_config").afirst()
1120
+ return await ChatModelOptions.objects.filter().prefetch_related("ai_model_api").afirst()
1121
1121
 
1122
1122
  @staticmethod
1123
1123
  def get_advanced_conversation_config(user: KhojUser):
@@ -1130,7 +1130,7 @@ class ConversationAdapters:
1130
1130
  async def aget_advanced_conversation_config(user: KhojUser = None):
1131
1131
  server_chat_settings: ServerChatSettings = (
1132
1132
  await ServerChatSettings.objects.filter()
1133
- .prefetch_related("chat_advanced", "chat_advanced__openai_config")
1133
+ .prefetch_related("chat_advanced", "chat_advanced__ai_model_api")
1134
1134
  .afirst()
1135
1135
  )
1136
1136
  if server_chat_settings is not None and server_chat_settings.chat_advanced is not None:
@@ -1258,7 +1258,7 @@ class ConversationAdapters:
1258
1258
  @staticmethod
1259
1259
  async def aget_user_conversation_config(user: KhojUser):
1260
1260
  config = (
1261
- await UserConversationConfig.objects.filter(user=user).prefetch_related("setting__openai_config").afirst()
1261
+ await UserConversationConfig.objects.filter(user=user).prefetch_related("setting__ai_model_api").afirst()
1262
1262
  )
1263
1263
  if not config:
1264
1264
  return None
@@ -1313,7 +1313,7 @@ class ConversationAdapters:
1313
1313
  ChatModelOptions.ModelType.OPENAI,
1314
1314
  ChatModelOptions.ModelType.GOOGLE,
1315
1315
  ]
1316
- ) and conversation_config.openai_config:
1316
+ ) and conversation_config.ai_model_api:
1317
1317
  return conversation_config
1318
1318
 
1319
1319
  else:
@@ -1321,7 +1321,7 @@ class ConversationAdapters:
1321
1321
 
1322
1322
  @staticmethod
1323
1323
  async def aget_text_to_image_model_config():
1324
- return await TextToImageModelConfig.objects.filter().prefetch_related("openai_config").afirst()
1324
+ return await TextToImageModelConfig.objects.filter().prefetch_related("ai_model_api").afirst()
1325
1325
 
1326
1326
  @staticmethod
1327
1327
  def get_text_to_image_model_config():
@@ -1343,9 +1343,9 @@ class ConversationAdapters:
1343
1343
 
1344
1344
  @staticmethod
1345
1345
  async def aget_user_text_to_image_model(user: KhojUser) -> Optional[TextToImageModelConfig]:
1346
- # Create a custom queryset for prefetching settings__openai_config, handling null cases
1346
+ # Create a custom queryset for prefetching settings__ai_model_api, handling null cases
1347
1347
  settings_prefetch = Prefetch(
1348
- "setting", queryset=TextToImageModelConfig.objects.prefetch_related("openai_config")
1348
+ "setting", queryset=TextToImageModelConfig.objects.prefetch_related("ai_model_api")
1349
1349
  )
1350
1350
 
1351
1351
  config = await UserTextToImageModelConfig.objects.filter(user=user).prefetch_related(settings_prefetch).afirst()
@@ -1,6 +1,6 @@
1
1
  import csv
2
2
  import json
3
- from datetime import date, datetime, timedelta, timezone
3
+ from datetime import datetime, timedelta
4
4
 
5
5
  from apscheduler.job import Job
6
6
  from django.contrib import admin, messages
@@ -15,6 +15,7 @@ from unfold import admin as unfold_admin
15
15
 
16
16
  from khoj.database.models import (
17
17
  Agent,
18
+ AiModelApi,
18
19
  ChatModelOptions,
19
20
  ClientApplication,
20
21
  Conversation,
@@ -22,7 +23,6 @@ from khoj.database.models import (
22
23
  GithubConfig,
23
24
  KhojUser,
24
25
  NotionConfig,
25
- OpenAIProcessorConversationConfig,
26
26
  ProcessLock,
27
27
  ReflectiveQuestion,
28
28
  SearchModelConfig,
@@ -174,6 +174,7 @@ class AgentAdmin(unfold_admin.ModelAdmin):
174
174
  "name",
175
175
  )
176
176
  search_fields = ("id", "name")
177
+ list_filter = ("privacy_level",)
177
178
  ordering = ("-created_at",)
178
179
 
179
180
 
@@ -216,10 +217,10 @@ class ChatModelOptionsAdmin(unfold_admin.ModelAdmin):
216
217
  list_display = (
217
218
  "id",
218
219
  "chat_model",
219
- "model_type",
220
+ "ai_model_api",
220
221
  "max_prompt_size",
221
222
  )
222
- search_fields = ("id", "chat_model", "model_type")
223
+ search_fields = ("id", "chat_model", "ai_model_api__name")
223
224
 
224
225
 
225
226
  @admin.register(TextToImageModelConfig)
@@ -232,8 +233,8 @@ class TextToImageModelOptionsAdmin(unfold_admin.ModelAdmin):
232
233
  search_fields = ("id", "model_name", "model_type")
233
234
 
234
235
 
235
- @admin.register(OpenAIProcessorConversationConfig)
236
- class OpenAIProcessorConversationConfigAdmin(unfold_admin.ModelAdmin):
236
+ @admin.register(AiModelApi)
237
+ class AiModelApiAdmin(unfold_admin.ModelAdmin):
237
238
  list_display = (
238
239
  "id",
239
240
  "name",
@@ -287,7 +288,7 @@ class ConversationAdmin(unfold_admin.ModelAdmin):
287
288
  "client",
288
289
  )
289
290
  search_fields = ("id", "user__email", "user__username", "client__name")
290
- list_filter = ("agent",)
291
+ list_filter = ("agent", "client", "user")
291
292
  ordering = ("-created_at",)
292
293
 
293
294
  actions = ["export_selected_objects", "export_selected_minimal_objects"]
@@ -0,0 +1,26 @@
1
+ # Generated by Django 5.0.9 on 2024-12-05 09:00
2
+
3
+ from django.db import migrations
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+ dependencies = [
8
+ ("database", "0075_migrate_generated_assets_and_validate"),
9
+ ]
10
+
11
+ operations = [
12
+ migrations.RenameModel(
13
+ old_name="OpenAIProcessorConversationConfig",
14
+ new_name="AiModelApi",
15
+ ),
16
+ migrations.RenameField(
17
+ model_name="chatmodeloptions",
18
+ old_name="openai_config",
19
+ new_name="ai_model_api",
20
+ ),
21
+ migrations.RenameField(
22
+ model_name="texttoimagemodelconfig",
23
+ old_name="openai_config",
24
+ new_name="ai_model_api",
25
+ ),
26
+ ]
@@ -144,6 +144,9 @@ class KhojUser(AbstractUser):
144
144
  self.uuid = uuid.uuid4()
145
145
  super().save(*args, **kwargs)
146
146
 
147
+ def __str__(self):
148
+ return f"{self.username} ({self.uuid})"
149
+
147
150
 
148
151
  class GoogleUser(models.Model):
149
152
  user = models.OneToOneField(KhojUser, on_delete=models.CASCADE)
@@ -181,11 +184,14 @@ class Subscription(DbBaseModel):
181
184
  enabled_trial_at = models.DateTimeField(null=True, default=None, blank=True)
182
185
 
183
186
 
184
- class OpenAIProcessorConversationConfig(DbBaseModel):
187
+ class AiModelApi(DbBaseModel):
185
188
  name = models.CharField(max_length=200)
186
189
  api_key = models.CharField(max_length=200)
187
190
  api_base_url = models.URLField(max_length=200, default=None, blank=True, null=True)
188
191
 
192
+ def __str__(self):
193
+ return self.name
194
+
189
195
 
190
196
  class ChatModelOptions(DbBaseModel):
191
197
  class ModelType(models.TextChoices):
@@ -200,9 +206,10 @@ class ChatModelOptions(DbBaseModel):
200
206
  chat_model = models.CharField(max_length=200, default="bartowski/Meta-Llama-3.1-8B-Instruct-GGUF")
201
207
  model_type = models.CharField(max_length=200, choices=ModelType.choices, default=ModelType.OFFLINE)
202
208
  vision_enabled = models.BooleanField(default=False)
203
- openai_config = models.ForeignKey(
204
- OpenAIProcessorConversationConfig, on_delete=models.CASCADE, default=None, null=True, blank=True
205
- )
209
+ ai_model_api = models.ForeignKey(AiModelApi, on_delete=models.CASCADE, default=None, null=True, blank=True)
210
+
211
+ def __str__(self):
212
+ return self.chat_model
206
213
 
207
214
 
208
215
  class VoiceModelOption(DbBaseModel):
@@ -309,6 +316,9 @@ class Agent(DbBaseModel):
309
316
 
310
317
  super().save(*args, **kwargs)
311
318
 
319
+ def __str__(self):
320
+ return self.name
321
+
312
322
 
313
323
  class ProcessLock(DbBaseModel):
314
324
  class Operation(models.TextChoices):
@@ -422,6 +432,9 @@ class WebScraper(DbBaseModel):
422
432
 
423
433
  super().save(*args, **kwargs)
424
434
 
435
+ def __str__(self):
436
+ return self.name
437
+
425
438
 
426
439
  class ServerChatSettings(DbBaseModel):
427
440
  chat_default = models.ForeignKey(
@@ -494,6 +507,9 @@ class SearchModelConfig(DbBaseModel):
494
507
  # The confidence threshold of the bi_encoder model to consider the embeddings as relevant
495
508
  bi_encoder_confidence_threshold = models.FloatField(default=0.18)
496
509
 
510
+ def __str__(self):
511
+ return self.name
512
+
497
513
 
498
514
  class TextToImageModelConfig(DbBaseModel):
499
515
  class ModelType(models.TextChoices):
@@ -504,26 +520,24 @@ class TextToImageModelConfig(DbBaseModel):
504
520
  model_name = models.CharField(max_length=200, default="dall-e-3")
505
521
  model_type = models.CharField(max_length=200, choices=ModelType.choices, default=ModelType.OPENAI)
506
522
  api_key = models.CharField(max_length=200, default=None, null=True, blank=True)
507
- openai_config = models.ForeignKey(
508
- OpenAIProcessorConversationConfig, on_delete=models.CASCADE, default=None, null=True, blank=True
509
- )
523
+ ai_model_api = models.ForeignKey(AiModelApi, on_delete=models.CASCADE, default=None, null=True, blank=True)
510
524
 
511
525
  def clean(self):
512
526
  # Custom validation logic
513
527
  error = {}
514
528
  if self.model_type == self.ModelType.OPENAI:
515
- if self.api_key and self.openai_config:
529
+ if self.api_key and self.ai_model_api:
516
530
  error[
517
531
  "api_key"
518
- ] = "Both API key and OpenAI config cannot be set for OpenAI models. Please set only one of them."
532
+ ] = "Both API key and AI Model API cannot be set for OpenAI models. Please set only one of them."
519
533
  error[
520
- "openai_config"
534
+ "ai_model_api"
521
535
  ] = "Both API key and OpenAI config cannot be set for OpenAI models. Please set only one of them."
522
536
  if self.model_type != self.ModelType.OPENAI:
523
537
  if not self.api_key:
524
538
  error["api_key"] = "The API key field must be set for non OpenAI models."
525
- if self.openai_config:
526
- error["openai_config"] = "OpenAI config cannot be set for non OpenAI models."
539
+ if self.ai_model_api:
540
+ error["ai_model_api"] = "AI Model API cannot be set for non OpenAI models."
527
541
  if error:
528
542
  raise ValidationError(error)
529
543
 
@@ -531,6 +545,9 @@ class TextToImageModelConfig(DbBaseModel):
531
545
  self.clean()
532
546
  super().save(*args, **kwargs)
533
547
 
548
+ def __str__(self):
549
+ return f"{self.model_name} - {self.model_type}"
550
+
534
551
 
535
552
  class SpeechToTextModelOptions(DbBaseModel):
536
553
  class ModelType(models.TextChoices):
@@ -540,6 +557,9 @@ class SpeechToTextModelOptions(DbBaseModel):
540
557
  model_name = models.CharField(max_length=200, default="base")
541
558
  model_type = models.CharField(max_length=200, choices=ModelType.choices, default=ModelType.OFFLINE)
542
559
 
560
+ def __str__(self):
561
+ return f"{self.model_name} - {self.model_type}"
562
+
543
563
 
544
564
  class UserConversationConfig(DbBaseModel):
545
565
  user = models.OneToOneField(KhojUser, on_delete=models.CASCADE)
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="__variable_f36179 __variable_702545"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/1d8a05b60287ae6c-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/77c207b095007c34-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/82ef96de0e8f4d8c-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/a6ecd16fa044d500-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/bd82c78e5b7b3fe9-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c4250770ab8708b6-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e098aaaecc9cfbb2-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/089de1d8526b96e9.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/3c34171b174cc381.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-56eb35ef7ce6af2e.js"/><script src="/_next/static/chunks/fd9d1056-2e6c8140e79afc3b.js" async=""></script><script src="/_next/static/chunks/7023-e8de2bded4df6539.js" async=""></script><script src="/_next/static/chunks/main-app-6d6ee3495efe03d4.js" async=""></script><meta name="robots" content="noindex"/><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 https://app.chatwoot.com &#x27;unsafe-inline&#x27; &#x27;unsafe-eval&#x27;; connect-src &#x27;self&#x27; blob: 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: blob: 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;self&#x27; https://app.chatwoot.com; 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"/><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"/><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><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-56eb35ef7ce6af2e.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/1d8a05b60287ae6c-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/media/77c207b095007c34-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n3:HL[\"/_next/static/media/82ef96de0e8f4d8c-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n4:HL[\"/_next/static/media/a6ecd16fa044d500-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n5:HL[\"/_next/static/media/bd82c78e5b7b3fe9-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n6:HL[\"/_next/static/media/c4250770ab8708b6-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n7:HL[\"/_next/static/media/e098aaaecc9cfbb2-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n8:HL[\"/_next/static/css/089de1d8526b96e9.css\",\"style\"]\n9:HL[\"/_next/static/css/3c34171b174cc381.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"a:I[95751,[],\"\"]\nc:I[39275,[],\"\"]\nd:I[61343,[],\"\"]\n13:I[76130,[],\"\"]\ne:{\"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\"}\nf:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n10:{\"display\":\"inline-block\"}\n11:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\n14:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$La\",null,{\"buildId\":\"WZaSBOrll6IpdAZVluZmu\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\",\"\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$Lb\",[[\"$\",\"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],null]},[null,[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Ld\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/089de1d8526b96e9.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/3c34171b174cc381.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_f36179 __variable_702545\",\"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 https://app.chatwoot.com 'unsafe-inline' 'unsafe-eval'; connect-src 'self' blob: https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: blob: 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 'self' https://app.chatwoot.com; object-src 'none';\"}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Ld\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$e\",\"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\":\"$f\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$10\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$11\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$L12\"],\"globalErrorComponent\":\"$13\",\"missingSlots\":\"$W14\"}]\n"])</script><script>self.__next_f.push([1,"12:[[\"$\",\"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\"}],[\"$\",\"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\"}],[\"$\",\"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,"b:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="__variable_f36179 __variable_702545"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/1d8a05b60287ae6c-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/77c207b095007c34-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/82ef96de0e8f4d8c-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/a6ecd16fa044d500-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/bd82c78e5b7b3fe9-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c4250770ab8708b6-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e098aaaecc9cfbb2-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/089de1d8526b96e9.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/3c34171b174cc381.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-e220e21d9a8c0d5e.js"/><script src="/_next/static/chunks/fd9d1056-2e6c8140e79afc3b.js" async=""></script><script src="/_next/static/chunks/7023-e8de2bded4df6539.js" async=""></script><script src="/_next/static/chunks/main-app-6d6ee3495efe03d4.js" async=""></script><meta name="robots" content="noindex"/><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 https://app.chatwoot.com &#x27;unsafe-inline&#x27; &#x27;unsafe-eval&#x27;; connect-src &#x27;self&#x27; blob: 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: blob: 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;self&#x27; https://app.chatwoot.com; 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"/><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"/><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><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-e220e21d9a8c0d5e.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/1d8a05b60287ae6c-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/media/77c207b095007c34-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n3:HL[\"/_next/static/media/82ef96de0e8f4d8c-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n4:HL[\"/_next/static/media/a6ecd16fa044d500-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n5:HL[\"/_next/static/media/bd82c78e5b7b3fe9-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n6:HL[\"/_next/static/media/c4250770ab8708b6-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n7:HL[\"/_next/static/media/e098aaaecc9cfbb2-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n8:HL[\"/_next/static/css/089de1d8526b96e9.css\",\"style\"]\n9:HL[\"/_next/static/css/3c34171b174cc381.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"a:I[95751,[],\"\"]\nc:I[39275,[],\"\"]\nd:I[61343,[],\"\"]\n13:I[76130,[],\"\"]\ne:{\"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\"}\nf:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n10:{\"display\":\"inline-block\"}\n11:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\n14:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$La\",null,{\"buildId\":\"FJZukpb_TPhFjZ5RC7rGN\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\",\"\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$Lb\",[[\"$\",\"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],null]},[null,[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Ld\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/089de1d8526b96e9.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/3c34171b174cc381.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_f36179 __variable_702545\",\"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 https://app.chatwoot.com 'unsafe-inline' 'unsafe-eval'; connect-src 'self' blob: https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: blob: 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 'self' https://app.chatwoot.com; object-src 'none';\"}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Ld\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$e\",\"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\":\"$f\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$10\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$11\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$L12\"],\"globalErrorComponent\":\"$13\",\"missingSlots\":\"$W14\"}]\n"])</script><script>self.__next_f.push([1,"12:[[\"$\",\"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\"}],[\"$\",\"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\"}],[\"$\",\"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,"b:null\n"])</script></body></html>
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9718],{1813:function(e,t,n){Promise.resolve().then(n.bind(n,89915))},89915:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return O}});var a=n(57437),l=n(15283),o=n.n(l),s=n(29039),i=n(2265),r=n(79306),d=n(35418),c=n(64945),u=n(90837),p=n(66820),m=n(58485),f=n(48861),h=n(47412),g=n(69591),x=n(81970),v=n(39343),j=n(31014);let b=()=>window.fetch("/api/agents").then(e=>e.json()).catch(e=>console.log(e)),_=e=>fetch(e).then(e=>e.json());function y(e){let[t,n]=(0,i.useState)(!1),[l,o]=(0,i.useState)(null),[s,r]=(0,i.useState)(!0),c=(0,v.cI)({resolver:(0,j.F)(x.bc),defaultValues:{name:e.data.name,persona:e.data.persona,color:e.data.color,icon:e.data.icon,privacy_level:e.data.privacy_level,chat_model:e.selectedChatModelOption,files:[]}});return(0,i.useEffect)(()=>{c.reset({name:e.data.name,persona:e.data.persona,color:e.data.color,icon:e.data.icon,privacy_level:e.data.privacy_level,chat_model:e.selectedChatModelOption,files:[]})},[e.selectedChatModelOption,e.data]),(0,a.jsxs)(u.Vq,{open:t,onOpenChange:n,children:[(0,a.jsx)(u.hg,{children:(0,a.jsxs)("div",{className:"flex items-center text-md gap-2",children:[(0,a.jsx)(d.v,{}),"Create Agent"]})}),(0,a.jsxs)(u.cZ,{className:"lg:max-w-screen-lg overflow-y-scroll max-h-screen",children:[(0,a.jsx)(u.fK,{children:"Create Agent"}),!e.userProfile&&s&&(0,a.jsx)(p.Z,{loginRedirectMessage:"Sign in to start chatting with a specialized agent",onOpenChange:r}),(0,a.jsx)(x.ks,{form:c,onSubmit:t=>{fetch("/api/agents",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then(t=>{200===t.status?(c.reset(),n(!1),o(null),e.setAgentChangeTriggered(!0)):t.json().then(e=>{console.error(e),e.error&&o(e.error)})}).catch(e=>{console.error("Error:",e),o(e)})},create:!0,errors:l,filesOptions:e.filesOptions,modelOptions:e.modelOptions,inputToolOptions:e.inputToolOptions,outputModeOptions:e.outputModeOptions,isSubscribed:e.isSubscribed})]})]})}function O(){let{data:e,error:t,mutate:n}=(0,s.ZP)("agents",b,{revalidateOnFocus:!1}),l=(0,r.GW)(),{userConfig:d}=(0,r.h2)(!0),[u,v]=(0,i.useState)(!1),j=(0,g.IC)(),[O,w]=(0,i.useState)([]),[N,L]=(0,i.useState)([]),[M,C]=(0,i.useState)(null),{data:E,error:S}=(0,s.ZP)(d?"/api/content/computer":null,_),{data:Z,error:P}=(0,s.ZP)("/api/agents/options",_),[A,T]=(0,i.useState)(!1);if((0,i.useEffect)(()=>{A&&(n(),T(!1))},[A]),(0,i.useEffect)(()=>{if(e){w(e.filter(e=>e.creator===(null==l?void 0:l.username)));let t=e.filter(e=>"private"!==e.privacy_level&&e.creator!==(null==l?void 0:l.username));L(t);{let n=new URLSearchParams(window.location.search).get("agent");if(n){C(n);let a=e.find(e=>e.slug===n);a||(a=t.find(e=>e.slug===n)),a||fetch("/api/agents/".concat(n)).then(e=>{if(404===e.status)throw Error("Agent not found");return e.json()}).then(e=>{"protected"===e.privacy_level&&L(t=>[...t,e])})}}}},[e,l]),t)return(0,a.jsxs)("main",{className:o().main,children:[(0,a.jsx)("div",{className:"".concat(o().titleBar," text-5xl"),children:"Agents"}),(0,a.jsx)("div",{className:o().agentList,children:"Error loading agents"})]});if(!e)return(0,a.jsx)("main",{className:o().main,children:(0,a.jsxs)("div",{className:o().agentList,children:[(0,a.jsx)(m.l,{})," booting up your agents"]})});let R=(null==d?void 0:d.chat_model_options)||[],k=(null==d?void 0:d.selected_chat_model_config)||0,z=(0,r.T8)(d),F=R.find(e=>e.id===k);return(0,a.jsx)("main",{className:"w-full mx-auto",children:(0,a.jsxs)("div",{className:"grid w-full mx-auto",children:[(0,a.jsx)("div",{className:"".concat(o().sidePanel," top-0"),children:(0,a.jsx)(f.ZP,{conversationId:null,uploadedFiles:[],isMobileWidth:j})}),(0,a.jsxs)("div",{className:"".concat(o().pageLayout," w-full"),children:[(0,a.jsxs)("div",{className:"pt-6 md:pt-8 flex justify-between",children:[(0,a.jsx)("h1",{className:"text-3xl flex items-center",children:"Agents"}),(0,a.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,a.jsx)(y,{data:{slug:"",name:"",persona:"",color:"",icon:"",privacy_level:"private",managed_by_admin:!1,chat_model:"",input_tools:[],output_modes:[]},userProfile:l,isMobileWidth:j,filesOptions:E||[],modelOptions:(null==d?void 0:d.chat_model_options)||[],selectedChatModelOption:(null==F?void 0:F.name)||"",isSubscribed:z,setAgentChangeTriggered:T,inputToolOptions:(null==Z?void 0:Z.input_tools)||{},outputModeOptions:(null==Z?void 0:Z.output_modes)||{}})})]}),u&&(0,a.jsx)(p.Z,{loginRedirectMessage:"Sign in to start chatting with a specialized agent",onOpenChange:v}),(0,a.jsx)(h.bZ,{className:"bg-secondary border-none my-4",children:(0,a.jsxs)(h.X,{children:[(0,a.jsx)(c.B,{weight:"fill",className:"h-4 w-4 text-purple-400 inline"}),(0,a.jsx)("span",{className:"font-bold",children:"How it works"})," Use any of these specialized personas to tune your conversation to your needs."]})}),(0,a.jsx)("div",{className:"pt-6 md:pt-8",children:(0,a.jsx)("div",{className:"".concat(o().agentList),children:O.map(e=>(0,a.jsx)(x.EY,{data:e,userProfile:l,isMobileWidth:j,filesOptions:null!=E?E:[],selectedChatModelOption:(null==F?void 0:F.name)||"",isSubscribed:z,setAgentChangeTriggered:T,modelOptions:(null==d?void 0:d.chat_model_options)||[],editCard:!0,agentSlug:M||"",inputToolOptions:(null==Z?void 0:Z.input_tools)||{},outputModeOptions:(null==Z?void 0:Z.output_modes)||{}},e.slug))})}),(0,a.jsxs)("div",{className:"pt-6 md:pt-8",children:[(0,a.jsx)("h2",{className:"text-2xl",children:"Explore"}),(0,a.jsx)("div",{className:"".concat(o().agentList),children:N.map(e=>(0,a.jsx)(x.EY,{data:e,userProfile:l,isMobileWidth:j,editCard:!1,filesOptions:null!=E?E:[],selectedChatModelOption:(null==F?void 0:F.name)||"",isSubscribed:z,setAgentChangeTriggered:T,modelOptions:(null==d?void 0:d.chat_model_options)||[],agentSlug:M||"",inputToolOptions:(null==Z?void 0:Z.input_tools)||{},outputModeOptions:(null==Z?void 0:Z.output_modes)||{}},e.slug))})]})]})]})})}},66820:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var a=n(57437),l=n(6780),o=n(87138);function s(e){return(0,a.jsx)(l.aR,{open:!0,onOpenChange:e.onOpenChange,children:(0,a.jsxs)(l._T,{children:[(0,a.jsx)(l.fY,{children:(0,a.jsx)(l.f$,{children:"Sign in to Khoj to continue"})}),(0,a.jsxs)(l.yT,{children:[e.loginRedirectMessage,". By logging in, you agree to our"," ",(0,a.jsx)(o.default,{href:"https://khoj.dev/terms-of-service",children:"Terms of Service."})]}),(0,a.jsxs)(l.xo,{children:[(0,a.jsx)(l.le,{children:"Dismiss"}),(0,a.jsx)(l.OL,{className:"bg-slate-400 hover:bg-slate-500",onClick:()=>{window.location.href="/login?next=".concat(encodeURIComponent(window.location.pathname))},children:(0,a.jsxs)(o.default,{href:"/login?next=".concat(encodeURIComponent(window.location.pathname)),children:[" ","Login"]})})]})]})})}},70571:function(e,t,n){"use strict";n.d(t,{E:function(){return i}});var a=n(57437),l=n(2265),o=n(40537),s=n(37440);let i=l.forwardRef((e,t)=>{let{className:n,value:l,indicatorColor:i,...r}=e;return(0,a.jsx)(o.fC,{ref:t,className:(0,s.cn)("relative h-4 w-full overflow-hidden rounded-full bg-secondary",n),...r,children:(0,a.jsx)(o.z$,{className:"h-full w-full flex-1 bg-primary transition-all ".concat(i),style:{transform:"translateX(-".concat(100-(l||0),"%)")}})})});i.displayName=o.fC.displayName},93146:function(e,t,n){"use strict";n.d(t,{g:function(){return s}});var a=n(57437),l=n(2265),o=n(37440);let s=l.forwardRef((e,t)=>{let{className:n,...l}=e;return(0,a.jsx)("textarea",{className:(0,o.cn)("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",n),ref:t,...l})});s.displayName="Textarea"},19666:function(e,t,n){"use strict";n.d(t,{_v:function(){return c},aJ:function(){return d},pn:function(){return i},u:function(){return r}});var a=n(57437),l=n(2265),o=n(27071),s=n(37440);let i=o.zt,r=o.fC,d=o.xz,c=l.forwardRef((e,t)=>{let{className:n,sideOffset:l=4,...i}=e;return(0,a.jsx)(o.VY,{ref:t,sideOffset:l,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",n),...i})});c.displayName=o.VY.displayName},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,t,n){"use strict";n.d(t,{B:function(){return h}});var a=n(2265),l=n(52195);let o=new Map([["bold",a.createElement(a.Fragment,null,a.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",a.createElement(a.Fragment,null,a.createElement("path",{d:"M96,240l16-80L48,136,160,16,144,96l64,24Z",opacity:"0.2"}),a.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",a.createElement(a.Fragment,null,a.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",a.createElement(a.Fragment,null,a.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",a.createElement(a.Fragment,null,a.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",a.createElement(a.Fragment,null,a.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,i=Object.defineProperties,r=Object.getOwnPropertyDescriptors,d=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,p=(e,t,n)=>t in e?s(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,m=(e,t)=>{for(var n in t||(t={}))c.call(t,n)&&p(e,n,t[n]);if(d)for(var n of d(t))u.call(t,n)&&p(e,n,t[n]);return e},f=(e,t)=>i(e,r(t));let h=(0,a.forwardRef)((e,t)=>a.createElement(l.Z,f(m({ref:t},e),{weights:o})));h.displayName="Lightning"}},function(e){e.O(0,[9848,3072,4752,7592,5512,4602,1603,1970,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,t,n){Promise.resolve().then(n.bind(n,89915))},89915:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return O}});var a=n(57437),l=n(15283),o=n.n(l),s=n(29039),i=n(2265),r=n(79306),d=n(35418),c=n(64945),u=n(90837),p=n(66820),m=n(58485),f=n(48861),h=n(47412),g=n(69591),x=n(81970),v=n(39343),j=n(31014);let b=()=>window.fetch("/api/agents").then(e=>e.json()).catch(e=>console.log(e)),_=e=>fetch(e).then(e=>e.json());function y(e){let[t,n]=(0,i.useState)(!1),[l,o]=(0,i.useState)(null),[s,r]=(0,i.useState)(!0),c=(0,v.cI)({resolver:(0,j.F)(x.bc),defaultValues:{name:e.data.name,persona:e.data.persona,color:e.data.color,icon:e.data.icon,privacy_level:e.data.privacy_level,chat_model:e.selectedChatModelOption,files:[]}});return(0,i.useEffect)(()=>{c.reset({name:e.data.name,persona:e.data.persona,color:e.data.color,icon:e.data.icon,privacy_level:e.data.privacy_level,chat_model:e.selectedChatModelOption,files:[]})},[e.selectedChatModelOption,e.data]),(0,a.jsxs)(u.Vq,{open:t,onOpenChange:n,children:[(0,a.jsx)(u.hg,{children:(0,a.jsxs)("div",{className:"flex items-center text-md gap-2",children:[(0,a.jsx)(d.v,{}),"Create Agent"]})}),(0,a.jsxs)(u.cZ,{className:"lg:max-w-screen-lg overflow-y-scroll max-h-screen",children:[(0,a.jsx)(u.fK,{children:"Create Agent"}),!e.userProfile&&s&&(0,a.jsx)(p.Z,{loginRedirectMessage:"Sign in to start chatting with a specialized agent",onOpenChange:r}),(0,a.jsx)(x.ks,{form:c,onSubmit:t=>{fetch("/api/agents",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then(t=>{200===t.status?(c.reset(),n(!1),o(null),e.setAgentChangeTriggered(!0)):t.json().then(e=>{console.error(e),e.error&&o(e.error)})}).catch(e=>{console.error("Error:",e),o(e)})},create:!0,errors:l,filesOptions:e.filesOptions,modelOptions:e.modelOptions,inputToolOptions:e.inputToolOptions,outputModeOptions:e.outputModeOptions,isSubscribed:e.isSubscribed})]})]})}function O(){let{data:e,error:t,mutate:n}=(0,s.ZP)("agents",b,{revalidateOnFocus:!1}),l=(0,r.GW)(),{userConfig:d}=(0,r.h2)(!0),[u,v]=(0,i.useState)(!1),j=(0,g.IC)(),[O,w]=(0,i.useState)([]),[N,L]=(0,i.useState)([]),[M,C]=(0,i.useState)(null),{data:E,error:S}=(0,s.ZP)(d?"/api/content/computer":null,_),{data:Z,error:P}=(0,s.ZP)("/api/agents/options",_),[A,T]=(0,i.useState)(!1);if((0,i.useEffect)(()=>{A&&(n(),T(!1))},[A]),(0,i.useEffect)(()=>{if(e){w(e.filter(e=>e.creator===(null==l?void 0:l.username)));let t=e.filter(e=>"private"!==e.privacy_level&&e.creator!==(null==l?void 0:l.username));L(t);{let n=new URLSearchParams(window.location.search).get("agent");if(n){C(n);let a=e.find(e=>e.slug===n);a||(a=t.find(e=>e.slug===n)),a||fetch("/api/agents/".concat(n)).then(e=>{if(404===e.status)throw Error("Agent not found");return e.json()}).then(e=>{"protected"===e.privacy_level&&L(t=>[...t,e])})}}}},[e,l]),t)return(0,a.jsxs)("main",{className:o().main,children:[(0,a.jsx)("div",{className:"".concat(o().titleBar," text-5xl"),children:"Agents"}),(0,a.jsx)("div",{className:o().agentList,children:"Error loading agents"})]});if(!e)return(0,a.jsx)("main",{className:o().main,children:(0,a.jsxs)("div",{className:o().agentList,children:[(0,a.jsx)(m.l,{})," booting up your agents"]})});let R=(null==d?void 0:d.chat_model_options)||[],k=(null==d?void 0:d.selected_chat_model_config)||0,z=(0,r.T8)(d),F=R.find(e=>e.id===k);return(0,a.jsx)("main",{className:"w-full mx-auto",children:(0,a.jsxs)("div",{className:"grid w-full mx-auto",children:[(0,a.jsx)("div",{className:"".concat(o().sidePanel," top-0"),children:(0,a.jsx)(f.ZP,{conversationId:null,uploadedFiles:[],isMobileWidth:j})}),(0,a.jsxs)("div",{className:"".concat(o().pageLayout," w-full"),children:[(0,a.jsxs)("div",{className:"pt-6 md:pt-8 flex justify-between",children:[(0,a.jsx)("h1",{className:"text-3xl flex items-center",children:"Agents"}),(0,a.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,a.jsx)(y,{data:{slug:"",name:"",persona:"",color:"",icon:"",privacy_level:"private",managed_by_admin:!1,chat_model:"",input_tools:[],output_modes:[]},userProfile:l,isMobileWidth:j,filesOptions:E||[],modelOptions:(null==d?void 0:d.chat_model_options)||[],selectedChatModelOption:(null==F?void 0:F.name)||"",isSubscribed:z,setAgentChangeTriggered:T,inputToolOptions:(null==Z?void 0:Z.input_tools)||{},outputModeOptions:(null==Z?void 0:Z.output_modes)||{}})})]}),u&&(0,a.jsx)(p.Z,{loginRedirectMessage:"Sign in to start chatting with a specialized agent",onOpenChange:v}),(0,a.jsx)(h.bZ,{className:"bg-secondary border-none my-4",children:(0,a.jsxs)(h.X,{children:[(0,a.jsx)(c.B,{weight:"fill",className:"h-4 w-4 text-purple-400 inline"}),(0,a.jsx)("span",{className:"font-bold",children:"How it works"})," Use any of these specialized personas to tune your conversation to your needs."]})}),(0,a.jsx)("div",{className:"pt-6 md:pt-8",children:(0,a.jsx)("div",{className:"".concat(o().agentList),children:O.map(e=>(0,a.jsx)(x.EY,{data:e,userProfile:l,isMobileWidth:j,filesOptions:null!=E?E:[],selectedChatModelOption:(null==F?void 0:F.name)||"",isSubscribed:z,setAgentChangeTriggered:T,modelOptions:(null==d?void 0:d.chat_model_options)||[],editCard:!0,agentSlug:M||"",inputToolOptions:(null==Z?void 0:Z.input_tools)||{},outputModeOptions:(null==Z?void 0:Z.output_modes)||{}},e.slug))})}),(0,a.jsxs)("div",{className:"pt-6 md:pt-8",children:[(0,a.jsx)("h2",{className:"text-2xl",children:"Explore"}),(0,a.jsx)("div",{className:"".concat(o().agentList),children:N.map(e=>(0,a.jsx)(x.EY,{data:e,userProfile:l,isMobileWidth:j,editCard:!1,filesOptions:null!=E?E:[],selectedChatModelOption:(null==F?void 0:F.name)||"",isSubscribed:z,setAgentChangeTriggered:T,modelOptions:(null==d?void 0:d.chat_model_options)||[],agentSlug:M||"",inputToolOptions:(null==Z?void 0:Z.input_tools)||{},outputModeOptions:(null==Z?void 0:Z.output_modes)||{}},e.slug))})]})]})]})})}},66820:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var a=n(57437),l=n(6780),o=n(87138);function s(e){return(0,a.jsx)(l.aR,{open:!0,onOpenChange:e.onOpenChange,children:(0,a.jsxs)(l._T,{children:[(0,a.jsx)(l.fY,{children:(0,a.jsx)(l.f$,{children:"Sign in to Khoj to continue"})}),(0,a.jsxs)(l.yT,{children:[e.loginRedirectMessage,". By logging in, you agree to our"," ",(0,a.jsx)(o.default,{href:"https://khoj.dev/terms-of-service",children:"Terms of Service."})]}),(0,a.jsxs)(l.xo,{children:[(0,a.jsx)(l.le,{children:"Dismiss"}),(0,a.jsx)(l.OL,{className:"bg-slate-400 hover:bg-slate-500",onClick:()=>{window.location.href="/login?next=".concat(encodeURIComponent(window.location.pathname))},children:(0,a.jsxs)(o.default,{href:"/login?next=".concat(encodeURIComponent(window.location.pathname)),children:[" ","Login"]})})]})]})})}},70571:function(e,t,n){"use strict";n.d(t,{E:function(){return i}});var a=n(57437),l=n(2265),o=n(40537),s=n(37440);let i=l.forwardRef((e,t)=>{let{className:n,value:l,indicatorColor:i,...r}=e;return(0,a.jsx)(o.fC,{ref:t,className:(0,s.cn)("relative h-4 w-full overflow-hidden rounded-full bg-secondary",n),...r,children:(0,a.jsx)(o.z$,{className:"h-full w-full flex-1 bg-primary transition-all ".concat(i),style:{transform:"translateX(-".concat(100-(l||0),"%)")}})})});i.displayName=o.fC.displayName},93146:function(e,t,n){"use strict";n.d(t,{g:function(){return s}});var a=n(57437),l=n(2265),o=n(37440);let s=l.forwardRef((e,t)=>{let{className:n,...l}=e;return(0,a.jsx)("textarea",{className:(0,o.cn)("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",n),ref:t,...l})});s.displayName="Textarea"},19666:function(e,t,n){"use strict";n.d(t,{_v:function(){return c},aJ:function(){return d},pn:function(){return i},u:function(){return r}});var a=n(57437),l=n(2265),o=n(27071),s=n(37440);let i=o.zt,r=o.fC,d=o.xz,c=l.forwardRef((e,t)=>{let{className:n,sideOffset:l=4,...i}=e;return(0,a.jsx)(o.VY,{ref:t,sideOffset:l,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",n),...i})});c.displayName=o.VY.displayName},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,t,n){"use strict";n.d(t,{B:function(){return h}});var a=n(2265),l=n(52195);let o=new Map([["bold",a.createElement(a.Fragment,null,a.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",a.createElement(a.Fragment,null,a.createElement("path",{d:"M96,240l16-80L48,136,160,16,144,96l64,24Z",opacity:"0.2"}),a.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",a.createElement(a.Fragment,null,a.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",a.createElement(a.Fragment,null,a.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",a.createElement(a.Fragment,null,a.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",a.createElement(a.Fragment,null,a.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,i=Object.defineProperties,r=Object.getOwnPropertyDescriptors,d=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,p=(e,t,n)=>t in e?s(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,m=(e,t)=>{for(var n in t||(t={}))c.call(t,n)&&p(e,n,t[n]);if(d)for(var n of d(t))u.call(t,n)&&p(e,n,t[n]);return e},f=(e,t)=>i(e,r(t));let h=(0,a.forwardRef)((e,t)=>a.createElement(l.Z,f(m({ref:t},e),{weights:o})));h.displayName="Lightning"}},function(e){e.O(0,[9460,9448,3072,4752,7592,5512,4602,1603,1970,2971,7023,1744],function(){return e(e.s=1813)}),_N_E=e.O()}]);