khoj 1.42.9.dev16__py3-none-any.whl → 1.42.9.dev23__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/models/__init__.py +1 -0
- khoj/interface/compiled/404/index.html +2 -2
- khoj/interface/compiled/_next/static/chunks/app/agents/layout-e00fb81dca656a10.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/agents/{page-0006674668eb5a4d.js → page-9a4610474cd59a71.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/automations/{page-4c465cde2d14cb52.js → page-f7bb9d777b7745d4.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/chat/layout-33934fc2d6ae6838.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/chat/{page-9967631715682f3c.js → page-ef738950ea1babc3.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/{page-6e91caf9bc0c8aba.js → page-2b3056cba8aa96ce.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/search/layout-c02531d586972d7d.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/search/{page-883b7d8d2e3abe3e.js → page-4885df3cd175c957.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/settings/{page-95e994ddac31473f.js → page-8be3b35178abf2ec.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-e8e5db7830bf3f47.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/share/chat/{page-8c8c175f7f212b03.js → page-4a4b0c0f4749c2b2.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/{webpack-4bf3eab7681a1206.js → webpack-cfa752859e991115.js} +1 -1
- khoj/interface/compiled/_next/static/css/37a73b87f02df402.css +1 -0
- khoj/interface/compiled/_next/static/css/76c658ee459140a9.css +1 -0
- khoj/interface/compiled/_next/static/css/821d0d60b0b6871d.css +1 -0
- khoj/interface/compiled/_next/static/css/e6da1287d41f5409.css +1 -0
- 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 +3 -3
- 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 +4 -4
- khoj/interface/compiled/share/chat/index.html +2 -2
- khoj/interface/compiled/share/chat/index.txt +2 -2
- khoj/processor/content/markdown/markdown_to_entries.py +38 -9
- khoj/processor/content/org_mode/org_to_entries.py +18 -2
- khoj/processor/content/org_mode/orgnode.py +18 -16
- khoj/processor/content/text_to_entries.py +30 -0
- khoj/processor/conversation/utils.py +1 -1
- khoj/routers/api_subscription.py +22 -0
- khoj/routers/helpers.py +11 -8
- khoj/search_type/text_search.py +2 -0
- khoj/utils/rawconfig.py +11 -0
- {khoj-1.42.9.dev16.dist-info → khoj-1.42.9.dev23.dist-info}/METADATA +1 -1
- {khoj-1.42.9.dev16.dist-info → khoj-1.42.9.dev23.dist-info}/RECORD +54 -54
- khoj/interface/compiled/_next/static/chunks/app/agents/layout-2e626327abfbe612.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/chat/layout-d6acbba22ccac0ff.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/search/layout-94c76c3a41db42a2.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-95998f0bdc22bb13.js +0 -1
- khoj/interface/compiled/_next/static/css/1e9b757ee2a2b34b.css +0 -1
- khoj/interface/compiled/_next/static/css/440ae0f0f650dc35.css +0 -1
- khoj/interface/compiled/_next/static/css/bd2071cad2ecf293.css +0 -1
- khoj/interface/compiled/_next/static/css/ee66643a6a5bf71c.css +0 -1
- /khoj/interface/compiled/_next/static/{w19FJJa9p2AFJB6DEektd → bNFk9r0rPk9sPiVlFi6q_}/_buildManifest.js +0 -0
- /khoj/interface/compiled/_next/static/{w19FJJa9p2AFJB6DEektd → bNFk9r0rPk9sPiVlFi6q_}/_ssgManifest.js +0 -0
- /khoj/interface/compiled/_next/static/chunks/{1327-3b1a41af530fa8ee.js → 1327-1a9107b9a2a04a98.js} +0 -0
- /khoj/interface/compiled/_next/static/chunks/{1915-fbfe167c84ad60c5.js → 1915-5c6508f6ebb62a30.js} +0 -0
- /khoj/interface/compiled/_next/static/chunks/{2117-e78b6902ad6f75ec.js → 2117-080746c8e170c81a.js} +0 -0
- /khoj/interface/compiled/_next/static/chunks/{2939-4d4084c5b888b960.js → 2939-4af3fd24b8ffc9ad.js} +0 -0
- /khoj/interface/compiled/_next/static/chunks/{4447-d6cf93724d57e34b.js → 4447-cd95608f8e93e711.js} +0 -0
- /khoj/interface/compiled/_next/static/chunks/{8667-4b7790573b08c50d.js → 8667-50b03a89e82e0ba7.js} +0 -0
- {khoj-1.42.9.dev16.dist-info → khoj-1.42.9.dev23.dist-info}/WHEEL +0 -0
- {khoj-1.42.9.dev16.dist-info → khoj-1.42.9.dev23.dist-info}/entry_points.txt +0 -0
- {khoj-1.42.9.dev16.dist-info → khoj-1.42.9.dev23.dist-info}/licenses/LICENSE +0 -0
@@ -58,7 +58,7 @@ def makelist_with_filepath(filename):
|
|
58
58
|
return makelist(f, filename)
|
59
59
|
|
60
60
|
|
61
|
-
def makelist(file, filename) -> List["Orgnode"]:
|
61
|
+
def makelist(file, filename, start_line: int = 1, ancestry_lines: int = 0) -> List["Orgnode"]:
|
62
62
|
"""
|
63
63
|
Read an org-mode file and return a list of Orgnode objects
|
64
64
|
created from this file.
|
@@ -66,7 +66,7 @@ def makelist(file, filename) -> List["Orgnode"]:
|
|
66
66
|
ctr = 0
|
67
67
|
|
68
68
|
if type(file) == str:
|
69
|
-
f = file.
|
69
|
+
f = file.splitlines()
|
70
70
|
else:
|
71
71
|
f = file
|
72
72
|
|
@@ -114,14 +114,23 @@ def makelist(file, filename) -> List["Orgnode"]:
|
|
114
114
|
logbook = list()
|
115
115
|
thisNode.properties = property_map
|
116
116
|
nodelist.append(thisNode)
|
117
|
-
|
117
|
+
# Account for ancestry lines that were prepended when calculating line numbers
|
118
|
+
if ancestry_lines > 0:
|
119
|
+
calculated_line = start_line + ctr - 1 - ancestry_lines
|
120
|
+
if calculated_line <= 0:
|
121
|
+
calculated_line = 1 # Fallback to line 1 if calculation results in invalid line number
|
122
|
+
else:
|
123
|
+
calculated_line = start_line + ctr - 1
|
124
|
+
if calculated_line <= 0:
|
125
|
+
calculated_line = ctr # Use the original behavior if start_line calculation fails
|
126
|
+
property_map = {"LINE": f"file://{normalize_filename(filename)}#line={calculated_line}"}
|
118
127
|
previous_level = level
|
119
128
|
previous_heading: str = heading
|
120
129
|
level = heading_search.group(1)
|
121
130
|
heading = heading_search.group(2)
|
122
131
|
bodytext = ""
|
123
132
|
tags = list() # set of all tags in headline
|
124
|
-
tag_search = re.search(r"(.*?)\s
|
133
|
+
tag_search = re.search(r"(.*?)\s+:([a-zA-Z0-9@_].*?):\s*$", heading)
|
125
134
|
if tag_search:
|
126
135
|
heading = tag_search.group(1)
|
127
136
|
parsedtags = tag_search.group(2)
|
@@ -260,14 +269,6 @@ def makelist(file, filename) -> List["Orgnode"]:
|
|
260
269
|
# Prefix filepath/title to ancestors
|
261
270
|
n.ancestors = [file_title] + n.ancestors
|
262
271
|
|
263
|
-
# Set SOURCE property to a file+heading based org-mode link to the entry
|
264
|
-
if n.level == 0:
|
265
|
-
n.properties["LINE"] = f"file:{normalize_filename(filename)}::0"
|
266
|
-
n.properties["SOURCE"] = f"[[file:{normalize_filename(filename)}]]"
|
267
|
-
else:
|
268
|
-
escaped_heading = n.heading.replace("[", "\\[").replace("]", "\\]")
|
269
|
-
n.properties["SOURCE"] = f"[[file:{normalize_filename(filename)}::*{escaped_heading}]]"
|
270
|
-
|
271
272
|
return nodelist
|
272
273
|
|
273
274
|
|
@@ -520,10 +521,11 @@ class Orgnode(object):
|
|
520
521
|
n = n + "\n"
|
521
522
|
|
522
523
|
# Output Property Drawer
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
524
|
+
if self._properties:
|
525
|
+
n = n + indent + ":PROPERTIES:\n"
|
526
|
+
for key, value in self._properties.items():
|
527
|
+
n = n + indent + f":{key}: {value}\n"
|
528
|
+
n = n + indent + ":END:\n"
|
527
529
|
|
528
530
|
# Output Body
|
529
531
|
if self.hasBody:
|
@@ -81,8 +81,35 @@ class TextToEntries(ABC):
|
|
81
81
|
chunked_entry_chunks = text_splitter.split_text(entry.compiled)
|
82
82
|
corpus_id = uuid.uuid4()
|
83
83
|
|
84
|
+
line_start = None
|
85
|
+
last_offset = 0
|
86
|
+
if entry.uri and entry.uri.startswith("file://"):
|
87
|
+
if "#line=" in entry.uri:
|
88
|
+
line_start = int(entry.uri.split("#line=", 1)[-1].split("&", 1)[0])
|
89
|
+
else:
|
90
|
+
line_start = 0
|
91
|
+
|
84
92
|
# Create heading prefixed entry from each chunk
|
85
93
|
for chunk_index, compiled_entry_chunk in enumerate(chunked_entry_chunks):
|
94
|
+
# set line start in uri of chunked entries
|
95
|
+
entry_uri = entry.uri
|
96
|
+
if line_start is not None:
|
97
|
+
# Find the chunk in the raw text to get an accurate line number.
|
98
|
+
# Search for the unmodified chunk from the last offset.
|
99
|
+
searchable_chunk = compiled_entry_chunk.strip()
|
100
|
+
if searchable_chunk:
|
101
|
+
chunk_start_pos_in_raw = entry.raw.find(searchable_chunk, last_offset)
|
102
|
+
if chunk_start_pos_in_raw != -1:
|
103
|
+
# Found the chunk. Calculate its line offset from the start of the raw text.
|
104
|
+
line_offset_in_raw = entry.raw[:chunk_start_pos_in_raw].count("\n")
|
105
|
+
new_line_num = line_start + line_offset_in_raw
|
106
|
+
entry_uri = re.sub(r"#line=\d+", f"#line={new_line_num}", entry.uri)
|
107
|
+
# Update search position for the next chunk to start after the current one.
|
108
|
+
last_offset = chunk_start_pos_in_raw + len(searchable_chunk)
|
109
|
+
else:
|
110
|
+
# Chunk not found in raw text, likely from a heading. Use original line_start.
|
111
|
+
entry_uri = re.sub(r"#line=\d+", f"#line={line_start}", entry.uri)
|
112
|
+
|
86
113
|
# Prepend heading to all other chunks, the first chunk already has heading from original entry
|
87
114
|
if chunk_index > 0 and entry.heading:
|
88
115
|
# Snip heading to avoid crossing max_tokens limit
|
@@ -99,6 +126,7 @@ class TextToEntries(ABC):
|
|
99
126
|
entry.raw = compiled_entry_chunk if raw_is_compiled else TextToEntries.clean_field(entry.raw)
|
100
127
|
entry.heading = TextToEntries.clean_field(entry.heading)
|
101
128
|
entry.file = TextToEntries.clean_field(entry.file)
|
129
|
+
entry_uri = TextToEntries.clean_field(entry_uri)
|
102
130
|
|
103
131
|
chunked_entries.append(
|
104
132
|
Entry(
|
@@ -107,6 +135,7 @@ class TextToEntries(ABC):
|
|
107
135
|
heading=entry.heading,
|
108
136
|
file=entry.file,
|
109
137
|
corpus_id=corpus_id,
|
138
|
+
uri=entry_uri,
|
110
139
|
)
|
111
140
|
)
|
112
141
|
|
@@ -192,6 +221,7 @@ class TextToEntries(ABC):
|
|
192
221
|
file_type=file_type,
|
193
222
|
hashed_value=entry_hash,
|
194
223
|
corpus_id=entry.corpus_id,
|
224
|
+
url=entry.uri,
|
195
225
|
search_model=model,
|
196
226
|
file_object=file_object,
|
197
227
|
)
|
@@ -646,7 +646,7 @@ def generate_chatml_messages_with_context(
|
|
646
646
|
|
647
647
|
if not is_none_or_empty(chat.context):
|
648
648
|
references = "\n\n".join(
|
649
|
-
{f"#
|
649
|
+
{f"# URI: {item.uri}\n## {item.compiled}\n" for item in chat.context or [] if isinstance(item, dict)}
|
650
650
|
)
|
651
651
|
message_context += [{"type": "text", "text": f"{prompts.notes_conversation.format(references=references)}"}]
|
652
652
|
|
khoj/routers/api_subscription.py
CHANGED
@@ -18,6 +18,7 @@ if state.billing_enabled:
|
|
18
18
|
|
19
19
|
stripe.api_key = os.getenv("STRIPE_API_KEY")
|
20
20
|
endpoint_secret = os.getenv("STRIPE_SIGNING_SECRET")
|
21
|
+
official_product_id = os.getenv("STRIPE_KHOJ_PRODUCT_ID", "")
|
21
22
|
logger = logging.getLogger(__name__)
|
22
23
|
subscription_router = APIRouter()
|
23
24
|
|
@@ -48,6 +49,27 @@ async def subscribe(request: Request):
|
|
48
49
|
|
49
50
|
# Retrieve the customer's details
|
50
51
|
subscription = event["data"]["object"]
|
52
|
+
|
53
|
+
# Verify product ID if official_product_id is configured
|
54
|
+
if official_product_id:
|
55
|
+
# Get the product ID from the subscription items
|
56
|
+
subscription_items = subscription.get("items", {}).get("data", [])
|
57
|
+
if not subscription_items:
|
58
|
+
logger.warning(f"No subscription items found for event {event['id']}")
|
59
|
+
return {"success": False}
|
60
|
+
|
61
|
+
# Check if any subscription item matches the official product ID
|
62
|
+
valid_product = False
|
63
|
+
for item in subscription_items:
|
64
|
+
product_id = item.get("price", {}).get("product")
|
65
|
+
if product_id == official_product_id:
|
66
|
+
valid_product = True
|
67
|
+
break
|
68
|
+
|
69
|
+
if not valid_product:
|
70
|
+
logger.warning(f"Event {event['id']} for non-official product, ignoring")
|
71
|
+
return {"success": False}
|
72
|
+
|
51
73
|
customer_id = subscription["customer"]
|
52
74
|
customer = stripe.Customer.retrieve(customer_id)
|
53
75
|
customer_email = customer["email"]
|
khoj/routers/helpers.py
CHANGED
@@ -1263,8 +1263,9 @@ async def search_documents(
|
|
1263
1263
|
compiled_references = [
|
1264
1264
|
{
|
1265
1265
|
"query": item.additional["query"],
|
1266
|
-
"compiled": item
|
1266
|
+
"compiled": item["entry"],
|
1267
1267
|
"file": item.additional["file"],
|
1268
|
+
"uri": item.additional["uri"],
|
1268
1269
|
}
|
1269
1270
|
for item in search_results
|
1270
1271
|
]
|
@@ -2867,6 +2868,7 @@ async def view_file_content(
|
|
2867
2868
|
{
|
2868
2869
|
"query": query,
|
2869
2870
|
"file": path,
|
2871
|
+
"uri": path,
|
2870
2872
|
"compiled": filtered_text,
|
2871
2873
|
}
|
2872
2874
|
]
|
@@ -2878,7 +2880,7 @@ async def view_file_content(
|
|
2878
2880
|
logger.error(error_msg, exc_info=True)
|
2879
2881
|
|
2880
2882
|
# Return an error result in the expected format
|
2881
|
-
yield [{"query": query, "file": path, "compiled": error_msg}]
|
2883
|
+
yield [{"query": query, "file": path, "uri": path, "compiled": error_msg}]
|
2882
2884
|
|
2883
2885
|
|
2884
2886
|
async def grep_files(
|
@@ -2982,7 +2984,7 @@ async def grep_files(
|
|
2982
2984
|
max_results,
|
2983
2985
|
)
|
2984
2986
|
if not line_matches:
|
2985
|
-
yield {"query": query, "file": path_prefix, "compiled": "No matches found."}
|
2987
|
+
yield {"query": query, "file": path_prefix, "uri": path_prefix, "compiled": "No matches found."}
|
2986
2988
|
return
|
2987
2989
|
|
2988
2990
|
# Truncate matched lines list if too long
|
@@ -2991,7 +2993,7 @@ async def grep_files(
|
|
2991
2993
|
f"... {len(line_matches) - max_results} more results found. Use stricter regex or path to narrow down results."
|
2992
2994
|
]
|
2993
2995
|
|
2994
|
-
yield {"query": query, "file": path_prefix
|
2996
|
+
yield {"query": query, "file": path_prefix, "uri": path_prefix, "compiled": "\n".join(line_matches)}
|
2995
2997
|
|
2996
2998
|
except Exception as e:
|
2997
2999
|
error_msg = f"Error using grep files tool: {str(e)}"
|
@@ -3000,6 +3002,7 @@ async def grep_files(
|
|
3000
3002
|
{
|
3001
3003
|
"query": _generate_query(0, 0, path_prefix or "", regex_pattern, lines_before, lines_after),
|
3002
3004
|
"file": path_prefix,
|
3005
|
+
"uri": path_prefix,
|
3003
3006
|
"compiled": error_msg,
|
3004
3007
|
}
|
3005
3008
|
]
|
@@ -3032,7 +3035,7 @@ async def list_files(
|
|
3032
3035
|
file_objects = await FileObjectAdapters.aget_file_objects_by_path_prefix(user, path)
|
3033
3036
|
|
3034
3037
|
if not file_objects:
|
3035
|
-
yield {"query": _generate_query(0, path, pattern), "file": path, "compiled": "No files found."}
|
3038
|
+
yield {"query": _generate_query(0, path, pattern), "file": path, "uri": path, "compiled": "No files found."}
|
3036
3039
|
return
|
3037
3040
|
|
3038
3041
|
# Extract file names from file objects
|
@@ -3047,7 +3050,7 @@ async def list_files(
|
|
3047
3050
|
|
3048
3051
|
query = _generate_query(len(files), path, pattern)
|
3049
3052
|
if not files:
|
3050
|
-
yield {"query": query, "file": path, "compiled": "No files found."}
|
3053
|
+
yield {"query": query, "file": path, "uri": path, "compiled": "No files found."}
|
3051
3054
|
return
|
3052
3055
|
|
3053
3056
|
# Truncate the list if it's too long
|
@@ -3057,9 +3060,9 @@ async def list_files(
|
|
3057
3060
|
f"... {len(files) - max_files} more files found. Use glob pattern to narrow down results."
|
3058
3061
|
]
|
3059
3062
|
|
3060
|
-
yield {"query": query, "file": path, "compiled": "\n- ".join(files)}
|
3063
|
+
yield {"query": query, "file": path, "uri": path, "compiled": "\n- ".join(files)}
|
3061
3064
|
|
3062
3065
|
except Exception as e:
|
3063
3066
|
error_msg = f"Error listing files in {path}: {str(e)}"
|
3064
3067
|
logger.error(error_msg, exc_info=True)
|
3065
|
-
yield {"query": query, "file": path, "compiled": error_msg}
|
3068
|
+
yield {"query": query, "file": path, "uri": path, "compiled": error_msg}
|
khoj/search_type/text_search.py
CHANGED
@@ -157,6 +157,7 @@ def collate_results(hits, dedupe=True):
|
|
157
157
|
"additional": {
|
158
158
|
"source": hit.file_source,
|
159
159
|
"file": hit.file_path,
|
160
|
+
"uri": hit.url,
|
160
161
|
"compiled": hit.compiled,
|
161
162
|
"heading": hit.heading,
|
162
163
|
},
|
@@ -180,6 +181,7 @@ def deduplicated_search_responses(hits: List[SearchResponse]):
|
|
180
181
|
"additional": {
|
181
182
|
"source": hit.additional["source"],
|
182
183
|
"file": hit.additional["file"],
|
184
|
+
"uri": hit.additional["uri"],
|
183
185
|
"query": hit.additional["query"],
|
184
186
|
"compiled": hit.additional["compiled"],
|
185
187
|
"heading": hit.additional["heading"],
|
khoj/utils/rawconfig.py
CHANGED
@@ -176,6 +176,7 @@ class Entry:
|
|
176
176
|
compiled: str
|
177
177
|
heading: Optional[str]
|
178
178
|
file: Optional[str]
|
179
|
+
uri: Optional[str] = None
|
179
180
|
corpus_id: str
|
180
181
|
|
181
182
|
def __init__(
|
@@ -184,6 +185,7 @@ class Entry:
|
|
184
185
|
compiled: str = None,
|
185
186
|
heading: Optional[str] = None,
|
186
187
|
file: Optional[str] = None,
|
188
|
+
uri: Optional[str] = None,
|
187
189
|
corpus_id: uuid.UUID = None,
|
188
190
|
):
|
189
191
|
self.raw = raw
|
@@ -191,6 +193,14 @@ class Entry:
|
|
191
193
|
self.heading = heading
|
192
194
|
self.file = file
|
193
195
|
self.corpus_id = str(corpus_id)
|
196
|
+
if uri:
|
197
|
+
self.uri = uri
|
198
|
+
elif file and (file.startswith("http") or file.startswith("file://")):
|
199
|
+
self.uri = file
|
200
|
+
elif file:
|
201
|
+
self.uri = f"file://{file}"
|
202
|
+
else:
|
203
|
+
self.uri = None
|
194
204
|
|
195
205
|
def to_json(self) -> str:
|
196
206
|
return json.dumps(self.__dict__, ensure_ascii=False)
|
@@ -206,4 +216,5 @@ class Entry:
|
|
206
216
|
file=dictionary.get("file", None),
|
207
217
|
heading=dictionary.get("heading", None),
|
208
218
|
corpus_id=dictionary.get("corpus_id", None),
|
219
|
+
uri=dictionary.get("uri", None),
|
209
220
|
)
|
@@ -124,40 +124,42 @@ khoj/database/migrations/0089_chatmodel_price_tier_and_more.py,sha256=EJ1Yf6MMzh
|
|
124
124
|
khoj/database/migrations/0090_alter_khojuser_uuid.py,sha256=2h9v-DiuqFuZKpAyWYwueqZkBHvxZbm-_guRjNaZzxg,3802
|
125
125
|
khoj/database/migrations/0091_chatmodel_friendly_name_and_more.py,sha256=e-2DQhyW9kMxMg7ItGSyCKE5GQFI0ZSuyfD8CdfVa0k,1758
|
126
126
|
khoj/database/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
127
|
-
khoj/database/models/__init__.py,sha256=
|
127
|
+
khoj/database/models/__init__.py,sha256=euYYDcpdGKtZhU99BSlGNiyzdKWaFWJaAw-GeKvO5r8,31293
|
128
128
|
khoj/interface/compiled/agents.svg,sha256=yFCRwIM-Qawa0C5ggAo3ekb-Q1ElmotBOKIGhtfIQqM,1722
|
129
129
|
khoj/interface/compiled/automation.svg,sha256=o7L2XYwJWRSMvl8h6TBv6Pt28RTRVMHqF04EPY0AFj0,1467
|
130
130
|
khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvtM3A,2424
|
131
131
|
khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
|
132
132
|
khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
|
133
133
|
khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
|
134
|
-
khoj/interface/compiled/index.html,sha256=
|
135
|
-
khoj/interface/compiled/index.txt,sha256=
|
134
|
+
khoj/interface/compiled/index.html,sha256=ydUMApWzc6Vl2m076LQjFULaDkhaOu69LtobmEli6AY,53040
|
135
|
+
khoj/interface/compiled/index.txt,sha256=Ug2wa1FkeWByFyVIOVRXt2P-JgvH-S6-ox1RubMLd80,7614
|
136
136
|
khoj/interface/compiled/khoj.webmanifest,sha256=9wOK2BMS6xH5NKd2eaUgTLg9WepIxB2K2U33KU89LD8,2543
|
137
137
|
khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
|
138
138
|
khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
|
139
139
|
khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
|
140
140
|
khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
|
141
141
|
khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
|
142
|
-
khoj/interface/compiled/404/index.html,sha256=
|
142
|
+
khoj/interface/compiled/404/index.html,sha256=xA07D3wVFaeOG6l3JI_vfBGjz_9wLEIVtPvdP4MlIZs,17097
|
143
|
+
khoj/interface/compiled/_next/static/bNFk9r0rPk9sPiVlFi6q_/_buildManifest.js,sha256=f2_nYnw25hHWQJ-39Lf5OH1u6kgdbOInyfplqgjvAV4,224
|
144
|
+
khoj/interface/compiled/_next/static/bNFk9r0rPk9sPiVlFi6q_/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
143
145
|
khoj/interface/compiled/_next/static/chunks/1191.b547ec13349b4aed.js,sha256=3qtdOft2SSaGT0qhyPunEraJEZUxIqDV4q3ULnFantg,10913
|
144
|
-
khoj/interface/compiled/_next/static/chunks/1327-
|
146
|
+
khoj/interface/compiled/_next/static/chunks/1327-1a9107b9a2a04a98.js,sha256=7NmSOycXRGHpTN98sMAirnWN8ZUL971FsQpWmOs4Fxs,442974
|
145
147
|
khoj/interface/compiled/_next/static/chunks/1588.f0558a0bdffc4761.js,sha256=ZSpLe7ui7FG7AvK00JHPg1YjYz8R9l1Obzu1mYHpzjo,89845
|
146
|
-
khoj/interface/compiled/_next/static/chunks/1915-
|
148
|
+
khoj/interface/compiled/_next/static/chunks/1915-5c6508f6ebb62a30.js,sha256=qP_naVeN_Vqu4o2bOYGBoDEYCFVDphWwLqa_3_WeYjU,11294
|
147
149
|
khoj/interface/compiled/_next/static/chunks/1918.925cb4a35518d258.js,sha256=WWqQcBDm9KEZUpj0P9p-iiVxoVjnM4PGtAyQXGAZ4yo,6088
|
148
|
-
khoj/interface/compiled/_next/static/chunks/2117-
|
150
|
+
khoj/interface/compiled/_next/static/chunks/2117-080746c8e170c81a.js,sha256=yOBtQrL5NRMjI60r4pmZRRTHZv8_xwZm4DQp-RI8H9M,123994
|
149
151
|
khoj/interface/compiled/_next/static/chunks/2242.9a07e19f1a3a8b16.js,sha256=gE2wenv7eMCWo8FlC8uOffniVrbcSyi2BfpoDygPJbQ,6535
|
150
152
|
khoj/interface/compiled/_next/static/chunks/2327-ea623ca2d22f78e9.js,sha256=Cwaj5_kmqMRmZH2CdtZG5T5dvdyBL8fL2HrpY4jfLCI,127516
|
151
153
|
khoj/interface/compiled/_next/static/chunks/2612.bcf5a623b3da209e.js,sha256=_odabGQTNjtpFLdU6FmDdC9zZQkYKJOs8_8QVgMJmEI,76988
|
152
154
|
khoj/interface/compiled/_next/static/chunks/2849.dc00ae5ba7219cfc.js,sha256=cVUiYRj2GweNQ4unKpJIhdr_xO5s2hRy3UWK-81rZW8,182
|
153
|
-
khoj/interface/compiled/_next/static/chunks/2939-
|
155
|
+
khoj/interface/compiled/_next/static/chunks/2939-4af3fd24b8ffc9ad.js,sha256=8BI0oAQSZQj37UZX_igaTvuTgW0nGvVtvyG9G9byr_k,35749
|
154
156
|
khoj/interface/compiled/_next/static/chunks/303.fe76de943e930fbd.js,sha256=gvkmkEYSLe4Iy-8Ti4Ty_OYjkHyrIpgUnfuoQSX577g,178
|
155
157
|
khoj/interface/compiled/_next/static/chunks/3265.924139c4146ee344.js,sha256=O0nwy9HzDY8Df66o72--Lw9RguS5Mh4ExT-uBxdRUbA,636
|
156
158
|
khoj/interface/compiled/_next/static/chunks/3489.c523fe96a2eee74f.js,sha256=s2F6I_29rsqcu-8229-nssfws7vZO7cuQJYqehK7tbk,21715
|
157
159
|
khoj/interface/compiled/_next/static/chunks/3592-b2a2444b0ec7b119.js,sha256=ADfFNp0QHqmz0sHmTSpE-hWnh09AxVVzZb6zcx_ATmg,42200
|
158
160
|
khoj/interface/compiled/_next/static/chunks/3595-ac8e81e04ecb89cb.js,sha256=43eYa6m0ZuFnnBOPTa6S-T0WeLftHEZDlkMe4b7fmIA,21564
|
159
161
|
khoj/interface/compiled/_next/static/chunks/4327.8d2a1b8f1ea78208.js,sha256=VKeC1Y6778Nlt-spX9W9dL8Ex-d2N5AEj53AOVUXGWE,322147
|
160
|
-
khoj/interface/compiled/_next/static/chunks/4447-
|
162
|
+
khoj/interface/compiled/_next/static/chunks/4447-cd95608f8e93e711.js,sha256=PUldPCrWRAgi5rxqTzWS1boopyuyAQpzzBg-p4TQnNw,19716
|
161
163
|
khoj/interface/compiled/_next/static/chunks/4533.586e74b45a2bde25.js,sha256=eDHOyGa-CuCVeyXtnx3YWmjvlpWveAj6Mu-bMlm3OJg,25567
|
162
164
|
khoj/interface/compiled/_next/static/chunks/4551.82ce1476b5516bc2.js,sha256=G1EoTZRkMLtwYqsLCyQ9iA_9nvi8oj7_t3qboNWtdfY,71097
|
163
165
|
khoj/interface/compiled/_next/static/chunks/4609-33aa487dff03a9fd.js,sha256=1M6QAfVZa2g2Q4jXRdSI1wjrZ4G9yKjINJt8qyTKm1A,24698
|
@@ -183,7 +185,7 @@ khoj/interface/compiled/_next/static/chunks/7760.35649cc21d9585bd.js,sha256=MJ9q
|
|
183
185
|
khoj/interface/compiled/_next/static/chunks/83.48e2db193a940052.js,sha256=j8X0kemaNExxw4lDZCgkev1HeK37NM_kE6p73WuHjs8,175
|
184
186
|
khoj/interface/compiled/_next/static/chunks/8427.844694e06133fb51.js,sha256=U388feyx6dj6PZblInnwOgAKlPg1f2Vp-oCFhh2SiXY,186
|
185
187
|
khoj/interface/compiled/_next/static/chunks/8665.4db7e6b2e8933497.js,sha256=HovLNJSM0SJRkjLNg0cim_NDnGiVPbUrEQG8YQkGA2Y,45791
|
186
|
-
khoj/interface/compiled/_next/static/chunks/8667-
|
188
|
+
khoj/interface/compiled/_next/static/chunks/8667-50b03a89e82e0ba7.js,sha256=kyiAVJTylsiOPFTb63uZn_pMlk4pYhDYt_N7xL76PTM,7214
|
187
189
|
khoj/interface/compiled/_next/static/chunks/8694.2bd9c2f65d8c5847.js,sha256=JKqMqrtPf1LK-SmVgLk_F8EjAC6IGKl4lnfWU6q4JXA,33661
|
188
190
|
khoj/interface/compiled/_next/static/chunks/872.caf84cc1a39ae59f.js,sha256=xdPZDnCGiugQ4JwV1FzzYyBEvuXQLOqSw_cMbOJKjtw,11253
|
189
191
|
khoj/interface/compiled/_next/static/chunks/8888.ebe0e552b59e7fed.js,sha256=c5icsYFTx7epn588gtjfP9lKKMdINc07w1P7t56ac8E,3775
|
@@ -207,32 +209,32 @@ khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js,sha256
|
|
207
209
|
khoj/interface/compiled/_next/static/chunks/main-app-de1f09df97a3cfc7.js,sha256=bqnztujKItXfFBzQlaBmDZyfJpQt_M93CXOuchJfpD0,471
|
208
210
|
khoj/interface/compiled/_next/static/chunks/main-fc8e0fefa2ef3d8c.js,sha256=t9FZIByh6V52m41LQ2yyAReF1CAuY7gLMBuWBeKCX2g,116793
|
209
211
|
khoj/interface/compiled/_next/static/chunks/polyfills-42372ed130431b0a.js,sha256=CXPB1kyIrcjjyVBBDLWLKI9yEY1ZZbeASUON648vloM,112594
|
210
|
-
khoj/interface/compiled/_next/static/chunks/webpack-
|
212
|
+
khoj/interface/compiled/_next/static/chunks/webpack-cfa752859e991115.js,sha256=bJ2wRU9-nwfC92C7RFP4QbxDLb009TjjofPLxINqCz0,4939
|
211
213
|
khoj/interface/compiled/_next/static/chunks/app/layout-a0c5495d6c582cea.js,sha256=7JZS2Pr995Lwu3FeQpAvheLS1Bn5w5HOFsecV2_kyQA,3880
|
212
|
-
khoj/interface/compiled/_next/static/chunks/app/page-
|
214
|
+
khoj/interface/compiled/_next/static/chunks/app/page-2b3056cba8aa96ce.js,sha256=-DQeANsSk8mqLxFeQS7B0uIDWWg2lsf5ix79qClwB-g,29930
|
213
215
|
khoj/interface/compiled/_next/static/chunks/app/_not-found/page-84f94d15b2da4eac.js,sha256=zElhiTkdu2JqrEvJ8Lrxh4HCyfLmPllBHHWOuDtrVlw,1755
|
214
|
-
khoj/interface/compiled/_next/static/chunks/app/agents/layout-
|
215
|
-
khoj/interface/compiled/_next/static/chunks/app/agents/page-
|
216
|
+
khoj/interface/compiled/_next/static/chunks/app/agents/layout-e00fb81dca656a10.js,sha256=Prg_1BSPDnJDTXEx-Ai9RtlK0nesPWDFIVFFCMuVUiw,180
|
217
|
+
khoj/interface/compiled/_next/static/chunks/app/agents/page-9a4610474cd59a71.js,sha256=itxLHi5MI0FicmxrMQidcn-TiDOEec_Jr9M94Aqbhew,17483
|
216
218
|
khoj/interface/compiled/_next/static/chunks/app/automations/layout-63603d2cb33279f7.js,sha256=4OX_fcTQdNVs6HxDdJVWdadMVC_gM86Tkqo2TjBA4gw,5143
|
217
|
-
khoj/interface/compiled/_next/static/chunks/app/automations/page-
|
218
|
-
khoj/interface/compiled/_next/static/chunks/app/chat/layout-
|
219
|
-
khoj/interface/compiled/_next/static/chunks/app/chat/page-
|
220
|
-
khoj/interface/compiled/_next/static/chunks/app/search/layout-
|
221
|
-
khoj/interface/compiled/_next/static/chunks/app/search/page-
|
219
|
+
khoj/interface/compiled/_next/static/chunks/app/automations/page-f7bb9d777b7745d4.js,sha256=2qWZHB-9I9wtGTmajkSbdqLHfJFuPnHAsw7E42Wwomc,34829
|
220
|
+
khoj/interface/compiled/_next/static/chunks/app/chat/layout-33934fc2d6ae6838.js,sha256=zKdgnv4zZCkeNWFODWPJKYB3VjkTq4X5LtTCs0sqxaQ,180
|
221
|
+
khoj/interface/compiled/_next/static/chunks/app/chat/page-ef738950ea1babc3.js,sha256=P0qEspKm9zsl-rKjEbYOrPHJuNI8mIAy2X91_XEmUsU,29133
|
222
|
+
khoj/interface/compiled/_next/static/chunks/app/search/layout-c02531d586972d7d.js,sha256=VQACqzXZcJUaa3W_0wHsrdLP22pj8yqeAOGBQfVnQxw,180
|
223
|
+
khoj/interface/compiled/_next/static/chunks/app/search/page-4885df3cd175c957.js,sha256=DFDpUem-27PpUEfqc72xv3zo7TcZpTFjvyXszZSGrNM,30929
|
222
224
|
khoj/interface/compiled/_next/static/chunks/app/settings/layout-f88cedfe9ad4df7c.js,sha256=aFBEgUCsKnoeyULmh7g-DmaznQ0ztcq6y2pj4bSMCIY,6132
|
223
|
-
khoj/interface/compiled/_next/static/chunks/app/settings/page-
|
224
|
-
khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-
|
225
|
-
khoj/interface/compiled/_next/static/chunks/app/share/chat/page-
|
225
|
+
khoj/interface/compiled/_next/static/chunks/app/settings/page-8be3b35178abf2ec.js,sha256=bjgxTUvgwJtv0R8zVFrH-1L8PiUDL5BlolZkDrYk-e4,27892
|
226
|
+
khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-e8e5db7830bf3f47.js,sha256=rcoit2AQboqPwZMTVlVhz1AbyHRJOs-xNMTdYonejCU,180
|
227
|
+
khoj/interface/compiled/_next/static/chunks/app/share/chat/page-4a4b0c0f4749c2b2.js,sha256=e7giR1KkL0o01gSuxXs20oHD5-oClC4BXSJRst30tmw,5563
|
226
228
|
khoj/interface/compiled/_next/static/chunks/pages/_app-3c9ca398d360b709.js,sha256=UqtikLsCsOWtDUJOW6Tuk9P-bV1V3MhYd3ghrQuEmfs,286
|
227
229
|
khoj/interface/compiled/_next/static/chunks/pages/_error-cf5ca766ac8f493f.js,sha256=w_It3VzKT8O1M3CrJ_hZHsaU7M7dq3EAaVG8KvJ-fhU,253
|
228
|
-
khoj/interface/compiled/_next/static/css/1e9b757ee2a2b34b.css,sha256=9TB4U1wbKtOA-SphUhahi-6WeepK7lOWRKvX3bJW2C0,6795
|
229
230
|
khoj/interface/compiled/_next/static/css/3090706713c12a32.css,sha256=lHBNcr2SPiAMdZQONh2MMlVM_huteuNSM9jCqGkS2d0,3075782
|
230
|
-
khoj/interface/compiled/_next/static/css/
|
231
|
+
khoj/interface/compiled/_next/static/css/37a73b87f02df402.css,sha256=hp0vlekKu0K2eITR5YIqFmLHQPqV3JETFnRd_-Uh0mk,165
|
232
|
+
khoj/interface/compiled/_next/static/css/76c658ee459140a9.css,sha256=7tI24VB66ZUsAPUxRdQhboopun0AXLUnF64uv9RkC08,1833
|
231
233
|
khoj/interface/compiled/_next/static/css/7889a30fe9c83846.css,sha256=IUkZhkx4GpYOIhN-EJw9T1DqGMO3Wa3mNpUwaOBuZoY,7204
|
232
|
-
khoj/interface/compiled/_next/static/css/
|
234
|
+
khoj/interface/compiled/_next/static/css/821d0d60b0b6871d.css,sha256=340fHdvynnjkHvFJSnn04hPiqt7zUmLvse1uAwLoxXQ,9831
|
233
235
|
khoj/interface/compiled/_next/static/css/db7d90554f3ab82b.css,sha256=A3ZAf0StEG3sr_LxAIizczSTYRe1NbtNUpfslvmkqgk,17713
|
236
|
+
khoj/interface/compiled/_next/static/css/e6da1287d41f5409.css,sha256=jFS8906v-VrfuzZDV0h7uDfGTYUjXJ3JyMz5bLMW8FQ,30494
|
234
237
|
khoj/interface/compiled/_next/static/css/ea5485b3f3859a5a.css,sha256=tn6qi2xSLTWhtzDUE8UlC8iipH9QGV6A9oGj1ap-Sk4,1659
|
235
|
-
khoj/interface/compiled/_next/static/css/ee66643a6a5bf71c.css,sha256=3JbJLrnwlX_IHdvjmS3l9y3Vgp5_V0XbfFI44ekLh9E,3106
|
236
238
|
khoj/interface/compiled/_next/static/media/1d8a05b60287ae6c-s.p.woff2,sha256=IzKBwB_bpSGvO7C9aRv29Js-jAbZPRDI-D-P4H2P918,14508
|
237
239
|
khoj/interface/compiled/_next/static/media/2aa11a72f7f24b58-s.woff2,sha256=QjuuSKmViymmy-itXLB1UbSARxFNHWuMiPpCrYqClFI,22728
|
238
240
|
khoj/interface/compiled/_next/static/media/383a65b63658737d-s.woff2,sha256=VH1XkI87HdFVhsurH5D5ekEjG_ZORTVBVg6xz7p87C8,16704
|
@@ -310,10 +312,8 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
|
|
310
312
|
khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
|
311
313
|
khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
|
312
314
|
khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
|
313
|
-
khoj/interface/compiled/
|
314
|
-
khoj/interface/compiled/
|
315
|
-
khoj/interface/compiled/agents/index.html,sha256=SbZZfkSfxBUJ_72dR-k9Ypkkspc-e_qAax0DfPCqWFc,16532
|
316
|
-
khoj/interface/compiled/agents/index.txt,sha256=dGyX9e3IA6uIk0EOvY4eQAltcGgb4V45COmk-rz5k_0,7351
|
315
|
+
khoj/interface/compiled/agents/index.html,sha256=Gle9q_VXLTNg80tiO9fLoGOjjKPAu8c89UDGfNKgeSk,16221
|
316
|
+
khoj/interface/compiled/agents/index.txt,sha256=7pxwV649K4KGuXyEUk2v7EcA30ZHlYX6BBKitC4rkWM,7218
|
317
317
|
khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
|
318
318
|
khoj/interface/compiled/assets/icons/khoj_lantern.svg,sha256=I_8XP5X84gEOoCRhCRKOQn_GKZrz3SUBXct7WxHvY7c,8767
|
319
319
|
khoj/interface/compiled/assets/icons/khoj_lantern_1200x1200.png,sha256=xDx0bbD-WMflgg8zck9oPIIuTIvywtuED2k7CjSQS4w,66194
|
@@ -328,16 +328,16 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
|
|
328
328
|
khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
|
329
329
|
khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
|
330
330
|
khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
|
331
|
-
khoj/interface/compiled/automations/index.html,sha256=
|
332
|
-
khoj/interface/compiled/automations/index.txt,sha256=
|
333
|
-
khoj/interface/compiled/chat/index.html,sha256=
|
334
|
-
khoj/interface/compiled/chat/index.txt,sha256=
|
335
|
-
khoj/interface/compiled/search/index.html,sha256=
|
336
|
-
khoj/interface/compiled/search/index.txt,sha256=
|
337
|
-
khoj/interface/compiled/settings/index.html,sha256=
|
338
|
-
khoj/interface/compiled/settings/index.txt,sha256=
|
339
|
-
khoj/interface/compiled/share/chat/index.html,sha256=
|
340
|
-
khoj/interface/compiled/share/chat/index.txt,sha256=
|
331
|
+
khoj/interface/compiled/automations/index.html,sha256=P_yjdZuytwWTPp8Kk_PWFBcLVmPTkkFJGvqzZcT8n-U,54091
|
332
|
+
khoj/interface/compiled/automations/index.txt,sha256=jZElWjN1k7cmeD60NFeceDOnb0plsD1-O4R1Gr3gkjU,7447
|
333
|
+
khoj/interface/compiled/chat/index.html,sha256=B1TQw9b_I9Wp0n8ZUO64vlqVeuuDpSNVKijgCLbPnxk,53222
|
334
|
+
khoj/interface/compiled/chat/index.txt,sha256=d1gNR8swzNoQZSKWomgMaEB1EGIxs-hPrlE6Q_KnJWA,7858
|
335
|
+
khoj/interface/compiled/search/index.html,sha256=db9H-BIw9Yzz1GGc1r0v2dlRHFVVk_4U41UXoew3ZWI,55301
|
336
|
+
khoj/interface/compiled/search/index.txt,sha256=7RTMkzgfrDnGx6HLI1MyY_CGtr6SQO-78_NkPx8LDh0,6565
|
337
|
+
khoj/interface/compiled/settings/index.html,sha256=TE4ZleIWduslJMbl58xWI4VCDYqUl3j8rDPrfg8thZw,52740
|
338
|
+
khoj/interface/compiled/settings/index.txt,sha256=lSDYDNrN-nmfVafMXFMJrqVmUuWtMYFNiup4yhGXRUQ,7701
|
339
|
+
khoj/interface/compiled/share/chat/index.html,sha256=zO3LkbHCoRNNNe_jLRM4g9XIpeeGNkSNSO45MV1WUKs,53802
|
340
|
+
khoj/interface/compiled/share/chat/index.txt,sha256=rmN19ZgWLXBf45oSZTsPtcN2PFSDEaruG2MVisjXqTc,8320
|
341
341
|
khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
|
342
342
|
khoj/interface/email/magic_link.html,sha256=372ESbTPKM9acekuZcOIKOw6kBl-KikFg_L9MOHqJkg,2094
|
343
343
|
khoj/interface/email/task.html,sha256=tY7a0gzVeQ2lSQNu7WyXR_s7VYeWTrxWEj1iHVuoVE4,2813
|
@@ -371,7 +371,7 @@ khoj/migrations/migrate_version.py,sha256=6CTsLuxiLnFVF8A7CjsIz3PcnJd8fAOZeIx6tT
|
|
371
371
|
khoj/processor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
372
372
|
khoj/processor/embeddings.py,sha256=-znB8-oL9mGGQLAJdOL9OPNs4Zq9HnMIAQbAMRi38lo,6636
|
373
373
|
khoj/processor/content/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
374
|
-
khoj/processor/content/text_to_entries.py,sha256=
|
374
|
+
khoj/processor/content/text_to_entries.py,sha256=6kt0AdVe6h371uHAKMgxTBil4nooi5qf1yo9N-0ZvwU,16562
|
375
375
|
khoj/processor/content/docx/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
376
376
|
khoj/processor/content/docx/docx_to_entries.py,sha256=OiO_Q1EudlOGqUpWCV9BseSjWZjrR4plk63a6ZPeC-4,4566
|
377
377
|
khoj/processor/content/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -379,18 +379,18 @@ khoj/processor/content/github/github_to_entries.py,sha256=UhYiS9H66Hnuj-OBmV3n05
|
|
379
379
|
khoj/processor/content/images/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
380
380
|
khoj/processor/content/images/image_to_entries.py,sha256=4CrS5cXRlMQ87N4lZC3q85VIh57afpGjvlvwBHqtEQs,5125
|
381
381
|
khoj/processor/content/markdown/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
382
|
-
khoj/processor/content/markdown/markdown_to_entries.py,sha256=
|
382
|
+
khoj/processor/content/markdown/markdown_to_entries.py,sha256=IM7vBoYf_LZ2xcZZ0LvLJ9e9K7ioHCqhfWijAnQfQRc,8592
|
383
383
|
khoj/processor/content/notion/notion_to_entries.py,sha256=hC8u826szKgrtsc2ibdr7EqmBo7OQQ1a2oCKGsejVVk,9839
|
384
384
|
khoj/processor/content/org_mode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
385
|
-
khoj/processor/content/org_mode/org_to_entries.py,sha256=
|
386
|
-
khoj/processor/content/org_mode/orgnode.py,sha256=
|
385
|
+
khoj/processor/content/org_mode/org_to_entries.py,sha256=Wfx5sBIMsiub8SMj9BkZYzoVKInfU7A0zrn0ArsR5Nc,11013
|
386
|
+
khoj/processor/content/org_mode/orgnode.py,sha256=xZ8L3YFLWEidhnyOgaPbsYboaL86BHiSSGy5BWIeNcc,18699
|
387
387
|
khoj/processor/content/pdf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
388
388
|
khoj/processor/content/pdf/pdf_to_entries.py,sha256=GQUvab61okhV9_DK0g2MCrMq8wKpM208EbXvsaTAkzs,4995
|
389
389
|
khoj/processor/content/plaintext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
390
390
|
khoj/processor/content/plaintext/plaintext_to_entries.py,sha256=wFZwK_zIc7gWbRtO9sOHo9KvfhGAzL9psX_nKWYFduo,4975
|
391
391
|
khoj/processor/conversation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
392
392
|
khoj/processor/conversation/prompts.py,sha256=F0MVg81Tr7L4W7ubx_UJ-D4PqgGCElTg8KLpQjdPuIk,54207
|
393
|
-
khoj/processor/conversation/utils.py,sha256=
|
393
|
+
khoj/processor/conversation/utils.py,sha256=F8w1I6YGmlXIvOXrTy3-Hp1vDTBdeFG9orAh7ZGFnL0,48441
|
394
394
|
khoj/processor/conversation/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
395
395
|
khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=6IG-YlpFx86EgW3PdGuv4xGMRzvHx4xVUcQMqkKn4vs,5358
|
396
396
|
khoj/processor/conversation/anthropic/utils.py,sha256=kka2nAhqUBn9BNz25x_RbpkiqznWw_u26UdEASgF6BY,16210
|
@@ -431,10 +431,10 @@ khoj/routers/api_chat.py,sha256=sR1c4rQt0WTxbhqn5vlWb4vc4tIxMEHLKSV344VtbmU,5890
|
|
431
431
|
khoj/routers/api_content.py,sha256=uLO3eir36rERkhhKU1HOdEv8KTi_z_edT9cHMCZP1W8,24578
|
432
432
|
khoj/routers/api_model.py,sha256=hjIgOQqva4YVv1osQK8p-317_oSKsv1mHbAYFQICxnM,5273
|
433
433
|
khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,2208
|
434
|
-
khoj/routers/api_subscription.py,sha256=
|
434
|
+
khoj/routers/api_subscription.py,sha256=_Z3gwW5348qrF7sF9rqwkeG291KX5olr9Fd_-ri9faE,6480
|
435
435
|
khoj/routers/auth.py,sha256=jk2lqAS_650lQsoaOFTlZd9W_LL8HbN5zhHTZza_lqs,11258
|
436
436
|
khoj/routers/email.py,sha256=wvr6_fpk0RuKcTPC6suI8JDZPLYzJ9hAhz_G41yZytc,3923
|
437
|
-
khoj/routers/helpers.py,sha256=
|
437
|
+
khoj/routers/helpers.py,sha256=Sr22Bb9EF93yVoraXE7cWLzXBvLQ6a86DVdIoL5Dx4s,116246
|
438
438
|
khoj/routers/notion.py,sha256=g53xyYFmjr2JnuIrTW2vytbfkiK_UkoRTxqnnLSmD5o,2802
|
439
439
|
khoj/routers/research.py,sha256=GPQJhqpAdmPtcN2gtxzVbDPVQqPg9DqeWPIYF8CZf3s,24197
|
440
440
|
khoj/routers/storage.py,sha256=lao0DvsF49QleZvOdjKM98RU2cGfCJDBb7WeoI7Rr3I,2172
|
@@ -446,7 +446,7 @@ khoj/search_filter/date_filter.py,sha256=7MCXyeDy9TGG81IesLrgV7vnTUDXWe8xj8NeeES
|
|
446
446
|
khoj/search_filter/file_filter.py,sha256=H47C8yoVMiSub8VWu8wHerlIq-PffFnB08Nm2OJyBE8,1146
|
447
447
|
khoj/search_filter/word_filter.py,sha256=5Yx95aSiqGke9kEIbp8T-Ak4dS9cTd3VxI1SaJoK1wY,1005
|
448
448
|
khoj/search_type/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
449
|
-
khoj/search_type/text_search.py,sha256=
|
449
|
+
khoj/search_type/text_search.py,sha256=CNfKD2grjD9BU2qoA82YVQXC1CTit32tc7_Q8vrYC1M,9621
|
450
450
|
khoj/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
451
451
|
khoj/utils/cli.py,sha256=fI1XQYMtJzLGOKQZQ5XxFOrC8sGjK3Alnteg5U62rWI,3882
|
452
452
|
khoj/utils/config.py,sha256=aiOkH0je8A30DAGYTHMRePrgJonFv_i07_7CdhhhcdA,1805
|
@@ -456,11 +456,11 @@ khoj/utils/helpers.py,sha256=uDTZPZLAUrkdwImHb5HqP0JgC1vOk3T5-XXrciCpgMw,42918
|
|
456
456
|
khoj/utils/initialization.py,sha256=5eULsvGQv_Kp9bMfrHP8T_QFPjurIFyfq3-rVMWiGa4,15066
|
457
457
|
khoj/utils/jsonl.py,sha256=0Ac_COqr8sLCXntzZtquxuCEVRM2c3yKeDRGhgOBRpQ,1192
|
458
458
|
khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
|
459
|
-
khoj/utils/rawconfig.py,sha256=
|
459
|
+
khoj/utils/rawconfig.py,sha256=U8tOr7FPPzn0h-oyK_8Wqlp2ZrnxpFp44iifcTbltqs,5444
|
460
460
|
khoj/utils/state.py,sha256=s_GFWOqRzpEDx0eCPStuzBTK2VEw-qgRpH0aiEdGnDo,1791
|
461
461
|
khoj/utils/yaml.py,sha256=qy1Tkc61rDMesBw_Cyx2vOR6H-Hngcsm5kYfjwQBwkE,1543
|
462
|
-
khoj-1.42.9.
|
463
|
-
khoj-1.42.9.
|
464
|
-
khoj-1.42.9.
|
465
|
-
khoj-1.42.9.
|
466
|
-
khoj-1.42.9.
|
462
|
+
khoj-1.42.9.dev23.dist-info/METADATA,sha256=2bvVcfZYGNQVa4Fe_Vgol8dHhJBE6Tbl6N3A6_EZUNk,8974
|
463
|
+
khoj-1.42.9.dev23.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
464
|
+
khoj-1.42.9.dev23.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
|
465
|
+
khoj-1.42.9.dev23.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
466
|
+
khoj-1.42.9.dev23.dist-info/RECORD,,
|
@@ -1 +0,0 @@
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8459,7138,244,3317],{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,7138,244,8459],{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([[244,7138,8459,3317],{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([[7138,244,8459,3317],{63521:function(){}},function(n){n.O(0,[2971,2117,1744],function(){return n(n.s=63521)}),_N_E=n.O()}]);
|
@@ -1 +0,0 @@
|
|
1
|
-
div.agents_titleBar__FzYbY{padding:16px 0;text-align:left}.agents_agentPersonality__o0Ysz p{white-space:inherit;overflow:hidden;height:77px;line-height:1.5}div.agents_agentPersonality__o0Ysz{text-align:left;grid-column:span 3;overflow:hidden}div.agents_pageLayout__gR3S3{max-width:60vw;margin:auto auto 2rem}button.agents_infoButton__NqI7E{border:none;background-color:transparent!important;text-align:left;font-family:inherit;font-size:medium}div.agents_agentList__XVx4A{display:grid;gap:20px;padding-top:30px;margin-right:auto;grid-auto-flow:row;grid-template-columns:1fr 1fr;margin-left:auto}@media only screen and (max-width:768px){div.agents_agentList__XVx4A{width:100%;padding:0;margin-right:auto;margin-left:auto;grid-template-columns:1fr}div.agents_pageLayout__gR3S3{max-width:90vw}}.loginPrompt_gsiMaterialButton__8QVFH{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-appearance:none;background-image:none;border-radius:20px;box-sizing:border-box;color:#1f1f1f;cursor:pointer;font-family:Roboto,arial,sans-serif;font-size:14px;height:40px;letter-spacing:.25px;outline:none;overflow:hidden;padding:0;position:relative;text-align:center;transition:background-color .218s,border-color .218s,box-shadow .218s;vertical-align:middle;white-space:nowrap;width:40px;max-width:400px;min-width:-moz-min-content;min-width:min-content}.loginPrompt_gsiMaterialButton__8QVFH .loginPrompt_gsiMaterialButtonIcon__6TSC5{height:100%;min-width:20px;width:100%;margin:0;padding:9px}.loginPrompt_gsiMaterialButton__8QVFH .loginPrompt_gsiMaterialButtonContentWrapper__9tahB{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;height:100%;justify-content:space-between;position:relative;width:100%}.loginPrompt_gsiMaterialButton__8QVFH .loginPrompt_gsiMaterialButtonContents__3_YcB{flex-grow:1;font-family:Roboto,arial,sans-serif;font-weight:500;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.loginPrompt_gsiMaterialButton__8QVFH .loginPrompt_gsiMaterialButtonState__CDGQm{transition:opacity .218s;bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.loginPrompt_gsiMaterialButton__8QVFH:disabled{cursor:default;background-color:#ffffff61;border-color:#1f1f1f1f}.loginPrompt_gsiMaterialButton__8QVFH:disabled .loginPrompt_gsiMaterialButtonContents__3_YcB,.loginPrompt_gsiMaterialButton__8QVFH:disabled .loginPrompt_gsiMaterialButtonIcon__6TSC5{opacity:38%}.loginPrompt_gsiMaterialButton__8QVFH:not(:disabled):active .loginPrompt_gsiMaterialButton-State__mAfCZ,.loginPrompt_gsiMaterialButton__8QVFH:not(:disabled):focus .loginPrompt_gsiMaterialButtonState__CDGQm{background-color:#303030;opacity:12%}.loginPrompt_gsiMaterialButton__8QVFH:not(:disabled):hover{box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15)}.loginPrompt_gsiMaterialButton__8QVFH:not(:disabled):hover .loginPrompt_gsiMaterialButtonState__CDGQm{background-color:#303030;opacity:8%}.trainOfThoughtVideoPlayer_videoPlayer__Dz3mA{border:1px solid hsl(var(--border));border-radius:8px;background-color:hsl(var(--background));margin:16px 0;overflow:hidden}.trainOfThoughtVideoPlayer_screen__dvEVh{position:relative;background-color:hsl(var(--muted));min-height:300px;display:flex;align-items:center;justify-content:center}.trainOfThoughtVideoPlayer_screenImage__3SgOQ{max-width:100%;max-height:400px;-o-object-fit:contain;object-fit:contain;border-radius:4px}.trainOfThoughtVideoPlayer_textOverlay__BGbhO{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.8));padding:20px 16px 12px;color:#fff}.trainOfThoughtVideoPlayer_thoughtText__zn_vT{font-size:14px;line-height:1.4;max-height:100px;overflow-y:auto}.trainOfThoughtVideoPlayer_controls__HDkO_{padding:12px 16px;background-color:hsl(var(--card));border-top:1px solid hsl(var(--border))}.trainOfThoughtVideoPlayer_timeline__hSpWu{position:relative;margin-bottom:12px}.trainOfThoughtVideoPlayer_timelineSlider__GQ8dx{width:100%;height:4px;background-color:hsl(var(--muted));border-radius:2px;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.trainOfThoughtVideoPlayer_timelineSlider__GQ8dx::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background-color:hsl(var(--primary));cursor:pointer;border:2px solid #fff;box-shadow:0 2px 4px rgba(0,0,0,.2)}.trainOfThoughtVideoPlayer_timelineSlider__GQ8dx::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background-color:hsl(var(--primary));cursor:pointer;border:2px solid #fff;box-shadow:0 2px 4px rgba(0,0,0,.2)}.trainOfThoughtVideoPlayer_frameMarkers__5y3He{position:absolute;top:-2px;left:0;right:0;height:8px;display:flex;justify-content:space-between;pointer-events:none}.trainOfThoughtVideoPlayer_frameMarker__DBO9Y{width:6px;height:8px;border-radius:1px;cursor:pointer;pointer-events:auto;transition:all .2s ease}.trainOfThoughtVideoPlayer_frameMarker__DBO9Y.trainOfThoughtVideoPlayer_hasImage__GFGAk{background-color:hsl(var(--primary))}.trainOfThoughtVideoPlayer_frameMarker__DBO9Y.trainOfThoughtVideoPlayer_textOnly__okufk{background-color:hsl(var(--muted-foreground))}.trainOfThoughtVideoPlayer_frameMarker__DBO9Y.trainOfThoughtVideoPlayer_active__zp6u9{background-color:hsl(var(--accent))!important;transform:scaleY(1.5)}.trainOfThoughtVideoPlayer_frameMarker__DBO9Y:hover{transform:scaleY(1.2)}.trainOfThoughtVideoPlayer_controlButtons__rqfIH{display:flex;align-items:center;gap:8px;margin-bottom:8px}.trainOfThoughtVideoPlayer_controlButton___RdE_{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid hsl(var(--border));border-radius:4px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:all .2s ease}.trainOfThoughtVideoPlayer_controlButton___RdE_:hover:not(:disabled){background-color:hsl(var(--muted))}.trainOfThoughtVideoPlayer_controlButton___RdE_:disabled{opacity:.5;cursor:not-allowed}.trainOfThoughtVideoPlayer_controlButton___RdE_.trainOfThoughtVideoPlayer_active__zp6u9{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.trainOfThoughtVideoPlayer_frameInfo__u5nwA{display:flex;justify-content:center;font-size:12px;color:hsl(var(--muted-foreground))}@media (prefers-color-scheme:dark){.trainOfThoughtVideoPlayer_textOverlay__BGbhO{background:linear-gradient(transparent,rgba(0,0,0,.9))}}div.automations_automationsLayout__Atoh_{display:grid;grid-template-columns:1fr 1fr;gap:1rem}div.automations_automationCard__BKidA{display:grid;grid-template-rows:auto 1fr auto}div.automations_pageLayout__OaoYA{max-width:60vw;margin:auto auto 2rem}@media screen and (max-width:768px){div.automations_automationsLayout__Atoh_{grid-template-columns:1fr}div.automations_pageLayout__OaoYA{max-width:90vw}}
|
@@ -1 +0,0 @@
|
|
1
|
-
div.chat_main__8xQu5{height:100%;color:hsla(var(--foreground));margin-left:auto;margin-right:auto}.chat_suggestions__m8n2t{display:flex;overflow-x:none;height:50%;padding:10px;white-space:nowrap;gap:1rem}div.chat_inputBox__LOFws{border:1px solid var(--border-color);margin-bottom:20px;gap:12px;align-content:center}input.chat_inputBox__LOFws{border:none}input.chat_inputBox__LOFws:focus{outline:none;background-color:transparent}div.chat_inputBox__LOFws:focus{box-shadow:0 8px 16px 0 rgba(0,0,0,.2)}div.chat_chatBodyFull__FfKEK{display:grid;grid-template-columns:1fr;height:auto}button.chat_inputBox__LOFws{border:none;outline:none;background-color:transparent;cursor:pointer;border-radius:.5rem;padding:.5rem;background:linear-gradient(var(--calm-green),var(--calm-blue))}div.chat_chatBody__sS1LX{display:grid;grid-template-columns:1fr 1fr;height:100%}.chat_inputBox__LOFws{color:hsla(var(--foreground))}div.chat_chatLayout__pR203{display:grid;grid-template-columns:1fr;gap:1rem;width:100%}div.chat_chatBox__FBct_{display:grid;height:100%}div.chat_titleBar__R5QlK{display:grid;grid-template-columns:1fr auto}div.chat_chatBoxBody__qT_SC{display:grid;height:100%;width:100%;margin:auto}div.chat_agentIndicator__8V55w a{display:flex;text-align:center;align-content:center;align-items:center}div.chat_agentIndicator__8V55w{padding:10px}div.chat_chatTitleWrapper__6ChWq{grid-template-columns:1fr auto}@media screen and (max-width:768px){div.chat_inputBox__LOFws{margin-bottom:0}div.chat_chatBoxBody__qT_SC{width:100%}div.chat_chatBody__sS1LX{grid-template-columns:0fr 1fr}div.chat_chatBox__FBct_{padding:0;height:100%}div.chat_chatLayout__pR203{gap:0;grid-template-columns:1fr}}
|