wcgw 2.8.9__tar.gz → 2.8.10__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.

Potentially problematic release.


This version of wcgw might be problematic. Click here for more details.

Files changed (170) hide show
  1. {wcgw-2.8.9 → wcgw-2.8.10}/PKG-INFO +1 -1
  2. {wcgw-2.8.9 → wcgw-2.8.10}/pyproject.toml +1 -1
  3. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/types.py +1 -1
  4. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/client/tools.py +28 -3
  5. {wcgw-2.8.9 → wcgw-2.8.10}/uv.lock +1 -1
  6. {wcgw-2.8.9 → wcgw-2.8.10}/.github/workflows/python-publish.yml +0 -0
  7. {wcgw-2.8.9 → wcgw-2.8.10}/.github/workflows/python-tests.yml +0 -0
  8. {wcgw-2.8.9 → wcgw-2.8.10}/.github/workflows/python-types.yml +0 -0
  9. {wcgw-2.8.9 → wcgw-2.8.10}/.gitignore +0 -0
  10. {wcgw-2.8.9 → wcgw-2.8.10}/.gitmodules +0 -0
  11. {wcgw-2.8.9 → wcgw-2.8.10}/.python-version +0 -0
  12. {wcgw-2.8.9 → wcgw-2.8.10}/.vscode/settings.json +0 -0
  13. {wcgw-2.8.9 → wcgw-2.8.10}/Dockerfile +0 -0
  14. {wcgw-2.8.9 → wcgw-2.8.10}/LICENSE +0 -0
  15. {wcgw-2.8.9 → wcgw-2.8.10}/README.md +0 -0
  16. {wcgw-2.8.9 → wcgw-2.8.10}/gpt_action_json_schema.json +0 -0
  17. {wcgw-2.8.9 → wcgw-2.8.10}/gpt_instructions.txt +0 -0
  18. {wcgw-2.8.9 → wcgw-2.8.10}/openai.md +0 -0
  19. {wcgw-2.8.9 → wcgw-2.8.10}/src/__init__.py +0 -0
  20. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/.git +0 -0
  21. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  22. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  23. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/.github/workflows/main-checks.yml +0 -0
  24. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/.github/workflows/publish-pypi.yml +0 -0
  25. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/.github/workflows/pull-request-checks.yml +0 -0
  26. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/.github/workflows/shared.yml +0 -0
  27. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/.gitignore +0 -0
  28. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/.python-version +0 -0
  29. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/CODE_OF_CONDUCT.md +0 -0
  30. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/CONTRIBUTING.md +0 -0
  31. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/LICENSE +0 -0
  32. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/README.md +0 -0
  33. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/RELEASE.md +0 -0
  34. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/SECURITY.md +0 -0
  35. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/README.md +0 -0
  36. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/servers/simple-prompt/.python-version +0 -0
  37. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/servers/simple-prompt/README.md +0 -0
  38. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/servers/simple-prompt/mcp_simple_prompt/__init__.py +0 -0
  39. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/servers/simple-prompt/mcp_simple_prompt/__main__.py +0 -0
  40. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/servers/simple-prompt/mcp_simple_prompt/server.py +0 -0
  41. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/servers/simple-prompt/pyproject.toml +0 -0
  42. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/servers/simple-resource/.python-version +0 -0
  43. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/servers/simple-resource/README.md +0 -0
  44. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/servers/simple-resource/mcp_simple_resource/__init__.py +0 -0
  45. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/servers/simple-resource/mcp_simple_resource/__main__.py +0 -0
  46. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/servers/simple-resource/mcp_simple_resource/server.py +0 -0
  47. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/servers/simple-resource/pyproject.toml +0 -0
  48. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/servers/simple-tool/.python-version +0 -0
  49. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/servers/simple-tool/README.md +0 -0
  50. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/servers/simple-tool/mcp_simple_tool/__init__.py +0 -0
  51. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/servers/simple-tool/mcp_simple_tool/__main__.py +0 -0
  52. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/servers/simple-tool/mcp_simple_tool/server.py +0 -0
  53. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/examples/servers/simple-tool/pyproject.toml +0 -0
  54. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/pyproject.toml +0 -0
  55. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/__init__.py +0 -0
  56. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/client/__init__.py +0 -0
  57. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/client/__main__.py +0 -0
  58. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/client/session.py +0 -0
  59. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/client/sse.py +0 -0
  60. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/client/stdio.py +0 -0
  61. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/py.typed +0 -0
  62. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/server/__init__.py +0 -0
  63. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/server/__main__.py +0 -0
  64. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/server/models.py +0 -0
  65. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/server/session.py +0 -0
  66. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/server/sse.py +0 -0
  67. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/server/stdio.py +0 -0
  68. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/server/websocket.py +0 -0
  69. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/__init__.py +0 -0
  70. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/context.py +0 -0
  71. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/exceptions.py +0 -0
  72. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/memory.py +0 -0
  73. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/progress.py +0 -0
  74. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/session.py +0 -0
  75. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/src/mcp_wcgw/shared/version.py +0 -0
  76. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/tests/__init__.py +0 -0
  77. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/tests/client/__init__.py +0 -0
  78. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/tests/client/test_session.py +0 -0
  79. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/tests/client/test_stdio.py +0 -0
  80. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/tests/conftest.py +0 -0
  81. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/tests/server/__init__.py +0 -0
  82. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/tests/server/test_session.py +0 -0
  83. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/tests/server/test_stdio.py +0 -0
  84. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/tests/shared/test_memory.py +0 -0
  85. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/tests/test_types.py +0 -0
  86. {wcgw-2.8.9 → wcgw-2.8.10}/src/mcp_wcgw_fork/uv.lock +0 -0
  87. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/__init__.py +0 -0
  88. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/client/__init__.py +0 -0
  89. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/client/common.py +0 -0
  90. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/client/computer_use.py +0 -0
  91. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/client/diff-instructions.txt +0 -0
  92. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/client/file_ops/diff_edit.py +0 -0
  93. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/client/file_ops/search_replace.py +0 -0
  94. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/client/mcp_server/Readme.md +0 -0
  95. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/client/mcp_server/__init__.py +0 -0
  96. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/client/mcp_server/server.py +0 -0
  97. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/client/memory.py +0 -0
  98. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/client/modes.py +0 -0
  99. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/client/repo_ops/display_tree.py +0 -0
  100. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/client/repo_ops/path_prob.py +0 -0
  101. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/client/repo_ops/paths_model.vocab +0 -0
  102. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/client/repo_ops/paths_tokens.model +0 -0
  103. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/client/repo_ops/repo_context.py +0 -0
  104. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/client/sys_utils.py +0 -0
  105. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/relay/serve.py +0 -0
  106. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/relay/static/privacy.txt +0 -0
  107. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw/types_.py +0 -0
  108. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw_cli/__init__.py +0 -0
  109. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw_cli/__main__.py +0 -0
  110. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw_cli/anthropic_client.py +0 -0
  111. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw_cli/cli.py +0 -0
  112. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw_cli/openai_client.py +0 -0
  113. {wcgw-2.8.9 → wcgw-2.8.10}/src/wcgw_cli/openai_utils.py +0 -0
  114. {wcgw-2.8.9 → wcgw-2.8.10}/static/claude-ss.jpg +0 -0
  115. {wcgw-2.8.9 → wcgw-2.8.10}/static/computer-use.jpg +0 -0
  116. {wcgw-2.8.9 → wcgw-2.8.10}/static/example.jpg +0 -0
  117. {wcgw-2.8.9 → wcgw-2.8.10}/static/rocket-icon.png +0 -0
  118. {wcgw-2.8.9 → wcgw-2.8.10}/static/ss1.png +0 -0
  119. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/file_ops/test_diff_edit.py +0 -0
  120. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/file_ops/test_search_replace.py +0 -0
  121. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/repo_ops/__init__.py +0 -0
  122. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/repo_ops/test_display_tree.py +0 -0
  123. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/repo_ops/test_display_tree_simple.py +0 -0
  124. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/repo_ops/test_path_prob.py +0 -0
  125. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/repo_ops/test_repo_context.py +0 -0
  126. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/test_anthropic_client_utils.py +0 -0
  127. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/test_memory.py +0 -0
  128. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/test_openai_utils.py +0 -0
  129. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/test_tools_basic.py +0 -0
  130. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/test_tools_extended.py +0 -0
  131. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/test_tools_file_ops.py +0 -0
  132. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/test_tools_files.py +0 -0
  133. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/test_tools_shell.py +0 -0
  134. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/test_tools_validation.py +0 -0
  135. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/__init__.py +0 -0
  136. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_command_validation.py +0 -0
  137. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_docker_operations.py +0 -0
  138. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_error_handling.py +0 -0
  139. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_error_handling_full.py +0 -0
  140. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_execute_bash.py +0 -0
  141. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_file_errors.py +0 -0
  142. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_file_operations.py +0 -0
  143. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_files/test1.py +0 -0
  144. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_files/test2.py +0 -0
  145. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_files/test_file.py +0 -0
  146. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_full_coverage.py +0 -0
  147. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_is_int.py +0 -0
  148. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_knowledge_transfer.py +0 -0
  149. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_large_blocks.py +0 -0
  150. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_prompt_update.py +0 -0
  151. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_render_terminal.py +0 -0
  152. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_terminal_output.py +0 -0
  153. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_terminal_output_full.py +0 -0
  154. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_terminal_output_incremental.py +0 -0
  155. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_terminal_output_raw.py +0 -0
  156. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_terminal_sequence.py +0 -0
  157. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_timeout_handling.py +0 -0
  158. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_timeout_state.py +0 -0
  159. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_user_interaction.py +0 -0
  160. {wcgw-2.8.9 → wcgw-2.8.10}/tests/client/tools/test_write_file.py +0 -0
  161. {wcgw-2.8.9 → wcgw-2.8.10}/tests/conftest.py +0 -0
  162. {wcgw-2.8.9 → wcgw-2.8.10}/tests/test_anthropic_client.py +0 -0
  163. {wcgw-2.8.9 → wcgw-2.8.10}/tests/test_basic.py +0 -0
  164. {wcgw-2.8.9 → wcgw-2.8.10}/tests/test_common.py +0 -0
  165. {wcgw-2.8.9 → wcgw-2.8.10}/tests/test_computer_use.py +0 -0
  166. {wcgw-2.8.9 → wcgw-2.8.10}/tests/test_computer_use_base.py +0 -0
  167. {wcgw-2.8.9 → wcgw-2.8.10}/tests/test_computer_use_shell.py +0 -0
  168. {wcgw-2.8.9 → wcgw-2.8.10}/tests/test_initialize.py +0 -0
  169. {wcgw-2.8.9 → wcgw-2.8.10}/tests/test_sys_utils.py +0 -0
  170. {wcgw-2.8.9 → wcgw-2.8.10}/tests/test_tools.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wcgw
