Skip to content

loongsuite-python 0.9.0

Latest

Choose a tag to compare

@sipercai sipercai released this 07 Sep 15:47

loongsuite-python 0.9.0

QwenPaw / AgentScope highlights

  • Normalize cumulative AgentScope v2 assistant/tool history without changing application messages.
  • Inherit Entry session/user baggage through Agent, ReAct, LLM, and tool spans.
  • Collect framework-provided cache token usage and mark cancellation as control flow.
  • Attribute QwenPaw Dream LLM calls to the owning agent name, without adding an agent ID.

Validation and known limitations

  • Release wheels were installed in an isolated QwenPaw 2.2.1b1 / AgentScope 2.0.7.post1 environment. Real-model non-streaming, streaming, and tool-calling Runtime smoke tests passed: 3 traces / 15 locally exported spans, complete Entry input/output, and session propagation to Agent/LLM/tool spans. This release smoke did not export to ARMS.
  • AgentScope and QwenPaw's 18 test jobs on the release base passed. Repository-wide CI is not fully green: Google GenAI, Qwen Agent, and Mem0 test jobs, plus multimodal util-genai lint/type checks, have unresolved failures. Publishing with these failures was explicitly accepted by the release owner; this release does not claim those failures are fixed.
  • Interrupted Agent replies can carry cancellation/interrupted attributes while an output message still has the existing default finish_reason: stop. Missing provider-final usage is not fabricated. Tool content is captured as produced by the framework; unsupported example return objects are not reparsed by the probe.
  • The release-only opentelemetry-util-genai to loongsuite-otel-util-genai rename is not resolved by the source-workspace uv-lock hook. Release wheel metadata and isolated wheel installation were checked separately; this is not a claim that the release branch's workspace lock check passes.

Installation

pip install loongsuite-distro==0.9.0
loongsuite-bootstrap -a install --version 0.9.0

Package Versions

  • loongsuite-* packages: 0.9.0
  • opentelemetry-* packages: 0.60b1

PyPI packages

The following distributions are built and uploaded to PyPI for this release:

  • loongsuite-otel-util-genai
  • loongsuite-distro
  • loongsuite-site-bootstrap
  • loongsuite-instrumentation-agentscope
  • loongsuite-instrumentation-algotune
  • loongsuite-instrumentation-autogen
  • loongsuite-instrumentation-bfclv4
  • loongsuite-instrumentation-claude-agent-sdk
  • loongsuite-instrumentation-claw-eval
  • loongsuite-instrumentation-crewai
  • loongsuite-instrumentation-dashscope
  • loongsuite-instrumentation-deepagents
  • loongsuite-instrumentation-google-adk
  • loongsuite-instrumentation-google-genai
  • loongsuite-instrumentation-hermes-agent
  • loongsuite-instrumentation-langchain
  • loongsuite-instrumentation-langgraph
  • loongsuite-instrumentation-litellm
  • loongsuite-instrumentation-mem0
  • loongsuite-instrumentation-microsoft-agent-framework
  • loongsuite-instrumentation-minisweagent
  • loongsuite-instrumentation-openhands
  • loongsuite-instrumentation-qwen-agent
  • loongsuite-instrumentation-qwenpaw
  • loongsuite-instrumentation-slop-code
  • loongsuite-instrumentation-strands
  • loongsuite-instrumentation-terminus2
  • loongsuite-instrumentation-vita
  • loongsuite-instrumentation-webarena
  • loongsuite-instrumentation-widesearch
  • loongsuite-instrumentation-wildtool

loongsuite

Added

  • Add Strands Agents instrumentation using the shared LoongSuite GenAI utility
    lifecycle for agent, ReAct step, model, and tool spans.

loongsuite-instrumentation-agentscope

