@flare-ai-sdk/server 1.0.0 → 1.0.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.
package/dist/index.d.mts CHANGED
@@ -840,10 +840,15 @@ interface AIProviderInterface {
840
840
  declare abstract class BaseProvider implements AIProviderInterface {
841
841
  protected config: ModelConfig;
842
842
  constructor(config: ModelConfig);
843
- protected makeRequest(url: string, options: RequestInit, stream?: boolean): Promise<Response>;
843
+ /**
844
+ * Format messages for API request
845
+ * Handles system prompts and conversation history
846
+ */
844
847
  protected formatMessages(request: GenerateTextRequest): Message[];
845
- protected getEndpoint(path: string): string;
846
- protected abstract getDefaultBaseUrl(): string;
848
+ /**
849
+ * Validate configuration
850
+ */
851
+ protected validateConfig(): void;
847
852
  abstract generateText(request: GenerateTextRequest): Promise<GenerateTextResponse>;
848
853
  abstract streamText(request: GenerateTextRequest): AsyncIterable<any>;
849
854
  abstract generateObject<T>(request: GenerateObjectRequest<T>): Promise<GenerateObjectResponse<T>>;
@@ -856,10 +861,11 @@ declare abstract class BaseProvider implements AIProviderInterface {
856
861
  declare function createProvider(config: ModelConfig): AIProviderInterface;
857
862
 
858
863
  /**
859
- * Anthropic provider implementation
864
+ * Anthropic provider implementation using official SDK
860
865
  */
861
866
  declare class AnthropicProvider extends BaseProvider {
862
- protected getDefaultBaseUrl(): string;
867
+ private client;
868
+ constructor(config: any);
863
869
  generateText(request: GenerateTextRequest): Promise<GenerateTextResponse>;
864
870
  streamText(request: GenerateTextRequest): AsyncIterable<any>;
865
871
  generateObject<T>(request: GenerateObjectRequest<T>): Promise<GenerateObjectResponse<T>>;
@@ -867,10 +873,11 @@ declare class AnthropicProvider extends BaseProvider {
867
873
  }
868
874
 
869
875
  /**
870
- * OpenAI provider implementation
876
+ * OpenAI provider implementation using official SDK
871
877
  */
872
878
  declare class OpenAIProvider extends BaseProvider {
873
- protected getDefaultBaseUrl(): string;
879
+ private client;
880
+ constructor(config: any);
874
881
  generateText(request: GenerateTextRequest): Promise<GenerateTextResponse>;
875
882
  streamText(request: GenerateTextRequest): AsyncIterable<any>;
876
883
  generateObject<T>(request: GenerateObjectRequest<T>): Promise<GenerateObjectResponse<T>>;
@@ -879,7 +886,7 @@ declare class OpenAIProvider extends BaseProvider {
879
886
 
880
887
  /**
881
888
  * Google AI (Gemini) provider implementation
882
- * Supports Google's Gemini models via their API
889
+ * Supports Google's Gemini models via their official SDK
883
890
  *
884
891
  * @example
885
892
  * ```typescript
@@ -891,7 +898,9 @@ declare class OpenAIProvider extends BaseProvider {
891
898
  * ```
892
899
  */
893
900
  declare class GoogleProvider extends BaseProvider {
894
- protected getDefaultBaseUrl(): string;
901
+ private genAI;
902
+ private model;
903
+ constructor(config: any);
895
904
  /**
896
905
  * Format messages for Google's API format
897
906
  */
@@ -900,10 +909,39 @@ declare class GoogleProvider extends BaseProvider {
900
909
  streamText(request: GenerateTextRequest): AsyncIterable<any>;
901
910
  generateObject<T>(request: GenerateObjectRequest<T>): Promise<GenerateObjectResponse<T>>;
902
911
  streamObject<T>(request: GenerateObjectRequest<T>): AsyncIterable<any>;
912
+ private mapGoogleFinishReason;
913
+ }
914
+
915
+ /**
916
+ * Base provider for custom/URL-based implementations
917
+ * @module providers/custom
918
+ */
919
+
920
+ /**
921
+ * Base provider class for custom URL-based providers
922
+ * Use this for providers without official SDKs (Sarvam, Custom, etc.)
923
+ */
924
+ declare abstract class CustomBaseProvider extends BaseProvider {
903
925
  /**
904
- * Map Google's finish reason to standard format
926
+ * Make HTTP request with proper error handling
905
927
  */
906
- private mapGoogleFinishReason;
928
+ protected makeRequest(url: string, options: RequestInit, stream?: boolean): Promise<Response>;
929
+ /**
930
+ * Get API endpoint URL
931
+ */
932
+ protected getEndpoint(path: string): string;
933
+ /**
934
+ * Get default base URL for provider
935
+ */
936
+ protected abstract getDefaultBaseUrl(): string;
937
+ /**
938
+ * Parse streaming SSE response
939
+ */
940
+ protected parseSSEStream(response: Response): AsyncIterable<any>;
941
+ /**
942
+ * Build request body with common parameters
943
+ */
944
+ protected buildRequestBody(request: GenerateTextRequest, stream?: boolean): any;
907
945
  }
908
946
 
909
947
  /**
@@ -919,58 +957,34 @@ declare class GoogleProvider extends BaseProvider {
919
957
  * });
920
958
  * ```
921
959
  */
922
- declare class SarvamProvider extends BaseProvider {
960
+ declare class SarvamProvider extends CustomBaseProvider {
923
961
  protected getDefaultBaseUrl(): string;
924
962
  generateText(request: GenerateTextRequest): Promise<GenerateTextResponse>;
925
963
  streamText(request: GenerateTextRequest): AsyncIterable<any>;
926
964
  generateObject<T>(request: GenerateObjectRequest<T>): Promise<GenerateObjectResponse<T>>;
927
965
  streamObject<T>(request: GenerateObjectRequest<T>): AsyncIterable<any>;
928
- /**
929
- * Map Sarvam's finish reason to standard format
930
- */
931
- private mapSarvamFinishReason;
966
+ private mapFinishReason;
932
967
  }
933
968
 
934
969
  /**
935
- * Custom provider implementation
936
- * Allows integration with any OpenAI-compatible API
970
+ * Custom provider for any OpenAI-compatible API
937
971
  *
938
972
  * @example
939
973
  * ```typescript
940
974
  * const provider = new CustomProvider({
941
975
  * provider: 'custom',
942
- * model: 'llama-3-70b',
943
- * baseUrl: 'https://your-api.com/v1',
976
+ * model: 'your-model',
944
977
  * apiKey: process.env.CUSTOM_API_KEY,
978
+ * baseUrl: 'https://your-api.com/v1',
945
979
  * });
946
980
  * ```
947
981
  */
948
- declare class CustomProvider extends BaseProvider {
982
+ declare class CustomProvider extends CustomBaseProvider {
949
983
  protected getDefaultBaseUrl(): string;
950
- /**
951
- * Request format for custom provider
952
- */
953
- private requestFormat;
954
- /**
955
- * Set request format for custom provider
956
- */
957
- setRequestFormat(format: 'openai' | 'anthropic' | 'custom'): void;
958
984
  generateText(request: GenerateTextRequest): Promise<GenerateTextResponse>;
959
985
  streamText(request: GenerateTextRequest): AsyncIterable<any>;
960
986
  generateObject<T>(request: GenerateObjectRequest<T>): Promise<GenerateObjectResponse<T>>;
961
987
  streamObject<T>(request: GenerateObjectRequest<T>): AsyncIterable<any>;
962
- /**
963
- * Format request body based on provider format
964
- */
965
- private formatRequestBody;
966
- /**
967
- * Parse text response based on provider format
968
- */
969
- private parseTextResponse;
970
- /**
971
- * Parse streaming response
972
- */
973
- private parseStreamResponse;
974
988
  }
975
989
 
976
990
  /**
package/dist/index.d.ts CHANGED
@@ -840,10 +840,15 @@ interface AIProviderInterface {
840
840
  declare abstract class BaseProvider implements AIProviderInterface {
841
841
  protected config: ModelConfig;
842
842
  constructor(config: ModelConfig);
843
- protected makeRequest(url: string, options: RequestInit, stream?: boolean): Promise<Response>;
843
+ /**
844
+ * Format messages for API request
845
+ * Handles system prompts and conversation history
846
+ */
844
847
  protected formatMessages(request: GenerateTextRequest): Message[];
845
- protected getEndpoint(path: string): string;
846
- protected abstract getDefaultBaseUrl(): string;
848
+ /**
849
+ * Validate configuration
850
+ */
851
+ protected validateConfig(): void;
847
852
  abstract generateText(request: GenerateTextRequest): Promise<GenerateTextResponse>;
848
853
  abstract streamText(request: GenerateTextRequest): AsyncIterable<any>;
849
854
  abstract generateObject<T>(request: GenerateObjectRequest<T>): Promise<GenerateObjectResponse<T>>;
@@ -856,10 +861,11 @@ declare abstract class BaseProvider implements AIProviderInterface {
856
861
  declare function createProvider(config: ModelConfig): AIProviderInterface;
857
862
 
858
863
  /**
859
- * Anthropic provider implementation
864
+ * Anthropic provider implementation using official SDK
860
865
  */
861
866
  declare class AnthropicProvider extends BaseProvider {
862
- protected getDefaultBaseUrl(): string;
867
+ private client;
868
+ constructor(config: any);
863
869
  generateText(request: GenerateTextRequest): Promise<GenerateTextResponse>;
864
870
  streamText(request: GenerateTextRequest): AsyncIterable<any>;
865
871
  generateObject<T>(request: GenerateObjectRequest<T>): Promise<GenerateObjectResponse<T>>;
@@ -867,10 +873,11 @@ declare class AnthropicProvider extends BaseProvider {
867
873
  }
868
874
 
869
875
  /**
870
- * OpenAI provider implementation
876
+ * OpenAI provider implementation using official SDK
871
877
  */
872
878
  declare class OpenAIProvider extends BaseProvider {
873
- protected getDefaultBaseUrl(): string;
879
+ private client;
880
+ constructor(config: any);
874
881
  generateText(request: GenerateTextRequest): Promise<GenerateTextResponse>;
875
882
  streamText(request: GenerateTextRequest): AsyncIterable<any>;
876
883
  generateObject<T>(request: GenerateObjectRequest<T>): Promise<GenerateObjectResponse<T>>;
@@ -879,7 +886,7 @@ declare class OpenAIProvider extends BaseProvider {
879
886
 
880
887
  /**
881
888
  * Google AI (Gemini) provider implementation
882
- * Supports Google's Gemini models via their API
889
+ * Supports Google's Gemini models via their official SDK
883
890
  *
884
891
  * @example
885
892
  * ```typescript
@@ -891,7 +898,9 @@ declare class OpenAIProvider extends BaseProvider {
891
898
  * ```
892
899
  */
893
900
  declare class GoogleProvider extends BaseProvider {
894
- protected getDefaultBaseUrl(): string;
901
+ private genAI;
902
+ private model;
903
+ constructor(config: any);
895
904
  /**
896
905
  * Format messages for Google's API format
897
906
  */
@@ -900,10 +909,39 @@ declare class GoogleProvider extends BaseProvider {
900
909
  streamText(request: GenerateTextRequest): AsyncIterable<any>;
901
910
  generateObject<T>(request: GenerateObjectRequest<T>): Promise<GenerateObjectResponse<T>>;
902
911
  streamObject<T>(request: GenerateObjectRequest<T>): AsyncIterable<any>;
912
+ private mapGoogleFinishReason;
913
+ }
914
+
915
+ /**
916
+ * Base provider for custom/URL-based implementations
917
+ * @module providers/custom
918
+ */
919
+
920
+ /**
921
+ * Base provider class for custom URL-based providers
922
+ * Use this for providers without official SDKs (Sarvam, Custom, etc.)
923
+ */
924
+ declare abstract class CustomBaseProvider extends BaseProvider {
903
925
  /**
904
- * Map Google's finish reason to standard format
926
+ * Make HTTP request with proper error handling
905
927
  */
906
- private mapGoogleFinishReason;
928
+ protected makeRequest(url: string, options: RequestInit, stream?: boolean): Promise<Response>;
929
+ /**
930
+ * Get API endpoint URL
931
+ */
932
+ protected getEndpoint(path: string): string;
933
+ /**
934
+ * Get default base URL for provider
935
+ */
936
+ protected abstract getDefaultBaseUrl(): string;
937
+ /**
938
+ * Parse streaming SSE response
939
+ */
940
+ protected parseSSEStream(response: Response): AsyncIterable<any>;
941
+ /**
942
+ * Build request body with common parameters
943
+ */
944
+ protected buildRequestBody(request: GenerateTextRequest, stream?: boolean): any;
907
945
  }
908
946
 
909
947
  /**
@@ -919,58 +957,34 @@ declare class GoogleProvider extends BaseProvider {
919
957
  * });
920
958
  * ```
921
959
  */
922
- declare class SarvamProvider extends BaseProvider {
960
+ declare class SarvamProvider extends CustomBaseProvider {
923
961
  protected getDefaultBaseUrl(): string;
924
962
  generateText(request: GenerateTextRequest): Promise<GenerateTextResponse>;
925
963
  streamText(request: GenerateTextRequest): AsyncIterable<any>;
926
964
  generateObject<T>(request: GenerateObjectRequest<T>): Promise<GenerateObjectResponse<T>>;
927
965
  streamObject<T>(request: GenerateObjectRequest<T>): AsyncIterable<any>;
928
- /**
929
- * Map Sarvam's finish reason to standard format
930
- */
931
- private mapSarvamFinishReason;
966
+ private mapFinishReason;
932
967
  }
933
968
 
934
969
  /**
935
- * Custom provider implementation
936
- * Allows integration with any OpenAI-compatible API
970
+ * Custom provider for any OpenAI-compatible API
937
971
  *
938
972
  * @example
939
973
  * ```typescript
940
974
  * const provider = new CustomProvider({
941
975
  * provider: 'custom',
942
- * model: 'llama-3-70b',
943
- * baseUrl: 'https://your-api.com/v1',
976
+ * model: 'your-model',
944
977
  * apiKey: process.env.CUSTOM_API_KEY,
978
+ * baseUrl: 'https://your-api.com/v1',
945
979
  * });
946
980
  * ```
947
981
  */
948
- declare class CustomProvider extends BaseProvider {
982
+ declare class CustomProvider extends CustomBaseProvider {
949
983
  protected getDefaultBaseUrl(): string;
950
- /**
951
- * Request format for custom provider
952
- */
953
- private requestFormat;
954
- /**
955
- * Set request format for custom provider
956
- */
957
- setRequestFormat(format: 'openai' | 'anthropic' | 'custom'): void;
958
984
  generateText(request: GenerateTextRequest): Promise<GenerateTextResponse>;
959
985
  streamText(request: GenerateTextRequest): AsyncIterable<any>;
960
986
  generateObject<T>(request: GenerateObjectRequest<T>): Promise<GenerateObjectResponse<T>>;
961
987
  streamObject<T>(request: GenerateObjectRequest<T>): AsyncIterable<any>;
962
- /**
963
- * Format request body based on provider format
964
- */
965
- private formatRequestBody;
966
- /**
967
- * Parse text response based on provider format
968
- */
969
- private parseTextResponse;
970
- /**
971
- * Parse streaming response
972
- */
973
- private parseStreamResponse;
974
988
  }
975
989
 
976
990
  /**