AI网关新增TTS/重排/审核端点,xAI工具扩展,swagger修缺
- 新端点 /ai/v1/audio/speech(xai.grok-tts)、/rerank(cohere.rerank-v4)、/moderations(OCI Guardrails) - Responses 放行 code_interpreter 与远程 mcp 工具,web_search/x_search 解除仅非流式限制 - 模型能力映射扩展:TEXT_RERANK→RERANK、TEXT_TO_AUDIO→TTS - AI 网关文档独立 docs/ai-gateway.md,字段兼容矩阵只列支持项;README 精简引用 - swagger 修缺:135 处响应注解具体化,RawMessage/联合类型统一渲染 AnyJSON,overrides 迁至 docs/.swaggo - CHANGELOG 0.4.0,版本段不再记日期;DASH_VERSION v0.4.0
This commit is contained in:
@@ -0,0 +1,176 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"time"
|
||||
|
||||
"oci-portal/internal/model"
|
||||
"oci-portal/internal/oci"
|
||||
"oci-portal/internal/service"
|
||||
)
|
||||
|
||||
// 本文件的类型仅供 swagger 文档渲染(@Success/@Failure 注解引用),
|
||||
// 运行时代码不使用;字段与各 handler 返回的 gin.H 外壳保持一致。
|
||||
|
||||
// errorResponse 是统一错误响应外壳。
|
||||
type errorResponse struct {
|
||||
Error string `json:"error"`
|
||||
}
|
||||
|
||||
// itemsResponse 是 {"items": [...]} 列表外壳。
|
||||
type itemsResponse[T any] struct {
|
||||
Items []T `json:"items"`
|
||||
}
|
||||
|
||||
// pagedResponse 是 {"items": [...], "total": n} 分页外壳。
|
||||
type pagedResponse[T any] struct {
|
||||
Items []T `json:"items"`
|
||||
Total int64 `json:"total"`
|
||||
}
|
||||
|
||||
// itemResponse 是 {"item": {...}} 单项外壳。
|
||||
type itemResponse[T any] struct {
|
||||
Item T `json:"item"`
|
||||
}
|
||||
|
||||
// triggerResponse 是任务触发受理响应。
|
||||
type triggerResponse struct {
|
||||
Triggered bool `json:"triggered"`
|
||||
}
|
||||
|
||||
// tokenResponse 是登录 / 换发令牌响应。
|
||||
type tokenResponse struct {
|
||||
Token string `json:"token"`
|
||||
ExpiresAt time.Time `json:"expiresAt"`
|
||||
}
|
||||
|
||||
// totpRequiredResponse 是密码通过但需两步验证码的 428 响应。
|
||||
type totpRequiredResponse struct {
|
||||
Error string `json:"error"`
|
||||
TotpRequired bool `json:"totpRequired"`
|
||||
}
|
||||
|
||||
// enabledResponse 是布尔开关查询响应。
|
||||
type enabledResponse struct {
|
||||
Enabled bool `json:"enabled"`
|
||||
}
|
||||
|
||||
// totpSetupResponse 是 TOTP 初始化响应。
|
||||
type totpSetupResponse struct {
|
||||
Secret string `json:"secret"`
|
||||
OtpauthUri string `json:"otpauthUri"`
|
||||
}
|
||||
|
||||
// credentialsResponse 是当前登录账号信息。
|
||||
type credentialsResponse struct {
|
||||
Username string `json:"username"`
|
||||
PasswordLoginDisabled bool `json:"passwordLoginDisabled"`
|
||||
}
|
||||
|
||||
// oauthProvidersResponse 是外部登录 provider 列表。
|
||||
type oauthProvidersResponse struct {
|
||||
Providers []service.ProviderInfo `json:"providers"`
|
||||
PasswordLoginDisabled bool `json:"passwordLoginDisabled"`
|
||||
}
|
||||
|
||||
// urlResponse 是跳转地址响应。
|
||||
type urlResponse struct {
|
||||
URL string `json:"url"`
|
||||
}
|
||||
|
||||
// aboutResponse 是「设置 · 关于」页构建与运行信息。
|
||||
type aboutResponse struct {
|
||||
Version string `json:"version"`
|
||||
BuildTime string `json:"buildTime"`
|
||||
GoVersion string `json:"goVersion"`
|
||||
Platform string `json:"platform"`
|
||||
StartedAt string `json:"startedAt"`
|
||||
UptimeSeconds int64 `json:"uptimeSeconds"`
|
||||
Resources aboutResources `json:"resources"`
|
||||
}
|
||||
|
||||
// aboutResources 是进程资源占用快照。
|
||||
type aboutResources struct {
|
||||
CpuAvgPercent float64 `json:"cpuAvgPercent"`
|
||||
NumCpu int `json:"numCpu"`
|
||||
Goroutines int `json:"goroutines"`
|
||||
MemHeapBytes uint64 `json:"memHeapBytes"`
|
||||
MemSysBytes uint64 `json:"memSysBytes"`
|
||||
DbEngine string `json:"dbEngine"`
|
||||
DbBytes int64 `json:"dbBytes"`
|
||||
}
|
||||
|
||||
// publicIpResponse 是换绑公网 IP 结果。
|
||||
type publicIpResponse struct {
|
||||
PublicIp string `json:"publicIp"`
|
||||
}
|
||||
|
||||
// ipv6AddressResponse 是实例新增 IPv6 结果。
|
||||
type ipv6AddressResponse struct {
|
||||
Ipv6Address string `json:"ipv6Address"`
|
||||
}
|
||||
|
||||
// addressResponse 是 VNIC 新增 IPv6 结果。
|
||||
type addressResponse struct {
|
||||
Address string `json:"address"`
|
||||
}
|
||||
|
||||
// ipv6StepsResponse 是 VCN 开启 IPv6 的分步结果。
|
||||
type ipv6StepsResponse struct {
|
||||
Steps []oci.IPv6Step `json:"steps"`
|
||||
}
|
||||
|
||||
// configChangesResponse 是租户配置校验 / 更新结果(config 与字段变更对照)。
|
||||
type configChangesResponse struct {
|
||||
Config *model.OciConfig `json:"config"`
|
||||
Changes service.Changes `json:"changes"`
|
||||
}
|
||||
|
||||
// aiKeyCreateResponse 是 AI 密钥创建结果;key 为明文,仅本次返回。
|
||||
type aiKeyCreateResponse struct {
|
||||
Key string `json:"key"`
|
||||
Item model.AiKey `json:"item"`
|
||||
}
|
||||
|
||||
// usedByResponse 是代理关联租户结果(关联数)。
|
||||
type usedByResponse struct {
|
||||
UsedBy int64 `json:"usedBy"`
|
||||
}
|
||||
|
||||
// rawDetailResponse 是审计事件原文响应。
|
||||
type rawDetailResponse struct {
|
||||
Raw json.RawMessage `json:"raw"`
|
||||
}
|
||||
|
||||
// passwordResponse 是租户用户重置密码结果(一次性明文)。
|
||||
type passwordResponse struct {
|
||||
Password string `json:"password"`
|
||||
}
|
||||
|
||||
// deletedTotpResponse 是清除 MFA 设备结果。
|
||||
type deletedTotpResponse struct {
|
||||
DeletedTotpDevices int `json:"deletedTotpDevices"`
|
||||
}
|
||||
|
||||
// deletedApiKeysResponse 是清理用户 API Key 结果。
|
||||
type deletedApiKeysResponse struct {
|
||||
DeletedApiKeys int `json:"deletedApiKeys"`
|
||||
}
|
||||
|
||||
// createInstancesResponse 是批量创建实例结果;部分成功仍 201,errors 为逐台失败信息。
|
||||
type createInstancesResponse struct {
|
||||
Instances []oci.Instance `json:"instances"`
|
||||
Errors []string `json:"errors"`
|
||||
}
|
||||
|
||||
// logWebhookStatusResponse 是日志回传 webhook 状态。
|
||||
type logWebhookStatusResponse struct {
|
||||
Exists bool `json:"exists"`
|
||||
Webhook *service.LogWebhookInfo `json:"webhook,omitempty"`
|
||||
}
|
||||
|
||||
// webConsoleSessionResponse 是网页控制台会话创建结果。
|
||||
type webConsoleSessionResponse struct {
|
||||
SessionId string `json:"sessionId"`
|
||||
Type string `json:"type"`
|
||||
}
|
||||
Reference in New Issue
Block a user