chore: import Local-Cursor v1.1.8 source snapshot

Includes the current working directory changes. Historical commits and release binaries are excluded to limit Gitea storage.
Source base: d7515973fbfd6dd2001fa156c483455b8081c7cb
This commit is contained in:
FuDie0915
2026-11-10 01:24:28 +08:00
commit db73cf5a39
337 changed files with 147502 additions and 0 deletions

View File

@@ -0,0 +1,121 @@
package modeladapter
import (
"encoding/json"
"fmt"
"net/http"
"strings"
)
func cloneRequestBodyOverride(input map[string]any) map[string]any {
if len(input) == 0 {
return nil
}
payload, err := json.Marshal(input)
if err != nil {
return nil
}
var cloned map[string]any
if err := json.Unmarshal(payload, &cloned); err != nil {
return nil
}
return cloned
}
func requestBodyToMap(input any) (map[string]any, error) {
if body, ok := input.(map[string]any); ok {
return body, nil
}
payload, err := json.Marshal(input)
if err != nil {
return nil, err
}
var body map[string]any
if err := json.Unmarshal(payload, &body); err != nil {
return nil, err
}
if body == nil {
body = map[string]any{}
}
return body, nil
}
func ApplyOpenAIExtraParams(body map[string]any, enabled bool, paramsJSON string) error {
return applyExtraParams(body, enabled, paramsJSON, "openai extra params json")
}
func ApplyAnthropicExtraParams(body map[string]any, enabled bool, paramsJSON string) error {
return applyExtraParams(body, enabled, paramsJSON, "anthropic extra params json")
}
func applyExtraParams(body map[string]any, enabled bool, paramsJSON string, label string) error {
if !enabled {
return nil
}
if body == nil {
return fmt.Errorf("%s target body is nil", label)
}
extraParams, err := parseJSONMap(paramsJSON, label)
if err != nil {
return err
}
for key, value := range extraParams {
name := strings.TrimSpace(key)
if name == "" {
continue
}
body[name] = value
}
return nil
}
func ApplyCustomHeaders(httpReq *http.Request, enabled bool, headersJSON string) error {
if !enabled {
return nil
}
if httpReq == nil {
return fmt.Errorf("custom headers target request is nil")
}
headers, err := parseStringJSONMap(headersJSON, "custom headers json")
if err != nil {
return err
}
for key, value := range headers {
name := strings.TrimSpace(key)
if name == "" {
continue
}
httpReq.Header.Set(name, value)
}
return nil
}
func parseJSONMap(value string, label string) (map[string]any, error) {
text := strings.TrimSpace(value)
if text == "" {
return nil, fmt.Errorf("%s is empty", label)
}
var parsed map[string]any
if err := json.Unmarshal([]byte(text), &parsed); err != nil {
return nil, fmt.Errorf("%s must be an object: %w", label, err)
}
if parsed == nil {
return nil, fmt.Errorf("%s must be an object", label)
}
return parsed, nil
}
func parseStringJSONMap(value string, label string) (map[string]string, error) {
text := strings.TrimSpace(value)
if text == "" {
return nil, fmt.Errorf("%s is empty", label)
}
var parsed map[string]string
if err := json.Unmarshal([]byte(text), &parsed); err != nil {
return nil, fmt.Errorf("%s must be an object with string values: %w", label, err)
}
if parsed == nil {
return nil, fmt.Errorf("%s must be an object", label)
}
return parsed, nil
}