oclaw/runtime/plan_agent_v2/trace.py
oliver 420abac9f1 refactor: root-package imports (svc/runtime/interfaces) and fix PYTHONPATH
- Rename platform/ to svc/ to avoid shadowing stdlib platform.
- Replace from oclaw.* with from svc/runtime/interfaces; update -m CLI paths.
- tests/conftest: prepend repo root to sys.path (no parent-folder package name).
- CI: paths and offline_eval script under repo root.
- Ops scripts: PYTHONPATH must be repo root for python -m runtime.* (fixes gateway/WhatsApp sidecar startup).
- Fix default oclaw.json path in tabular/file attachment limits; stabilize attachment test config.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-13 14:51:17 +08:00

37 lines
910 B
Python

from __future__ import annotations
import time
from typing import Any
def emit_plan_agent_v2_trace(
*,
store: Any,
session_id: str,
trace_id: str | None,
parent_span_id: str | None,
event_type: str,
payload: dict[str, Any] | None = None,
) -> None:
if not str(trace_id or "").strip():
return
merged = dict(payload or {})
merged.setdefault("pipeline", "plan_agent_v2")
merged.setdefault("ts_ms", int(time.time() * 1000))
try:
from runtime.orchestration.trace import new_span_id
store.add_trace_event(
session_id=str(session_id or ""),
trace_id=str(trace_id),
span_id=new_span_id(),
parent_span_id=parent_span_id,
event_type=str(event_type or "plan_agent_v2"),
payload=merged,
)
except Exception:
pass
__all__ = ["emit_plan_agent_v2_trace"]