cendor-sdk 1.11.0
Opt-in content on the run spans + auto session grouping — the SDK half of the Cendor journey console (Monitor v3). Backward-compatible (additive); content stays OFF unless you opt in with cendor.core.otel.capture_content().
Added
- Opt-in content on
span_tree/live_spans(G17/G18). When content capture is on (core 1.7'sotel.capture_content()), eachchatstep span carriesgen_ai.input.messages,gen_ai.output.messages(incl. parsed thinking parts), andgen_ai.system_instructions(extracted from the request kwargs for Anthropic/Responses/Gemini/Bedrock, where the system prompt isn't a message); eachexecute_toolspan carriescendor.tool.arguments/cendor.tool.result. All masked + byte-capped by the core config, and never onaudit.*spans (rule 6). Off by default. - Auto conversation id (G19).
run(session=…)propagates the session's key asgen_ai.conversation.idon the run span —SQLiteSessionStore.load(id)now stampsSession.id, andSession(id=…)works for the in-memory case.live_spansreads it live;span_treereads it fromResult.conversation_id(new field). An explicitconversation_id=argument still wins; a conversation id is never synthesized (semconv). - Cassette replay flag on run spans (G22). A replayed
chatstep carriescendor.replayed=true. - G20 co-existence.
live_spanssignals core's opt-in bus→span emitter to stand down while it owns the spans (no double emission).
Changed
- Dependency floor
cendor-core >= 1.7(content-capture helpers).