python-agent-harness 1.5.0__tar.gz → 1.5.2__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 (88) hide show
  1. {python_agent_harness-1.5.0/python_agent_harness.egg-info → python_agent_harness-1.5.2}/PKG-INFO +22 -4
  2. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/README.md +21 -3
  3. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/pyproject.toml +1 -1
  4. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/__init__.py +1 -1
  5. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2/python_agent_harness.egg-info}/PKG-INFO +22 -4
  6. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/LICENSE +0 -0
  7. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/__main__.py +0 -0
  8. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/agent.py +0 -0
  9. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/cli.py +0 -0
  10. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/client.py +0 -0
  11. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/commands.py +0 -0
  12. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/config.py +0 -0
  13. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/context_manager.py +0 -0
  14. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/diffrender.py +0 -0
  15. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/mcp/__init__.py +0 -0
  16. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/mcp/client.py +0 -0
  17. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/mcp/config.py +0 -0
  18. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/mcp/manager.py +0 -0
  19. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/models.py +0 -0
  20. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/persistence.py +0 -0
  21. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/planmode.py +0 -0
  22. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/prompts/agent.md +0 -0
  23. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/prompts/build-switch.md +0 -0
  24. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/prompts/commands/explain.md +0 -0
  25. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/prompts/compact.md +0 -0
  26. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/prompts/initialize.md +0 -0
  27. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/prompts/plan-mode.md +0 -0
  28. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/prompts/plan.md +0 -0
  29. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/prompts/review.md +0 -0
  30. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/prompts/subagent.md +0 -0
  31. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/prompts/summary.md +0 -0
  32. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/prompts/task-completion-rules.md +0 -0
  33. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/prompts/title.md +0 -0
  34. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/prompts.py +0 -0
  35. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/session.py +0 -0
  36. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/subagent.py +0 -0
  37. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/token_estimator.py +0 -0
  38. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tool_runner.py +0 -0
  39. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tools/__init__.py +0 -0
  40. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tools/agent_tool.py +0 -0
  41. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tools/base.py +0 -0
  42. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tools/bash.py +0 -0
  43. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tools/edit.py +0 -0
  44. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tools/filesystem.py +0 -0
  45. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tools/glob.py +0 -0
  46. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tools/grep.py +0 -0
  47. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tools/insert.py +0 -0
  48. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tools/mcp.py +0 -0
  49. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tools/mkdir.py +0 -0
  50. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tools/planexit.py +0 -0
  51. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tools/question.py +0 -0
  52. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tools/read.py +0 -0
  53. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tools/skill.py +0 -0
  54. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tools/todo.py +0 -0
  55. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tools/write.py +0 -0
  56. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tui/__init__.py +0 -0
  57. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tui/commands.py +0 -0
  58. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tui/core.py +0 -0
  59. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tui/input.py +0 -0
  60. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness/tui/render.py +0 -0
  61. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness.egg-info/SOURCES.txt +0 -0
  62. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness.egg-info/dependency_links.txt +0 -0
  63. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness.egg-info/entry_points.txt +0 -0
  64. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness.egg-info/requires.txt +0 -0
  65. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/python_agent_harness.egg-info/top_level.txt +0 -0
  66. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/setup.cfg +0 -0
  67. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_agents_md.py +0 -0
  68. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_cli.py +0 -0
  69. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_client.py +0 -0
  70. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_commands.py +0 -0
  71. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_concurrent_subagents.py +0 -0
  72. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_config.py +0 -0
  73. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_context_rules.py +0 -0
  74. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_diffrender.py +0 -0
  75. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_filesystem.py +0 -0
  76. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_invariants.py +0 -0
  77. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_mcp.py +0 -0
  78. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_models.py +0 -0
  79. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_persistence.py +0 -0
  80. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_planmode.py +0 -0
  81. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_prompts.py +0 -0
  82. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_scenarios.py +0 -0
  83. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_session.py +0 -0
  84. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_subagent.py +0 -0
  85. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_subagent_isolation.py +0 -0
  86. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_todos_scope.py +0 -0
  87. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_token_estimator.py +0 -0
  88. {python_agent_harness-1.5.0 → python_agent_harness-1.5.2}/tests/test_tools_misc.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-agent-harness
3
- Version: 1.5.0
3
+ Version: 1.5.2
4
4
  Summary: Python agent execution harness: agent loop, tools, plan/build modes, sessions
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -44,10 +44,28 @@ It works with any **OpenAI-compatible API** and is designed to be easy to inspec
44
44
 
45
45
  ## Demo
46
46
 
