khoj 1.41.1.dev43__py3-none-any.whl → 1.41.1.dev97__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.
- khoj/database/adapters/__init__.py +17 -6
- khoj/interface/compiled/404/index.html +2 -2
- khoj/interface/compiled/_next/static/chunks/{2327-f03b2a77f67b8f8c.js → 2327-aa22697ed9c8d54a.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/4986-9ddd694756d03aa1.js +1 -0
- khoj/interface/compiled/_next/static/chunks/{8515-010dd769c584b672.js → 8515-f305779d95dd5780.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/agents/layout-4e2a134ec26aa606.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/chat/layout-ad4d1792ab1a4108.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/chat/{page-14ac9d1ad5cb84c5.js → page-7e780dc11eb5e5d3.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/{webpack-1169ca6e9e7e6247.js → webpack-21f76f7f59582bc7.js} +1 -1
- khoj/interface/compiled/agents/index.html +2 -2
- khoj/interface/compiled/agents/index.txt +2 -2
- khoj/interface/compiled/automations/index.html +2 -2
- khoj/interface/compiled/automations/index.txt +2 -2
- khoj/interface/compiled/chat/index.html +2 -2
- khoj/interface/compiled/chat/index.txt +2 -2
- khoj/interface/compiled/index.html +2 -2
- khoj/interface/compiled/index.txt +2 -2
- khoj/interface/compiled/search/index.html +2 -2
- khoj/interface/compiled/search/index.txt +2 -2
- khoj/interface/compiled/settings/index.html +2 -2
- khoj/interface/compiled/settings/index.txt +2 -2
- khoj/interface/compiled/share/chat/index.html +2 -2
- khoj/interface/compiled/share/chat/index.txt +2 -2
- khoj/processor/conversation/anthropic/anthropic_chat.py +7 -2
- khoj/processor/conversation/anthropic/utils.py +37 -19
- khoj/processor/conversation/google/gemini_chat.py +7 -2
- khoj/processor/conversation/offline/chat_model.py +2 -2
- khoj/processor/conversation/openai/gpt.py +7 -2
- khoj/processor/conversation/prompts.py +13 -2
- khoj/processor/conversation/utils.py +34 -6
- khoj/processor/operator/grounding_agent.py +345 -0
- khoj/processor/operator/grounding_agent_uitars.py +973 -0
- khoj/processor/operator/operate_browser.py +165 -0
- khoj/processor/operator/operator_actions.py +149 -0
- khoj/processor/operator/operator_agent_anthropic.py +402 -0
- khoj/processor/operator/operator_agent_base.py +80 -0
- khoj/processor/operator/operator_agent_binary.py +336 -0
- khoj/processor/operator/operator_agent_openai.py +349 -0
- khoj/processor/operator/operator_environment_base.py +37 -0
- khoj/processor/operator/operator_environment_browser.py +395 -0
- khoj/routers/api_chat.py +44 -6
- khoj/routers/helpers.py +18 -8
- khoj/routers/research.py +48 -1
- khoj/utils/constants.py +6 -0
- khoj/utils/helpers.py +17 -0
- {khoj-1.41.1.dev43.dist-info → khoj-1.41.1.dev97.dist-info}/METADATA +4 -2
- {khoj-1.41.1.dev43.dist-info → khoj-1.41.1.dev97.dist-info}/RECORD +52 -42
- khoj/interface/compiled/_next/static/chunks/4986-14ea63faad1615a4.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/agents/layout-e00fb81dca656a10.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/chat/layout-33934fc2d6ae6838.js +0 -1
- /khoj/interface/compiled/_next/static/{doKtSKC0j2ECO8K8viDKD → o6zlo73DbD2lS92jWHS8o}/_buildManifest.js +0 -0
- /khoj/interface/compiled/_next/static/{doKtSKC0j2ECO8K8viDKD → o6zlo73DbD2lS92jWHS8o}/_ssgManifest.js +0 -0
- {khoj-1.41.1.dev43.dist-info → khoj-1.41.1.dev97.dist-info}/WHEEL +0 -0
- {khoj-1.41.1.dev43.dist-info → khoj-1.41.1.dev97.dist-info}/entry_points.txt +0 -0
- {khoj-1.41.1.dev43.dist-info → khoj-1.41.1.dev97.dist-info}/licenses/LICENSE +0 -0
khoj/routers/research.py
CHANGED
@@ -17,6 +17,7 @@ from khoj.processor.conversation.utils import (
|
|
17
17
|
construct_tool_chat_history,
|
18
18
|
load_complex_json,
|
19
19
|
)
|
20
|
+
from khoj.processor.operator.operate_browser import operate_browser
|
20
21
|
from khoj.processor.tools.online_search import read_webpages, search_online
|
21
22
|
from khoj.processor.tools.run_code import run_code
|
22
23
|
from khoj.routers.api import extract_references_and_questions
|
@@ -28,6 +29,7 @@ from khoj.routers.helpers import (
|
|
28
29
|
from khoj.utils.helpers import (
|
29
30
|
ConversationCommand,
|
30
31
|
is_none_or_empty,
|
32
|
+
is_operator_enabled,
|
31
33
|
timer,
|
32
34
|
tool_description_for_research_llm,
|
33
35
|
truncate_code_context,
|
@@ -98,6 +100,9 @@ async def apick_next_tool(
|
|
98
100
|
agent_tools = agent.input_tools if agent else []
|
99
101
|
user_has_entries = await EntryAdapters.auser_has_entries(user)
|
100
102
|
for tool, description in tool_description_for_research_llm.items():
|
103
|
+
# Skip showing operator tool as an option if not enabled
|
104
|
+
if tool == ConversationCommand.Operator and not is_operator_enabled():
|
105
|
+
continue
|
101
106
|
# Skip showing Notes tool as an option if user has no entries
|
102
107
|
if tool == ConversationCommand.Notes:
|
103
108
|
if not user_has_entries:
|
@@ -232,6 +237,7 @@ async def execute_information_collection(
|
|
232
237
|
online_results: Dict = dict()
|
233
238
|
code_results: Dict = dict()
|
234
239
|
document_results: List[Dict[str, str]] = []
|
240
|
+
operator_results: Dict[str, str] = {}
|
235
241
|
summarize_files: str = ""
|
236
242
|
this_iteration = InformationCollectionIteration(tool=None, query=query)
|
237
243
|
|
@@ -398,6 +404,38 @@ async def execute_information_collection(
|
|
398
404
|
this_iteration.warning = f"Error running code: {e}"
|
399
405
|
logger.warning(this_iteration.warning, exc_info=True)
|
400
406
|
|
407
|
+
elif this_iteration.tool == ConversationCommand.Operator:
|
408
|
+
try:
|
409
|
+
async for result in operate_browser(
|
410
|
+
this_iteration.query,
|
411
|
+
user,
|
412
|
+
construct_tool_chat_history(previous_iterations, ConversationCommand.Operator),
|
413
|
+
location,
|
414
|
+
send_status_func,
|
415
|
+
query_images=query_images,
|
416
|
+
agent=agent,
|
417
|
+
query_files=query_files,
|
418
|
+
cancellation_event=cancellation_event,
|
419
|
+
tracer=tracer,
|
420
|
+
):
|
421
|
+
if isinstance(result, dict) and ChatEvent.STATUS in result:
|
422
|
+
yield result[ChatEvent.STATUS]
|
423
|
+
else:
|
424
|
+
operator_results = {result["query"]: result["result"]}
|
425
|
+
this_iteration.operatorContext = operator_results
|
426
|
+
# Add webpages visited while operating browser to references
|
427
|
+
if result.get("webpages"):
|
428
|
+
if not online_results.get(this_iteration.query):
|
429
|
+
online_results[this_iteration.query] = {"webpages": result["webpages"]}
|
430
|
+
elif not online_results[this_iteration.query].get("webpages"):
|
431
|
+
online_results[this_iteration.query]["webpages"] = result["webpages"]
|
432
|
+
else:
|
433
|
+
online_results[this_iteration.query]["webpages"] += result["webpages"]
|
434
|
+
this_iteration.onlineContext = online_results
|
435
|
+
except Exception as e:
|
436
|
+
this_iteration.warning = f"Error operating browser: {e}"
|
437
|
+
logger.error(this_iteration.warning, exc_info=True)
|
438
|
+
|
401
439
|
elif this_iteration.tool == ConversationCommand.Summarize:
|
402
440
|
try:
|
403
441
|
async for result in generate_summary_from_files(
|
@@ -424,7 +462,14 @@ async def execute_information_collection(
|
|
424
462
|
|
425
463
|
current_iteration += 1
|
426
464
|
|
427
|
-
if
|
465
|
+
if (
|
466
|
+
document_results
|
467
|
+
or online_results
|
468
|
+
or code_results
|
469
|
+
or operator_results
|
470
|
+
or summarize_files
|
471
|
+
or this_iteration.warning
|
472
|
+
):
|
428
473
|
results_data = f"\n<iteration>{current_iteration}\n<tool>{this_iteration.tool}</tool>\n<query>{this_iteration.query}</query>\n<results>"
|
429
474
|
if document_results:
|
430
475
|
results_data += f"\n<document_references>\n{yaml.dump(document_results, allow_unicode=True, sort_keys=False, default_flow_style=False)}\n</document_references>"
|
@@ -432,6 +477,8 @@ async def execute_information_collection(
|
|
432
477
|
results_data += f"\n<online_results>\n{yaml.dump(online_results, allow_unicode=True, sort_keys=False, default_flow_style=False)}\n</online_results>"
|
433
478
|
if code_results:
|
434
479
|
results_data += f"\n<code_results>\n{yaml.dump(truncate_code_context(code_results), allow_unicode=True, sort_keys=False, default_flow_style=False)}\n</code_results>"
|
480
|
+
if operator_results:
|
481
|
+
results_data += f"\n<browser_operator_results>\n{next(iter(operator_results.values()))}\n</browser_operator_results>"
|
435
482
|
if summarize_files:
|
436
483
|
results_data += f"\n<summarized_files>\n{yaml.dump(summarize_files, allow_unicode=True, sort_keys=False, default_flow_style=False)}\n</summarized_files>"
|
437
484
|
if this_iteration.warning:
|
khoj/utils/constants.py
CHANGED
@@ -63,6 +63,12 @@ model_to_cost: Dict[str, Dict[str, float]] = {
|
|
63
63
|
"claude-3-7-sonnet-20250219": {"input": 3.0, "output": 15.0, "cache_read": 0.3, "cache_write": 3.75},
|
64
64
|
"claude-3-7-sonnet@20250219": {"input": 3.0, "output": 15.0, "cache_read": 0.3, "cache_write": 3.75},
|
65
65
|
"claude-3-7-sonnet-latest": {"input": 3.0, "output": 15.0, "cache_read": 0.3, "cache_write": 3.75},
|
66
|
+
"claude-sonnet-4": {"input": 3.0, "output": 15.0, "cache_read": 0.3, "cache_write": 3.75},
|
67
|
+
"claude-sonnet-4-20250514": {"input": 3.0, "output": 15.0, "cache_read": 0.3, "cache_write": 3.75},
|
68
|
+
"claude-sonnet-4@20250514": {"input": 3.0, "output": 15.0, "cache_read": 0.3, "cache_write": 3.75},
|
69
|
+
"claude-opus-4": {"input": 15.0, "output": 75.0, "cache_read": 1.50, "cache_write": 18.75},
|
70
|
+
"claude-opus-4-20250514": {"input": 15.0, "output": 75.0, "cache_read": 1.50, "cache_write": 18.75},
|
71
|
+
"claude-opus-4@20250514": {"input": 15.0, "output": 75.0, "cache_read": 1.50, "cache_write": 18.75},
|
66
72
|
# Grok pricing: https://docs.x.ai/docs/models
|
67
73
|
"grok-3": {"input": 3.0, "output": 15.0},
|
68
74
|
"grok-3-latest": {"input": 3.0, "output": 15.0},
|
khoj/utils/helpers.py
CHANGED
@@ -348,6 +348,7 @@ class ConversationCommand(str, Enum):
|
|
348
348
|
Summarize = "summarize"
|
349
349
|
Diagram = "diagram"
|
350
350
|
Research = "research"
|
351
|
+
Operator = "operator"
|
351
352
|
|
352
353
|
|
353
354
|
command_descriptions = {
|
@@ -363,6 +364,7 @@ command_descriptions = {
|
|
363
364
|
ConversationCommand.Summarize: "Get help with a question pertaining to an entire document.",
|
364
365
|
ConversationCommand.Diagram: "Draw a flowchart, diagram, or any other visual representation best expressed with primitives like lines, rectangles, and text.",
|
365
366
|
ConversationCommand.Research: "Do deep research on a topic. This will take longer than usual, but give a more detailed, comprehensive answer.",
|
367
|
+
ConversationCommand.Operator: "Operate and perform tasks using a GUI web browser.",
|
366
368
|
}
|
367
369
|
|
368
370
|
command_descriptions_for_agent = {
|
@@ -372,6 +374,7 @@ command_descriptions_for_agent = {
|
|
372
374
|
ConversationCommand.Webpage: "Agent can read suggested web pages for information.",
|
373
375
|
ConversationCommand.Research: "Agent can do deep research on a topic.",
|
374
376
|
ConversationCommand.Code: "Agent can run Python code to parse information, run complex calculations, create documents and charts.",
|
377
|
+
ConversationCommand.Operator: "Agent can operate and perform actions using a GUI web browser to complete a task.",
|
375
378
|
}
|
376
379
|
|
377
380
|
e2b_tool_description = "To run Python code in a E2B sandbox with no network access. Helpful to parse complex information, run calculations, create text documents and create charts with quantitative data. Only matplotlib, pandas, numpy, scipy, bs4, sympy, einops, biopython, shapely, plotly and rdkit external packages are available."
|
@@ -384,6 +387,7 @@ tool_descriptions_for_llm = {
|
|
384
387
|
ConversationCommand.Online: "To search for the latest, up-to-date information from the internet. Note: **Questions about Khoj should always use this data source**",
|
385
388
|
ConversationCommand.Webpage: "To use if the user has directly provided the webpage urls or you are certain of the webpage urls to read.",
|
386
389
|
ConversationCommand.Code: e2b_tool_description if is_e2b_code_sandbox_enabled() else terrarium_tool_description,
|
390
|
+
ConversationCommand.Operator: "To use when you need to operate and take actions using a GUI web browser.",
|
387
391
|
}
|
388
392
|
|
389
393
|
tool_description_for_research_llm = {
|
@@ -392,6 +396,7 @@ tool_description_for_research_llm = {
|
|
392
396
|
ConversationCommand.Webpage: "To extract information from webpages. Useful for more detailed research from the internet. Usually used when you know the webpage links to refer to. Share upto {max_webpages_to_read} webpage links and what information to extract from them in your query.",
|
393
397
|
ConversationCommand.Code: e2b_tool_description if is_e2b_code_sandbox_enabled() else terrarium_tool_description,
|
394
398
|
ConversationCommand.Text: "To respond to the user once you've completed your research and have the required information.",
|
399
|
+
ConversationCommand.Operator: "To operate and take actions using a GUI web browser.",
|
395
400
|
}
|
396
401
|
|
397
402
|
mode_descriptions_for_llm = {
|
@@ -485,6 +490,18 @@ def is_promptrace_enabled():
|
|
485
490
|
return not is_none_or_empty(os.getenv("PROMPTRACE_DIR"))
|
486
491
|
|
487
492
|
|
493
|
+
def is_operator_enabled():
|
494
|
+
"""Check if Khoj can operate GUI applications.
|
495
|
+
Set KHOJ_OPERATOR_ENABLED env var to true and install playwright to enable it."""
|
496
|
+
try:
|
497
|
+
import playwright
|
498
|
+
|
499
|
+
is_playwright_installed = True
|
500
|
+
except ImportError:
|
501
|
+
is_playwright_installed = False
|
502
|
+
return is_env_var_true("KHOJ_OPERATOR_ENABLED") and is_playwright_installed
|
503
|
+
|
504
|
+
|
488
505
|
def is_valid_url(url: str) -> bool:
|
489
506
|
"""Check if a string is a valid URL"""
|
490
507
|
try:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: khoj
|
3
|
-
Version: 1.41.1.
|
3
|
+
Version: 1.41.1.dev97
|
4
4
|
Summary: Your Second Brain
|
5
5
|
Project-URL: Homepage, https://khoj.dev
|
6
6
|
Project-URL: Documentation, https://docs.khoj.dev
|
@@ -22,7 +22,7 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
22
22
|
Classifier: Topic :: Scientific/Engineering :: Human Machine Interfaces
|
23
23
|
Requires-Python: >=3.10
|
24
24
|
Requires-Dist: aiohttp~=3.9.0
|
25
|
-
Requires-Dist: anthropic==0.
|
25
|
+
Requires-Dist: anthropic==0.52.0
|
26
26
|
Requires-Dist: anyio~=4.8.0
|
27
27
|
Requires-Dist: apscheduler~=3.10.0
|
28
28
|
Requires-Dist: authlib==1.2.1
|
@@ -89,6 +89,7 @@ Requires-Dist: gunicorn==22.0.0; extra == 'dev'
|
|
89
89
|
Requires-Dist: mypy>=1.0.1; extra == 'dev'
|
90
90
|
Requires-Dist: pandas; extra == 'dev'
|
91
91
|
Requires-Dist: pgserver==0.1.4; extra == 'dev'
|
92
|
+
Requires-Dist: playwright>=1.49.0; extra == 'dev'
|
92
93
|
Requires-Dist: pre-commit>=3.0.4; extra == 'dev'
|
93
94
|
Requires-Dist: pytest-asyncio==0.21.1; extra == 'dev'
|
94
95
|
Requires-Dist: pytest-django==4.5.2; extra == 'dev'
|
@@ -98,6 +99,7 @@ Requires-Dist: stripe==7.3.0; extra == 'dev'
|
|
98
99
|
Requires-Dist: twilio==8.11; extra == 'dev'
|
99
100
|
Provides-Extra: local
|
100
101
|
Requires-Dist: pgserver==0.1.4; extra == 'local'
|
102
|
+
Requires-Dist: playwright>=1.49.0; extra == 'local'
|
101
103
|
Provides-Extra: prod
|
102
104
|
Requires-Dist: boto3>=1.34.57; extra == 'prod'
|
103
105
|
Requires-Dist: gunicorn==22.0.0; extra == 'prod'
|
@@ -11,7 +11,7 @@ khoj/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
khoj/database/admin.py,sha256=yX_g1CUpEijnufIgTdefUfiakmd3MB3GSYwKfZo-Cms,13206
|
12
12
|
khoj/database/apps.py,sha256=pM4tkX5Odw4YW_hLLKK8Nd5kqGddf1en0oMCea44RZw,153
|
13
13
|
khoj/database/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
|
14
|
-
khoj/database/adapters/__init__.py,sha256=
|
14
|
+
khoj/database/adapters/__init__.py,sha256=EljkFPb1w8Gxj2U2Dn5cseqLeBKy9uITFVNA6bCvGjk,79064
|
15
15
|
khoj/database/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
16
16
|
khoj/database/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
17
17
|
khoj/database/management/commands/change_default_model.py,sha256=6QXJttG58gpU7vZApQEeEPVNAuhjU2xa6_BwJsfz320,4877
|
@@ -129,15 +129,15 @@ khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvt
|
|
129
129
|
khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
|
130
130
|
khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
|
131
131
|
khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
|
132
|
-
khoj/interface/compiled/index.html,sha256
|
133
|
-
khoj/interface/compiled/index.txt,sha256
|
132
|
+
khoj/interface/compiled/index.html,sha256=-UonAnnR0puYb34CfbSJdmyOkfZJqg2u74JvOBYUNbA,53043
|
133
|
+
khoj/interface/compiled/index.txt,sha256=N7oVFIgCcD9AfUuasZqrnXvUl1kdbMljL0mgkWlSLY4,7616
|
134
134
|
khoj/interface/compiled/khoj.webmanifest,sha256=9wOK2BMS6xH5NKd2eaUgTLg9WepIxB2K2U33KU89LD8,2543
|
135
135
|
khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
|
136
136
|
khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
|
137
137
|
khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
|
138
138
|
khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
|
139
139
|
khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
|
140
|
-
khoj/interface/compiled/404/index.html,sha256=
|
140
|
+
khoj/interface/compiled/404/index.html,sha256=9VgZ83Vtuw0OaR_ufcvIf3vh-7IobcoX9jWbV9AaqkY,17097
|
141
141
|
khoj/interface/compiled/_next/static/chunks/1243.ea2826fb35adb15a.js,sha256=Y6ceAwyTH4HSGDvBRoBB-RVXRCzGGr8NSPcspYF5OM8,182
|
142
142
|
khoj/interface/compiled/_next/static/chunks/133.392ae90c3b2a67f2.js,sha256=IK-mb9ZlF6uJUdU8AuXsppc99tFL8svJvZtKNZGNtcY,411
|
143
143
|
khoj/interface/compiled/_next/static/chunks/1592.b069bdb7aaddd2eb.js,sha256=VUaP2gjX3W9tA9pOH_VIPG_2BIg7Wk1AICrfU5iHgrk,71096
|
@@ -145,7 +145,7 @@ khoj/interface/compiled/_next/static/chunks/1915-ab4353eaca76f690.js,sha256=qArq
|
|
145
145
|
khoj/interface/compiled/_next/static/chunks/2069.f060659791c0c484.js,sha256=C_oat_BkZcLOHsyJlNN_5I55fB7ee1zkkZ9FT5zOzn4,186
|
146
146
|
khoj/interface/compiled/_next/static/chunks/2117-1c18aa2098982bf9.js,sha256=3KtUs1Aeno0OfsXZ2ymJ0d5HXwO2_Osq2uGIIGiDagI,123994
|
147
147
|
khoj/interface/compiled/_next/static/chunks/2170.45431769330fa5b7.js,sha256=C7Puu9x18DhdR5Sh8XXvTzPdP_HTK6WhsJDNW-NoB7o,24019
|
148
|
-
khoj/interface/compiled/_next/static/chunks/2327-
|
148
|
+
khoj/interface/compiled/_next/static/chunks/2327-aa22697ed9c8d54a.js,sha256=vfsI4C3PymQROGRo1xU6iMUjLlw_xT6gUTzmq5BSdnk,127496
|
149
149
|
khoj/interface/compiled/_next/static/chunks/3237.c4754f02f1a388cb.js,sha256=Z5iOEX0mPj-5tuoU4Bq_IjpAlyc4MURKlBoaExsULTk,177
|
150
150
|
khoj/interface/compiled/_next/static/chunks/3305.1fc7297ba154ee95.js,sha256=mfrpv-asuYmBmbqIh1p3UnPMAxg2pKlxE3Rzmth8O6s,37266
|
151
151
|
khoj/interface/compiled/_next/static/chunks/3332.6313db5217bb1b67.js,sha256=4lNF9JhPQdTX2xDojGOvvanM0Y0VScwM3kmF4p0RHFg,3776
|
@@ -162,7 +162,7 @@ khoj/interface/compiled/_next/static/chunks/4610.a1e7f40a759ed2aa.js,sha256=b5JD
|
|
162
162
|
khoj/interface/compiled/_next/static/chunks/4650.41f041da0ad365ad.js,sha256=EZeckNrMc3ZUX_LexPgaeusEq-dGBNEPm7nc5nvb4OM,33902
|
163
163
|
khoj/interface/compiled/_next/static/chunks/479.a7e0c9cfc376a695.js,sha256=IMtRORJyc8TGABlltunJ1si_GUwBMK9bCSeyr7RDdw8,7379
|
164
164
|
khoj/interface/compiled/_next/static/chunks/4872.5422e8324272ab40.js,sha256=fXqb_gUYEnKRgeI3AJuAG6kKAOlVkVXyndmNkhetCyo,11176
|
165
|
-
khoj/interface/compiled/_next/static/chunks/4986-
|
165
|
+
khoj/interface/compiled/_next/static/chunks/4986-9ddd694756d03aa1.js,sha256=mNs1Ry9zKZGv-KKWOics1SSW0x4aOpYJNTm0sl18cL8,36731
|
166
166
|
khoj/interface/compiled/_next/static/chunks/5061.79a660faed0e16a9.js,sha256=EJDyOblv9Po4UPs6ylIKVspSnRQehMXKXuLlW2NVCzo,11215
|
167
167
|
khoj/interface/compiled/_next/static/chunks/5279.85d537880b8041ae.js,sha256=3VvdW0sZ8Abfq-qXFvBinh3n65XkjWJBUrFMcRMHIXw,3878
|
168
168
|
khoj/interface/compiled/_next/static/chunks/5402.b9460f1b16b57e92.js,sha256=TFB5N1RYbKelRJXW70T4tT0lEjB3u7RS5lItHOfX-TU,24369
|
@@ -184,7 +184,7 @@ khoj/interface/compiled/_next/static/chunks/7890.f681eb1d1f83bea2.js,sha256=xd1q
|
|
184
184
|
khoj/interface/compiled/_next/static/chunks/7953.f6fc335a23efb959.js,sha256=8XInVs3uzJAMGBndN2k4BeJNHmgZOembNuoyPe9Z7Oo,412
|
185
185
|
khoj/interface/compiled/_next/static/chunks/8254.3145a4fbdcfdca46.js,sha256=sur8InabGfvh1HqNQhwBssc1tCPae_WKQ-efoYU1Q8A,412
|
186
186
|
khoj/interface/compiled/_next/static/chunks/8400.c95e4e79bcd79a56.js,sha256=3SlFozKtF4DYQYPT3hB5M7VEm3e_W71kC19JgADz-3k,19864
|
187
|
-
khoj/interface/compiled/_next/static/chunks/8515-
|
187
|
+
khoj/interface/compiled/_next/static/chunks/8515-f305779d95dd5780.js,sha256=QyTarawMADcAup6ipG9JMVnvkbkoYh0Ury2EWkflZ3o,1619194
|
188
188
|
khoj/interface/compiled/_next/static/chunks/8667-adbe6017a66cef10.js,sha256=kyiAVJTylsiOPFTb63uZn_pMlk4pYhDYt_N7xL76PTM,7214
|
189
189
|
khoj/interface/compiled/_next/static/chunks/8673.be44c4d9e4f1d084.js,sha256=jiE4xU-TbkVC4R60SIgxwdo31T9mbdVBVuhP4H60i94,18629
|
190
190
|
khoj/interface/compiled/_next/static/chunks/8698.a088118fef40d302.js,sha256=mrK-3ZahVSF7sZij3l-PyXKxp-ccXU9orykXDc7YzsM,180
|
@@ -203,16 +203,16 @@ khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js,sha256
|
|
203
203
|
khoj/interface/compiled/_next/static/chunks/main-876327ac335776ab.js,sha256=JkQUmA9vh1B4VVGF5dbZ8Kun0AnIVUbZr5IBK90T4Zs,111290
|
204
204
|
khoj/interface/compiled/_next/static/chunks/main-app-de1f09df97a3cfc7.js,sha256=bqnztujKItXfFBzQlaBmDZyfJpQt_M93CXOuchJfpD0,471
|
205
205
|
khoj/interface/compiled/_next/static/chunks/polyfills-42372ed130431b0a.js,sha256=CXPB1kyIrcjjyVBBDLWLKI9yEY1ZZbeASUON648vloM,112594
|
206
|
-
khoj/interface/compiled/_next/static/chunks/webpack-
|
206
|
+
khoj/interface/compiled/_next/static/chunks/webpack-21f76f7f59582bc7.js,sha256=9xBFH5H6MJpn48quHaXMnSMEQaTksslm7QCDXX--CL4,4891
|
207
207
|
khoj/interface/compiled/_next/static/chunks/app/layout-baa6e7974e560a7a.js,sha256=7JZS2Pr995Lwu3FeQpAvheLS1Bn5w5HOFsecV2_kyQA,3880
|
208
208
|
khoj/interface/compiled/_next/static/chunks/app/page-a4053e1bb578b2ce.js,sha256=ODjjug1NwixStALsW2Wu6RarPq_KBMnIOoKqKJ8Kapk,31218
|
209
209
|
khoj/interface/compiled/_next/static/chunks/app/_not-found/page-0ec97c4970898f2d.js,sha256=zElhiTkdu2JqrEvJ8Lrxh4HCyfLmPllBHHWOuDtrVlw,1755
|
210
|
-
khoj/interface/compiled/_next/static/chunks/app/agents/layout-
|
210
|
+
khoj/interface/compiled/_next/static/chunks/app/agents/layout-4e2a134ec26aa606.js,sha256=B3HJ6CKzJccEIOk54Erl1FtKUxGJq2p-ch932X1vjwE,180
|
211
211
|
khoj/interface/compiled/_next/static/chunks/app/agents/page-ceeb9a91edea74ce.js,sha256=kvQaR_nbiCgH5koDFYD4fkceNsScyMVdwvVufMH0Ax8,18314
|
212
212
|
khoj/interface/compiled/_next/static/chunks/app/automations/layout-7f5c33a70e46b3af.js,sha256=s2wHeQ-ai9rKyU9EjOGY1Yo51L4ZEkjLtML85BqN3Zc,5143
|
213
213
|
khoj/interface/compiled/_next/static/chunks/app/automations/page-e3cb78747ab98cc7.js,sha256=CKuBpLxbzqBbCgJ2zbiuDf8Z1UGwEOA3hgnuZEjvpgA,34831
|
214
|
-
khoj/interface/compiled/_next/static/chunks/app/chat/layout-
|
215
|
-
khoj/interface/compiled/_next/static/chunks/app/chat/page-
|
214
|
+
khoj/interface/compiled/_next/static/chunks/app/chat/layout-ad4d1792ab1a4108.js,sha256=g815zvSZenVssWcOYjyqAOPDjTCa359nqspXeIsXQ5A,180
|
215
|
+
khoj/interface/compiled/_next/static/chunks/app/chat/page-7e780dc11eb5e5d3.js,sha256=AyLrqaCK4IJIsY2YJXVg9-QSgIMqkcgtuVogEIsB2Kc,28542
|
216
216
|
khoj/interface/compiled/_next/static/chunks/app/search/layout-c02531d586972d7d.js,sha256=VQACqzXZcJUaa3W_0wHsrdLP22pj8yqeAOGBQfVnQxw,180
|
217
217
|
khoj/interface/compiled/_next/static/chunks/app/search/page-8973da2f4c076fe1.js,sha256=fD2_a9jptevkZ7Jda0FUp5kTINLef8NXqojbD3cCmJY,32714
|
218
218
|
khoj/interface/compiled/_next/static/chunks/app/settings/layout-8a22f370d3eaeed3.js,sha256=dIfmM5C_Al-Zh_uqaJmniSxjXbu3LqPzrEw4SQ7vs0I,6132
|
@@ -229,8 +229,6 @@ khoj/interface/compiled/_next/static/css/e4eb883b5265d372.css,sha256=6LaW-lQ_Zpg
|
|
229
229
|
khoj/interface/compiled/_next/static/css/ea5485b3f3859a5a.css,sha256=tn6qi2xSLTWhtzDUE8UlC8iipH9QGV6A9oGj1ap-Sk4,1659
|
230
230
|
khoj/interface/compiled/_next/static/css/f29752d6e1be7624.css,sha256=mLPRnYpBFaVhTMJ3CFou5_lrwLJs2mhBlAjNY2lrRYs,6354
|
231
231
|
khoj/interface/compiled/_next/static/css/fca983d49c3dd1a3.css,sha256=3F1qPtz6PQG-gIpo8h3rAfxreAc2Uvxy8F_G2e78EsM,30452
|
232
|
-
khoj/interface/compiled/_next/static/doKtSKC0j2ECO8K8viDKD/_buildManifest.js,sha256=f2_nYnw25hHWQJ-39Lf5OH1u6kgdbOInyfplqgjvAV4,224
|
233
|
-
khoj/interface/compiled/_next/static/doKtSKC0j2ECO8K8viDKD/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
234
232
|
khoj/interface/compiled/_next/static/media/1d8a05b60287ae6c-s.p.woff2,sha256=IzKBwB_bpSGvO7C9aRv29Js-jAbZPRDI-D-P4H2P918,14508
|
235
233
|
khoj/interface/compiled/_next/static/media/2aa11a72f7f24b58-s.woff2,sha256=QjuuSKmViymmy-itXLB1UbSARxFNHWuMiPpCrYqClFI,22728
|
236
234
|
khoj/interface/compiled/_next/static/media/383a65b63658737d-s.woff2,sha256=VH1XkI87HdFVhsurH5D5ekEjG_ZORTVBVg6xz7p87C8,16704
|
@@ -308,8 +306,10 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
|
|
308
306
|
khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
|
309
307
|
khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
|
310
308
|
khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
|
311
|
-
khoj/interface/compiled/
|
312
|
-
khoj/interface/compiled/
|
309
|
+
khoj/interface/compiled/_next/static/o6zlo73DbD2lS92jWHS8o/_buildManifest.js,sha256=f2_nYnw25hHWQJ-39Lf5OH1u6kgdbOInyfplqgjvAV4,224
|
310
|
+
khoj/interface/compiled/_next/static/o6zlo73DbD2lS92jWHS8o/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
311
|
+
khoj/interface/compiled/agents/index.html,sha256=6tEJFSimhgj07VbF8wMtGtCxEON0zwEqlT67-7KVtUE,16224
|
312
|
+
khoj/interface/compiled/agents/index.txt,sha256=PCzz5t75w1JJJ6MNIlBH7zr1ZA0gndvi3Ik9rFaSKlQ,7220
|
313
313
|
khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
|
314
314
|
khoj/interface/compiled/assets/icons/khoj_lantern.svg,sha256=I_8XP5X84gEOoCRhCRKOQn_GKZrz3SUBXct7WxHvY7c,8767
|
315
315
|
khoj/interface/compiled/assets/icons/khoj_lantern_1200x1200.png,sha256=xDx0bbD-WMflgg8zck9oPIIuTIvywtuED2k7CjSQS4w,66194
|
@@ -324,16 +324,16 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
|
|
324
324
|
khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
|
325
325
|
khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
|
326
326
|
khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
|
327
|
-
khoj/interface/compiled/automations/index.html,sha256=
|
328
|
-
khoj/interface/compiled/automations/index.txt,sha256=
|
329
|
-
khoj/interface/compiled/chat/index.html,sha256=
|
330
|
-
khoj/interface/compiled/chat/index.txt,sha256=
|
331
|
-
khoj/interface/compiled/search/index.html,sha256=
|
332
|
-
khoj/interface/compiled/search/index.txt,sha256=
|
333
|
-
khoj/interface/compiled/settings/index.html,sha256=
|
334
|
-
khoj/interface/compiled/settings/index.txt,sha256=
|
335
|
-
khoj/interface/compiled/share/chat/index.html,sha256=
|
336
|
-
khoj/interface/compiled/share/chat/index.txt,sha256=
|
327
|
+
khoj/interface/compiled/automations/index.html,sha256=1IPyhDA-SlzjwmJNyo4ub-FX9asJ4WeF2_Q-P26DcLg,54094
|
328
|
+
khoj/interface/compiled/automations/index.txt,sha256=LQpRRnN-kKmQilRLF2GEna1lZsdNwCZ6U6ej_cm8fN8,7449
|
329
|
+
khoj/interface/compiled/chat/index.html,sha256=q_ih2Snh6IM6i1ZJJMSC3AvZDPcPI84wUl4uRlGO1eM,53222
|
330
|
+
khoj/interface/compiled/chat/index.txt,sha256=X7cWZt5xYa0Dla3uj78vDAS79YY7NGSl6lx93X-VE54,7858
|
331
|
+
khoj/interface/compiled/search/index.html,sha256=oW2zztspwLC-9vGkyiFZNmpG-FkWk3Jg3Md9qjSymfc,55304
|
332
|
+
khoj/interface/compiled/search/index.txt,sha256=4mQrJCXK0-FnbfbwJgheoQQFapTCOFAZL1tUXtK2cFc,6567
|
333
|
+
khoj/interface/compiled/settings/index.html,sha256=OlASOGBStAONeENsPEziymRH7k7fLr7adLmeo-9_624,52743
|
334
|
+
khoj/interface/compiled/settings/index.txt,sha256=SyTaVXL6DvtDuoGrc5Hmh_WE_BXggZbeZn6tiqo47D0,7703
|
335
|
+
khoj/interface/compiled/share/chat/index.html,sha256=x0TRvrWXYaVICptxsFCgw9M295FVUXf1SYW0HSdNXSo,53802
|
336
|
+
khoj/interface/compiled/share/chat/index.txt,sha256=KyUQnzjVtoShYQiGv4n6sPeAi0fFby9l1Mhz2b0mOmQ,8320
|
337
337
|
khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
|
338
338
|
khoj/interface/email/magic_link.html,sha256=372ESbTPKM9acekuZcOIKOw6kBl-KikFg_L9MOHqJkg,2094
|
339
339
|
khoj/interface/email/task.html,sha256=tY7a0gzVeQ2lSQNu7WyXR_s7VYeWTrxWEj1iHVuoVE4,2813
|
@@ -385,23 +385,33 @@ khoj/processor/content/pdf/pdf_to_entries.py,sha256=GQUvab61okhV9_DK0g2MCrMq8wKp
|
|
385
385
|
khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
386
386
|
khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=wFZwK_zIc7gWbRtO9sOHo9KvfhGAzL9psX_nKWYFduo,4975
|
387
387
|
khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
388
|
-
khoj/processor/conversation/prompts.py,sha256=
|
389
|
-
khoj/processor/conversation/utils.py,sha256=
|
388
|
+
khoj/processor/conversation/prompts.py,sha256=78EVB1f3E9O5DQ0t2vnrvJHik_8BOdJHZVL9Vd1A3G8,57907
|
389
|
+
khoj/processor/conversation/utils.py,sha256=XqNszLVUyQLNEYjPYPqXQL4a2NDUGVK4UAFF4zUt83Q,38562
|
390
390
|
khoj/processor/conversation/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
391
|
-
khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=
|
392
|
-
khoj/processor/conversation/anthropic/utils.py,sha256=
|
391
|
+
khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=ES96gJsluGyQoyCbBEAr_IqRapnviuhCQvip05nmZtA,9702
|
392
|
+
khoj/processor/conversation/anthropic/utils.py,sha256=h68x7zolymAoQc6fx3Nn3uD7Aql6OuG2HN__SUGZJ5Y,11542
|
393
393
|
khoj/processor/conversation/google/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
394
|
-
khoj/processor/conversation/google/gemini_chat.py,sha256=
|
394
|
+
khoj/processor/conversation/google/gemini_chat.py,sha256=z99jc5_2I5TFXutJNSnn3wi5fmNTuXKNu8KfoENVw60,10218
|
395
395
|
khoj/processor/conversation/google/utils.py,sha256=jHXTWiUKUscafQy-qNy16NwCG1Qw45sWL_XMLeQsCc4,15888
|
396
396
|
khoj/processor/conversation/offline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
397
|
-
khoj/processor/conversation/offline/chat_model.py,sha256=
|
397
|
+
khoj/processor/conversation/offline/chat_model.py,sha256=OEwlTH6ODGoC0bcKjaErA4QTpicX2TxaKc_4gQ872Vs,13541
|
398
398
|
khoj/processor/conversation/offline/utils.py,sha256=51McImxl6u1qgRYvMt7uzsgLGSLq5SMFy74ymlNjIcc,3033
|
399
399
|
khoj/processor/conversation/offline/whisper.py,sha256=DJI-8y8DULO2cQ49m2VOvRyIZ2TxBypc15gM8O3HuMI,470
|
400
400
|
khoj/processor/conversation/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
401
|
-
khoj/processor/conversation/openai/gpt.py,sha256=
|
401
|
+
khoj/processor/conversation/openai/gpt.py,sha256=f8mckbcNDgFjW5Iq5rDHs460NTyOvUVCUHtY1tJYSGE,11365
|
402
402
|
khoj/processor/conversation/openai/utils.py,sha256=Q8QrFdTD34QSdJRiLTdhvqeZfmpgM_F7L6R2DMB8DZQ,25419
|
403
403
|
khoj/processor/conversation/openai/whisper.py,sha256=zoEeK1LNCg_tzP4xzYi5vRPzNPGuDGzpkrkG7d1LUn4,447
|
404
404
|
khoj/processor/image/generate.py,sha256=FAIIsr8TIHxWxK-INNK4jJOOswBxQFyi_G4tI8NNEI8,10571
|
405
|
+
khoj/processor/operator/grounding_agent.py,sha256=vlQPvGJnILpVCSqJ4-54NYtzoW7tZFvL0QNg19XTwh4,15772
|
406
|
+
khoj/processor/operator/grounding_agent_uitars.py,sha256=LIPi_Hl7OVYEpf-AtDIgEPhFynzv_h2fE0FrVNSSbKI,41573
|
407
|
+
khoj/processor/operator/operate_browser.py,sha256=l3FAqPqcBgiYsrPB2V872q1wdlBwIxzvhXBlWaE5P1c,8091
|
408
|
+
khoj/processor/operator/operator_actions.py,sha256=3HPVcwTf-d-tLd6dUT3zcvq2lTsbmRAzqR6hZZaKnyU,3060
|
409
|
+
khoj/processor/operator/operator_agent_anthropic.py,sha256=ZuUT4WQdOuffA6ny-1hNNUz2e5M3ePWsZE7Rsgvx1CA,19686
|
410
|
+
khoj/processor/operator/operator_agent_base.py,sha256=aLfGau2kzBlHYsyA5eYcg1BsEawDU0wBKumip8J7Q6s,3064
|
411
|
+
khoj/processor/operator/operator_agent_binary.py,sha256=ivUc14qaDMibYTfkdKd73YbpnZYwcQLV1s-jd_LVgwE,15981
|
412
|
+
khoj/processor/operator/operator_agent_openai.py,sha256=a4p0FuT6HwgWdoTJczLluaTAX4q9MmPE1l5SYFniWu0,17529
|
413
|
+
khoj/processor/operator/operator_environment_base.py,sha256=b0ghGLHHiZ8hSwFvaArO1_nFRO9eWcsrOC3NIjCbRkg,851
|
414
|
+
khoj/processor/operator/operator_environment_browser.py,sha256=54cVndjPhn6ucspnQA6Hbf-ltxdWtt2KbuBpqYGQ9ww,17676
|
405
415
|
khoj/processor/speech/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
406
416
|
khoj/processor/speech/text_to_speech.py,sha256=Q7sapi5Hv6woXOumtrGqR0t6izZrFBkWXFOGrHM6dJ4,1929
|
407
417
|
khoj/processor/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -410,16 +420,16 @@ khoj/processor/tools/run_code.py,sha256=rDGX615hhEeRP-e0BSOGKX3jkzDUnk8jD1uy5aoc
|
|
410
420
|
khoj/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
411
421
|
khoj/routers/api.py,sha256=xF108KeC0F9rIspB_M8skZUvDb2ecobFCPgZ5H-Lo6o,29414
|
412
422
|
khoj/routers/api_agents.py,sha256=aEJJnQe1yogSkKO6W3Q8Ukl-xHMnqIAx3jB4M-kGNdY,17043
|
413
|
-
khoj/routers/api_chat.py,sha256=
|
423
|
+
khoj/routers/api_chat.py,sha256=J_duk9JHODiiuTidKryjBDYPSf0v-EKxWGIcxzEviHI,57760
|
414
424
|
khoj/routers/api_content.py,sha256=uLO3eir36rERkhhKU1HOdEv8KTi_z_edT9cHMCZP1W8,24578
|
415
425
|
khoj/routers/api_model.py,sha256=H4s4TO7omUFi77H56AWjZs9-o_N-Fqq2OnaPHqR8pLM,5251
|
416
426
|
khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,2208
|
417
427
|
khoj/routers/api_subscription.py,sha256=qnbKwA6N1TWK8Aiu1FFLka_JhbPOuwqT262NSHGZDiQ,5569
|
418
428
|
khoj/routers/auth.py,sha256=jk2lqAS_650lQsoaOFTlZd9W_LL8HbN5zhHTZza_lqs,11258
|
419
429
|
khoj/routers/email.py,sha256=wvr6_fpk0RuKcTPC6suI8JDZPLYzJ9hAhz_G41yZytc,3923
|
420
|
-
khoj/routers/helpers.py,sha256=
|
430
|
+
khoj/routers/helpers.py,sha256=TjdtBYh_bDSzRBzCoFYSBadyxfzalxT1GpYzTs0D8uQ,97053
|
421
431
|
khoj/routers/notion.py,sha256=g53xyYFmjr2JnuIrTW2vytbfkiK_UkoRTxqnnLSmD5o,2802
|
422
|
-
khoj/routers/research.py,sha256=
|
432
|
+
khoj/routers/research.py,sha256=xRtl0mHrhdHvGd2cZ0y145k_Qr-Chw-eo0hW-IAb_Zs,22356
|
423
433
|
khoj/routers/storage.py,sha256=lao0DvsF49QleZvOdjKM98RU2cGfCJDBb7WeoI7Rr3I,2172
|
424
434
|
khoj/routers/twilio.py,sha256=MLsuCm4--ETvr3sLxbF0CL_ehlg_l2rKBSLR2Qh2Xls,1081
|
425
435
|
khoj/routers/web_client.py,sha256=_vyfDaHZZjNoI2LwGNQFRiFmGLkNcgYJe7dOr3mrxH8,4386
|
@@ -433,17 +443,17 @@ khoj/search_type/text_search.py,sha256=PZzJVCXpeBM795SIqiAKXAxgnCp1NIRiVikm040r1
|
|
433
443
|
khoj/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
434
444
|
khoj/utils/cli.py,sha256=fI1XQYMtJzLGOKQZQ5XxFOrC8sGjK3Alnteg5U62rWI,3882
|
435
445
|
khoj/utils/config.py,sha256=aiOkH0je8A30DAGYTHMRePrgJonFv_i07_7CdhhhcdA,1805
|
436
|
-
khoj/utils/constants.py,sha256=
|
446
|
+
khoj/utils/constants.py,sha256=1np8rc4cD9qqDxopy20jgl6C9KJmhl41iMGoCJNUArQ,4229
|
437
447
|
khoj/utils/fs_syncer.py,sha256=5nqwAZqRk3Nwhkwd8y4IomTPZQmW32GwAqyMzal5KyY,9996
|
438
|
-
khoj/utils/helpers.py,sha256=
|
448
|
+
khoj/utils/helpers.py,sha256=WvKjmrvH5EGLBays6Ta9RxYBzjC5353bv7pxWF6PDHk,31723
|
439
449
|
khoj/utils/initialization.py,sha256=5eULsvGQv_Kp9bMfrHP8T_QFPjurIFyfq3-rVMWiGa4,15066
|
440
450
|
khoj/utils/jsonl.py,sha256=0Ac_COqr8sLCXntzZtquxuCEVRM2c3yKeDRGhgOBRpQ,1192
|
441
451
|
khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
|
442
452
|
khoj/utils/rawconfig.py,sha256=wfZTk-Aifb-_q9Yh-NPfh9LlLTioYG-yBqrasgvo4pc,5045
|
443
453
|
khoj/utils/state.py,sha256=s_GFWOqRzpEDx0eCPStuzBTK2VEw-qgRpH0aiEdGnDo,1791
|
444
454
|
khoj/utils/yaml.py,sha256=qy1Tkc61rDMesBw_Cyx2vOR6H-Hngcsm5kYfjwQBwkE,1543
|
445
|
-
khoj-1.41.1.
|
446
|
-
khoj-1.41.1.
|
447
|
-
khoj-1.41.1.
|
448
|
-
khoj-1.41.1.
|
449
|
-
khoj-1.41.1.
|
455
|
+
khoj-1.41.1.dev97.dist-info/METADATA,sha256=LBMB9Yj3X8XhE57-eRZ7s8aHIfCBTa6gvWaCbqI0pYg,9068
|
456
|
+
khoj-1.41.1.dev97.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
457
|
+
khoj-1.41.1.dev97.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
|
458
|
+
khoj-1.41.1.dev97.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
459
|
+
khoj-1.41.1.dev97.dist-info/RECORD,,
|
@@ -1 +0,0 @@
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4986],{74986:function(e,t,a){"use strict";a.d(t,{Z:function(){return ey}});var n=a(57437),s=a(42501),o=a.n(s),l=a(2265),r=a(48614),c=a(99597),i=a(91499),d=a.n(i),h=a(19983),u=a(13506),m=a.n(u),g=a(34040);a(2446);var p=a(5147),f=a(86018),x=a(38525),v=a(45178),j=a(66070),w=a(69304),b=a(57054),y=a(18848),C=a(42225),M=a(27648);let N=new h.Z({html:!0,linkify:!0,typographer:!0});function k(e){let t=(0,C.Le)(e.title||".txt","w-6 h-6 text-muted-foreground inline-flex mr-2"),a=e.title.split("/").pop()||e.title,s=function(e){let t=["org","md","markdown"].includes(e.title.split(".").pop()||"")?e.content.split("\n").slice(1).join("\n"):e.content;return e.showFullContent?y.Z.sanitize(N.render(t)):y.Z.sanitize(t)}(e),[o,r]=(0,l.useState)(!1);return(0,n.jsx)(n.Fragment,{children:(0,n.jsxs)(b.J2,{open:o&&!e.showFullContent,onOpenChange:r,children:[(0,n.jsx)(b.xo,{asChild:!0,children:(0,n.jsx)(j.Zb,{onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),className:"".concat(e.showFullContent?"w-auto bg-muted":"w-auto"," overflow-hidden break-words text-balance rounded-lg border-none p-2 shadow-none"),children:e.showFullContent?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("h3",{className:"".concat(e.showFullContent?"block":"line-clamp-1"," text-muted-foreground}"),children:[t,e.showFullContent?e.title:a]}),(0,n.jsx)("p",{className:"text-sm overflow-x-auto block",dangerouslySetInnerHTML:{__html:s}})]}):(0,n.jsx)(E,{type:"notes"},"".concat(e.title))})}),(0,n.jsx)(b.yk,{className:"w-[400px] mx-2",children:(0,n.jsxs)(j.Zb,{className:"w-auto overflow-hidden break-words text-balance rounded-lg border-none p-2",children:[(0,n.jsxs)("h3",{className:"line-clamp-2 text-muted-foreground}",children:[t,e.title]}),(0,n.jsx)("p",{className:"border-t mt-1 pt-1 text-sm overflow-hidden line-clamp-5",dangerouslySetInnerHTML:{__html:s}})]})})]})})}function _(e){var t,a,s,o,r,c;let i=(0,C.Le)(".py","!w-4 h-4 text-muted-foreground flex-shrink-0"),d=y.Z.sanitize(e.code),[h,u]=(0,l.useState)(!1),[m,g]=(0,l.useState)(!1),f=e=>{let t="text/plain",a=e.b64_data;e.filename.match(/\.(png|jpg|jpeg|webp)$/)?(t="image/".concat(e.filename.split(".").pop()),a=atob(e.b64_data)):e.filename.endsWith(".json")?t="application/json":e.filename.endsWith(".csv")&&(t="text/csv");let n=new ArrayBuffer(a.length),s=new Uint8Array(n);for(let e=0;e<a.length;e++)s[e]=a.charCodeAt(e);let o=new Blob([n],{type:t}),l=URL.createObjectURL(o),r=document.createElement("a");r.href=l,r.download=e.filename,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(l)},x=(t,a)=>(null==t?void 0:t.length)==0?null:(0,n.jsx)("div",{className:"".concat(a||e.showFullContent?"border-t mt-1 pt-1":void 0),children:t.slice(0,e.showFullContent?void 0:1).map((t,s)=>(0,n.jsxs)("div",{children:[(0,n.jsxs)("h4",{className:"text-sm text-muted-foreground flex items-center",children:[(0,n.jsx)("span",{className:"overflow-hidden mr-2 font-bold ".concat(e.showFullContent?void 0:"line-clamp-1"),children:t.filename}),(0,n.jsx)("button",{className:"".concat(a?"hidden":void 0),onClick:e=>{e.preventDefault(),f(t)},onMouseEnter:()=>g(!0),onMouseLeave:()=>g(!1),title:"Download file: ".concat(t.filename),children:(0,n.jsx)(p.b,{className:"w-4 h-4",weight:m?"fill":"regular"})})]}),t.filename.match(/\.(txt|org|md|csv|json)$/)?(0,n.jsx)("pre",{className:"".concat(e.showFullContent?"block":"line-clamp-2"," text-sm mt-1 p-1 bg-background rounded overflow-x-auto"),children:t.b64_data}):t.filename.match(/\.(png|jpg|jpeg|webp)$/)?(0,n.jsx)("img",{src:"data:image/".concat(t.filename.split(".").pop(),";base64,").concat(t.b64_data),alt:t.filename,className:"mt-1 max-h-32 rounded"}):null]},"".concat(t.filename,"-").concat(s)))});return(0,n.jsx)(n.Fragment,{children:(0,n.jsxs)(b.J2,{open:h&&!e.showFullContent,onOpenChange:u,children:[(0,n.jsx)(b.xo,{asChild:!0,children:(0,n.jsx)(j.Zb,{onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),className:"".concat(e.showFullContent?"w-auto bg-muted":"w-auto"," overflow-hidden break-words text-balance rounded-lg border-none p-2 shadow-none"),children:e.showFullContent?(0,n.jsxs)("div",{className:"flex flex-col px-1",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[i,(0,n.jsxs)("h3",{className:"overflow-hidden ".concat(e.showFullContent?"block":"line-clamp-1"," text-muted-foreground flex-grow"),children:["code ",(null===(t=e.output_files)||void 0===t?void 0:t.length)>0?"artifacts":""]})]}),(0,n.jsx)("pre",{className:"text-xs pb-2 ".concat(e.showFullContent?"block overflow-x-auto":(null===(a=e.output_files)||void 0===a?void 0:a.length)>0?"hidden":"overflow-hidden line-clamp-3"),children:d}),(null===(s=e.output_files)||void 0===s?void 0:s.length)>0&&x(e.output_files,!1)]}):(0,n.jsx)(E,{type:"code"},"code-".concat(e.code))})}),(0,n.jsx)(b.yk,{className:"w-[400px] mx-2",children:(0,n.jsxs)(j.Zb,{className:"w-auto overflow-hidden break-words text-balance rounded-lg border-none p-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[i,(0,n.jsxs)("h3",{className:"overflow-hidden ".concat(e.showFullContent?"block":"line-clamp-1"," text-muted-foreground flex-grow"),children:["code ",(null===(o=e.output_files)||void 0===o?void 0:o.length)>0?"artifact":""]})]}),(null===(r=e.output_files)||void 0===r?void 0:r.length)>0&&x(null===(c=e.output_files)||void 0===c?void 0:c.slice(0,1),!0)||(0,n.jsx)("pre",{className:"text-xs border-t mt-1 pt-1 overflow-hidden line-clamp-10",children:d})]})})]})})}function R(e){let[t,a]=(0,l.useState)(!1);if(!e.link||e.link.split(" ").length>1)return null;let s="https://www.google.com/s2/favicons?domain=globe",o="unknown";try{o=new URL(e.link).hostname,s="https://www.google.com/s2/favicons?domain=".concat(o)}catch(t){return console.warn("Error parsing domain from link: ".concat(e.link)),null}return(0,n.jsx)(n.Fragment,{children:(0,n.jsxs)(b.J2,{open:t&&!e.showFullContent,onOpenChange:a,children:[(0,n.jsx)(b.xo,{asChild:!0,children:(0,n.jsx)(j.Zb,{onMouseEnter:()=>{a(!0)},onMouseLeave:()=>{a(!1)},className:"".concat(e.showFullContent?"w-auto bg-muted":"w-auto"," overflow-hidden break-words text-balance rounded-lg border-none p-2 shadow-none"),children:e.showFullContent?(0,n.jsxs)("div",{className:"flex flex-col",children:[(0,n.jsx)(M.default,{href:e.link,children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("img",{src:s,alt:"",className:"!w-4 h-4 flex-shrink-0"}),(0,n.jsx)("h3",{className:"overflow-hidden ".concat(e.showFullContent?"block":"line-clamp-1"," text-muted-foreground flex-grow"),children:o})]})}),(0,n.jsx)("h3",{className:"overflow-hidden ".concat(e.showFullContent?"block":"line-clamp-1"," font-bold"),children:e.title}),(0,n.jsx)("p",{className:"overflow-hidden text-sm ".concat(e.showFullContent?"block":"line-clamp-2"),children:e.description})]}):(0,n.jsx)(E,{type:"online",link:e.link},e.title)})}),(0,n.jsx)(b.yk,{className:"w-[400px] mx-2",children:(0,n.jsx)(j.Zb,{className:"w-auto overflow-hidden break-words text-balance rounded-lg border-none",children:(0,n.jsx)("div",{className:"flex flex-col",children:(0,n.jsxs)("a",{href:e.link,target:"_blank",rel:"noreferrer",className:"!no-underline px-1",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("img",{src:s,alt:"",className:"!w-4 h-4 flex-shrink-0"}),(0,n.jsx)("h3",{className:"overflow-hidden ".concat(e.showFullContent?"block":"line-clamp-2"," text-muted-foreground flex-grow"),children:o})]}),(0,n.jsx)("h3",{className:"border-t mt-1 pt-1 overflow-hidden ".concat(e.showFullContent?"block":"line-clamp-2"," font-bold"),children:e.title}),(0,n.jsx)("p",{className:"overflow-hidden text-sm ".concat(e.showFullContent?"block":"line-clamp-5"),children:e.description})]})})})})]})})}function E(e){let t="",a="unknown";if(e.link)try{a=new URL(e.link).hostname,t="https://www.google.com/s2/favicons?domain=".concat(a)}catch(t){return console.warn("Error parsing domain from link: ".concat(e.link)),null}let s=null,o="!w-4 !h-4 text-muted-foreground inline-flex mr-2 rounded-lg";switch(e.type){case"code":s=(0,n.jsx)(f.E,{className:"".concat(o)});break;case"online":s=(0,n.jsx)("img",{src:t,alt:"",className:"".concat(o)});break;case"notes":s=(0,n.jsx)(x.j,{className:"".concat(o)});break;default:s=null}return s?(0,n.jsx)("div",{className:"flex items-center gap-2",children:s}):null}function I(e){let t=e.notesReferenceCardData.length>0||e.codeReferenceCardData.length>0||e.onlineReferenceCardData.length>0,a=e.notesReferenceCardData.length+e.codeReferenceCardData.length+e.onlineReferenceCardData.length;return 0===a?null:(0,n.jsx)("div",{className:"pt-0 px-4 pb-4",children:(0,n.jsxs)("h3",{className:"inline-flex items-center",children:[(0,n.jsxs)("div",{className:"text-gray-400 m-2",children:[a," sources"]}),(0,n.jsx)("div",{className:"flex flex-wrap gap-2 w-auto m-2",children:t&&(0,n.jsx)(S,{notesReferenceCardData:e.notesReferenceCardData,onlineReferenceCardData:e.onlineReferenceCardData,codeReferenceCardData:e.codeReferenceCardData,isMobileWidth:e.isMobileWidth})})]})})}function S(e){let[t,a]=(0,l.useState)(3);if((0,l.useEffect)(()=>{a(e.isMobileWidth?3:5)},[e.isMobileWidth]),!e.notesReferenceCardData&&!e.onlineReferenceCardData)return null;let s=e.codeReferenceCardData.slice(0,t),o=e.notesReferenceCardData.slice(0,t-s.length),r=o.length+s.length<t?e.onlineReferenceCardData.filter(e=>e.link).slice(0,t-s.length-o.length):[];return(0,n.jsxs)(w.yo,{children:[(0,n.jsxs)(w.aM,{className:"text-balance w-auto justify-start overflow-hidden break-words p-0 bg-transparent border-none text-gray-400 align-middle items-center m-0 inline-flex",children:[s.map((e,t)=>(0,l.createElement)(_,{showFullContent:!1,...e,key:"code-".concat(t)})),o.map((e,t)=>(0,l.createElement)(k,{showFullContent:!1,...e,key:"".concat(e.title,"-").concat(t)})),r.map((e,t)=>(0,l.createElement)(R,{showFullContent:!1,...e,key:"".concat(e.title,"-").concat(t)})),(0,n.jsx)(v.o,{className:"m-0"})]}),(0,n.jsxs)(w.ue,{className:"overflow-y-scroll",children:[(0,n.jsxs)(w.Tu,{children:[(0,n.jsx)(w.bC,{children:"References"}),(0,n.jsx)(w.Ei,{children:"View all references for this response"})]}),(0,n.jsxs)("div",{className:"flex flex-wrap gap-2 w-auto mt-2",children:[e.codeReferenceCardData.map((e,t)=>(0,l.createElement)(_,{showFullContent:!0,...e,key:"code-".concat(t)})),e.notesReferenceCardData.map((e,t)=>(0,l.createElement)(k,{showFullContent:!0,...e,key:"".concat(e.title,"-").concat(t)})),e.onlineReferenceCardData.map((e,t)=>(0,l.createElement)(R,{showFullContent:!0,...e,key:"".concat(e.title,"-").concat(t)}))]})]})]})}var T=a(59199),F=a(62467),L=a(93893),D=a(2452),O=a(22105),B=a(52938),U=a(68950),q=a(63329),A=a(35099),z=a(46561),Z=a(33758),H=a(58717),W=a(51059),P=a(38513),G=a(46732),$=a(47924),J=a(19841),Q=a(88435),V=a(14308),K=a(84671),Y=a(36663);let X=(0,a(30166).default)(()=>Promise.all([a.e(6555),a.e(7293),a.e(4609),a.e(479)]).then(a.bind(a,60479)).then(e=>e.default),{loadableGenerated:{webpack:()=>[60479]},ssr:!1});function ee(e){return(0,n.jsx)(l.Suspense,{fallback:(0,n.jsx)(V.Z,{}),children:(0,n.jsx)(X,{data:e.data})})}var et=a(26110),ea=a(49027),en=a(7436),es=a(19378),eo=a(50656),el=a(75419),er=a(41648),ec=a(62869),ei=e=>{let{chart:t}=e,[a,s]=(0,l.useState)(null),[o]=(0,l.useState)("mermaid-chart-".concat(Math.random().toString(12).substring(7))),r=(0,l.useRef)(null);(0,l.useEffect)(()=>{eo.Z.initialize({startOnLoad:!1}),eo.Z.parseError=e=>{let t;console.error("Mermaid errors:",e);try{t="string"==typeof e?JSON.parse(e):e}catch(a){t=(null==e?void 0:e.toString())||"Unknown error"}console.log("Mermaid error message:",t),"element is null"!==t.str?s("Something went wrong while rendering the diagram. Please try again later or downvote the message if the issue persists."):s(null)},eo.Z.contentLoaded()},[]);let c=async()=>{if(r.current)try{var e;let t=r.current.querySelector("svg");if(!t)throw Error("No SVG found");let[,,a,n]=(null===(e=t.getAttribute("viewBox"))||void 0===e?void 0:e.split(" ").map(Number))||[0,0,0,0],s=document.createElement("canvas");s.width=2*a,s.height=2*n;let o=s.getContext("2d");if(!o)throw Error("Failed to get canvas context");let l=new XMLSerializer().serializeToString(t),c=new Blob([l],{type:"image/svg+xml;charset=utf-8"}),i=URL.createObjectURL(c),d=new Image;d.src=i,await new Promise((e,t)=>{d.onload=()=>{o.scale(2,2),o.drawImage(d,0,0,a,n),s.toBlob(a=>{if(!a){t(Error("Failed to create blob"));return}let n=URL.createObjectURL(a),s=document.createElement("a");s.href=n,s.download="mermaid-diagram-".concat(Date.now(),".png"),s.click(),URL.revokeObjectURL(n),URL.revokeObjectURL(i),e(!0)},"image/png")},d.onerror=()=>t(Error("Failed to load SVG"))})}catch(e){console.error("Error exporting diagram:",e),s("Failed to export diagram")}};return(0,l.useEffect)(()=>{r.current&&(r.current.removeAttribute("data-processed"),eo.Z.run({nodes:[r.current]}).then(()=>{s(null)}).catch(e=>{let t;try{t="string"==typeof e?JSON.parse(e):e}catch(a){t=(null==e?void 0:e.toString())||"Unknown error"}console.log("Mermaid error message:",t),"element is null"!==t.str?s("Something went wrong while rendering the diagram. Please try again later or downvote the message if the issue persists."):s(null)}))},[t]),(0,n.jsxs)("div",{children:[a?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 bg-red-100 border border-red-500 rounded-md p-1 mt-3 text-red-900 text-sm",children:[(0,n.jsx)(el.k,{className:"w-12 h-12"}),(0,n.jsx)("span",{children:a})]}),(0,n.jsx)("code",{className:"block bg-secondary text-secondary-foreground p-4 mt-3 rounded-lg font-mono text-sm whitespace-pre-wrap overflow-x-auto max-h-[400px] border border-gray-200",children:t})]}):(0,n.jsx)("div",{id:o,ref:r,className:"mermaid",style:{width:"auto",height:"auto",boxSizing:"border-box",overflow:"auto"},children:t}),!a&&(0,n.jsxs)(ec.z,{onClick:c,variant:"secondary",className:"mt-3",children:[(0,n.jsx)(er.U,{className:"w-5 h-5"}),"Export as PNG"]})]})};let ed=new h.Z({html:!0,linkify:!0,typographer:!0});function eh(e,t,a){fetch("/api/chat/feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uquery:e,kquery:t,sentiment:a})})}function eu(e){let{uquery:t,kquery:a}=e,[s,o]=(0,l.useState)(null);return(0,l.useEffect)(()=>{null!==s&&setTimeout(()=>{o(null)},2e3)},[s]),(0,n.jsxs)("div",{className:"".concat(d().feedbackButtons," flex align-middle justify-center items-center"),children:[(0,n.jsx)("button",{title:"Like",className:d().thumbsUpButton,disabled:null!==s,onClick:()=>{eh(t,a,"positive"),o(!0)},children:!0===s?(0,n.jsx)(F.V,{alt:"Liked Message",className:"text-green-500",weight:"fill"}):(0,n.jsx)(F.V,{alt:"Like Message",className:"hsl(var(--muted-foreground)) hover:text-green-500"})}),(0,n.jsx)("button",{title:"Dislike",className:d().thumbsDownButton,disabled:null!==s,onClick:()=>{eh(t,a,"negative"),o(!1)},children:!1===s?(0,n.jsx)(L.L,{alt:"Disliked Message",className:"text-red-500",weight:"fill"}):(0,n.jsx)(L.L,{alt:"Dislike Message",className:"hsl(var(--muted-foreground)) hover:text-red-500"})})]})}function em(e){let t=e.message.match(/\*\*(.*)\*\*/),a=function(e,t){let a=e.toLowerCase(),s="inline mt-1 mr-2 ".concat(t," h-4 w-4");return a.includes("understanding")?(0,n.jsx)(D.a,{className:"".concat(s)}):a.includes("generating")?(0,n.jsx)(O.Z,{className:"".concat(s)}):a.includes("tools")?(0,n.jsx)(B.v,{className:"".concat(s)}):a.includes("notes")?(0,n.jsx)(U.g,{className:"".concat(s)}):a.includes("read")?(0,n.jsx)(q.f,{className:"".concat(s)}):a.includes("search")?(0,n.jsx)(A.Y,{className:"".concat(s)}):a.includes("summary")||a.includes("summarize")||a.includes("enhanc")?(0,n.jsx)(z.u,{className:"".concat(s)}):a.includes("diagram")?(0,n.jsx)(Z.j,{className:"".concat(s)}):a.includes("paint")?(0,n.jsx)(H.Y,{className:"".concat(s)}):a.includes("code")?(0,n.jsx)(f.E,{className:"".concat(s)}):(0,n.jsx)(D.a,{className:"".concat(s)})}(t?t[1]:"",e.primary?(0,K.oz)(e.agentColor):"text-gray-500"),s=y.Z.sanitize(ed.render(e.message));return s=s.replace(/<h[1-6].*?<\/h[1-6]>/g,""),(0,n.jsxs)("div",{className:"".concat(d().trainOfThoughtElement," break-words items-center ").concat(e.primary?"text-gray-400":"text-gray-300"," ").concat(d().trainOfThought," ").concat(e.primary?d().primary:""),children:[a,(0,n.jsx)("div",{dangerouslySetInnerHTML:{__html:s},className:"break-words"})]})}ed.use(m(),{inline:!0,code:!0});let eg=(0,l.forwardRef)((e,t)=>{var a,s;let o,r,c,i,h;let[u,m]=(0,l.useState)(!1),[p,f]=(0,l.useState)(!1),[x,v]=(0,l.useState)(""),[j,w]=(0,l.useState)(""),[b,M]=(0,l.useState)(!1),[N,k]=(0,l.useState)(!1),[_,R]=(0,l.useState)(""),[E,S]=(0,l.useState)(""),F=(0,l.useRef)(!1),L=(0,l.useRef)(null);async function D(){let t=e.chatMessage.message.match(/[^.!?]+[.!?]*/g)||[];if(!t||0===t.length||!t[0])return;M(!0);let a=O(t[0]);for(let e=0;e<t.length&&!F.current;e++){let n=a;e<t.length-1&&(a=O(t[e+1]));try{let e=await n,t=URL.createObjectURL(e);await function(e){return new Promise((t,a)=>{let n=new Audio(e);n.onended=t,n.onerror=a,n.play()})}(t)}catch(e){console.error("Error:",e);break}}M(!1),k(!1)}async function O(e){let t=await fetch("/api/chat/speech?text=".concat(encodeURIComponent(e)),{method:"POST",headers:{"Content-Type":"application/json"}});if(!t.ok)throw Error("Network response was not ok");return await t.blob()}(0,l.useEffect)(()=>{F.current=N},[N]),(0,l.useEffect)(()=>{let e=new MutationObserver((e,t)=>{if(L.current)for(let t of e)"childList"===t.type&&t.addedNodes.length>0&&(0,Y.Z)(L.current,{delimiters:[{left:"$$",right:"$$",display:!0},{left:"\\[",right:"\\]",display:!0},{left:"\\(",right:"\\)",display:!1}]})});return L.current&&e.observe(L.current,{childList:!0}),()=>e.disconnect()},[L.current]),(0,l.useEffect)(()=>{let t=e.chatMessage.message;e.chatMessage.excalidrawDiagram&&R(e.chatMessage.excalidrawDiagram),e.chatMessage.mermaidjsDiagram&&S(e.chatMessage.mermaidjsDiagram),t=t.replace(/\\\(/g,"LEFTPAREN").replace(/\\\)/g,"RIGHTPAREN").replace(/\\\[/g,"LEFTBRACKET").replace(/\\\]/g,"RIGHTBRACKET"),t=(0,T.AQ)(t,e.chatMessage.codeContext),e.chatMessage.codeContext&&Object.entries(e.chatMessage.codeContext).forEach(e=>{var a;let[n,s]=e;null===(a=s.results.output_files)||void 0===a||a.forEach(e=>{(e.filename.endsWith(".png")||e.filename.endsWith(".jpg"))&&!t.includes(")&&(t+="\n\n.concat(e.b64_data,")"))})});let a=t,n=t;if(e.chatMessage.images&&e.chatMessage.images.length>0){let t=e.chatMessage.images.map(e=>{let t=e.startsWith("data%3Aimage")?decodeURIComponent(e):e;return y.Z.sanitize(t)}),s=t.map((e,t)=>".concat(e,")")).join("\n"),o=t.map((e,t)=>'<div class="'.concat(d().imageWrapper,'"><img src="').concat(e,'" alt="uploaded image ').concat(t+1,'" /></div>')).join(""),l='<div class="'.concat(d().imagesContainer,'">').concat(o,"</div>");a="".concat(s,"\n\n").concat(a),n="".concat(l).concat(n)}v(a);let s=ed.render(n);s=s.replace(/LEFTPAREN/g,"\\(").replace(/RIGHTPAREN/g,"\\)").replace(/LEFTBRACKET/g,"\\[").replace(/RIGHTBRACKET/g,"\\]"),w(y.Z.sanitize(s))},[e.chatMessage.message,e.chatMessage.images,e.chatMessage.intent]),(0,l.useEffect)(()=>{u&&setTimeout(()=>{m(!1)},2e3)},[u]),(0,l.useEffect)(()=>{L.current&&(L.current.querySelectorAll("pre > .hljs").forEach(e=>{if(!e.querySelector("".concat(d().codeCopyButton))){let t=document.createElement("button"),a=(0,n.jsx)(W.w,{size:24});(0,g.createRoot)(t).render(a),t.className="hljs ".concat(d().codeCopyButton),t.addEventListener("click",()=>{let a=e.textContent||"";a=(a=(a=a.replace(/^\$+/,"")).replace(/^Copy/,"")).trim(),navigator.clipboard.writeText(a);let s=(0,n.jsx)(P.J,{size:24});(0,g.createRoot)(t).render(s)}),e.prepend(t)}}),(0,Y.Z)(L.current,{delimiters:[{left:"$$",right:"$$",display:!0},{left:"\\[",right:"\\]",display:!0},{left:"\\(",right:"\\)",display:!1}]}))},[j,p,L]);let B=async t=>{let a=t.turnId||e.turnId;(await fetch("/api/chat/conversation/message",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({conversation_id:e.conversationId,turn_id:a})})).ok?e.onDeleteMessage(a):console.error("Failed to delete message")},U=function(e,t,a){let n=[],s=[],o=[];if(a)for(let[e,t]of Object.entries(a))t.results&&o.push({code:t.code,output:t.results.std_out,output_files:t.results.output_files,error:t.results.std_err});if(t){let e=[];for(let[a,n]of Object.entries(t)){if(n.answerBox&&e.push({title:n.answerBox.title,description:n.answerBox.answer,link:n.answerBox.source}),n.knowledgeGraph&&e.push({title:n.knowledgeGraph.title,description:n.knowledgeGraph.description,link:n.knowledgeGraph.descriptionLink}),n.webpages){if(n.webpages instanceof Array){let t=n.webpages.map(e=>({title:e.query,description:e.snippet,link:e.link}));e.push(...t)}else{let t=n.webpages;e.push({title:t.query,description:t.snippet,link:t.link})}}if(n.organic){let t=n.organic.map(e=>({title:e.title,description:e.snippet,link:e.link}));e.push(...t)}}n.push(...e)}if(e){let t=e.map(e=>e.compiled?{title:e.file,content:e.compiled}:{title:e.split("\n")[0],content:e.split("\n").slice(1).join("\n")});s.push(...t)}return{notesReferenceCardData:s,onlineReferenceCardData:n,codeReferenceCardData:o}}(e.chatMessage.context,e.chatMessage.onlineContext,e.chatMessage.codeContext);return(0,n.jsxs)("div",{ref:t,className:(a=e.chatMessage,o=[d().chatMessageContainer],"khoj"===a.by&&o.push("shadow-md"),o.push(d()[a.by]),a.message||o.push(d().emptyChatMessage),e.customClassName&&o.push(d()["".concat(a.by).concat(e.customClassName)]),o.join(" ")),onMouseLeave:e=>f(!1),onMouseEnter:e=>f(!0),children:[(0,n.jsxs)("div",{className:(s=e.chatMessage,(r=[d().chatMessageWrapper]).push(d()[s.by]),"khoj"===s.by&&r.push("border-l-4 border-opacity-50 ".concat("border-l-"+e.borderLeftColor)),r.join(" ")),children:[e.chatMessage.queryFiles&&e.chatMessage.queryFiles.length>0&&(0,n.jsx)("div",{className:"flex flex-wrap flex-col mb-2 max-w-full",children:e.chatMessage.queryFiles.map((e,t)=>(0,n.jsxs)(et.Vq,{children:[(0,n.jsx)(et.hg,{asChild:!0,children:(0,n.jsxs)("div",{className:"flex items-center space-x-2 cursor-pointer bg-gray-500 bg-opacity-25 rounded-lg p-2 w-full ",children:[(0,n.jsx)("div",{className:"flex-shrink-0",children:(0,C.Le)(e.file_type)}),(0,n.jsx)("span",{className:"truncate flex-1 min-w-0 max-w-[200px]",children:e.name}),e.size&&(0,n.jsxs)("span",{className:"text-gray-400 flex-shrink-0",children:["(",(0,en.xq)(e.size),")"]})]})}),(0,n.jsxs)(et.cZ,{children:[(0,n.jsx)(et.fK,{children:(0,n.jsx)(ea.$N,{children:(0,n.jsx)("div",{className:"truncate min-w-0 break-words break-all text-wrap max-w-full whitespace-normal",children:e.name})})}),(0,n.jsx)(et.Be,{children:(0,n.jsx)(es.x,{className:"h-72 w-full rounded-md break-words break-all text-wrap",children:e.content})})]})]},t))}),(0,n.jsx)("div",{ref:L,className:d().chatMessage,dangerouslySetInnerHTML:{__html:j}}),_&&(0,n.jsx)(ee,{data:_}),E&&(0,n.jsx)(ei,{chart:E})]}),(0,n.jsx)("div",{className:d().teaserReferencesContainer,children:(0,n.jsx)(I,{isMobileWidth:e.isMobileWidth,notesReferenceCardData:U.notesReferenceCardData,onlineReferenceCardData:U.onlineReferenceCardData,codeReferenceCardData:U.codeReferenceCardData})}),(0,n.jsx)("div",{className:d().chatFooter,children:(p||e.isMobileWidth||e.isLastMessage||b)&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{title:(i=(c=new Date(e.chatMessage.created+"Z")).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0}).toUpperCase(),h=c.toLocaleString("en-US",{year:"numeric",month:"short",day:"2-digit"}).replaceAll("-"," "),"".concat(i," on ").concat(h)),className:"text-gray-400 relative top-0 left-4",children:function(e){e.endsWith("Z")||(e+="Z");let t=new Date(e),a=new Date().getTime()-t.getTime();return a<6e4?"Just now":a<36e5?"".concat(Math.round(a/6e4),"m ago"):a<864e5?"".concat(Math.round(a/36e5),"h ago"):"".concat(Math.round(a/864e5),"d ago")}(e.chatMessage.created)}),(0,n.jsxs)("div",{className:"".concat(d().chatButtons," shadow-sm"),children:["khoj"===e.chatMessage.by&&(b?N?(0,n.jsx)(V.l,{iconClassName:"p-0",className:"m-0"}):(0,n.jsx)("button",{title:"Pause Speech",onClick:e=>k(!0),children:(0,n.jsx)(G.d,{alt:"Pause Message",className:"hsl(var(--muted-foreground))"})}):(0,n.jsx)("button",{title:"Speak",onClick:e=>D(),children:(0,n.jsx)($.j,{alt:"Speak Message",className:"hsl(var(--muted-foreground)) hover:text-green-500"})})),e.chatMessage.turnId&&(0,n.jsx)("button",{title:"Delete",className:"".concat(d().deleteButton),onClick:()=>B(e.chatMessage),children:(0,n.jsx)(J.r,{alt:"Delete Message",className:"hsl(var(--muted-foreground)) hover:text-red-500"})}),(0,n.jsx)("button",{title:"Copy",className:"".concat(d().copyButton),onClick:()=>{navigator.clipboard.writeText(x),m(!0)},children:u?(0,n.jsx)(Q.C,{alt:"Copied Message",weight:"fill",className:"text-green-500"}):(0,n.jsx)(Q.C,{alt:"Copy Message",className:"hsl(var(--muted-foreground)) hover:text-green-500"})}),"khoj"===e.chatMessage.by&&(e.chatMessage.intent?(0,n.jsx)(eu,{uquery:e.chatMessage.intent.query,kquery:e.chatMessage.message}):(0,n.jsx)(eu,{uquery:e.chatMessage.rawQuery||e.chatMessage.message,kquery:e.chatMessage.message}))]})]})})]})});eg.displayName="ChatMessage";var ep=a(3894),ef=a(20461),ex=a(77168),ev=a(15483),ej=a(81103),ew=e=>{let{name:t,avatar:a,link:s,description:o}=e;return(0,n.jsx)("div",{className:"relative group flex",children:(0,n.jsx)(ej.pn,{children:(0,n.jsxs)(ej.u,{delayDuration:0,children:[(0,n.jsx)(ej.aJ,{asChild:!0,children:(0,n.jsxs)(ec.z,{variant:"ghost",className:"flex items-center justify-center",children:[a,(0,n.jsx)("div",{children:t})]})}),(0,n.jsx)(ej._v,{children:(0,n.jsxs)("div",{className:"w-80 h-30",children:[(0,n.jsx)("a",{href:s,target:"_blank",rel:"noreferrer",className:"mt-1 ml-2 block no-underline",children:(0,n.jsxs)("div",{className:"flex items-center justify-start gap-2",children:[a,(0,n.jsxs)("div",{className:"mr-2 mt-1 flex justify-center items-center text-sm font-semibold text-gray-800",children:[t,(0,n.jsx)(v.o,{weight:"bold",className:"ml-1"})]})]})}),o&&(0,n.jsx)("p",{className:"mt-2 ml-6 text-sm text-gray-600 line-clamp-2",children:o||"A Khoj agent"})]})})]})})})};function eb(e){let t=e.trainOfThought.length-1,[a,s]=(0,l.useState)(e.completed);return(0,l.useEffect)(()=>{e.completed&&s(!0)},[e.completed]),(0,n.jsxs)("div",{className:"".concat(a?"":o().trainOfThought+" border"," rounded-lg"),children:[!e.completed&&(0,n.jsx)(V.l,{className:"float-right"}),e.completed&&(a?(0,n.jsxs)(ec.z,{className:"w-fit text-left justify-start content-start text-xs",onClick:()=>s(!1),variant:"ghost",size:"sm",children:["Thought Process ",(0,n.jsx)(ep.p,{size:16,className:"ml-1"})]}):(0,n.jsxs)(ec.z,{className:"w-fit text-left justify-start content-start text-xs p-0 h-fit",onClick:()=>s(!0),variant:"ghost",size:"sm",children:["Close ",(0,n.jsx)(ef.U,{size:16,className:"ml-1"})]})),(0,n.jsx)(r.M,{initial:!1,children:!a&&(0,n.jsx)(c.E.div,{initial:"closed",animate:"open",exit:"closed",variants:{open:{height:"auto",opacity:1,transition:{duration:.3,ease:"easeOut"}},closed:{height:0,opacity:0,transition:{duration:.3,ease:"easeIn"}}},children:e.trainOfThought.map((a,s)=>(0,n.jsx)(em,{message:a,primary:s===t&&e.lastMessage&&!e.completed,agentColor:e.agentColor},"train-".concat(s)))})})]},e.keyId)}function ey(e){var t,a,s,r,c,i,d,h,u;let[m,g]=(0,l.useState)(null),[p,f]=(0,l.useState)(0),[x,v]=(0,l.useState)(!0),[j,w]=(0,l.useState)(null),b=(0,l.useRef)(null),y=(0,l.useRef)(null),M=(0,l.useRef)(null),N=(0,l.useRef)(null),[k,_]=(0,l.useState)(null),[R,E]=(0,l.useState)(!1),[I,S]=(0,l.useState)(!0),T=(0,en.IC)(),F="[data-radix-scroll-area-viewport]",L=localStorage.getItem("message");(0,l.useEffect)(()=>{var e;let t=null===(e=y.current)||void 0===e?void 0:e.querySelector(F);if(!t)return;let a=()=>{let{scrollTop:e,scrollHeight:a,clientHeight:n}=t;S(a-(e+n)<=50)};return t.addEventListener("scroll",a),()=>t.removeEventListener("scroll",a)},[]),(0,l.useEffect)(()=>{e.incomingMessages&&e.incomingMessages.length>0&&I&&O()},[e.incomingMessages,I]),(0,l.useEffect)(()=>{m&&m.chat&&m.chat.length>0&&p<2&&requestAnimationFrame(()=>{var e;null===(e=M.current)||void 0===e||e.scrollIntoView({behavior:"auto",block:"start"})})},[m,p]),(0,l.useEffect)(()=>{if(!x||R)return;let t=new IntersectionObserver(t=>{t[0].isIntersecting&&x&&(E(!0),function(t){if(!x||R)return;let a=(t+1)*10,n="";if(e.conversationId)n="/api/chat/history?client=web&conversation_id=".concat(encodeURIComponent(e.conversationId),"&n=").concat(a);else{if(!e.publicConversationSlug)return;n="/api/chat/share/history?client=web&public_conversation_slug=".concat(e.publicConversationSlug,"&n=").concat(a)}fetch(n).then(e=>e.json()).then(a=>{var n;if(e.setTitle(a.response.slug),e.setIsOwner&&e.setIsOwner(null==a?void 0:null===(n=a.response)||void 0===n?void 0:n.is_owner),a&&a.response&&a.response.chat&&a.response.chat.length>0){if(f(Math.ceil(a.response.chat.length/10)),a.response.chat.length===(null==m?void 0:m.chat.length)){v(!1),E(!1);return}e.setAgent(a.response.agent),g(a.response),E(!1),0===t?O(!0):D()}else{if(a.response.agent&&a.response.conversation_id){let t={chat:[],agent:a.response.agent,conversation_id:a.response.conversation_id,slug:a.response.slug,is_owner:a.response.is_owner};e.setAgent(a.response.agent),g(t),e.setIsChatSideBarOpen&&!L&&e.setIsChatSideBarOpen(!0)}v(!1),E(!1)}}).catch(e=>{console.error(e),window.location.href="/"})}(p))},{threshold:1});return b.current&&t.observe(b.current),()=>t.disconnect()},[x,p,R]),(0,l.useEffect)(()=>{v(!0),E(!1),f(0),g(null)},[e.conversationId]),(0,l.useEffect)(()=>{if(e.incomingMessages){let t=e.incomingMessages[e.incomingMessages.length-1];t&&!t.completed&&(_(e.incomingMessages.length-1),e.setTitle(t.rawQuery),t.turnId&&w(t.turnId))}},[e.incomingMessages]);let D=()=>{var e;let t=null===(e=y.current)||void 0===e?void 0:e.querySelector(F);requestAnimationFrame(()=>{var e;null===(e=N.current)||void 0===e||e.scrollIntoView({behavior:"auto",block:"start"}),null==t||t.scrollBy({behavior:"smooth",top:-150})})},O=function(){var e;let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=null===(e=y.current)||void 0===e?void 0:e.querySelector(F);requestAnimationFrame(()=>{null==a||a.scrollTo({top:a.scrollHeight,behavior:t?"auto":"smooth"})}),S(!0)},B=t=>{t&&(g(e=>e&&t?{...e,chat:e.chat.filter(e=>e.turnId!==t)}:e),e.incomingMessages&&e.setIncomingMessages&&e.setIncomingMessages(e.incomingMessages.filter(e=>e.turnId!==t)))};return e.conversationId||e.publicConversationSlug?(0,n.jsx)(es.x,{className:"\n h-[calc(100svh-theme(spacing.44))]\n sm:h-[calc(100svh-theme(spacing.44))]\n md:h-[calc(100svh-theme(spacing.44))]\n lg:h-[calc(100svh-theme(spacing.72))]\n ",ref:y,children:(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"".concat(o().chatHistory," ").concat(e.customClassName),children:[(0,n.jsx)("div",{ref:b,style:{height:"1px"},children:R&&(0,n.jsx)(V.l,{className:"opacity-50"})}),m&&m.chat&&m.chat.map((t,a)=>{var s,o,r;return(0,n.jsxs)(l.Fragment,{children:[t.trainOfThought&&"khoj"===t.by&&(0,n.jsx)(eb,{trainOfThought:null===(s=t.trainOfThought)||void 0===s?void 0:s.map(e=>e.data),lastMessage:!1,agentColor:(null==m?void 0:null===(o=m.agent)||void 0===o?void 0:o.color)||"orange",keyId:"".concat(a,"trainOfThought"),completed:!0},"".concat(a,"trainOfThought")),(0,n.jsx)(eg,{ref:a===m.chat.length-2?M:a===m.chat.length-(p-1)*10?N:null,isMobileWidth:T,chatMessage:t,customClassName:"fullHistory",borderLeftColor:"".concat(null==m?void 0:null===(r=m.agent)||void 0===r?void 0:r.color,"-500"),isLastMessage:a===m.chat.length-1,onDeleteMessage:B,conversationId:e.conversationId},"".concat(a,"fullHistory"))]},"chatMessage-".concat(a))}),e.incomingMessages&&e.incomingMessages.map((t,a)=>{var s,o,r,c,i;let d=null!==(i=null!==(c=t.turnId)&&void 0!==c?c:j)&&void 0!==i?i:void 0;return(0,n.jsxs)(l.Fragment,{children:[(0,n.jsx)(eg,{isMobileWidth:T,chatMessage:{message:t.rawQuery,context:[],onlineContext:{},codeContext:{},created:t.timestamp,by:"you",automationId:"",images:t.images,conversationId:e.conversationId,turnId:d,queryFiles:t.queryFiles},customClassName:"fullHistory",borderLeftColor:"".concat(null==m?void 0:null===(s=m.agent)||void 0===s?void 0:s.color,"-500"),onDeleteMessage:B,conversationId:e.conversationId,turnId:d},"".concat(a,"outgoing")),t.trainOfThought&&(0,n.jsx)(eb,{trainOfThought:t.trainOfThought,lastMessage:a===k,agentColor:(null==m?void 0:null===(o=m.agent)||void 0===o?void 0:o.color)||"orange",keyId:"".concat(a,"trainOfThought"),completed:t.completed},"".concat(a,"trainOfThought")),(0,n.jsx)(eg,{isMobileWidth:T,chatMessage:{message:t.rawResponse,context:t.context,onlineContext:t.onlineContext,codeContext:t.codeContext,created:t.timestamp,by:"khoj",automationId:"",rawQuery:t.rawQuery,intent:{type:t.intentType||"",query:t.rawQuery,"memory-type":"","inferred-queries":t.inferredQueries||[]},conversationId:e.conversationId,images:t.generatedImages,queryFiles:t.generatedFiles,mermaidjsDiagram:t.generatedMermaidjsDiagram,turnId:d},conversationId:e.conversationId,turnId:d,onDeleteMessage:B,customClassName:"fullHistory",borderLeftColor:"".concat(null==m?void 0:null===(r=m.agent)||void 0===r?void 0:r.color,"-500"),isLastMessage:a===e.incomingMessages.length-1},"".concat(a,"incoming"))]},"incomingMessage".concat(a))}),e.pendingMessage&&(0,n.jsx)(eg,{isMobileWidth:T,chatMessage:{message:e.pendingMessage,context:[],onlineContext:{},codeContext:{},created:new Date().getTime().toString(),by:"you",automationId:"",conversationId:e.conversationId,turnId:void 0},conversationId:e.conversationId,onDeleteMessage:B,customClassName:"fullHistory",borderLeftColor:"".concat(null==m?void 0:null===(t=m.agent)||void 0===t?void 0:t.color,"-500"),isLastMessage:!0},"pendingMessage-".concat(e.pendingMessage.length)),m&&(0,n.jsx)("div",{className:"".concat(o().agentIndicator," pb-4"),children:(0,n.jsx)("div",{className:"relative group mx-2 cursor-pointer",children:(0,n.jsx)(ew,{name:m&&m.agent&&(null===(r=m.agent)||void 0===r?void 0:r.name)?m.agent.is_hidden?"Khoj":null===(c=m.agent)||void 0===c?void 0:c.name:"Agent",link:m&&m.agent&&(null===(i=m.agent)||void 0===i?void 0:i.slug)?"/agents?agent=".concat(null===(d=m.agent)||void 0===d?void 0:d.slug):"/agents",avatar:(0,C.TI)(null===(a=m.agent)||void 0===a?void 0:a.icon,null===(s=m.agent)||void 0===s?void 0:s.color)||(0,n.jsx)(ex.v,{}),description:m&&m.agent?(null===(h=m.agent)||void 0===h?void 0:h.persona)?null===(u=m.agent)||void 0===u?void 0:u.persona:"You can set a persona for your agent in the Chat Options side panel.":"Your agent is no longer available. You will be reset to the default agent."})})})]}),(0,n.jsx)("div",{className:"".concat(e.customClassName," fixed bottom-[20%] z-10"),children:!I&&(0,n.jsx)("button",{title:"Scroll to bottom",className:"absolute bottom-0 right-0 bg-white dark:bg-[hsl(var(--background))] text-neutral-500 dark:text-white p-2 rounded-full shadow-xl",onClick:()=>{O(),S(!0)},children:(0,n.jsx)(ev.K,{size:24})})})]})}):null}},42501:function(e){e.exports={chatHistory:"chatHistory_chatHistory__CoaVT",agentIndicator:"chatHistory_agentIndicator__wOU1f",trainOfThought:"chatHistory_trainOfThought__mMWSR"}},91499:function(e){e.exports={chatMessageContainer:"chatMessage_chatMessageContainer__sAivf",chatMessageWrapper:"chatMessage_chatMessageWrapper__u5m8A",khojfullHistory:"chatMessage_khojfullHistory__NPu2l",youfullHistory:"chatMessage_youfullHistory__ioyfH",you:"chatMessage_you__6GUC4",khoj:"chatMessage_khoj__cjWON",khojChatMessage:"chatMessage_khojChatMessage__BabQz",emptyChatMessage:"chatMessage_emptyChatMessage__J9JRn",imagesContainer:"chatMessage_imagesContainer__HTRjT",imageWrapper:"chatMessage_imageWrapper__DF92M",author:"chatMessage_author__muRtC",chatFooter:"chatMessage_chatFooter__0vR8s",chatButtons:"chatMessage_chatButtons__Lbk8T",codeCopyButton:"chatMessage_codeCopyButton__Y_Ujv",feedbackButtons:"chatMessage_feedbackButtons___Brdy",copyButton:"chatMessage_copyButton__jd7q7",trainOfThought:"chatMessage_trainOfThought__mR2Gg",primary:"chatMessage_primary__WYPEb",trainOfThoughtElement:"chatMessage_trainOfThoughtElement__le_bC"}}}]);
|
@@ -1 +0,0 @@
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8459,3317,244,7138],{63521:function(){}},function(n){n.O(0,[2971,2117,1744],function(){return n(n.s=63521)}),_N_E=n.O()}]);
|
@@ -1 +0,0 @@
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3317,8459,244,7138],{63521:function(){}},function(n){n.O(0,[2971,2117,1744],function(){return n(n.s=63521)}),_N_E=n.O()}]);
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|