codex-agent-framework 0.1.80__tar.gz → 0.1.82__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.
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/CHANGELOG.md +14 -0
- {codex_agent_framework-0.1.80/codex_agent_framework.egg-info → codex_agent_framework-0.1.82}/PKG-INFO +1 -1
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/agent_runtime.py +4 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_commands.py +14 -2
- codex_agent_framework-0.1.82/codex_agent/version.py +1 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82/codex_agent_framework.egg-info}/PKG-INFO +1 -1
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/pyproject.toml +1 -1
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_commands.py +4 -2
- codex_agent_framework-0.1.80/codex_agent/version.py +0 -1
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/LICENSE +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/MANIFEST.in +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/README.md +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/__main__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/agent.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/ai.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/browser.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/bash/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/bash/requirements.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/browser/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/browser/requirements.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/content/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/content/requirements.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/content/system.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/content/vision.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/context/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/desktop/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/desktop/requirements.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/environment/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/environment/requirements.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/files/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/files/requirements.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/files/tools.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/image_generation/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/image_generation/image_generation_system_prompt.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/image_generation/requirements.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/interface/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/interface/requirements.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/memory/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/memory/requirements.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/planner/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/planner/requirements.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/python/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/python/requirements.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/realtime/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/realtime/audio.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/realtime/bridge.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/realtime/manager.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/realtime/requirements.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/realtime/session.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/scheduler/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/scheduler/requirements.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/subagents/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/subagents/profiles/explorer.json +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/subagents/requirements.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/tts/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/tts/requirements.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_plugins/web_search/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/cli/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/cli/headless.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/cli/main.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/cli/output.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/cli/root.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/cli/runner.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/client.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/command.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/config.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/context.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/desktop.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/event.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/get_text/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/get_text/default_gitignore +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/get_text/get_text.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/get_text/simpler_get_text.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/hooks.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/image.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/latex.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/mainloop.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/message.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/plugin.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/prompts/compaction_prompt.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/prompts/system_prompt.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/provider.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/runtime.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/scheduler.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/scripts/install-system-dependencies.sh +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/server/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/server/app.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/server/core.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/service.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/sessions.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/status.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/stream.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/stream_utils.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/token_counter.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/tool.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/tray.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/tui/__init__.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/tui/app.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/tui/chat.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/tui/lifecycle.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/tui/log.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/tui/perf.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/tui/state.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/tui/status_bar.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/tui/stream_debug.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/tui/style.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/tui/transcript.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/tui/widgets.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/utils.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/worker.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent_framework.egg-info/SOURCES.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent_framework.egg-info/dependency_links.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent_framework.egg-info/entry_points.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent_framework.egg-info/requires.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent_framework.egg-info/top_level.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/dependencies.txt +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/setup.cfg +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_audio_hooks.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_context.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_desktop.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_environment.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_image_generation.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_observe.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_plugins.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_providers_config.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_realtime.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_response.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_runtime.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_sessions.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_subagents.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_tools.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_turns.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_ai.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_browser.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_builtin_config.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_chat.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_cli.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_cli_headless.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_cli_root.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_client.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_events.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_get_text_browser.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_hooks.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_image_message.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_local_desktop.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_memory.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_messages.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_planner.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_scheduler.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_server.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_service.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_token_counter.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_tui.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_utils.py +0 -0
- {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_worker.py +0 -0
|
@@ -4,6 +4,20 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
This project loosely follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and uses semantic versioning where practical.
|
|
6
6
|
|
|
7
|
+
## [0.1.82] - 2026-05-18
|
|
8
|
+
### Changed
|
|
9
|
+
- Document process-backed runtime serialization, event payload, worker command dispatch, and worker loop helper contracts with concise docstrings.
|
|
10
|
+
|
|
11
|
+
### Tests
|
|
12
|
+
- Validate the runtime documentation pass with targeted runtime tests plus the full offline CI suite (618 passed).
|
|
13
|
+
|
|
14
|
+
## [0.1.81] - 2026-05-18
|
|
15
|
+
### Changed
|
|
16
|
+
- Document the remaining built-in slash commands and make `/help` show concise command summaries from their docstrings.
|
|
17
|
+
|
|
18
|
+
### Tests
|
|
19
|
+
- Validate the command help pass with targeted command tests plus the full offline CI suite (618 passed).
|
|
20
|
+
|
|
7
21
|
## [0.1.80] - 2026-05-18
|
|
8
22
|
### Changed
|
|
9
23
|
- Document `AgentClient` event-stream, SSE parsing, sequence resume, URL, and HTTP request helper contracts with concise docstrings.
|
|
@@ -16,6 +16,7 @@ from .utils import token_count, truncate
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
def jsonable(value):
|
|
19
|
+
"""Return a JSON-compatible copy of a runtime payload."""
|
|
19
20
|
return json.loads(json.dumps(value, ensure_ascii=False, default=str))
|
|
20
21
|
|
|
21
22
|
|
|
@@ -707,6 +708,7 @@ class _RuntimeFuture:
|
|
|
707
708
|
|
|
708
709
|
|
|
709
710
|
def agent_worker_main(command_queue, response_queue, event_queue, agent_kwargs):
|
|
711
|
+
"""Run the child-process command loop for a process-backed Agent."""
|
|
710
712
|
agent = Agent(**dict(agent_kwargs or {}))
|
|
711
713
|
agent.config_manager.save()
|
|
712
714
|
|
|
@@ -731,6 +733,7 @@ def agent_worker_main(command_queue, response_queue, event_queue, agent_kwargs):
|
|
|
731
733
|
|
|
732
734
|
|
|
733
735
|
def event_payload(event):
|
|
736
|
+
"""Normalize runtime events into JSON-compatible payload dictionaries."""
|
|
734
737
|
if isinstance(event, Event):
|
|
735
738
|
payload = event.copy()
|
|
736
739
|
elif isinstance(event, (dict, modict)):
|
|
@@ -742,6 +745,7 @@ def event_payload(event):
|
|
|
742
745
|
|
|
743
746
|
|
|
744
747
|
def run_worker_command(agent, name, payload):
|
|
748
|
+
"""Dispatch a process-worker runtime command to an Agent instance."""
|
|
745
749
|
if name == "start":
|
|
746
750
|
return agent.start()
|
|
747
751
|
if name == "stop":
|
{codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/builtin_commands.py
RENAMED
|
@@ -27,16 +27,25 @@ def format_config_output(value, prefix=""):
|
|
|
27
27
|
return "\n".join(_format_lines(value, prefix=prefix)) if isinstance(value, dict) else repr(value)
|
|
28
28
|
|
|
29
29
|
|
|
30
|
+
def _command_summary(func):
|
|
31
|
+
doc = (getattr(func, "__doc__", None) or "").strip()
|
|
32
|
+
return doc.splitlines()[0].strip() if doc else ""
|
|
33
|
+
|
|
34
|
+
|
|
30
35
|
@command
|
|
31
36
|
def help():
|
|
32
37
|
"""List slash commands currently registered on the active agent."""
|
|
33
38
|
agent = get_agent()
|
|
34
|
-
|
|
35
|
-
|
|
39
|
+
lines = ["Available commands:"]
|
|
40
|
+
for name in sorted(agent.commands):
|
|
41
|
+
summary = _command_summary(agent.commands[name])
|
|
42
|
+
lines.append(f"/{name} - {summary}" if summary else f"/{name}")
|
|
43
|
+
return "\n".join(lines)
|
|
36
44
|
|
|
37
45
|
|
|
38
46
|
@command
|
|
39
47
|
def compact(max_compacted_turns=None):
|
|
48
|
+
"""Compact the current session history, optionally limiting compacted turns."""
|
|
40
49
|
agent = get_agent()
|
|
41
50
|
max_compacted_turns = None if max_compacted_turns in (None, "", "all") else int(max_compacted_turns)
|
|
42
51
|
message = agent.compact_session(
|
|
@@ -83,6 +92,7 @@ def _format_session_list(agent):
|
|
|
83
92
|
|
|
84
93
|
@command
|
|
85
94
|
def session(action=None, *parts):
|
|
95
|
+
"""List, create, rename, or switch persisted chat sessions."""
|
|
86
96
|
agent = get_agent()
|
|
87
97
|
if action is None:
|
|
88
98
|
return _format_session_list(agent)
|
|
@@ -120,6 +130,7 @@ def session(action=None, *parts):
|
|
|
120
130
|
|
|
121
131
|
@command
|
|
122
132
|
def config(path=None, value=None, *extra, **values):
|
|
133
|
+
"""Show, update, or save runtime configuration values."""
|
|
123
134
|
agent = get_agent()
|
|
124
135
|
manager = agent.config_manager
|
|
125
136
|
|
|
@@ -193,6 +204,7 @@ def verbosity(value=None):
|
|
|
193
204
|
|
|
194
205
|
@command
|
|
195
206
|
def voice(value=None):
|
|
207
|
+
"""Show or update TTS voice settings through the TTS plugin."""
|
|
196
208
|
agent = get_agent()
|
|
197
209
|
if "tts" not in agent.plugins:
|
|
198
210
|
agent.load_builtin_plugin("tts")
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.1.82"
|
|
@@ -126,8 +126,10 @@ def test_agent_loads_builtin_commands():
|
|
|
126
126
|
agent = Agent(session="new")
|
|
127
127
|
|
|
128
128
|
assert {"help", "compact", "config", "model", "reasoning", "verbosity", "voice"}.issubset(agent.commands)
|
|
129
|
-
|
|
130
|
-
assert "/
|
|
129
|
+
output = agent_result(agent, "/help")
|
|
130
|
+
assert "/help - List slash commands" in output
|
|
131
|
+
assert "/compact - Compact the current session history" in output
|
|
132
|
+
assert "/voice - Show or update TTS voice settings" in output
|
|
131
133
|
|
|
132
134
|
|
|
133
135
|
def test_builtin_model_config_commands_update_and_persist(tmp_path, monkeypatch):
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.1.80"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/get_text/__init__.py
RENAMED
|
File without changes
|
{codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/get_text/default_gitignore
RENAMED
|
File without changes
|
{codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/get_text/get_text.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/prompts/system_prompt.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/server/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/codex_agent/tui/stream_debug.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_audio_hooks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_environment.py
RENAMED
|
File without changes
|
{codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_image_generation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_agent_providers_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codex_agent_framework-0.1.80 → codex_agent_framework-0.1.82}/tests/test_get_text_browser.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|