feat: add miner management endpoints and standardize all API paths to /api/v1 prefix

- Add POST /api/v1/miners/{miner_id}/jobs endpoint for listing miner-assigned jobs with filtering
- Add POST /api/v1/miners/{miner_id}/earnings endpoint for miner earnings tracking (mock implementation)
- Add PUT /api/v1/miners/{miner_id}/capabilities endpoint for updating miner capabilities
- Add DELETE /api/v1/miners/{miner_id} endpoint for miner deregistration (sets OFFLINE status)
- Add JobService.fail_job()
This commit is contained in:
oib
2026-03-05 11:12:57 +01:00
parent c2d4f39a36
commit 80b9ea4b25
11 changed files with 1664 additions and 85 deletions

View File

@@ -48,7 +48,7 @@ def submit(ctx, job_type: str, prompt: Optional[str], model: Optional[str],
try:
with httpx.Client() as client:
response = client.post(
f"{config.coordinator_url}/v1/jobs",
f"{config.coordinator_url}/api/v1/jobs",
headers={
"Content-Type": "application/json",
"X-Api-Key": config.api_key or ""
@@ -123,7 +123,7 @@ def blocks(ctx, limit: int):
try:
with httpx.Client() as client:
response = client.get(
f"{config.coordinator_url}/v1/blocks",
f"{config.coordinator_url}/api/v1/blocks",
params={"limit": limit},
headers={"X-Api-Key": config.api_key or ""}
)
@@ -273,7 +273,7 @@ def history(ctx, limit: int, status: Optional[str], type: Optional[str],
with httpx.Client() as client:
response = client.get(
f"{config.coordinator_url}/v1/jobs/history",
f"{config.coordinator_url}/api/v1/jobs",
params=params,
headers={"X-Api-Key": config.api_key or ""}
)