xray-core
    Preparing search index...

    Class SessionBuilder

    Builder class for creating X-Ray sessions with a fluent API.

    const session = new SessionBuilder('competitor-selection', storage)
    .meta({ referenceProduct: myProduct })
    .start();

    session.step('keyword_generation', 'llm')
    .input({ title: 'My Product' })
    .output({ keywords: ['keyword1', 'keyword2'] })
    .reasoning('Extracted key attributes')
    .complete();

    session.complete();
    Index

    Constructors

    Methods

    • Adds a pre-built step directly to the session.

      Parameters

      • step: XRayStep

        A complete XRayStep object

      Returns this

      this for method chaining

    • Gets the session ID.

      Returns string

      The session's unique identifier

    • Sets the session ID explicitly (overrides auto-generated ID).

      Parameters

      • sessionId: string

        Custom session ID

      Returns this

      this for method chaining

    • Adds metadata to the session context.

      Parameters

      • metadata: Record<string, unknown>

        Key-value pairs to store (e.g., reference product, user info)

      Returns this

      this for method chaining

    • Starts the session and persists to storage if provided.

      Returns this

      this for method chaining

    • Creates a new step builder for this session.

      Parameters

      • name: string

        Step name (e.g., 'keyword_generation', 'apply_filters')

      • type: XRayStepType = 'custom'

        Step type for categorization (default: 'custom')

      Returns StepBuilder

      A StepBuilder instance for fluent configuration