Skip to content

Add Agent Assistant continuation and session bridges to turn-kit #302

Description

@khaliqgant

Summary

The turn-kit foundation in #299 handles a bounded request/response turn and allows callers to override sessionId when a broader session has already been resolved. It does not yet expose reusable continuation or session adapters for clarification, approval, deferred work, or cross-surface continuity.

Add optional bridges to @agent-assistant/continuation and @agent-assistant/sessions. Cloud should remain the owner of durable continuation/session storage and resume delivery; turn-kit should define the portable lifecycle and adapter seams.

Scope

  • Add optional turn-kit entry points for session resolution and resumable outcomes.
  • Resolve a stable session from assistant, user, transport, conversation, and thread identity.
  • Represent needs_clarification, awaiting_approval, and deferred outcomes without treating them as completed turns.
  • Persist and resume through injected adapters compatible with the cloud continuation/session stores.
  • Validate resume triggers against the original assistant, user, conversation, and expected continuation state.
  • Define expiry, cancellation, duplicate-resume, and already-completed behavior.
  • Integrate resumed history/context with the existing Agent Assistant turn-context bridge.
  • Keep the base turn runner usable without either optional peer dependency.

Acceptance criteria

  • A turn can pause for clarification or approval and resume exactly once from a validated reply.
  • Expired, mismatched, duplicated, and cross-conversation resume attempts fail closed.
  • Separate users and transport conversations cannot resolve to the same session accidentally.
  • Cloud adapters can provide durable storage without turn-kit reimplementing database ownership.
  • Tests cover same-surface resume, cross-surface session affinity, expiry, duplicate delivery, and identity mismatch.
  • Documentation explains when to use conversation memory, sessions, and continuations.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions