Commit Graph

437 Commits

Author SHA1 Message Date
Mahmoud-Emad
52a1d2f80d feat: add real-time logging for tmux panes
- Introduce `tmux_logger` app for categorized output
- Implement pane logging via `tmux pipe-pane`
- Add `log`, `logpath`, `logreset` options to panes
- Update `Pane` struct with logging state and cleanup
- Refactor `logger.new` to use `LoggerFactoryArgs`
2025-09-01 19:48:15 +03:00
8ee02d175e ... 2025-09-01 16:15:25 +02:00
Mahmoud-Emad
4afedc6541 chore: remove deprecated tmux example scripts and testing docs
- Delete `TESTING.md`
- Remove `tmux_cleanup.heroscript`
- Remove `tmux_setup.heroscript`
- Update `cleanup_test.heroscript` to delete session
2025-08-31 19:54:16 +03:00
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
b957394d2a Merge branch 'development_decartive' of https://github.com/freeflowuniverse/herolib into development_decartive 2025-08-31 17:56:14 +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
cb43ec7f1a ... 2025-08-31 13:46:27 +02: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
a25a12d4c9 ... 2025-08-31 13:22:52 +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
6edbfef12a ... 2025-08-29 10:44:46 +02:00
ce6cf3aa9c ... 2025-08-29 09:48:44 +02:00
03bb86bd72 ... 2025-08-29 09:48:13 +02:00
0f6d6f731a ... 2025-08-29 06:13:50 +02:00
0f2d9f0aba ... 2025-08-28 21:28:03 +02:00
0221c0a28c ... 2025-08-28 21:21:57 +02:00
03961b291b ... 2025-08-28 20:42:59 +02:00
66d2ef2d97 ... 2025-08-28 19:18:56 +02:00
0a02ea353a ... 2025-08-28 18:46:24 +02:00
fac9276479 ... 2025-08-28 18:27:32 +02:00
8440b18e2f ... 2025-08-28 17:37:57 +02:00
e340ad01ea ... 2025-08-28 17:19:32 +02:00
fb87adf87d ... 2025-08-28 16:02:28 +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
3f9844fd93 ... 2025-08-28 14:03:29 +02:00
76efe0438a ... 2025-08-28 13:29:17 +02:00
12c197207c ... 2025-08-28 13:28:05 +02:00
60fd795b1f ... 2025-08-28 12:02:48 +02: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
c10a7f2e7b ... 2025-08-28 09:17:10 +02:00
4af635c4d1 Merge branch 'development_builders' of github.com:freeflowuniverse/herolib into development_builders 2025-08-28 05:39:53 +02:00
d1ec4ff568 lima installer 2025-08-28 05:39:51 +02:00
Mahmoud-Emad
13223dc03d chore: remove buildah example and run scripts
- Remove `buildah_example` script
- Remove `buildah_run_clean` script
- Remove `buildah_run_mdbook` script
- Remove `buildah_run` script
2025-08-27 13:11:57 +03:00
Mahmoud-Emad
9d79b6f2e2 feat: introduce consolidated Podman module with dual APIs
- Restructure Podman module into sub-files
- Introduce Simple API for quick Podman operations
- Add Podman machine management (init, start, list)
- Enhance Buildah integration with structured errors
- Define specific error types for Podman operations
- Update documentation and add comprehensive demo script
2025-08-27 13:10:53 +03:00
db9d2b5a0a ... 2025-08-27 10:20:52 +02:00
Timur Gordon
566d871399 minor example fixes 2025-08-27 09:41:33 +02:00
cbc6a9df2d .. 2025-08-27 09:36:11 +02:00
a1fcdc1005 ... 2025-08-27 07:23:44 +02:00
24ec468d37 ... 2025-08-26 11:36:53 +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
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
dcb9714599 feat: add CLI for dashboard management and 4-pane layout
- Implement CLI for start, stop, status, restart
- Refactor dashboard setup into `start_dashboard` function
- Add `stop_dashboard` and `show_status` functions
- Expand tmux dashboard layout to 4 panes (2x2 grid)
- Integrate "Hero Web" service into dashboard panes
2025-08-25 10:16:10 +03:00
Mahmoud-Emad
25f4e4f03e Merge branch 'development' into development_tmux 2025-08-25 09:40:18 +03:00
5f75c542df ... 2025-08-25 06:34:39 +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
c6d703b860 ... 2025-08-25 06:29:42 +02:00
836c87fbec ... 2025-08-25 06:28:42 +02:00