ReMe/pyproject.toml
jinliyl c1a25e9ff4
feat(agent): add Codex agent wrapper and ReMe MCP bridge (#358)
* feat(agent): add Codex wrapper integration

* feat(agent): enhance agent wrapper functionality and add comprehensive testing

- Implement structured output schema normalization across all wrappers
- Add Claude Code system prompt mode support with append/replace options
- Introduce Codex agent wrapper with streaming, tool context isolation, and skill management
- Enhance skill linking with validation and conflict resolution
- Add approval event streaming support for Codex wrapper
- Implement output schema validation and normalize function
- Create dedicated test suites for Claude Code and Codex integration
- Update README documentation for Codex wrapper capabilities
- Refactor kwargs merging with proper schema handling
- Add tool context validation when resuming sessions
- Implement proper cleanup and session management for Codex wrapper

* test(cc-agent): add test coverage for structured output scenarios

- Add docstring for empty schema validation in build_options
- Document falsy structured output preservation behavior
- Add docstring for streaming wrapper schema rejection
- Include lambda function reference for wrapper factory consistency
- Add test documentation for live Codex wrapper contract exercise

* docs: revert README changes

* fix(agent): interrupt abandoned Codex turns
2026-07-17 13:39:18 +08:00

91 lines
2.2 KiB
TOML

[project]
name = "reme-ai"
dynamic = ["version"]
description = "Remember Me, Refine Me."
readme = "README.md"
authors = [
{ name = "EconML team of Alibaba Tongyi Lab", email = "jinli.yl@alibaba-inc.com" },
]
license = "Apache-2.0"
requires-python = ">=3.11"
keywords = ["llm", "memory", "agent", "agentscope", "ai", "mcp", "reme"]
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Operating System :: OS Independent",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
dependencies = [
"aiofiles>=24.1.0",
"croniter>=2.0",
"fastapi>=0.135.1",
"fastmcp>=3.1.0",
"httpx>=0.28.1",
"loguru>=0.7.3",
"mistletoe>=1.5.1",
"numpy>=2.2.6",
"openai>=2.26.0",
"psutil>=5.9",
"pydantic>=2.12.5",
"python-frontmatter>=1.1.0",
"pyyaml>=6.0.3",
"rich>=14.3.3",
"uvicorn>=0.41.0",
"watchfiles>=1.1.1",
"zstandard>=0.23.0",
]
[project.optional-dependencies]
core = [
"agentscope==2.0.4",
"claude-agent-sdk>=0.2.91",
"faiss-cpu>=1.13.2",
"jieba>=0.42.1",
"rjieba>=0.2.1",
"neo4j>=6.2.0",
"networkx>=3.4.2",
"openai-codex>=0.1.0b3",
]
dev = [
"pre-commit",
"pytest>=8.0",
"pytest-asyncio>=0.23",
]
full = [
"reme-ai[core]",
"reme-ai[dev]",
]
[project.urls]
Homepage = "https://github.com/agentscope-ai/ReMe"
Documentation = "https://reme.agentscope.io/"
Repository = "https://github.com/agentscope-ai/ReMe"
[project.scripts]
reme = "reme.reme:main"
[tool.setuptools]
packages = { find = { where = ["."], include = ["reme*"] } }
include-package-data = true
[tool.setuptools.package-data]
"*" = ["py.typed", "**/*.yaml", "**/*.json"]
"reme.components.tokenizer" = ["stopwords"]
[tool.setuptools.dynamic]
version = { attr = "reme.__version__" }
[build-system]
requires = ["setuptools>=45", "wheel"]
build-backend = "setuptools.build_meta"
[tool.pytest.ini_options]
asyncio_default_fixture_loop_scope = "function"
testpaths = ["tests"]
python_files = ["test_*.py"]
python_functions = ["test_*"]