khoj 1.17.1.dev229__py3-none-any.whl → 1.20.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. khoj/app/settings.py +7 -2
  2. khoj/configure.py +21 -0
  3. khoj/database/adapters/__init__.py +9 -5
  4. khoj/database/admin.py +2 -0
  5. khoj/database/migrations/0055_alter_agent_style_icon.py +37 -0
  6. khoj/database/models/__init__.py +2 -0
  7. khoj/interface/compiled/404/index.html +1 -0
  8. khoj/interface/compiled/_next/static/chunks/1603-fb2d80ae73990df3.js +1 -0
  9. khoj/interface/compiled/_next/static/chunks/2614-7cf01576d4457a75.js +3 -0
  10. khoj/interface/compiled/_next/static/chunks/3062-a42d847c919a9ea4.js +29 -0
  11. khoj/interface/compiled/_next/static/chunks/3678-8c0e55c3b5d83a22.js +25 -0
  12. khoj/interface/compiled/_next/static/chunks/4504-1629487c8bc82203.js +1 -0
  13. khoj/interface/compiled/_next/static/chunks/6297-d1c842ed3f714ab0.js +1 -0
  14. khoj/interface/compiled/_next/static/chunks/6648-ff677e51f1b2bcf1.js +1 -0
  15. khoj/interface/compiled/_next/static/chunks/7023-52c1be60135eb057.js +2 -0
  16. khoj/interface/compiled/_next/static/chunks/7071-b4711cecca6619a8.js +1 -0
  17. khoj/interface/compiled/_next/static/chunks/743-1a64254447cda71f.js +1 -0
  18. khoj/interface/compiled/_next/static/chunks/8423-132ea64eac83fd43.js +1 -0
  19. khoj/interface/compiled/_next/static/chunks/9001-acbca3e19b1a5ddf.js +21 -0
  20. khoj/interface/compiled/_next/static/chunks/9162-4a6d0d0dc5e27618.js +11 -0
  21. khoj/interface/compiled/_next/static/chunks/9178-859894e0d9d67aa5.js +1 -0
  22. khoj/interface/compiled/_next/static/chunks/9417-2e54c6fd056982d8.js +1 -0
  23. khoj/interface/compiled/_next/static/chunks/9693-91b03052c5cabded.js +1 -0
  24. khoj/interface/compiled/_next/static/chunks/app/_not-found/page-07ff4ab42b07845e.js +1 -0
  25. khoj/interface/compiled/_next/static/chunks/app/agents/layout-e71c8e913cccf792.js +1 -0
  26. khoj/interface/compiled/_next/static/chunks/app/agents/page-922694b75f1fb67b.js +1 -0
  27. khoj/interface/compiled/_next/static/chunks/app/automations/layout-27c28e923c9b1ff0.js +1 -0
  28. khoj/interface/compiled/_next/static/chunks/app/automations/page-46913728bcb8f4c6.js +1 -0
  29. khoj/interface/compiled/_next/static/chunks/app/chat/layout-8102549127db3067.js +1 -0
  30. khoj/interface/compiled/_next/static/chunks/app/chat/page-51ab7c4b766ff344.js +1 -0
  31. khoj/interface/compiled/_next/static/chunks/app/factchecker/layout-7b30c541c05fb904.js +1 -0
  32. khoj/interface/compiled/_next/static/chunks/app/factchecker/page-60be5e3295e2c0bc.js +1 -0
  33. khoj/interface/compiled/_next/static/chunks/app/layout-f3e40d346da53112.js +1 -0
  34. khoj/interface/compiled/_next/static/chunks/app/page-635b30b582201b05.js +1 -0
  35. khoj/interface/compiled/_next/static/chunks/app/search/layout-3720f1362310bebb.js +1 -0
  36. khoj/interface/compiled/_next/static/chunks/app/search/page-dcd385f03255ef36.js +1 -0
  37. khoj/interface/compiled/_next/static/chunks/app/settings/layout-6f9314b0d7a26046.js +1 -0
  38. khoj/interface/compiled/_next/static/chunks/app/settings/page-e83f6fa32691ca64.js +1 -0
  39. khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-39f03f9e32399f0f.js +1 -0
  40. khoj/interface/compiled/_next/static/chunks/app/share/chat/page-699b364dc6fbf139.js +1 -0
  41. khoj/interface/compiled/_next/static/chunks/d3ac728e-a9e3522eef9b6b28.js +1 -0
  42. khoj/interface/compiled/_next/static/chunks/fd9d1056-2b978342deb60015.js +1 -0
  43. khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js +33 -0
  44. khoj/interface/compiled/_next/static/chunks/main-175c164f5e0f026c.js +1 -0
  45. khoj/interface/compiled/_next/static/chunks/main-app-6d6ee3495efe03d4.js +1 -0
  46. khoj/interface/compiled/_next/static/chunks/pages/_app-f870474a17b7f2fd.js +1 -0
  47. khoj/interface/compiled/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js +1 -0
  48. khoj/interface/compiled/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +1 -0
  49. khoj/interface/compiled/_next/static/chunks/webpack-97d9516936918753.js +1 -0
  50. khoj/interface/compiled/_next/static/css/1538cedb321e3a97.css +1 -0
  51. khoj/interface/compiled/_next/static/css/1de368beed21dfba.css +25 -0
  52. khoj/interface/compiled/_next/static/css/2272c73fc7a3b571.css +1 -0
  53. khoj/interface/compiled/_next/static/css/4cae6c0e5c72fb2d.css +1 -0
  54. khoj/interface/compiled/_next/static/css/553f9cdcc7a2bcd6.css +1 -0
  55. khoj/interface/compiled/_next/static/css/a22d83f18a32957e.css +1 -0
  56. khoj/interface/compiled/_next/static/css/a3530ec58b0b660f.css +1 -0
  57. khoj/interface/compiled/_next/static/css/b81e909d403fb2df.css +1 -0
  58. khoj/interface/compiled/_next/static/css/df6f4c34ec280d53.css +1 -0
  59. khoj/interface/compiled/_next/static/iCI2Ycgat9pFGG9HeJvvH/_buildManifest.js +1 -0
  60. khoj/interface/compiled/_next/static/iCI2Ycgat9pFGG9HeJvvH/_ssgManifest.js +1 -0
  61. khoj/interface/compiled/_next/static/media/0e790e04fd40ad16-s.p.woff2 +0 -0
  62. khoj/interface/compiled/_next/static/media/4221e1667cd19c7d-s.woff2 +0 -0
  63. khoj/interface/compiled/_next/static/media/6c276159aa0eb14b-s.woff2 +0 -0
  64. khoj/interface/compiled/_next/static/media/6cc0b9500e4f9168-s.woff2 +0 -0
  65. khoj/interface/compiled/_next/static/media/9d9319a7a2ac39c6-s.woff2 +0 -0
  66. khoj/interface/compiled/_next/static/media/KaTeX_AMS-Regular.1608a09b.woff +0 -0
  67. khoj/interface/compiled/_next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf +0 -0
  68. khoj/interface/compiled/_next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2 +0 -0
  69. khoj/interface/compiled/_next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff +0 -0
  70. khoj/interface/compiled/_next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf +0 -0
  71. khoj/interface/compiled/_next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2 +0 -0
  72. khoj/interface/compiled/_next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf +0 -0
  73. khoj/interface/compiled/_next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2 +0 -0
  74. khoj/interface/compiled/_next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff +0 -0
  75. khoj/interface/compiled/_next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff +0 -0
  76. khoj/interface/compiled/_next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf +0 -0
  77. khoj/interface/compiled/_next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2 +0 -0
  78. khoj/interface/compiled/_next/static/media/KaTeX_Fraktur-Regular.7c187121.woff +0 -0
  79. khoj/interface/compiled/_next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2 +0 -0
  80. khoj/interface/compiled/_next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf +0 -0
  81. khoj/interface/compiled/_next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf +0 -0
  82. khoj/interface/compiled/_next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2 +0 -0
  83. khoj/interface/compiled/_next/static/media/KaTeX_Main-Bold.d181c465.woff +0 -0
  84. khoj/interface/compiled/_next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2 +0 -0
  85. khoj/interface/compiled/_next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf +0 -0
  86. khoj/interface/compiled/_next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff +0 -0
  87. khoj/interface/compiled/_next/static/media/KaTeX_Main-Italic.47373d1e.ttf +0 -0
  88. khoj/interface/compiled/_next/static/media/KaTeX_Main-Italic.8916142b.woff2 +0 -0
  89. khoj/interface/compiled/_next/static/media/KaTeX_Main-Italic.9024d815.woff +0 -0
  90. khoj/interface/compiled/_next/static/media/KaTeX_Main-Regular.0462f03b.woff2 +0 -0
  91. khoj/interface/compiled/_next/static/media/KaTeX_Main-Regular.7f51fe03.woff +0 -0
  92. khoj/interface/compiled/_next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf +0 -0
  93. khoj/interface/compiled/_next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2 +0 -0
  94. khoj/interface/compiled/_next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf +0 -0
  95. khoj/interface/compiled/_next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff +0 -0
  96. khoj/interface/compiled/_next/static/media/KaTeX_Math-Italic.5295ba48.woff +0 -0
  97. khoj/interface/compiled/_next/static/media/KaTeX_Math-Italic.939bc644.ttf +0 -0
  98. khoj/interface/compiled/_next/static/media/KaTeX_Math-Italic.f28c23ac.woff2 +0 -0
  99. khoj/interface/compiled/_next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2 +0 -0
  100. khoj/interface/compiled/_next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf +0 -0
  101. khoj/interface/compiled/_next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff +0 -0
  102. khoj/interface/compiled/_next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2 +0 -0
  103. khoj/interface/compiled/_next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff +0 -0
  104. khoj/interface/compiled/_next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf +0 -0
  105. khoj/interface/compiled/_next/static/media/KaTeX_SansSerif-Regular.74048478.woff +0 -0
  106. khoj/interface/compiled/_next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2 +0 -0
  107. khoj/interface/compiled/_next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf +0 -0
  108. khoj/interface/compiled/_next/static/media/KaTeX_Script-Regular.03e9641d.woff2 +0 -0
  109. khoj/interface/compiled/_next/static/media/KaTeX_Script-Regular.07505710.woff +0 -0
  110. khoj/interface/compiled/_next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf +0 -0
  111. khoj/interface/compiled/_next/static/media/KaTeX_Size1-Regular.e1e279cb.woff +0 -0
  112. khoj/interface/compiled/_next/static/media/KaTeX_Size1-Regular.eae34984.woff2 +0 -0
  113. khoj/interface/compiled/_next/static/media/KaTeX_Size1-Regular.fabc004a.ttf +0 -0
  114. khoj/interface/compiled/_next/static/media/KaTeX_Size2-Regular.57727022.woff +0 -0
  115. khoj/interface/compiled/_next/static/media/KaTeX_Size2-Regular.5916a24f.woff2 +0 -0
  116. khoj/interface/compiled/_next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf +0 -0
  117. khoj/interface/compiled/_next/static/media/KaTeX_Size3-Regular.9acaf01c.woff +0 -0
  118. khoj/interface/compiled/_next/static/media/KaTeX_Size3-Regular.a144ef58.ttf +0 -0
  119. khoj/interface/compiled/_next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2 +0 -0
  120. khoj/interface/compiled/_next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2 +0 -0
  121. khoj/interface/compiled/_next/static/media/KaTeX_Size4-Regular.7a996c9d.woff +0 -0
  122. khoj/interface/compiled/_next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf +0 -0
  123. khoj/interface/compiled/_next/static/media/KaTeX_Typewriter-Regular.6258592b.woff +0 -0
  124. khoj/interface/compiled/_next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2 +0 -0
  125. khoj/interface/compiled/_next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf +0 -0
  126. khoj/interface/compiled/_next/static/media/a75c8ea86756d52d-s.woff2 +0 -0
  127. khoj/interface/compiled/_next/static/media/abce7c400ca31a51-s.woff2 +0 -0
  128. khoj/interface/compiled/_next/static/media/f759c939737fb668-s.woff2 +0 -0
  129. khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp +0 -0
  130. khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp +0 -0
  131. khoj/interface/compiled/_next/static/media/globe.98e105ca.webp +0 -0
  132. khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp +0 -0
  133. khoj/interface/compiled/agents/index.html +1 -0
  134. khoj/interface/compiled/agents/index.txt +7 -0
  135. khoj/interface/compiled/agents.svg +6 -0
  136. khoj/interface/compiled/automation.svg +37 -0
  137. khoj/interface/compiled/automations/index.html +1 -0
  138. khoj/interface/compiled/automations/index.txt +8 -0
  139. khoj/interface/compiled/chat/index.html +1 -0
  140. khoj/interface/compiled/chat/index.txt +7 -0
  141. khoj/interface/compiled/close.svg +5 -0
  142. khoj/interface/compiled/factchecker/index.html +1 -0
  143. khoj/interface/compiled/factchecker/index.txt +7 -0
  144. khoj/interface/compiled/favicon.ico +0 -0
  145. khoj/interface/compiled/index.html +1 -0
  146. khoj/interface/compiled/index.txt +7 -0
  147. khoj/interface/compiled/logo.svg +24 -0
  148. khoj/interface/compiled/search/index.html +1 -0
  149. khoj/interface/compiled/search/index.txt +7 -0
  150. khoj/interface/compiled/settings/index.html +1 -0
  151. khoj/interface/compiled/settings/index.txt +8 -0
  152. khoj/interface/compiled/share/chat/index.html +1 -0
  153. khoj/interface/compiled/share/chat/index.txt +7 -0
  154. khoj/interface/web/assets/icons/agents.svg +17 -5
  155. khoj/interface/web/assets/icons/automation.svg +40 -35
  156. khoj/interface/web/assets/icons/search.svg +40 -8
  157. khoj/interface/web/login.html +1 -1
  158. khoj/routers/api_chat.py +5 -16
  159. khoj/routers/helpers.py +74 -0
  160. khoj/routers/web_client.py +30 -131
  161. khoj/utils/constants.py +1 -0
  162. {khoj-1.17.1.dev229.dist-info → khoj-1.20.3.dist-info}/METADATA +1 -1
  163. khoj-1.20.3.dist-info/RECORD +353 -0
  164. khoj/interface/web/404.html +0 -56
  165. khoj/interface/web/agent.html +0 -312
  166. khoj/interface/web/agents.html +0 -276
  167. khoj/interface/web/assets/icons/cancel.svg +0 -3
  168. khoj/interface/web/assets/icons/collapse.svg +0 -17
  169. khoj/interface/web/assets/icons/computer.png +0 -0
  170. khoj/interface/web/assets/icons/confirm-icon.svg +0 -1
  171. khoj/interface/web/assets/icons/credit-card.png +0 -0
  172. khoj/interface/web/assets/icons/delete.svg +0 -26
  173. khoj/interface/web/assets/icons/docx.svg +0 -7
  174. khoj/interface/web/assets/icons/edit.svg +0 -4
  175. khoj/interface/web/assets/icons/key.svg +0 -4
  176. khoj/interface/web/assets/icons/markdown.svg +0 -1
  177. khoj/interface/web/assets/icons/new.svg +0 -23
  178. khoj/interface/web/assets/icons/notion.svg +0 -4
  179. khoj/interface/web/assets/icons/openai-logomark.svg +0 -1
  180. khoj/interface/web/assets/icons/org.svg +0 -1
  181. khoj/interface/web/assets/icons/pdf.svg +0 -23
  182. khoj/interface/web/assets/icons/pencil-edit.svg +0 -5
  183. khoj/interface/web/assets/icons/plaintext.svg +0 -1
  184. khoj/interface/web/assets/icons/question-mark-icon.svg +0 -1
  185. khoj/interface/web/assets/icons/speaker.svg +0 -4
  186. khoj/interface/web/assets/icons/stop-solid.svg +0 -37
  187. khoj/interface/web/assets/icons/user-silhouette.svg +0 -4
  188. khoj/interface/web/assets/icons/voice.svg +0 -8
  189. khoj/interface/web/assets/icons/web.svg +0 -2
  190. khoj/interface/web/assets/icons/whatsapp.svg +0 -17
  191. khoj/interface/web/assets/markdown-it.min.js +0 -8476
  192. khoj/interface/web/assets/natural-cron.min.js +0 -1
  193. khoj/interface/web/assets/org.min.js +0 -1823
  194. khoj/interface/web/assets/pico.min.css +0 -5
  195. khoj/interface/web/assets/purify.min.js +0 -3
  196. khoj/interface/web/chat.html +0 -3436
  197. khoj/interface/web/config_automation.html +0 -1103
  198. khoj/interface/web/content_source_computer_input.html +0 -139
  199. khoj/interface/web/content_source_notion_input.html +0 -94
  200. khoj/interface/web/public_conversation.html +0 -2006
  201. khoj/interface/web/search.html +0 -470
  202. khoj/interface/web/settings.html +0 -1011
  203. khoj-1.17.1.dev229.dist-info/RECORD +0 -244
  204. /khoj/interface/{web/assets/icons → compiled}/chat.svg +0 -0
  205. /khoj/interface/{web/assets/icons → compiled}/copy-button-success.svg +0 -0
  206. /khoj/interface/{web/assets/icons → compiled}/copy-button.svg +0 -0
  207. /khoj/interface/{web/assets/icons → compiled}/send.svg +0 -0
  208. /khoj/interface/{web/assets/icons → compiled}/share.svg +0 -0
  209. /khoj/interface/{web/assets/icons/thumbs-down-svgrepo-com.svg → compiled/thumbs-down.svg} +0 -0
  210. /khoj/interface/{web/assets/icons/thumbs-up-svgrepo-com.svg → compiled/thumbs-up.svg} +0 -0
  211. {khoj-1.17.1.dev229.dist-info → khoj-1.20.3.dist-info}/WHEEL +0 -0
  212. {khoj-1.17.1.dev229.dist-info → khoj-1.20.3.dist-info}/entry_points.txt +0 -0
  213. {khoj-1.17.1.dev229.dist-info → khoj-1.20.3.dist-info}/licenses/LICENSE +0 -0
