python-codex 0.1.14__tar.gz → 0.1.15__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.
Files changed (120) hide show
  1. {python_codex-0.1.14 → python_codex-0.1.15}/PKG-INFO +1 -1
  2. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/utils/session_persist.py +12 -1
  3. {python_codex-0.1.14 → python_codex-0.1.15}/pyproject.toml +4 -1
  4. {python_codex-0.1.14 → python_codex-0.1.15}/tests/test_workspace_server.py +637 -2
  5. {python_codex-0.1.14 → python_codex-0.1.15}/workspace_server/__init__.py +2 -0
  6. {python_codex-0.1.14 → python_codex-0.1.15}/workspace_server/app.py +485 -102
  7. {python_codex-0.1.14 → python_codex-0.1.15}/workspace_server/workspace.html +144 -68
  8. {python_codex-0.1.14 → python_codex-0.1.15}/.github/workflows/publish.yml +0 -0
  9. {python_codex-0.1.14 → python_codex-0.1.15}/.github/workflows/test.yml +0 -0
  10. {python_codex-0.1.14 → python_codex-0.1.15}/.gitignore +0 -0
  11. {python_codex-0.1.14 → python_codex-0.1.15}/AGENTS.md +0 -0
  12. {python_codex-0.1.14 → python_codex-0.1.15}/LICENSE +0 -0
  13. {python_codex-0.1.14 → python_codex-0.1.15}/README.md +0 -0
  14. {python_codex-0.1.14 → python_codex-0.1.15}/README_ZH.md +0 -0
  15. {python_codex-0.1.14 → python_codex-0.1.15}/docs/ALIGNMENT.md +0 -0
  16. {python_codex-0.1.14 → python_codex-0.1.15}/docs/CONTEXT.md +0 -0
  17. {python_codex-0.1.14 → python_codex-0.1.15}/docs/responses_server/README.md +0 -0
  18. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/__init__.py +0 -0
  19. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/agent.py +0 -0
  20. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/cli.py +0 -0
  21. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/collaboration.py +0 -0
  22. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/compat.py +0 -0
  23. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/context.py +0 -0
  24. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/doctor.py +0 -0
  25. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/feishu_card.py +0 -0
  26. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/feishu_link.py +0 -0
  27. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/interactive_session.py +0 -0
  28. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/model.py +0 -0
  29. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/portable.py +0 -0
  30. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/portable_server.py +0 -0
  31. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/prompts/collaboration_default.md +0 -0
  32. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/prompts/collaboration_plan.md +0 -0
  33. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/prompts/default_base_instructions.md +0 -0
  34. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/prompts/models.json +0 -0
  35. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/prompts/permissions/approval_policy/never.md +0 -0
  36. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/prompts/permissions/approval_policy/on_failure.md +0 -0
  37. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/prompts/permissions/approval_policy/on_request.md +0 -0
  38. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/prompts/permissions/approval_policy/on_request_rule_request_permission.md +0 -0
  39. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/prompts/permissions/approval_policy/unless_trusted.md +0 -0
  40. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/prompts/permissions/sandbox_mode/danger_full_access.md +0 -0
  41. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/prompts/permissions/sandbox_mode/read_only.md +0 -0
  42. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/prompts/permissions/sandbox_mode/workspace_write.md +0 -0
  43. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/protocol.py +0 -0
  44. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/runtime.py +0 -0
  45. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/runtime_services.py +0 -0
  46. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/__init__.py +0 -0
  47. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/agent_tool_schemas.py +0 -0
  48. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/apply_patch_tool.py +0 -0
  49. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/base_tool.py +0 -0
  50. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/close_agent_tool.py +0 -0
  51. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/code_mode_manager.py +0 -0
  52. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/exec_command_tool.py +0 -0
  53. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/exec_runtime.js +0 -0
  54. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/exec_tool.py +0 -0
  55. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/grep_files_tool.py +0 -0
  56. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/ipython_tool.py +0 -0
  57. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/list_dir_tool.py +0 -0
  58. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/read_file_tool.py +0 -0
  59. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/request_permissions_tool.py +0 -0
  60. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/request_user_input_tool.py +0 -0
  61. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/resume_agent_tool.py +0 -0
  62. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/send_input_tool.py +0 -0
  63. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/shell_command_tool.py +0 -0
  64. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/shell_tool.py +0 -0
  65. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/spawn_agent_tool.py +0 -0
  66. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/unified_exec_manager.py +0 -0
  67. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/update_plan_tool.py +0 -0
  68. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/view_image_tool.py +0 -0
  69. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/wait_agent_tool.py +0 -0
  70. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/wait_tool.py +0 -0
  71. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/web_search_tool.py +0 -0
  72. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/tools/write_stdin_tool.py +0 -0
  73. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/utils/__init__.py +0 -0
  74. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/utils/async_bridge.py +0 -0
  75. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/utils/compactor.py +0 -0
  76. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/utils/debug.py +0 -0
  77. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/utils/dotenv.py +0 -0
  78. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/utils/get_env.py +0 -0
  79. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/utils/random_ids.py +0 -0
  80. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/utils/toolcall_visualize.py +0 -0
  81. {python_codex-0.1.14 → python_codex-0.1.15}/pycodex/utils/visualize.py +0 -0
  82. {python_codex-0.1.14 → python_codex-0.1.15}/responses_server/__init__.py +0 -0
  83. {python_codex-0.1.14 → python_codex-0.1.15}/responses_server/__main__.py +0 -0
  84. {python_codex-0.1.14 → python_codex-0.1.15}/responses_server/app.py +0 -0
  85. {python_codex-0.1.14 → python_codex-0.1.15}/responses_server/config.py +0 -0
  86. {python_codex-0.1.14 → python_codex-0.1.15}/responses_server/messages_api.py +0 -0
  87. {python_codex-0.1.14 → python_codex-0.1.15}/responses_server/payload_processors.py +0 -0
  88. {python_codex-0.1.14 → python_codex-0.1.15}/responses_server/server.py +0 -0
  89. {python_codex-0.1.14 → python_codex-0.1.15}/responses_server/session_store.py +0 -0
  90. {python_codex-0.1.14 → python_codex-0.1.15}/responses_server/stream_router.py +0 -0
  91. {python_codex-0.1.14 → python_codex-0.1.15}/responses_server/tools/__init__.py +0 -0
  92. {python_codex-0.1.14 → python_codex-0.1.15}/responses_server/tools/custom_adapter.py +0 -0
  93. {python_codex-0.1.14 → python_codex-0.1.15}/responses_server/tools/web_search.py +0 -0
  94. {python_codex-0.1.14 → python_codex-0.1.15}/responses_server/trajectory_dump.py +0 -0
  95. {python_codex-0.1.14 → python_codex-0.1.15}/tests/TESTS.md +0 -0
  96. {python_codex-0.1.14 → python_codex-0.1.15}/tests/__init__.py +0 -0
  97. {python_codex-0.1.14 → python_codex-0.1.15}/tests/compare_request_user_input_roundtrip.py +0 -0
  98. {python_codex-0.1.14 → python_codex-0.1.15}/tests/compare_steer_request_bodies.py +0 -0
  99. {python_codex-0.1.14 → python_codex-0.1.15}/tests/compare_tool_schemas.py +0 -0
  100. {python_codex-0.1.14 → python_codex-0.1.15}/tests/fake_responses_server.py +0 -0
  101. {python_codex-0.1.14 → python_codex-0.1.15}/tests/fakes.py +0 -0
  102. {python_codex-0.1.14 → python_codex-0.1.15}/tests/responses_server/fake_chat_completions_server.py +0 -0
  103. {python_codex-0.1.14 → python_codex-0.1.15}/tests/responses_server/test_server.py +0 -0
  104. {python_codex-0.1.14 → python_codex-0.1.15}/tests/test_agent.py +0 -0
  105. {python_codex-0.1.14 → python_codex-0.1.15}/tests/test_async_bridge.py +0 -0
  106. {python_codex-0.1.14 → python_codex-0.1.15}/tests/test_builtin_tools.py +0 -0
  107. {python_codex-0.1.14 → python_codex-0.1.15}/tests/test_cli.py +0 -0
  108. {python_codex-0.1.14 → python_codex-0.1.15}/tests/test_compactor.py +0 -0
  109. {python_codex-0.1.14 → python_codex-0.1.15}/tests/test_context.py +0 -0
  110. {python_codex-0.1.14 → python_codex-0.1.15}/tests/test_doctor.py +0 -0
  111. {python_codex-0.1.14 → python_codex-0.1.15}/tests/test_fake_responses_server.py +0 -0
  112. {python_codex-0.1.14 → python_codex-0.1.15}/tests/test_feishu_card.py +0 -0
  113. {python_codex-0.1.14 → python_codex-0.1.15}/tests/test_feishu_link.py +0 -0
  114. {python_codex-0.1.14 → python_codex-0.1.15}/tests/test_ipython_tool.py +0 -0
  115. {python_codex-0.1.14 → python_codex-0.1.15}/tests/test_model.py +0 -0
  116. {python_codex-0.1.14 → python_codex-0.1.15}/tests/test_portable.py +0 -0
  117. {python_codex-0.1.14 → python_codex-0.1.15}/tests/test_py36_syntax.py +0 -0
  118. {python_codex-0.1.14 → python_codex-0.1.15}/tests/test_visualize.py +0 -0
  119. {python_codex-0.1.14 → python_codex-0.1.15}/tools/feishu_oauth.py +0 -0
  120. {python_codex-0.1.14 → python_codex-0.1.15}/workspace_server/__main__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-codex
