tuig 2.3.5__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 (52) hide show
  1. tuig-2.3.5/LICENSE +20 -0
  2. tuig-2.3.5/PKG-INFO +89 -0
  3. tuig-2.3.5/README.md +74 -0
  4. tuig-2.3.5/native/agent-terminal-ui/Cargo.lock +1776 -0
  5. tuig-2.3.5/native/agent-terminal-ui/Cargo.toml +27 -0
  6. tuig-2.3.5/native/agent-terminal-ui/src/acp.rs +295 -0
  7. tuig-2.3.5/native/agent-terminal-ui/src/cli.rs +57 -0
  8. tuig-2.3.5/native/agent-terminal-ui/src/coding_approval.rs +300 -0
  9. tuig-2.3.5/native/agent-terminal-ui/src/composer.rs +162 -0
  10. tuig-2.3.5/native/agent-terminal-ui/src/correlation.rs +177 -0
  11. tuig-2.3.5/native/agent-terminal-ui/src/execution_graph.rs +582 -0
  12. tuig-2.3.5/native/agent-terminal-ui/src/headless.rs +106 -0
  13. tuig-2.3.5/native/agent-terminal-ui/src/host_log_view.rs +237 -0
  14. tuig-2.3.5/native/agent-terminal-ui/src/host_logs.rs +232 -0
  15. tuig-2.3.5/native/agent-terminal-ui/src/inspector_view.rs +1294 -0
  16. tuig-2.3.5/native/agent-terminal-ui/src/lib.rs +348 -0
  17. tuig-2.3.5/native/agent-terminal-ui/src/local_runtime.rs +342 -0
  18. tuig-2.3.5/native/agent-terminal-ui/src/local_session.rs +556 -0
  19. tuig-2.3.5/native/agent-terminal-ui/src/main.rs +1831 -0
  20. tuig-2.3.5/native/agent-terminal-ui/src/presentation.rs +687 -0
  21. tuig-2.3.5/native/agent-terminal-ui/src/public_details_view.rs +761 -0
  22. tuig-2.3.5/native/agent-terminal-ui/src/public_run_events.rs +280 -0
  23. tuig-2.3.5/native/agent-terminal-ui/src/recovery.rs +122 -0
  24. tuig-2.3.5/native/agent-terminal-ui/src/recovery_view_tests.rs +82 -0
  25. tuig-2.3.5/native/agent-terminal-ui/src/run_inspector.rs +251 -0
  26. tuig-2.3.5/native/agent-terminal-ui/src/run_inspector_client.rs +824 -0
  27. tuig-2.3.5/native/agent-terminal-ui/src/spatial_graph.rs +413 -0
  28. tuig-2.3.5/native/agent-terminal-ui/src/task_output.rs +156 -0
  29. tuig-2.3.5/native/agent-terminal-ui/src/task_stream.rs +193 -0
  30. tuig-2.3.5/native/agent-terminal-ui/src/terminal_event.rs +221 -0
  31. tuig-2.3.5/native/agent-terminal-ui/src/turn_usage.rs +216 -0
  32. tuig-2.3.5/native/agent-terminal-ui/tests/acp.rs +417 -0
  33. tuig-2.3.5/native/agent-terminal-ui/tests/anonymous.rs +123 -0
  34. tuig-2.3.5/native/agent-terminal-ui/tests/cancellation.rs +232 -0
  35. tuig-2.3.5/native/agent-terminal-ui/tests/cli_help.rs +72 -0
  36. tuig-2.3.5/native/agent-terminal-ui/tests/coding_approval.rs +285 -0
  37. tuig-2.3.5/native/agent-terminal-ui/tests/correlation.rs +119 -0
  38. tuig-2.3.5/native/agent-terminal-ui/tests/discovery.rs +134 -0
  39. tuig-2.3.5/native/agent-terminal-ui/tests/execution_graph.rs +203 -0
  40. tuig-2.3.5/native/agent-terminal-ui/tests/fixtures/execution_graph_contract.json +444 -0
  41. tuig-2.3.5/native/agent-terminal-ui/tests/host_logs.rs +164 -0
  42. tuig-2.3.5/native/agent-terminal-ui/tests/observation.rs +72 -0
  43. tuig-2.3.5/native/agent-terminal-ui/tests/recovery.rs +296 -0
  44. tuig-2.3.5/native/agent-terminal-ui/tests/run_inspector.rs +205 -0
  45. tuig-2.3.5/native/agent-terminal-ui/tests/submission.rs +248 -0
  46. tuig-2.3.5/native/agent-terminal-ui/tests/support/mod.rs +60 -0
  47. tuig-2.3.5/native/agent-terminal-ui/tests/task_output.rs +86 -0
  48. tuig-2.3.5/native/agent-terminal-ui/tests/task_snapshot.rs +290 -0
  49. tuig-2.3.5/native/agent-terminal-ui/tests/task_stream.rs +181 -0
  50. tuig-2.3.5/native/agent-terminal-ui/tests/terminal_event.rs +176 -0
  51. tuig-2.3.5/native/agent-terminal-ui/tests/turn_usage.rs +63 -0
  52. tuig-2.3.5/pyproject.toml +64 -0
