khoj 1.42.9.dev17__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.
Files changed (49) hide show
  1. khoj/database/models/__init__.py +1 -0
  2. khoj/interface/compiled/404/index.html +2 -2
  3. khoj/interface/compiled/_next/static/chunks/app/agents/layout-e00fb81dca656a10.js +1 -0
  4. khoj/interface/compiled/_next/static/chunks/app/agents/{page-5db6ad18da10d353.js → page-9a4610474cd59a71.js} +1 -1
  5. khoj/interface/compiled/_next/static/chunks/app/automations/{page-6271e2e31c7571d1.js → page-f7bb9d777b7745d4.js} +1 -1
  6. khoj/interface/compiled/_next/static/chunks/app/chat/layout-33934fc2d6ae6838.js +1 -0
  7. khoj/interface/compiled/_next/static/chunks/app/chat/{page-76fc915800aa90f4.js → page-ef738950ea1babc3.js} +1 -1
  8. khoj/interface/compiled/_next/static/chunks/app/{page-a19a597629e87fb8.js → page-2b3056cba8aa96ce.js} +1 -1
  9. khoj/interface/compiled/_next/static/chunks/app/search/layout-c02531d586972d7d.js +1 -0
  10. khoj/interface/compiled/_next/static/chunks/app/search/{page-fa366ac14b228688.js → page-4885df3cd175c957.js} +1 -1
  11. khoj/interface/compiled/_next/static/chunks/app/settings/{page-8f9a85f96088c18b.js → page-8be3b35178abf2ec.js} +1 -1
  12. khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-e8e5db7830bf3f47.js +1 -0
  13. khoj/interface/compiled/_next/static/chunks/app/share/chat/{page-ed7787cf4938b8e3.js → page-4a4b0c0f4749c2b2.js} +1 -1
  14. khoj/interface/compiled/_next/static/chunks/{webpack-92ce8aaf95718ec4.js → webpack-cfa752859e991115.js} +1 -1
  15. khoj/interface/compiled/_next/static/css/{93eeacc43e261162.css → 821d0d60b0b6871d.css} +1 -1
  16. khoj/interface/compiled/_next/static/css/{02f60900b0d89ec7.css → e6da1287d41f5409.css} +1 -1
  17. khoj/interface/compiled/agents/index.html +2 -2
  18. khoj/interface/compiled/agents/index.txt +2 -2
  19. khoj/interface/compiled/automations/index.html +2 -2
  20. khoj/interface/compiled/automations/index.txt +2 -2
  21. khoj/interface/compiled/chat/index.html +2 -2
  22. khoj/interface/compiled/chat/index.txt +2 -2
  23. khoj/interface/compiled/index.html +2 -2
  24. khoj/interface/compiled/index.txt +2 -2
  25. khoj/interface/compiled/search/index.html +2 -2
  26. khoj/interface/compiled/search/index.txt +2 -2
  27. khoj/interface/compiled/settings/index.html +2 -2
  28. khoj/interface/compiled/settings/index.txt +2 -2
  29. khoj/interface/compiled/share/chat/index.html +2 -2
  30. khoj/interface/compiled/share/chat/index.txt +2 -2
  31. khoj/processor/content/markdown/markdown_to_entries.py +38 -9
  32. khoj/processor/content/org_mode/org_to_entries.py +18 -2
  33. khoj/processor/content/org_mode/orgnode.py +18 -16
  34. khoj/processor/content/text_to_entries.py +30 -0
  35. khoj/processor/conversation/utils.py +1 -1
  36. khoj/routers/helpers.py +11 -8
  37. khoj/search_type/text_search.py +2 -0
  38. khoj/utils/rawconfig.py +11 -0
  39. {khoj-1.42.9.dev17.dist-info → khoj-1.42.9.dev23.dist-info}/METADATA +1 -1
  40. {khoj-1.42.9.dev17.dist-info → khoj-1.42.9.dev23.dist-info}/RECORD +45 -45
  41. khoj/interface/compiled/_next/static/chunks/app/agents/layout-4e2a134ec26aa606.js +0 -1
  42. khoj/interface/compiled/_next/static/chunks/app/chat/layout-ad68326d2f849cec.js +0 -1
  43. khoj/interface/compiled/_next/static/chunks/app/search/layout-484d34239ed0f2b1.js +0 -1
  44. khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-abb6c5f4239ad7be.js +0 -1
  45. /khoj/interface/compiled/_next/static/{rRy7eX2lAtmXdtQuJoVrw → bNFk9r0rPk9sPiVlFi6q_}/_buildManifest.js +0 -0
  46. /khoj/interface/compiled/_next/static/{rRy7eX2lAtmXdtQuJoVrw → bNFk9r0rPk9sPiVlFi6q_}/_ssgManifest.js +0 -0
  47. {khoj-1.42.9.dev17.dist-info → khoj-1.42.9.dev23.dist-info}/WHEEL +0 -0
  48. {khoj-1.42.9.dev17.dist-info → khoj-1.42.9.dev23.dist-info}/entry_points.txt +0 -0
  49. {khoj-1.42.9.dev17.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.split("\n")
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
- property_map = {"LINE": f"file:{normalize_filename(filename)}::{ctr}"}
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*:([a-zA-Z0-9].*?):$", heading)
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
- n = n + indent + ":PROPERTIES:\n"
524
- for key, value in self._properties.items():
525
- n = n + indent + f":{key}: {value}\n"
526
- n = n + indent + ":END:\n"
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"# File: {item.file}\n## {item.compiled}\n" for item in chat.context or [] if isinstance(item, dict)}
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/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.additional["compiled"],
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 or "", "compiled": "\n".join(line_matches)}
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}
@@ -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
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: khoj
3
- Version: 1.42.9.dev17
3
+ Version: 1.42.9.dev23
4
4
  Summary: Your Second Brain
5
5
  Project-URL: Homepage, https://khoj.dev
6
6
  Project-URL: Documentation, https://docs.khoj.dev
@@ -124,22 +124,24 @@ 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=9XxpiKZFPgJFM0DCqUgAq30r-2fj0I5al6fyNRtY6V4,31280
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=XC1geJ26uWJa_T65iXWfdZlBb5ohOjUCFrMBj1dMIIg,53040
135
- khoj/interface/compiled/index.txt,sha256=4VQHx4b7WNNShYvSnkQbNkzCcxUU9ubbIEubvIQbE1w,7614
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=j2kmwgT9vN5i-S2ZyggM18nsFiD7B3BJC3f_djdifH0,17097
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
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
@@ -207,31 +209,31 @@ 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-92ce8aaf95718ec4.js,sha256=OR5QpxV2GcJopVw_IAqTpdrNoeLdfTDIcCbLAhWuvwk,4939
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-a19a597629e87fb8.js,sha256=lfXNkiSiwMKG1q3y0S3MUUsvQNznDHtfpwVKtx38gLk,29930
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-4e2a134ec26aa606.js,sha256=B3HJ6CKzJccEIOk54Erl1FtKUxGJq2p-ch932X1vjwE,180
215
- khoj/interface/compiled/_next/static/chunks/app/agents/page-5db6ad18da10d353.js,sha256=zUXTmNbpn0tA_IWn0vSzHWn6GLRW8AAGS6Fa-07bdwY,17483
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-6271e2e31c7571d1.js,sha256=vOD3YLeKBh_M6ZLtlW4m4fbi2YJf5qyo60251kIMtX8,34829
218
- khoj/interface/compiled/_next/static/chunks/app/chat/layout-ad68326d2f849cec.js,sha256=D8LkyLbmfGZmXSddbVSGdFXH6ZW1B6zSSF-3cHsT4yg,180
219
- khoj/interface/compiled/_next/static/chunks/app/chat/page-76fc915800aa90f4.js,sha256=Zdn9ZvCk7vA1eaSnNAAAtvix-KjXJWggDv5VDJrpxsE,29133
220
- khoj/interface/compiled/_next/static/chunks/app/search/layout-484d34239ed0f2b1.js,sha256=L7gJxQXczJP6c7e8t24p_RirmegDRuyJRiGQg364TM4,180
221
- khoj/interface/compiled/_next/static/chunks/app/search/page-fa366ac14b228688.js,sha256=vdwyjWiRZD2Q6pe2-5K0nZzK7JCGf9tSK1JqbL73X6w,30929
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-8f9a85f96088c18b.js,sha256=g0S5cRFSD0mkplsB5LuU6bi3pe-CEVwmhNuHB14mx3s,27892
224
- khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-abb6c5f4239ad7be.js,sha256=_HdxnZ70IoB5eHZ5e__Z0jt-2ElBo_BsNPboM-2SMLg,180
225
- khoj/interface/compiled/_next/static/chunks/app/share/chat/page-ed7787cf4938b8e3.js,sha256=jWx4PswoIgW3jA1NxhI-1oKh_ZcVq-E8ZnqFc3PbHJI,5563
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/02f60900b0d89ec7.css,sha256=yILirEJty7snfk1e521b4ehZn8tc1cW-XGkr7ZZz1Qw,30589
229
230
  khoj/interface/compiled/_next/static/css/3090706713c12a32.css,sha256=lHBNcr2SPiAMdZQONh2MMlVM_huteuNSM9jCqGkS2d0,3075782
230
231
  khoj/interface/compiled/_next/static/css/37a73b87f02df402.css,sha256=hp0vlekKu0K2eITR5YIqFmLHQPqV3JETFnRd_-Uh0mk,165
231
232
  khoj/interface/compiled/_next/static/css/76c658ee459140a9.css,sha256=7tI24VB66ZUsAPUxRdQhboopun0AXLUnF64uv9RkC08,1833
