#!/usr/bin/env python3 # -*- coding: utf-8 -*- """在 Dify 容器中探测 LangfuseSpan 的构造字段(用于设置 parentObservationId 等)。""" from __future__ import annotations import sys import _bootstrap # noqa: F401 import _config as C from dify_api import Dify def main() -> int: d = Dify(C.DIFY_EMAIL, C.DIFY_PASSWORD) try: d.login() cmd = ( "docker exec docker-api-1 python -c " "\"import inspect, dataclasses; " "from dify_trace_langfuse.entities.langfuse_trace_entity import LangfuseSpan; " "print('is_dataclass', dataclasses.is_dataclass(LangfuseSpan)); " "print('sig', inspect.signature(LangfuseSpan.__init__)); " "print('ann', getattr(LangfuseSpan,'__annotations__',None)); " "\"" ) out, err = d.sh(cmd, t=120) print(out or err) return 0 finally: d.close() if __name__ == "__main__": sys.exit(main())