khoj 1.17.1.dev222__tar.gz → 1.20.0__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 (246) hide show
  1. {khoj-1.17.1.dev222 → khoj-1.20.0}/PKG-INFO +1 -1
  2. khoj-1.20.0/src/khoj/routers/web_client.py +157 -0
  3. khoj-1.17.1.dev222/src/khoj/interface/web/404.html +0 -56
  4. khoj-1.17.1.dev222/src/khoj/interface/web/agent.html +0 -312
  5. khoj-1.17.1.dev222/src/khoj/interface/web/agents.html +0 -276
  6. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/cancel.svg +0 -3
  7. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/collapse.svg +0 -17
  8. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/computer.png +0 -0
  9. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/confirm-icon.svg +0 -1
  10. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/copy-button-success.svg +0 -6
  11. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/copy-button.svg +0 -5
  12. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/credit-card.png +0 -0
  13. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/delete.svg +0 -26
  14. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/docx.svg +0 -7
  15. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/edit.svg +0 -4
  16. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/favicon.icns +0 -0
  17. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/key.svg +0 -4
  18. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/markdown.svg +0 -1
  19. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/new.svg +0 -23
  20. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/notion.svg +0 -4
  21. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/openai-logomark.svg +0 -1
  22. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/org.svg +0 -1
  23. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/pdf.svg +0 -23
  24. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/pencil-edit.svg +0 -5
  25. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/plaintext.svg +0 -1
  26. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/question-mark-icon.svg +0 -1
  27. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/send.svg +0 -1
  28. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/share.svg +0 -8
  29. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/speaker.svg +0 -4
  30. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/stop-solid.svg +0 -37
  31. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/thumbs-down-svgrepo-com.svg +0 -6
  32. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/thumbs-up-svgrepo-com.svg +0 -6
  33. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/user-silhouette.svg +0 -4
  34. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/voice.svg +0 -8
  35. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/web.svg +0 -2
  36. khoj-1.17.1.dev222/src/khoj/interface/web/assets/icons/whatsapp.svg +0 -17
  37. khoj-1.17.1.dev222/src/khoj/interface/web/assets/markdown-it.min.js +0 -8476
  38. khoj-1.17.1.dev222/src/khoj/interface/web/assets/natural-cron.min.js +0 -1
  39. khoj-1.17.1.dev222/src/khoj/interface/web/assets/org.min.js +0 -1823
  40. khoj-1.17.1.dev222/src/khoj/interface/web/assets/pico.min.css +0 -5
  41. khoj-1.17.1.dev222/src/khoj/interface/web/assets/purify.min.js +0 -3
  42. khoj-1.17.1.dev222/src/khoj/interface/web/chat.html +0 -3436
  43. khoj-1.17.1.dev222/src/khoj/interface/web/config_automation.html +0 -1103
  44. khoj-1.17.1.dev222/src/khoj/interface/web/content_source_computer_input.html +0 -139
  45. khoj-1.17.1.dev222/src/khoj/interface/web/content_source_notion_input.html +0 -94
  46. khoj-1.17.1.dev222/src/khoj/interface/web/public_conversation.html +0 -2006
  47. khoj-1.17.1.dev222/src/khoj/interface/web/search.html +0 -470
  48. khoj-1.17.1.dev222/src/khoj/interface/web/settings.html +0 -1011
  49. khoj-1.17.1.dev222/src/khoj/routers/web_client.py +0 -258
  50. {khoj-1.17.1.dev222 → khoj-1.20.0}/.gitignore +0 -0
  51. {khoj-1.17.1.dev222 → khoj-1.20.0}/LICENSE +0 -0
  52. {khoj-1.17.1.dev222 → khoj-1.20.0}/README.md +0 -0
  53. {khoj-1.17.1.dev222 → khoj-1.20.0}/pyproject.toml +0 -0
  54. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/__init__.py +0 -0
  55. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/app/README.md +0 -0
  56. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/app/__init__.py +0 -0
  57. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/app/asgi.py +0 -0
  58. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/app/settings.py +0 -0
  59. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/app/urls.py +0 -0
  60. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/configure.py +0 -0
  61. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/__init__.py +0 -0
  62. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/adapters/__init__.py +0 -0
  63. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/admin.py +0 -0
  64. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/apps.py +0 -0
  65. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/management/__init__.py +0 -0
  66. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/management/commands/__init__.py +0 -0
  67. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/management/commands/change_generated_images_url.py +0 -0
  68. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/management/commands/convert_images_png_to_webp.py +0 -0
  69. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0001_khojuser.py +0 -0
  70. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0002_googleuser.py +0 -0
  71. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0003_vector_extension.py +0 -0
  72. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0004_content_types_and_more.py +0 -0
  73. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0005_embeddings_corpus_id.py +0 -0
  74. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0006_embeddingsdates.py +0 -0
  75. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0007_add_conversation.py +0 -0
  76. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0008_alter_conversation_conversation_log.py +0 -0
  77. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0009_khojapiuser.py +0 -0
  78. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0010_chatmodeloptions_and_more.py +0 -0
  79. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0010_rename_embeddings_entry_and_more.py +0 -0
  80. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0011_merge_20231102_0138.py +0 -0
  81. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0012_entry_file_source.py +0 -0
  82. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0013_subscription.py +0 -0
  83. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0014_alter_googleuser_picture.py +0 -0
  84. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0015_alter_subscription_user.py +0 -0
  85. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0016_alter_subscription_renewal_date.py +0 -0
  86. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0017_searchmodel.py +0 -0
  87. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0018_searchmodelconfig_delete_searchmodel.py +0 -0
  88. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0019_alter_googleuser_family_name_and_more.py +0 -0
  89. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0020_reflectivequestion.py +0 -0
  90. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0021_speechtotextmodeloptions_and_more.py +0 -0
  91. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0022_texttoimagemodelconfig.py +0 -0
  92. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0023_usersearchmodelconfig.py +0 -0
  93. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0024_alter_entry_embeddings.py +0 -0
  94. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0025_clientapplication_khojuser_phone_number_and_more.py +0 -0
  95. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0025_searchmodelconfig_embeddings_inference_endpoint_and_more.py +0 -0
  96. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0026_searchmodelconfig_cross_encoder_inference_endpoint_and_more.py +0 -0
  97. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0027_merge_20240118_1324.py +0 -0
  98. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0028_khojuser_verified_phone_number.py +0 -0
  99. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0029_userrequests.py +0 -0
  100. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0030_conversation_slug_and_title.py +0 -0
  101. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0031_agent_conversation_agent.py +0 -0
  102. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0031_alter_googleuser_locale.py +0 -0
  103. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0032_merge_20240322_0427.py +0 -0
  104. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0033_rename_tuning_agent_personality.py +0 -0
  105. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0034_alter_chatmodeloptions_chat_model.py +0 -0
  106. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0035_processlock.py +0 -0
  107. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0036_alter_processlock_name.py +0 -0
  108. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0036_delete_offlinechatprocessorconversationconfig.py +0 -0
  109. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0036_publicconversation.py +0 -0
  110. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0037_chatmodeloptions_openai_config_and_more.py +0 -0
  111. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0037_searchmodelconfig_bi_encoder_docs_encode_config_and_more.py +0 -0
  112. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0038_merge_20240425_0857.py +0 -0
  113. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0038_merge_20240426_1640.py +0 -0
  114. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0039_merge_20240501_0301.py +0 -0
  115. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0040_alter_processlock_name.py +0 -0
  116. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0040_merge_20240504_1010.py +0 -0
  117. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0041_merge_20240505_1234.py +0 -0
  118. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0042_serverchatsettings.py +0 -0
  119. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0043_alter_chatmodeloptions_model_type.py +0 -0
  120. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0044_conversation_file_filters.py +0 -0
  121. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0045_fileobject.py +0 -0
  122. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0046_khojuser_email_verification_code_and_more.py +0 -0
  123. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0047_alter_entry_file_type.py +0 -0
  124. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0048_voicemodeloption_uservoicemodelconfig.py +0 -0
  125. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0049_datastore.py +0 -0
  126. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0049_texttoimagemodelconfig_api_key_and_more.py +0 -0
  127. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0050_alter_processlock_name.py +0 -0
  128. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0051_merge_20240702_1220.py +0 -0
  129. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0052_alter_searchmodelconfig_bi_encoder_docs_encode_config_and_more.py +0 -0
  130. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0053_agent_style_color_agent_style_icon.py +0 -0
  131. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/0054_alter_agent_style_color.py +0 -0
  132. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/migrations/__init__.py +0 -0
  133. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/models/__init__.py +0 -0
  134. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/database/tests.py +0 -0
  135. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/email/feedback.html +0 -0
  136. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/email/magic_link.html +0 -0
  137. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/email/task.html +0 -0
  138. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/email/welcome.html +0 -0
  139. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/icons/agents.svg +0 -0
  140. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/icons/automation.svg +0 -0
  141. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/icons/chat.svg +0 -0
  142. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/icons/favicon-128x128.ico +0 -0
  143. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/icons/favicon-128x128.png +0 -0
  144. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/icons/favicon-256x256.png +0 -0
  145. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/icons/github.svg +0 -0
  146. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/icons/khoj-logo-sideways-200.png +0 -0
  147. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/icons/khoj-logo-sideways-500.png +0 -0
  148. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/icons/khoj-logo-sideways.svg +0 -0
  149. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/icons/khoj.svg +0 -0
  150. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/icons/logotype.svg +0 -0
  151. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/icons/search.svg +0 -0
  152. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/icons/sync.svg +0 -0
  153. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/khoj.css +0 -0
  154. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/samples/desktop-browse-draw-sample.png +0 -0
  155. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/samples/desktop-plain-chat-sample.png +0 -0
  156. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/samples/desktop-remember-plan-sample.png +0 -0
  157. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/samples/phone-browse-draw-sample.png +0 -0
  158. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/samples/phone-plain-chat-sample.png +0 -0
  159. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/samples/phone-remember-plan-sample.png +0 -0
  160. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/assets/utils.js +0 -0
  161. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/base_config.html +0 -0
  162. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/content_source_github_input.html +0 -0
  163. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/khoj.webmanifest +0 -0
  164. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/login.html +0 -0
  165. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/interface/web/utils.html +0 -0
  166. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/main.py +0 -0
  167. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/manage.py +0 -0
  168. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/migrations/__init__.py +0 -0
  169. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/migrations/migrate_offline_chat_default_model.py +0 -0
  170. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/migrations/migrate_offline_chat_default_model_2.py +0 -0
  171. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/migrations/migrate_offline_chat_schema.py +0 -0
  172. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/migrations/migrate_offline_model.py +0 -0
  173. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/migrations/migrate_processor_config_openai.py +0 -0
  174. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/migrations/migrate_server_pg.py +0 -0
  175. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/migrations/migrate_version.py +0 -0
  176. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/__init__.py +0 -0
  177. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/content/__init__.py +0 -0
  178. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/content/docx/__init__.py +0 -0
  179. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/content/docx/docx_to_entries.py +0 -0
  180. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/content/github/__init__.py +0 -0
  181. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/content/github/github_to_entries.py +0 -0
  182. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/content/images/__init__.py +0 -0
  183. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/content/images/image_to_entries.py +0 -0
  184. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/content/markdown/__init__.py +0 -0
  185. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/content/markdown/markdown_to_entries.py +0 -0
  186. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/content/notion/notion_to_entries.py +0 -0
  187. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/content/org_mode/__init__.py +0 -0
  188. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/content/org_mode/org_to_entries.py +0 -0
  189. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/content/org_mode/orgnode.py +0 -0
  190. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/content/pdf/__init__.py +0 -0
  191. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/content/pdf/pdf_to_entries.py +0 -0
  192. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/content/plaintext/__init__.py +0 -0
  193. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/content/plaintext/plaintext_to_entries.py +0 -0
  194. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/content/text_to_entries.py +0 -0
  195. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/conversation/__init__.py +0 -0
  196. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/conversation/anthropic/__init__.py +0 -0
  197. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/conversation/anthropic/anthropic_chat.py +0 -0
  198. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/conversation/anthropic/utils.py +0 -0
  199. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/conversation/offline/__init__.py +0 -0
  200. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/conversation/offline/chat_model.py +0 -0
  201. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/conversation/offline/utils.py +0 -0
  202. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/conversation/offline/whisper.py +0 -0
  203. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/conversation/openai/__init__.py +0 -0
  204. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/conversation/openai/gpt.py +0 -0
  205. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/conversation/openai/utils.py +0 -0
  206. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/conversation/openai/whisper.py +0 -0
  207. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/conversation/prompts.py +0 -0
  208. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/conversation/utils.py +0 -0
  209. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/embeddings.py +0 -0
  210. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/speech/__init__.py +0 -0
  211. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/speech/text_to_speech.py +0 -0
  212. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/tools/__init__.py +0 -0
  213. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/processor/tools/online_search.py +0 -0
  214. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/routers/__init__.py +0 -0
  215. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/routers/api.py +0 -0
  216. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/routers/api_agents.py +0 -0
  217. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/routers/api_chat.py +0 -0
  218. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/routers/api_content.py +0 -0
  219. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/routers/api_model.py +0 -0
  220. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/routers/api_phone.py +0 -0
  221. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/routers/auth.py +0 -0
  222. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/routers/email.py +0 -0
  223. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/routers/helpers.py +0 -0
  224. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/routers/notion.py +0 -0
  225. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/routers/storage.py +0 -0
  226. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/routers/subscription.py +0 -0
  227. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/routers/twilio.py +0 -0
  228. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/search_filter/__init__.py +0 -0
  229. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/search_filter/base_filter.py +0 -0
  230. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/search_filter/date_filter.py +0 -0
  231. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/search_filter/file_filter.py +0 -0
  232. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/search_filter/word_filter.py +0 -0
  233. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/search_type/__init__.py +0 -0
  234. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/search_type/text_search.py +0 -0
  235. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/utils/__init__.py +0 -0
  236. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/utils/cli.py +0 -0
  237. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/utils/config.py +0 -0
  238. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/utils/constants.py +0 -0
  239. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/utils/fs_syncer.py +0 -0
  240. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/utils/helpers.py +0 -0
  241. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/utils/initialization.py +0 -0
  242. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/utils/jsonl.py +0 -0
  243. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/utils/models.py +0 -0
  244. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/utils/rawconfig.py +0 -0
  245. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/utils/state.py +0 -0
  246. {khoj-1.17.1.dev222 → khoj-1.20.0}/src/khoj/utils/yaml.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: khoj
