kash-shell 0.3.28__py3-none-any.whl → 0.3.33__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.
- kash/actions/core/chat.py +1 -0
- kash/actions/core/markdownify_html.py +4 -5
- kash/actions/core/minify_html.py +4 -5
- kash/actions/core/readability.py +1 -4
- kash/actions/core/render_as_html.py +10 -7
- kash/actions/core/save_sidematter_meta.py +47 -0
- kash/actions/core/show_webpage.py +2 -0
- kash/actions/core/zip_sidematter.py +47 -0
- kash/commands/base/basic_file_commands.py +7 -4
- kash/commands/base/diff_commands.py +6 -4
- kash/commands/base/files_command.py +31 -30
- kash/commands/base/general_commands.py +3 -2
- kash/commands/base/logs_commands.py +6 -4
- kash/commands/base/reformat_command.py +3 -2
- kash/commands/base/search_command.py +4 -3
- kash/commands/base/show_command.py +9 -7
- kash/commands/help/assistant_commands.py +6 -4
- kash/commands/help/help_commands.py +7 -4
- kash/commands/workspace/selection_commands.py +18 -16
- kash/commands/workspace/workspace_commands.py +39 -26
- kash/config/logger.py +1 -1
- kash/config/setup.py +2 -27
- kash/config/text_styles.py +1 -1
- kash/docs/markdown/topics/a1_what_is_kash.md +26 -18
- kash/docs/markdown/topics/a2_installation.md +3 -2
- kash/exec/action_decorators.py +7 -5
- kash/exec/action_exec.py +104 -53
- kash/exec/fetch_url_items.py +40 -11
- kash/exec/llm_transforms.py +14 -5
- kash/exec/preconditions.py +2 -2
- kash/exec/resolve_args.py +4 -1
- kash/exec/runtime_settings.py +3 -0
- kash/file_storage/file_store.py +108 -114
- kash/file_storage/item_file_format.py +91 -26
- kash/file_storage/item_id_index.py +128 -0
- kash/help/help_types.py +1 -1
- kash/llm_utils/llms.py +6 -1
- kash/local_server/local_server_commands.py +2 -1
- kash/mcp/mcp_server_commands.py +3 -2
- kash/mcp/mcp_server_routes.py +42 -12
- kash/model/actions_model.py +44 -32
- kash/model/compound_actions_model.py +4 -3
- kash/model/exec_model.py +33 -3
- kash/model/items_model.py +150 -60
- kash/model/params_model.py +4 -4
- kash/shell/output/shell_output.py +1 -2
- kash/utils/api_utils/gather_limited.py +2 -0
- kash/utils/api_utils/multitask_gather.py +74 -0
- kash/utils/common/s3_utils.py +108 -0
- kash/utils/common/url.py +16 -4
- kash/utils/file_formats/chat_format.py +7 -4
- kash/utils/file_utils/file_ext.py +1 -0
- kash/utils/file_utils/file_formats.py +4 -2
- kash/utils/file_utils/file_formats_model.py +12 -0
- kash/utils/text_handling/doc_normalization.py +1 -1
- kash/utils/text_handling/markdown_footnotes.py +224 -0
- kash/utils/text_handling/markdown_utils.py +532 -41
- kash/utils/text_handling/markdownify_utils.py +2 -1
- kash/web_content/web_fetch.py +2 -1
- kash/web_gen/templates/components/tooltip_scripts.js.jinja +186 -1
- kash/web_gen/templates/components/youtube_popover_scripts.js.jinja +223 -0
- kash/web_gen/templates/components/youtube_popover_styles.css.jinja +150 -0
- kash/web_gen/templates/content_styles.css.jinja +53 -1
- kash/web_gen/templates/youtube_webpage.html.jinja +47 -0
- kash/web_gen/webpage_render.py +103 -0
- kash/workspaces/workspaces.py +0 -5
- kash/xonsh_custom/custom_shell.py +4 -3
- {kash_shell-0.3.28.dist-info → kash_shell-0.3.33.dist-info}/METADATA +35 -26
- {kash_shell-0.3.28.dist-info → kash_shell-0.3.33.dist-info}/RECORD +72 -64
- kash/llm_utils/llm_features.py +0 -72
- kash/web_gen/simple_webpage.py +0 -55
- {kash_shell-0.3.28.dist-info → kash_shell-0.3.33.dist-info}/WHEEL +0 -0
- {kash_shell-0.3.28.dist-info → kash_shell-0.3.33.dist-info}/entry_points.txt +0 -0
- {kash_shell-0.3.28.dist-info → kash_shell-0.3.33.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{% extends "simple_webpage.html.jinja" %}
|
|
2
|
+
|
|
3
|
+
{#
|
|
4
|
+
Extends the simple page with a right-side YouTube popover player.
|
|
5
|
+
Usage: pass page_template="youtube_webpage.html.jinja" to simple_webpage_render.
|
|
6
|
+
#}
|
|
7
|
+
|
|
8
|
+
{% block custom_styles %}
|
|
9
|
+
{{ super() }}
|
|
10
|
+
<style>
|
|
11
|
+
{% include "components/youtube_popover_styles.css.jinja" %}
|
|
12
|
+
</style>
|
|
13
|
+
{% endblock custom_styles %}
|
|
14
|
+
|
|
15
|
+
{% block body_footer %}
|
|
16
|
+
{{ super() }}
|
|
17
|
+
{# Backdrop for mobile, mirrors TOC backdrop behavior #}
|
|
18
|
+
<div class="yt-backdrop" id="yt-backdrop"></div>
|
|
19
|
+
<div id="yt-popover" class="yt-popover" aria-hidden="true">
|
|
20
|
+
<div class="yt-popover-header">
|
|
21
|
+
<div class="yt-title" id="yt-title"></div>
|
|
22
|
+
<div class="yt-controls">
|
|
23
|
+
<button class="button yt-maximize" aria-label="maximize video"><i data-feather="maximize"></i></button>
|
|
24
|
+
<button class="button yt-close" aria-label="close video"><i data-feather="x"></i></button>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="yt-player-wrap">
|
|
28
|
+
<iframe
|
|
29
|
+
id="yt-iframe"
|
|
30
|
+
class="yt-iframe"
|
|
31
|
+
title="YouTube video player"
|
|
32
|
+
frameborder="0"
|
|
33
|
+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
|
34
|
+
allowfullscreen
|
|
35
|
+
></iframe>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
{% endblock body_footer %}
|
|
39
|
+
|
|
40
|
+
{% block scripts_extra %}
|
|
41
|
+
{{ super() }}
|
|
42
|
+
<script>
|
|
43
|
+
{% include "components/youtube_popover_scripts.js.jinja" %}
|
|
44
|
+
</script>
|
|
45
|
+
{% endblock scripts_extra %}
|
|
46
|
+
|
|
47
|
+
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
from chopdiff.html import rewrite_html_img_urls
|
|
2
|
+
from sidematter_format import Sidematter, copy_sidematter
|
|
3
|
+
|
|
4
|
+
from kash.config.logger import get_logger
|
|
5
|
+
from kash.model.items_model import Item
|
|
6
|
+
from kash.utils.file_utils.file_formats_model import Format
|
|
7
|
+
from kash.utils.text_handling.markdown_utils import rewrite_image_urls
|
|
8
|
+
from kash.web_gen.template_render import render_web_template
|
|
9
|
+
from kash.workspaces.workspaces import current_ws
|
|
10
|
+
|
|
11
|
+
log = get_logger(__name__)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def copy_item_sidematter(
|
|
15
|
+
input_item: Item,
|
|
16
|
+
result_item: Item,
|
|
17
|
+
) -> tuple[str, str]:
|
|
18
|
+
"""
|
|
19
|
+
Copy the sidematter of an item to a new item. Useful for copying assets, especially images.
|
|
20
|
+
"""
|
|
21
|
+
ws = current_ws()
|
|
22
|
+
|
|
23
|
+
# Manually copy over metadata and assets. This makes image assets work.
|
|
24
|
+
assert input_item.store_path
|
|
25
|
+
src_path = ws.base_dir / input_item.store_path
|
|
26
|
+
dest_path = ws.assign_store_path(result_item)
|
|
27
|
+
|
|
28
|
+
log.message(
|
|
29
|
+
"Copying sidematter and assets: %s -> %s",
|
|
30
|
+
input_item.store_path,
|
|
31
|
+
result_item.store_path,
|
|
32
|
+
)
|
|
33
|
+
copy_sidematter(
|
|
34
|
+
src_path=src_path,
|
|
35
|
+
dest_path=dest_path,
|
|
36
|
+
make_parents=True,
|
|
37
|
+
copy_original=False,
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
old_prefix = Sidematter(src_path).assets_dir.name
|
|
41
|
+
new_prefix = Sidematter(dest_path).assets_dir.name
|
|
42
|
+
|
|
43
|
+
return old_prefix, new_prefix
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def rewrite_item_image_urls(
|
|
47
|
+
input_item: Item,
|
|
48
|
+
old_prefix: str,
|
|
49
|
+
new_prefix: str,
|
|
50
|
+
) -> Item:
|
|
51
|
+
"""
|
|
52
|
+
Rewrite image path prefixes. Useful when we are rendering an item with sidematter
|
|
53
|
+
asset paths.
|
|
54
|
+
"""
|
|
55
|
+
|
|
56
|
+
# Rewrite image paths to be relative to the workspace.
|
|
57
|
+
assert input_item.body
|
|
58
|
+
if input_item.format in (Format.markdown, Format.md_html):
|
|
59
|
+
rewritten_body = rewrite_image_urls(input_item.body, old_prefix, new_prefix)
|
|
60
|
+
elif input_item.format == Format.html:
|
|
61
|
+
rewritten_body = rewrite_html_img_urls(
|
|
62
|
+
input_item.body, from_prefix=old_prefix, to_prefix=new_prefix
|
|
63
|
+
)
|
|
64
|
+
else:
|
|
65
|
+
rewritten_body = input_item.body
|
|
66
|
+
|
|
67
|
+
change_str = "found" if rewritten_body != input_item.body else "none found"
|
|
68
|
+
log.message("Rewrote doc image paths (%s): `%s` -> `%s`", change_str, old_prefix, new_prefix)
|
|
69
|
+
rewritten_item = input_item.derived_copy(body=rewritten_body)
|
|
70
|
+
|
|
71
|
+
return rewritten_item
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def render_item_as_html(
|
|
75
|
+
input_item: Item,
|
|
76
|
+
result_item: Item,
|
|
77
|
+
*,
|
|
78
|
+
add_title_h1: bool,
|
|
79
|
+
template_filename: str = "youtube_webpage.html.jinja",
|
|
80
|
+
) -> Item:
|
|
81
|
+
"""
|
|
82
|
+
Render an item as HTML, including copying sidematter and assets.
|
|
83
|
+
Also rewrites image paths to be relative to the workspace.
|
|
84
|
+
The partly filled-in result item is needed to be able to assign a store path.
|
|
85
|
+
If `add_title_h1` is True, the title will be inserted as an h1 heading above the body.
|
|
86
|
+
"""
|
|
87
|
+
|
|
88
|
+
old_prefix, new_prefix = copy_item_sidematter(input_item, result_item)
|
|
89
|
+
|
|
90
|
+
rewritten_item = rewrite_item_image_urls(input_item, old_prefix, new_prefix)
|
|
91
|
+
|
|
92
|
+
result_item.body = render_web_template(
|
|
93
|
+
template_filename=template_filename,
|
|
94
|
+
data={
|
|
95
|
+
"title": input_item.pick_title(),
|
|
96
|
+
"add_title_h1": add_title_h1,
|
|
97
|
+
"content_html": rewritten_item.body_as_html(),
|
|
98
|
+
"thumbnail_url": input_item.thumbnail_url,
|
|
99
|
+
"enable_themes": True,
|
|
100
|
+
"show_theme_toggle": True,
|
|
101
|
+
},
|
|
102
|
+
)
|
|
103
|
+
return result_item
|
kash/workspaces/workspaces.py
CHANGED
|
@@ -53,11 +53,6 @@ class Workspace(ABC):
|
|
|
53
53
|
def base_dir(self) -> Path:
|
|
54
54
|
"""The base directory for this workspace."""
|
|
55
55
|
|
|
56
|
-
@property
|
|
57
|
-
@abstractmethod
|
|
58
|
-
def assets_dir(self) -> Path:
|
|
59
|
-
"""The directory for this workspace's assets."""
|
|
60
|
-
|
|
61
56
|
|
|
62
57
|
def resolve_ws(name: str | Path) -> WorkspaceInfo:
|
|
63
58
|
"""
|
|
@@ -100,7 +100,7 @@ class CustomPTKPromptFormatter(PTKPromptFormatter):
|
|
|
100
100
|
if isinstance(result, FormattedText):
|
|
101
101
|
return result
|
|
102
102
|
except Exception as e:
|
|
103
|
-
log.error("Error formatting prompt: evaluating %s: %s", template, e)
|
|
103
|
+
log.error("Error formatting prompt: evaluating %s: %s", template, e, exc_info=True)
|
|
104
104
|
# On any error, return a simple fallback prompt.
|
|
105
105
|
return FormattedText([("", "$ ")])
|
|
106
106
|
# If it's not FormattedText, use it as the template for parent formatter
|
|
@@ -431,8 +431,9 @@ def start_shell(single_command: str | None = None, ready_event: threading.Event
|
|
|
431
431
|
other customizations but then the rest of the customization is via the `kash_extension`
|
|
432
432
|
xontrib.
|
|
433
433
|
|
|
434
|
-
:
|
|
435
|
-
|
|
434
|
+
Args:
|
|
435
|
+
single_command: Optional command to run in non-interactive mode
|
|
436
|
+
shell_ready_event: Optional event to signal when shell is ready
|
|
436
437
|
"""
|
|
437
438
|
import builtins
|
|
438
439
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kash-shell
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.33
|
|
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>
|
|
@@ -20,7 +20,7 @@ Requires-Dist: aiolimiter>=1.2.1
|
|
|
20
20
|
Requires-Dist: anyio>=4.8.0
|
|
21
21
|
Requires-Dist: audioop-lts>=0.2.1; python_version >= '3.13'
|
|
22
22
|
Requires-Dist: cachetools>=5.5.2
|
|
23
|
-
Requires-Dist: chopdiff>=0.2.
|
|
23
|
+
Requires-Dist: chopdiff>=0.2.5
|
|
24
24
|
Requires-Dist: clideps>=0.1.4
|
|
25
25
|
Requires-Dist: colour>=0.1.5
|
|
26
26
|
Requires-Dist: cssselect>=1.2.0
|
|
@@ -28,8 +28,8 @@ Requires-Dist: curl-cffi>=0.11.4
|
|
|
28
28
|
Requires-Dist: deepgram-sdk>=3.10.1
|
|
29
29
|
Requires-Dist: dunamai>=1.23.0
|
|
30
30
|
Requires-Dist: fastapi>=0.115.11
|
|
31
|
-
Requires-Dist: flowmark>=0.5.
|
|
32
|
-
Requires-Dist: frontmatter-format>=0.2.
|
|
31
|
+
Requires-Dist: flowmark>=0.5.3
|
|
32
|
+
Requires-Dist: frontmatter-format>=0.2.3
|
|
33
33
|
Requires-Dist: funlog>=0.2.0
|
|
34
34
|
Requires-Dist: httpx[brotli]>=0.28.1
|
|
35
35
|
Requires-Dist: humanfriendly>=10.0
|
|
@@ -46,7 +46,7 @@ Requires-Dist: pandas>=2.2.3
|
|
|
46
46
|
Requires-Dist: patch-ng>=1.18.1
|
|
47
47
|
Requires-Dist: pathspec>=0.12.1
|
|
48
48
|
Requires-Dist: pluralizer>=1.2.0
|
|
49
|
-
Requires-Dist: prettyfmt>=0.
|
|
49
|
+
Requires-Dist: prettyfmt>=0.4.1
|
|
50
50
|
Requires-Dist: prompt-toolkit>=3.0.50
|
|
51
51
|
Requires-Dist: pydantic>=2.10.6
|
|
52
52
|
Requires-Dist: pydub>=0.25.1
|
|
@@ -62,9 +62,10 @@ Requires-Dist: regex>=2024.11.6
|
|
|
62
62
|
Requires-Dist: rich-argparse>=1.7.0
|
|
63
63
|
Requires-Dist: rich>=14.0.0
|
|
64
64
|
Requires-Dist: ripgrepy>=2.1.0
|
|
65
|
+
Requires-Dist: selectolax>=0.3.32
|
|
65
66
|
Requires-Dist: send2trash>=1.8.3
|
|
66
67
|
Requires-Dist: setproctitle>=1.3.5
|
|
67
|
-
Requires-Dist: sidematter-format>=0.0.
|
|
68
|
+
Requires-Dist: sidematter-format>=0.0.5
|
|
68
69
|
Requires-Dist: strif>=3.0.1
|
|
69
70
|
Requires-Dist: tenacity>=9.0.0
|
|
70
71
|
Requires-Dist: thefuzz>=0.22.1
|
|
@@ -85,6 +86,19 @@ src="https://github.com/user-attachments/assets/a5d62ae4-17e6-46bb-a9cb-3b6ec8d8
|
|
|
85
86
|
|
|
86
87
|
</div>
|
|
87
88
|
|
|
89
|
+
## Hello!
|
|
90
|
+
|
|
91
|
+
If you’re seeing this, you there’s a good chance I shared it with you for feedback.
|
|
92
|
+
Thank you for checking out Kash.
|
|
93
|
+
|
|
94
|
+
It’s new, the result of some experimentation over the past few months.
|
|
95
|
+
I like a lot of things about it but it isn’t mature and I’d love your help to make it
|
|
96
|
+
more usable. If you try it please **let me know** what works and what doesn’t work.
|
|
97
|
+
Or if you just don’t get it, where you lost interest or got stuck.
|
|
98
|
+
My contact info is at [github.com/jlevy](https://github.com/jlevy) or [follow or DM
|
|
99
|
+
me](https://x.com/ojoshe) (I’m fastest on Twitter DMs).
|
|
100
|
+
Thank you. :)
|
|
101
|
+
|
|
88
102
|
## What is Kash?
|
|
89
103
|
|
|
90
104
|
> “*Simple should be simple.
|
|
@@ -99,9 +113,15 @@ It operates on “items” such as URLs, files, or Markdown notes within a works
|
|
|
99
113
|
directory.
|
|
100
114
|
|
|
101
115
|
You can use Kash as an **interactive, AI-native command-line** shell for practical
|
|
102
|
-
knowledge tasks.
|
|
103
|
-
|
|
104
|
-
|
|
116
|
+
knowledge tasks.
|
|
117
|
+
|
|
118
|
+
But it’s actually not just a shell, and you can skip the shell entirely.
|
|
119
|
+
It’s really simply **a Python library** that lets you convert a simple Python function
|
|
120
|
+
into “actions” that work in a clean way on plain files in a workspace.
|
|
121
|
+
An action is also an MCP tool, so it integrates with other tools like Anthropic Desktop
|
|
122
|
+
or Cursor.
|
|
123
|
+
|
|
124
|
+
So basically, it gives a unified way to use the shell, Python functions, and MCP tools.
|
|
105
125
|
|
|
106
126
|
It’s new and still has some rough edges, but it’s now working well enough it is feeling
|
|
107
127
|
quite powerful. It now serves as a replacement for my usual shell (previously bash or
|
|
@@ -160,10 +180,10 @@ quick to install via uv.
|
|
|
160
180
|
- **Support for any API:** Kash is tool agnostic and runs locally, on file inputs in
|
|
161
181
|
simple formats, so you own and manage your data and workspaces however you like.
|
|
162
182
|
You can use it with any models or APIs you like, and is already set up to use the APIs
|
|
163
|
-
of **OpenAI GPT-
|
|
164
|
-
Grok**, **Mistral**, **Groq (Llama, Qwen, Deepseek)** (via
|
|
165
|
-
**Perplexity**, **Firecrawl**, **Exa**, and any Python
|
|
166
|
-
There is also some experimental support for **LlamaIndex** and **ChromaDB**.
|
|
183
|
+
of **OpenAI** (GPT-5 is now the default model), **Anthropic Claude**, **Google
|
|
184
|
+
Gemini**, **xAI Grok**, **Mistral**, **Groq (Llama, Qwen, Deepseek)** (via
|
|
185
|
+
**LiteLLM**), **Deepgram**, **Perplexity**, **Firecrawl**, **Exa**, and any Python
|
|
186
|
+
libraries. There is also some experimental support for **LlamaIndex** and **ChromaDB**.
|
|
167
187
|
|
|
168
188
|
- **MCP support:** Finally, an action is also an **MCP tool server** so you can use it
|
|
169
189
|
in any MCP client, like Anthropic Desktop or Cursor.
|
|
@@ -198,17 +218,6 @@ I’ve separately built a new desktop terminal app, Kerm, which adds support for
|
|
|
198
218
|
the terminal. Because Kash supports these codes, as this develops you will get the
|
|
199
219
|
visuals of a web app layered on the flexibility of a text-based terminal.
|
|
200
220
|
|
|
201
|
-
### Is Kash Mature?
|
|
202
|
-
|
|
203
|
-
It’s the result of a couple months of coding and experimentation, and it’s still in
|
|
204
|
-
progress and has rough edges.
|
|
205
|
-
Please help me make it better by sharing your ideas and feedback!
|
|
206
|
-
It’s easiest to DM me at [twitter.com/ojoshe](https://x.com/ojoshe).
|
|
207
|
-
My contact info is at [github.com/jlevy](https://github.com/jlevy).
|
|
208
|
-
|
|
209
|
-
[**Please follow or DM me**](https://x.com/ojoshe) for future updates or if you have
|
|
210
|
-
ideas, feedback, or use cases for Kash!
|
|
211
|
-
|
|
212
221
|
## Installation
|
|
213
222
|
|
|
214
223
|
### Running the Kash Shell
|
|
@@ -271,8 +280,8 @@ These are for `kash-media` but you can use a `kash-shell` for a more basic setup
|
|
|
271
280
|
|
|
272
281
|
```shell
|
|
273
282
|
sudo apt-get update
|
|
274
|
-
sudo apt-get install -y libgl1 ffmpeg libmagic-dev
|
|
275
|
-
#
|
|
283
|
+
sudo apt-get install -y libgl1 ffmpeg libmagic-dev imagemagick bat ripgrep hexyl
|
|
284
|
+
# Or for more additional command-line tools, pixi is better on Ubuntu:
|
|
276
285
|
curl -fsSL https://pixi.sh/install.sh | sh
|
|
277
286
|
. ~/.bashrc
|
|
278
287
|
pixi global install ripgrep bat eza hexyl imagemagick zoxide
|
|
@@ -2,56 +2,58 @@ kash/__init__.py,sha256=hplHtnRqt1MpGIgKv3WZb9YoCoMPGtnNGtu8Eb9G6zI,110
|
|
|
2
2
|
kash/__main__.py,sha256=83JiHvCNK7BAwEkaTD0kVekj7PEMucvCyquSl4p-1QA,78
|
|
3
3
|
kash/actions/__init__.py,sha256=t3navovxzBkHxx0tQv7-97mXKl_kZmmXAIWszEeU77U,2725
|
|
4
4
|
kash/actions/core/assistant_chat.py,sha256=28G20cSr7Z94cltouTPve5TXY3km0lACrRvpLE27fK8,1837
|
|
5
|
-
kash/actions/core/chat.py,sha256=
|
|
5
|
+
kash/actions/core/chat.py,sha256=9_xh9cWwXjkC_SYme-ScOg6Miqeydv15ccrwHqQvgq8,2727
|
|
6
6
|
kash/actions/core/combine_docs.py,sha256=5bTU7n_ICavvTXfC7fs5BDMeZYn7Xh5FkU7DVQqDHAQ,1536
|
|
7
7
|
kash/actions/core/concat_docs.py,sha256=Umx3VzFiHJGY-76AEs4ju_1HnB9SbQsBux03Mkeig24,1345
|
|
8
8
|
kash/actions/core/format_markdown_template.py,sha256=ZJbtyTSypPo2ewLiGRSyIpVf711vQMhI_-Ng-FgCs80,2991
|
|
9
|
-
kash/actions/core/markdownify_html.py,sha256=
|
|
10
|
-
kash/actions/core/minify_html.py,sha256=
|
|
11
|
-
kash/actions/core/readability.py,sha256=
|
|
12
|
-
kash/actions/core/render_as_html.py,sha256=
|
|
13
|
-
kash/actions/core/
|
|
9
|
+
kash/actions/core/markdownify_html.py,sha256=0ZPH4b7IUWbMGi1mi0RzDPQKlqpLIsOy6ax_Gn7SSyA,1770
|
|
10
|
+
kash/actions/core/minify_html.py,sha256=TRhyn7Gvcowou8pzq9vzDTtcCFOA4eC5217pJ9rPuOw,1386
|
|
11
|
+
kash/actions/core/readability.py,sha256=P1whiDanaAKTPw2KwHG15QNcjHzwpuTWne0s4LyUfuQ,990
|
|
12
|
+
kash/actions/core/render_as_html.py,sha256=i0WgtDgEJAeTTpVLS_CxDloDCb1Mhkzrcvv0VmoOyQ8,1901
|
|
13
|
+
kash/actions/core/save_sidematter_meta.py,sha256=fKLE5eWIorOdw_FW46AUivXACQ6cxWvKWllcEjT6mz8,1440
|
|
14
|
+
kash/actions/core/show_webpage.py,sha256=2A8u29Wf-iWNbPRfnz7u6MUhcXk_b8B8ruUT825d_mA,978
|
|
14
15
|
kash/actions/core/strip_html.py,sha256=FDLN_4CKB11q5cU4NixTf7PGrAq92AjQNbKAdvQDwCY,849
|
|
15
16
|
kash/actions/core/summarize_as_bullets.py,sha256=Zwr8lNzL77pwpnW_289LQjNBijNDpTPANfFdOJA-PZ4,2070
|
|
16
17
|
kash/actions/core/tabbed_webpage_config.py,sha256=rIbzEhBTmnkbSiRZC-Rj46T1J6c0jOztiKE9Usa4nsc,980
|
|
17
18
|
kash/actions/core/tabbed_webpage_generate.py,sha256=935HkDSuP4eZ1e0xf-LhjPOdicU3wI5Kuh79r61QCl8,988
|
|
19
|
+
kash/actions/core/zip_sidematter.py,sha256=E7ae0g9Bz7uXApYdNY-a8GvSIIPoqXcD95mjMaKQlsM,1557
|
|
18
20
|
kash/actions/meta/write_instructions.py,sha256=zeKKX-Yi8jSyjvZ4Ii_4MNBRtM2MENuHyrD0Vxsaos8,1277
|
|
19
21
|
kash/actions/meta/write_new_action.py,sha256=w7SJZ2FjzRbKwqKX9PeozUrh8cNJAumX7F80wW7dQts,6356
|
|
20
22
|
kash/commands/__init__.py,sha256=MhdPSluWGE3XVQ7LSv2L8_aAxaey8CLjQBjGC9B4nRM,191
|
|
21
|
-
kash/commands/base/basic_file_commands.py,sha256=
|
|
23
|
+
kash/commands/base/basic_file_commands.py,sha256=y13xxPWldXp03ndqVKxz6MrLwSV9DjuKKg4rMTIyb0U,7079
|
|
22
24
|
kash/commands/base/browser_commands.py,sha256=iYvpW4D_tlhW_p0cq3A6YO9UGCdHtvzIQiNMDwCY07A,1574
|
|
23
25
|
kash/commands/base/debug_commands.py,sha256=9I5W3SMQvsnpcs-b6CJCYu1Ydl6gIoTUcDZxvn1dN3g,7643
|
|
24
|
-
kash/commands/base/diff_commands.py,sha256=
|
|
25
|
-
kash/commands/base/files_command.py,sha256=
|
|
26
|
-
kash/commands/base/general_commands.py,sha256=
|
|
27
|
-
kash/commands/base/logs_commands.py,sha256=
|
|
26
|
+
kash/commands/base/diff_commands.py,sha256=5FypsOGiSvZAiis0bahlgR1vfmcxBpLwnkF8oZQD3eY,4921
|
|
27
|
+
kash/commands/base/files_command.py,sha256=e4yLfb4_hsKQEvVdeBQSl7TNr8v4FDSUsYk9iOUR6hk,16756
|
|
28
|
+
kash/commands/base/general_commands.py,sha256=V18XZv5fu-Wi3T41pLVx8BKe_6VkS8FRehMsnuo5ikE,7015
|
|
29
|
+
kash/commands/base/logs_commands.py,sha256=9w11XLKbZ_ZKMF9SasaKGM6lZNXRjJrQy8LE-2xkV8Q,2971
|
|
28
30
|
kash/commands/base/model_commands.py,sha256=d17a2NvfDbwV1y8gyZVsOtX-j5H5we5OEXM9TxTqvBs,1790
|
|
29
|
-
kash/commands/base/reformat_command.py,sha256=
|
|
30
|
-
kash/commands/base/search_command.py,sha256=
|
|
31
|
-
kash/commands/base/show_command.py,sha256=
|
|
31
|
+
kash/commands/base/reformat_command.py,sha256=G1u4FVjGMx4FxzfsqQkLn7420ABi8GW_nJzYle7wwBI,1884
|
|
32
|
+
kash/commands/base/search_command.py,sha256=K3_N1po1CUPRw6PQVeyQvEVtUoVRCfOgHEaTngZ1x3A,2202
|
|
33
|
+
kash/commands/base/show_command.py,sha256=o8wAYAulwNhwhPwGMS_0wjwYsTqBjcLYcN5UumsOyuE,3345
|
|
32
34
|
kash/commands/extras/parse_uv_lock.py,sha256=HVqmGhJAd3ZCTTTaXe_nzzTMFKhwjLLP7hx4NTM224U,5696
|
|
33
35
|
kash/commands/extras/utils_commands.py,sha256=rz3N7VxoUHvCxksRt-sLubkvyW-VH9OTltLEMEnjRfU,769
|
|
34
|
-
kash/commands/help/assistant_commands.py,sha256=
|
|
36
|
+
kash/commands/help/assistant_commands.py,sha256=tZXmMqCrlDHI1KWmKpQEz5kTxYViPWxATF5hSupbeWM,3060
|
|
35
37
|
kash/commands/help/doc_commands.py,sha256=7lKR7mzue2N7pSkNqblpFJy892fS5N6jWVOHqeXziHw,2466
|
|
36
|
-
kash/commands/help/help_commands.py,sha256=
|
|
38
|
+
kash/commands/help/help_commands.py,sha256=5exWU4SpnI20GD-zhLchSaL0664jA2t41xh6trPLnC4,4255
|
|
37
39
|
kash/commands/help/logo.py,sha256=4K3pPIiNlPIgdNeOgdIGbJQCKmqCEsDOhuWPH51msWo,3377
|
|
38
40
|
kash/commands/help/welcome.py,sha256=16pAASjc4UNbm-eKC482Co6VB8i-fSwII8XYrW9JbHA,934
|
|
39
|
-
kash/commands/workspace/selection_commands.py,sha256=
|
|
40
|
-
kash/commands/workspace/workspace_commands.py,sha256=
|
|
41
|
+
kash/commands/workspace/selection_commands.py,sha256=cMB6O1ejDb2s_u3o2Zaq-iytykhQzWYtDGd0j4jkGLo,8142
|
|
42
|
+
kash/commands/workspace/workspace_commands.py,sha256=GE_wHdeYFJ1ruRi4spZtyyTjYXJWCYEQ1Vmc52fIpSQ,22296
|
|
41
43
|
kash/config/__init__.py,sha256=ytly9Typ1mWV4CXfV9G3CIPtPQ02u2rpZ304L3GlFro,148
|
|
42
44
|
kash/config/capture_output.py,sha256=ud3uUVNuDicHj3mI_nBUBO-VmOrxtBdA3z-I3D1lSCU,2398
|
|
43
45
|
kash/config/colors.py,sha256=cV3LRBegDZxZXjV-XEjc3fystFY_defhz1LN8QPdaKc,13727
|
|
44
46
|
kash/config/env_settings.py,sha256=uhCdfs9-TzJ15SzbuIQP1yIORaLUqYXCxh9qq_Z8cJc,996
|
|
45
47
|
kash/config/init.py,sha256=aE4sZ6DggBmmoZEx9C5mQKrEbcDiswX--HF7pfCFKzc,526
|
|
46
48
|
kash/config/lazy_imports.py,sha256=MCZXLnKvNyfHi0k7MU5rNwcdJtUF28naCixuogsAOAA,805
|
|
47
|
-
kash/config/logger.py,sha256=
|
|
49
|
+
kash/config/logger.py,sha256=Wrhau5gPYwGSmA1V2IbMhyApTRgB8p4Pyk8JL7OCTaE,12189
|
|
48
50
|
kash/config/logger_basic.py,sha256=Gsxitz7xeMGCUr5qjWK6y72qeMsIz4mcDZP5xyzK0WU,1598
|
|
49
51
|
kash/config/logo.txt,sha256=P4RO1cJ9HRF1BavTp3Kae9iByDNhzhEC-qLAa6ww1RA,217
|
|
50
52
|
kash/config/server_config.py,sha256=eQ1yxDk031QI0Efp0I1VetqQd9wG7MrLVBCHFm4gp2g,1790
|
|
51
53
|
kash/config/settings.py,sha256=Tja5MNZJDjo5SRaCngfQQFTTjmVGUlmkCZ7UEAhvXqw,9087
|
|
52
|
-
kash/config/setup.py,sha256=
|
|
54
|
+
kash/config/setup.py,sha256=SepMs7CvWdIXCjs03_noA16PETW_YOxH33F8cdP8kYc,2643
|
|
53
55
|
kash/config/suppress_warnings.py,sha256=yty5ZodMLIpmjphRtcVmRamXfiWbyfga9annve6qxb0,1475
|
|
54
|
-
kash/config/text_styles.py,sha256=
|
|
56
|
+
kash/config/text_styles.py,sha256=pQ0FKJW7eSXU6ol5LhyaGZewxF40L6Q0o92mfsNNCYQ,13843
|
|
55
57
|
kash/config/unified_live.py,sha256=tUEnTWMSYKYSJkEoAPbaJET-bJ1HnfU2Ar-XeyBOtlo,8420
|
|
56
58
|
kash/docs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
57
59
|
kash/docs/all_docs.py,sha256=NutfgU8VOA7_K2HX18FoOHVvvLL14dALoCxK9qDbQ04,3157
|
|
@@ -64,8 +66,8 @@ kash/docs/markdown/assistant_instructions_template.md,sha256=oLZbr8DPbl1x8pfouqt
|
|
|
64
66
|
kash/docs/markdown/readme_template.md,sha256=iGx9IjSni1t_9BuYD5d2GgkxkNIkqvE3k78IufHF6Yg,409
|
|
65
67
|
kash/docs/markdown/warning.md,sha256=ipTFWQc1F0cPGrIG0epX5RqQH6PmshyZOoCQDz0zDos,88
|
|
66
68
|
kash/docs/markdown/welcome.md,sha256=wdvPehSgQWFPXJFRfBcA1GqA_WsS7C2rrpPuAnVVens,613
|
|
67
|
-
kash/docs/markdown/topics/a1_what_is_kash.md,sha256=
|
|
68
|
-
kash/docs/markdown/topics/a2_installation.md,sha256=
|
|
69
|
+
kash/docs/markdown/topics/a1_what_is_kash.md,sha256=3zDbkF7IAS4sLz1bASturGUZBI65tJbQrRBJOXPa4Os,7341
|
|
70
|
+
kash/docs/markdown/topics/a2_installation.md,sha256=EFIVGu9epbRMLzdu4LMnQEfJLOddbsXPaMDUYSsdGig,5791
|
|
69
71
|
kash/docs/markdown/topics/a3_getting_started.md,sha256=8V95mk9MKH7fTWb0YoyOkRpeFHL2J9oaf5Lo7Ci-WXI,9396
|
|
70
72
|
kash/docs/markdown/topics/a4_elements.md,sha256=GSu6vEEiNA9b87FGmJcL-VsCuaL3T9sbhFKMe0sI834,4623
|
|
71
73
|
kash/docs/markdown/topics/a5_tips_for_use_with_other_tools.md,sha256=rd7EIqqQJH-gVDwFFUYnJKamZMyeJi7P8svFdDTNXyQ,3303
|
|
@@ -85,21 +87,21 @@ kash/embeddings/cosine.py,sha256=QTWPWUHivXjxCM6APSqij_-4mywM2BVVm0xb0hu7FHA,158
|
|
|
85
87
|
kash/embeddings/embeddings.py,sha256=DirB5DjowEQADfxtp1BTROINyIxU2QEUj79_tXipRfo,6664
|
|
86
88
|
kash/embeddings/text_similarity.py,sha256=2jp0A27dOto6kItzqe95-f-lx6Mop68d-MJevyCHj9o,1817
|
|
87
89
|
kash/exec/__init__.py,sha256=Najls8No143yoj_KAaOQgo8ufC2LWCB_DwwEQ-8nDM0,1277
|
|
88
|
-
kash/exec/action_decorators.py,sha256=
|
|
89
|
-
kash/exec/action_exec.py,sha256=
|
|
90
|
+
kash/exec/action_decorators.py,sha256=omCr3oxB7LRBWksRrB8nif1bSgFv2ZBKhfMGQuTBp2k,16956
|
|
91
|
+
kash/exec/action_exec.py,sha256=HZ7ZtWhpkRxjzai_ZIeTf33Ak_4HmmLujjvSud8yGsw,20943
|
|
90
92
|
kash/exec/action_registry.py,sha256=numU9pH_W5RgIrYmfi0iYMYy_kLJl6vup8PMrhxAfdc,2627
|
|
91
93
|
kash/exec/combiners.py,sha256=AJ6wgPUHsmwanObsUw64B83XzU26yuh5t4l7igLn82I,4291
|
|
92
94
|
kash/exec/command_exec.py,sha256=zc-gWm7kyB5J5Kp8xhULQ9Jj9AL927KkDPXXk-Yr1Bw,1292
|
|
93
95
|
kash/exec/command_registry.py,sha256=1s2ogU8b8nqK_AEtslbr1eYrXCGDkeT30UrB7L0BRoM,2027
|
|
94
|
-
kash/exec/fetch_url_items.py,sha256=
|
|
96
|
+
kash/exec/fetch_url_items.py,sha256=BNqAPL4VaXUGZ_q3pNt5QLNKMfU0PMLDrdw8f6xQRo8,6211
|
|
95
97
|
kash/exec/history.py,sha256=l2XwHGBR1UgTGSFPSBE9mltmxvjR_5qFFO6d-Z008nc,1208
|
|
96
98
|
kash/exec/importing.py,sha256=xunmBapeUMNc6Zox7y6e_DZkidyWeouiFZpphajwSzc,1843
|
|
97
|
-
kash/exec/llm_transforms.py,sha256=
|
|
99
|
+
kash/exec/llm_transforms.py,sha256=jQAnxHhcvF3oILjpSHx0YRw8Qw-ZnioukXaJuaqjNVk,4626
|
|
98
100
|
kash/exec/precondition_checks.py,sha256=HymxL7qm4Yz8V76Um5pKdIRnQ2N-p9rpQQi1fI38bNA,2139
|
|
99
101
|
kash/exec/precondition_registry.py,sha256=9O-01d2OrsYLuhqodVuWjouLR2ABJbUotAmfJNBCRzs,1439
|
|
100
|
-
kash/exec/preconditions.py,sha256=
|
|
101
|
-
kash/exec/resolve_args.py,sha256=
|
|
102
|
-
kash/exec/runtime_settings.py,sha256=
|
|
102
|
+
kash/exec/preconditions.py,sha256=bwNuuPEnkymj24ySPTl8K5DEgTtB2NPGAm9cWaomhAk,5262
|
|
103
|
+
kash/exec/resolve_args.py,sha256=jxuur3ZjnbXiMa_dvp-faeAkA8k43CJ7xX4NYbpQwP0,4510
|
|
104
|
+
kash/exec/runtime_settings.py,sha256=6wKjms4uacmwtnH4hZTB3tncCi38bzPfVO_smmjyNno,4022
|
|
103
105
|
kash/exec/shell_callable_action.py,sha256=IN50c_Xsbn5Pv_ZKrel-UlrNDyIKh2BdeAkMmJ88Uis,4397
|
|
104
106
|
kash/exec_model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
105
107
|
kash/exec_model/args_model.py,sha256=gquOD0msFA-5xhNU-3R5l8wlwyAMefpMHltpxrDlYGQ,2662
|
|
@@ -107,8 +109,9 @@ kash/exec_model/commands_model.py,sha256=iM8QhzA0tAas5OwF5liUfHtm45XIH1LcvCviuh3
|
|
|
107
109
|
kash/exec_model/script_model.py,sha256=1VG3LhkTmlKzHOYouZ92ZpOSKSCcsz3-tHNcFMQF788,5031
|
|
108
110
|
kash/exec_model/shell_model.py,sha256=LUhQivbpXlerM-DUzNY7BtctNBbn08Wto8CSSxQDxRU,568
|
|
109
111
|
kash/file_storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
110
|
-
kash/file_storage/file_store.py,sha256=
|
|
111
|
-
kash/file_storage/item_file_format.py,sha256=
|
|
112
|
+
kash/file_storage/file_store.py,sha256=rWFJD_PVzNgBtFBUD8Ltj9GK-am5zFj9vrMdyIy9pjQ,31442
|
|
113
|
+
kash/file_storage/item_file_format.py,sha256=QNNpvMDDNyBLLrIwy3yhNgN0Ktsvjh-_Uzkf2XQpI98,7531
|
|
114
|
+
kash/file_storage/item_id_index.py,sha256=aiDHomizFLO_Ui2i6n-YIF4RUosIsxRIQca35yCdIIk,4589
|
|
112
115
|
kash/file_storage/metadata_dirs.py,sha256=9AqO3S3SSY1dtvP2iLX--E4ui0VIzXttG8R040otfyg,3820
|
|
113
116
|
kash/file_storage/persisted_yaml.py,sha256=4-4RkFqdlBUkTOwkdA4vRKUywEE9TaDo13OGaDUyU9M,1309
|
|
114
117
|
kash/file_storage/store_cache_warmer.py,sha256=cQ_KwxkBPWT3lMmYOCTkXgo7CKaGINns2YzIH32ExSU,1013
|
|
@@ -122,7 +125,7 @@ kash/help/help_embeddings.py,sha256=EERozW4CriUv1L9blox5eK3OYm31ypoNicxzaUBrYtU,
|
|
|
122
125
|
kash/help/help_lookups.py,sha256=0dtuLWEXncqhJCijC98IA9stBDNNcJewt1JYqMLkTx4,2029
|
|
123
126
|
kash/help/help_pages.py,sha256=TaKsE26R-pZTrK4Pa593DK5osdJodFHaVm5pZpjqgaI,3894
|
|
124
127
|
kash/help/help_printing.py,sha256=eZbZdyJC158JiXcEk2zvUmqYbYzbYOpHvxEhC1kIN-Q,6086
|
|
125
|
-
kash/help/help_types.py,sha256=
|
|
128
|
+
kash/help/help_types.py,sha256=pZDxisdqH6_VaS1EOzYMgAfRcy0KauQNW_DdVCUGfD0,7888
|
|
126
129
|
kash/help/recommended_commands.py,sha256=jqc3TjWFBqDJ-iSzXn8vTOplb4uHndwvdAGJfcUV_qs,2486
|
|
127
130
|
kash/help/tldr_help.py,sha256=bcu__MIF4vYlZEeqQqieGIBcRhNCTK5u8jPV08ObzCI,9654
|
|
128
131
|
kash/llm_utils/__init__.py,sha256=3yjign7KD-kM3ZBBcgtrZz-zjJ2Yx2Q-9bzknBx5vbU,401
|
|
@@ -132,13 +135,12 @@ kash/llm_utils/fuzzy_parsing.py,sha256=bbG2Y7i5w6kxAVPAixyluv3MDS2hW_pkhnJpVOLHZ
|
|
|
132
135
|
kash/llm_utils/init_litellm.py,sha256=5Fn9uW4P7lfEO8Rk1EJJUzDEGNjw-PDvxFgHlKDf-Ok,409
|
|
133
136
|
kash/llm_utils/llm_api_keys.py,sha256=nTB9wSFfHTOXvqshSQCQGCPxUwOW1U7oslngya8nHkw,1168
|
|
134
137
|
kash/llm_utils/llm_completion.py,sha256=SzeWGRrsjuN1TXdPwscYG6whLQkHclITtwTvQK19GE0,5436
|
|
135
|
-
kash/llm_utils/llm_features.py,sha256=ZpQhHiRDtF1BY8HGxTQH0dIeM3rux7a9CvJ0JO2KAlI,1847
|
|
136
138
|
kash/llm_utils/llm_messages.py,sha256=70QwIIvdwo-h4Jfn_6MbEHb3LTUjUmzg_v_dU_Ey__g,1174
|
|
137
139
|
kash/llm_utils/llm_names.py,sha256=VZbdKnoeBx_luB5YQ-Rz37gMt3_FcueJdp40ZaQbpUA,3620
|
|
138
|
-
kash/llm_utils/llms.py,sha256=
|
|
140
|
+
kash/llm_utils/llms.py,sha256=S4hBDeOraKOp9e99M8Ga61u6xAkocxs02jXgJRdFNSA,3983
|
|
139
141
|
kash/local_server/__init__.py,sha256=AyNpvCOJlQF6A4DnlYKRMbbfRNzdizEA-ytp-F2SLZU,162
|
|
140
142
|
kash/local_server/local_server.py,sha256=EugjL30VM0pWdZDsiQxU-o6EdEa082qlGd_7RHvI5tk,5863
|
|
141
|
-
kash/local_server/local_server_commands.py,sha256=
|
|
143
|
+
kash/local_server/local_server_commands.py,sha256=T5wN-Xty3IbwbyeJxTULPB2NqssWLJcuV8IoqMu9bus,1668
|
|
142
144
|
kash/local_server/local_server_routes.py,sha256=JlIVsrbsU0yiwv7vAoD9BctqiBI0w6u8Ld3BYY4jmo8,10530
|
|
143
145
|
kash/local_server/local_url_formatters.py,sha256=SqHjGMEufvm43n34SCa_8Asdwm7utx91Wwymj15TuSY,5327
|
|
144
146
|
kash/local_server/port_tools.py,sha256=oFfOvO6keqS5GowTpVg2FTu5KqkPHBq-dWAEomUIgGo,2008
|
|
@@ -146,8 +148,8 @@ kash/local_server/rich_html_template.py,sha256=O9CnkMYkWuMvKJkqD0P8jaZqfUe6hMP4L
|
|
|
146
148
|
kash/mcp/__init__.py,sha256=HA_aFskEchpAwA0wOKi5nasytx2JZfH8z9oCVXUI7MQ,160
|
|
147
149
|
kash/mcp/mcp_cli.py,sha256=UC0Jwd7DLxx2zEFj0hK1UWPkXXXGntV1te33CensyHM,3849
|
|
148
150
|
kash/mcp/mcp_main.py,sha256=6PhjKwp631mezDTUAd-pL8lUZx9Gl7yCrCQFW61pqJU,3167
|
|
149
|
-
kash/mcp/mcp_server_commands.py,sha256=
|
|
150
|
-
kash/mcp/mcp_server_routes.py,sha256=
|
|
151
|
+
kash/mcp/mcp_server_commands.py,sha256=sKPBD4DptUArxo833eJRRYYRt32E5Dwpr0k8Qe6U8ec,4349
|
|
152
|
+
kash/mcp/mcp_server_routes.py,sha256=gWsr9WkEVzSslF-XaiO7wMUD9bJeabXj4xNy6WwqHaM,11757
|
|
151
153
|
kash/mcp/mcp_server_sse.py,sha256=7zAOJodrCVfLtChUTRxzgxWGymQnmj1e9fRG7H_yqXg,5678
|
|
152
154
|
kash/mcp/mcp_server_stdio.py,sha256=u-oeIZKwzIAGlKmBpipC-hfNQKx36Md9hST11y3AZUY,1174
|
|
153
155
|
kash/media_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -161,18 +163,18 @@ kash/media_base/transcription_format.py,sha256=rOVPTpwvW22c27BRwYF-Tc_xzqK_wOtUZ
|
|
|
161
163
|
kash/media_base/transcription_whisper.py,sha256=GqvroW9kBAH4-gcbYkMgNCfs2MpMIgm1ip3NMWtJ0IE,1169
|
|
162
164
|
kash/media_base/services/local_file_media.py,sha256=_NV-T90rShJ8ucUjQXMPCKKJ50GSFE9PyyVzhXp5z9w,5624
|
|
163
165
|
kash/model/__init__.py,sha256=kFfBKb5N70NWYUfpRRxn_Sb9p_vXlB6BBaTCqWmSReo,2978
|
|
164
|
-
kash/model/actions_model.py,sha256
|
|
166
|
+
kash/model/actions_model.py,sha256=-41qz76Z9NZZhRQcPDRopyHAGxHCrTvbMRDv8fnb7CQ,23185
|
|
165
167
|
kash/model/assistant_response_model.py,sha256=6eDfC27nyuBDFjv5nCYMa_Qb2mPbKwDzZy7uLOIyskI,2653
|
|
166
|
-
kash/model/compound_actions_model.py,sha256=
|
|
168
|
+
kash/model/compound_actions_model.py,sha256=oYEtVKtQv-mA1abZkK7PvaM9xazVBUuk1z0geKBulak,6965
|
|
167
169
|
kash/model/concept_model.py,sha256=we2qOcy9Mv1q7XPfkDLp_CyO_-8DwAUfUYlpgy_jrFs,1011
|
|
168
|
-
kash/model/exec_model.py,sha256=
|
|
170
|
+
kash/model/exec_model.py,sha256=3Su3NEmEtDoSuQSxvg75FYY_EdClSM5pwQK1i7_S88A,3131
|
|
169
171
|
kash/model/graph_model.py,sha256=T034y0E9OJtITd1g9zp9vll5pLscdatq6JoT08KvPZE,2724
|
|
170
|
-
kash/model/items_model.py,sha256=
|
|
172
|
+
kash/model/items_model.py,sha256=V7so_AWc7skRZGlByIK5m3ETUaHEw8IYx9OB9pmzNEA,39545
|
|
171
173
|
kash/model/language_list.py,sha256=I3RIbxTseVmPdhExQimimEv18Gmy2ImMbpXe0-_t1Qw,450
|
|
172
174
|
kash/model/llm_actions_model.py,sha256=a29uXVNfS2CiqvM7HPdC6H9A23rSQQihAideuBLMH8g,2110
|
|
173
175
|
kash/model/media_model.py,sha256=ZnlZ-FkswbAIGpUAuNqLce1WDZK-WbnwHn2ipg8x7-0,3511
|
|
174
176
|
kash/model/operations_model.py,sha256=WmU-xeWGsqMLVN369dQEyVGU8T7G_KyLLsj6YFc5sVw,6517
|
|
175
|
-
kash/model/params_model.py,sha256=
|
|
177
|
+
kash/model/params_model.py,sha256=NHW-74_sFCY58spf9bzU1EaVxLDpdbqmiw8SCSKASCw,15079
|
|
176
178
|
kash/model/paths_model.py,sha256=KDFm7wan7hjObHbnV2rR8-jsyLTVqbKcwFdKeLFRtdM,15889
|
|
177
179
|
kash/model/preconditions_model.py,sha256=-IfsVR0NkQhq_3hUTXzK2bFYAd--3YjSwUiDKHVQQqk,2887
|
|
178
180
|
kash/shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -193,7 +195,7 @@ kash/shell/output/kerm_code_utils.py,sha256=92A4AV-IFKKZMWLNZnd_zksNFMBgE_VNXySy
|
|
|
193
195
|
kash/shell/output/kerm_codes.py,sha256=KLVdTM_dL_NeYmGbllzsQoW4IHXJjEsgqqIp1s7P1yI,18877
|
|
194
196
|
kash/shell/output/kmarkdown.py,sha256=RRB5b0Ip0KZ71vnJKFfvxerYkeDFTCVTlHqHfmMy80Y,3675
|
|
195
197
|
kash/shell/output/shell_formatting.py,sha256=oxmAeJ2j0ANYSUsL15CUv--KcGlQ6Wa_rywXSDlsZM4,3331
|
|
196
|
-
kash/shell/output/shell_output.py,sha256=
|
|
198
|
+
kash/shell/output/shell_output.py,sha256=yG-4YjQUkPQZASMRGcfVRUadOcRO6hm-eaAC74jms6c,11812
|
|
197
199
|
kash/shell/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
198
200
|
kash/shell/ui/shell_results.py,sha256=mvFHxK_oz3bNfF5_Twt6VqDO44TA1b256Bjf5oco804,4130
|
|
199
201
|
kash/shell/ui/shell_syntax.py,sha256=1fuDqcCV16AAWwWS4w4iT-tlSnl-Ywdrf68Ge8XIfmQ,751
|
|
@@ -204,8 +206,9 @@ kash/utils/__init__.py,sha256=4Jl_AtgRADdGORimWhYZwbSfQSpQ6SiexNIZzmbcngI,111
|
|
|
204
206
|
kash/utils/errors.py,sha256=2lPL0fxI8pPOiDvjl0j-rvwY8uhmWetsrYYIc2-x1WY,3906
|
|
205
207
|
kash/utils/api_utils/api_retries.py,sha256=TtgxLxoMnXIzYMKbMUzsnVcPf-aKFm3cJ95zOcSeae8,21844
|
|
206
208
|
kash/utils/api_utils/cache_requests_limited.py,sha256=TA5buZ9Dgbj4I1zHhwerTXre018i0TCACGsezsjX9Uc,3140
|
|
207
|
-
kash/utils/api_utils/gather_limited.py,sha256=
|
|
209
|
+
kash/utils/api_utils/gather_limited.py,sha256=6K0Z3u_NeX9wBfFFk21wUQeSimaDIm53AHlGYRLD6LQ,33018
|
|
208
210
|
kash/utils/api_utils/http_utils.py,sha256=Ou6QNiba5w7n71cgNmV168OFTLmMDNxWW5MM-XkFEME,1461
|
|
211
|
+
kash/utils/api_utils/multitask_gather.py,sha256=iC1UlZXZV7YMevDD--mCi1eR0Rmd7wAWrOy-C_l0ACw,2594
|
|
209
212
|
kash/utils/api_utils/progress_protocol.py,sha256=6cT5URY6cScHYd6UZoTT_rHI0mbsE52joBf88regEN8,8816
|
|
210
213
|
kash/utils/common/__init__.py,sha256=ggeWw1xmbl1mgCQD3c4CNN2h5WXFCsN2wXlCWurEUEI,161
|
|
211
214
|
kash/utils/common/format_utils.py,sha256=83FhAwbMnOQIFudpnOGMuCqCiyoAlWGS6cc8q6xgZus,2072
|
|
@@ -216,20 +219,21 @@ kash/utils/common/obj_replace.py,sha256=AuiXptUOnuDNcWDgAJ3jEHkLh89XIqCP_SOkgaVy
|
|
|
216
219
|
kash/utils/common/parse_docstring.py,sha256=oM1ecGGySRA3L_poddjReJ_qPY5506Le7E8_CDUrU8k,10922
|
|
217
220
|
kash/utils/common/parse_key_vals.py,sha256=yZRZIa5GD9SlnBSn2YNZm8PRVKoSJMY8DCmdGujQj_I,2418
|
|
218
221
|
kash/utils/common/parse_shell_args.py,sha256=UZXTZDbV5m5Jy39jdAQ6W8uilr1TNa0__RqnE8UmQ_M,10604
|
|
222
|
+
kash/utils/common/s3_utils.py,sha256=YZ_qTKtuUtb_oJd8Ke0PgVdg8sYa47PwUkTZVsJ0rWM,3311
|
|
219
223
|
kash/utils/common/stack_traces.py,sha256=a2NwlK_0xxnjMCDC4LrQu7ueFylF-OImFG3bAAHpPwY,1392
|
|
220
224
|
kash/utils/common/task_stack.py,sha256=XkeBz3BwYY1HxxTqd3f7CulV0s61PePAKw1Irrtvf5o,4536
|
|
221
225
|
kash/utils/common/testing.py,sha256=9at6m_2YwRYitQoo-KeGsd2aoA59YUPs-x7cKcmy1C4,1802
|
|
222
226
|
kash/utils/common/type_utils.py,sha256=SJirXhPilQom_-OKkFToDLm_82ZwpjcNjRy8U1HaQ0Q,3829
|
|
223
227
|
kash/utils/common/uniquifier.py,sha256=75OY4KIVF8u1eoO0FCPbEGTyVpPOtM-0ctoG_s_jahM,3082
|
|
224
|
-
kash/utils/common/url.py,sha256=
|
|
228
|
+
kash/utils/common/url.py,sha256=u4qT0sWYsuEYazFCr3IIpmrR6nXyATH-_6GHM2xF5E0,9689
|
|
225
229
|
kash/utils/common/url_slice.py,sha256=QJb_qJp-hd5lFrxpw7P009yeMTJWDMfF11KRKEo7mIA,10963
|
|
226
|
-
kash/utils/file_formats/chat_format.py,sha256=
|
|
230
|
+
kash/utils/file_formats/chat_format.py,sha256=XQpyUyq3jBKqM1f1eRZmg5hPBWZIobHNusQPFctFbRQ,11901
|
|
227
231
|
kash/utils/file_utils/__init__.py,sha256=loL_iW0oOZs0mJ5GelBPptBcqzYKSWdsGcHrpRyxitQ,43
|
|
228
232
|
kash/utils/file_utils/csv_utils.py,sha256=ZqchXD4y0buWtgnEsR_UeHyWBHM1wEJl5u-IxQvFa3s,4064
|
|
229
233
|
kash/utils/file_utils/dir_info.py,sha256=HamMr58k_DanTLifj7A2JDxTGWXEZZx2pQuE6Hjcm8g,1856
|
|
230
|
-
kash/utils/file_utils/file_ext.py,sha256
|
|
231
|
-
kash/utils/file_utils/file_formats.py,sha256=
|
|
232
|
-
kash/utils/file_utils/file_formats_model.py,sha256=
|
|
234
|
+
kash/utils/file_utils/file_ext.py,sha256=U0fG3rowgtc56fNhhCK8P1UCYFbCNoa87pv7mGiEQgA,1876
|
|
235
|
+
kash/utils/file_utils/file_formats.py,sha256=4bq0-ZomFidL2GJBFyszGPurNQeTMOdLaXlGgrXznhA,4973
|
|
236
|
+
kash/utils/file_utils/file_formats_model.py,sha256=WqtAb10_vBuWeP2cUHzUHNjNmLx5GdqPjsnuqziB6Zg,15970
|
|
233
237
|
kash/utils/file_utils/file_sort_filter.py,sha256=_k1chT3dJl5lSmKA2PW90KaoG4k4zftGdtwWoNEljP4,7136
|
|
234
238
|
kash/utils/file_utils/file_walk.py,sha256=cpwVDPuaVm95_ZwFJiAdIuZAGhASI3gJ3ZUsCGP75b8,5527
|
|
235
239
|
kash/utils/file_utils/filename_parsing.py,sha256=drHrH2B9W_5yAbXURNGJxNqj9GmTe8FayH6Gjw9e4-U,4194
|
|
@@ -244,11 +248,12 @@ kash/utils/rich_custom/multitask_status.py,sha256=eOON62evEAOmmNyVBSjfYkh5y9OTej
|
|
|
244
248
|
kash/utils/rich_custom/rich_char_transform.py,sha256=3M89tViKM0y31VHsDoHi5eHFWlv5ME7F4p35IdDxnrw,2616
|
|
245
249
|
kash/utils/rich_custom/rich_indent.py,sha256=nz72yNpUuYjOsaPNVmxM81oEQm-GKEfQkNsuWmv16G0,2286
|
|
246
250
|
kash/utils/rich_custom/rich_markdown_fork.py,sha256=M_JRaSAyHrSg-wuLv9C9P7SkehSim3lwkqQPuMIFkVw,26551
|
|
247
|
-
kash/utils/text_handling/doc_normalization.py,sha256=
|
|
251
|
+
kash/utils/text_handling/doc_normalization.py,sha256=GsK8J8HSVINYYIeO2XQvWYK1ZSiQ6mX34mVb9UOjgG8,3029
|
|
248
252
|
kash/utils/text_handling/escape_html_tags.py,sha256=8pC3JgoKRtdnbnOu8DiWrlvNR6GAqjwhGbQgl3jiFG4,6441
|
|
253
|
+
kash/utils/text_handling/markdown_footnotes.py,sha256=4_ZOez-xHjiSn_XHyqXPk9MNbjts1hiHOh1ARs9vVZA,7494
|
|
249
254
|
kash/utils/text_handling/markdown_render.py,sha256=LHPdJc__2ejBx7iwkp_P9wIePNmiVSgwu4-uhamVjms,3791
|
|
250
|
-
kash/utils/text_handling/markdown_utils.py,sha256=
|
|
251
|
-
kash/utils/text_handling/markdownify_utils.py,sha256=
|
|
255
|
+
kash/utils/text_handling/markdown_utils.py,sha256=Yf57dVljpbg8vuHbtcOSHZqz1PafOSBal6R8ESJz1Bs,49220
|
|
256
|
+
kash/utils/text_handling/markdownify_utils.py,sha256=fXl3uSUk9aHXL0PDqxdlvWvIvBXUQTOfQxnK9uicQcg,2964
|
|
252
257
|
kash/utils/text_handling/unified_diffs.py,sha256=JfHSakISkT_GuBPBI4fTooHrp2aenWzDKiVvDewVfMk,2655
|
|
253
258
|
kash/web_content/canon_url.py,sha256=Zv2q7xQdIHBFkxxwyJn3_ME-qqMFRi_fKxE_IgV2Z50,742
|
|
254
259
|
kash/web_content/dir_store.py,sha256=BJc-s-RL5CC-GwhFTC_lhLXSMWluPPnLVmVBx-66DiM,3425
|
|
@@ -258,23 +263,26 @@ kash/web_content/local_file_cache.py,sha256=PEDKU5VIwhCnSC-HXG4EkO2OzrOUDuuDBMuo
|
|
|
258
263
|
kash/web_content/web_extract.py,sha256=TrGOohn99LF1F0zbycgXqYiIR-V3leefFFEVk3tnW6Y,2979
|
|
259
264
|
kash/web_content/web_extract_justext.py,sha256=74HLJBKDGKatwxyRDX6za70bZG9LrVmtj9jLX7UJzg4,2540
|
|
260
265
|
kash/web_content/web_extract_readabilipy.py,sha256=IT7ET5IoU2-Nf37-Neh6CkKMvLL3WTNVJjq7ZMOx6OM,808
|
|
261
|
-
kash/web_content/web_fetch.py,sha256=
|
|
266
|
+
kash/web_content/web_fetch.py,sha256=TGzGRyG9KW26V8WhQJkK-MwFN2MJBtMX-j4iY72tVtg,12217
|
|
262
267
|
kash/web_content/web_page_model.py,sha256=TWgWreGOoOvl7lUkjMSd0rxoDf2VuaKOq7WijwydW0Q,1387
|
|
263
268
|
kash/web_gen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
264
|
-
kash/web_gen/simple_webpage.py,sha256=ks_0ljxCeS2-gAAEaUc1JEnzY3JY0nzqGFiyyqyRuZs,1537
|
|
265
269
|
kash/web_gen/tabbed_webpage.py,sha256=e0GGG1bQ4CQegpJgOIT2KpyM6cmwN_BQ9eJSsi4BjgY,4945
|
|
266
270
|
kash/web_gen/template_render.py,sha256=aypo6UanouftV4RpxgNm6JdquelI52fV0IlihdA3yjE,1908
|
|
271
|
+
kash/web_gen/webpage_render.py,sha256=C3xFdmTROh_cWcuh1q2ZXnbeJfgK8wEZ7b1PBAB5i2g,3352
|
|
267
272
|
kash/web_gen/templates/base_styles.css.jinja,sha256=9ftNuhUrTpS8TcxP239AqWsIhPl_i0wS0J4rhsvQkrM,24962
|
|
268
273
|
kash/web_gen/templates/base_webpage.html.jinja,sha256=ZP9p1S29yXNZ6CU0DYYAXUA-v6YhnUv9NLX4aYupvBE,14723
|
|
269
|
-
kash/web_gen/templates/content_styles.css.jinja,sha256=
|
|
274
|
+
kash/web_gen/templates/content_styles.css.jinja,sha256=NyZRUNIrqf7RuJ0_bVuvwiQmimcWNh067bFvtb2xp-Q,6002
|
|
270
275
|
kash/web_gen/templates/explain_view.html.jinja,sha256=DNw5Iw5SrhIUFRGB4qNvfcKXsBHVbEJVURGdhvyC75Q,949
|
|
271
276
|
kash/web_gen/templates/item_view.html.jinja,sha256=_b51RuoBmYu7nxVq-S_zw_tv8mfQXHICGqfDWNIB9Xg,7304
|
|
272
277
|
kash/web_gen/templates/simple_webpage.html.jinja,sha256=_RVu0AvrN5fK_Kz-tEi4AlPQ_wuu8-S9oFIYg_sdcec,2556
|
|
273
278
|
kash/web_gen/templates/tabbed_webpage.html.jinja,sha256=umkipUXW-lDGnbV-tlDroCfCx_385PFnpbzsvwmityo,1843
|
|
279
|
+
kash/web_gen/templates/youtube_webpage.html.jinja,sha256=uUdu3HWv0lwwgEh094QbzzesxAdYv9rCxCkiuuIr1MY,1380
|
|
274
280
|
kash/web_gen/templates/components/toc_scripts.js.jinja,sha256=9AanLJaVormGi52h-k2tKJTRT4BiBGGNnw3Kmrnr40Q,10481
|
|
275
281
|
kash/web_gen/templates/components/toc_styles.css.jinja,sha256=SM99C9bOu11qdZ1U6hN7lLe2w_Hk6u9qNZcx2knSkgg,7553
|
|
276
|
-
kash/web_gen/templates/components/tooltip_scripts.js.jinja,sha256=
|
|
282
|
+
kash/web_gen/templates/components/tooltip_scripts.js.jinja,sha256=63HUSXtT07Vh2ndp90ViuPHTdzslrkGO5it4s-5EheM,40181
|
|
277
283
|
kash/web_gen/templates/components/tooltip_styles.css.jinja,sha256=tD-GBEFNIeVPAbbeB88bsOWzEFoThcSP5FfH9LmSAeM,14216
|
|
284
|
+
kash/web_gen/templates/components/youtube_popover_scripts.js.jinja,sha256=txlltrlP-xDvkFDd_ZOKNKA1Kr5aS3VSFQ51TqeKCpU,7383
|
|
285
|
+
kash/web_gen/templates/components/youtube_popover_styles.css.jinja,sha256=00hVUdGXpJSxKevid4DPTpxxrEc6ejJUurzRjUpnUDI,4113
|
|
278
286
|
kash/workspaces/__init__.py,sha256=q1gFERRZLJMA9-XSUKvB1ulauHDKqyzzc86GFLbxAuk,700
|
|
279
287
|
kash/workspaces/param_state.py,sha256=vT_eGWqg2SRviIM5jqEAauznX2B5Xt2nHHu2oRxTcIU,746
|
|
280
288
|
kash/workspaces/selections.py,sha256=rEUuQlrQ3C_54bzBSKDTTptgX8oZPqN0Ao4uaXSWA-Q,12003
|
|
@@ -282,9 +290,9 @@ kash/workspaces/source_items.py,sha256=Pwnw3OhjR2IJEMEeHf6hpKloj-ellM5vsY7LgkGev
|
|
|
282
290
|
kash/workspaces/workspace_dirs.py,sha256=kjuY4t7mSSXq00fZmln7p9TWq4kAZoPTCDM0DG7uEaI,1545
|
|
283
291
|
kash/workspaces/workspace_output.py,sha256=MMg_KumkHKFGc0DOUFaW5ImpgqIfdlsLtvXbLEt1hwI,5692
|
|
284
292
|
kash/workspaces/workspace_registry.py,sha256=SQt2DZgBEu95Zj9fpy67XdJPgJyKFDCU2laSuiZswNo,2200
|
|
285
|
-
kash/workspaces/workspaces.py,sha256=
|
|
293
|
+
kash/workspaces/workspaces.py,sha256=H-VpigO2zvWvWCZIT2G-cqEqcZATiwCLFX2jwFW08bw,6781
|
|
286
294
|
kash/xonsh_custom/command_nl_utils.py,sha256=6Xcx98HXL5HywziHi0XskwFx6kfvz7oCmMX-siJib1A,3392
|
|
287
|
-
kash/xonsh_custom/custom_shell.py,sha256=
|
|
295
|
+
kash/xonsh_custom/custom_shell.py,sha256=wTYwDt6zJzVtljcDh1j__cJXkoMy9w687vhgDk6nlqU,19024
|
|
288
296
|
kash/xonsh_custom/customize_prompt.py,sha256=u-jRY-ftXYflBkbJVetEg6GYelPUvqZEpjrPRUTfy8w,6896
|
|
289
297
|
kash/xonsh_custom/load_into_xonsh.py,sha256=Z_PAaW_Uv-PDRKdw9E_7dC1eMe6FbwwIUioxyS1Sp_g,3596
|
|
290
298
|
kash/xonsh_custom/shell_load_commands.py,sha256=2SzigO-IDK5QTBhAkv7bL4hPuRLWIT0r5D9t4mrXANY,4673
|
|
@@ -296,8 +304,8 @@ kash/xonsh_custom/xonsh_modern_tools.py,sha256=mj_b34LZXfE8MJe9EpDmp5JZ0tDM1biYN
|
|
|
296
304
|
kash/xonsh_custom/xonsh_ranking_completer.py,sha256=ZRGiAfoEgqgnlq2-ReUVEaX5oOgW1DQ9WxIv2OJLuTo,5620
|
|
297
305
|
kash/xontrib/fnm.py,sha256=V2tsOdmIDgbFbZSfMLpsvDIwwJJqiYnOkOySD1cXNXw,3700
|
|
298
306
|
kash/xontrib/kash_extension.py,sha256=FLIMlgR3C_6A1fwKE-Ul0nmmpJSszVPbAriinUyQ8Zg,1896
|
|
299
|
-
kash_shell-0.3.
|
|
300
|
-
kash_shell-0.3.
|
|
301
|
-
kash_shell-0.3.
|
|
302
|
-
kash_shell-0.3.
|
|
303
|
-
kash_shell-0.3.
|
|
307
|
+
kash_shell-0.3.33.dist-info/METADATA,sha256=rEXEktz-jYfIDY2XI0fmEQbBVnLYoo1omDU6B0LQLhw,33547
|
|
308
|
+
kash_shell-0.3.33.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
309
|
+
kash_shell-0.3.33.dist-info/entry_points.txt,sha256=SQraWDAo8SqYpthLXThei0mf_hGGyhYBUO-Er_0HcwI,85
|
|
310
|
+
kash_shell-0.3.33.dist-info/licenses/LICENSE,sha256=rCh2PsfYeiU6FK_0wb58kHGm_Fj5c43fdcHEexiVzIo,34562
|
|
311
|
+
kash_shell-0.3.33.dist-info/RECORD,,
|