@@ -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>
@@ -1,276 +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
-
17
- <div id="agents-list">
18
- <div id="agents-header">
19
- <h1 id="agents-list-title">Chat with an Agent</h1>
20
- <!-- <div id="create-agent">
21
- <a href="/agents/create"><svg class="new-convo-button" viewBox="0 0 35 35" fill="#000000" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
22
- <path d="M16 0c-8.836 0-16 7.163-16 16s7.163 16 16 16c8.837 0 16-7.163 16-16s-7.163-16-16-16zM16 30.032c-7.72 0-14-6.312-14-14.032s6.28-14 14-14 14 6.28 14 14-6.28 14.032-14 14.032zM23 15h-6v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1v6h-6c-0.552 0-1 0.448-1 1s0.448 1 1 1h6v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6h6c0.552 0 1-0.448 1-1s-0.448-1-1-1z"></path>
23
- </svg></a>
24
- </div> -->
25
- </div>
26
- <div id="agents">
27
- {% for agent in agents %}
28
- <div class="agent">
29
- <a href="/agent/{{ agent.slug }}">
30
- <div class="agent-avatar">
31
- <img src="{{ agent.avatar }}" alt="{{ agent.name }}">
32
- </div>
33
- </a>
34
- <div class="agent-info">
35
- <a href="/agent/{{ agent.slug }}">
36
- <h2>{{ agent.name }}</h2>
37
- </a>
38
- </div>
39
- <div class="agent-info">
40
- <button onclick="openChat('{{ agent.slug }}')">
41
- <img class="send-icon" src="/static/assets/icons/send.svg" alt="Chat">
42
- </button>
43
- </div>
44
- <div class="agent-personality">
45
- <a href="/agent/{{ agent.slug }}">
46
- <p>
47
- {{ agent.personality }}
48
- </p>
49
- </a>
50
- </div>
51
- </div>
52
- {% endfor %}
53
- </div>
54
- </div>
55
- <div id="footer">
56
- <a href="/">Back to Chat</a>
57
- </div>
58
- </body>
59
- <script>
60
- document.getElementById("agents-nav").classList.add("khoj-nav-selected");
61
- </script>
62
- <style>
63
- body {
64
- background-color: var(--background-color);
65
- display: grid;
66
- color: var(--main-text-color);
67
- text-align: center;
68
- font-family: var(--font-family);
69
- font-size: medium;
70
- font-weight: 300;
71
- line-height: 1.5em;
72
- height: 100vh;
73
- margin: 0;
74
- grid-template-rows: auto 1fr auto;
75
- }
76
-
77
- h1#agents-list-title {
78
- margin: 0;
79
- }
80
-
81
- .agent-personality p {
82
- white-space: inherit;
83
- overflow: hidden;
84
- height: 100px;
85
- }
86
-
87
- div.agent-personality {
88
- text-align: left;
89
- grid-column: span 3;
90
- }
91
-
92
- div.agent-info {
93
- font-size: medium;
94
- }
95
-
96
- div.agent-info a,
97
- div.agent-info h2 {
98
- margin: 0;
99
- }
100
-
101
- div.agent img {
102
- width: 78px;
103
- height: 78px;
104
- border-radius: 50%;
105
- object-fit: cover;
106
- }
107
-
108
- div.agent a {
109
- text-decoration: none;
110
- color: var(--main-text-color);
111
- }
112
-
113
- div#agents-header {
114
- display: grid;
115
- grid-template-columns: auto;
116
- }
117
-
118
- div#agents-header a,
119
- div.agent-info button {
120
- font-size: 24px;
121
- font-weight: bold;
122
- padding: 4px;
123
- border: none;
124
- border-radius: 8px;
125
- background-color: var(--summer-sun);
126
- font: inherit;
127
- color: var(--main-text-color);
128
- cursor: pointer;
129
- transition: background-color 0.3s;
130
- }
131
-
132
- div#agents-header a:hover,
133
- div.agent-info button:hover {
134
- background-color: var(--primary-hover);
135
- box-shadow: 0 0 10px var(--primary-hover);
136
- }
137
-
138
-
139
- div#footer {
140
- width: auto;
141
- padding: 10px;
142
- background-color: var(--background-color);
143
- border-top: 1px solid var(--main-text-color);
144
- text-align: left;
145
- margin-top: 12px;
146
- margin-bottom: 12px;
147
- }
148
-
149
- div#footer a {
150
- font-size: 18px;
151
- font-weight: bold;
152
- color: var(--primary-color);
153
- }
154
-
155
- div.agent {
156
- display: grid;
157
- grid-template-columns: auto 1fr auto;
158
- gap: 20px;
159
- align-items: center;
160
- padding: 20px;
161
- box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
162
- border-radius: 8px;
163
- background: linear-gradient(18.48deg,rgba(252, 213, 87, 0.25) 2.76%,rgba(197, 0, 0, 0) 17.23%),linear-gradient(200.6deg,rgba(244, 229, 68, 0.25) 4.13%,rgba(230, 26, 26, 0) 20.54%);
164
- }
165
-
166
- div.agent-info {
167
- text-align: left;
168
- }
169
-
170
- div#agents {
171
- display: grid;
172
- gap: 20px;
173
- padding: 20px;
174
- width: 75%;
175
- margin-right: auto;
176
- grid-auto-flow: row;
177
- grid-template-columns: 1fr 1fr;
178
- margin-left: auto;
179
- }
180
-
181
- svg.new-convo-button {
182
- width: 20px;
183
- margin-left: 5px;
184
- }
185
-
186
- img.send-icon {
187
- width: 50px !important;
188
- height: 50px !important;
189
- }
190
-
191
- @media only screen and (min-width: 700px) {
192
- body {
193
- grid-template-columns: auto min(70vw, 100%) auto;
194
- }
195
- body > * {
196
- grid-column: 2;
197
- }
198
- }
199
-
200
- @media only screen and (max-width: 700px) {
201
- div#agents {
202
- width: 90%;
203
- margin-right: auto;
204
- margin-left: auto;
205
- grid-template-columns: 1fr;
206
- }
207
-
208
- }
209
- .loader {
210
- width: 48px;
211
- height: 48px;
212
- border-radius: 50%;
213
- display: inline-block;
214
- border-top: 4px solid var(--primary-color);
215
- border-right: 4px solid transparent;
216
- box-sizing: border-box;
217
- animation: rotation 1s linear infinite;
218
- }
219
- .loader::after {
220
- content: '';
221
- box-sizing: border-box;
222
- position: absolute;
223
- left: 0;
224
- top: 0;
225
- width: 48px;
226
- height: 48px;
227
- border-radius: 50%;
228
- border-left: 4px solid var(--summer-sun);
229
- border-bottom: 4px solid transparent;
230
- animation: rotation 0.5s linear infinite reverse;
231
- }
232
- @keyframes rotation {
233
- 0% {
234
- transform: rotate(0deg);
235
- }
236
- 100% {
237
- transform: rotate(360deg);
238
- }
239
- }
240
-
241
- </style>
242
- <script>
243
- async function openChat(agentSlug) {
244
- // Create a loading animation
245
- let loadingTextEl = document.createElement("div");
246
- loadingTextEl.textContent = 'Booting your agent...';
247
-
248
- let loadingAnimationEl = document.createElement("span");
249
- loadingAnimationEl.className = "loader";
250
-
251
- let loadingEl = document.createElement("div");
252
- loadingEl.style.position = "fixed";
253
- loadingEl.style.top = "0";
254
- loadingEl.style.right = "0";
255
- loadingEl.style.bottom = "0";
256
- loadingEl.style.left = "0";
257
- loadingEl.style.display = "flex";
258
- loadingEl.style.justifyContent = "center";
259
- loadingEl.style.alignItems = "center";
260
- loadingEl.style.backgroundColor = "rgba(0, 0, 0, 0.5)"; // Semi-transparent black
261
-
262
- loadingEl.append(loadingTextEl, loadingAnimationEl);
263
- document.body.appendChild(loadingEl);
264
-
265
- let response = await fetch(`/api/chat/sessions?agent_slug=${agentSlug}`, { method: "POST" });
266
- let data = await response.json();
267
- if (response.status == 200) {
268
- window.location.href = "/";
269
- } else if(response.status == 403 || response.status == 401) {
270
- window.location.href = "/login?next=/agent/" + agentId;
271
- } else {
272
- alert("Failed to start chat session");
273
- }
274
- }
275
- </script>
276
- </html>
@@ -1,3 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
3
- <svg width="800px" height="800px" viewBox="0 0 1024 1024" class="icon" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M704 288h-281.6l177.6-202.88a32 32 0 0 0-48.32-42.24l-224 256a30.08 30.08 0 0 0-2.24 3.84 32 32 0 0 0-2.88 4.16v1.92a32 32 0 0 0 0 5.12A32 32 0 0 0 320 320a32 32 0 0 0 0 4.8 32 32 0 0 0 0 5.12v1.92a32 32 0 0 0 2.88 4.16 30.08 30.08 0 0 0 2.24 3.84l224 256a32 32 0 1 0 48.32-42.24L422.4 352H704a224 224 0 0 1 224 224v128a224 224 0 0 1-224 224H320a232 232 0 0 1-28.16-1.6 32 32 0 0 0-35.84 27.84 32 32 0 0 0 27.84 35.52A295.04 295.04 0 0 0 320 992h384a288 288 0 0 0 288-288v-128a288 288 0 0 0-288-288zM103.04 760a32 32 0 0 0-62.08 16A289.92 289.92 0 0 0 140.16 928a32 32 0 0 0 40-49.92 225.6 225.6 0 0 1-77.12-118.08zM64 672a32 32 0 0 0 22.72-9.28 37.12 37.12 0 0 0 6.72-10.56A32 32 0 0 0 96 640a33.6 33.6 0 0 0-9.28-22.72 32 32 0 0 0-10.56-6.72 32 32 0 0 0-34.88 6.72A32 32 0 0 0 32 640a32 32 0 0 0 2.56 12.16 37.12 37.12 0 0 0 6.72 10.56A32 32 0 0 0 64 672z" fill="#231815" /></svg>
@@ -1,17 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
3
- <svg width="800px" height="800px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
4
-
5
- <title>collapse</title>
6
- <desc>Created with Sketch Beta.</desc>
7
- <defs>
8
-
9
- </defs>
10
- <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
11
- <g id="Icon-Set" sketch:type="MSLayerGroup" transform="translate(-360.000000, -1191.000000)" fill="#000000">
12
- <path d="M387.887,1203.04 L381.326,1203.04 L392.014,1192.4 L390.614,1191.01 L379.938,1201.64 L379.969,1195.16 C379.969,1194.61 379.526,1194.17 378.979,1194.17 C378.433,1194.17 377.989,1194.61 377.989,1195.16 L377.989,1204.03 C377.989,1204.32 378.111,1204.56 378.302,1204.72 C378.481,1204.9 378.73,1205.01 379.008,1205.01 L387.887,1205.01 C388.434,1205.01 388.876,1204.57 388.876,1204.03 C388.876,1203.48 388.434,1203.04 387.887,1203.04 L387.887,1203.04 Z M372.992,1208.99 L364.113,1208.99 C363.566,1208.99 363.124,1209.43 363.124,1209.97 C363.124,1210.52 363.566,1210.96 364.113,1210.96 L370.674,1210.96 L359.986,1221.6 L361.386,1222.99 L372.063,1212.36 L372.031,1218.84 C372.031,1219.39 372.474,1219.83 373.021,1219.83 C373.567,1219.83 374.011,1219.39 374.011,1218.84 L374.011,1209.97 C374.011,1209.68 373.889,1209.44 373.697,1209.28 C373.519,1209.1 373.27,1208.99 372.992,1208.99 L372.992,1208.99 Z" id="collapse" sketch:type="MSShapeGroup">
13
-
14
- </path>
15
- </g>
16
- </g>
17
- </svg>
@@ -1 +0,0 @@
1
- <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 122.88 122.88"><defs><style>.cls-1{fill:#00a912;}.cls-1,.cls-2{fill-rule:evenodd;}.cls-2{fill:#fff;}</style></defs><title>confirm</title><path class="cls-1" d="M61.44,0A61.44,61.44,0,1,1,0,61.44,61.44,61.44,0,0,1,61.44,0Z"/><path class="cls-2" d="M42.37,51.68,53.26,62,79,35.87c2.13-2.16,3.47-3.9,6.1-1.19l8.53,8.74c2.8,2.77,2.66,4.4,0,7L58.14,85.34c-5.58,5.46-4.61,5.79-10.26.19L28,65.77c-1.18-1.28-1.05-2.57.24-3.84l9.9-10.27c1.5-1.58,2.7-1.44,4.22,0Z"/></svg>
@@ -1,26 +0,0 @@
1
- <svg
2
- width="800px"
3
- height="800px"
4
- viewBox="0 0 24 24"
5
- fill="none"
6
- version="1.1"
7
- xmlns="http://www.w3.org/2000/svg"
8
- xmlns:svg="http://www.w3.org/2000/svg">
9
- <path
10
- d="M 2.8842937,6.1960452 H 21.225537"
11
- stroke="#000000"
12
- stroke-width="2.29266"
13
- stroke-linecap="round"
14
- stroke-linejoin="round" />
15
- <path
16
- d="M 5.1769491,9.6350283 7.1273225,20.362133 c 0.1982115,1.090158 1.1476689,1.8825 2.2556753,1.8825 h 5.3437782 c 1.10804,0 2.057543,-0.792456 2.255743,-1.8825 L 18.932881,9.6350283"
17
- stroke="#000000"
18
- stroke-width="2.29266"
19
- stroke-linecap="round"
20
- stroke-linejoin="round" />
21
- <path
22
- d="m 8.6159322,3.9033897 c 0,-1.266199 1.0264559,-2.2926552 2.2926548,-2.2926552 h 2.292656 c 1.266234,0 2.292655,1.0264562 2.292655,2.2926552 V 6.1960452 H 8.6159322 Z"
23
- stroke="#000000"
24
- stroke-width="2.29266"
25
- stroke-linecap="round" />
26
- </svg>
@@ -1,7 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" fill="#FFF" stroke-miterlimit="10" stroke-width="2" viewBox="0 0 96 96">
2
- <path stroke="#979593" d="M67.1716 7H27c-1.1046 0-2 .8954-2 2v78c0 1.1046.8954 2 2 2h58c1.1046 0 2-.8954 2-2V26.8284c0-.5304-.2107-1.0391-.5858-1.4142L68.5858 7.5858C68.2107 7.2107 67.702 7 67.1716 7z"/>
3
- <path fill="none" stroke="#979593" d="M67 7v18c0 1.1046.8954 2 2 2h18"/>
4
- <path fill="#C8C6C4" d="M79 61H48v-2h31c.5523 0 1 .4477 1 1s-.4477 1-1 1zm0-6H48v-2h31c.5523 0 1 .4477 1 1s-.4477 1-1 1zm0-6H48v-2h31c.5523 0 1 .4477 1 1s-.4477 1-1 1zm0-6H48v-2h31c.5523 0 1 .4477 1 1s-.4477 1-1 1zm0 24H48v-2h31c.5523 0 1 .4477 1 1s-.4477 1-1 1z"/>
5
- <path fill="#185ABD" d="M12 74h32c2.2091 0 4-1.7909 4-4V38c0-2.2091-1.7909-4-4-4H12c-2.2091 0-4 1.7909-4 4v32c0 2.2091 1.7909 4 4 4z"/>
6
- <path d="M21.6245 60.6455c.0661.522.109.9769.1296 1.3657h.0762c.0306-.3685.0889-.8129.1751-1.3349.0862-.5211.1703-.961.2517-1.319L25.7911 44h4.5702l3.6562 15.1272c.183.7468.3353 1.6973.457 2.8532h.0608c.0508-.7979.1777-1.7184.3809-2.7615L37.8413 44H42l-5.1183 22h-4.86l-3.4885-14.5744c-.1016-.4197-.2158-.9663-.3428-1.6417-.127-.6745-.2057-1.1656-.236-1.4724h-.0608c-.0407.358-.1195.8896-.2364 1.595-.1169.7062-.211 1.2273-.2819 1.565L24.1 66h-4.9357L14 44h4.2349l3.1843 15.3882c.0709.3165.1392.7362.2053 1.2573z"/>
7
- </svg>
@@ -1,4 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
2
- <svg width="800px" height="800px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill="none">
3
- <path fill="#000000" fill-rule="evenodd" d="M15.198 3.52a1.612 1.612 0 012.223 2.336L6.346 16.421l-2.854.375 1.17-3.272L15.197 3.521zm3.725-1.322a3.612 3.612 0 00-5.102-.128L3.11 12.238a1 1 0 00-.253.388l-1.8 5.037a1 1 0 001.072 1.328l4.8-.63a1 1 0 00.56-.267L18.8 7.304a3.612 3.612 0 00.122-5.106zM12 17a1 1 0 100 2h6a1 1 0 100-2h-6z"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
3
- <path fill-rule="evenodd" clip-rule="evenodd" d="M22 8.29344C22 11.7692 19.1708 14.5869 15.6807 14.5869C15.0439 14.5869 13.5939 14.4405 12.8885 13.8551L12.0067 14.7333C11.4883 15.2496 11.6283 15.4016 11.8589 15.652C11.9551 15.7565 12.0672 15.8781 12.1537 16.0505C12.1537 16.0505 12.8885 17.075 12.1537 18.0995C11.7128 18.6849 10.4783 19.5045 9.06754 18.0995L8.77362 18.3922C8.77362 18.3922 9.65538 19.4167 8.92058 20.4412C8.4797 21.0267 7.30403 21.6121 6.27531 20.5876L5.2466 21.6121C4.54119 22.3146 3.67905 21.9048 3.33616 21.6121L2.45441 20.7339C1.63143 19.9143 2.1115 19.0264 2.45441 18.6849L10.0963 11.0743C10.0963 11.0743 9.3615 9.90338 9.3615 8.29344C9.3615 4.81767 12.1907 2 15.6807 2C19.1708 2 22 4.81767 22 8.29344ZM15.681 10.4889C16.8984 10.4889 17.8853 9.50601 17.8853 8.29353C17.8853 7.08105 16.8984 6.09814 15.681 6.09814C14.4635 6.09814 13.4766 7.08105 13.4766 8.29353C13.4766 9.50601 14.4635 10.4889 15.681 10.4889Z" fill="#1C274C"/>
4
- </svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="208" height="128" viewBox="0 0 208 128"><rect width="198" height="118" x="5" y="5" ry="10" stroke="#000" stroke-width="10" fill="none"/><path d="M30 98V30h20l20 25 20-25h20v68H90V59L70 84 50 59v39zm125 0l-30-33h20V30h20v35h20z"/></svg>