codex-agent-framework 0.1.80__tar.gz → 0.1.81__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.
Files changed (158) hide show
  1. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/CHANGELOG.md +7 -0
  2. {codex_agent_framework-0.1.80/codex_agent_framework.egg-info → codex_agent_framework-0.1.81}/PKG-INFO +1 -1
  3. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_commands.py +14 -2
  4. codex_agent_framework-0.1.81/codex_agent/version.py +1 -0
  5. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81/codex_agent_framework.egg-info}/PKG-INFO +1 -1
  6. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/pyproject.toml +1 -1
  7. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_agent_commands.py +4 -2
  8. codex_agent_framework-0.1.80/codex_agent/version.py +0 -1
  9. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/LICENSE +0 -0
  10. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/MANIFEST.in +0 -0
  11. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/README.md +0 -0
  12. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/__init__.py +0 -0
  13. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/__main__.py +0 -0
  14. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/agent.py +0 -0
  15. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/agent_runtime.py +0 -0
  16. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/ai.py +0 -0
  17. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/browser.py +0 -0
  18. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/__init__.py +0 -0
  19. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/bash/__init__.py +0 -0
  20. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/bash/requirements.txt +0 -0
  21. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/browser/__init__.py +0 -0
  22. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/browser/requirements.txt +0 -0
  23. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/content/__init__.py +0 -0
  24. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/content/requirements.txt +0 -0
  25. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/content/system.py +0 -0
  26. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/content/vision.py +0 -0
  27. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/context/__init__.py +0 -0
  28. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/desktop/__init__.py +0 -0
  29. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/desktop/requirements.txt +0 -0
  30. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/environment/__init__.py +0 -0
  31. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/environment/requirements.txt +0 -0
  32. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/files/__init__.py +0 -0
  33. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/files/requirements.txt +0 -0
  34. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/files/tools.py +0 -0
  35. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/image_generation/__init__.py +0 -0
  36. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/image_generation/image_generation_system_prompt.txt +0 -0
  37. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/image_generation/requirements.txt +0 -0
  38. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/interface/__init__.py +0 -0
  39. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/interface/requirements.txt +0 -0
  40. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/memory/__init__.py +0 -0
  41. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/memory/requirements.txt +0 -0
  42. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/planner/__init__.py +0 -0
  43. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/planner/requirements.txt +0 -0
  44. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/python/__init__.py +0 -0
  45. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/python/requirements.txt +0 -0
  46. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/realtime/__init__.py +0 -0
  47. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/realtime/audio.py +0 -0
  48. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/realtime/bridge.py +0 -0
  49. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/realtime/manager.py +0 -0
  50. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/realtime/requirements.txt +0 -0
  51. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/realtime/session.py +0 -0
  52. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/scheduler/__init__.py +0 -0
  53. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/scheduler/requirements.txt +0 -0
  54. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/subagents/__init__.py +0 -0
  55. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/subagents/profiles/explorer.json +0 -0
  56. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/subagents/requirements.txt +0 -0
  57. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/tts/__init__.py +0 -0
  58. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/tts/requirements.txt +0 -0
  59. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/builtin_plugins/web_search/__init__.py +0 -0
  60. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/cli/__init__.py +0 -0
  61. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/cli/headless.py +0 -0
  62. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/cli/main.py +0 -0
  63. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/cli/output.py +0 -0
  64. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/cli/root.py +0 -0
  65. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/cli/runner.py +0 -0
  66. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/client.py +0 -0
  67. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/command.py +0 -0
  68. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/config.py +0 -0
  69. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/context.py +0 -0
  70. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/desktop.py +0 -0
  71. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/event.py +0 -0
  72. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/get_text/__init__.py +0 -0
  73. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/get_text/default_gitignore +0 -0
  74. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/get_text/get_text.py +0 -0
  75. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/get_text/simpler_get_text.py +0 -0
  76. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/hooks.py +0 -0
  77. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/image.py +0 -0
  78. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/latex.py +0 -0
  79. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/mainloop.py +0 -0
  80. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/message.py +0 -0
  81. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/plugin.py +0 -0
  82. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/prompts/compaction_prompt.txt +0 -0
  83. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/prompts/system_prompt.txt +0 -0
  84. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/provider.py +0 -0
  85. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/runtime.py +0 -0
  86. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/scheduler.py +0 -0
  87. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/scripts/install-system-dependencies.sh +0 -0
  88. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/server/__init__.py +0 -0
  89. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/server/app.py +0 -0
  90. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/server/core.py +0 -0
  91. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/service.py +0 -0
  92. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/sessions.py +0 -0
  93. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/status.py +0 -0
  94. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/stream.py +0 -0
  95. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/stream_utils.py +0 -0
  96. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/token_counter.py +0 -0
  97. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/tool.py +0 -0
  98. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/tray.py +0 -0
  99. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/tui/__init__.py +0 -0
  100. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/tui/app.py +0 -0
  101. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/tui/chat.py +0 -0
  102. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/tui/lifecycle.py +0 -0
  103. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/tui/log.py +0 -0
  104. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/tui/perf.py +0 -0
  105. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/tui/state.py +0 -0
  106. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/tui/status_bar.py +0 -0
  107. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/tui/stream_debug.py +0 -0
  108. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/tui/style.py +0 -0
  109. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/tui/transcript.py +0 -0
  110. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/tui/widgets.py +0 -0
  111. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/utils.py +0 -0
  112. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent/worker.py +0 -0
  113. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent_framework.egg-info/SOURCES.txt +0 -0
  114. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent_framework.egg-info/dependency_links.txt +0 -0
  115. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent_framework.egg-info/entry_points.txt +0 -0
  116. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent_framework.egg-info/requires.txt +0 -0
  117. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/codex_agent_framework.egg-info/top_level.txt +0 -0
  118. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/dependencies.txt +0 -0
  119. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/setup.cfg +0 -0
  120. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_agent.py +0 -0
  121. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_agent_audio_hooks.py +0 -0
  122. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_agent_context.py +0 -0
  123. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_agent_desktop.py +0 -0
  124. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_agent_environment.py +0 -0
  125. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_agent_image_generation.py +0 -0
  126. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_agent_observe.py +0 -0
  127. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_agent_plugins.py +0 -0
  128. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_agent_providers_config.py +0 -0
  129. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_agent_realtime.py +0 -0
  130. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_agent_response.py +0 -0
  131. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_agent_runtime.py +0 -0
  132. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_agent_sessions.py +0 -0
  133. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_agent_subagents.py +0 -0
  134. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_agent_tools.py +0 -0
  135. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_agent_turns.py +0 -0
  136. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_ai.py +0 -0
  137. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_browser.py +0 -0
  138. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_builtin_config.py +0 -0
  139. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_chat.py +0 -0
  140. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_cli.py +0 -0
  141. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_cli_headless.py +0 -0
  142. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_cli_root.py +0 -0
  143. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_client.py +0 -0
  144. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_events.py +0 -0
  145. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_get_text_browser.py +0 -0
  146. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_hooks.py +0 -0
  147. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_image_message.py +0 -0
  148. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_local_desktop.py +0 -0
  149. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_memory.py +0 -0
  150. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_messages.py +0 -0
  151. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_planner.py +0 -0
  152. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_scheduler.py +0 -0
  153. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_server.py +0 -0
  154. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_service.py +0 -0
  155. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_token_counter.py +0 -0
  156. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_tui.py +0 -0
  157. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_utils.py +0 -0
  158. {codex_agent_framework-0.1.80 → codex_agent_framework-0.1.81}/tests/test_worker.py +0 -0
@@ -4,6 +4,13 @@ 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.81] - 2026-05-18
8
+ ### Changed
9
+ - Document the remaining built-in slash commands and make `/help` show concise command summaries from their docstrings.
10
+
11
+ ### Tests
12
+ - Validate the command help pass with targeted command tests plus the full offline CI suite (618 passed).
13
+
7
14
  ## [0.1.80] - 2026-05-18
8
15
  ### Changed
9
16
  - Document `AgentClient` event-stream, SSE parsing, sequence resume, URL, and HTTP request helper contracts with concise docstrings.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codex-agent-framework
3
- Version: 0.1.80
3
+ Version: 0.1.81
4
4
  Summary: A lightweight event-driven Codex agent runtime.
5
5
  Author: Baptiste
6
6
  License-Expression: MIT
@@ -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
- names = ", ".join(f"/{name}" for name in sorted(agent.commands))
35
- return f"Available commands: {names}"
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.81"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codex-agent-framework
3
- Version: 0.1.80
3
+ Version: 0.1.81
4
4
  Summary: A lightweight event-driven Codex agent runtime.
5
5
  Author: Baptiste
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "codex-agent-framework"
7
- version = "0.1.80"
7
+ version = "0.1.81"
8
8
  description = "A lightweight event-driven Codex agent runtime."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -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
- assert "/help" in agent_result(agent, "/help")
130
- assert "/compact" in agent_result(agent, "/help")
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"