khoj 1.17.1.dev223__py3-none-any.whl → 1.17.1.dev233__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 (51) hide show
  1. khoj/routers/web_client.py +29 -130
  2. {khoj-1.17.1.dev223.dist-info → khoj-1.17.1.dev233.dist-info}/METADATA +1 -1
  3. {khoj-1.17.1.dev223.dist-info → khoj-1.17.1.dev233.dist-info}/RECORD +6 -51
  4. khoj/interface/web/404.html +0 -56
  5. khoj/interface/web/agent.html +0 -312
  6. khoj/interface/web/agents.html +0 -276
  7. khoj/interface/web/assets/icons/cancel.svg +0 -3
  8. khoj/interface/web/assets/icons/collapse.svg +0 -17
  9. khoj/interface/web/assets/icons/computer.png +0 -0
  10. khoj/interface/web/assets/icons/confirm-icon.svg +0 -1
  11. khoj/interface/web/assets/icons/copy-button-success.svg +0 -6
  12. khoj/interface/web/assets/icons/copy-button.svg +0 -5
  13. khoj/interface/web/assets/icons/credit-card.png +0 -0
  14. khoj/interface/web/assets/icons/delete.svg +0 -26
  15. khoj/interface/web/assets/icons/docx.svg +0 -7
  16. khoj/interface/web/assets/icons/edit.svg +0 -4
  17. khoj/interface/web/assets/icons/key.svg +0 -4
  18. khoj/interface/web/assets/icons/markdown.svg +0 -1
  19. khoj/interface/web/assets/icons/new.svg +0 -23
  20. khoj/interface/web/assets/icons/notion.svg +0 -4
  21. khoj/interface/web/assets/icons/openai-logomark.svg +0 -1
  22. khoj/interface/web/assets/icons/org.svg +0 -1
  23. khoj/interface/web/assets/icons/pdf.svg +0 -23
  24. khoj/interface/web/assets/icons/pencil-edit.svg +0 -5
  25. khoj/interface/web/assets/icons/plaintext.svg +0 -1
  26. khoj/interface/web/assets/icons/question-mark-icon.svg +0 -1
  27. khoj/interface/web/assets/icons/send.svg +0 -1
  28. khoj/interface/web/assets/icons/share.svg +0 -8
  29. khoj/interface/web/assets/icons/speaker.svg +0 -4
  30. khoj/interface/web/assets/icons/stop-solid.svg +0 -37
  31. khoj/interface/web/assets/icons/thumbs-down-svgrepo-com.svg +0 -6
  32. khoj/interface/web/assets/icons/thumbs-up-svgrepo-com.svg +0 -6
  33. khoj/interface/web/assets/icons/user-silhouette.svg +0 -4
  34. khoj/interface/web/assets/icons/voice.svg +0 -8
  35. khoj/interface/web/assets/icons/web.svg +0 -2
  36. khoj/interface/web/assets/icons/whatsapp.svg +0 -17
  37. khoj/interface/web/assets/markdown-it.min.js +0 -8476
  38. khoj/interface/web/assets/natural-cron.min.js +0 -1
  39. khoj/interface/web/assets/org.min.js +0 -1823
  40. khoj/interface/web/assets/pico.min.css +0 -5
  41. khoj/interface/web/assets/purify.min.js +0 -3
  42. khoj/interface/web/chat.html +0 -3436
  43. khoj/interface/web/config_automation.html +0 -1103
  44. khoj/interface/web/content_source_computer_input.html +0 -139
  45. khoj/interface/web/content_source_notion_input.html +0 -94
  46. khoj/interface/web/public_conversation.html +0 -2006
  47. khoj/interface/web/search.html +0 -470
  48. khoj/interface/web/settings.html +0 -1011
  49. {khoj-1.17.1.dev223.dist-info → khoj-1.17.1.dev233.dist-info}/WHEEL +0 -0
  50. {khoj-1.17.1.dev223.dist-info → khoj-1.17.1.dev233.dist-info}/entry_points.txt +0 -0
  51. {khoj-1.17.1.dev223.dist-info → khoj-1.17.1.dev233.dist-info}/licenses/LICENSE +0 -0
