feat(python/omp-rpc): added blocker field and blocked status to todo items

- Add blocked todo status and optional blocker attribute to todo items.
- Update RPC client and worker serialization logic to support todo blockers.
- Add test coverage for parsing session state with blocked todos.
This commit is contained in:
can1357
2026-07-27 05:22:10 +02:00
parent d32545874d
commit e21f7c18ea
4 changed files with 42 additions and 2 deletions
+3
View File
@@ -1673,6 +1673,7 @@ class RpcClient:
"status": cast(JsonValue, seed.status),
"notes": seed.notes,
"details": seed.details,
"blocker": seed.blocker,
}
content = seed.get("content")
@@ -1683,6 +1684,7 @@ class RpcClient:
raw_status = seed.get("status")
raw_notes = seed.get("notes")
raw_details = seed.get("details")
raw_blocker = seed.get("blocker")
if isinstance(raw_status, str):
if raw_status not in _TODO_STATUS_VALUES:
raise RpcError(f"Unsupported todo status: {raw_status}")
@@ -1697,6 +1699,7 @@ class RpcClient:
"status": cast(JsonValue, status),
"notes": raw_notes if isinstance(raw_notes, str) else None,
"details": raw_details if isinstance(raw_details, str) else None,
"blocker": raw_blocker if isinstance(raw_blocker, str) else None,
}
def is_phase_seed(seed: TodoSeed | TodoPhaseSeed) -> bool: