codex-agent-framework 0.1.44__tar.gz → 0.1.46__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.44 → codex_agent_framework-0.1.46}/CHANGELOG.md +15 -0
- {codex_agent_framework-0.1.44/codex_agent_framework.egg-info → codex_agent_framework-0.1.46}/PKG-INFO +2 -2
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/README.md +1 -1
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/config.py +1 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/context.py +2 -1
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/status.py +2 -1
- codex_agent_framework-0.1.46/codex_agent/version.py +1 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46/codex_agent_framework.egg-info}/PKG-INFO +2 -2
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/pyproject.toml +1 -1
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent_context.py +21 -0
- codex_agent_framework-0.1.44/codex_agent/version.py +0 -1
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/LICENSE +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/MANIFEST.in +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/__main__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/agent.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/agent_runtime.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/ai.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/browser.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_commands.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/bash/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/bash/requirements.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/browser/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/browser/requirements.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/content/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/content/requirements.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/content/system.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/content/vision.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/context/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/desktop/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/desktop/requirements.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/environment/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/environment/requirements.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/files/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/files/requirements.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/files/tools.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/image_generation/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/image_generation/image_generation_system_prompt.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/image_generation/requirements.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/interface/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/interface/requirements.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/memory/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/memory/requirements.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/planner/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/planner/requirements.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/python/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/python/requirements.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/realtime/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/realtime/audio.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/realtime/bridge.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/realtime/manager.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/realtime/requirements.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/realtime/session.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/scheduler/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/scheduler/requirements.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/subagents/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/subagents/profiles/explorer.json +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/subagents/requirements.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/tts/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_plugins/tts/requirements.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/cli/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/cli/headless.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/cli/main.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/cli/output.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/cli/root.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/cli/runner.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/client.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/command.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/desktop.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/event.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/get_text/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/get_text/default_gitignore +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/get_text/get_text.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/get_text/simpler_get_text.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/hooks.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/image.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/latex.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/mainloop.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/message.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/plugin.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/prompts/system_prompt.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/provider.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/runtime.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/scheduler.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/scripts/install-system-dependencies.sh +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/server/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/server/app.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/server/core.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/service.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/sessions.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/stream.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/stream_utils.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/tool.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/tray.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/tui/__init__.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/tui/app.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/tui/chat.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/tui/lifecycle.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/tui/log.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/tui/state.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/tui/status_bar.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/tui/style.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/tui/transcript.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/utils.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/worker.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent_framework.egg-info/SOURCES.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent_framework.egg-info/dependency_links.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent_framework.egg-info/entry_points.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent_framework.egg-info/requires.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent_framework.egg-info/top_level.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/dependencies.txt +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/setup.cfg +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent_audio_hooks.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent_commands.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent_desktop.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent_environment.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent_image_generation.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent_observe.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent_plugins.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent_providers_config.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent_realtime.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent_response.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent_runtime.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent_sessions.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent_subagents.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent_tools.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent_turns.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_ai.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_browser.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_builtin_config.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_chat.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_cli.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_cli_headless.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_cli_root.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_client.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_events.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_get_text_browser.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_hooks.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_image_message.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_local_desktop.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_memory.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_messages.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_planner.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_scheduler.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_server.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_service.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_tui.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_utils.py +0 -0
- {codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_worker.py +0 -0
|
@@ -4,6 +4,21 @@ 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.46] - 2026-05-16
|
|
8
|
+
### Changed
|
|
9
|
+
- Clarify README product positioning as an open-source, hackable, local-first Codex-style harness with explicit control over sessions, tools, plugins, runtime state, and UI surfaces.
|
|
10
|
+
|
|
11
|
+
### Tests
|
|
12
|
+
- Validate the documentation update with the 554-test offline CI suite.
|
|
13
|
+
|
|
14
|
+
## [0.1.45] - 2026-05-16
|
|
15
|
+
### Changed
|
|
16
|
+
- Add `prune_orphaned_tool_outputs_on_context_build` to keep orphaned tool-output pruning enabled by default while making the persistent side effect configurable.
|
|
17
|
+
- Apply the same pruning guard to context-window status estimates and document the current 554-test offline CI count.
|
|
18
|
+
|
|
19
|
+
### Tests
|
|
20
|
+
- Add coverage for disabling context-build orphan pruning and validate with targeted context/session/response/config coverage plus the 554-test offline CI suite.
|
|
21
|
+
|
|
7
22
|
## [0.1.44] - 2026-05-16
|
|
8
23
|
### Changed
|
|
9
24
|
- Clarify local server exposure risks for non-loopback binds, including the current lack of built-in authentication, authorization, and browser-facing CORS hardening.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codex-agent-framework
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.46
|
|
4
4
|
Summary: A lightweight event-driven Codex agent runtime.
|
|
5
5
|
Author: Baptiste
|
|
6
6
|
License-Expression: MIT
|
|
@@ -51,7 +51,7 @@ Dynamic: license-file
|
|
|
51
51
|
|
|
52
52
|
`codex-agent-framework` is a local-first Python framework for building and running tool-using AI agents.
|
|
53
53
|
|
|
54
|
-
Use it as a ready-to-run terminal assistant, or import `Agent` when you want to build your own agentic workflow in Python.
|
|
54
|
+
It is designed as an open-source, hackable Codex-style harness for people who want local control over sessions, tools, plugins, runtime state, and UI surfaces instead of a sealed assistant runtime. Use it as a ready-to-run terminal assistant, or import `Agent` when you want to build your own agentic workflow in Python.
|
|
55
55
|
|
|
56
56
|
> Early alpha: APIs are still evolving and breaking changes are expected while the architecture settles.
|
|
57
57
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
`codex-agent-framework` is a local-first Python framework for building and running tool-using AI agents.
|
|
4
4
|
|
|
5
|
-
Use it as a ready-to-run terminal assistant, or import `Agent` when you want to build your own agentic workflow in Python.
|
|
5
|
+
It is designed as an open-source, hackable Codex-style harness for people who want local control over sessions, tools, plugins, runtime state, and UI surfaces instead of a sealed assistant runtime. Use it as a ready-to-run terminal assistant, or import `Agent` when you want to build your own agentic workflow in Python.
|
|
6
6
|
|
|
7
7
|
> Early alpha: APIs are still evolving and breaking changes are expected while the architecture settles.
|
|
8
8
|
|
|
@@ -82,7 +82,8 @@ class ContextManager:
|
|
|
82
82
|
providers_msgs = self.get_providers_messages()
|
|
83
83
|
max_images = self.agent.config.get("max_images", 10)
|
|
84
84
|
|
|
85
|
-
self.
|
|
85
|
+
if self.agent.config.prune_orphaned_tool_outputs_on_context_build:
|
|
86
|
+
self.prune_orphaned_session_tool_outputs()
|
|
86
87
|
session_messages = sort(
|
|
87
88
|
msg for msg in self.agent.session.context_messages()
|
|
88
89
|
if self.is_message_visible_in_context(msg)
|
|
@@ -70,7 +70,8 @@ class StatusManager:
|
|
|
70
70
|
response_tools = self.agent.tools_manager.get_response_tools()
|
|
71
71
|
max_images = self.agent.config.get("max_images", 10)
|
|
72
72
|
context_manager = self.agent.context_manager
|
|
73
|
-
|
|
73
|
+
if self.agent.config.prune_orphaned_tool_outputs_on_context_build:
|
|
74
|
+
context_manager.prune_orphaned_session_tool_outputs()
|
|
74
75
|
all_session_messages = list(self.agent.session.messages) if self.agent.session else []
|
|
75
76
|
session_messages = sort(
|
|
76
77
|
msg for msg in self.agent.session.context_messages()
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.1.46"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codex-agent-framework
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.46
|
|
4
4
|
Summary: A lightweight event-driven Codex agent runtime.
|
|
5
5
|
Author: Baptiste
|
|
6
6
|
License-Expression: MIT
|
|
@@ -51,7 +51,7 @@ Dynamic: license-file
|
|
|
51
51
|
|
|
52
52
|
`codex-agent-framework` is a local-first Python framework for building and running tool-using AI agents.
|
|
53
53
|
|
|
54
|
-
Use it as a ready-to-run terminal assistant, or import `Agent` when you want to build your own agentic workflow in Python.
|
|
54
|
+
It is designed as an open-source, hackable Codex-style harness for people who want local control over sessions, tools, plugins, runtime state, and UI surfaces instead of a sealed assistant runtime. Use it as a ready-to-run terminal assistant, or import `Agent` when you want to build your own agentic workflow in Python.
|
|
55
55
|
|
|
56
56
|
> Early alpha: APIs are still evolving and breaking changes are expected while the architecture settles.
|
|
57
57
|
|
|
@@ -475,6 +475,27 @@ def test_agent_get_context_filters_expired_messages():
|
|
|
475
475
|
assert "expired hidden context" not in context_text
|
|
476
476
|
|
|
477
477
|
|
|
478
|
+
def test_agent_get_context_can_skip_orphaned_tool_output_pruning():
|
|
479
|
+
agent = Agent(session="new", prune_orphaned_tool_outputs_on_context_build=False)
|
|
480
|
+
output = ToolResultMessage(
|
|
481
|
+
name="observe",
|
|
482
|
+
call_id="call_missing",
|
|
483
|
+
content="success: full output in ImageMessage id=img_1.",
|
|
484
|
+
)
|
|
485
|
+
user = DeveloperMessage(content="resumed")
|
|
486
|
+
agent.session.messages = [output, user]
|
|
487
|
+
agent.save_session()
|
|
488
|
+
|
|
489
|
+
context = agent.context_manager.get_context()
|
|
490
|
+
|
|
491
|
+
assert output in agent.session.messages
|
|
492
|
+
assert user in agent.session.messages
|
|
493
|
+
assert user.id in [message.id for message in context]
|
|
494
|
+
with open(agent.session.session_file, encoding="utf-8") as f:
|
|
495
|
+
persisted = json.load(f)
|
|
496
|
+
assert [message["id"] for message in persisted["messages"]] == [output.id, user.id]
|
|
497
|
+
|
|
498
|
+
|
|
478
499
|
def test_agent_get_context_uses_openai_input_token_count_when_available(monkeypatch):
|
|
479
500
|
agent = Agent(session="new")
|
|
480
501
|
agent.session.messages = [DeveloperMessage(content="visible context")]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.1.44"
|
|
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.44 → codex_agent_framework-0.1.46}/codex_agent/builtin_commands.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
|
|
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.44 → codex_agent_framework-0.1.46}/codex_agent/get_text/__init__.py
RENAMED
|
File without changes
|
{codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/codex_agent/get_text/default_gitignore
RENAMED
|
File without changes
|
{codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/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
|
{codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/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.44 → codex_agent_framework-0.1.46}/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
|
|
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.44 → codex_agent_framework-0.1.46}/tests/test_agent_audio_hooks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent_environment.py
RENAMED
|
File without changes
|
{codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/tests/test_agent_image_generation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codex_agent_framework-0.1.44 → codex_agent_framework-0.1.46}/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.44 → codex_agent_framework-0.1.46}/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
|