3
- Version: 1.17.1.dev222
3
+ Version: 1.20.0
4
4
  Summary: Your Second Brain
5
5
  Project-URL: Homepage, https://khoj.dev
6
6
  Project-URL: Documentation, https://docs.khoj.dev
@@ -0,0 +1,157 @@
1
+ # System Packages
2
+ import json
3
+ import os
4
+
5
+ from fastapi import APIRouter, Request
6
+ from fastapi.responses import FileResponse, HTMLResponse, RedirectResponse
7
+ from fastapi.templating import Jinja2Templates
8
+ from starlette.authentication import requires
9
+
10
+ from khoj.database.adapters import get_user_github_config
11
+ from khoj.routers.helpers import get_next_url, get_user_config
12
+ from khoj.utils import constants
13
+ from khoj.utils.rawconfig import GithubContentConfig, GithubRepoConfig
14
+
15
+ # Initialize Router
16
+ web_client = APIRouter()
17
+ templates = Jinja2Templates([constants.web_directory, constants.next_js_directory])
18
+
19
+
20
+ # Create Routes
21
+ @web_client.get("/", response_class=FileResponse)
22
+ def index(request: Request):
23
+ return templates.TemplateResponse("index.html", context={"request": request})
24
+
25
+
26
+ @web_client.post("/", response_class=FileResponse)
27
+ @requires(["authenticated"], redirect="login_page")
28
+ def index_post(request: Request):
29
+ return templates.TemplateResponse("index.html", context={"request": request})
30
+
31
+
32
+ @web_client.get("/search", response_class=FileResponse)
33
+ @requires(["authenticated"], redirect="login_page")
34
+ def search_page(request: Request):
35
+ return templates.TemplateResponse(
36
+ "search/index.html",
37
+ context={
38
+ "request": request,
39
+ },
40
+ )
41
+
42
+
43
+ @web_client.get("/chat", response_class=FileResponse)
44
+ @requires(["authenticated"], redirect="login_page")
45
+ def chat_page(request: Request):
46
+ return templates.TemplateResponse(
47
+ "chat/index.html",
48
+ context={
49
+ "request": request,
50
+ },
51
+ )
52
+
53
+
54
+ @web_client.get("/experimental", response_class=FileResponse)
55
+ @requires(["authenticated"], redirect="login_page")
56
+ def experimental_page(request: Request):
57
+ return templates.TemplateResponse(
58
+ "index.html",
59
+ context={
60
+ "request": request,
61
+ },
62
+ )
63
+
64
+
65
+ @web_client.get("/factchecker", response_class=FileResponse)
66
+ def fact_checker_page(request: Request):
67
+ return templates.TemplateResponse(
68
+ "factchecker/index.html",
69
+ context={
70
+ "request": request,
71
+ },
72
+ )
73
+
74
+
75
+ @web_client.get("/login", response_class=FileResponse)
76
+ def login_page(request: Request):
77
+ next_url = get_next_url(request)
78
+ if request.user.is_authenticated:
79
+ return RedirectResponse(url=next_url)
80
+ google_client_id = os.environ.get("GOOGLE_CLIENT_ID")
81
+ redirect_uri = str(request.app.url_path_for("auth"))
82
+ return templates.TemplateResponse(
83
+ "login.html",
84
+ context={
85
+ "request": request,
86
+ "google_client_id": google_client_id,
87
+ "redirect_uri": f"{redirect_uri}?next={next_url}",
88
+ },
89
+ )
90
+
91
+
92
+ @web_client.get("/agents", response_class=HTMLResponse)
93
+ def agents_page(request: Request):
94
+ return templates.TemplateResponse(
95
+ "agents/index.html",
96
+ context={
97
+ "request": request,
98
+ },
99
+ )
100
+
101
+
102
+ @web_client.get("/settings", response_class=HTMLResponse)
103
+ @requires(["authenticated"], redirect="login_page")
104
+ def config_page(request: Request):
105
+ return templates.TemplateResponse("settings/index.html", context={"request": request})
106
+
107
+
108
+ @web_client.get("/settings/content/github", response_class=HTMLResponse)
109
+ @requires(["authenticated"], redirect="login_page")
110
+ def github_config_page(request: Request):
111
+ user = request.user.object
112
+ user_config = get_user_config(user, request)
113
+ current_github_config = get_user_github_config(user)
114
+
115
+ if current_github_config:
116
+ raw_repos = current_github_config.githubrepoconfig.all()
117
+ repos = []
118
+ for repo in raw_repos:
119
+ repos.append(
120
+ GithubRepoConfig(
121
+ name=repo.name,
122
+ owner=repo.owner,
123
+ branch=repo.branch,
124
+ )
125
+ )
126
+ current_config = GithubContentConfig(
127
+ pat_token=current_github_config.pat_token,
128
+ repos=repos,
129
+ )
130
+ current_config = json.loads(current_config.json())
131
+ else:
132
+ current_config = {} # type: ignore
133
+
134
+ user_config["current_config"] = current_config
135
+ return templates.TemplateResponse("content_source_github_input.html", context=user_config)
136
+
137
+
138
+ @web_client.get("/share/chat/{public_conversation_slug}", response_class=HTMLResponse)
139
+ def view_public_conversation(request: Request):
140
+ return templates.TemplateResponse(
141
+ "share/chat/index.html",
142
+ context={
143
+ "request": request,
144
+ },
145
+ )
146
+
147
+
148
+ @web_client.get("/automations", response_class=HTMLResponse)
149
+ def automations_config_page(
150
+ request: Request,
151
+ ):
152
+ return templates.TemplateResponse(
153
+ "automations/index.html",
154
+ context={
155
+ "request": request,
156
+ },
157
+ )
@@ -1,56 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Khoj: An AI Personal Assistant for your digital brain</title>
5
- <link rel="icon" type="image/png" sizes="128x128" href="/static/assets/icons/favicon-128x128.png?v={{ khoj_version }}">
6
- <link rel="manifest" href="/static/khoj.webmanifest?v={{ khoj_version }}">
7
- <link rel="stylesheet" href="/static/assets/khoj.css?v={{ khoj_version }}">
8
- </head>
9
- <body class="not-found">
10
- <!--Add Header Logo and Nav Pane-->
11
- {% import 'utils.html' as utils %}
12
- {{ utils.heading_pane(user_photo, username, is_active, has_documents) }}
13
-
14
- <header class=”header”>
15
- <h1>Oops, this is awkward. Looks like there's nothing here.</h1>
16
- </header>
17
- <a class="redirect-link" href="/">Go Home</a>
18
-
19
- <footer class=”footer”>
20
- </footer>
21
- </body>
22
- <style>
23
- body.not-found {
24
- padding: 0 10%
25
- }
26
-
27
- body {
28
- background-color: var(--background-color);
29
- color: var(--main-text-color);
30
- text-align: center;
31
- font-family: var(--font-family);
32
- font-size: medium;
33
- font-weight: 300;
34
- line-height: 1.5em;
35
- height: 100vh;
36
- margin: 0;
37
- }
38
-
39
- body a.redirect-link {
40
- font-size: 18px;
41
- font-weight: bold;
42
- background-color: var(--primary);
43
- text-decoration: none;
44
- border: 1px solid var(--main-text-color);
45
- color: var(--main-text-color);
46
- border-radius: 8px;
47
- padding: 4px;
48
- }
49
-
50
- body a.redirect-link:hover {
51
- background-color: var(--main-text-color);
52
- color: var(--primary);
53
- }
54
-
55
- </style>
56
- </html>
@@ -1,312 +0,0 @@
1
- <html>
2
- <head>
3
- <meta charset="utf-8">
4
- <meta name="viewport" content="width=device-width, initial-scale=1.0 maximum-scale=1.0">
5
- <title>Khoj - Agents</title>
6
-
7
- <link rel="icon" type="image/png" sizes="128x128" href="/static/assets/icons/favicon-128x128.png?v={{ khoj_version }}">
8
- <link rel="manifest" href="/static/khoj.webmanifest?v={{ khoj_version }}">
9
- <link rel="stylesheet" href="/static/assets/khoj.css?v={{ khoj_version }}">
10
- </head>
11
- <script type="text/javascript" src="/static/assets/utils.js?v={{ khoj_version }}"></script>
12
- <body>
13
- <!--Add Header Logo and Nav Pane-->
14
- {% import 'utils.html' as utils %}
15
- {{ utils.heading_pane(user_photo, username, is_active, has_documents) }}
16
- <div id="agent-metadata-wrapper">
17
- <div id="agent-metadata">
18
- <div id="agent-avatar-wrapper">
19
- <div id="agent-settings-header">Agent Settings</div>
20
- </div>
21
- <div class="divider"></div>
22
- <div id="agent-data-wrapper">
23
- <div id="agent-avatar-wrapper">
24
- <img id="agent-avatar" src="{{ agent.avatar }}" alt="Agent Avatar">
25
- <input type="text" id="agent-name-input" value="{{ agent.name }}" {% if agent.creator_not_self %} disabled {% endif %}>
26
- </div>
27
- <div id="agent-instructions">
28
- Personality
29
- <button id="toggle-agent-tuning" onclick="toggleAgentTuning()">↓</button>
30
- </div>
31
- <div id="agent-tuning">
32
- <p>{{ agent.personality }}</p>
33
- </div>
34
- <div class="divider"></div>
35
- <div id="agent-public">
36
- <p>Public</p>
37
- <label class="switch">
38
- <input type="checkbox" {% if agent.public %} checked {% endif %} {% if agent.creator_not_self %} disabled {% endif %}>
39
- <span class="slider round"></span>
40
- </label>
41
- </div>
42
- <p id="agent-creator" style="display: none;">Creator: {{ agent.creator }}</p>
43
- <p id="agent-managed-by-admin" style="display: none;">ⓘ This agent is managed by the administrator</p>
44
- <button onclick="openChat('{{ agent.slug }}')">Chat</button>
45
- </div>
46
- </div>
47
- </div>
48
- <div id="footer">
49
- <a href="/agents">All Agents</a>
50
- </div>
51
- </body>
52
- <style>
53
- body {
54
- background-color: var(--background-color);
55
- display: grid;
56
- color: var(--main-text-color);
57
- text-align: center;
58
- font-family: var(--font-family);
59
- font-size: medium;
60
- font-weight: 300;
61
- line-height: 1.5em;
62
- height: 100vh;
63
- margin: 0;
64
- grid-template-rows: auto 1fr auto;
65
- }
66
-
67
- div#agent-settings-header {
68
- font-size: 24px;
69
- font-weight: bold;
70
- margin-top: auto;
71
- margin-bottom: auto;
72
- }
73
-
74
- div.divider {
75
- margin-top: 10px;
76
- margin-bottom: 10px;
77
- border-bottom: 2px solid var(--main-text-color);
78
- }
79
-
80
- div#footer {
81
- width: auto;
82
- padding: 10px;
83
- background-color: var(--background-color);
84
- border-top: 1px solid var(--main-text-color);
85
- text-align: left;
86
- margin-top: 12px;
87
- margin-bottom: 12px;
88
- }
89
-
90
- div#footer a {
91
- font-size: 18px;
92
- font-weight: bold;
93
- color: var(--primary-color);
94
- }
95
-
96
- div#agent-data-wrapper button {
97
- font-size: 24px;
98
- font-weight: bold;
99
- padding: 10px;
100
- border: none;
101
- border-radius: 8px;
102
- background-color: var(--summer-sun);
103
- font: inherit;
104
- color: var(--main-text-color);
105
- cursor: pointer;
106
- transition: background-color 0.3s;
107
- }
108
-
109
- div#agent-data-wrapper button:hover {
110
- background-color: var(--primary-hover);
111
- box-shadow: 0 0 10px var(--primary-hover);
112
- }
113
-
114
- input#agent-name-input {
115
- font-size: 24px;
116
- font-weight: bold;
117
- text-align: left;
118
- background-color: #EEEEEE;
119
- color: var(--main-text-color);
120
- border-radius: 8px;
121
- padding: 8px;
122
- border: none;
123
- }
124
-
125
- div#agent-instructions {
126
- font-size: 24px;
127
- font-weight: bold;
128
- }
129
-
130
- #agent-metadata {
131
- padding: 10px;
132
- background-color: #f8f9fa;
133
- border-radius: 5px;
134
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
135
- text-align: left;
136
- padding: 20px;
137
- }
138
-
139
- #agent-avatar-wrapper {
140
- margin-right: 10px;
141
- display: flex;
142
- flex-direction: row;
143
- }
144
-
145
- #agent-avatar {
146
- width: 50px;
147
- height: 50px;
148
- border-radius: 50%;
149
- object-fit: cover;
150
- margin-right: 10px;
151
- }
152
-
153
- #agent-name {
154
- font-size: 18px;
155
- font-weight: bold;
156
- color: #333;
157
- }
158
-
159
- #agent-tuning, #agent-public, #agent-creator, #agent-managed-by-admin {
160
- font-size: 14px;
161
- color: #666;
162
- }
163
-
164
- #agent-tuning p {
165
- white-space: pre-line;
166
- }
167
-
168
- #agent-metadata p {
169
- margin: 0;
170
- padding: 0;
171
- }
172
-
173
- #agent-public {
174
- display: grid;
175
- grid-template-columns: auto 1fr;
176
- grid-gap: 12px;
177
- }
178
-
179
- .switch {
180
- position: relative;
181
- display: inline-block;
182
- width: 50px;
183
- height: 24px;
184
- }
185
-
186
- .switch input {
187
- opacity: 0;
188
- width: 0;
189
- height: 0;
190
- }
191
-
192
- .slider {
193
- position: absolute;
194
- cursor: pointer;
195
- top: 0;
196
- left: 0;
197
- right: 0;
198
- bottom: 0;
199
- background-color: #ccc;
200
- -webkit-transition: .4s;
201
- transition: .4s;
202
- }
203
-
204
- .slider:before {
205
- position: absolute;
206
- content: "";
207
- height: 16px;
208
- width: 16px;
209
- left: 4px;
210
- bottom: 4px;
211
- background-color: white;
212
- -webkit-transition: .4s;
213
- transition: .4s;
214
- }
215
-
216
- input:checked + .slider {
217
- background-color: var(--primary-hover);
218
- }
219
-
220
- input:focus + .slider {
221
- box-shadow: 0 0 1px var(--primary-hover);
222
- }
223
-
224
- input:checked + .slider:before {
225
- -webkit-transform: translateX(26px);
226
- -ms-transform: translateX(26px);
227
- transform: translateX(26px);
228
- }
229
-
230
- div#agent-data-wrapper {
231
- display: grid;
232
- grid-template-columns: 1fr;
233
- grid-gap: 10px;
234
- text-align: left;
235
- }
236
-
237
- /* Rounded sliders */
238
- .slider.round {
239
- border-radius: 34px;
240
- }
241
-
242
- .slider.round:before {
243
- border-radius: 50%;
244
- }
245
-
246
- div#agent-tuning {
247
- max-height: 1000px;
248
- overflow: hidden;
249
- transition: max-height 0.3s ease-in-out;
250
- }
251
-
252
- button#toggle-agent-tuning {
253
- background-color: var(--primary) !important;
254
- font-size: small !important;
255
- }
256
-
257
- @media only screen and (min-width: 700px) {
258
- body {
259
- grid-template-columns: auto min(70vw, 100%) auto;
260
- }
261
- body > * {
262
- grid-column: 2;
263
- }
264
- #agent-metadata-wrapper {
265
- display: block;
266
- width: min(30vw, 100%);
267
- margin-left: auto;
268
- margin-right: auto;
269
- }
270
- }
271
- </style>
272
- <script>
273
- async function openChat(agentSlug) {
274
- let response = await fetch(`/api/chat/sessions?agent_slug=${agentSlug}`, { method: "POST" });
275
- let data = await response.json();
276
- if (response.status == 200) {
277
- window.location.href = "/";
278
- } else {
279
- alert("Failed to start chat session");
280
- }
281
- }
282
-
283
- function toggleAgentTuning() {
284
- var agentTuning = document.getElementById('agent-tuning');
285
- var toggleButton = document.getElementById('toggle-agent-tuning');
286
- if (agentTuning.style.maxHeight === '0px') {
287
- toggleButton.textContent = '↓';
288
- agentTuning.style.maxHeight = '500px';
289
- } else {
290
- toggleButton.textContent = '↑';
291
- agentTuning.style.maxHeight = '0px';
292
- }
293
- }
294
-
295
- // Show the agent-managed-by-admin paragraph if the agent is managed by the admin
296
- // compare agent.managed_by_admin as a lowercase string to "true"
297
- let isManagedByAdmin = "{{ agent.managed_by_admin }}".toLowerCase() === "true";
298
- if (isManagedByAdmin) {
299
- document.getElementById("agent-managed-by-admin").style.display = "block";
300
- } else {
301
- document.getElementById("agent-creator").style.display = "block";
302
- }
303
-
304
- // Resize the input field based on the length of the value
305
- let input = document.getElementById("agent-name-input");
306
- input.addEventListener("input", resizeInput);
307
- resizeInput.call(input);
308
- function resizeInput() {
309
- this.style.width = this.value.length + 1 + "ch";
310
- }
311
- </script>
312
- </html>