@@ -1,27 +1,16 @@
1
1
  # System Packages
2
2
  import json
3
3
  import os
4
- from typing import Optional
5
4
 
6
5
  from fastapi import APIRouter, Request
7
6
  from fastapi.responses import FileResponse, HTMLResponse, RedirectResponse
8
7
  from fastapi.templating import Jinja2Templates
9
8
  from starlette.authentication import requires
10
9
 
11
- from khoj.database.adapters import (
12
- AgentAdapters,
13
- PublicConversationAdapters,
14
- get_user_github_config,
15
- get_user_notion_config,
16
- )
17
- from khoj.database.models import KhojUser
10
+ from khoj.database.adapters import get_user_github_config
18
11
  from khoj.routers.helpers import get_next_url, get_user_config
19
- from khoj.utils import constants, state
20
- from khoj.utils.rawconfig import (
21
- GithubContentConfig,
22
- GithubRepoConfig,
23
- NotionContentConfig,
24
- )
12
+ from khoj.utils import constants
13
+ from khoj.utils.rawconfig import GithubContentConfig, GithubRepoConfig
25
14
 
26
15
  # Initialize Router
27
16
  web_client = APIRouter()
@@ -30,39 +19,36 @@ templates = Jinja2Templates([constants.web_directory, constants.next_js_director
30
19
 
31
20
  # Create Routes
32
21
  @web_client.get("/", response_class=FileResponse)
33
- @requires(["authenticated"], redirect="login_page")
34
22
  def index(request: Request):
35
- user = request.user.object
36
- user_config = get_user_config(user, request)
37
-
38
- return templates.TemplateResponse("chat.html", context=user_config)
23
+ return templates.TemplateResponse("index.html", context={"request": request})
39
24
 
40
25
 
41
26
  @web_client.post("/", response_class=FileResponse)
42
27
  @requires(["authenticated"], redirect="login_page")
43
28
  def index_post(request: Request):
44
- user = request.user.object
45
- user_config = get_user_config(user, request)
46
-
47
- return templates.TemplateResponse("chat.html", context=user_config)
29
+ return templates.TemplateResponse("index.html", context={"request": request})
48
30
 
49
31
 
50
32
  @web_client.get("/search", response_class=FileResponse)
51
33
  @requires(["authenticated"], redirect="login_page")
52
34
  def search_page(request: Request):
53
- user = request.user.object
54
- user_config = get_user_config(user, request)
55
-
56
- return templates.TemplateResponse("search.html", context=user_config)
35
+ return templates.TemplateResponse(
36
+ "search/index.html",
37
+ context={
38
+ "request": request,
39
+ },
40
+ )
57
41
 
58
42
 
59
43
  @web_client.get("/chat", response_class=FileResponse)
60
44
  @requires(["authenticated"], redirect="login_page")
61
45
  def chat_page(request: Request):
62
- user = request.user.object
63
- user_config = get_user_config(user, request)
64
-
65
- return templates.TemplateResponse("chat.html", context=user_config)
46
+ return templates.TemplateResponse(
47
+ "chat/index.html",
48
+ context={
49
+ "request": request,
50
+ },
51
+ )
66
52
 
67
53
 
68
54
  @web_client.get("/experimental", response_class=FileResponse)
@@ -113,38 +99,10 @@ def agents_page(request: Request):
113
99
  )
114
100
 
115
101
 
116
- @web_client.get("/agent/{agent_slug}", response_class=HTMLResponse)
117
- def agent_page(request: Request, agent_slug: str):
118
- user: KhojUser = request.user.object if request.user.is_authenticated else None
119
- user_config = get_user_config(user, request)
120
- agent = AgentAdapters.get_agent_by_slug(agent_slug)
121
-
122
- if agent == None:
123
- user_config["has_documents"] = False
124
- return templates.TemplateResponse("404.html", context=user_config)
125
-
126
- user_config["agent"] = {
127
- "slug": agent.slug,
128
- "avatar": agent.avatar,
129
- "name": agent.name,
130
- "personality": agent.personality,
131
- "public": agent.public,
132
- "creator": agent.creator.username if agent.creator else None,
133
- "managed_by_admin": agent.managed_by_admin,
134
- "chat_model": agent.chat_model.chat_model,
135
- "creator_not_self": agent.creator != user,
136
- }
137
-
138
- return templates.TemplateResponse("agent.html", context=user_config)
139
-
140
-
141
102
  @web_client.get("/settings", response_class=HTMLResponse)
142
103
  @requires(["authenticated"], redirect="login_page")
143
104
  def config_page(request: Request):
144
- user: KhojUser = request.user.object
145
- user_config = get_user_config(user, request, is_detailed=True)
146
-
147
- return templates.TemplateResponse("settings.html", context=user_config)
105
+ return templates.TemplateResponse("settings/index.html", context={"request": request})
148
106
 
149
107
 
150
108
  @web_client.get("/settings/content/github", response_class=HTMLResponse)
@@ -177,82 +135,23 @@ def github_config_page(request: Request):
177
135
  return templates.TemplateResponse("content_source_github_input.html", context=user_config)
178
136
 
179
137
 
180
- @web_client.get("/settings/content/notion", response_class=HTMLResponse)
181
- @requires(["authenticated"], redirect="login_page")
182
- def notion_config_page(request: Request):
183
- user = request.user.object
184
- user_config = get_user_config(user, request)
185
-
186
- current_notion_config = get_user_notion_config(user)
187
- token = current_notion_config.token if current_notion_config else ""
188
- current_config = NotionContentConfig(token=token)
189
- current_config = json.loads(current_config.model_dump_json())
190
-
191
- user_config["current_config"] = current_config
192
- return templates.TemplateResponse("content_source_notion_input.html", context=user_config)
193
-
194
-
195
- @web_client.get("/settings/content/computer", response_class=HTMLResponse)
196
- @requires(["authenticated"], redirect="login_page")
197
- def computer_config_page(request: Request):
198
- user = request.user.object if request.user.is_authenticated else None
199
- user_config = get_user_config(user, request)
200
-
201
- return templates.TemplateResponse("content_source_computer_input.html", context=user_config)
202
-
203
-
204
138
  @web_client.get("/share/chat/{public_conversation_slug}", response_class=HTMLResponse)
205
139
  def view_public_conversation(request: Request):
206
- public_conversation_slug = request.path_params.get("public_conversation_slug")
207
- public_conversation = PublicConversationAdapters.get_public_conversation_by_slug(public_conversation_slug)
208
- if not public_conversation:
209
- return templates.TemplateResponse(
210
- "404.html",
211
- context={
212
- "request": request,
213
- "khoj_version": state.khoj_version,
214
- },
215
- )
216
- user = request.user.object if request.user.is_authenticated else None
217
- user_config = get_user_config(user, request)
218
- user_config["public_conversation_slug"] = public_conversation_slug
219
- user_config["google_client_id"] = os.environ.get("GOOGLE_CLIENT_ID")
220
-
221
- all_agents = AgentAdapters.get_all_accessible_agents(request.user.object if request.user.is_authenticated else None)
222
-
223
- # Filter out the current agent
224
- all_agents = [agent for agent in all_agents if agent != public_conversation.agent]
225
- agents_packet = []
226
- for agent in all_agents:
227
- agents_packet.append(
228
- {
229
- "slug": agent.slug,
230
- "avatar": agent.avatar,
231
- "name": agent.name,
232
- }
233
- )
234
- user_config["agents"] = agents_packet
235
-
236
- redirect_uri = str(request.app.url_path_for("auth"))
237
- next_url = str(
238
- request.app.url_path_for("view_public_conversation", public_conversation_slug=public_conversation_slug)
140
+ return templates.TemplateResponse(
141
+ "share/chat/index.html",
142
+ context={
143
+ "request": request,
144
+ },
239
145
  )
240
- user_config["redirect_uri"] = f"{redirect_uri}?next={next_url}"
241
-
242
- return templates.TemplateResponse("public_conversation.html", context=user_config)
243
146
 
244
147
 
245
148
  @web_client.get("/automations", response_class=HTMLResponse)
246
149
  def automations_config_page(
247
150
  request: Request,
248
- subject: Optional[str] = None,
249
- crontime: Optional[str] = None,
250
- queryToRun: Optional[str] = None,
251
151
  ):
252
- user = request.user.object if request.user.is_authenticated else None
253
- user_config = get_user_config(user, request)
254
- user_config["subject"] = subject if subject else ""
255
- user_config["crontime"] = crontime if crontime else ""
256
- user_config["queryToRun"] = queryToRun if queryToRun else ""
257
-
258
- return templates.TemplateResponse("config_automation.html", context=user_config)
152
+ return templates.TemplateResponse(
153
+ "automations/index.html",
154
+ context={
155
+ "request": request,
156
+ },
157
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: khoj
3
- Version: 1.17.1.dev223
3
+ Version: 1.17.1.dev233
4
4
  Summary: Your Second Brain
5
5
  Project-URL: Homepage, https://khoj.dev
6
6
  Project-URL: Documentation, https://docs.khoj.dev
@@ -85,72 +85,27 @@ khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmk
85
85
  khoj/interface/email/magic_link.html,sha256=jXY_2hD3o15Ns5UDzbjLT8FHBnZiS7jo38YkYXIS-4w,947
86
86
  khoj/interface/email/task.html,sha256=yXywzC-5P4nXbhqvgCmwcCpTRbD5eWuDXMpgYSotztM,3311
87
87
  khoj/interface/email/welcome.html,sha256=Z4RP5J6c62adF7teH84OGx37shdsFzWQBwQjgfMjjUU,6577
88
- khoj/interface/web/404.html,sha256=_WKN17MwiW1b1-8-vx240ZxTO2LmPUh5YnUCaGQpoZk,1651
89
- khoj/interface/web/agent.html,sha256=vH3p6gwGlKkNmGO_TSwJMoOvZMvv8t4K8GwaN0QuOAU,9901
90
- khoj/interface/web/agents.html,sha256=_6WZIYGav87WGJR9QA_UTLESD_itSINuxVOl3ybnRRM,9320
91
88
  khoj/interface/web/base_config.html,sha256=vORIYJQ5UzaA3TAMcywRisk-YaaJEwkVAiEJGsbYxvA,12173
92
- khoj/interface/web/chat.html,sha256=0qLswm0SOQJ2ZbNOy968Mc9g14Lq0vYtF5zDIAeS0d8,149786
93
- khoj/interface/web/config_automation.html,sha256=B_-uUBi-uVlhPqFNsxxNdp-m0BGST0maqJ1qTzfkkzA,46095
94
- khoj/interface/web/content_source_computer_input.html,sha256=PGtEmmsAc0g0DQM5sNlvC5SexGzmn5aC6HYUvm3qr54,5956
95
89
  khoj/interface/web/content_source_github_input.html,sha256=YpsLBpsATW08ttrGysqktx2EczC4nebKlvWpwxtwmFY,8249
96
- khoj/interface/web/content_source_notion_input.html,sha256=0GB_q2uVQHLrz5dIT18LpzVcb-1LdbFlIUprxeZJgUk,3649
97
90
  khoj/interface/web/khoj.webmanifest,sha256=G_Aphzn6SMaY73AYLCD12mgztZvagh_U2YpkjQXIY1U,1628
98
91
  khoj/interface/web/login.html,sha256=U3rb0bZg06-dcR6swB-Ho33DX8V9-cqa-70yPIj8pKY,6838
99
- khoj/interface/web/public_conversation.html,sha256=tMmjO2Dz6Wcn83uTn_zvEg8yz_NNeuo_Jhv_vCO8JJ4,76251
100
- khoj/interface/web/search.html,sha256=vEgN-SHWuK6arArgvIn5uetsCb4tN2i19CWCr-p7Z0U,18329
101
- khoj/interface/web/settings.html,sha256=rVqlMrsxlXeH0oAKZwMn902nNICpwlVkdklfHLsUnxk,45908
102
92
  khoj/interface/web/utils.html,sha256=_UrcCvSkx1SAzhlTsvrj9LFlnJuJ-_cMtz6HY-rEIkI,3143
103
93
  khoj/interface/web/assets/khoj.css,sha256=rhW8-RwvkpTC5GbtBt0EByaXaHjlxpxPYxrUuzMWDC0,5659
104
- khoj/interface/web/assets/markdown-it.min.js,sha256=zu3EiJi63wq7KFBdLv3zrWI2enxgn3Ia-IKhWlTDIco,275822
105
- khoj/interface/web/assets/natural-cron.min.js,sha256=sck3Rmq6AUapLuBwj4A516n_BYQ2eNEICgQzwS83s0A,15760
106
- khoj/interface/web/assets/org.min.js,sha256=W-5YPxbKcOsA4Hisdc2agHF5XuyVlm3gpcppaloK7G8,58643
107
- khoj/interface/web/assets/pico.min.css,sha256=cjD_iUc4VEfrXRza2MvJiMWD3dxhtqV-9rT0rEfCJpA,73396
108
- khoj/interface/web/assets/purify.min.js,sha256=g8iGk4ZBsoelviNZVQcHkDe0trvTdboSo-QqnpDTYXc,21820
109
94
  khoj/interface/web/assets/utils.js,sha256=A22W1nOVuD1osI7TtZC8fZ0r1g4pE66tXQ_4XNbhreo,1269
110
95
  khoj/interface/web/assets/icons/agents.svg,sha256=yFCRwIM-Qawa0C5ggAo3ekb-Q1ElmotBOKIGhtfIQqM,1722
111
96
  khoj/interface/web/assets/icons/automation.svg,sha256=o7L2XYwJWRSMvl8h6TBv6Pt28RTRVMHqF04EPY0AFj0,1467
112
- khoj/interface/web/assets/icons/cancel.svg,sha256=TDele79GSH_mnRsxEyw79uPd4lCmPXKlJ-tjFukICNU,1135
113
97
  khoj/interface/web/assets/icons/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvtM3A,2424
114
- khoj/interface/web/assets/icons/collapse.svg,sha256=0c35Qs68J-uGnj0yEFJSKgKdBxd_4AYMyynyoMAofbc,1661
115
- khoj/interface/web/assets/icons/computer.png,sha256=zScL3g154eH07qcMrEixLGRG6jSOBPq_A0w9DdQOsY8,10517
116
- khoj/interface/web/assets/icons/confirm-icon.svg,sha256=E-a5CML88ugwNdxoVk8jjA43oJag5mW9k7e0YjrScdw,549
117
- khoj/interface/web/assets/icons/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
118
- khoj/interface/web/assets/icons/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
119
- khoj/interface/web/assets/icons/credit-card.png,sha256=uPBC5CRzKUcRq4Vm4cjAd-RQsr4F6c-ksbvrCatFwGc,19662
120
- khoj/interface/web/assets/icons/delete.svg,sha256=wgVI_WiV_cGEsNg8DWUEhnu5DkjkWeI8xyIcFu1OTaA,914
121
- khoj/interface/web/assets/icons/docx.svg,sha256=o_WbsAvXgaKAsNMwY3VaEeUvmxzjqEt4fRvcna8rS2Q,1325
122
- khoj/interface/web/assets/icons/edit.svg,sha256=7aaMUYte2aSC3XsYMwzjx2pST1Bt34gLmiqA9N_aZ6A,571
123
98
  khoj/interface/web/assets/icons/favicon-128x128.ico,sha256=JMZf9aZor9AUbh5kuFNDaG3Mjxvoau5k80yRA9ly5TQ,205167
124
99
  khoj/interface/web/assets/icons/favicon-128x128.png,sha256=aTxivDb3CYyThkVZWz8A19xl_dNut5DbkXhODWF3A9Q,5640
125
100
  khoj/interface/web/assets/icons/favicon-256x256.png,sha256=xPCMLHiaL7lYOdQLZrKwWE-Qjn5ZaysSZB0ScYv4UZU,12312
126
101
  khoj/interface/web/assets/icons/github.svg,sha256=E789GwMweG0aU1wJNp0FjWHlFX1AxuA5H0durEnw5hQ,964
127
- khoj/interface/web/assets/icons/key.svg,sha256=ePgqDcsgBhIX6stfcDRlMkNMCggcRp8uoHtONqjj4X0,1100
128
102
  khoj/interface/web/assets/icons/khoj-logo-sideways-200.png,sha256=2_F1PpTZzfjvaHej9jjENx03H1vKtFsVkolwTPLJP9Q,6637
129
103
  khoj/interface/web/assets/icons/khoj-logo-sideways-500.png,sha256=VQsQ20NC-sKYHa9UgAvLM2N25DWRISZUIGW0zhnRres,18603
130
104
  khoj/interface/web/assets/icons/khoj-logo-sideways.svg,sha256=wLU1lBtzZMQNUS5maD0-vqY1q4D0vuqWnRmIUy7odk4,14772
131
105
  khoj/interface/web/assets/icons/khoj.svg,sha256=8QZ0q3vazgY0aGhTT9Um432GbwtY1Vn64vxvAfoSwaI,7967
132
106
  khoj/interface/web/assets/icons/logotype.svg,sha256=diy7UEKDBv9dFtGfE8Y5gf9JTdQUKTnq_dSdC2RGVIA,4031
133
- khoj/interface/web/assets/icons/markdown.svg,sha256=ngHbtxRmKcMVHv8NgscjS-azYp4hgzYQl2g0oGzYSTg,283
134
- khoj/interface/web/assets/icons/new.svg,sha256=pq1O8z7aMhDmWA8kKGLT5RPOpNu16ZOsQfmUdaVWMXs,949
135
- khoj/interface/web/assets/icons/notion.svg,sha256=G1KhhdgWbZM59cFt1ReJ7jD0mmW01Ac4KQtgQj4zEWA,1578
136
- khoj/interface/web/assets/icons/openai-logomark.svg,sha256=BEm8L47fqDkEDqoprIc4yNCOHzeChuTep6dftm0G_68,1736
137
- khoj/interface/web/assets/icons/org.svg,sha256=uWQOQJEV26Segoij2NhxJeDA6ICKtcZ_ihQNg84VsCM,7946
138
- khoj/interface/web/assets/icons/pdf.svg,sha256=lQObG1H7Lhj8CQAqb2dHMbRKg5RUUtiXUqVKgkwXMwU,2504
139
- khoj/interface/web/assets/icons/pencil-edit.svg,sha256=KqpjAdvlMw_VCYsTB5FbVh45LXEpjB9VgOtaqote8YM,1127
140
- khoj/interface/web/assets/icons/plaintext.svg,sha256=vghi0FAsOP_HRozqpv8bMgVgIj_aVkUzzsAu_Gkqnfw,2945
141
- khoj/interface/web/assets/icons/question-mark-icon.svg,sha256=MraaI16kiXfr4-_3Qz3efzX8OvOGrueXyVeBNi5Y6jI,1877
142
107
  khoj/interface/web/assets/icons/search.svg,sha256=TbKdOUEotv16JhpT3WV2Krxi-wTkPK3LrykrJhAkLFM,1210
143
- khoj/interface/web/assets/icons/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
144
- khoj/interface/web/assets/icons/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
145
- khoj/interface/web/assets/icons/speaker.svg,sha256=-CxYU1_iMNP5-YvELdr8phRA-Y-gVT0FC6chIp3VLj4,555
146
- khoj/interface/web/assets/icons/stop-solid.svg,sha256=up-hugJLqHYwFmJSOWkTwZ4rf9fNJHgZ4AtS5uN80_8,1319
147
108
  khoj/interface/web/assets/icons/sync.svg,sha256=ZmwPaLLUBLDkNIly8bC1nCcWNspl30Kneiq-W9oYm34,639
148
- khoj/interface/web/assets/icons/thumbs-down-svgrepo-com.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
149
- khoj/interface/web/assets/icons/thumbs-up-svgrepo-com.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
150
- khoj/interface/web/assets/icons/user-silhouette.svg,sha256=cVcnjO7gaN-sKKl3U5rkG2mx_ioM1ZK2sXTZENPs4yQ,2233
151
- khoj/interface/web/assets/icons/voice.svg,sha256=0tmz0tByFw1BdsBYuY9W5D1ljJJOGWqWllkOS_-E58I,758
152
- khoj/interface/web/assets/icons/web.svg,sha256=N0pAIs1YAXPGq8-3xZsYmsYuHqRuUXmkd5Ebt27MPb4,951
153
- khoj/interface/web/assets/icons/whatsapp.svg,sha256=MaJ44iD_sWNP4Ik_eiOd9KzYYEGMrX8nEo2isRwVNe8,2417
154
109
  khoj/interface/web/assets/samples/desktop-browse-draw-sample.png,sha256=v6u1g7_uEG_xN1D5UrulUC-rUkpzTlSPiUrbfxt4H2g,591182
155
110
  khoj/interface/web/assets/samples/desktop-plain-chat-sample.png,sha256=SG1nFvJ3kWs5F3XXZxnkE-UnXCWY0Mz-EqTeU0nhs30,197173
156
111
  khoj/interface/web/assets/samples/desktop-remember-plan-sample.png,sha256=i9QOSuWE6wKPP-qWcZisBrT3P7kRwq0yXKv7bV-kOSw,268309
@@ -217,7 +172,7 @@ khoj/routers/notion.py,sha256=0iG_DPVjg8n_LBWGHA8M6eHnJJDL-isARSEHTYStz6c,2809
217
172
  khoj/routers/storage.py,sha256=9ZfBsr_omxdFV-Lcj6p30xTQcF_7wwCZ9XFJukzjITE,1429
218
173
  khoj/routers/subscription.py,sha256=qEyV7m7mrY6MGtaij8W3v61tpzX2a7ydm2B-E8h_R-M,4285
219
174
  khoj/routers/twilio.py,sha256=MLsuCm4--ETvr3sLxbF0CL_ehlg_l2rKBSLR2Qh2Xls,1081
220
- khoj/routers/web_client.py,sha256=QraT0eCf7nTqsshSFBP5fWIfisZofk5xVB-818zZLgU,9014
175
+ khoj/routers/web_client.py,sha256=LZDOUyRzlqZxdtNxnPT1LfvGRfH1sgeMGYogSeS2IOs,4708
221
176
  khoj/search_filter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
222
177
  khoj/search_filter/base_filter.py,sha256=BzoZA_wAUg_eZ5vhaaipwVTSG0ZMxWCHxHsZrzo4KS0,358
223
178
  khoj/search_filter/date_filter.py,sha256=4VL63kDVqYKFOzkCeV6R8Z8lxFaAbbn_z_RWaWQNDWY,10103
@@ -237,8 +192,8 @@ khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
237
192
  khoj/utils/rawconfig.py,sha256=luk7Vb_ODuoTdMd_IG-yVXGoyoU-RktyapBG5D1N_VI,3985
238
193
  khoj/utils/state.py,sha256=x4GTewP1YhOA6c_32N4wOjnV-3AA3xG_qbY1-wC2Uxc,1559
239
194
  khoj/utils/yaml.py,sha256=H0mfw0ZvBFUvFmCQn8pWkfxdmIebsrSykza7D8Wv6wQ,1430
240
- khoj-1.17.1.dev223.dist-info/METADATA,sha256=4X316YVPwx6JjzyybvIC_8YgwGZ7-T47sMwgS2xQzGQ,6877
241
- khoj-1.17.1.dev223.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
242
- khoj-1.17.1.dev223.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
243
- khoj-1.17.1.dev223.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
244
- khoj-1.17.1.dev223.dist-info/RECORD,,
195
+ khoj-1.17.1.dev233.dist-info/METADATA,sha256=EUJa8OHIGCqSmnAt3kYqbXQaxyYzEAHrgRwXrrB9edE,6877
196
+ khoj-1.17.1.dev233.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
197
+ khoj-1.17.1.dev233.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
198
+ khoj-1.17.1.dev233.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
199
+ khoj-1.17.1.dev233.dist-info/RECORD,,
@@ -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>