3
- Version: 2.8.9
3
+ Version: 2.8.10
4
4
  Summary: Shell and coding agent on claude and chatgpt
5
5
  Project-URL: Homepage, https://github.com/rusiaaman/wcgw
6
6
  Author-email: Aman Rusia <gapypi@arcfu.com>
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  authors = [{ name = "Aman Rusia", email = "gapypi@arcfu.com" }]
3
3
  name = "wcgw"
4
- version = "2.8.9"
4
+ version = "2.8.10"
5
5
  description = "Shell and coding agent on claude and chatgpt"
6
6
  readme = "README.md"
7
7
  requires-python = ">=3.11, <3.13"
@@ -336,7 +336,7 @@ class CancellationNotification(Notification):
336
336
  long-running request.
337
337
  """
338
338
 
339
- method: Literal["cancelled"]
339
+ method: Literal["notifications/cancelled"]
340
340
  params: CancelledParams
341
341
 
342
342
 
@@ -6,8 +6,10 @@ import importlib.metadata
6
6
  import json
7
7
  import mimetypes
8
8
  import os
9
+ import platform
9
10
  import re
10
11
  import shlex
12
+ import subprocess
11
13
  import time
12
14
  import traceback
13
15
  import uuid
@@ -133,15 +135,38 @@ def ask_confirmation(prompt: Confirmation) -> str:
133
135
  PROMPT_CONST = "#" + "@wcgw@#"
134
136
 
135
137
 
136
- def start_shell(is_restricted_mode: bool, initial_dir: str) -> pexpect.spawn: # type: ignore
138
+ def is_mac() -> bool:
139
+ return platform.system() == "Darwin"
140
+
141
+
142
+ def get_tmpdir() -> str:
143
+ current_tmpdir = os.environ.get("TMPDIR", "")
144
+ if current_tmpdir or not is_mac():
145
+ return current_tmpdir
146
+ try:
147
+ # Fix issue while running ocrmypdf -> tesseract -> leptonica, set TMPDIR
148
+ # https://github.com/tesseract-ocr/tesseract/issues/4333
149
+ result = subprocess.check_output(
150
+ ["getconf", "DARWIN_USER_TEMP_DIR"],
151
+ text=True,
152
+ ).strip()
153
+ return result
154
+ except subprocess.CalledProcessError:
155
+ return "//tmp"
156
+ except Exception:
157
+ return ""
158
+
159
+
160
+ def start_shell(is_restricted_mode: bool, initial_dir: str) -> pexpect.spawn: # type: ignore[type-arg]
137
161
  cmd = "/bin/bash"
138
162
  if is_restricted_mode:
139
163
  cmd += " -r"
140
164
 
165
+ overrideenv = {**os.environ, "PS1": PROMPT_CONST, "TMPDIR": get_tmpdir()}
141
166
  try:
142
167
  shell = pexpect.spawn(
143
168
  cmd,
144
- env={**os.environ, **{"PS1": PROMPT_CONST}}, # type: ignore[arg-type]
169
+ env=overrideenv, # type: ignore[arg-type]
145
170
  echo=False,
146
171
  encoding="utf-8",
147
172
  timeout=TIMEOUT,
@@ -158,7 +183,7 @@ def start_shell(is_restricted_mode: bool, initial_dir: str) -> pexpect.spawn: #
158
183
 
159
184
  shell = pexpect.spawn(
160
185
  "/bin/bash --noprofile --norc",
161
- env={**os.environ, **{"PS1": PROMPT_CONST}}, # type: ignore[arg-type]
186
+ env=overrideenv, # type: ignore[arg-type]
162
187
  echo=False,
163
188
  encoding="utf-8",
164
189
  timeout=TIMEOUT,
@@ -1042,7 +1042,7 @@ wheels = [
1042
1042
 
1043
1043
  [[package]]
1044
1044
  name = "wcgw"
1045
- version = "2.8.6"
1045
+ version = "2.8.9"
1046
1046
  source = { editable = "." }
1047
1047
  dependencies = [
1048
1048
  { name = "anthropic" },
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