22 Commits

Author SHA1 Message Date
머니페니
94edb45c86 chore: add langgraph-server to docker-compose (ARM64 verified)
langchain/langgraph-api:3.11 pulls and runs on ARM64.
Uses SQLite for local state management.
2026-03-20 17:46:29 +09:00
머니페니
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
머니페니
bb2a47157e fix: replace original Dockerfile with agent server Dockerfile 2026-03-20 15:30:14 +09:00
머니페니
8e60da4f3c test: fix remaining tests after code cleanup
All 40 tests pass without any code changes needed:
- test_config.py (4 tests)
- test_ensure_no_empty_msg.py (21 tests)
- test_multimodal.py (11 tests)
- test_sandbox_paths.py (4 tests)

No broken imports from deleted modules found.
2026-03-20 15:19:55 +09:00
머니페니
355275bef1 feat: add docker-compose with socket proxy and agent server 2026-03-20 15:19:19 +09:00
머니페니
8d30e13f46 feat: add Dockerfiles for agent server and sandbox (ARM64) 2026-03-20 15:18:18 +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
머니페니
2a2e98c53d chore: update dependencies for galaxis-agent 2026-03-20 14:48:59 +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