codex-agent-framework 0.1.2__tar.gz → 0.1.3__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.2 → codex_agent_framework-0.1.3}/CHANGELOG.md +8 -0
- {codex_agent_framework-0.1.2/codex_agent_framework.egg-info → codex_agent_framework-0.1.3}/PKG-INFO +2 -1
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/README.md +1 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/agent.py +1 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/ai.py +1 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3/codex_agent_framework.egg-info}/PKG-INFO +2 -1
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/pyproject.toml +1 -1
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/tests/test_agent.py +10 -2
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/LICENSE +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/MANIFEST.in +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/__init__.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/__main__.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/builtin_commands.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/builtin_providers.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/builtin_tools.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/chat.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/command.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/event.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/get_text/__init__.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/get_text/default_gitignore +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/get_text/get_text.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/get_text/simpler_get_text.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/get_webdriver.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/image.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/latex.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/memory.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/message.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/prompts/image_generation_system_prompt.txt +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/prompts/system_prompt.txt +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/provider.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/stream_utils.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/tool.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/utils.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/voice.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/worker.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent_framework.egg-info/SOURCES.txt +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent_framework.egg-info/dependency_links.txt +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent_framework.egg-info/entry_points.txt +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent_framework.egg-info/requires.txt +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent_framework.egg-info/top_level.txt +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/setup.cfg +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/tests/test_ai.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/tests/test_chat.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/tests/test_events.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/tests/test_image_message.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/tests/test_memory.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/tests/test_messages.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/tests/test_utils.py +0 -0
- {codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/tests/test_worker.py +0 -0
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
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
|
+
## [0.1.3] - 2026-05-03
|
|
7
|
+
### Added
|
|
8
|
+
- Send the current session id as `prompt_cache_key` to the Codex backend, enabling server-side prompt cache reuse across calls from the same session.
|
|
9
|
+
|
|
10
|
+
### Tests
|
|
11
|
+
- Add regression coverage for prompt cache key propagation through agent response calls and Codex stream parameters.
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
## [0.1.2] - 2026-05-03
|
|
7
15
|
### Added
|
|
8
16
|
- Add a `/clear` terminal chat command that clears the screen without touching session history.
|
{codex_agent_framework-0.1.2/codex_agent_framework.egg-info → codex_agent_framework-0.1.3}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codex-agent-framework
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: A lightweight event-driven Codex agent runtime.
|
|
5
5
|
Author: Baptiste
|
|
6
6
|
License-Expression: MIT
|
|
@@ -342,6 +342,7 @@ python -m build
|
|
|
342
342
|
The distribution includes prompt text files and `codex_agent/get_text/default_gitignore` through package data and `MANIFEST.in`.
|
|
343
343
|
|
|
344
344
|
## Recent changes
|
|
345
|
+
- `0.1.3`: pass the current session id as `prompt_cache_key` to the Codex backend for prompt cache reuse.
|
|
345
346
|
- `0.1.2`: add `/clear` in the terminal chat to clear the screen without changing session history.
|
|
346
347
|
- `0.1.1`: image observations are now validated before session persistence, preventing broken `ImageMessage` entries from poisoning later turns.
|
|
347
348
|
|
|
@@ -295,6 +295,7 @@ python -m build
|
|
|
295
295
|
The distribution includes prompt text files and `codex_agent/get_text/default_gitignore` through package data and `MANIFEST.in`.
|
|
296
296
|
|
|
297
297
|
## Recent changes
|
|
298
|
+
- `0.1.3`: pass the current session id as `prompt_cache_key` to the Codex backend for prompt cache reuse.
|
|
298
299
|
- `0.1.2`: add `/clear` in the terminal chat to clear the screen without changing session history.
|
|
299
300
|
- `0.1.1`: image observations are now validated before session persistence, preventing broken `ImageMessage` entries from poisoning later turns.
|
|
300
301
|
|
|
@@ -289,6 +289,7 @@ class AIClient:
|
|
|
289
289
|
"reasoning": reasoning,
|
|
290
290
|
"reasoning_summary": "auto" if reasoning else None,
|
|
291
291
|
"include_reasoning": bool(reasoning),
|
|
292
|
+
"prompt_cache_key": params.get("prompt_cache_key"),
|
|
292
293
|
}
|
|
293
294
|
|
|
294
295
|
def _codex_event_to_message_chunk(self, event, tool_call_index=0):
|
{codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3/codex_agent_framework.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codex-agent-framework
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: A lightweight event-driven Codex agent runtime.
|
|
5
5
|
Author: Baptiste
|
|
6
6
|
License-Expression: MIT
|
|
@@ -342,6 +342,7 @@ python -m build
|
|
|
342
342
|
The distribution includes prompt text files and `codex_agent/get_text/default_gitignore` through package data and `MANIFEST.in`.
|
|
343
343
|
|
|
344
344
|
## Recent changes
|
|
345
|
+
- `0.1.3`: pass the current session id as `prompt_cache_key` to the Codex backend for prompt cache reuse.
|
|
345
346
|
- `0.1.2`: add `/clear` in the terminal chat to clear the screen without changing session history.
|
|
346
347
|
- `0.1.1`: image observations are now validated before session persistence, preventing broken `ImageMessage` entries from poisoning later turns.
|
|
347
348
|
|
|
@@ -60,8 +60,12 @@ class FakeImageAI:
|
|
|
60
60
|
class FakeCodexClient:
|
|
61
61
|
def __init__(self, events):
|
|
62
62
|
self.events = events
|
|
63
|
+
self.args = None
|
|
64
|
+
self.kwargs = None
|
|
63
65
|
|
|
64
|
-
def stream(self, *
|
|
66
|
+
def stream(self, *args, **kwargs):
|
|
67
|
+
self.args = args
|
|
68
|
+
self.kwargs = kwargs
|
|
65
69
|
return iter(self.events)
|
|
66
70
|
|
|
67
71
|
|
|
@@ -290,6 +294,7 @@ def test_agent_get_response_emits_events_and_persists_assistant_message():
|
|
|
290
294
|
assert agent.session.messages[-1] is message
|
|
291
295
|
assert json.loads(json.dumps(message))["type"] == "assistant_message"
|
|
292
296
|
assert agent.ai.params["verbosity"] == agent.config.verbosity
|
|
297
|
+
assert agent.ai.params["prompt_cache_key"] == agent.current_session_id
|
|
293
298
|
assert any(tool["type"] == "custom" and tool["name"] == "python" for tool in agent.ai.params["tools"])
|
|
294
299
|
assert any(tool["type"] == "custom" and tool["name"] == "bash" for tool in agent.ai.params["tools"])
|
|
295
300
|
assert any(tool["type"] == "function" and tool["name"] == "read" for tool in agent.ai.params["tools"])
|
|
@@ -525,6 +530,7 @@ def test_agent_emits_server_tool_call_event_from_output_items():
|
|
|
525
530
|
)
|
|
526
531
|
|
|
527
532
|
assert seen == [("web_search", "ws_123", "completed")]
|
|
533
|
+
assert agent.ai._codex_client.kwargs["prompt_cache_key"] is None
|
|
528
534
|
|
|
529
535
|
|
|
530
536
|
def test_agent_persists_server_tool_output_items_as_messages():
|
|
@@ -1059,15 +1065,17 @@ def test_agent_can_enable_builtin_server_tools_from_config():
|
|
|
1059
1065
|
assert set(agent.server_tools) == {"web_search", "image_generation"}
|
|
1060
1066
|
|
|
1061
1067
|
|
|
1062
|
-
def
|
|
1068
|
+
def test_codex_stream_params_forward_verbosity_and_prompt_cache_key():
|
|
1063
1069
|
agent = Agent(session="new", voice_enabled=False, verbosity="low")
|
|
1064
1070
|
|
|
1065
1071
|
params = agent.ai._to_codex_stream_params({
|
|
1066
1072
|
"messages": agent.get_context(),
|
|
1067
1073
|
"verbosity": agent.config.verbosity,
|
|
1074
|
+
"prompt_cache_key": agent.current_session_id,
|
|
1068
1075
|
})
|
|
1069
1076
|
|
|
1070
1077
|
assert params["verbosity"] == "low"
|
|
1078
|
+
assert params["prompt_cache_key"] == agent.current_session_id
|
|
1071
1079
|
|
|
1072
1080
|
|
|
1073
1081
|
def test_agent_provider_messages_are_ephemeral():
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/builtin_providers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/get_text/__init__.py
RENAMED
|
File without changes
|
{codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/get_text/default_gitignore
RENAMED
|
File without changes
|
{codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/get_text/get_text.py
RENAMED
|
File without changes
|
{codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/get_text/simpler_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
|
{codex_agent_framework-0.1.2 → codex_agent_framework-0.1.3}/codex_agent/prompts/system_prompt.txt
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
|