hugpy-terminal 0.1.6__tar.gz
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.
- hugpy_terminal-0.1.6/PKG-INFO +24 -0
- hugpy_terminal-0.1.6/README.md +14 -0
- hugpy_terminal-0.1.6/pyproject.toml +18 -0
- hugpy_terminal-0.1.6/setup.cfg +4 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/LICENSE +41 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/PROVENANCE.md +37 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/__init__.py +10 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/adapter.py +527 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/arms.py +89 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/audit.py +112 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/branding.py +225 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/cli/__init__.py +0 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/cli/chat.py +284 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/cli/endpoint.py +55 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/cli/sessions.py +53 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/cli/tui.py +202 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/comms.py +18 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/config.py +202 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/connections.py +87 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/control.py +119 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/core_controls.py +234 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/fleet_models.py +77 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/gateway.py +744 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/imports/__init__.py +10 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/imports/classes.py +8 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/imports/constants.py +57 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/imports/functions.py +61 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/imports/init_imports.py +18 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/journal.py +313 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/local.py +42 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/loop.py +965 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/media_tasks.py +111 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/memory.py +51 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/model_columns.py +70 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/policy.py +94 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/roles.py +46 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/serve/__init__.py +626 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/serve/__main__.py +3 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/serve_client/__init__.py +19 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/serve_client/abstract_claude.py +7 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/serve_client/abstract_serve.py +441 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/serve_client/base.py +198 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/serve_client/http.py +80 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/serve_client/hugpy_serve.py +386 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/serve_client/wrapper.py +718 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/sessions.py +110 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tools/__init__.py +309 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tools/connected.py +117 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tools/fs.py +114 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tools/local_catalog.py +71 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tools/portable.py +108 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tools/shell.py +56 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/toolserver_client.py +86 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/toolserver_connection.py +112 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/__init__.py +57 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/app.py +2645 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/compute.py +485 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/diag.py +167 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/discovery.py +79 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/drafts.py +42 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/input.py +80 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/layout.py +57 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/loci.py +255 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/output.py +101 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/selection.py +49 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/state.py +729 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/toolcalls.py +305 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/__init__.py +1 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/composer.py +161 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/files.py +20 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/modals.py +270 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/model_columns.py +62 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/model_picker.py +21 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/panels.py +345 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/pending.py +81 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/resource_browser.py +132 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/resources.py +502 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/settings_controls.py +5 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/settings_schema.py +5 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/settings_view.py +5 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/settings_widgets.py +5 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/text.py +75 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/theme.py +50 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/transcript.py +215 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/wrapper_api.py +46 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/wrapper_models.py +480 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal/wrapper_options.py +262 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal.egg-info/PKG-INFO +24 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal.egg-info/SOURCES.txt +90 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal.egg-info/dependency_links.txt +1 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal.egg-info/requires.txt +3 -0
- hugpy_terminal-0.1.6/src/hugpy_terminal.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: hugpy-terminal
|
|
3
|
+
Version: 0.1.6
|
|
4
|
+
Summary: Shared Hugpy terminal chat, resources, settings and session runtime
|
|
5
|
+
Requires-Python: >=3.11
|
|
6
|
+
Description-Content-Type: text/markdown
|
|
7
|
+
Requires-Dist: hugpy-settings==0.1.1
|
|
8
|
+
Requires-Dist: hugpy-tools>=0.2.19
|
|
9
|
+
Requires-Dist: abstract-toolserver>=0.0.107
|
|
10
|
+
|
|
11
|
+
# Hugpy Terminal
|
|
12
|
+
|
|
13
|
+
Shared terminal, sessions and headless client primitives for the Hugpy arms.
|
|
14
|
+
`hugpy-harness` binds the runtime to Wrapper; `hugpy-fleet` binds it to Core.
|
|
15
|
+
Wrapper and Core can bundle the appropriate arm without depending on one another.
|
|
16
|
+
Agent's existing Harness compatibility imports keep using this runtime.
|
|
17
|
+
|
|
18
|
+
`hugpy_terminal.roles` fixes host identity and endpoint discovery.
|
|
19
|
+
`hugpy_terminal.control` supplies headless Wrapper/Core adapters without loading
|
|
20
|
+
curses, an engine or a web server. `hugpy_terminal.arms` is the common JSON/CLI
|
|
21
|
+
host. Settings are validated and confirmed using `hugpy-settings`.
|
|
22
|
+
|
|
23
|
+
This package is built from staged source and bundled in offline Debian
|
|
24
|
+
installers; PyPI publication is a separate operation.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Hugpy Terminal
|
|
2
|
+
|
|
3
|
+
Shared terminal, sessions and headless client primitives for the Hugpy arms.
|
|
4
|
+
`hugpy-harness` binds the runtime to Wrapper; `hugpy-fleet` binds it to Core.
|
|
5
|
+
Wrapper and Core can bundle the appropriate arm without depending on one another.
|
|
6
|
+
Agent's existing Harness compatibility imports keep using this runtime.
|
|
7
|
+
|
|
8
|
+
`hugpy_terminal.roles` fixes host identity and endpoint discovery.
|
|
9
|
+
`hugpy_terminal.control` supplies headless Wrapper/Core adapters without loading
|
|
10
|
+
curses, an engine or a web server. `hugpy_terminal.arms` is the common JSON/CLI
|
|
11
|
+
host. Settings are validated and confirmed using `hugpy-settings`.
|
|
12
|
+
|
|
13
|
+
This package is built from staged source and bundled in offline Debian
|
|
14
|
+
installers; PyPI publication is a separate operation.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "hugpy-terminal"
|
|
7
|
+
version = "0.1.6"
|
|
8
|
+
description = "Shared Hugpy terminal chat, resources, settings and session runtime"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.11"
|
|
11
|
+
dependencies = ["hugpy-settings==0.1.1", "hugpy-tools>=0.2.19", "abstract-toolserver>=0.0.107"]
|
|
12
|
+
|
|
13
|
+
[tool.setuptools.packages.find]
|
|
14
|
+
where = ["src"]
|
|
15
|
+
include = ["hugpy_terminal*"]
|
|
16
|
+
|
|
17
|
+
[tool.setuptools.package-data]
|
|
18
|
+
hugpy_terminal = ["PROVENANCE.md", "LICENSE"]
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
hugpy — Source-Available License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 putkoff (hugpy.ai). All rights reserved.
|
|
4
|
+
|
|
5
|
+
Permission is granted, free of charge, to use this software ("hugpy") for
|
|
6
|
+
personal and non-commercial purposes, and for time-limited commercial
|
|
7
|
+
evaluation, subject to the following conditions:
|
|
8
|
+
|
|
9
|
+
1. Non-commercial use means use by an individual for personal purposes, or
|
|
10
|
+
use by a non-profit or educational institution for its own internal
|
|
11
|
+
purposes. Any use by, for, or on behalf of a for-profit business or in
|
|
12
|
+
connection with revenue-generating activity is commercial use — including
|
|
13
|
+
internal business use, use in producing goods or services, and use on
|
|
14
|
+
paid engagements.
|
|
15
|
+
|
|
16
|
+
2. Commercial use requires a commercial license from the copyright holder.
|
|
17
|
+
Exception: a business may evaluate the software internally for up to
|
|
18
|
+
thirty (30) days free of charge; continued use after that requires a
|
|
19
|
+
commercial license.
|
|
20
|
+
|
|
21
|
+
3. Redistribution of this software, in source or binary form, modified or
|
|
22
|
+
unmodified, is not permitted without prior written permission from the
|
|
23
|
+
copyright holder. Downloading the software from an official distribution
|
|
24
|
+
channel (PyPI, npm, hugpy.ai) is not redistribution.
|
|
25
|
+
|
|
26
|
+
4. Modification for personal use or internal evaluation is permitted;
|
|
27
|
+
distribution of modified versions is not.
|
|
28
|
+
|
|
29
|
+
5. This notice must be retained in all copies or substantial portions of
|
|
30
|
+
the software.
|
|
31
|
+
|
|
32
|
+
6. Any use outside these terms automatically terminates this license.
|
|
33
|
+
|
|
34
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
35
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
36
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
37
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY ARISING
|
|
38
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
39
|
+
IN THE SOFTWARE.
|
|
40
|
+
|
|
41
|
+
For commercial licensing or redistribution permission: https://hugpy.ai
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Hugpy Agent chat extraction
|
|
2
|
+
|
|
3
|
+
Source: `/srv/hugpy/app/packages/hugpy_agent`, version 0.1.114.
|
|
4
|
+
The AgentLoop, adapter, gateway, journal, memory, audit and policy code are
|
|
5
|
+
retained. Config is its dataclass without fleet endpoint discovery. Tools use
|
|
6
|
+
the existing filesystem and shell implementations plus final_answer and a
|
|
7
|
+
terminal operator channel. Fleet leases, remote tools, subagents and embedding
|
|
8
|
+
RAG are omitted. State lives in `.hugpy_wrapper/chat` within the workspace.
|
|
9
|
+
The CLI turn sequence is extracted from `hugpy_agent.cli.cmd_chat`.
|
|
10
|
+
Original file SHA-256 values:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
loop.py 9cdb541f090367eba65aec54561845cb09e5258249a512aa54c68255999e0934
|
|
14
|
+
gateway.py 5df914e06e2edc3f3a91cbcc7207df5da78abd5e63684d304f39eb9829c15440
|
|
15
|
+
adapter.py 25259f038bfb117e341db7d27d4588a1bbcffe35fd3947ce4f98f5941cfa15a3
|
|
16
|
+
journal.py 3acf8ab60c4d5194207cb05e3a17633bdb21276bbed4938f591c829189b5451f
|
|
17
|
+
memory.py 6e187ce5f2ab653bb4a67fb1d2060f9438a226a67428608c363a07f56a6269d8
|
|
18
|
+
audit.py b58a8f9ada3698f81970cf37d6d90a496987b2251d917f8c278a9858bc2ca466
|
|
19
|
+
policy.py ab4e391739db83dd31b38d1e28b12367ef4c5aad9853bdc708e2230755f17006
|
|
20
|
+
tools/fs.py 810bf6ea730a15412f693e3b5a7773b5cf75e5623c2e54f76cae08a6039858d4
|
|
21
|
+
tools/shell.py 868ae9aeb93bcce25563f5ffd427872c0ede4ae421054e424f4e679b7d6cd54d
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Local fixes: conversation mode permits plain chat replies; terminal approvals
|
|
25
|
+
replace remote comms. A final_answer with an unambiguous top-level answer is
|
|
26
|
+
normalized; invalid final answers request repair instead of displaying `{}`.
|
|
27
|
+
|
|
28
|
+
The `tui/`, `serve_client/`, and `branding.py` sources are also extracted from
|
|
29
|
+
Hugpy Agent 0.1.114. The original curses screens, command menu, model/session
|
|
30
|
+
pickers, tool cards and approval UI are retained. `serve_client/wrapper.py`
|
|
31
|
+
adapts them to the standalone wrapper and local AgentLoop journals. Remote-only
|
|
32
|
+
commands are hidden from the local menu. `hugpy-agent launch` and `tui` both
|
|
33
|
+
open this interface; `chat` remains the plain REPL. No OpenCode launch is used.
|
|
34
|
+
|
|
35
|
+
Wrapper additions: the resources pane and full resource monitor poll the
|
|
36
|
+
connected wrapper independently of the chat/event loop, displaying telemetry
|
|
37
|
+
freshness, unavailable counters, resident health, and admission queue reasons.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"""Standalone extraction of Hugpy Agent 0.1.114 chat runtime.
|
|
2
|
+
|
|
3
|
+
Also the shared agent-loop core a host (hugpy-agent) layers its extras onto
|
|
4
|
+
through hooks: a RAG factory, per-turn/per-request context managers
|
|
5
|
+
(loop.turn_ctx / Gateway.request_ctx), a configurable state dir
|
|
6
|
+
(Config.state_dir), and extra tool providers (build_registry's
|
|
7
|
+
``extra_tool_providers`` plus the ``hugpy_harness.tools`` entry-point group).
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
__version__ = "0.1.6"
|