github emcie-co/parlant v3.3.0

latest release: v3.3.1
one month ago

[3.3.0] - 2025-03-15

Added

  • Add per-agent planners via Server.create_agent(planner=...), allowing each agent to use a custom Planner implementation
  • Accept Tag as a target in depend_on(), exclude(), and prioritize_over() on both Guideline and Tag, enabling relationships that target all guidelines sharing a custom tag
  • Add Tag.depend_on(), Tag.exclude(), and Tag.prioritize_over() methods to the SDK, enabling tag-based dependency and priority relationships with guidelines and journeys
  • Support custom TAG as source for DEPENDENCY relationships in the relational resolver
  • Add tags parameter to create_guideline, create_observation, and create_journey on both Agent and Journey, allowing custom tags to be attached to entities at creation time
  • Add Tag.reevaluate_after() method to the SDK, enabling tag-based reevaluation relationships with tools
  • Add tag-based reevaluation support in the engine: when a tool fires, all guidelines carrying a tag that has a reevaluation relationship with that tool are now re-evaluated
  • Add staged_events to GuidelineMatchingContext in SDK
  • Add priority property to guidelines and journeys for priority-based filtering in the relational resolver
  • Add transient guidelines (renamed from tool-provided guidelines), allowing tools to dynamically inject behavioral guidelines into the agent's context
  • Add Agent.utter() to the SDK, enabling programmatic agent message generation with transient guidelines
  • Add Customer.update() and CustomerMetadata to the SDK, allowing tools to update customer name and metadata
  • Add Session.update(), SessionMetadata, and SessionLabels to the SDK, allowing tools to update session properties, metadata, and labels
  • Add customer, agent, mode, and title properties to SDK Session class
  • Add Server.get_tag() to the SDK, supporting lookup by either id or name
  • Add name-based filtering to TagStore.list_tags() and the GET /tags API endpoint via an optional name query parameter
  • Enforce tag name uniqueness in TagStore, raising an error when creating a tag with a duplicate name

Changed

  • Made extended thinking indicator optional in perceived performance policy
  • Change reevaluate_after() on Tag and Guideline to accept multiple tools (*tools) and return Sequence[Relationship]
  • Change tags field type from Sequence[TagId] to Sequence[Tag] on Guideline, Journey, Capability, Term, Variable, Customer, and Agent in the SDK
  • Change Tag.preamble() to return a full Tag object instead of a TagId
  • Upgrade MCP service and bump dependency versions to resolve security vulnerabilities

Deprecated

  • OpenAPI tool services are now deprecated; please migrate to SDK tool services

Fixed

  • Fix deadlock when sending a new message right after a preamble
  • Fix transitive filtering in relational resolver for custom tag dependency targets (guidelines depending on a custom tag are now correctly deactivated when a tagged member is deprioritized)
  • Fix SSE read_event endpoint stalling after first streaming chunk until full completion
  • Fix response analysis logs not always reaching the integrated UI
  • Fix guideline formatting in canned response and streaming modes when condition is absent
  • Fix AzureService small text embedding dimension size
  • Fix onnxruntime compatibility with Python 3.10 and transformers 5.x type changes
  • Fix agent intention proposer prompt clarification
  • Fix embedding LRU cache eviction corrupting the length index when entries share the same text length
  • Fix LiteLLMEmbedder failing to resolve via lagom container when LITELLM_EMBEDDING_MODEL_NAME is set
  • Fix non-consequential tool calls being rejected when optional parameters are missing

Removed

  • Remove stale parlant-test entry point and testing framework documentation from README

Don't miss a new parlant release

NewReleases is sending notifications on new releases.