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.
Files changed (92) hide show
  1. hugpy_terminal-0.1.6/PKG-INFO +24 -0
  2. hugpy_terminal-0.1.6/README.md +14 -0
  3. hugpy_terminal-0.1.6/pyproject.toml +18 -0
  4. hugpy_terminal-0.1.6/setup.cfg +4 -0
  5. hugpy_terminal-0.1.6/src/hugpy_terminal/LICENSE +41 -0
  6. hugpy_terminal-0.1.6/src/hugpy_terminal/PROVENANCE.md +37 -0
  7. hugpy_terminal-0.1.6/src/hugpy_terminal/__init__.py +10 -0
  8. hugpy_terminal-0.1.6/src/hugpy_terminal/adapter.py +527 -0
  9. hugpy_terminal-0.1.6/src/hugpy_terminal/arms.py +89 -0
  10. hugpy_terminal-0.1.6/src/hugpy_terminal/audit.py +112 -0
  11. hugpy_terminal-0.1.6/src/hugpy_terminal/branding.py +225 -0
  12. hugpy_terminal-0.1.6/src/hugpy_terminal/cli/__init__.py +0 -0
  13. hugpy_terminal-0.1.6/src/hugpy_terminal/cli/chat.py +284 -0
  14. hugpy_terminal-0.1.6/src/hugpy_terminal/cli/endpoint.py +55 -0
  15. hugpy_terminal-0.1.6/src/hugpy_terminal/cli/sessions.py +53 -0
  16. hugpy_terminal-0.1.6/src/hugpy_terminal/cli/tui.py +202 -0
  17. hugpy_terminal-0.1.6/src/hugpy_terminal/comms.py +18 -0
  18. hugpy_terminal-0.1.6/src/hugpy_terminal/config.py +202 -0
  19. hugpy_terminal-0.1.6/src/hugpy_terminal/connections.py +87 -0
  20. hugpy_terminal-0.1.6/src/hugpy_terminal/control.py +119 -0
  21. hugpy_terminal-0.1.6/src/hugpy_terminal/core_controls.py +234 -0
  22. hugpy_terminal-0.1.6/src/hugpy_terminal/fleet_models.py +77 -0
  23. hugpy_terminal-0.1.6/src/hugpy_terminal/gateway.py +744 -0
  24. hugpy_terminal-0.1.6/src/hugpy_terminal/imports/__init__.py +10 -0
  25. hugpy_terminal-0.1.6/src/hugpy_terminal/imports/classes.py +8 -0
  26. hugpy_terminal-0.1.6/src/hugpy_terminal/imports/constants.py +57 -0
  27. hugpy_terminal-0.1.6/src/hugpy_terminal/imports/functions.py +61 -0
  28. hugpy_terminal-0.1.6/src/hugpy_terminal/imports/init_imports.py +18 -0
  29. hugpy_terminal-0.1.6/src/hugpy_terminal/journal.py +313 -0
  30. hugpy_terminal-0.1.6/src/hugpy_terminal/local.py +42 -0
  31. hugpy_terminal-0.1.6/src/hugpy_terminal/loop.py +965 -0
  32. hugpy_terminal-0.1.6/src/hugpy_terminal/media_tasks.py +111 -0
  33. hugpy_terminal-0.1.6/src/hugpy_terminal/memory.py +51 -0
  34. hugpy_terminal-0.1.6/src/hugpy_terminal/model_columns.py +70 -0
  35. hugpy_terminal-0.1.6/src/hugpy_terminal/policy.py +94 -0
  36. hugpy_terminal-0.1.6/src/hugpy_terminal/roles.py +46 -0
  37. hugpy_terminal-0.1.6/src/hugpy_terminal/serve/__init__.py +626 -0
  38. hugpy_terminal-0.1.6/src/hugpy_terminal/serve/__main__.py +3 -0
  39. hugpy_terminal-0.1.6/src/hugpy_terminal/serve_client/__init__.py +19 -0
  40. hugpy_terminal-0.1.6/src/hugpy_terminal/serve_client/abstract_claude.py +7 -0
  41. hugpy_terminal-0.1.6/src/hugpy_terminal/serve_client/abstract_serve.py +441 -0
  42. hugpy_terminal-0.1.6/src/hugpy_terminal/serve_client/base.py +198 -0
  43. hugpy_terminal-0.1.6/src/hugpy_terminal/serve_client/http.py +80 -0
  44. hugpy_terminal-0.1.6/src/hugpy_terminal/serve_client/hugpy_serve.py +386 -0
  45. hugpy_terminal-0.1.6/src/hugpy_terminal/serve_client/wrapper.py +718 -0
  46. hugpy_terminal-0.1.6/src/hugpy_terminal/sessions.py +110 -0
  47. hugpy_terminal-0.1.6/src/hugpy_terminal/tools/__init__.py +309 -0
  48. hugpy_terminal-0.1.6/src/hugpy_terminal/tools/connected.py +117 -0
  49. hugpy_terminal-0.1.6/src/hugpy_terminal/tools/fs.py +114 -0
  50. hugpy_terminal-0.1.6/src/hugpy_terminal/tools/local_catalog.py +71 -0
  51. hugpy_terminal-0.1.6/src/hugpy_terminal/tools/portable.py +108 -0
  52. hugpy_terminal-0.1.6/src/hugpy_terminal/tools/shell.py +56 -0
  53. hugpy_terminal-0.1.6/src/hugpy_terminal/toolserver_client.py +86 -0
  54. hugpy_terminal-0.1.6/src/hugpy_terminal/toolserver_connection.py +112 -0
  55. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/__init__.py +57 -0
  56. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/app.py +2645 -0
  57. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/compute.py +485 -0
  58. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/diag.py +167 -0
  59. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/discovery.py +79 -0
  60. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/drafts.py +42 -0
  61. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/input.py +80 -0
  62. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/layout.py +57 -0
  63. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/loci.py +255 -0
  64. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/output.py +101 -0
  65. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/selection.py +49 -0
  66. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/state.py +729 -0
  67. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/toolcalls.py +305 -0
  68. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/__init__.py +1 -0
  69. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/composer.py +161 -0
  70. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/files.py +20 -0
  71. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/modals.py +270 -0
  72. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/model_columns.py +62 -0
  73. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/model_picker.py +21 -0
  74. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/panels.py +345 -0
  75. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/pending.py +81 -0
  76. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/resource_browser.py +132 -0
  77. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/resources.py +502 -0
  78. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/settings_controls.py +5 -0
  79. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/settings_schema.py +5 -0
  80. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/settings_view.py +5 -0
  81. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/settings_widgets.py +5 -0
  82. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/text.py +75 -0
  83. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/theme.py +50 -0
  84. hugpy_terminal-0.1.6/src/hugpy_terminal/tui/views/transcript.py +215 -0
  85. hugpy_terminal-0.1.6/src/hugpy_terminal/wrapper_api.py +46 -0
  86. hugpy_terminal-0.1.6/src/hugpy_terminal/wrapper_models.py +480 -0
  87. hugpy_terminal-0.1.6/src/hugpy_terminal/wrapper_options.py +262 -0
  88. hugpy_terminal-0.1.6/src/hugpy_terminal.egg-info/PKG-INFO +24 -0
  89. hugpy_terminal-0.1.6/src/hugpy_terminal.egg-info/SOURCES.txt +90 -0
  90. hugpy_terminal-0.1.6/src/hugpy_terminal.egg-info/dependency_links.txt +1 -0
  91. hugpy_terminal-0.1.6/src/hugpy_terminal.egg-info/requires.txt +3 -0
  92. 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,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -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"