Commit Graph

133 Commits

Author SHA1 Message Date
Mahmoud-Emad
97760cfe87 feat: Implement comprehensive process cleanup for tmux
- Add `Pane.kill_processes` for main and child processes
- Include fallback process group cleanup for panes
- Implement window-level process cleanup
- Integrate session-level process cleanup
- Add tmux process cleanup test scripts
2025-08-31 19:26:45 +03:00
Mahmoud-Emad
7d28129f06 feat: implement dynamic pane resizing
- Add `resize_panes_equal()` to `Window`.
- Dynamically apply `tmux` layouts based on pane count.
- Implement `get_width()` and `get_height()` for `Pane`.
- Update test to create 4 panes and use equal resizing.
2025-08-31 17:56:03 +03:00
9657e9aa97 Merge branch 'development' into development_decartive
* development: (53 commits)
  ...
  feat: Implement theming and modal UI improvements
  ...
  ...
  ...
  ...
  ...
  ...
  zinit client fixes
  git herocmd improvements
  ...
  ...
  ...
  ...
  ...
  ...
  ...
  ...
  ...
  ...
  ...
2025-08-31 13:22:58 +02:00
Mahmoud-Emad
4b0b5a26f8 feat: Add declarative tmux module functions
- Implement `tmux.session_ensure` for idempotent create
- Implement `tmux.window_ensure` with 1 to 16 pane layouts
- Implement `tmux.pane_ensure` to configure individual panes
- Add new declarative tmux example scripts
- Update docs for imperative and declarative paradigms
2025-08-31 11:59:23 +03:00
ce6cf3aa9c ... 2025-08-29 09:48:44 +02:00
03bb86bd72 ... 2025-08-29 09:48:13 +02:00
b29468c0c2 ... 2025-08-29 06:31:29 +02:00
0f6d6f731a ... 2025-08-29 06:13:50 +02:00
e340ad01ea ... 2025-08-28 17:19:32 +02:00
ae1f9d4477 .. 2025-08-28 16:12:34 +02:00
7b8ca007b7 ... 2025-08-28 16:10:59 +02:00
fb87adf87d ... 2025-08-28 16:02:28 +02:00
d52aa5dbd4 .l. 2025-08-28 14:40:09 +02:00
0bf586f748 Merge branch 'development_decartive' into development_builders
* development_decartive:
  refactor: use osal.processinfo_get for process stats
  feat: add declarative tmux and ttyd management

# Conflicts:
#	lib/osal/tmux/readme.md
2025-08-28 14:26:30 +02:00
a4472f095e Merge branch 'development' into development_builders
* development:
  minor example fixes
  feat: add comprehensive SSH agent management command
  refactor: Harden and improve SSH agent module
  ...
  feat: add editable ttyd dashboard mode
  feat: add CLI for dashboard management and 4-pane layout
  fix: Fix build
  ...
  refactor: update SSH agent examples and module structure
  feat: add tmux dashboard with ttyd integration
  refactor: Remove is_tmux_server_not_running_error function
  wip: pushing the code to sync in other branch
  refactor: Improve tmux API consistency and formatting

# Conflicts:
#	lib/osal/core/net.v
#	lib/virt/podman/factory.v
2025-08-28 14:26:06 +02:00
f5ca193fb4 ... 2025-08-28 14:25:07 +02:00
3f9844fd93 ... 2025-08-28 14:03:29 +02:00
12c197207c ... 2025-08-28 13:28:05 +02:00
60fd795b1f ... 2025-08-28 12:02:48 +02:00
Mahmoud-Emad
ccfe02b1ee refactor: use osal.processinfo_get for process stats
- Replace `ps` command parsing with `osal.processinfo_get`
- Remove custom system memory detection and caching
- Update ProcessStats to use `osal` process info fields
- Ignore expected errors when stopping ttyd
- Add logging for ttyd stop operations
2025-08-28 12:55:12 +03:00
Mahmoud-Emad
b6324849a4 feat: add declarative tmux and ttyd management
- Implement `tmux.pane_split` action
- Add declarative `tmux.session_ttyd` and `tmux.window_ttyd`
- Include `tmux.session_ttyd_stop`, `window_ttyd_stop`, `ttyd_stop_all`
- Update tmux documentation and add usage examples
- Improve robustness of tmux session and window scanning
2025-08-28 12:45:46 +03:00
049f2316bd ... 2025-08-28 07:28:43 +02:00
Mahmoud-Emad
e341f83f0f feat: add comprehensive SSH agent management command
- Introduce `hero sshagent` for full SSH agent management
- Implement `profile`, `push`, `auth`, `status` subcommands
- Enable smart key loading and shell profile integration
- Support remote key deployment and authorization verification
- Use `~/.ssh/hero-agent.sock` and ensure secure permissions
2025-08-25 17:22:13 +03:00
Mahmoud-Emad
ab6808c5f9 Merge branch 'development' into development_sshagent 2025-08-25 16:38:46 +03:00
Mahmoud-Emad
32e7a6df4f refactor: Harden and improve SSH agent module
- Add extensive security validations for SSH agent
- Implement robust `ssh-agent` auto-start script
- Enhance `sshagent` operations with improved error handling
- Revamp `sshagent` test suite for comprehensive coverage
- Update `sshagent` README with detailed documentation
2025-08-25 16:32:20 +03:00
621faa73a5 Merge branch 'development_tmux' of github.com:freeflowuniverse/herolib into development_tmux 2025-08-25 12:04:43 +02:00
ffa5447e6f ... 2025-08-25 12:04:40 +02:00
Mahmoud-Emad
a62147d7cc feat: add editable ttyd dashboard mode
- Implement `-editable` CLI argument
- Configure ttyd for read/write access
- Introduce `TtydArgs` struct for ttyd parameters
- Update help message with ttyd modes
- Streamline Hero Web startup command
2025-08-25 11:52:13 +03:00
Mahmoud-Emad
750e34cbe4 fix: Fix build 2025-08-25 09:43:37 +03:00
161f6786bd Merge branch 'development' into development_tmux
* development:
  ...

