codex-agent-framework 0.1.37__tar.gz → 0.1.39__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.37 → codex_agent_framework-0.1.39}/CHANGELOG.md +16 -0
- {codex_agent_framework-0.1.37/codex_agent_framework.egg-info → codex_agent_framework-0.1.39}/PKG-INFO +3 -3
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/README.md +2 -2
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/tool.py +49 -14
- codex_agent_framework-0.1.39/codex_agent/version.py +1 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39/codex_agent_framework.egg-info}/PKG-INFO +3 -3
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/pyproject.toml +1 -1
- codex_agent_framework-0.1.37/codex_agent/version.py +0 -1
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/LICENSE +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/MANIFEST.in +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/__main__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/agent.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/agent_runtime.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/ai.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/browser.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_commands.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/bash/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/bash/requirements.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/browser/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/browser/requirements.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/content/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/content/requirements.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/content/system.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/content/vision.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/context/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/desktop/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/desktop/requirements.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/environment/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/environment/requirements.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/files/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/files/requirements.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/files/tools.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/image_generation/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/image_generation/image_generation_system_prompt.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/image_generation/requirements.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/interface/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/interface/requirements.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/memory/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/memory/requirements.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/planner/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/planner/requirements.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/python/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/python/requirements.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/realtime/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/realtime/audio.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/realtime/bridge.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/realtime/manager.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/realtime/requirements.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/realtime/session.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/scheduler/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/scheduler/requirements.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/subagents/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/subagents/profiles/explorer.json +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/subagents/requirements.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/tts/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/builtin_plugins/tts/requirements.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/cli/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/cli/headless.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/cli/main.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/cli/output.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/cli/root.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/cli/runner.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/client.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/command.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/config.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/context.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/desktop.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/event.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/get_text/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/get_text/default_gitignore +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/get_text/get_text.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/get_text/simpler_get_text.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/hooks.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/image.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/latex.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/mainloop.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/message.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/plugin.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/prompts/system_prompt.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/provider.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/runtime.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/scheduler.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/scripts/install-system-dependencies.sh +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/server/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/server/app.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/server/core.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/service.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/sessions.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/status.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/stream.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/stream_utils.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/tray.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/tui/__init__.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/tui/app.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/tui/chat.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/tui/lifecycle.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/tui/log.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/tui/state.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/tui/status_bar.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/tui/style.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/tui/transcript.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/utils.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/worker.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent_framework.egg-info/SOURCES.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent_framework.egg-info/dependency_links.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent_framework.egg-info/entry_points.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent_framework.egg-info/requires.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent_framework.egg-info/top_level.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/dependencies.txt +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/setup.cfg +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent_audio_hooks.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent_commands.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent_context.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent_desktop.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent_environment.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent_image_generation.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent_observe.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent_plugins.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent_providers_config.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent_realtime.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent_response.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent_runtime.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent_sessions.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent_subagents.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent_tools.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent_turns.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_ai.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_browser.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_builtin_config.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_chat.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_cli.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_cli_headless.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_cli_root.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_client.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_events.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_get_text_browser.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_hooks.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_image_message.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_local_desktop.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_memory.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_messages.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_planner.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_scheduler.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_server.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_service.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_tui.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_utils.py +0 -0
- {codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_worker.py +0 -0
|
@@ -4,6 +4,22 @@ 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.39] - 2026-05-16
|
|
8
|
+
### Changed
|
|
9
|
+
- Reflow `Tool` and `ToolsManager` helper signatures and runtime-state events for readability.
|
|
10
|
+
- Shorten parsed-tool developer-message documentation while preserving the generated schema output.
|
|
11
|
+
|
|
12
|
+
### Tests
|
|
13
|
+
- Validate with targeted tool, plugin, Agent, hook, and event coverage plus the 553-test offline CI suite.
|
|
14
|
+
|
|
15
|
+
## [0.1.38] - 2026-05-16
|
|
16
|
+
### Changed
|
|
17
|
+
- Clarify development checks around the explicit offline/headless CI subset, broader local pytest sweeps, and live/local-heavy test placement.
|
|
18
|
+
- Align README project-health wording with the current CI and release workflow.
|
|
19
|
+
|
|
20
|
+
### Tests
|
|
21
|
+
- Validate the docs update with the 553-test offline CI suite.
|
|
22
|
+
|
|
7
23
|
## [0.1.37] - 2026-05-16
|
|
8
24
|
### Changed
|
|
9
25
|
- Clarify context status token calculations by naming percent values and local token totals.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codex-agent-framework
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.39
|
|
4
4
|
Summary: A lightweight event-driven Codex agent runtime.
|
|
5
5
|
Author: Baptiste
|
|
6
6
|
License-Expression: MIT
|
|
@@ -192,8 +192,8 @@ agent = Agent(
|
|
|
192
192
|
|
|
193
193
|
## Project health
|
|
194
194
|
|
|
195
|
-
The repository includes a GitHub Actions CI workflow that runs an offline/headless test subset on Python 3.11 and 3.12, then builds the package and validates distributions with `twine check`.
|
|
196
|
-
You can run the same
|
|
195
|
+
The repository includes a GitHub Actions CI workflow that runs an explicit offline/headless test subset on Python 3.11 and 3.12, then builds the package and validates distributions with `twine check`.
|
|
196
|
+
You can run the same subset locally with `scripts/run-ci-tests.sh`; use `python -m pytest` for broader local sweeps that may include machine- or backend-dependent tests.
|
|
197
197
|
Dependabot is configured for weekly GitHub Actions and pip dependency updates.
|
|
198
198
|
|
|
199
199
|
## Documentation
|
|
@@ -143,8 +143,8 @@ agent = Agent(
|
|
|
143
143
|
|
|
144
144
|
## Project health
|
|
145
145
|
|
|
146
|
-
The repository includes a GitHub Actions CI workflow that runs an offline/headless test subset on Python 3.11 and 3.12, then builds the package and validates distributions with `twine check`.
|
|
147
|
-
You can run the same
|
|
146
|
+
The repository includes a GitHub Actions CI workflow that runs an explicit offline/headless test subset on Python 3.11 and 3.12, then builds the package and validates distributions with `twine check`.
|
|
147
|
+
You can run the same subset locally with `scripts/run-ci-tests.sh`; use `python -m pytest` for broader local sweeps that may include machine- or backend-dependent tests.
|
|
148
148
|
Dependabot is configured for weekly GitHub Actions and pip dependency updates.
|
|
149
149
|
|
|
150
150
|
## Documentation
|
|
@@ -117,14 +117,14 @@ class Tool(modict):
|
|
|
117
117
|
tool.type = 'tool'
|
|
118
118
|
return tool
|
|
119
119
|
|
|
120
|
-
def __call__(self
|
|
120
|
+
def __call__(self, *args, **kwargs):
|
|
121
121
|
obj = self.get_attr("obj", None)
|
|
122
122
|
if obj is None:
|
|
123
123
|
raise TypeError(f"Tool {self.name!r} has no bound callable")
|
|
124
124
|
agent = self.get_attr("agent", None)
|
|
125
125
|
token = set_current_agent(agent) if agent is not None and _current_agent.get() is None else None
|
|
126
126
|
try:
|
|
127
|
-
return obj(*args
|
|
127
|
+
return obj(*args, **kwargs)
|
|
128
128
|
finally:
|
|
129
129
|
if token is not None:
|
|
130
130
|
reset_current_agent(token)
|
|
@@ -253,13 +253,9 @@ class Tool(modict):
|
|
|
253
253
|
return tool
|
|
254
254
|
|
|
255
255
|
def to_developer_message(self):
|
|
256
|
-
"""
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
Returns:
|
|
260
|
-
Message: Developer message containing the tool's schema.
|
|
261
|
-
"""
|
|
262
|
-
return DeveloperMessage(content=f"Tool: {self.name}\nSchema:\n{json.dumps(self.to_response_tool(), indent=2, ensure_ascii=False)}")
|
|
256
|
+
"""Convert this tool into a developer message for parsed-tool guidance."""
|
|
257
|
+
schema = json.dumps(self.to_response_tool(), indent=2, ensure_ascii=False)
|
|
258
|
+
return DeveloperMessage(content=f"Tool: {self.name}\nSchema:\n{schema}")
|
|
263
259
|
|
|
264
260
|
|
|
265
261
|
class ToolsManager:
|
|
@@ -292,7 +288,18 @@ class ToolsManager:
|
|
|
292
288
|
options.name = name
|
|
293
289
|
self.add(obj, canonical_name=canonical_name, owner=owner, **options)
|
|
294
290
|
|
|
295
|
-
def add(
|
|
291
|
+
def add(
|
|
292
|
+
self,
|
|
293
|
+
func=None,
|
|
294
|
+
name=None,
|
|
295
|
+
description=None,
|
|
296
|
+
parameters=None,
|
|
297
|
+
required=None,
|
|
298
|
+
tool_type=None,
|
|
299
|
+
format=None,
|
|
300
|
+
canonical_name=None,
|
|
301
|
+
owner=None,
|
|
302
|
+
):
|
|
296
303
|
if func is None:
|
|
297
304
|
def decorator(f):
|
|
298
305
|
return self.add(
|
|
@@ -321,7 +328,15 @@ class ToolsManager:
|
|
|
321
328
|
owner=owner,
|
|
322
329
|
).wait().result
|
|
323
330
|
|
|
324
|
-
tool = Tool.from_callable(
|
|
331
|
+
tool = Tool.from_callable(
|
|
332
|
+
func,
|
|
333
|
+
name,
|
|
334
|
+
description,
|
|
335
|
+
parameters,
|
|
336
|
+
required,
|
|
337
|
+
tool_type=tool_type,
|
|
338
|
+
format=format,
|
|
339
|
+
)
|
|
325
340
|
tool.set_attr("agent", self.agent)
|
|
326
341
|
if canonical_name:
|
|
327
342
|
tool.set_attr("canonical_name", canonical_name)
|
|
@@ -330,7 +345,14 @@ class ToolsManager:
|
|
|
330
345
|
self.owners[tool.name] = owner
|
|
331
346
|
else:
|
|
332
347
|
self.owners.pop(tool.name, None)
|
|
333
|
-
self.agent.emit(
|
|
348
|
+
self.agent.emit(
|
|
349
|
+
RuntimeStateChangedEvent,
|
|
350
|
+
reason="tool_added",
|
|
351
|
+
namespace="tools",
|
|
352
|
+
name=tool.name,
|
|
353
|
+
owner=owner or "",
|
|
354
|
+
details=tool,
|
|
355
|
+
)
|
|
334
356
|
return func
|
|
335
357
|
|
|
336
358
|
def exclude_tool_specs(self):
|
|
@@ -380,7 +402,14 @@ class ToolsManager:
|
|
|
380
402
|
self.owners[tool.type] = owner
|
|
381
403
|
else:
|
|
382
404
|
self.owners.pop(tool.type, None)
|
|
383
|
-
self.agent.emit(
|
|
405
|
+
self.agent.emit(
|
|
406
|
+
RuntimeStateChangedEvent,
|
|
407
|
+
reason="tool_added",
|
|
408
|
+
namespace="tools",
|
|
409
|
+
name=tool.type,
|
|
410
|
+
owner=owner or "",
|
|
411
|
+
details=tool,
|
|
412
|
+
)
|
|
384
413
|
return tool
|
|
385
414
|
|
|
386
415
|
def remove_by_owner(self, owner):
|
|
@@ -390,7 +419,13 @@ class ToolsManager:
|
|
|
390
419
|
removed[name] = self.tools.pop(name, None)
|
|
391
420
|
self.owners.pop(name, None)
|
|
392
421
|
if removed:
|
|
393
|
-
self.agent.emit(
|
|
422
|
+
self.agent.emit(
|
|
423
|
+
RuntimeStateChangedEvent,
|
|
424
|
+
reason="tools_removed",
|
|
425
|
+
namespace="tools",
|
|
426
|
+
owner=owner or "",
|
|
427
|
+
details=removed,
|
|
428
|
+
)
|
|
394
429
|
return removed
|
|
395
430
|
|
|
396
431
|
def get_server_tools(self):
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.1.39"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codex-agent-framework
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.39
|
|
4
4
|
Summary: A lightweight event-driven Codex agent runtime.
|
|
5
5
|
Author: Baptiste
|
|
6
6
|
License-Expression: MIT
|
|
@@ -192,8 +192,8 @@ agent = Agent(
|
|
|
192
192
|
|
|
193
193
|
## Project health
|
|
194
194
|
|
|
195
|
-
The repository includes a GitHub Actions CI workflow that runs an offline/headless test subset on Python 3.11 and 3.12, then builds the package and validates distributions with `twine check`.
|
|
196
|
-
You can run the same
|
|
195
|
+
The repository includes a GitHub Actions CI workflow that runs an explicit offline/headless test subset on Python 3.11 and 3.12, then builds the package and validates distributions with `twine check`.
|
|
196
|
+
You can run the same subset locally with `scripts/run-ci-tests.sh`; use `python -m pytest` for broader local sweeps that may include machine- or backend-dependent tests.
|
|
197
197
|
Dependabot is configured for weekly GitHub Actions and pip dependency updates.
|
|
198
198
|
|
|
199
199
|
## Documentation
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.1.37"
|
|
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.37 → codex_agent_framework-0.1.39}/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
|
|
File without changes
|
|
File without changes
|
{codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/get_text/__init__.py
RENAMED
|
File without changes
|
{codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/codex_agent/get_text/default_gitignore
RENAMED
|
File without changes
|
{codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/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.37 → codex_agent_framework-0.1.39}/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.37 → codex_agent_framework-0.1.39}/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.37 → codex_agent_framework-0.1.39}/tests/test_agent_audio_hooks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent_environment.py
RENAMED
|
File without changes
|
{codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/tests/test_agent_image_generation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codex_agent_framework-0.1.37 → codex_agent_framework-0.1.39}/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.37 → codex_agent_framework-0.1.39}/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
|