@retrivora-ai/rag-engine 2.2.9 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -547,38 +547,177 @@ declare class LicenseValidationError extends RetrivoraError {
547
547
  */
548
548
  declare function wrapError(err: unknown, defaultCode: RetrivoraErrorCode, defaultMessage?: string): RetrivoraError;
549
549
 
550
+ /**
551
+ * Input contract for `LicenseValidator.validate()`.
552
+ *
553
+ * At least one source must yield a license key: `licenseKey` field, an
554
+ * `x-license-key` entry in `headers`, or the process environment variables
555
+ * (NEXT_PUBLIC_RETRIVORA_LICENSE_KEY / RETRIVORA_LICENSE_KEY).
556
+ */
550
557
  interface LicenseValidationRequest {
558
+ /** Explicit `rtv_`-prefixed license key passed as a prop (highest priority). */
551
559
  licenseKey: string;
560
+ /** Project ID the caller is running under, checked for license binding match. */
552
561
  projectId?: string;
562
+ /** SDK version reported for minimum-supported-version enforcement (defaults to SDK_VERSION). */
553
563
  sdkVersion?: string;
564
+ /** SDK package identifier sent to server for observability. */
554
565
  sdk?: string;
566
+ /** browser | node — reported for observability only. */
555
567
  platform?: string;
568
+ /** Override base URL of the Retrivora API endpoint. Defaults to env or '/api/retrivora'. */
556
569
  retrivoraApiBase?: string;
570
+ /** Custom headers that may contain `x-license-key` or `Authorization: Bearer`. */
557
571
  headers?: Record<string, string>;
558
572
  }
573
+ /**
574
+ * Response contract returned from `LicenseValidator.validate()`.
575
+ *
576
+ * Status enumerations are ordered — anything other than ACTIVE means the
577
+ * widget/chat must be disabled and must not pass server-side handler checks.
578
+ */
559
579
  interface LicenseValidationResponse {
580
+ /** True only when `licenseStatus` is ACTIVE and SDK version is supported. */
560
581
  valid: boolean;
582
+ /** Lifecycle state of the license record. TERMINATED/SUSPENDED/EXPIRED/REVOKED must block chat. */
561
583
  licenseStatus: 'ACTIVE' | 'SUSPENDED' | 'TERMINATED' | 'EXPIRED' | 'REVOKED';
584
+ /** Minimum SDK version that the server will accept (semver-compare). */
562
585
  minimumSupportedVersion: string;
586
+ /** Latest generally-available SDK version (for upgrade prompts). */
563
587
  latestVersion: string;
588
+ /** True when the SDK version is older than minimumSupportedVersion — UI must force upgrade. */
564
589
  forceUpgrade: boolean;
590
+ /** RFC3339 expiration timestamp or null for perpetual licenses. */
565
591
  expiresAt: string | null;
592
+ /** Human-readable status/reason string, suitable for tooltips/toasts. */
566
593
  message: string;
567
594
  }
595
+ /**
596
+ * Client-side orchestrator for license validation.
597
+ *
598
+ * Flow:
599
+ * 1. Resolve the license key (prop → header → env)
600
+ * 2. Return any fresh (< 5 min old) successful cached result
601
+ * 3. POST to `{retrivoraApiBase}/v1/license/validate` for server-side DB-backed status
602
+ * 4. On network or HTTP error, fall back to zero-latency local RSA signature
603
+ * verification via `LicenseVerifier.verify()`.
604
+ *
605
+ * Caching policy:
606
+ * - ONLY successful (valid + ACTIVE + !forceUpgrade) responses are cached
607
+ * - Any failed validation immediately purges the cache entry
608
+ * - TTL is 5 minutes for success cache to allow TERMINATED/REVOKED status
609
+ * changes on the server to propagate quickly.
610
+ *
611
+ * Thread safety: Singleton pattern via `getInstance()`. Used by ChatWidget,
612
+ * useRagChat hook, and the server-side `createLicenseHandler` indirectly through
613
+ * its own `LicenseVerifier.verify()` path.
614
+ */
568
615
  declare class LicenseValidator {
569
616
  private static instance;
570
617
  private cache;
571
618
  private static readonly SUCCESS_CACHE_TTL_MS;
572
619
  private constructor();
620
+ /** @returns Singleton instance of the validator (shared cache across all consumers). */
573
621
  static getInstance(): LicenseValidator;
574
622
  /**
575
- * Invalidate local validation cache for a license key
623
+ * Purge entries from the local success cache.
624
+ *
625
+ * @param licenseKey - Optional. If provided, only that key's cache entry is
626
+ * removed. If omitted the entire cache is cleared.
627
+ * Callers use this after any 401/403 to ensure the next
628
+ * validate() call re-validates against the server.
576
629
  */
577
630
  purgeCache(licenseKey?: string): void;
578
631
  /**
579
- * Validate license status and SDK version against Retrivora License Service
632
+ * Primary validation entry-point for UI / hook consumers.
633
+ *
634
+ * Resolves the license key, consults the local success cache, performs a
635
+ * server POST for authoritative status, and falls back to local RSA
636
+ * signature verification if the server can't be reached.
637
+ *
638
+ * @throws LicenseValidationError - When no key is provided OR both the
639
+ * server call AND the local-RSA fallback report an invalid/expired key.
640
+ * @throws SDKVersionUnsupportedError - When server reports forceUpgrade=true.
641
+ * @returns A `LicenseValidationResponse` that the UI can use to enable or
642
+ * lock the chat widget.
580
643
  */
581
644
  validate(request: LicenseValidationRequest): Promise<LicenseValidationResponse>;
582
645
  }
583
646
 
584
- export { AuthenticationException as A, decideVisualization as B, type ChatWidgetProps as C, type DocumentUploadProps as D, EmbeddingFailedException as E, type ArchitectureCardProps as F, CarouselRendererStrategy as G, ChartRendererStrategy as H, type IRenderRule as I, type ChatViewportSize as J, DocumentChunker as K, LicenseValidationError as L, type MessageBubbleProps as M, MixedRendererStrategy as N, Pipeline as O, type ProductCardProps as P, type PipelineStep as Q, RateLimitException as R, type SourceCardProps as S, type ProviderPill as T, type RenderSectionDecision as U, VisualizationDecisionEngine as V, type Snippet as W, TableRendererStrategy as X, TextRendererStrategy as Y, wrapError as Z, type ChatWindowProps as a, type ConfigProviderProps as b, type ClientConfig as c, type ProductCarouselProps as d, type ChartType as e, type Chunk as f, type ChunkOptions as g, ConfigurationException as h, type DecisionContext as i, type IRendererStrategy as j, type IntentCategory as k, IntentClassifier as l, type LicenseValidationRequest as m, type LicenseValidationResponse as n, LicenseValidator as o, ProviderNotFoundException as p, type RenderDecision as q, type RenderType as r, RendererRegistry as s, RetrievalException as t, Retrivora as u, RetrivoraError as v, type RetrivoraErrorCode as w, RuleEngine as x, SDKVersionUnsupportedError as y, SDK_VERSION as z };
647
+ /**
648
+ * BatchProcessor.ts — Handles batch operations with retry logic.
649
+ *
650
+ * Provides exponential backoff, partial failure tracking, and
651
+ * configurable batch sizing for efficient bulk operations.
652
+ */
653
+ interface BatchOptions {
654
+ /** Maximum number of items per batch */
655
+ batchSize?: number;
656
+ /** Maximum number of retries for transient failures */
657
+ maxRetries?: number;
658
+ /** Initial delay before retry in milliseconds */
659
+ initialDelayMs?: number;
660
+ /** Maximum delay between retries in milliseconds */
661
+ maxDelayMs?: number;
662
+ /** Multiplier for exponential backoff */
663
+ backoffMultiplier?: number;
664
+ /** Whether to throw on any partial failure */
665
+ throwOnPartialFailure?: boolean;
666
+ }
667
+ interface BatchResult<T> {
668
+ results: T[];
669
+ errors: Array<{
670
+ index: number;
671
+ error: Error;
672
+ itemCount?: number;
673
+ }>;
674
+ totalProcessed: number;
675
+ totalFailed: number;
676
+ }
677
+ /**
678
+ * Determines if an error is transient (should retry)
679
+ */
680
+ declare function isTransientError(error: unknown): boolean;
681
+ declare class BatchProcessor {
682
+ private static readonly cb;
683
+ /**
684
+ * Execute a processor call through the circuit breaker.
685
+ * Only transient failures count toward opening the circuit.
686
+ */
687
+ private static executeWithCircuitBreaker;
688
+ /**
689
+ * Processes an array of items in configurable batches with retry logic.
690
+ *
691
+ * @param items - Items to process
692
+ * @param processor - Async function that processes a batch of items
693
+ * @param options - Configuration for batch size, retries, etc.
694
+ * @returns Object with results, errors, and statistics
695
+ *
696
+ * @example
697
+ * const docs = [...];
698
+ * const result = await BatchProcessor.processBatch(
699
+ * docs,
700
+ * (batch) => vectorDB.batchUpsert(batch),
701
+ * { batchSize: 100, maxRetries: 3 }
702
+ * );
703
+ */
704
+ static processBatch<T, R>(items: T[], processor: (batch: T[]) => Promise<R>, options?: BatchOptions): Promise<BatchResult<R>>;
705
+ /**
706
+ * Processes items sequentially (one at a time) with retry logic.
707
+ * Useful for operations that don't support batching or when granular
708
+ * error tracking is needed.
709
+ */
710
+ static processSequential<T, R>(items: T[], processor: (item: T) => Promise<R>, options?: BatchOptions): Promise<BatchResult<R>>;
711
+ /**
712
+ * Maps over items with retry logic, returning results in order.
713
+ * Like Array.map() but with async processing and automatic retries.
714
+ */
715
+ static mapWithRetry<T, R>(items: T[], mapper: (item: T) => Promise<R>, options?: BatchOptions): Promise<R[]>;
716
+ /**
717
+ * Parallel processor with concurrency limit.
718
+ * Processes up to `concurrency` items at the same time.
719
+ */
720
+ static processConcurrent<T, R>(items: T[], processor: (item: T) => Promise<R>, concurrency?: number, options?: BatchOptions): Promise<BatchResult<R>>;
721
+ }
722
+
723
+ export { TableRendererStrategy as $, AuthenticationException as A, type BatchOptions as B, type ChatWidgetProps as C, type DocumentUploadProps as D, EmbeddingFailedException as E, SDKVersionUnsupportedError as F, SDK_VERSION as G, decideVisualization as H, type IRenderRule as I, isTransientError as J, type ArchitectureCardProps as K, LicenseValidationError as L, type MessageBubbleProps as M, CarouselRendererStrategy as N, ChartRendererStrategy as O, type ProductCardProps as P, type ChatViewportSize as Q, RateLimitException as R, type SourceCardProps as S, DocumentChunker as T, MixedRendererStrategy as U, VisualizationDecisionEngine as V, Pipeline as W, type PipelineStep as X, type ProviderPill as Y, type RenderSectionDecision as Z, type Snippet as _, type ChatWindowProps as a, TextRendererStrategy as a0, wrapError as a1, type ConfigProviderProps as b, type ClientConfig as c, type ProductCarouselProps as d, BatchProcessor as e, type BatchResult as f, type ChartType as g, type Chunk as h, type ChunkOptions as i, ConfigurationException as j, type DecisionContext as k, type IRendererStrategy as l, type IntentCategory as m, IntentClassifier as n, type LicenseValidationRequest as o, type LicenseValidationResponse as p, LicenseValidator as q, ProviderNotFoundException as r, type RenderDecision as s, type RenderType as t, RendererRegistry as u, RetrievalException as v, Retrivora as w, RetrivoraError as x, type RetrivoraErrorCode as y, RuleEngine as z };
@@ -547,38 +547,177 @@ declare class LicenseValidationError extends RetrivoraError {
547
547
  */
548
548
  declare function wrapError(err: unknown, defaultCode: RetrivoraErrorCode, defaultMessage?: string): RetrivoraError;
549
549
 
550
+ /**
551
+ * Input contract for `LicenseValidator.validate()`.
552
+ *
553
+ * At least one source must yield a license key: `licenseKey` field, an
554
+ * `x-license-key` entry in `headers`, or the process environment variables
555
+ * (NEXT_PUBLIC_RETRIVORA_LICENSE_KEY / RETRIVORA_LICENSE_KEY).
556
+ */
550
557
  interface LicenseValidationRequest {
558
+ /** Explicit `rtv_`-prefixed license key passed as a prop (highest priority). */
551
559
  licenseKey: string;
560
+ /** Project ID the caller is running under, checked for license binding match. */
552
561
  projectId?: string;
562
+ /** SDK version reported for minimum-supported-version enforcement (defaults to SDK_VERSION). */
553
563
  sdkVersion?: string;
564
+ /** SDK package identifier sent to server for observability. */
554
565
  sdk?: string;
566
+ /** browser | node — reported for observability only. */
555
567
  platform?: string;
568
+ /** Override base URL of the Retrivora API endpoint. Defaults to env or '/api/retrivora'. */
556
569
  retrivoraApiBase?: string;
570
+ /** Custom headers that may contain `x-license-key` or `Authorization: Bearer`. */
557
571
  headers?: Record<string, string>;
558
572
  }
573
+ /**
574
+ * Response contract returned from `LicenseValidator.validate()`.
575
+ *
576
+ * Status enumerations are ordered — anything other than ACTIVE means the
577
+ * widget/chat must be disabled and must not pass server-side handler checks.
578
+ */
559
579
  interface LicenseValidationResponse {
580
+ /** True only when `licenseStatus` is ACTIVE and SDK version is supported. */
560
581
  valid: boolean;
582
+ /** Lifecycle state of the license record. TERMINATED/SUSPENDED/EXPIRED/REVOKED must block chat. */
561
583
  licenseStatus: 'ACTIVE' | 'SUSPENDED' | 'TERMINATED' | 'EXPIRED' | 'REVOKED';
584
+ /** Minimum SDK version that the server will accept (semver-compare). */
562
585
  minimumSupportedVersion: string;
586
+ /** Latest generally-available SDK version (for upgrade prompts). */
563
587
  latestVersion: string;
588
+ /** True when the SDK version is older than minimumSupportedVersion — UI must force upgrade. */
564
589
  forceUpgrade: boolean;
590
+ /** RFC3339 expiration timestamp or null for perpetual licenses. */
565
591
  expiresAt: string | null;
592
+ /** Human-readable status/reason string, suitable for tooltips/toasts. */
566
593
  message: string;
567
594
  }
595
+ /**
596
+ * Client-side orchestrator for license validation.
597
+ *
598
+ * Flow:
599
+ * 1. Resolve the license key (prop → header → env)
600
+ * 2. Return any fresh (< 5 min old) successful cached result
601
+ * 3. POST to `{retrivoraApiBase}/v1/license/validate` for server-side DB-backed status
602
+ * 4. On network or HTTP error, fall back to zero-latency local RSA signature
603
+ * verification via `LicenseVerifier.verify()`.
604
+ *
605
+ * Caching policy:
606
+ * - ONLY successful (valid + ACTIVE + !forceUpgrade) responses are cached
607
+ * - Any failed validation immediately purges the cache entry
608
+ * - TTL is 5 minutes for success cache to allow TERMINATED/REVOKED status
609
+ * changes on the server to propagate quickly.
610
+ *
611
+ * Thread safety: Singleton pattern via `getInstance()`. Used by ChatWidget,
612
+ * useRagChat hook, and the server-side `createLicenseHandler` indirectly through
613
+ * its own `LicenseVerifier.verify()` path.
614
+ */
568
615
  declare class LicenseValidator {
569
616
  private static instance;
570
617
  private cache;
571
618
  private static readonly SUCCESS_CACHE_TTL_MS;
572
619
  private constructor();
620
+ /** @returns Singleton instance of the validator (shared cache across all consumers). */
573
621
  static getInstance(): LicenseValidator;
574
622
  /**
575
- * Invalidate local validation cache for a license key
623
+ * Purge entries from the local success cache.
624
+ *
625
+ * @param licenseKey - Optional. If provided, only that key's cache entry is
626
+ * removed. If omitted the entire cache is cleared.
627
+ * Callers use this after any 401/403 to ensure the next
628
+ * validate() call re-validates against the server.
576
629
  */
577
630
  purgeCache(licenseKey?: string): void;
578
631
  /**
579
- * Validate license status and SDK version against Retrivora License Service
632
+ * Primary validation entry-point for UI / hook consumers.
633
+ *
634
+ * Resolves the license key, consults the local success cache, performs a
635
+ * server POST for authoritative status, and falls back to local RSA
636
+ * signature verification if the server can't be reached.
637
+ *
638
+ * @throws LicenseValidationError - When no key is provided OR both the
639
+ * server call AND the local-RSA fallback report an invalid/expired key.
640
+ * @throws SDKVersionUnsupportedError - When server reports forceUpgrade=true.
641
+ * @returns A `LicenseValidationResponse` that the UI can use to enable or
642
+ * lock the chat widget.
580
643
  */
581
644
  validate(request: LicenseValidationRequest): Promise<LicenseValidationResponse>;
582
645
  }
583
646
 
584
- export { AuthenticationException as A, decideVisualization as B, type ChatWidgetProps as C, type DocumentUploadProps as D, EmbeddingFailedException as E, type ArchitectureCardProps as F, CarouselRendererStrategy as G, ChartRendererStrategy as H, type IRenderRule as I, type ChatViewportSize as J, DocumentChunker as K, LicenseValidationError as L, type MessageBubbleProps as M, MixedRendererStrategy as N, Pipeline as O, type ProductCardProps as P, type PipelineStep as Q, RateLimitException as R, type SourceCardProps as S, type ProviderPill as T, type RenderSectionDecision as U, VisualizationDecisionEngine as V, type Snippet as W, TableRendererStrategy as X, TextRendererStrategy as Y, wrapError as Z, type ChatWindowProps as a, type ConfigProviderProps as b, type ClientConfig as c, type ProductCarouselProps as d, type ChartType as e, type Chunk as f, type ChunkOptions as g, ConfigurationException as h, type DecisionContext as i, type IRendererStrategy as j, type IntentCategory as k, IntentClassifier as l, type LicenseValidationRequest as m, type LicenseValidationResponse as n, LicenseValidator as o, ProviderNotFoundException as p, type RenderDecision as q, type RenderType as r, RendererRegistry as s, RetrievalException as t, Retrivora as u, RetrivoraError as v, type RetrivoraErrorCode as w, RuleEngine as x, SDKVersionUnsupportedError as y, SDK_VERSION as z };
647
+ /**
648
+ * BatchProcessor.ts — Handles batch operations with retry logic.
649
+ *
650
+ * Provides exponential backoff, partial failure tracking, and
651
+ * configurable batch sizing for efficient bulk operations.
652
+ */
653
+ interface BatchOptions {
654
+ /** Maximum number of items per batch */
655
+ batchSize?: number;
656
+ /** Maximum number of retries for transient failures */
657
+ maxRetries?: number;
658
+ /** Initial delay before retry in milliseconds */
659
+ initialDelayMs?: number;
660
+ /** Maximum delay between retries in milliseconds */
661
+ maxDelayMs?: number;
662
+ /** Multiplier for exponential backoff */
663
+ backoffMultiplier?: number;
664
+ /** Whether to throw on any partial failure */
665
+ throwOnPartialFailure?: boolean;
666
+ }
667
+ interface BatchResult<T> {
668
+ results: T[];
669
+ errors: Array<{
670
+ index: number;
671
+ error: Error;
672
+ itemCount?: number;
673
+ }>;
674
+ totalProcessed: number;
675
+ totalFailed: number;
676
+ }
677
+ /**
678
+ * Determines if an error is transient (should retry)
679
+ */
680
+ declare function isTransientError(error: unknown): boolean;
681
+ declare class BatchProcessor {
682
+ private static readonly cb;
683
+ /**
684
+ * Execute a processor call through the circuit breaker.
685
+ * Only transient failures count toward opening the circuit.
686
+ */
687
+ private static executeWithCircuitBreaker;
688
+ /**
689
+ * Processes an array of items in configurable batches with retry logic.
690
+ *
691
+ * @param items - Items to process
692
+ * @param processor - Async function that processes a batch of items
693
+ * @param options - Configuration for batch size, retries, etc.
694
+ * @returns Object with results, errors, and statistics
695
+ *
696
+ * @example
697
+ * const docs = [...];
698
+ * const result = await BatchProcessor.processBatch(
699
+ * docs,
700
+ * (batch) => vectorDB.batchUpsert(batch),
701
+ * { batchSize: 100, maxRetries: 3 }
702
+ * );
703
+ */
704
+ static processBatch<T, R>(items: T[], processor: (batch: T[]) => Promise<R>, options?: BatchOptions): Promise<BatchResult<R>>;
705
+ /**
706
+ * Processes items sequentially (one at a time) with retry logic.
707
+ * Useful for operations that don't support batching or when granular
708
+ * error tracking is needed.
709
+ */
710
+ static processSequential<T, R>(items: T[], processor: (item: T) => Promise<R>, options?: BatchOptions): Promise<BatchResult<R>>;
711
+ /**
712
+ * Maps over items with retry logic, returning results in order.
713
+ * Like Array.map() but with async processing and automatic retries.
714
+ */
715
+ static mapWithRetry<T, R>(items: T[], mapper: (item: T) => Promise<R>, options?: BatchOptions): Promise<R[]>;
716
+ /**
717
+ * Parallel processor with concurrency limit.
718
+ * Processes up to `concurrency` items at the same time.
719
+ */
720
+ static processConcurrent<T, R>(items: T[], processor: (item: T) => Promise<R>, concurrency?: number, options?: BatchOptions): Promise<BatchResult<R>>;
721
+ }
722
+
723
+ export { TableRendererStrategy as $, AuthenticationException as A, type BatchOptions as B, type ChatWidgetProps as C, type DocumentUploadProps as D, EmbeddingFailedException as E, SDKVersionUnsupportedError as F, SDK_VERSION as G, decideVisualization as H, type IRenderRule as I, isTransientError as J, type ArchitectureCardProps as K, LicenseValidationError as L, type MessageBubbleProps as M, CarouselRendererStrategy as N, ChartRendererStrategy as O, type ProductCardProps as P, type ChatViewportSize as Q, RateLimitException as R, type SourceCardProps as S, DocumentChunker as T, MixedRendererStrategy as U, VisualizationDecisionEngine as V, Pipeline as W, type PipelineStep as X, type ProviderPill as Y, type RenderSectionDecision as Z, type Snippet as _, type ChatWindowProps as a, TextRendererStrategy as a0, wrapError as a1, type ConfigProviderProps as b, type ClientConfig as c, type ProductCarouselProps as d, BatchProcessor as e, type BatchResult as f, type ChartType as g, type Chunk as h, type ChunkOptions as i, ConfigurationException as j, type DecisionContext as k, type IRendererStrategy as l, type IntentCategory as m, IntentClassifier as n, type LicenseValidationRequest as o, type LicenseValidationResponse as p, LicenseValidator as q, ProviderNotFoundException as r, type RenderDecision as s, type RenderType as t, RendererRegistry as u, RetrievalException as v, Retrivora as w, RetrivoraError as x, type RetrivoraErrorCode as y, RuleEngine as z };
@@ -1,3 +1,3 @@
1
1
  import 'next/server';
2
- export { o as HandlerOptions, c as createChatHandler, d as createFeedbackHandler, e as createHealthHandler, f as createHistoryHandler, g as createIngestHandler, p as createLicenseHandler, h as createRagHandler, i as createSessionsHandler, j as createStreamHandler, q as createSuggestionsHandler, k as createUploadHandler, s as sseErrorFrame, l as sseFrame, m as sseMetaFrame, r as sseObservabilityFrame, n as sseTextFrame, t as sseUIFrame } from '../index-Dmq5lH0j.mjs';
2
+ export { b as HandlerOptions, d as createChatHandler, e as createFeedbackHandler, f as createHealthHandler, g as createHistoryHandler, h as createIngestHandler, p as createLicenseHandler, i as createRagHandler, j as createSessionsHandler, k as createStreamHandler, q as createSuggestionsHandler, l as createUploadHandler, s as sseErrorFrame, m as sseFrame, n as sseMetaFrame, r as sseObservabilityFrame, o as sseTextFrame, t as sseUIFrame } from '../index-fnpaCuma.mjs';
3
3
  import '../ILLMProvider-teTNQ1lh.mjs';
@@ -1,3 +1,3 @@
1
1
  import 'next/server';
2
- export { o as HandlerOptions, c as createChatHandler, d as createFeedbackHandler, e as createHealthHandler, f as createHistoryHandler, g as createIngestHandler, p as createLicenseHandler, h as createRagHandler, i as createSessionsHandler, j as createStreamHandler, q as createSuggestionsHandler, k as createUploadHandler, s as sseErrorFrame, l as sseFrame, m as sseMetaFrame, r as sseObservabilityFrame, n as sseTextFrame, t as sseUIFrame } from '../index-BPJ3KDYI.js';
2
+ export { b as HandlerOptions, d as createChatHandler, e as createFeedbackHandler, f as createHealthHandler, g as createHistoryHandler, h as createIngestHandler, p as createLicenseHandler, i as createRagHandler, j as createSessionsHandler, k as createStreamHandler, q as createSuggestionsHandler, l as createUploadHandler, s as sseErrorFrame, m as sseFrame, n as sseMetaFrame, r as sseObservabilityFrame, o as sseTextFrame, t as sseUIFrame } from '../index-DR_O_B-W.js';
3
3
  import '../ILLMProvider-teTNQ1lh.js';