kash-shell 0.3.10__py3-none-any.whl → 0.3.11__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 (40) hide show
  1. kash/actions/core/format_markdown_template.py +2 -5
  2. kash/actions/core/markdownify.py +2 -4
  3. kash/actions/core/readability.py +2 -4
  4. kash/actions/core/render_as_html.py +30 -11
  5. kash/actions/core/show_webpage.py +6 -11
  6. kash/actions/core/strip_html.py +2 -6
  7. kash/actions/core/{webpage_config.py → tabbed_webpage_config.py} +5 -3
  8. kash/actions/core/{webpage_generate.py → tabbed_webpage_generate.py} +5 -4
  9. kash/commands/base/files_command.py +28 -10
  10. kash/commands/workspace/workspace_commands.py +1 -2
  11. kash/config/colors.py +2 -2
  12. kash/exec/action_decorators.py +6 -6
  13. kash/exec/llm_transforms.py +6 -3
  14. kash/exec/preconditions.py +6 -0
  15. kash/exec/resolve_args.py +4 -0
  16. kash/file_storage/file_store.py +20 -18
  17. kash/help/function_param_info.py +1 -1
  18. kash/local_server/local_server_routes.py +1 -7
  19. kash/model/items_model.py +74 -28
  20. kash/shell/utils/shell_function_wrapper.py +15 -15
  21. kash/text_handling/doc_normalization.py +1 -1
  22. kash/text_handling/markdown_render.py +1 -0
  23. kash/text_handling/markdown_utils.py +22 -0
  24. kash/utils/common/function_inspect.py +360 -110
  25. kash/utils/file_utils/file_ext.py +4 -0
  26. kash/utils/file_utils/file_formats_model.py +17 -1
  27. kash/web_gen/__init__.py +0 -4
  28. kash/web_gen/simple_webpage.py +52 -0
  29. kash/web_gen/tabbed_webpage.py +23 -16
  30. kash/web_gen/template_render.py +37 -2
  31. kash/web_gen/templates/base_styles.css.jinja +76 -56
  32. kash/web_gen/templates/base_webpage.html.jinja +85 -67
  33. kash/web_gen/templates/item_view.html.jinja +47 -37
  34. kash/web_gen/templates/simple_webpage.html.jinja +24 -0
  35. kash/web_gen/templates/tabbed_webpage.html.jinja +42 -32
  36. {kash_shell-0.3.10.dist-info → kash_shell-0.3.11.dist-info}/METADATA +5 -5
  37. {kash_shell-0.3.10.dist-info → kash_shell-0.3.11.dist-info}/RECORD +40 -38
  38. {kash_shell-0.3.10.dist-info → kash_shell-0.3.11.dist-info}/WHEEL +0 -0
  39. {kash_shell-0.3.10.dist-info → kash_shell-0.3.11.dist-info}/entry_points.txt +0 -0
  40. {kash_shell-0.3.10.dist-info → kash_shell-0.3.11.dist-info}/licenses/LICENSE +0 -0
@@ -1,3 +1,4 @@
1
+ {% block item_styles %}
1
2
  <style>