# Conflicts:
#	lib/osal/sshagent/agent.v
#	lib/osal/sshagent/play.v
2025-08-25 07:00:06 +02:00
856a5add22 ... 2025-08-25 06:59:30 +02:00
43e7c087db Merge branch 'development' into development_tmux
* development:
  ...
  ...
  ...
  ...

# Conflicts:
#	examples/osal/sshagent.vsh
#	examples/osal/sshagent/sshagent_example.v
#	examples/osal/tmux.vsh
#	lib/osal/sshagent/agent.v
#	lib/osal/sshagent/builder_integration.v
#	lib/osal/tmux/tmux_pane.v
#	lib/osal/tmux/tmux_scan.v
#	lib/osal/tmux/tmux_session.v
#	lib/osal/tmux/tmux_window.v
2025-08-25 06:34:03 +02:00
80741a3500 ... 2025-08-25 06:31:32 +02:00
c6d703b860 ... 2025-08-25 06:29:42 +02:00
01163ef534 ... 2025-08-25 05:44:45 +02:00
Mahmoud-Emad
a37dbd2438 refactor: update SSH agent examples and module structure
- Refactor `gittools` to remove `sshagent` import
- Update `sshagent.loaded()` to use `ssh-add -l` command
- Relocate and expose `remote_copy` and `remote_auth` functions
- Improve SSH agent examples and remove Linux tests
- Optimize `sshagent` module and `play` function imports
2025-08-24 23:54:57 +03:00
Mahmoud-Emad
9945cfb52c Merge branch 'development' into development_tmux 2025-08-24 23:15:34 +03:00
Mahmoud-Emad
25327053b9 feat: add tmux dashboard with ttyd integration
- Create script for 3-pane tmux dashboard
- Run Python HTTP server, counter, and htop in panes
- Add `run_ttyd` function to `Session` struct
- Add `run_ttyd` function to `Window` struct
- Expose tmux session and window via ttyd
2025-08-24 23:12:32 +03:00
Mahmoud-Emad
426a53a50d refactor: Remove is_tmux_server_not_running_error function 2025-08-24 18:10:30 +03:00
Mahmoud-Emad
b26893bf45 wip: pushing the code to sync in other branch 2025-08-24 17:58:09 +03:00
4e20df3eb8 ... 2025-08-24 16:42:07 +02:00
a2a9b07238 ... 2025-08-24 16:40:07 +02:00
c7b2ea9e2a ... 2025-08-24 16:00:13 +02:00
698724f810 ... 2025-08-24 15:43:07 +02:00
4f54551f14 ... 2025-08-24 15:42:01 +02:00
Mahmoud-Emad
117c9ac67c refactor: Improve tmux API consistency and formatting
- Refactor `logs_get_new` to use `LogsGetArgs` struct
- Return window as reference from `window_new`
- Standardize indentation and spacing
- Remove excessive blank lines
- Comment out initial example usage
2025-08-24 16:31:04 +03:00
e47d311c99 ... 2025-08-24 15:28:57 +02:00
6de2153f11 ... 2025-08-24 15:24:52 +02:00
810cbda176 ... 2025-08-24 15:10:03 +02:00
d07aec8434 ... 2025-08-24 15:02:22 +02:00