47
- ![python-agent-harness demo](demo.png)
47
+ ![python-agent-harness demo](https://raw.githubusercontent.com/beacoder/python-agent-harness/main/demo.png)
48
48
 
49
49
  ## Quick start
50
50
 
51
+ ### Install from PyPI
52
+
53
+ ```sh
54
+ pip install python-agent-harness
55
+
56
+ python-agent-harness config --init
57
+ python-agent-harness run
58
+ ```
59
+
60
+ Optional extras:
61
+
62
+ ```sh
63
+ pip install "python-agent-harness[mcp]" # MCP server integration
64
+ pip install "python-agent-harness[dev]" # development tools
65
+ ```
66
+
67
+ ### Install from source (GitHub)
68
+
51
69
  ```sh
52
70
  git clone git@github.com:beacoder/python-agent-harness.git
53
71
  cd python-agent-harness
@@ -59,8 +77,6 @@ python-agent-harness config --init
59
77
  python-agent-harness run
60
78
  ```
61
79
 
62
- Edit `~/.config/python-agent-harness/config.json` and set your `base_url`, `api_key`, and `model`.
63
-
64
80
  Optional extras:
65
81
 
66
82
  ```sh
@@ -68,6 +84,8 @@ pip install -e ".[mcp]" # MCP server integration
68
84
  pip install -e ".[dev]" # development tools
69
85
  ```
70
86
 
87
+ Edit `~/.config/python-agent-harness/config.json` and set your `base_url`, `api_key`, and `model`.
88
+
71
89
  ## Features
72
90
 
73
91
  - **FSM-driven execution** — explicit `WAIT` / `TOOL` / `TRET` / `SUPERVISE` / `DONE` / `ERRS` / `ABRT` states. Completion supervision nudges the model when it stops early, while failed tool calls are sanitized so they never strand the agent. Transient API failures (`429` / `5xx`) retry with exponential backoff and jitter.
@@ -23,10 +23,28 @@ It works with any **OpenAI-compatible API** and is designed to be easy to inspec
23
23
 
24
24
  ## Demo
25
25
 
26
- ![python-agent-harness demo](demo.png)
26
+ ![python-agent-harness demo](https://raw.githubusercontent.com/beacoder/python-agent-harness/main/demo.png)
27
27
 
28
28
  ## Quick start
29
29
 
30
+ ### Install from PyPI
31
+
32
+ ```sh
33
+ pip install python-agent-harness
34
+
35
+ python-agent-harness config --init
36
+ python-agent-harness run
37
+ ```
38
+
39
+ Optional extras:
40
+
41
+ ```sh
42
+ pip install "python-agent-harness[mcp]" # MCP server integration
43
+ pip install "python-agent-harness[dev]" # development tools
44
+ ```
45
+
46
+ ### Install from source (GitHub)
47
+
30
48
  ```sh
31
49
  git clone git@github.com:beacoder/python-agent-harness.git
32
50
  cd python-agent-harness
@@ -38,8 +56,6 @@ python-agent-harness config --init
38
56
  python-agent-harness run
39
57
  ```
40
58
 
41
- Edit `~/.config/python-agent-harness/config.json` and set your `base_url`, `api_key`, and `model`.
42
-
43
59
  Optional extras:
44
60
 
45
61
  ```sh
@@ -47,6 +63,8 @@ pip install -e ".[mcp]" # MCP server integration
47
63
  pip install -e ".[dev]" # development tools
48
64
  ```
49
65
 
66
+ Edit `~/.config/python-agent-harness/config.json` and set your `base_url`, `api_key`, and `model`.
67
+
50
68
  ## Features
51
69
 
52
70
  - **FSM-driven execution** — explicit `WAIT` / `TOOL` / `TRET` / `SUPERVISE` / `DONE` / `ERRS` / `ABRT` states. Completion supervision nudges the model when it stops early, while failed tool calls are sanitized so they never strand the agent. Transient API failures (`429` / `5xx`) retry with exponential backoff and jitter.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "python-agent-harness"
7
- version = "1.5.0"
7
+ version = "1.5.2"
8
8
  description = "Python agent execution harness: agent loop, tools, plan/build modes, sessions"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -5,7 +5,7 @@ from .mcp.manager import MCPManager
5
5
  from .models import AgentMode, Message, ToolCall, ToolSpec
6
6
  from .session import Session
7
7
 
8
- __version__ = "1.5.0"
8
+ __version__ = "1.5.2"
9
9
 
10
10
  __all__ = [
11
11
  "Session",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-agent-harness
3
- Version: 1.5.0
3
+ Version: 1.5.2
4
4
  Summary: Python agent execution harness: agent loop, tools, plan/build modes, sessions
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -44,10 +44,28 @@ It works with any **OpenAI-compatible API** and is designed to be easy to inspec
44
44
 
45
45
  ## Demo
46
46
 
47
- ![python-agent-harness demo](demo.png)
47
+ ![python-agent-harness demo](https://raw.githubusercontent.com/beacoder/python-agent-harness/main/demo.png)
48
48
 
49
49
  ## Quick start
50
50
 
51
+ ### Install from PyPI
52
+
53
+ ```sh
54
+ pip install python-agent-harness
55
+
56
+ python-agent-harness config --init
57
+ python-agent-harness run
58
+ ```
59
+
60
+ Optional extras:
61
+
62
+ ```sh
63
+ pip install "python-agent-harness[mcp]" # MCP server integration
64
+ pip install "python-agent-harness[dev]" # development tools
65
+ ```
66
+
67
+ ### Install from source (GitHub)
68
+
51
69
  ```sh
52
70
  git clone git@github.com:beacoder/python-agent-harness.git
53
71
  cd python-agent-harness
@@ -59,8 +77,6 @@ python-agent-harness config --init
59
77
  python-agent-harness run
60
78
  ```
61
79
 
62
- Edit `~/.config/python-agent-harness/config.json` and set your `base_url`, `api_key`, and `model`.
63
-
64
80
  Optional extras:
65
81
 
66
82
  ```sh
@@ -68,6 +84,8 @@ pip install -e ".[mcp]" # MCP server integration
68
84
  pip install -e ".[dev]" # development tools
69
85
  ```
70
86
 
87
+ Edit `~/.config/python-agent-harness/config.json` and set your `base_url`, `api_key`, and `model`.
88
+
71
89
  ## Features
72
90
 
73
91
  - **FSM-driven execution** — explicit `WAIT` / `TOOL` / `TRET` / `SUPERVISE` / `DONE` / `ERRS` / `ABRT` states. Completion supervision nudges the model when it stops early, while failed tool calls are sanitized so they never strand the agent. Transient API failures (`429` / `5xx`) retry with exponential backoff and jitter.