Fixed

  • Treat AgentScope v2 cancellation as control flow, with an explicit
    agentscope.cancelled attribute, including interrupted reply events when
    the framework consumes the exception. Preserve business exceptions and do
    not invent final LLM usage or finish reasons for interrupted streams.
  • Capture cache-read and cache-creation input tokens in AgentScope v1 and v2,
    including final streaming and v2 agent usage, without adding cached tokens
    to input totals.
  • Split AgentScope v2 cumulative assistant history at tool results, preserving
    chronological assistant/tool roles without changing the application context.
  • Respect the model formatter's thinking-input capability in LLM history and
    limit agent output to final visible text, leaving reasoning and tools on child spans.
  • Prefer Entry session/user baggage over AgentScope's internal session identity
    and propagate the conversation to ReAct, LLM, and tool spans.
  • Fail open when v2 input conversion fails and finalize agent spans even when
    output conversion raises.

loongsuite-instrumentation-google-genai

Added

  • Align provider hooks and tests with the canonical
    opentelemetry-instrumentation-google-genai==1.0b1 baseline.
  • Support interactions.create and automatic function-call
    execute_tool spans in addition to generation, streaming, and embeddings.
  • Retain LoongSuite ExtendedTelemetryHandler metrics, multimodal handling,
    standard instrumentation suppression, reasoning-part capture, Python 3.9,
    and completion-hook support through an isolated compatibility layer.
  • Document that the provider runs on LoongSuite's shared GenAI util, while
    Robin adds ARMS metrics and private lower-level SDK suppression as a
    commercial overlay.
  • Fix reusable-config mutation, stream-construction span leaks, Google async
    stream closing, streaming TTFT, real Interactions SSE completion parsing,
    and embedding raw-response state isolation found during the upstream delta
    audit.
  • Add local opt-in real Gemini API tests and redacted VCR coverage for public
    CI without provider credentials.
  • Apply the shared hook_advice fail-open contract to generation,
    Interactions, embeddings, automatic tool calls, and sync/async streams so
    probe failures cannot change SDK call count, results, chunks, cancellation,
    GeneratorExit, or original provider exceptions.
  • Detach streaming context before returning SDK streams, make finalization
    idempotent across close/aclose/error/GC paths, and cover cross-Context and
    one-fault-among-many isolation.
  • Keep OSS package metadata at Python 3.9 while avoiding Python 3.9/3.10-only
    typing syntax so Robin can repackage the instrumentation wheel for its
    Python 3.8 commercial install floor.

Fixed

  • Aggregate Google GenAI streaming deltas by candidate so
    gen_ai.output.messages contains complete logical responses instead of
    one message per SSE chunk.

loongsuite-instrumentation-qwenpaw

Fixed

  • Limit Dream tests to the QwenPaw 2 runtime and verify that QwenPaw 1 and
    legacy CoPaw retain Entry instrumentation without enabling Dream hooks.

  • Propagate the owning agent name during QwenPaw 2 ReMe Dream calls so
    instrumented downstream LLM spans carry gen_ai.agent.name. Restore the
    caller context on completion, failure, or cancellation; no agent ID is added.

  • Treat asyncio.CancelledError as control flow at Entry finalization while
    preserving the original exception. Record qwenpaw.cancelled and a bounded
    qwenpaw.cancellation.reason from explicit cancellation codes; missing or
    unrecognized reasons are unknown, not inferred from partial responses.


loongsuite-instrumentation-strands

Added

  • Add Strands Agents instrumentation for Agent, ReAct step, model, and tool
    spans using the shared LoongSuite GenAI telemetry utility.
  • Preserve application parent context while suppressing duplicate Strands SDK
    native spans.

Changed

  • Report strands-agents as the framework provider on agent spans while
    keeping the model provider on LLM spans.
  • Always emit framework-level LLM spans without suppressing nested provider
    instrumentation in the open-source package.
  • Finalize remaining LLM, tool, step, and agent spans best-effort when one
    telemetry finalizer fails during invocation or stream cleanup.
  • Isolate failures raised by an underlying stream's aclose() while still
    finalizing the active invocation and restoring application context.
  • Preserve cancellation and generator-exit error types, retain the original
    model error when a failure reporter also fails, and mark model-span startup
    failures as an explicit ReAct-step telemetry error.
  • Capture the first model call's input from the Strands agent message snapshot,
    before invocation state is populated by tool execution.