feat: release OpsXShell 2.1.0 native Tauri edition
This commit is contained in:
1 parent
e9a0d21758
commit
a3dba0c6ed
311 files changed
+31748
-14897
No files matched your search
@@ -0,0 +1,93 @@
|
||||
export type AiProtocol = 'openai-chat' | 'openai-responses' | 'anthropic'
|
||||
|
||||
export type AiAuthStyle = 'bearer' | 'x-api-key' | 'both' | 'none'
|
||||
|
||||
export type AiBillingMode = 'payg' | 'plan' | 'local'
|
||||
|
||||
export type AiModelCapability = 'chat' | 'reasoning' | 'plan'
|
||||
|
||||
export interface AiModelConfig {
|
||||
/** Stable UI identity. Multiple routes may point at the same upstream model id. */
|
||||
id: string
|
||||
/** Exact model id sent to the provider. */
|
||||
model: string
|
||||
label: string
|
||||
capability: AiModelCapability
|
||||
billing: AiBillingMode
|
||||
/** Optional per-model route overrides for subscription/plan endpoints. */
|
||||
protocol?: AiProtocol
|
||||
baseUrl?: string
|
||||
}
|
||||
|
||||
export interface AiProviderConfig {
|
||||
id: string
|
||||
name: string
|
||||
presetId?: string
|
||||
protocol: AiProtocol
|
||||
authStyle: AiAuthStyle
|
||||
baseUrl: string
|
||||
allowInsecureHttp: boolean
|
||||
models: AiModelConfig[]
|
||||
defaultModelId: string
|
||||
enabled: boolean
|
||||
/** Runtime-only flag. The API key itself never leaves the Rust process after saving. */
|
||||
hasApiKey?: boolean
|
||||
}
|
||||
|
||||
export type AiAssistantAction = 'explain' | 'command' | 'diagnose' | 'execute'
|
||||
|
||||
export interface AiTerminalContext {
|
||||
selection: string
|
||||
viewport: string
|
||||
}
|
||||
|
||||
export interface AiCompleteRequest {
|
||||
provider: AiProviderConfig
|
||||
model: AiModelConfig
|
||||
action: AiAssistantAction
|
||||
prompt: string
|
||||
context: string
|
||||
}
|
||||
|
||||
export interface AiCompleteResponse {
|
||||
success: boolean
|
||||
text?: string
|
||||
model?: string
|
||||
redactedCount?: number
|
||||
error?: string
|
||||
}
|
||||
|
||||
export interface AiModelListResponse {
|
||||
success: boolean
|
||||
models?: string[]
|
||||
error?: string
|
||||
}
|
||||
|
||||
/** Connection test credentials are transient and are never persisted by the test command. */
|
||||
export interface AiProviderTestRequest {
|
||||
provider: AiProviderConfig
|
||||
model: AiModelConfig
|
||||
apiKey?: string
|
||||
}
|
||||
|
||||
export interface AiProviderTestResponse {
|
||||
success: boolean
|
||||
status?: number
|
||||
model?: string
|
||||
latencyMs?: number
|
||||
answer?: string
|
||||
error?: string
|
||||
}
|
||||
|
||||
|
||||
export interface AiCatalogDocument {
|
||||
source: string
|
||||
data: unknown
|
||||
}
|
||||
|
||||
export interface AiCatalogFetchResponse {
|
||||
success: boolean
|
||||
documents?: AiCatalogDocument[]
|
||||
errors?: string[]
|
||||
error?: string
|
||||
}
|
||||
Reference in new issue
Block a user