2c773a12a4
git-subtree-dir: python/robomp git-subtree-mainline:4f6e70f779git-subtree-split:553fd1cfcf
65 lines
4.1 KiB
JSON
65 lines
4.1 KiB
JSON
{
|
|
"name": "robomp",
|
|
"private": true,
|
|
"type": "module",
|
|
"packageManager": "bun@1.3.14",
|
|
"description": "Self-hosted GitHub triage-and-fix bot driving oh-my-pi.",
|
|
"workspaces": ["web"],
|
|
"scripts": {
|
|
"dev": "bun run build && bun run up && bun run logs",
|
|
"build": "bun run pi-artifacts && docker compose build",
|
|
"rebuild": "bash scripts/with-pi-root.sh bash -c 'docker build --no-cache -t \"${PI_ARTIFACTS_IMAGE:-oh-my-pi/artifacts:dev}\" \"$PI_ROOT\"' && docker compose build --no-cache",
|
|
"pi-artifacts": "bash scripts/with-pi-root.sh bash -c 'docker build -t \"${PI_ARTIFACTS_IMAGE:-oh-my-pi/artifacts:dev}\" \"$PI_ROOT\"'",
|
|
"clean-pi-artifacts": "docker image rm ${PI_ARTIFACTS_IMAGE:-oh-my-pi/artifacts:dev} || true",
|
|
"image-info": "docker image inspect robomp:dev --format 'size: {{.Size}} bytes layers: {{len .RootFS.Layers}} created: {{.Created}}'",
|
|
"up": "bash scripts/with-pi-root.sh docker compose up -d",
|
|
"down": "docker compose down",
|
|
"restart": "docker compose restart robomp",
|
|
"ps": "docker compose ps",
|
|
"logs": "docker compose logs -f robomp",
|
|
"proxy-logs": "docker compose logs -f gh-proxy",
|
|
"tail": "docker compose logs --no-color --tail \"${1:-200}\" robomp",
|
|
"log-grep": "docker compose logs --no-color robomp | grep -i -- \"$1\" || true",
|
|
"sh": "docker compose exec robomp bash",
|
|
"exec": "docker compose exec robomp \"$@\"",
|
|
"triage": "docker compose exec robomp robomp triage \"$1\"",
|
|
"replay": "docker compose exec robomp robomp replay \"$1\"",
|
|
"issue-status": "docker compose exec robomp robomp status",
|
|
"cleanup": "docker compose exec robomp robomp cleanup \"$1\"",
|
|
"install:py": "pip install -e '.[dev]'",
|
|
"test": "pytest -x tests/ \"$@\"",
|
|
"test:integration": "ROBOMP_INTEGRATION=1 pytest -x tests/test_worker_smoke.py \"$@\"",
|
|
"test:file": "pytest -x \"$@\"",
|
|
"serve": "python3 -m robomp serve",
|
|
"lint": "bun run lint:ts && bun run lint:py",
|
|
"lint:ts": "biome check . --no-errors-on-unmatched",
|
|
"lint:py": "ruff check src tests && ruff format --check src tests",
|
|
"fix": "bun run fix:ts && bun run fix:py",
|
|
"fix:ts": "biome check --write --unsafe --no-errors-on-unmatched .",
|
|
"fix:py": "ruff check --fix src tests && ruff format src tests",
|
|
"fmt": "biome format --write --no-errors-on-unmatched .",
|
|
"check": "biome check . --no-errors-on-unmatched",
|
|
"typecheck": "bun --cwd=web run typecheck",
|
|
"web:dev": "bun --cwd=web run dev",
|
|
"web:build": "bun --cwd=web run build",
|
|
"web:preview": "bun --cwd=web run preview",
|
|
"web:typecheck": "bun --cwd=web run typecheck",
|
|
"healthz": "curl -fsS \"http://localhost:${ROBOMP_BIND_PORT:-8080}/healthz\" && echo",
|
|
"readyz": "curl -fsS \"http://localhost:${ROBOMP_BIND_PORT:-8080}/readyz\" && echo",
|
|
"events": "curl -fsS \"http://localhost:${ROBOMP_BIND_PORT:-8080}/events?limit=${1:-50}\" | python3 -m json.tool",
|
|
"issues": "curl -fsS \"http://localhost:${ROBOMP_BIND_PORT:-8080}/issues?limit=${1:-100}\" | python3 -m json.tool",
|
|
"sqlite": "docker compose exec robomp sqlite3 /data/robomp.sqlite",
|
|
"sql": "docker compose exec robomp sqlite3 -header -column /data/robomp.sqlite \"$1\"",
|
|
"tool-calls": "docker compose exec robomp sqlite3 -header -column /data/robomp.sqlite \"SELECT id, ts, tool, COALESCE(error,'ok') AS err FROM tool_calls WHERE issue_key='$1' ORDER BY id;\"",
|
|
"recent-events": "docker compose exec robomp sqlite3 -header -column /data/robomp.sqlite \"SELECT received_at, event_type, issue_key, state, attempts FROM events ORDER BY received_at DESC LIMIT ${1:-20};\"",
|
|
"stuck": "docker compose exec robomp sqlite3 -header -column /data/robomp.sqlite \"SELECT delivery_id, event_type, issue_key, state, attempts, started_at FROM events WHERE state IN ('queued','running') ORDER BY received_at;\"",
|
|
"ping": "bash scripts/ping.sh",
|
|
"wipe-workspaces": "rm -rf ./data/workspaces && mkdir -p ./data/workspaces",
|
|
"nuke-data": "rm -rf ./data && mkdir -p ./data",
|
|
"reset": "docker compose down -v && (docker image rm ${PI_ARTIFACTS_IMAGE:-oh-my-pi/artifacts:dev} || true)"
|
|
},
|
|
"devDependencies": {
|
|
"@biomejs/biome": "^2.4.14"
|
|
}
|
|
}
|