Commit Graph

5 Commits

Author SHA1 Message Date
34cacf55d2 feat: replace strcpy/strcat with memcpy and add null-termination across multiple source files
Replace unsafe string concatenation patterns using strcpy/strcat with explicit memcpy calls and proper null-termination in bash_repair.c, context_manager.c, context_summarizer.c, and db.c. Add missing null-pointer checks for strdup results in bash_executor.c. Introduce atomic_int for spinner_running flag in http_client.c. Add consecutive_tool_error_iterations field to agent struct and refactor agent heartbeat/token tracking to use messages_get_db instead of db_open. Remove r_config_get_max_tokens declaration from r_config.h. Add json_repair.c to Makefile build sources and include db.h in messages.h with new messages_get_db function declaration.
2026-04-03 08:42:43 +00:00
83b3eec68b feat: add snapshot database tables, live snapshot recording, and vi/emacs editing mode toggles 2026-02-14 07:07:05 +00:00
8215d7012d feat: add agent subagent support, bash timeout, context manager improvements, and benchmark script
- Add agent_set_is_subagent and agent_set_tool_registry to agent API for subagent support
- Add timeout_seconds parameter to r_bash_execute to prevent hanging processes
- Refactor context_manager truncation logic with dynamic ratio-based truncation and total size calculation
- Add messages_to_json_string helper and r_config_get_max_tokens accessor
- Introduce tool_registry_get_specialized for type-filtered tool registries
- Add completion_phrases and passive_phrases detection to agent completion logic
- Suppress spinner in http_client when stderr is not a TTY
- Add comprehensive agent_benchmark.py with TestCase framework and logging
2026-01-29 05:01:05 +00:00
216627e777 feat: add context overflow detection and automatic history shrinking in agent loop
Implement context manager integration that detects API errors indicating context length exceeded, then automatically shrinks message history and retries the request. Add new messages API functions (remove_range, get_object, replace_at) and a new R_ERROR_CONTEXT_TOO_LONG error code to support this functionality.
2026-01-28 19:15:02 +00:00
7f799e8fa5 chore: remove AppRun, compose.yml, collect_so_files.sh and database.db; add include headers and refactor Makefile with src directory structure 2026-01-28 18:34:39 +00:00