codex-agent-framework 0.1.15__tar.gz → 0.1.16__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.15 → codex_agent_framework-0.1.16}/CHANGELOG.md +8 -0
- {codex_agent_framework-0.1.15/codex_agent_framework.egg-info → codex_agent_framework-0.1.16}/PKG-INFO +4 -1
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/README.md +3 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/agent.py +4 -1
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/config.py +8 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/mainloop.py +1 -1
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/plugin.py +2 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16/codex_agent_framework.egg-info}/PKG-INFO +4 -1
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/pyproject.toml +1 -1
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_agent.py +23 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/LICENSE +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/MANIFEST.in +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/__init__.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/__main__.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/agent_runtime.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/ai.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_commands.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_plugins/__init__.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_plugins/browser/__init__.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_plugins/browser/controller.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_plugins/desktop/__init__.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_plugins/desktop/controller.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_plugins/desktop/screenshot.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_plugins/memory/__init__.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_plugins/planner/__init__.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_plugins/scheduler/__init__.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_providers.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_tools/__init__.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_tools/files.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_tools/server_tools.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_tools/shell.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_tools/system.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_tools/vision.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/chat.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/cli/__init__.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/cli/headless.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/cli/main.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/cli/output.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/cli/root.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/cli/runner.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/client.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/command.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/context.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/event.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/get_text/__init__.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/get_text/default_gitignore +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/get_text/get_text.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/get_text/simpler_get_text.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/hooks.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/image.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/latex.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/memory.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/message.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/prompts/image_generation_system_prompt.txt +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/prompts/system_prompt.txt +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/provider.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/registry.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/runtime.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/scheduler.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/scripts/install-system-dependencies.sh +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/server.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/service.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/sessions.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/status.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/stream_utils.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/tool.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/tray.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/tui.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/utils.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/voice.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/worker.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent_framework.egg-info/SOURCES.txt +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent_framework.egg-info/dependency_links.txt +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent_framework.egg-info/entry_points.txt +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent_framework.egg-info/requires.txt +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent_framework.egg-info/top_level.txt +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/dependencies.txt +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/setup.cfg +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_agent_runtime.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_ai.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_browser.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_builtin_config.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_chat.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_cli.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_cli_headless.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_cli_root.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_client.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_events.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_get_text_browser.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_hooks.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_image_message.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_local_desktop.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_memory.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_messages.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_planner.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_scheduler.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_server.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_service.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_tray.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_tui.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_utils.py +0 -0
- {codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/tests/test_worker.py +0 -0
|
@@ -4,6 +4,14 @@ 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.16] - 2026-05-08
|
|
8
|
+
### Fixed
|
|
9
|
+
- Allow agent startup without an OpenAI API key by disabling OpenAI-dependent capabilities such as voice defaults and the built-in memory plugin instead of failing during initialization.
|
|
10
|
+
- Skip automatic memory archiving when the memory plugin is unavailable.
|
|
11
|
+
|
|
12
|
+
### Tests
|
|
13
|
+
- Add regression coverage for agent initialization with and without an OpenAI API key.
|
|
14
|
+
|
|
7
15
|
## [0.1.15] - 2026-05-08
|
|
8
16
|
### Added
|
|
9
17
|
- Add `AgentRuntime` as the canonical external runtime contract for HTTP server, headless CLI, in-process, and process-backed integrations.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codex-agent-framework
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.16
|
|
4
4
|
Summary: A lightweight event-driven Codex agent runtime.
|
|
5
5
|
Author: Baptiste
|
|
6
6
|
License-Expression: MIT
|
|
@@ -393,6 +393,8 @@ agent = Agent(
|
|
|
393
393
|
|
|
394
394
|
Configuration is persisted to `agent_config.json` in the runtime directory when updated through agent helpers, slash commands, the HTTP API, or `codex-agent config set`.
|
|
395
395
|
|
|
396
|
+
If no OpenAI API key is configured through `openai_api_key` or `OPENAI_API_KEY`, the agent can still start, but OpenAI-dependent capabilities such as voice defaults and the built-in memory plugin are disabled.
|
|
397
|
+
|
|
396
398
|
## Project layout
|
|
397
399
|
|
|
398
400
|
```text
|
|
@@ -440,6 +442,7 @@ python -m build
|
|
|
440
442
|
The distribution includes prompt text files, `codex_agent/get_text/default_gitignore`, and the packaged Linux system dependency installer through package data and `MANIFEST.in`.
|
|
441
443
|
|
|
442
444
|
## Recent changes
|
|
445
|
+
- `0.1.16`: tolerate missing OpenAI API keys at startup by disabling OpenAI-dependent voice and memory features, and skip memory archiving when the memory plugin is unavailable.
|
|
443
446
|
- `0.1.15`: add the `AgentRuntime` interface for server/CLI/process adapters, split the CLI into a package with headless runtime commands, add `codex-agent config set` plus `PATCH /config`, and make built-in tools/providers/plugins configurable.
|
|
444
447
|
- `0.1.14`: add HookManager infrastructure, planner/scheduler robustness fixes, documented system dependencies, `codex-agent install-system-deps`, `codex-agent bootstrap`, and improved TUI SSE reconnect/replay handling.
|
|
445
448
|
- `0.1.13`: reorganize built-in tools into a `codex_agent.builtin_tools` package, keeping the public import surface compatible while separating file, shell, vision, system, and server-tool modules.
|
|
@@ -344,6 +344,8 @@ agent = Agent(
|
|
|
344
344
|
|
|
345
345
|
Configuration is persisted to `agent_config.json` in the runtime directory when updated through agent helpers, slash commands, the HTTP API, or `codex-agent config set`.
|
|
346
346
|
|
|
347
|
+
If no OpenAI API key is configured through `openai_api_key` or `OPENAI_API_KEY`, the agent can still start, but OpenAI-dependent capabilities such as voice defaults and the built-in memory plugin are disabled.
|
|
348
|
+
|
|
347
349
|
## Project layout
|
|
348
350
|
|
|
349
351
|
```text
|
|
@@ -391,6 +393,7 @@ python -m build
|
|
|
391
393
|
The distribution includes prompt text files, `codex_agent/get_text/default_gitignore`, and the packaged Linux system dependency installer through package data and `MANIFEST.in`.
|
|
392
394
|
|
|
393
395
|
## Recent changes
|
|
396
|
+
- `0.1.16`: tolerate missing OpenAI API keys at startup by disabling OpenAI-dependent voice and memory features, and skip memory archiving when the memory plugin is unavailable.
|
|
394
397
|
- `0.1.15`: add the `AgentRuntime` interface for server/CLI/process adapters, split the CLI into a package with headless runtime commands, add `codex-agent config set` plus `PATCH /config`, and make built-in tools/providers/plugins configurable.
|
|
395
398
|
- `0.1.14`: add HookManager infrastructure, planner/scheduler robustness fixes, documented system dependencies, `codex-agent install-system-deps`, `codex-agent bootstrap`, and improved TUI SSE reconnect/replay handling.
|
|
396
399
|
- `0.1.13`: reorganize built-in tools into a `codex_agent.builtin_tools` package, keeping the public import surface compatible while separating file, shell, vision, system, and server-tool modules.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from .utils import text_content, ensure_runtime_dir, upload_file_to_folder, project_python_env
|
|
1
|
+
from .utils import text_content, ensure_runtime_dir, upload_file_to_folder, project_python_env, runtime_join
|
|
2
2
|
from modict import modict
|
|
3
3
|
import os
|
|
4
4
|
import sys
|
|
@@ -17,6 +17,7 @@ from .status import StatusManager
|
|
|
17
17
|
from .tool import ImageGenerationTool, reset_current_agent, set_current_agent
|
|
18
18
|
from .ai import AIBadRequestError, AIClient
|
|
19
19
|
from .voice import VoiceProcessor
|
|
20
|
+
from .memory import RAGMemory
|
|
20
21
|
from .latex import LaTeXProcessor
|
|
21
22
|
from .event import AgentInterruptRequestedEvent, AgentInterrupted, AgentInterruptedEvent, AudioPlaybackEvent, EventBus
|
|
22
23
|
from pynteract import Shell
|
|
@@ -39,6 +40,7 @@ class Agent:
|
|
|
39
40
|
self.config=self.config_manager.config
|
|
40
41
|
self.config_manager.load()
|
|
41
42
|
self.config_manager.update(kwargs, save=False)
|
|
43
|
+
self.config_manager.apply_openai_capability_defaults()
|
|
42
44
|
self.events=EventBus()
|
|
43
45
|
self.registry=RegistryManager(self)
|
|
44
46
|
self.tools=self.registry.tools
|
|
@@ -65,6 +67,7 @@ class Agent:
|
|
|
65
67
|
self.registry.init_providers_folder()
|
|
66
68
|
self.command_manager.init_folder()
|
|
67
69
|
self.ai=AIClient(self)
|
|
70
|
+
self.memory=RAGMemory(file=runtime_join("memory.json"))
|
|
68
71
|
self.voice=VoiceProcessor(self)
|
|
69
72
|
self.latex=LaTeXProcessor()
|
|
70
73
|
self.content_processors=[self.voice]
|
|
@@ -121,6 +121,14 @@ class ConfigManager:
|
|
|
121
121
|
self.save()
|
|
122
122
|
return self.config
|
|
123
123
|
|
|
124
|
+
def has_openai_api_key(self):
|
|
125
|
+
return bool(self.config.get("openai_api_key") or os.getenv("OPENAI_API_KEY"))
|
|
126
|
+
|
|
127
|
+
def apply_openai_capability_defaults(self):
|
|
128
|
+
if not self.has_openai_api_key():
|
|
129
|
+
self.config.voice_enabled = False
|
|
130
|
+
return self.config
|
|
131
|
+
|
|
124
132
|
def system_message(self):
|
|
125
133
|
return SystemMessage(content=self.system_prompt())
|
|
126
134
|
|
|
@@ -265,7 +265,7 @@ class MainLoopManager:
|
|
|
265
265
|
|
|
266
266
|
if self.require_next_step and not self.stop_agentic_loop:
|
|
267
267
|
continue
|
|
268
|
-
if self.agent.config.get("auto_archive_memory", True):
|
|
268
|
+
if self.agent.config.get("auto_archive_memory", True) and self.agent.plugins.get("memory"):
|
|
269
269
|
self.agent.plugins.memory.archive_last_turn_async()
|
|
270
270
|
return True
|
|
271
271
|
except AgentInterrupted:
|
|
@@ -62,6 +62,8 @@ class PluginsManager:
|
|
|
62
62
|
continue
|
|
63
63
|
if not self.agent.config_manager.builtin_enabled("plugins", module_info.name):
|
|
64
64
|
continue
|
|
65
|
+
if module_info.name == "memory" and not self.agent.config_manager.has_openai_api_key():
|
|
66
|
+
continue
|
|
65
67
|
module = importlib.import_module(f"{builtin_plugins.__name__}.{module_info.name}")
|
|
66
68
|
self.add_builtin_from_module(module)
|
|
67
69
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codex-agent-framework
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.16
|
|
4
4
|
Summary: A lightweight event-driven Codex agent runtime.
|
|
5
5
|
Author: Baptiste
|
|
6
6
|
License-Expression: MIT
|
|
@@ -393,6 +393,8 @@ agent = Agent(
|
|
|
393
393
|
|
|
394
394
|
Configuration is persisted to `agent_config.json` in the runtime directory when updated through agent helpers, slash commands, the HTTP API, or `codex-agent config set`.
|
|
395
395
|
|
|
396
|
+
If no OpenAI API key is configured through `openai_api_key` or `OPENAI_API_KEY`, the agent can still start, but OpenAI-dependent capabilities such as voice defaults and the built-in memory plugin are disabled.
|
|
397
|
+
|
|
396
398
|
## Project layout
|
|
397
399
|
|
|
398
400
|
```text
|
|
@@ -440,6 +442,7 @@ python -m build
|
|
|
440
442
|
The distribution includes prompt text files, `codex_agent/get_text/default_gitignore`, and the packaged Linux system dependency installer through package data and `MANIFEST.in`.
|
|
441
443
|
|
|
442
444
|
## Recent changes
|
|
445
|
+
- `0.1.16`: tolerate missing OpenAI API keys at startup by disabling OpenAI-dependent voice and memory features, and skip memory archiving when the memory plugin is unavailable.
|
|
443
446
|
- `0.1.15`: add the `AgentRuntime` interface for server/CLI/process adapters, split the CLI into a package with headless runtime commands, add `codex-agent config set` plus `PATCH /config`, and make built-in tools/providers/plugins configurable.
|
|
444
447
|
- `0.1.14`: add HookManager infrastructure, planner/scheduler robustness fixes, documented system dependencies, `codex-agent install-system-deps`, `codex-agent bootstrap`, and improved TUI SSE reconnect/replay handling.
|
|
445
448
|
- `0.1.13`: reorganize built-in tools into a `codex_agent.builtin_tools` package, keeping the public import surface compatible while separating file, shell, vision, system, and server-tool modules.
|
|
@@ -693,6 +693,29 @@ def test_agent_initializes_new_session(isolated_runtime_dir):
|
|
|
693
693
|
assert agent.shell.silent is True
|
|
694
694
|
|
|
695
695
|
|
|
696
|
+
def test_agent_disables_openai_dependent_features_without_api_key(monkeypatch):
|
|
697
|
+
monkeypatch.delenv("OPENAI_API_KEY", raising=False)
|
|
698
|
+
|
|
699
|
+
agent = Agent(session="new", voice_enabled=True)
|
|
700
|
+
|
|
701
|
+
assert agent.config.voice_enabled is False
|
|
702
|
+
assert "memory" not in agent.plugins
|
|
703
|
+
assert "memory_add" not in agent.tools
|
|
704
|
+
assert "retrieved_memory" not in agent.providers
|
|
705
|
+
assert agent.memory.messages == []
|
|
706
|
+
|
|
707
|
+
|
|
708
|
+
def test_agent_loads_memory_plugin_with_configured_openai_key(monkeypatch):
|
|
709
|
+
monkeypatch.delenv("OPENAI_API_KEY", raising=False)
|
|
710
|
+
|
|
711
|
+
agent = Agent(session="new", openai_api_key="sk-test", voice_enabled=True)
|
|
712
|
+
|
|
713
|
+
assert agent.config.voice_enabled is True
|
|
714
|
+
assert "memory" in agent.plugins
|
|
715
|
+
assert "memory_add" in agent.tools
|
|
716
|
+
assert "retrieved_memory" in agent.providers
|
|
717
|
+
|
|
718
|
+
|
|
696
719
|
def test_agent_instantiates_stateful_builtin_plugin_classes():
|
|
697
720
|
import types
|
|
698
721
|
from codex_agent import Plugin, command, provider, tool
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/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
|
{codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_providers.py
RENAMED
|
File without changes
|
{codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_tools/__init__.py
RENAMED
|
File without changes
|
{codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_tools/files.py
RENAMED
|
File without changes
|
|
File without changes
|
{codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_tools/shell.py
RENAMED
|
File without changes
|
{codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_tools/system.py
RENAMED
|
File without changes
|
{codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/builtin_tools/vision.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
|
{codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/get_text/__init__.py
RENAMED
|
File without changes
|
{codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/codex_agent/get_text/default_gitignore
RENAMED
|
File without changes
|
{codex_agent_framework-0.1.15 → codex_agent_framework-0.1.16}/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.15 → codex_agent_framework-0.1.16}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.15 → codex_agent_framework-0.1.16}/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
|