mirror of
https://github.com/router-for-me/CLIProxyAPI.git
synced 2026-02-03 04:50:52 +08:00
v6 version first commit
This commit is contained in:
@@ -1,54 +1,12 @@
|
||||
// Package interfaces defines the core interfaces and shared structures for the CLI Proxy API server.
|
||||
// These interfaces provide a common contract for different components of the application,
|
||||
// such as AI service clients, API handlers, and data models.
|
||||
package interfaces
|
||||
|
||||
import "context"
|
||||
import sdktranslator "github.com/router-for-me/CLIProxyAPI/v6/sdk/translator"
|
||||
|
||||
// TranslateRequestFunc defines a function type for translating API requests between different formats.
|
||||
// It takes a model name, raw JSON request data, and a streaming flag, returning the translated request.
|
||||
//
|
||||
// Parameters:
|
||||
// - string: The model name
|
||||
// - []byte: The raw JSON request data
|
||||
// - bool: A flag indicating whether the request is for streaming
|
||||
//
|
||||
// Returns:
|
||||
// - []byte: The translated request data
|
||||
type TranslateRequestFunc func(string, []byte, bool) []byte
|
||||
// Backwards compatible aliases for translator function types.
|
||||
type TranslateRequestFunc = sdktranslator.RequestTransform
|
||||
|
||||
// TranslateResponseFunc defines a function type for translating streaming API responses.
|
||||
// It processes response data and returns an array of translated response strings.
|
||||
//
|
||||
// Parameters:
|
||||
// - ctx: The context for the request
|
||||
// - modelName: The model name
|
||||
// - rawJSON: The raw JSON response data
|
||||
// - param: Additional parameters for translation
|
||||
//
|
||||
// Returns:
|
||||
// - []string: An array of translated response strings
|
||||
type TranslateResponseFunc func(ctx context.Context, modelName string, originalRequestRawJSON, requestRawJSON, rawJSON []byte, param *any) []string
|
||||
type TranslateResponseFunc = sdktranslator.ResponseStreamTransform
|
||||
|
||||
// TranslateResponseNonStreamFunc defines a function type for translating non-streaming API responses.
|
||||
// It processes response data and returns a single translated response string.
|
||||
//
|
||||
// Parameters:
|
||||
// - ctx: The context for the request
|
||||
// - modelName: The model name
|
||||
// - rawJSON: The raw JSON response data
|
||||
// - param: Additional parameters for translation
|
||||
//
|
||||
// Returns:
|
||||
// - string: A single translated response string
|
||||
type TranslateResponseNonStreamFunc func(ctx context.Context, modelName string, originalRequestRawJSON, requestRawJSON, rawJSON []byte, param *any) string
|
||||
type TranslateResponseNonStreamFunc = sdktranslator.ResponseNonStreamTransform
|
||||
|
||||
// TranslateResponse contains both streaming and non-streaming response translation functions.
|
||||
// This structure allows clients to handle both types of API responses appropriately.
|
||||
type TranslateResponse struct {
|
||||
// Stream handles streaming response translation.
|
||||
Stream TranslateResponseFunc
|
||||
|
||||
// NonStream handles non-streaming response translation.
|
||||
NonStream TranslateResponseNonStreamFunc
|
||||
}
|
||||
type TranslateResponse = sdktranslator.ResponseTransform
|
||||
|
||||
Reference in New Issue
Block a user