tuig-2.3.5/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2012-2023 Project contributors
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
tuig-2.3.5/PKG-INFO ADDED
@@ -0,0 +1,89 @@
1
+ Metadata-Version: 2.4
2
+ Name: tuig
3
+ Version: 2.3.5
4
+ Classifier: Development Status :: 4 - Beta
5
+ Classifier: License :: OSI Approved :: MIT License
6
+ Classifier: Environment :: Console
7
+ Classifier: Operating System :: POSIX :: Linux
8
+ Classifier: Programming Language :: Rust
9
+ License-File: LICENSE
10
+ Summary: Tuig: native Ratatui terminal interface for Arbora
11
+ Author: Project maintainers
12
+ Requires-Python: >=3.12
13
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
14
+
15
+ # Tuig
16
+
17
+ Tuig is the Rust/Ratatui terminal frontend for Arbora. The brand is pronounced
18
+ “twig” (/twɪɡ/); the command remains `tuig`. There is one executable
19
+ and one UI implementation. The former Python/Textual frontend is retired.
20
+
21
+ ## Native terminal preview
22
+
23
+ ![Native tuig answer with folded public details and synthetic data](docs/assets/native/answer.svg)
24
+
25
+ This capture shows the compiled Rust/Ratatui terminal with synthetic fixture data,
26
+ not the retired Python/Textual UI. It comes from source commit `a8952ff`.
27
+ See [all six native views and capture provenance](docs/screenshots.md).
28
+
29
+ The README uses the same committed asset as the gallery. CI validates asset
30
+ hashes; it does not automatically replace screenshots. See the
31
+ [screenshot refresh procedure](docs/screenshots.md#refreshing-the-gallery).
32
+
33
+ ## Installation
34
+
35
+ The PyPI distribution and installed command are `tuig`.
36
+ Native wheel availability and platform qualification are release requirements.
37
+ Do not assume a published older version already includes this cutover.
38
+
39
+ ```sh
40
+ pip install tuig
41
+ tuig --help
42
+ ```
43
+
44
+ ## Connect
45
+
46
+ Arbora runs separately. Configure `AGENT_URL` and `AGENT_BEARER_TOKEN`.
47
+ Remote access requires TLS. For a deliberately anonymous loopback service, set
48
+ `AGENT_AUTH_MODE=none` and omit the bearer token.
49
+
50
+ ```sh
51
+ tuig
52
+ tuig --prompt "Summarize the project"
53
+ tuig --observe-task TASK_ID
54
+ tuig --headless --prompt "Summarize the project"
55
+ tuig --headless --observe-task TASK_ID
56
+ ```
57
+
58
+ The no-argument view discovers the configured agent, or reads `AGENT_TASK_ID`.
59
+ Prompt submission and task observation use Arbora A2A. Run inspection and logs
60
+ use served Arbora operations. Task/context/run identifiers remain distinct.
61
+
62
+ Headless execution prints validated unary snapshots and polls active tasks.
63
+ It exits unsuccessfully if input, approval or authentication is required, or
64
+ if the task fails, is canceled or is rejected. It never approves or cancels a
65
+ task. Its four-hour observation bound does not stop backend work.
66
+
67
+ ## Current boundary
68
+
69
+ Native rendering includes task state, public output details, themes, keyboard
70
+ and mouse scrolling, run inspection and host logs. Remote cancellation in the
71
+ interactive view requires confirmation. `--observe-task` remains read-only.
72
+
73
+ With no selected task or prompt, `tuig` opens a one-task text composer.
74
+ Enter submits; Ctrl+J adds a newline; Escape reviews status and `p` returns
75
+ to the draft before submission. It never resubmits an unknown outcome.
76
+ Central streaming, approval attachment, context continuation and durable resume
77
+ are not yet implemented. Explicit local ACP sessions support sequential text
78
+ turns within one owned backend process; they do not resume after restart. The removed Python frontend is not a fallback. `--override`, `--bg`, `--model` and `--session` are
79
+ rejected. Full served parity and release performance remain open in
80
+ [the runtime specification](specs/terminal-runtime/requirements.md).
81
+
82
+ See [architecture](docs/architecture.md), [configuration](docs/configuration.md)
83
+ and [development](docs/development.md). Historical Python source and screenshots
84
+ remain in git history, not in the live application.
85
+
86
+ ## License
87
+
88
+ [MIT](LICENSE).
89
+
tuig-2.3.5/README.md ADDED
@@ -0,0 +1,74 @@
1
+ # Tuig
2
+
3
+ Tuig is the Rust/Ratatui terminal frontend for Arbora. The brand is pronounced
4
+ “twig” (/twɪɡ/); the command remains `tuig`. There is one executable
5
+ and one UI implementation. The former Python/Textual frontend is retired.
6
+
7
+ ## Native terminal preview
8
+
9
+ ![Native tuig answer with folded public details and synthetic data](docs/assets/native/answer.svg)
10
+
11
+ This capture shows the compiled Rust/Ratatui terminal with synthetic fixture data,
12
+ not the retired Python/Textual UI. It comes from source commit `a8952ff`.
13
+ See [all six native views and capture provenance](docs/screenshots.md).
14
+
15
+ The README uses the same committed asset as the gallery. CI validates asset
16
+ hashes; it does not automatically replace screenshots. See the
17
+ [screenshot refresh procedure](docs/screenshots.md#refreshing-the-gallery).
18
+
19
+ ## Installation
20
+
21
+ The PyPI distribution and installed command are `tuig`.
22
+ Native wheel availability and platform qualification are release requirements.
23
+ Do not assume a published older version already includes this cutover.
24
+
25
+ ```sh
26
+ pip install tuig
27
+ tuig --help
28
+ ```
29
+
30
+ ## Connect
31
+
32
+ Arbora runs separately. Configure `AGENT_URL` and `AGENT_BEARER_TOKEN`.
33
+ Remote access requires TLS. For a deliberately anonymous loopback service, set
34
+ `AGENT_AUTH_MODE=none` and omit the bearer token.
35
+
36
+ ```sh
37
+ tuig
38
+ tuig --prompt "Summarize the project"
39
+ tuig --observe-task TASK_ID
40
+ tuig --headless --prompt "Summarize the project"
41
+ tuig --headless --observe-task TASK_ID
42
+ ```
43
+
44
+ The no-argument view discovers the configured agent, or reads `AGENT_TASK_ID`.
45
+ Prompt submission and task observation use Arbora A2A. Run inspection and logs
46
+ use served Arbora operations. Task/context/run identifiers remain distinct.
47
+
48
+ Headless execution prints validated unary snapshots and polls active tasks.
49
+ It exits unsuccessfully if input, approval or authentication is required, or
50
+ if the task fails, is canceled or is rejected. It never approves or cancels a
51
+ task. Its four-hour observation bound does not stop backend work.
52
+
53
+ ## Current boundary
54
+
55
+ Native rendering includes task state, public output details, themes, keyboard
56
+ and mouse scrolling, run inspection and host logs. Remote cancellation in the
57
+ interactive view requires confirmation. `--observe-task` remains read-only.
58
+
59
+ With no selected task or prompt, `tuig` opens a one-task text composer.
60
+ Enter submits; Ctrl+J adds a newline; Escape reviews status and `p` returns
61
+ to the draft before submission. It never resubmits an unknown outcome.
62
+ Central streaming, approval attachment, context continuation and durable resume
63
+ are not yet implemented. Explicit local ACP sessions support sequential text
64
+ turns within one owned backend process; they do not resume after restart. The removed Python frontend is not a fallback. `--override`, `--bg`, `--model` and `--session` are
65
+ rejected. Full served parity and release performance remain open in
66
+ [the runtime specification](specs/terminal-runtime/requirements.md).
67
+
68
+ See [architecture](docs/architecture.md), [configuration](docs/configuration.md)
69
+ and [development](docs/development.md). Historical Python source and screenshots
70
+ remain in git history, not in the live application.
71
+
72
+ ## License
73
+
74
+ [MIT](LICENSE).