✨ feat(pricing+endpoints+ui): wire custom endpoint mapping end‑to‑end and overhaul visual JSON editor Backend (Go) - Include custom endpoints in each model’s SupportedEndpointTypes by parsing Model.Endpoints (JSON) and appending keys alongside native endpoint types. - Build a global supportedEndpointMap map[string]EndpointInfo{path, method} by: - Seeding with native defaults. - Overriding/adding from models.endpoints (accepts string path → default POST, or {path, method}). - Expose supported_endpoint at the top level of /api/pricing (vendors-like), removing per-model duplication. - Fix default path for EndpointTypeOpenAIResponse to /v1/responses. - Keep concurrency/caching for pricing retrieval intact. Frontend (React) - Fetch supported_endpoint in useModelPricingData and propagate to PricingPage → ModelDetailSideSheet → ModelEndpoints. - ModelEndpoints - Resolve path+method via endpointMap; replace {model} with actual model name. - Fix mobile visibility; always show path and HTTP method. - JSONEditor - Wrap with Form.Slot to inherit form layout; simplify visual styles. - Use Tabs for “Visual” / “Manual” modes. - Unify editors: key-value editor now supports nested JSON: - “+” to convert a primitive into an object and add nested fields. - Add “Convert to value” for two‑way toggle back from object. - Stable key rename without reordering rows; new rows append at bottom. - Use Row/Col grid for clean alignment; region editor uses Form.Slot + grid. - Editing flows - EditModelModal / EditPrefillGroupModal use JSONEditor (editorType='object') for endpoint mappings. - PrefillGroupManagement renders endpoint group items by JSON keys. Data expectations / compatibility - models.endpoints should be a JSON object mapping endpoint type → string path or {path, method}. Strings default to POST. - No schema changes; existing TEXT field continues to store JSON. QA - /api/pricing now returns custom endpoint types and global supported_endpoint. - UI shows both native and custom endpoints; paths/methods render on mobile; nested editing works and preserves order.
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| limiter | Loading commit data... | |
| api_type.go | Loading commit data... | |
| constants.go | Loading commit data... | |
| crypto.go | Loading commit data... | |
| custom-event.go | Loading commit data... | |
| database.go | Loading commit data... | |
| email-outlook-auth.go | Loading commit data... | |
| email.go | Loading commit data... | |
| embed-file-system.go | Loading commit data... | |
| endpoint_defaults.go | Loading commit data... | |
| endpoint_type.go | Loading commit data... | |
| env.go | Loading commit data... | |
| gin.go | Loading commit data... | |
| go-channel.go | Loading commit data... | |
| gopool.go | Loading commit data... | |
| hash.go | Loading commit data... | |
| http.go | Loading commit data... | |
| init.go | Loading commit data... | |
| json.go | Loading commit data... | |
| logger.go | Loading commit data... | |
| model.go | Loading commit data... | |
| page_info.go | Loading commit data... | |
| pprof.go | Loading commit data... | |
| rate-limit.go | Loading commit data... | |
| redis.go | Loading commit data... | |
| str.go | Loading commit data... | |
| topup-ratio.go | Loading commit data... | |
| totp.go | Loading commit data... | |
| utils.go | Loading commit data... | |
| validate.go | Loading commit data... | |
| verification.go | Loading commit data... |