ReMe/reme/utils
jinliyl 2e87b7a52e
Some checks are pending
Pre-commit / run (ubuntu-latest) (push) Waiting to run
Tests ReMe / Unit Tests - py3.11 (push) Waiting to run
Tests ReMe / Unit Tests - py3.12 (push) Waiting to run
Tests ReMe / Unit Tests - py3.13 (push) Waiting to run
Windows Smoke / CLI smoke - py3.11 (push) Waiting to run
feat(core): add shell execution and runtime memory status (#344)
* feat(core): add shell command execution and memory status reporting

- Introduce ShellStep for executing shell commands with timeout support
- Add StatusStep to report memory estimates for stateful data components
- Register shell and status commands in default configuration
- Update documentation with new reme status and shell command capabilities
- Implement comprehensive unit tests for both new step types
- Add support for asynchronous command execution with proper error handling

* feat(config): add log_config option to suppress config loading logs

- Add log_config parameter to resolve_app_config function with default True
- Conditionally log config loading messages based on log_config flag
- Update reme.py and service_utils.py to use log_config=False for client calls
- Suppress config logging in user-facing contexts to avoid output pollution

refactor(shell): rename command parameter to cmd for clarity

- Change 'command' to 'cmd' in default.yaml configuration schema
- Rename 'timeout' to 'shell_timeout' to avoid parameter name collisions
- Update ShellStep to accept both legacy and new parameter names
- Maintain backward compatibility with existing command/timeout usage

test(shell): add comprehensive tests for shell step parameter handling

- Add test cases for new cmd and shell_timeout parameter names
- Verify legacy command and timeout parameters still work
- Test blank command rejection message updated to use cmd
- Create integration test for shell parameter payload passing

* fix(shell): ensure proper environment loading and process timeout handling

- Move load_env() call to execute before parse_args() in main function
- Add proper process group killing for timeout scenarios on POSIX systems
- Implement recursive child process termination on Windows for proper cleanup
- Change parameter name from 'timeout' to 'shell_timeout' in shell execution
- Remove support for legacy 'command' and 'timeout' parameter names
- Update test cases to verify new timeout behavior and parameter requirements
- Add comments explaining component size tracking implementation details
2026-07-14 16:31:41 +08:00
..
__init__.py feat(cli): route bare commands to the running server's real config (#312) 2026-07-01 17:15:48 +08:00
agent_state_io.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
common_utils.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
env_utils.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
jsonl_zst.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
link_expansion.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
logger_utils.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
logo_utils.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
service_utils.py feat(core): add shell execution and runtime memory status (#344) 2026-07-14 16:31:41 +08:00
similarity_utils.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
token_utils.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
wikilink_handler.py docs: rename vault_dir to workspace_dir in documentation and examples (#286) 2026-06-22 16:58:57 +08:00