mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-09 03:30:48 +08:00
重构仓库目录为统一的 runtime 分层并清理历史 openclaw 残留。
本次迁移将网关/通道/工具/技能/脚本与协议资源集中到新结构,统一路径常量与脚本转发机制,减少顶层噪音并保证运行与测试行为一致。 Made-with: Cursor
This commit is contained in:
parent
ba3836f00f
commit
4a23b715a2
498 changed files with 2760 additions and 2200 deletions
63
interfaces/gateway/server_methods/logs.py
Normal file
63
interfaces/gateway/server_methods/logs.py
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
from .shared_types import GatewayRequestHandlers
|
||||
from .validation import error_shape
|
||||
|
||||
|
||||
def _read_configured_log_tail(*, cursor: int | None, limit: int | None, max_bytes: int | None) -> dict[str, Any]:
|
||||
# Placeholder runtime adapter for Python rewrite stage.
|
||||
return {
|
||||
"cursor": cursor or 0,
|
||||
"lines": [],
|
||||
"nextCursor": cursor or 0,
|
||||
"limit": limit or 0,
|
||||
"maxBytes": max_bytes or 0,
|
||||
}
|
||||
|
||||
|
||||
def _validate_logs_tail_params(params: Any) -> bool:
|
||||
if not isinstance(params, dict):
|
||||
return False
|
||||
for key in ("cursor", "limit", "maxBytes"):
|
||||
if key in params and not isinstance(params[key], int):
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
def _logs_tail_handler(opts: dict[str, Any]) -> Any:
|
||||
respond = opts.get("respond")
|
||||
params = opts.get("params")
|
||||
if not callable(respond):
|
||||
return None
|
||||
if not _validate_logs_tail_params(params):
|
||||
respond(
|
||||
False,
|
||||
None,
|
||||
error_shape("INVALID_REQUEST", "invalid logs.tail params"),
|
||||
None,
|
||||
)
|
||||
return None
|
||||
p = params if isinstance(params, dict) else {}
|
||||
try:
|
||||
result = _read_configured_log_tail(
|
||||
cursor=p.get("cursor"),
|
||||
limit=p.get("limit"),
|
||||
max_bytes=p.get("maxBytes"),
|
||||
)
|
||||
respond(True, result, None, None)
|
||||
except Exception as exc:
|
||||
respond(
|
||||
False,
|
||||
None,
|
||||
error_shape("UNAVAILABLE", f"log read failed: {exc}"),
|
||||
None,
|
||||
)
|
||||
return None
|
||||
|
||||
|
||||
logs_handlers: GatewayRequestHandlers = {
|
||||
"logs.tail": _logs_tail_handler,
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue