github emcie-co/parlant v3.3.1

13 hours ago

[3.3.1] - 2025-04-14

Added

  • Allow passing ToolId when attaching tools throughout the SDK
  • Add AnyOf(tag) and AllOf(tag) modifiers for explicit control over tag dependency semantics in depend_on()AnyOf requires at least one tagged member to be active, AllOf requires all of them (bare Tag defaults to AllOf)
  • Add depend_on_any() to Guideline, Tag, and Journey for OR dependency relationships — at least one target must be active. Multiple depend_on_any() calls create independent OR groups that are AND'd together
  • Add event loop health monitoring to /healthz endpoint — measures callback latency and reports healthy, degraded, or unhealthy status with peak latency over a configurable window
  • Add resolution tracking to the relational resolver — every entity that enters resolution gets a Resolution with a ResolutionKind (NONE, DEPRIORITIZED, UNMET_DEPENDENCY_ALL, UNMET_DEPENDENCY_ANY, ENTAILED) and structured ResolutionDetails (relationship ID, target IDs) explaining why

Changed

  • Split RelationshipEntityKind.TAG into TAG_ALL and TAG_ANY to support explicit tag dependency semantics at the core level (existing TAG entries treated as TAG_ALL for backwards compatibility)

Fixed

  • Fix priority and dependency relationships propagating through inactive intermediaries — only direct relationships now affect resolution, consistent with the reinstatement principle from argumentation theory
  • Fix entailment recording only the highest-scoring source when multiple guidelines entail the same target — all entailing relationships are now recorded in resolution details
  • Fix dep-failed guidelines not recovering when entailment satisfies their dependency target in a later iteration
  • Fix SDK startup appearing stuck at 100% after evaluations — add "Applying evaluations" progress bar for the metadata-writing phase
  • Fix Variable.get_value() returning None when called from a retriever, caused by retrievers starting before context variables were loaded
  • Fix journey tool-state auto-advancing even when the tool did not run

Don't miss a new parlant release

NewReleases is sending notifications on new releases.