Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .adl-ignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,6 @@ skills/wait_for_condition.go
skills/write_to_csv.go
internal/playwright/playwright.go

# Go dependency files
go.mod
go.sum

.gitattributes

# Add your own files to ignore here:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cd.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/ci.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .releaserc.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ browser-agent is an A2A (Agent-to-Agent) server implementing the [A2A Protocol](

### ADL-Generated Structure

The codebase is generated using ADL CLI 0.21.7 and follows a strict generation pattern:
The codebase is generated using ADL CLI 0.22.1 and follows a strict generation pattern:
- **Generated Files**: Marked with `DO NOT EDIT` headers - manual changes will be overwritten
- **Configuration Source**: `agent.yaml` - defines agent capabilities, skills, and metadata
- **Server Implementation**: Built on the ADK (Agent Development Kit) framework from `github.com/inference-gateway/adk`
Expand Down Expand Up @@ -118,7 +118,7 @@ Activate with: `flox activate` (if Flox is installed)

- **Generated Files**: Never manually edit files with "DO NOT EDIT" headers
- **Configuration Changes**: Always modify `agent.yaml` and regenerate
- **ADL Version**: Ensure ADL CLI 0.21.7 or compatible version for regeneration
- **ADL Version**: Ensure ADL CLI 0.22.1 or compatible version for regeneration
- **Port Configuration**: Default 8080, configurable via `A2A_PORT` or `A2A_SERVER_PORT`

## Debugging Tips
Expand Down
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,20 @@ The following custom configuration variables are available:
| **Storage** | `A2A_QUEUE_URL` | Redis connection URL (when using Redis) | - |
| **Storage** | `A2A_QUEUE_MAX_SIZE` | Maximum queue size | `100` |
| **Storage** | `A2A_QUEUE_CLEANUP_INTERVAL` | Task cleanup interval | `30s` |
| **Artifacts** | `ARTIFACTS_ENABLE` | Enable artifacts support | `false` |
| **Artifacts** | `ARTIFACTS_SERVER_HOST` | Artifacts server host | `localhost` |
| **Artifacts** | `ARTIFACTS_SERVER_PORT` | Artifacts server port | `8081` |
| **Artifacts** | `ARTIFACTS_STORAGE_PROVIDER` | Storage backend (`filesystem` or `minio`) | `filesystem` |
| **Artifacts** | `ARTIFACTS_STORAGE_BASE_PATH` | Base path for filesystem storage | `./artifacts` |
| **Artifacts** | `ARTIFACTS_STORAGE_BASE_URL` | Override base URL for direct downloads | (auto-generated) |
| **Artifacts** | `ARTIFACTS_STORAGE_ENDPOINT` | MinIO/S3 endpoint URL | - |
| **Artifacts** | `ARTIFACTS_STORAGE_ACCESS_KEY` | MinIO/S3 access key | - |
| **Artifacts** | `ARTIFACTS_STORAGE_SECRET_KEY` | MinIO/S3 secret key | - |
| **Artifacts** | `ARTIFACTS_STORAGE_BUCKET_NAME` | MinIO/S3 bucket name | `artifacts` |
| **Artifacts** | `ARTIFACTS_STORAGE_USE_SSL` | Use SSL for MinIO/S3 connections | `true` |
| **Artifacts** | `ARTIFACTS_RETENTION_MAX_ARTIFACTS` | Max artifacts per task (0 = unlimited) | `5` |
| **Artifacts** | `ARTIFACTS_RETENTION_MAX_AGE` | Max artifact age (0 = no age limit) | `7d` |
| **Artifacts** | `ARTIFACTS_RETENTION_CLEANUP_INTERVAL` | Cleanup frequency (0 = manual only) | `24h` |
| **Authentication** | `A2A_AUTH_ENABLE` | Enable OIDC authentication | `false` |

## Development
Expand Down
2 changes: 1 addition & 1 deletion Taskfile.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion agent.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -414,4 +414,6 @@ spec:
issue_templates: true
sandbox:
flox:
enabled: true
enabled: true
artifacts:
enabled: true
2 changes: 1 addition & 1 deletion config/config.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 12 additions & 4 deletions example/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@ services:
context: ..
dockerfile: Dockerfile
container_name: agent
ports:
- "8080:8080"
volumes:
- ./artifacts:/tmp/playwright/artifacts
environment:
BROWSER_USER_AGENT: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
BROWSER_VIEWPORT_WIDTH: "1920"
Expand Down Expand Up @@ -64,6 +60,15 @@ services:
A2A_QUEUE_MAX_SIZE: 100
A2A_QUEUE_CLEANUP_INTERVAL: 500s
A2A_AUTH_ENABLE: false
A2A_ARTIFACTS_ENABLE: true
A2A_ARTIFACTS_SERVER_HOST: localhost
A2A_ARTIFACTS_SERVER_PORT: 8081
A2A_ARTIFACTS_STORAGE_PROVIDER: filesystem
A2A_ARTIFACTS_STORAGE_BASE_PATH: ./artifacts
A2A_ARTIFACTS_STORAGE_BASE_URL: http://agent:8081
A2A_ARTIFACTS_RETENTION_MAX_ARTIFACTS: 10
A2A_ARTIFACTS_RETENTION_MAX_AGE: 7d
A2A_ARTIFACTS_RETENTION_CLEANUP_INTERVAL: 24h
networks:
- a2a-network

Expand All @@ -85,6 +90,8 @@ services:
cli:
image: ghcr.io/inference-gateway/cli:latest
pull_policy: always
volumes:
- ./downloads:/tmp/artifacts
environment:
INFER_LOGGING_DEBUG: true
INFER_GATEWAY_URL: http://inference-gateway:8080
Expand All @@ -93,6 +100,7 @@ services:
INFER_AGENT_MODEL: deepseek/deepseek-chat
INFER_A2A_AGENTS: |
http://agent:8080
INFER_DOWNLOAD_DIR: /tmp/artifacts
command:
- chat
networks:
Expand Down
8 changes: 7 additions & 1 deletion go.mod

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 13 additions & 2 deletions go.sum

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion internal/logger/logger.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 16 additions & 1 deletion main.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.