232
233
  khoj/interface/compiled/_next/static/css/7889a30fe9c83846.css,sha256=IUkZhkx4GpYOIhN-EJw9T1DqGMO3Wa3mNpUwaOBuZoY,7204
233
- khoj/interface/compiled/_next/static/css/93eeacc43e261162.css,sha256=rbrg1ppryE0iLWmJexa3Qibtrb6gegftRjKIIMpnR2s,9736
234
+ khoj/interface/compiled/_next/static/css/821d0d60b0b6871d.css,sha256=340fHdvynnjkHvFJSnn04hPiqt7zUmLvse1uAwLoxXQ,9831
234
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
235
237
  khoj/interface/compiled/_next/static/css/ea5485b3f3859a5a.css,sha256=tn6qi2xSLTWhtzDUE8UlC8iipH9QGV6A9oGj1ap-Sk4,1659
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
@@ -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/_next/static/rRy7eX2lAtmXdtQuJoVrw/_buildManifest.js,sha256=f2_nYnw25hHWQJ-39Lf5OH1u6kgdbOInyfplqgjvAV4,224
314
- khoj/interface/compiled/_next/static/rRy7eX2lAtmXdtQuJoVrw/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
315
- khoj/interface/compiled/agents/index.html,sha256=KbPuzi_SyBwz449wmAE1laZhk8-0vtE_uVLPHlYaDhw,16221
316
- khoj/interface/compiled/agents/index.txt,sha256=fbAAo9Sa5QPouaMkPi7Ur9llgLcRkkCNT90a6ZvCNNU,7218
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=vU7l6Of0zacaQN0izIHXJYdOtlLy1vUyzpPoDOH-Cg0,54091
332
- khoj/interface/compiled/automations/index.txt,sha256=aKJZT3c_wEf36lzITfIMq_3DtspW4mLJwjO3eKrF3VM,7447
333
- khoj/interface/compiled/chat/index.html,sha256=IMRaNP8pNYOgdzDPiHMj978aW1LAAbvNa6rF1WosHSA,53222
334
- khoj/interface/compiled/chat/index.txt,sha256=U-K2V4LDd8FU4mqza7Bvr0wkLB01eOjZP4nQiaFLzfI,7858
335
- khoj/interface/compiled/search/index.html,sha256=eLgjY24BFopGjtWIspufYUXK7OO-IJgj6zwUyOHbhNU,55301
336
- khoj/interface/compiled/search/index.txt,sha256=0KY8qoQiGTf8dlSqtejS80CkyzAj4bsd7iPI3Y4dS4g,6565
337
- khoj/interface/compiled/settings/index.html,sha256=yVASX7Km9q5qdaGgcSRMxTQHLWIL89wm0rW1tEYMu7Y,52740
338
- khoj/interface/compiled/settings/index.txt,sha256=ZKBrDmQWZOCgmHZovr6DRAerO-Lebr2o09iUgfixGnk,7701
339
- khoj/interface/compiled/share/chat/index.html,sha256=yGXHCfAPw_yE2s5Rx4SkPbMeRngxVMiKprdc6e6oKhE,53802
340
- khoj/interface/compiled/share/chat/index.txt,sha256=ste1sNfy21CK8j6wm5uK1XW8bWGQ5JAgFL_e0xvllW0,8320
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=bCaKyFkXVqOZAsNytzL81bArrmPyRnircl3uJ3q4svs,14746
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=nyTc_Wehi5U65H_gWkq4NpMm4fjdIprjNrX4tKVpRxU,7109
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=ASjGlUDpLpdcV00Yi_UiET3WLekuFTO6hWQY9ZQ6mw8,10222
386
- khoj/processor/content/org_mode/orgnode.py,sha256=DlHZICxbCRxqGxA_osYf1faxslxpSuIqbHco8oxAKKM,18478
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=t_Q-EhaXdfqvefpFsB4F2C-_scAneG9OLEyqMYcXjyQ,48443
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
@@ -434,7 +434,7 @@ khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,220
434
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=oU9AAK7p4uNdz-4u88dtYW17DdV-HOyZt88uGfOfRqU,116049
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=UEzT_NsHDrtVvbPthNtoCECawKMt68S891QYvVoM63c,9527
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=ASl_h3Ivaa_4lD4kCA0uZsMRgSYCjrgGUPm-Hw1jkLk,5083
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.dev17.dist-info/METADATA,sha256=IgfGvHbRH-GbgUzr3KXArwVWJ7OUwPrYEdjsA9v2YuU,8974
463
- khoj-1.42.9.dev17.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
464
- khoj-1.42.9.dev17.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
465
- khoj-1.42.9.dev17.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
466
- khoj-1.42.9.dev17.dist-info/RECORD,,
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,3317,7138,244],{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,8459,244],{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,3317,7138,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([[7138,3317,8459,244],{63521:function(){}},function(n){n.O(0,[2971,2117,1744],function(){return n(n.s=63521)}),_N_E=n.O()}]);