2
3
  .item-view {
3
4
  font-family: var(--font-sans);
@@ -176,9 +177,11 @@ h1.item-title {
176
177
  gap: 0.25rem;
177
178
  }
178
179
  </style>
180
+ {% endblock item_styles %}
179
181
 
182
+ {% block item_view %}
180
183
  <div class="item-view">
181
-
184
+ {% block item_path %}
182
185
  <div class="item-path">
183
186
  <div class="path-group">
184
187
  <div class="path-icon">
@@ -202,48 +205,52 @@ h1.item-title {
202
205
  {% endif %}
203
206
  </div>
204
207
  </div>
205
-
206
- <div class="item-header">
207
- {% if not brief_header %}
208
- <div class="item-meta">
209
- {% if item.type %}
210
- <span class="item-type">{{ item.type.value }}</span>
211
- {% endif %}
212
- {% if item.format %}
213
- <span class="item-label">Format:</span> <span class="item-format">{{ item.format.value }}</span>
214
- {% endif %}
215
- {% if item.state %}
216
- <span class="item-label">State:</span> <span class="item-state">{{ item.state.value }}</span>
217
- {% endif %}
218
- </div>
219
-
220
- {% if item.title %}
221
- <h1 class="item-title">{{ item.title }}</h1>
208
+ {% endblock item_path %}
209
+
210
+ {% block item_header %}
211
+ <div class="item-header">
212
+ {% if not brief_header %}
213
+ <div class="item-meta">
214
+ {% if item.type %}
215
+ <span class="item-type">{{ item.type.value }}</span>
222
216
  {% endif %}
223
-
224
- {% if item.url %}
225
- <div class="item-url">
226
- <div class="url-container">
227
- <a href="{{ item.url }}" target="_blank" rel="noopener noreferrer">{{ item.url }}</a>
228
- <i data-feather="copy" class="action-icon" onclick="copyDataValue(this.parentElement)" title="Copy URL"></i>
229
- </div>
230
- </div>
217
+ {% if item.format %}
218
+ <span class="item-label">Format:</span> <span class="item-format">{{ item.format.value }}</span>
231
219
  {% endif %}
232
- {% endif %}
220
+ {% if item.state %}
221
+ <span class="item-label">State:</span> <span class="item-state">{{ item.state.value }}</span>
222
+ {% endif %}
223
+ </div>
233
224
 
234
- {% if file_info_html %}
235
- <div class="item-file-info">{{ file_info_html | safe }}</div>
225
+ {% if item.title %}
226
+ <h1 class="item-title">{{ item.title }}</h1>
236
227
  {% endif %}
237
228
 
238
- {% if not brief_header %}
239
- {% if item.description %}
240
- <div class="item-description">
241
- {{ item.description }}
229
+ {% if item.url %}
230
+ <div class="item-url">
231
+ <div class="url-container">
232
+ <a href="{{ item.url }}" target="_blank" rel="noopener noreferrer">{{ item.url }}</a>
233
+ <i data-feather="copy" class="action-icon" onclick="copyDataValue(this.parentElement)" title="Copy URL"></i>
242
234
  </div>
243
- {% endif %}
235
+ </div>
244
236
  {% endif %}
245
- </div>
237
+ {% endif %}
238
+
239
+ {% if file_info_html %}
240
+ <div class="item-file-info">{{ file_info_html | safe }}</div>
241
+ {% endif %}
242
+
243
+ {% if not brief_header %}
244
+ {% if item.description %}
245
+ <div class="item-description">
246
+ {{ item.description }}
247
+ </div>
248
+ {% endif %}
249
+ {% endif %}
250
+ </div>
251
+ {% endblock item_header %}
246
252
 
253
+ {% block item_content %}
247
254
  <div class="item-content">
248
255
  {% if body_text %}
249
256
  <div class="item-body">{{ body_text }}</div>
@@ -261,9 +268,11 @@ h1.item-title {
261
268
  {% endif %}
262
269
  {% endif %}
263
270
  </div>
264
-
271
+ {% endblock item_content %}
265
272
  </div>
273
+ {% endblock item_view %}
266
274
 
275
+ {% block item_scripts %}
267
276
  <script>
268
277
  function copyText(element, text) {
269
278
  navigator.clipboard.writeText(text).then(() => {
@@ -291,4 +300,5 @@ function copyDataValue(element) {
291
300
  document.addEventListener('DOMContentLoaded', () => {
292
301
  feather.replace();
293
302
  });
294
- </script>
303
+ </script>
304
+ {% endblock item_scripts %}
@@ -0,0 +1,24 @@
1
+ {% extends "base_webpage.html.jinja" %}
2
+
3
+ <!-- simple_webpage begin main_content block -->
4
+ {% block main_content %}
5
+ <div class="long-text container max-w-3xl mx-auto bg-white py-8 px-6 md:px-16 md:shadow-lg">
6
+ {% block page_title %}
7
+ {% if title and add_title_h1 %}
8
+ <h1 class="text-center text-4xl mt-6 mb-6">{{ title }}</h1>
9
+ {% endif %}
10
+ {% endblock page_title %}
11
+
12
+ <div>
13
+ {% block page_content %}
14
+ {% if thumbnail_url %}
15
+ <img class="thumbnail" src="{{ thumbnail_url }}" alt="{{ title }}" />
16
+ {% endif %}
17
+ <div class="content">
18
+ {{ content_html | safe }}
19
+ </div>
20
+ {% endblock page_content %}
21
+ </div>
22
+ </div>
23
+ {% endblock main_content %}
24
+ <!-- simple_webpage end main_content block -->
@@ -1,38 +1,47 @@
1
- <div class="long-text container max-w-3xl mx-auto bg-white py-8 px-6 md:px-16 md:shadow-lg">
2
- <h1 class="text-center text-4xl mt-6 mb-6">{{ title }}</h1>
3
- <div>
4
- <!-- Navigation Tabs -->
5
- {% if show_tabs %}
6
- <nav>
7
- {% for tab in tabs %}
8
- <button
9
- class="tab-button {% if loop.first %}tab-button-active{% else %}tab-button-inactive{% endif %}"
10
- onclick="showTab('{{ tab.id }}', this)"
11
- >
12
- {{ tab.label }}
13
- </button>
14
- {% endfor %}
15
- </nav>
16
- {% endif %}
17
- <div class="tab-content mt-8">
18
- <!-- Tab Content -->
19
- {% for tab in tabs %}
20
- <div
21
- id="{{ tab.id }}"
22
- class="tab-pane {% if not loop.first %}hidden{% endif %}"
23
- >
24
- {% if tab.thumbnail_url %}
25
- <img class="thumbnail" src="{{ tab.thumbnail_url }}" alt="{{ tab.label }}" />
26
- {% endif %}
27
- {% if show_tabs %} <h2 class="text-2xl">{{ tab.label }}</h2> {% endif %}
28
- <p>{{ tab.content_html | safe }}</p>
1
+ {% extends "simple_webpage.html.jinja" %}
2
+
3
+ <!-- tabbed_webpage begin page_content block -->
4
+ {% block page_content %}
5
+ {% block tab_navigation %}
6
+ <!-- tab_navigation block -->
7
+ {% if show_tabs %}
8
+ <nav>
9
+ {% for tab in tabs %}
10
+ <button
11
+ class="tab-button {% if loop.first %}tab-button-active{% else %}tab-button-inactive{% endif %}"
12
+ onclick="showTab('{{ tab.id }}', this)"
13
+ >
14
+ {{ tab.label }}
15
+ </button>
16
+ {% endfor %}
17
+ </nav>
18
+ {% endif %}
19
+ {% endblock tab_navigation %}
20
+
21
+ {% block tab_content_container %}
22
+ <!-- tab_content_container block -->
23
+ <div class="tab-content mt-8">
24
+ {% for tab in tabs %}
25
+ <div
26
+ id="{{ tab.id }}"
27
+ class="tab-pane {% if not loop.first %}hidden{% endif %}"
28
+ >
29
+ {% if tab.thumbnail_url %}
30
+ <img class="thumbnail" src="{{ tab.thumbnail_url }}" alt="{{ tab.label }}" />
31
+ {% endif %}
32
+ {% if show_tabs %} <h2 class="text-2xl">{{ tab.label }}</h2> {% endif %}
33
+ <div class="content">
34
+ {{ tab.content_html | safe }}
29
35
  </div>
30
- {% endfor %}
31
36
  </div>
37
+ {% endfor %}
32
38
  </div>
33
- </div>
39
+ {% endblock tab_content_container %}
40
+ {% endblock page_content %}
41
+ <!-- tabbed_webpage end page_content block -->
34
42
 
35
- <script>
43
+ <!-- tabbed_webpage begin scripts_extra block -->
44
+ {% block scripts_extra %}
36
45
  function showTab(tabId, element) {
37
46
  document.querySelectorAll(".tab-pane").forEach((tab) => {
38
47
  tab.classList.add("hidden");
@@ -45,4 +54,5 @@
45
54
  element.classList.add("tab-button-active");
46
55
  element.classList.remove("tab-button-inactive");
47
56
  }
48
- </script>
57
+ {% endblock scripts_extra %}
58
+ <!-- tabbed_webpage end scripts_extra block -->
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kash-shell
3
- Version: 0.3.10
3
+ Version: 0.3.11
4
4
  Summary: The knowledge agent shell (core)
5
5
  Project-URL: Repository, https://github.com/jlevy/kash-shell
6
6
  Author-email: Joshua Levy <joshua@cal.berkeley.edu>
@@ -26,7 +26,7 @@ Requires-Dist: cssselect>=1.2.0
26
26
  Requires-Dist: deepgram-sdk>=3.10.1
27
27
  Requires-Dist: dunamai>=1.23.0
28
28
  Requires-Dist: fastapi>=0.115.11
29
- Requires-Dist: flowmark>=0.4.1
29
+ Requires-Dist: flowmark>=0.4.5
30
30
  Requires-Dist: frontmatter-format>=0.2.1
31
31
  Requires-Dist: funlog>=0.2.0
32
32
  Requires-Dist: humanfriendly>=10.0
@@ -36,14 +36,14 @@ Requires-Dist: jinja2>=3.1.6
36
36
  Requires-Dist: justext>=3.0.2
37
37
  Requires-Dist: lazyasd>=0.1.4
38
38
  Requires-Dist: litellm>=1.63.11
39
- Requires-Dist: markdownify>=0.14.1
39
+ Requires-Dist: markdownify>=0.13.1
40
40
  Requires-Dist: mcp-proxy>=0.5.0
41
41
  Requires-Dist: mcp>=1.6.0
42
42
  Requires-Dist: openai>=1.66.3
43
43
  Requires-Dist: pandas>=2.2.3
44
44
  Requires-Dist: patch-ng>=1.18.1
45
45
  Requires-Dist: pathspec>=0.12.1
46
- Requires-Dist: prettyfmt>=0.3.0
46
+ Requires-Dist: prettyfmt>=0.3.1
47
47
  Requires-Dist: prompt-toolkit>=3.0.50
48
48
  Requires-Dist: pydantic>=2.10.6
49
49
  Requires-Dist: pydub>=0.25.1
@@ -59,7 +59,7 @@ Requires-Dist: rich>=14.0.0
59
59
  Requires-Dist: ripgrepy>=2.1.0
60
60
  Requires-Dist: send2trash>=1.8.3
61
61
  Requires-Dist: setproctitle>=1.3.5
62
- Requires-Dist: strif>=3.0.0-rc.1
62
+ Requires-Dist: strif>=3.0.1
63
63
  Requires-Dist: tenacity>=9.0.0
64
64
  Requires-Dist: thefuzz>=0.22.1
65
65
  Requires-Dist: tiktoken>=0.9.0
@@ -3,15 +3,15 @@ kash/__main__.py,sha256=83JiHvCNK7BAwEkaTD0kVekj7PEMucvCyquSl4p-1QA,78
3
3
  kash/actions/__init__.py,sha256=a4pQw8O-Y3q5N4Qg2jUV0xEZLX6d164FQhZ6zizY9fE,1357
4
4
  kash/actions/core/assistant_chat.py,sha256=28G20cSr7Z94cltouTPve5TXY3km0lACrRvpLE27fK8,1837
5
5
  kash/actions/core/chat.py,sha256=yCannBFa0cSpR_in-XSSuMm1x2ZZQUCKmlqzhsUfpOo,2696
6
- kash/actions/core/format_markdown_template.py,sha256=5P3ZDMKmOqnfiSn4dchtodh9StpnMWkUM5acIguIkmw,3043
7
- kash/actions/core/markdownify.py,sha256=WTA1FP7h6eCr1mebrm0QqyT5D288SnMkYax8ECKX5kE,1183
8
- kash/actions/core/readability.py,sha256=TWgBn00aglIWwp_g2hFodyWmJVSDsqn-S18d5uKXZyE,1012
9
- kash/actions/core/render_as_html.py,sha256=jZVCqx4Z3zAEZ5HBHtENFJN3ywOuurUPTp4cMx38yqU,632
10
- kash/actions/core/show_webpage.py,sha256=hMhPTTwpZb7q1w2ZNjmuVkxlG-O4WE_Dw3GKrQkX5UA,987
11
- kash/actions/core/strip_html.py,sha256=VeTsTzoR0GKAvwpdr8-nFplYF50V3urfYZmGOhlwuZo,895
6
+ kash/actions/core/format_markdown_template.py,sha256=ZJbtyTSypPo2ewLiGRSyIpVf711vQMhI_-Ng-FgCs80,2991
7
+ kash/actions/core/markdownify.py,sha256=3WO940dQGr_5M_Z3QuJHhfPhqr1FyasMY8Vz8LJ3JVE,1140
8
+ kash/actions/core/readability.py,sha256=6BoiQrlc8c4REGCOehmKyhhhf2M-pzGhl8VeUS4G0u0,969
9
+ kash/actions/core/render_as_html.py,sha256=UXtkAiFqPK02CNGyMDHiwNSimF54mP5xaSUYr4uRJFM,1768
10
+ kash/actions/core/show_webpage.py,sha256=TZJWqKMo2aJIUiJMYBR_t_2FLPihjpg5UtuTMJ4eb7E,863
11
+ kash/actions/core/strip_html.py,sha256=T35SVA-0YLyiwf7eBpJhKaJqZgqq0vfPn2IxpMetGMY,835
12
12
  kash/actions/core/summarize_as_bullets.py,sha256=Zwr8lNzL77pwpnW_289LQjNBijNDpTPANfFdOJA-PZ4,2070
13
- kash/actions/core/webpage_config.py,sha256=uJtJwHxel7xgWg9WjkR2snEBXMj9lmieYI3YKhpuff8,873
14
- kash/actions/core/webpage_generate.py,sha256=FHRmwWWWzSoC2Cd0d4oy249Za0A03HD-nFL6SL9SUBw,788
13
+ kash/actions/core/tabbed_webpage_config.py,sha256=rIbzEhBTmnkbSiRZC-Rj46T1J6c0jOztiKE9Usa4nsc,980
14
+ kash/actions/core/tabbed_webpage_generate.py,sha256=_w_4LsgDqNnVvtX6Y4Txq56HAwEVMAY7RooWB29Okdk,954
15
15
  kash/actions/meta/write_instructions.py,sha256=zeKKX-Yi8jSyjvZ4Ii_4MNBRtM2MENuHyrD0Vxsaos8,1277
16
16
  kash/actions/meta/write_new_action.py,sha256=w7SJZ2FjzRbKwqKX9PeozUrh8cNJAumX7F80wW7dQts,6356
17
17
  kash/commands/__init__.py,sha256=MhdPSluWGE3XVQ7LSv2L8_aAxaey8CLjQBjGC9B4nRM,191
@@ -19,7 +19,7 @@ kash/commands/base/basic_file_commands.py,sha256=7aZ5ZuSTCZE8jilDxD_41C7Ie88nmx9
19
19
  kash/commands/base/browser_commands.py,sha256=iYvpW4D_tlhW_p0cq3A6YO9UGCdHtvzIQiNMDwCY07A,1574
20
20
  kash/commands/base/debug_commands.py,sha256=9I5W3SMQvsnpcs-b6CJCYu1Ydl6gIoTUcDZxvn1dN3g,7643
21
21
  kash/commands/base/diff_commands.py,sha256=U2geK6TLji9hnSfKW1DDGICaawm9p6Ht_Way6W_34AY,3446
22
- kash/commands/base/files_command.py,sha256=mGvFNHadG3c9tmOxCFJm-TjiK8e7mDb7kS0o75N2Clc,15947
22
+ kash/commands/base/files_command.py,sha256=JAjj9Xu76N3cgoU9Mb1CPCCxy3BP7amFm4EXLMSN9bM,16681
23
23
  kash/commands/base/general_commands.py,sha256=KaCbzk7o-ejwXE_H3PB3MrN00uTinP3T8uHKYrGPrIw,6946
24
24
  kash/commands/base/logs_commands.py,sha256=IyNgxaAoa5LlS-VxD_x8bXTVbD04pT8qEHlIJNM09UU,2963
25
25
  kash/commands/base/model_commands.py,sha256=d17a2NvfDbwV1y8gyZVsOtX-j5H5we5OEXM9TxTqvBs,1790
@@ -34,10 +34,10 @@ kash/commands/help/help_commands.py,sha256=eJTpIhXck123PAUq2k-D3Q6UL6IQ8atOVYurL
34
34
  kash/commands/help/logo.py,sha256=W8SUach9FjoTqpHZwTGS582ry4ZluxbBp86ZCiAtDkY,3505
35
35
  kash/commands/help/welcome.py,sha256=F4QBgj3e1dM9Pf0H4TSzCrkVfXQVKUIl0b6Qmofbdo4,905
36
36
  kash/commands/workspace/selection_commands.py,sha256=nWWIN-8EnEgjgWIbQevqz5_3iDbcIJT3ffQg-_WAlHU,7451
37
- kash/commands/workspace/workspace_commands.py,sha256=DkcDVynFSjuC8_S96g0DBWg-AgPzY3JtTBfnDlREceA,22694
37
+ kash/commands/workspace/workspace_commands.py,sha256=ch8PbV1JcCXIxNtIME_RlZ3X4zRVyrxh9jd_6SxSqYs,22650
38
38
  kash/config/__init__.py,sha256=ytly9Typ1mWV4CXfV9G3CIPtPQ02u2rpZ304L3GlFro,148
39
39
  kash/config/capture_output.py,sha256=ud3uUVNuDicHj3mI_nBUBO-VmOrxtBdA3z-I3D1lSCU,2398
40
- kash/config/colors.py,sha256=gnbK5YnPH9fhtyOzCy5vGgQXRLhOzAxc441xMscvfkc,9949
40
+ kash/config/colors.py,sha256=6lqrB2RQYF2OLw-njfOqVHO9Bwiq7bW6K1ROCOAd1EM,9949
41
41
  kash/config/env_settings.py,sha256=DXp9Q9u-EC7cK0nyXIcKvPV9DuChvoVw7QCe7ZGe3Rw,2225
42
42
  kash/config/init.py,sha256=aE4sZ6DggBmmoZEx9C5mQKrEbcDiswX--HF7pfCFKzc,526
43
43
  kash/config/lazy_imports.py,sha256=MCZXLnKvNyfHi0k7MU5rNwcdJtUF28naCixuogsAOAA,805
@@ -81,7 +81,7 @@ kash/embeddings/cosine.py,sha256=Nke3WF9XB305dWYCzko7vmIwxOWgBu_RlpR-tnMq0ik,142
81
81
  kash/embeddings/embeddings.py,sha256=vx8klwgPc6D7oswWD5MfA3xGCke8zEwS1cGGln7P388,4249
82
82
  kash/embeddings/text_similarity.py,sha256=t5I1s5pW9WKBej5h9msg6J4rFzRRY17oJCCa8UFxd28,1787
83
83
  kash/exec/__init__.py,sha256=m9UFokJm7EXCMPETXf1hE63zIZDiAfVGRAHb6SmaHbs,1018
84
- kash/exec/action_decorators.py,sha256=8e055Z0HqKwK1Aif5UqM5TheYLB6LtWbTmGr1-QU8aU,16917
84
+ kash/exec/action_decorators.py,sha256=zq6OWQI069ZZi_k7zgqWrM6RNKhc85q7LdqZ7LCzXck,16962
85
85
  kash/exec/action_exec.py,sha256=Fo5HK7H87xw2G2FUr8PPgt-eFev2y4caTU9tW15ip4A,17942
86
86
  kash/exec/action_registry.py,sha256=numU9pH_W5RgIrYmfi0iYMYy_kLJl6vup8PMrhxAfdc,2627
87
87
  kash/exec/combiners.py,sha256=AJ6wgPUHsmwanObsUw64B83XzU26yuh5t4l7igLn82I,4291
@@ -90,11 +90,11 @@ kash/exec/command_registry.py,sha256=1s2ogU8b8nqK_AEtslbr1eYrXCGDkeT30UrB7L0BRoM
90
90
  kash/exec/fetch_url_metadata.py,sha256=mgS4zwPw0HAVYIroTeKN_whMyoVE2DUDN_W6ylO3gVw,2656
91
91
  kash/exec/history.py,sha256=l2XwHGBR1UgTGSFPSBE9mltmxvjR_5qFFO6d-Z008nc,1208
92
92
  kash/exec/importing.py,sha256=i1utrbqpn8MKfCQ06vavka_cjNaYRHaWnsy0ygNRbxI,1825
93
- kash/exec/llm_transforms.py,sha256=cHbvtPdNNA3Pi8yY9-y2tZNYdsVUaJ8RA4RKfW1cCj0,4230
93
+ kash/exec/llm_transforms.py,sha256=cKFjGzjC0sWFCtx8nUC7CxDZjhYt2aehZ8PzaCwnF7g,4382
94
94
  kash/exec/precondition_checks.py,sha256=HymxL7qm4Yz8V76Um5pKdIRnQ2N-p9rpQQi1fI38bNA,2139
95
95
  kash/exec/precondition_registry.py,sha256=cmp0mUfLS42AbAByDhwGx8GWz9PuZNR7z5rPZW9WQE4,1244
96
- kash/exec/preconditions.py,sha256=NbkhTG_ga3KjIGGLrjOifNDx8Ea5VyzSW1Ku54dwIew,4349
97
- kash/exec/resolve_args.py,sha256=2sNk3dYmTfl8z3OBVrcgnaG0FonhKE_08MjlEap6qdc,4300
96
+ kash/exec/preconditions.py,sha256=kUZFLIoN10P32kIhe7nBHAaj83GzOmtNKXP4pgZESY4,4568
97
+ kash/exec/resolve_args.py,sha256=yGU6Jjzn5yyAN9pNZx8Qfc9oBrosFEdazIs5g9pjWTs,4410
98
98
  kash/exec/shell_callable_action.py,sha256=HsufAc4fWNWOZvciwzujs4CABKOgB5emWP4Ux1LbQZ4,4302
99
99
  kash/exec_model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
100
  kash/exec_model/args_model.py,sha256=gquOD0msFA-5xhNU-3R5l8wlwyAMefpMHltpxrDlYGQ,2662
@@ -102,7 +102,7 @@ kash/exec_model/commands_model.py,sha256=iM8QhzA0tAas5OwF5liUfHtm45XIH1LcvCviuh3
102
102
  kash/exec_model/script_model.py,sha256=1VG3LhkTmlKzHOYouZ92ZpOSKSCcsz3-tHNcFMQF788,5031
103
103
  kash/exec_model/shell_model.py,sha256=LUhQivbpXlerM-DUzNY7BtctNBbn08Wto8CSSxQDxRU,568
104
104
  kash/file_storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
- kash/file_storage/file_store.py,sha256=GqgU6htX6mNZfqZuNACLXzFlOdjw53fJOqvUCOjcTcU,26578
105
+ kash/file_storage/file_store.py,sha256=88gWDwZTSpQPlobwWgVZKUzHp5w60nbb9AQLe0CT4J0,26819
106
106
  kash/file_storage/item_file_format.py,sha256=oe71pB7hK6tkU0tBuUEjiuba0NuO7ovkJ1oUqd0UaRo,5368
107
107
  kash/file_storage/metadata_dirs.py,sha256=9AqO3S3SSY1dtvP2iLX--E4ui0VIzXttG8R040otfyg,3820
108
108
  kash/file_storage/persisted_yaml.py,sha256=4-4RkFqdlBUkTOwkdA4vRKUywEE9TaDo13OGaDUyU9M,1309
@@ -113,7 +113,7 @@ kash/help/assistant.py,sha256=R0XHNi-h51QoQ7rGouD2chrDPGomYaPQUqJdvpjlCs8,11535
113
113
  kash/help/assistant_instructions.py,sha256=jW5XAsmLx8YZMKSDJgWnqo9Vwe7VuiTURQHjKBqr_L8,2549
114
114
  kash/help/assistant_output.py,sha256=9sM-OVLc6eMSOkxyovB88dNlsknFpf8Wz89Zp5PuEA8,1668
115
115
  kash/help/docstring_utils.py,sha256=80vcEGR05G1wwIfzaKhX5QzU38mkKna-gN6_wTNHjXg,3208
116
- kash/help/function_param_info.py,sha256=DHhd3eXI47IjrOOsWSwOC1Xal4X4h9qtZfXS67d-mqU,1682
116
+ kash/help/function_param_info.py,sha256=IVi6dtRjAWUCxpy9rZ1fRqKLCciK_kuMybTwCZ9XiYg,1692
117
117
  kash/help/help_embeddings.py,sha256=_ca7hPo_2UPwSGnB2k3KbcNU1b_I9OMI4RH2Z2E1PCU,2777
118
118
  kash/help/help_lookups.py,sha256=0dtuLWEXncqhJCijC98IA9stBDNNcJewt1JYqMLkTx4,2029
119
119
  kash/help/help_pages.py,sha256=XyV3SN1cvGjpS8xAbZ_X_6Z9hTIH7vXdgK8DCX2cwNg,3886
@@ -133,7 +133,7 @@ kash/llm_utils/llms.py,sha256=Zz45v7qrmBNGnmyF-Mn5Q4F1dZGFT2xf_kmWGUMSUUw,3518
133
133
  kash/local_server/__init__.py,sha256=kLah74GG0msEARgH6CrilY3OUPuivvx_fXVCqDzDMrc,142
134
134
  kash/local_server/local_server.py,sha256=EugjL30VM0pWdZDsiQxU-o6EdEa082qlGd_7RHvI5tk,5863
135
135
  kash/local_server/local_server_commands.py,sha256=xJQ1vHVWqkbPwRMw9LwHE8CnKrb8uWeXItI1ruQPx2Y,1584
136
- kash/local_server/local_server_routes.py,sha256=o6yMhugVaJCDHJsEQf8vjb6EbhTyqx1cikBoODZSdIY,10750
136
+ kash/local_server/local_server_routes.py,sha256=SgYB_BQ8SRED_4Wtba6iwl_5y3Yjrn-5s9q3zEPsgC8,10533
137
137
  kash/local_server/local_url_formatters.py,sha256=SqHjGMEufvm43n34SCa_8Asdwm7utx91Wwymj15TuSY,5327
138
138
  kash/local_server/port_tools.py,sha256=oFfOvO6keqS5GowTpVg2FTu5KqkPHBq-dWAEomUIgGo,2008
139
139
  kash/local_server/rich_html_template.py,sha256=O9CnkMYkWuMvKJkqD0P8jaZqfUe6hMP4LXFvcLpwN8Q,196
@@ -160,7 +160,7 @@ kash/model/assistant_response_model.py,sha256=6eDfC27nyuBDFjv5nCYMa_Qb2mPbKwDzZy
160
160
  kash/model/compound_actions_model.py,sha256=HiDK5wwCu3WwZYHATZoLEguiqwR9V6V296wiKtGIX8s,6926
161
161
  kash/model/concept_model.py,sha256=we2qOcy9Mv1q7XPfkDLp_CyO_-8DwAUfUYlpgy_jrFs,1011
162
162
  kash/model/graph_model.py,sha256=jnctrPiBZ0xwAR8D54JMAJPanA1yZdaxSFQoIpe8anA,2662
163
- kash/model/items_model.py,sha256=6siBGrChZIrr8lk1XFsME-zzz7Sz7ButAtSRPtUqL8w,31060
163
+ kash/model/items_model.py,sha256=HPQX8VxGxJM5pFszYIcFxOqLlLQu3rk6ohPDAkXbqZI,32176
164
164
  kash/model/language_list.py,sha256=I3RIbxTseVmPdhExQimimEv18Gmy2ImMbpXe0-_t1Qw,450
165
165
  kash/model/llm_actions_model.py,sha256=a29uXVNfS2CiqvM7HPdC6H9A23rSQQihAideuBLMH8g,2110
166
166
  kash/model/media_model.py,sha256=64Zic4cRjQpgf_-tOuZlZZe59mz_qu0s6OQSU0YlDUI,3357
@@ -193,17 +193,17 @@ kash/shell/ui/shell_syntax.py,sha256=1fuDqcCV16AAWwWS4w4iT-tlSnl-Ywdrf68Ge8XIfmQ
193
193
  kash/shell/utils/argparse_utils.py,sha256=UD2NZXyOlziWf-fPtGCmcmHNmFbNTcFX1UDtx67bJeE,649
194
194
  kash/shell/utils/exception_printing.py,sha256=jkSbEZLQmMjLPMRIBolZSkrACYMHJJ_lh6yZQ7Gv-9g,1898
195
195
  kash/shell/utils/native_utils.py,sha256=FtIjjB1sOgNifTx1u7nKSAwg9A8wc9-fkACw2_xWnNg,9153
196
- kash/shell/utils/shell_function_wrapper.py,sha256=8ogOb3Crl06KovlxMs0mOyB7uKzoz2ru_hUSVzxr83c,7439
196
+ kash/shell/utils/shell_function_wrapper.py,sha256=fgUuVhocYMKLkGJJQJOER5nFMAvM0ZVpfGu7iJPJI9s,7385
197
197
  kash/text_handling/custom_sliding_transforms.py,sha256=stbvN8McdHqC8oOs7QYK0J-Rh3kBLxxxbw7kjlOLKfM,9764
198
- kash/text_handling/doc_normalization.py,sha256=ghB5m8X1jrV350WsdcXt9-4jFHx1Jq-IuF8F4B1P8Ok,2538
199
- kash/text_handling/markdown_render.py,sha256=ij_OL7Te6IQbf8mOQZReN_RpPU84TzplqmLzxVHY-mk,3656
200
- kash/text_handling/markdown_utils.py,sha256=I011g0K6bWy9Sh3mttJFiMCokGtvCmqsBi9XP0WOaLE,6250
198
+ kash/text_handling/doc_normalization.py,sha256=vWqmIbYLepsJv_kz789aRAGzqAUtUh2iMjjbyZgBh-U,2556
199
+ kash/text_handling/markdown_render.py,sha256=Ea-QiBND0kp4Dc9rYr8Z3dB_CRpAxneGHBOlTDWsDo0,3751
200
+ kash/text_handling/markdown_utils.py,sha256=tjOJYkiq9tw6k1fGDmO81Yv5GiW-ND_yM6Em7aj6pGM,6985
201
201
  kash/text_handling/unified_diffs.py,sha256=AS5el-uPkXwpRA9bD46dyMo-YBDXb7zRF_MH3c47shA,4335
202
202
  kash/utils/__init__.py,sha256=4Jl_AtgRADdGORimWhYZwbSfQSpQ6SiexNIZzmbcngI,111
203
203
  kash/utils/errors.py,sha256=tTosrR8Z2bJGoBDxBbmEJ4GPQhS6_P6ENeDUNdLDyRg,3815
204
204
  kash/utils/common/__init__.py,sha256=ggeWw1xmbl1mgCQD3c4CNN2h5WXFCsN2wXlCWurEUEI,161
205
205
  kash/utils/common/format_utils.py,sha256=IPMKhx-S_SyqiN1cwUKFLJhpt1hT9P4cKZYrfKd1mYk,2431
206
- kash/utils/common/function_inspect.py,sha256=kZfsRbVL4FIZniyAUy_U5HJ3G80_U0xns8jEM9p8dzI,6540
206
+ kash/utils/common/function_inspect.py,sha256=gJ7jzd14hpuhJW18kxj6MgC2Q60nhYccQK78tq_hf_M,14085
207
207
  kash/utils/common/import_utils.py,sha256=FUsasP-PgxOtRIutm3SnCGH_MBPK6pxUb-oc6dXT0aA,3428
208
208
  kash/utils/common/lazyobject.py,sha256=9dmOfSheblOXgo2RRakMwgfPIKdTgtyrlm6dCKAze04,5157
209
209
  kash/utils/common/obj_replace.py,sha256=AuiXptUOnuDNcWDgAJ3jEHkLh89XIqCP_SOkgaVyFIQ,2075
@@ -217,9 +217,9 @@ kash/utils/common/url.py,sha256=hEDC0ImO3DLvaPRflcmiUZ1wK_Ilsm6_9fLaG23sUfo,6515
217
217
  kash/utils/file_formats/chat_format.py,sha256=Onby7Zany1UQSUo_JzLs6MIfmoXViZeOAacRTMVe92M,11818
218
218
  kash/utils/file_utils/__init__.py,sha256=loL_iW0oOZs0mJ5GelBPptBcqzYKSWdsGcHrpRyxitQ,43
219
219
  kash/utils/file_utils/dir_info.py,sha256=HamMr58k_DanTLifj7A2JDxTGWXEZZx2pQuE6Hjcm8g,1856
220
- kash/utils/file_utils/file_ext.py,sha256=HqUnCojgEuA4JSJwIK5ILPJU4TS4cXYNJmTNwC2tiwA,1783
220
+ kash/utils/file_utils/file_ext.py,sha256=-H63vlrVI3pfE2Cn_9qF7-QLDaUIu_njc4TieNgAHSY,1860
221
221
  kash/utils/file_utils/file_formats.py,sha256=tmrmqM5YTxfvlpvqmeOVz0yVRuPxxIAkVZf1-D0fp5Y,4902
222
- kash/utils/file_utils/file_formats_model.py,sha256=9Vp9vP7ECsnQIcJOpqYZymhcyw7vREvPrP6ovKpuLp0,13930
222
+ kash/utils/file_utils/file_formats_model.py,sha256=ZCrjJSgiS6jukJuwoGQVz2W9-u9bzBa2S26hyqWR2oE,14638
223
223
  kash/utils/file_utils/file_sort_filter.py,sha256=-hjNV0AvDTU64zTag9vOlZ7Bg5y04I8Bn61J43si7hw,7003
224
224
  kash/utils/file_utils/file_walk.py,sha256=cpwVDPuaVm95_ZwFJiAdIuZAGhASI3gJ3ZUsCGP75b8,5527
225
225
  kash/utils/file_utils/filename_parsing.py,sha256=sxrZGOv1d4YOCRRtLlpkpYdB-7fIQJqIzUDGH2_S9EA,3350
@@ -244,15 +244,17 @@ kash/web_content/web_extract_justext.py,sha256=74HLJBKDGKatwxyRDX6za70bZG9LrVmtj
244
244
  kash/web_content/web_extract_readabilipy.py,sha256=yxwO-bVtRGepOobqa3AWSVe7WYCOBvWJV9Sktp60_UI,763
245
245
  kash/web_content/web_fetch.py,sha256=dy3p-jrZY2szSgMUgLYWzEbMPsuFopPWKS0C8WIYgMM,3737
246
246
  kash/web_content/web_page_model.py,sha256=g9GUJpPJOd3-3mwajVodA3dcapDg1CMHxnPczXKEWUk,657
247
- kash/web_gen/__init__.py,sha256=mAa0ZNUbazETGHlM8OwxBC35LFvWDUvg15IpbZ-_TU4,121
248
- kash/web_gen/tabbed_webpage.py,sha256=M1ohHmpjWpF-FXSo3vYcXQR9jhK77b6RPvx96vJ_AFg,4511
249
- kash/web_gen/template_render.py,sha256=r5oS7RarPnGfZqS5G-pHnNin6SZRVactRO-c-QX6fcM,763
250
- kash/web_gen/templates/base_styles.css.jinja,sha256=mBBV54STFOghEO3lYsFbJc9qgW4b_ta-tzhIF3HcTv8,5967
251
- kash/web_gen/templates/base_webpage.html.jinja,sha256=OiZzV1aiaCDMBOYo3_dZunX6FyJmoAFQCMboW_ohphA,7044
247
+ kash/web_gen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
248
+ kash/web_gen/simple_webpage.py,sha256=Lu99W277NT04lnFCrLEjea_RI0VcD56BDk8mUW1bRh4,1393
249
+ kash/web_gen/tabbed_webpage.py,sha256=Q_Htw2QO0O9H3A9OFrWw9GBD73cbwB6hOKF-W6mO6YE,4807
250
+ kash/web_gen/template_render.py,sha256=aypo6UanouftV4RpxgNm6JdquelI52fV0IlihdA3yjE,1908
251
+ kash/web_gen/templates/base_styles.css.jinja,sha256=uClAehxp1tN_mxod_uHbcnkoaFjflHDhc9S42V-ndek,6534
252
+ kash/web_gen/templates/base_webpage.html.jinja,sha256=Nvdd8pLSG2OdbrDQRvYcexYIZoMdr1G_7MdUVHNDoA8,7945
252
253
  kash/web_gen/templates/content_styles.css.jinja,sha256=3qcIwIt3DipCDJa9z6oIM_BMxmwoT7E_loTK0F3L9Vo,3629
253
254
  kash/web_gen/templates/explain_view.html.jinja,sha256=DNw5Iw5SrhIUFRGB4qNvfcKXsBHVbEJVURGdhvyC75Q,949
254
- kash/web_gen/templates/item_view.html.jinja,sha256=YoTPeHcDwFg2ST3E_TBzzf2OfuIpxlvItdf0M1UrwL0,6551
255
- kash/web_gen/templates/tabbed_webpage.html.jinja,sha256=P_7I0gvgIHbyt1er13IcN55k0IKoPrkc-d8d-o0KdoI,1539
255
+ kash/web_gen/templates/item_view.html.jinja,sha256=-Rqf2qS9KNbcJp9q1OOtl1aBGgPuwG7jc2Bgw_6YfBg,6791
256
+ kash/web_gen/templates/simple_webpage.html.jinja,sha256=wUUOVhOjCRyHxjOhIl3dcRwppENOzgWaskiM0nX8TNU,721
257
+ kash/web_gen/templates/tabbed_webpage.html.jinja,sha256=u7gabDsCs3neQQlH1y1rIaqT8UumPKVPPZG4VKg5R_g,1823
256
258
  kash/workspaces/__init__.py,sha256=prLkBWLn7QkyAjG-bV8Z5ORJ5o0qSiKmRoP63jf0heY,494
257
259
  kash/workspaces/param_state.py,sha256=vT_eGWqg2SRviIM5jqEAauznX2B5Xt2nHHu2oRxTcIU,746
258
260
  kash/workspaces/selections.py,sha256=bles1G_XueDIP9-kjuTmb1BfI1KK9mBTuHZ2GxJLrEM,12003
@@ -274,8 +276,8 @@ kash/xonsh_custom/xonsh_modern_tools.py,sha256=mj_b34LZXfE8MJe9EpDmp5JZ0tDM1biYN
274
276
  kash/xonsh_custom/xonsh_ranking_completer.py,sha256=ZRGiAfoEgqgnlq2-ReUVEaX5oOgW1DQ9WxIv2OJLuTo,5620
275
277
  kash/xontrib/fnm.py,sha256=V2tsOdmIDgbFbZSfMLpsvDIwwJJqiYnOkOySD1cXNXw,3700
276
278
  kash/xontrib/kash_extension.py,sha256=JRRJC3cZSMOl4sSWEdKAQ_dVRMubWaOltKr8G0dWt6Y,1876
277
- kash_shell-0.3.10.dist-info/METADATA,sha256=lsmYCD3ihVRJao2oHGiNMR_qYHJG_ayQIl3yBIX84OQ,31260
278
- kash_shell-0.3.10.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
279
- kash_shell-0.3.10.dist-info/entry_points.txt,sha256=SQraWDAo8SqYpthLXThei0mf_hGGyhYBUO-Er_0HcwI,85
280
- kash_shell-0.3.10.dist-info/licenses/LICENSE,sha256=rCh2PsfYeiU6FK_0wb58kHGm_Fj5c43fdcHEexiVzIo,34562
281
- kash_shell-0.3.10.dist-info/RECORD,,
279
+ kash_shell-0.3.11.dist-info/METADATA,sha256=_XB0yGroIFhgrIlFYUHqYE9rZlO_dbMHXIF-4pSm3BM,31255
280
+ kash_shell-0.3.11.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
281
+ kash_shell-0.3.11.dist-info/entry_points.txt,sha256=SQraWDAo8SqYpthLXThei0mf_hGGyhYBUO-Er_0HcwI,85
282
+ kash_shell-0.3.11.dist-info/licenses/LICENSE,sha256=rCh2PsfYeiU6FK_0wb58kHGm_Fj5c43fdcHEexiVzIo,34562
283
+ kash_shell-0.3.11.dist-info/RECORD,,