@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 +55 -41
- package/dist/index.d.ts +55 -41
- package/dist/index.js +387 -511
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +387 -511
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -2
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
|
-
|
|
843
|
+
/**
|
|
844
|
+
* Format messages for API request
|
|
845
|
+
* Handles system prompts and conversation history
|
|
846
|
+
*/
|
|
844
847
|
protected formatMessages(request: GenerateTextRequest): Message[];
|
|
845
|
-
|
|
846
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
*
|
|
926
|
+
* Make HTTP request with proper error handling
|
|
905
927
|
*/
|
|
906
|
-
|
|
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
|
|
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
|
|
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: '
|
|
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
|
|
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
|
-
|
|
843
|
+
/**
|
|
844
|
+
* Format messages for API request
|
|
845
|
+
* Handles system prompts and conversation history
|
|
846
|
+
*/
|
|
844
847
|
protected formatMessages(request: GenerateTextRequest): Message[];
|
|
845
|
-
|
|
846
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
*
|
|
926
|
+
* Make HTTP request with proper error handling
|
|
905
927
|
*/
|
|
906
|
-
|
|
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
|
|
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
|
|
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: '
|
|
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
|
|
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
|
/**
|