3
- Version: 0.1.14
3
+ Version: 0.1.15
4
4
  Summary: A minimal Python extraction of Codex's main agent loop
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.6.2
@@ -198,7 +198,18 @@ def load_resumed_session(
198
198
  session = sessions[resume_index - 1]
199
199
  thread_id = session["thread_id"]
200
200
  rollout_path = Path(session["rollout_path"])
201
- thread_name = _latest_thread_names_by_id(codex_home).get(thread_id)
201
+ return load_resumed_session_path(
202
+ rollout_path,
203
+ thread_name=_latest_thread_names_by_id(codex_home).get(thread_id),
204
+ )
205
+
206
+
207
+ def load_resumed_session_path(
208
+ rollout_path: 'typing.Union[str, Path]',
209
+ thread_name: 'typing.Union[str, None]' = None,
210
+ ) -> 'typing.Dict[str, object]':
211
+ rollout_path = Path(rollout_path)
212
+ thread_id = _thread_id_from_rollout_path(rollout_path) or ""
202
213
  session_id = thread_id
203
214
  history: 'typing.List[ConversationItem]' = []
204
215
  saw_user_turn = False
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "python-codex"
7
- version = "0.1.14"
7
+ version = "0.1.15"
8
8
  description = "A minimal Python extraction of Codex's main agent loop"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.6.2"
@@ -47,6 +47,9 @@ default-groups = []
47
47
  packages = ["pycodex", "responses_server", "workspace_server"]
48
48
  artifacts = ["workspace_server/workspace.html"]
49
49
 
50
+ [tool.hatch.build.targets.sdist]
51
+ exclude = [".venv*"]
52
+
50
53
  [tool.pytest.ini_options]
51
54
  pythonpath = ["."]
52
55
  asyncio_mode = "auto"