머니페니
816415dd24
feat: complete PR creation via GiteaClient in commit_and_open_pr and open_pr
2026-03-20 17:44:45 +09:00
머니페니
af7bd2cdc3
feat: add prompt loading pipeline and path validator
...
- Add read_repo_instructions() to read both AGENTS.md and CLAUDE.md
- Add path_validator.validate_paths() for writable/blocked path enforcement
- Add 10 passing tests (test_prompt_loading.py, test_path_validator.py)
- All 71 tests pass
2026-03-20 17:42:34 +09:00
머니페니
e8983d8534
feat: implement gitea_comment and discord_reply tools
2026-03-20 17:39:45 +09:00
머니페니
b2ad726fc4
feat: implement GiteaClient with Gitea REST API v1
...
Implemented full async Gitea REST API v1 client using httpx with the following methods:
- create_pull_request: Create PRs with title, head, base, and body
- merge_pull_request: Merge PRs with configurable merge type
- create_issue_comment: Post comments on issues/PRs
- get_issue: Fetch issue/PR details
- get_issue_comments: Retrieve all comments for an issue/PR
- create_branch: Create new branches from existing ones
Added lazy singleton pattern with get_gitea_client() factory function that reads GITEA_URL and GITEA_TOKEN from environment.
All methods properly call raise_for_status() and return JSON responses. Comprehensive test suite with 8 tests covering all methods plus error handling.
2026-03-20 16:11:52 +09:00
머니페니
5d44c2e7e2
feat: implement DockerSandbox with docker-py container management
...
Implement DockerSandbox extending deepagents' BaseSandbox to manage Docker
containers via docker-py. This completes Task 1 of Phase 2.
Key implementation details:
- Extends BaseSandbox which auto-implements file I/O (read/write/ls/grep)
by delegating to execute()
- Synchronous execute() method called via loop.run_in_executor() by server.py
- Container lifecycle management (create/connect/close)
- Upload/download file support via tar archives
- Configurable resource limits (memory, CPU, PIDs)
- Timeout support with proper exit code handling
- Environment variable configuration via create_sandbox() factory
Tests:
- 6 new tests covering container creation, command execution, and cleanup
- All 46 tests passing (40 existing + 6 new)
2026-03-20 16:07:27 +09:00
머니페니
760adf3632
refactor: update open_pr middleware for Gitea
2026-03-20 15:12:11 +09:00
머니페니
4f2cb5bd1e
refactor: replace GitHub with Gitea in commit_and_open_pr
2026-03-20 15:11:36 +09:00
머니페니
046ce14888
refactor: update system prompt for Gitea/Discord
2026-03-20 15:07:46 +09:00
머니페니
969929632e
refactor: replace GitHub/Linear/Slack webhooks with Gitea stub
2026-03-20 15:05:04 +09:00
머니페니
64e54a7392
refactor: replace GitHub/Linear/Slack with Gitea/Discord in server.py
2026-03-20 15:04:48 +09:00
머니페니
4382499071
refactor: clean up imports and references after code removal
2026-03-20 14:58:50 +09:00
머니페니
e16c6eeb70
feat: add stub modules for Phase 2 (Docker, Gitea, Discord)
2026-03-20 14:55:41 +09:00
머니페니
a9e0115824
feat: add config module with pydantic-settings
2026-03-20 14:55:02 +09:00
머니페니
0e5672f648
refactor: extract git utilities from github.py into git_utils.py
2026-03-20 14:47:05 +09:00
머니페니
33db8eb7b0
chore: remove Linear, Slack, GitHub, and cloud sandbox code
2026-03-20 14:41:20 +09:00
머니페니
b79a6c2549
chore: initial copy from open-swe
2026-03-20 14:38:07 +09:00