@bodhiapp/ts-client 0.1.27 → 0.1.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -668,7 +668,7 @@ export interface paths {
668
668
  };
669
669
  /**
670
670
  * Get Available API Formats
671
- * @description Retrieves list of supported API formats/protocols: 'openai' (Chat Completions) and 'openai_responses' (Responses API).
671
+ * @description Retrieves list of supported API formats/protocols: 'openai' (Chat Completions), 'openai_responses' (Responses API), 'anthropic' (Messages API), 'anthropic_oauth' (Anthropic via OAuth Bearer token), and 'gemini' (Google Gemini).
672
672
  */
673
673
  get: operations["getApiFormats"];
674
674
  put?: never;
@@ -1257,16 +1257,47 @@ export interface components {
1257
1257
  /** @description Response envelope for model aliases - hides internal implementation details
1258
1258
  * Uses untagged serialization - each variant has its own "source" field */
1259
1259
  AliasResponse: components["schemas"]["UserAliasResponse"] | components["schemas"]["ModelAliasResponse"] | components["schemas"]["ApiAliasResponse"];
1260
+ /** @description Mirrors Anthropic's `ModelInfo` schema — full model metadata returned by
1261
+ * `GET /anthropic/v1/models` and stored alongside model IDs in `ApiAlias.models`.
1262
+ *
1263
+ * **IMPORTANT**: Do NOT add `#[serde(skip_serializing_if = "Option::is_none")]` on the
1264
+ * `Option` fields below. The Anthropic API spec marks `capabilities`, `max_input_tokens`,
1265
+ * and `max_tokens` as **required** (nullable via `anyOf [T, null]`). They must serialize
1266
+ * as `null` when absent, not be omitted from the JSON output. */
1267
+ AnthropicModel: {
1268
+ id: string;
1269
+ display_name: string;
1270
+ /** @description RFC 3339 datetime string representing the model's release date. */
1271
+ created_at: string;
1272
+ capabilities?: null | components["schemas"]["AnthropicModelCapabilities"];
1273
+ /** Format: int64 */
1274
+ max_input_tokens?: number | null;
1275
+ /** Format: int64 */
1276
+ max_tokens?: number | null;
1277
+ /** @description Always `"model"` — included for Anthropic API compatibility. */
1278
+ type: string;
1279
+ };
1280
+ /** @description Model capability information (Anthropic ModelCapabilities schema). */
1281
+ AnthropicModelCapabilities: {
1282
+ batch: components["schemas"]["CapabilitySupport"];
1283
+ citations: components["schemas"]["CapabilitySupport"];
1284
+ code_execution: components["schemas"]["CapabilitySupport"];
1285
+ context_management: components["schemas"]["ContextManagementCapability"];
1286
+ effort: components["schemas"]["EffortCapability"];
1287
+ image_input: components["schemas"]["CapabilitySupport"];
1288
+ pdf_input: components["schemas"]["CapabilitySupport"];
1289
+ structured_outputs: components["schemas"]["CapabilitySupport"];
1290
+ thinking: components["schemas"]["ThinkingCapability"];
1291
+ };
1260
1292
  ApiAlias: {
1261
1293
  id: string;
1262
1294
  api_format: components["schemas"]["ApiFormat"];
1263
1295
  base_url: string;
1264
- models: components["schemas"]["JsonVec"];
1296
+ models: components["schemas"]["ApiModelVec"];
1265
1297
  prefix?: string | null;
1266
1298
  forward_all_with_prefix: boolean;
1267
- models_cache: components["schemas"]["JsonVec"];
1268
- /** Format: date-time */
1269
- cache_fetched_at: string;
1299
+ extra_headers?: unknown;
1300
+ extra_body?: unknown;
1270
1301
  /** Format: date-time */
1271
1302
  created_at: string;
1272
1303
  /** Format: date-time */
@@ -1279,10 +1310,12 @@ export interface components {
1279
1310
  api_format: components["schemas"]["ApiFormat"];
1280
1311
  base_url: string;
1281
1312
  has_api_key: boolean;
1282
- /** @description Models available through this alias (merged from cache for forward_all) */
1283
- models: string[];
1313
+ /** @description Models available through this alias with full provider metadata */
1314
+ models: components["schemas"]["ApiModel"][];
1284
1315
  prefix?: string | null;
1285
1316
  forward_all_with_prefix: boolean;
1317
+ extra_headers?: unknown;
1318
+ extra_body?: unknown;
1286
1319
  /** Format: date-time */
1287
1320
  created_at: string;
1288
1321
  /** Format: date-time */
@@ -1292,7 +1325,7 @@ export interface components {
1292
1325
  * @description API format/protocol specification
1293
1326
  * @enum {string}
1294
1327
  */
1295
- ApiFormat: "openai" | "openai_responses" | "placeholder";
1328
+ ApiFormat: "openai" | "openai_responses" | "anthropic" | "anthropic_oauth" | "gemini";
1296
1329
  /**
1297
1330
  * @description Response containing available API formats
1298
1331
  * @example {
@@ -1316,6 +1349,18 @@ export interface components {
1316
1349
  /** @enum {string} */
1317
1350
  action: "set";
1318
1351
  };
1352
+ /** @description Discriminated union of provider-specific model metadata.
1353
+ * Stored as JSON in `api_model_aliases.models`. */
1354
+ ApiModel: (components["schemas"]["Model"] & {
1355
+ /** @enum {string} */
1356
+ provider: "openai";
1357
+ }) | (components["schemas"]["AnthropicModel"] & {
1358
+ /** @enum {string} */
1359
+ provider: "anthropic";
1360
+ }) | (components["schemas"]["GeminiModel"] & {
1361
+ /** @enum {string} */
1362
+ provider: "gemini";
1363
+ });
1319
1364
  /**
1320
1365
  * @description Input request for creating or updating an API model configuration.
1321
1366
  * @example {
@@ -1345,7 +1390,14 @@ export interface components {
1345
1390
  prefix?: string | null;
1346
1391
  /** @description Whether to forward all requests with this prefix (true) or only selected models (false) */
1347
1392
  forward_all_with_prefix?: boolean;
1348
- };
1393
+ /** @description Optional extra HTTP headers to send upstream. Cannot include `Authorization`
1394
+ * or `x-api-key` — those are owned by provider clients. */
1395
+ extra_headers?: unknown;
1396
+ /** @description Optional extra fields to merge into the request body sent upstream */
1397
+ extra_body?: unknown;
1398
+ };
1399
+ /** @description DB-storable `Vec<ApiModel>` — stored as JSON binary in SeaORM columns. */
1400
+ ApiModelVec: components["schemas"]["ApiModel"][];
1349
1401
  /** @enum {string} */
1350
1402
  AppAccessRequestStatus: "draft" | "approved" | "denied" | "failed" | "expired";
1351
1403
  /**
@@ -1526,6 +1578,10 @@ export interface components {
1526
1578
  [key: string]: string;
1527
1579
  } | null;
1528
1580
  };
1581
+ /** @description Whether a single capability is supported by the model. */
1582
+ CapabilitySupport: {
1583
+ supported: boolean;
1584
+ };
1529
1585
  /** @description Change user role request */
1530
1586
  ChangeRoleRequest: {
1531
1587
  /** @description Role to assign to the user */
@@ -1537,6 +1593,12 @@ export interface components {
1537
1593
  /** Format: int64 */
1538
1594
  max_output_tokens?: number | null;
1539
1595
  };
1596
+ /** @description Context management capability details. */
1597
+ ContextManagementCapability: {
1598
+ clear_thinking_20251015?: null | components["schemas"]["CapabilitySupport"];
1599
+ clear_tool_uses_20250919?: null | components["schemas"]["CapabilitySupport"];
1600
+ compact_20260112?: null | components["schemas"]["CapabilitySupport"];
1601
+ };
1540
1602
  CopyAliasRequest: {
1541
1603
  alias: string;
1542
1604
  };
@@ -1671,9 +1733,16 @@ export interface components {
1671
1733
  token_endpoint_auth_method?: string | null;
1672
1734
  registration_access_token?: string | null;
1673
1735
  };
1736
+ /** @description Effort (reasoning_effort) capability details. */
1737
+ EffortCapability: {
1738
+ high: components["schemas"]["CapabilitySupport"];
1739
+ low: components["schemas"]["CapabilitySupport"];
1740
+ max: components["schemas"]["CapabilitySupport"];
1741
+ };
1674
1742
  /**
1675
1743
  * @description Request to fetch available models from provider
1676
1744
  * @example {
1745
+ * "api_format": "openai",
1677
1746
  * "base_url": "http://localhost:8080/v1",
1678
1747
  * "creds": {
1679
1748
  * "type": "api_key",
@@ -1686,9 +1755,16 @@ export interface components {
1686
1755
  creds?: components["schemas"]["TestCreds"];
1687
1756
  /** @description API base URL (required - always needed to know where to fetch models from) */
1688
1757
  base_url: string;
1758
+ /** @description API format to use for fetching models (defaults to OpenAI Chat Completions) */
1759
+ api_format?: components["schemas"]["ApiFormat"];
1760
+ /** @description Optional extra HTTP headers. `Authorization` / `x-api-key` are forbidden. */
1761
+ extra_headers?: unknown;
1762
+ /** @description Optional extra fields to merge into the request body */
1763
+ extra_body?: unknown;
1689
1764
  };
1690
1765
  /**
1691
- * @description Response containing available models from provider
1766
+ * @description Returns model IDs only (not full metadata) to minimize information exposure —
1767
+ * the endpoint accepts an API key parameter. Full metadata is stored on create/update.
1692
1768
  * @example {
1693
1769
  * "models": [
1694
1770
  * "gpt-4",
@@ -1702,6 +1778,27 @@ export interface components {
1702
1778
  };
1703
1779
  /** @enum {string} */
1704
1780
  FlowType: "redirect" | "popup";
1781
+ /** @description Gemini `Model` schema (see `openapi-gemini.json`). */
1782
+ GeminiModel: {
1783
+ name: string;
1784
+ version?: string | null;
1785
+ displayName?: string | null;
1786
+ description?: string | null;
1787
+ /** Format: int64 */
1788
+ inputTokenLimit?: number | null;
1789
+ /** Format: int64 */
1790
+ outputTokenLimit?: number | null;
1791
+ supportedGenerationMethods?: string[];
1792
+ /** Format: float */
1793
+ temperature?: number | null;
1794
+ /** Format: float */
1795
+ maxTemperature?: number | null;
1796
+ /** Format: float */
1797
+ topP?: number | null;
1798
+ /** Format: int32 */
1799
+ topK?: number | null;
1800
+ thinking?: boolean | null;
1801
+ };
1705
1802
  JsonVec: string[];
1706
1803
  ListMcpServersResponse: {
1707
1804
  mcp_servers: components["schemas"]["McpServerResponse"][];
@@ -1928,6 +2025,20 @@ export interface components {
1928
2025
  /** @description User's MCP instances connected to this server URL */
1929
2026
  instances: components["schemas"]["Mcp"][];
1930
2027
  };
2028
+ /** @description Describes an OpenAI model offering that can be used with the API. */
2029
+ Model: {
2030
+ /** @description The model identifier, which can be referenced in the API endpoints. */
2031
+ id: string;
2032
+ /** @description The object type, which is always "model". */
2033
+ object: string;
2034
+ /**
2035
+ * Format: int32
2036
+ * @description The Unix timestamp (in seconds) when the model was created.
2037
+ */
2038
+ created: number;
2039
+ /** @description The organization that owns the model. */
2040
+ owned_by: string;
2041
+ };
1931
2042
  ModelAlias: {
1932
2043
  alias: string;
1933
2044
  /** Format: string */
@@ -2311,6 +2422,10 @@ export interface components {
2311
2422
  prompt: string;
2312
2423
  /** @description API format to use for the test request (defaults to OpenAI Chat Completions) */
2313
2424
  api_format?: components["schemas"]["ApiFormat"];
2425
+ /** @description Optional extra HTTP headers. `Authorization` / `x-api-key` are forbidden. */
2426
+ extra_headers?: unknown;
2427
+ /** @description Optional extra fields to merge into the request body */
2428
+ extra_body?: unknown;
2314
2429
  };
2315
2430
  /**
2316
2431
  * @description Response from testing API connectivity
@@ -2325,6 +2440,16 @@ export interface components {
2325
2440
  response?: string | null;
2326
2441
  error?: string | null;
2327
2442
  };
2443
+ /** @description Thinking capability and supported type configurations. */
2444
+ ThinkingCapability: {
2445
+ supported: boolean;
2446
+ types: components["schemas"]["ThinkingTypes"];
2447
+ };
2448
+ /** @description Supported thinking type configurations. */
2449
+ ThinkingTypes: {
2450
+ adaptive: components["schemas"]["CapabilitySupport"];
2451
+ enabled: components["schemas"]["CapabilitySupport"];
2452
+ };
2328
2453
  /** @example {
2329
2454
  * "token": "bodhiapp_1234567890abcdef"
2330
2455
  * } */
@@ -5566,7 +5691,10 @@ export interface operations {
5566
5691
  /** @example {
5567
5692
  * "data": [
5568
5693
  * "openai",
5569
- * "openai_responses"
5694
+ * "openai_responses",
5695
+ * "anthropic",
5696
+ * "anthropic_oauth",
5697
+ * "gemini"
5570
5698
  * ]
5571
5699
  * } */
5572
5700
  "application/json": components["schemas"]["ApiFormatsResponse"];
@@ -669,7 +669,7 @@ export interface paths {
669
669
  };
670
670
  /**
671
671
  * Get Available API Formats
672
- * @description Retrieves list of supported API formats/protocols: 'openai' (Chat Completions) and 'openai_responses' (Responses API).
672
+ * @description Retrieves list of supported API formats/protocols: 'openai' (Chat Completions), 'openai_responses' (Responses API), 'anthropic' (Messages API), 'anthropic_oauth' (Anthropic via OAuth Bearer token), and 'gemini' (Google Gemini).
673
673
  */
674
674
  get: operations["getApiFormats"];
675
675
  put?: never;
@@ -1258,16 +1258,47 @@ export interface components {
1258
1258
  /** @description Response envelope for model aliases - hides internal implementation details
1259
1259
  * Uses untagged serialization - each variant has its own "source" field */
1260
1260
  AliasResponse: components["schemas"]["UserAliasResponse"] | components["schemas"]["ModelAliasResponse"] | components["schemas"]["ApiAliasResponse"];
1261
+ /** @description Mirrors Anthropic's `ModelInfo` schema — full model metadata returned by
1262
+ * `GET /anthropic/v1/models` and stored alongside model IDs in `ApiAlias.models`.
1263
+ *
1264
+ * **IMPORTANT**: Do NOT add `#[serde(skip_serializing_if = "Option::is_none")]` on the
1265
+ * `Option` fields below. The Anthropic API spec marks `capabilities`, `max_input_tokens`,
1266
+ * and `max_tokens` as **required** (nullable via `anyOf [T, null]`). They must serialize
1267
+ * as `null` when absent, not be omitted from the JSON output. */
1268
+ AnthropicModel: {
1269
+ id: string;
1270
+ display_name: string;
1271
+ /** @description RFC 3339 datetime string representing the model's release date. */
1272
+ created_at: string;
1273
+ capabilities?: null | components["schemas"]["AnthropicModelCapabilities"];
1274
+ /** Format: int64 */
1275
+ max_input_tokens?: number | null;
1276
+ /** Format: int64 */
1277
+ max_tokens?: number | null;
1278
+ /** @description Always `"model"` — included for Anthropic API compatibility. */
1279
+ type: string;
1280
+ };
1281
+ /** @description Model capability information (Anthropic ModelCapabilities schema). */
1282
+ AnthropicModelCapabilities: {
1283
+ batch: components["schemas"]["CapabilitySupport"];
1284
+ citations: components["schemas"]["CapabilitySupport"];
1285
+ code_execution: components["schemas"]["CapabilitySupport"];
1286
+ context_management: components["schemas"]["ContextManagementCapability"];
1287
+ effort: components["schemas"]["EffortCapability"];
1288
+ image_input: components["schemas"]["CapabilitySupport"];
1289
+ pdf_input: components["schemas"]["CapabilitySupport"];
1290
+ structured_outputs: components["schemas"]["CapabilitySupport"];
1291
+ thinking: components["schemas"]["ThinkingCapability"];
1292
+ };
1261
1293
  ApiAlias: {
1262
1294
  id: string;
1263
1295
  api_format: components["schemas"]["ApiFormat"];
1264
1296
  base_url: string;
1265
- models: components["schemas"]["JsonVec"];
1297
+ models: components["schemas"]["ApiModelVec"];
1266
1298
  prefix?: string | null;
1267
1299
  forward_all_with_prefix: boolean;
1268
- models_cache: components["schemas"]["JsonVec"];
1269
- /** Format: date-time */
1270
- cache_fetched_at: string;
1300
+ extra_headers?: unknown;
1301
+ extra_body?: unknown;
1271
1302
  /** Format: date-time */
1272
1303
  created_at: string;
1273
1304
  /** Format: date-time */
@@ -1280,10 +1311,12 @@ export interface components {
1280
1311
  api_format: components["schemas"]["ApiFormat"];
1281
1312
  base_url: string;
1282
1313
  has_api_key: boolean;
1283
- /** @description Models available through this alias (merged from cache for forward_all) */
1284
- models: string[];
1314
+ /** @description Models available through this alias with full provider metadata */
1315
+ models: components["schemas"]["ApiModel"][];
1285
1316
  prefix?: string | null;
1286
1317
  forward_all_with_prefix: boolean;
1318
+ extra_headers?: unknown;
1319
+ extra_body?: unknown;
1287
1320
  /** Format: date-time */
1288
1321
  created_at: string;
1289
1322
  /** Format: date-time */
@@ -1293,7 +1326,7 @@ export interface components {
1293
1326
  * @description API format/protocol specification
1294
1327
  * @enum {string}
1295
1328
  */
1296
- ApiFormat: "openai" | "openai_responses" | "placeholder";
1329
+ ApiFormat: "openai" | "openai_responses" | "anthropic" | "anthropic_oauth" | "gemini";
1297
1330
  /**
1298
1331
  * @description Response containing available API formats
1299
1332
  * @example {
@@ -1317,6 +1350,18 @@ export interface components {
1317
1350
  /** @enum {string} */
1318
1351
  action: "set";
1319
1352
  };
1353
+ /** @description Discriminated union of provider-specific model metadata.
1354
+ * Stored as JSON in `api_model_aliases.models`. */
1355
+ ApiModel: (components["schemas"]["Model"] & {
1356
+ /** @enum {string} */
1357
+ provider: "openai";
1358
+ }) | (components["schemas"]["AnthropicModel"] & {
1359
+ /** @enum {string} */
1360
+ provider: "anthropic";
1361
+ }) | (components["schemas"]["GeminiModel"] & {
1362
+ /** @enum {string} */
1363
+ provider: "gemini";
1364
+ });
1320
1365
  /**
1321
1366
  * @description Input request for creating or updating an API model configuration.
1322
1367
  * @example {
@@ -1346,7 +1391,14 @@ export interface components {
1346
1391
  prefix?: string | null;
1347
1392
  /** @description Whether to forward all requests with this prefix (true) or only selected models (false) */
1348
1393
  forward_all_with_prefix?: boolean;
1349
- };
1394
+ /** @description Optional extra HTTP headers to send upstream. Cannot include `Authorization`
1395
+ * or `x-api-key` — those are owned by provider clients. */
1396
+ extra_headers?: unknown;
1397
+ /** @description Optional extra fields to merge into the request body sent upstream */
1398
+ extra_body?: unknown;
1399
+ };
1400
+ /** @description DB-storable `Vec<ApiModel>` — stored as JSON binary in SeaORM columns. */
1401
+ ApiModelVec: components["schemas"]["ApiModel"][];
1350
1402
  /** @enum {string} */
1351
1403
  AppAccessRequestStatus: "draft" | "approved" | "denied" | "failed" | "expired";
1352
1404
  /**
@@ -1527,6 +1579,10 @@ export interface components {
1527
1579
  [key: string]: string;
1528
1580
  } | null;
1529
1581
  };
1582
+ /** @description Whether a single capability is supported by the model. */
1583
+ CapabilitySupport: {
1584
+ supported: boolean;
1585
+ };
1530
1586
  /** @description Change user role request */
1531
1587
  ChangeRoleRequest: {
1532
1588
  /** @description Role to assign to the user */
@@ -1538,6 +1594,12 @@ export interface components {
1538
1594
  /** Format: int64 */
1539
1595
  max_output_tokens?: number | null;
1540
1596
  };
1597
+ /** @description Context management capability details. */
1598
+ ContextManagementCapability: {
1599
+ clear_thinking_20251015?: null | components["schemas"]["CapabilitySupport"];
1600
+ clear_tool_uses_20250919?: null | components["schemas"]["CapabilitySupport"];
1601
+ compact_20260112?: null | components["schemas"]["CapabilitySupport"];
1602
+ };
1541
1603
  CopyAliasRequest: {
1542
1604
  alias: string;
1543
1605
  };
@@ -1672,9 +1734,16 @@ export interface components {
1672
1734
  token_endpoint_auth_method?: string | null;
1673
1735
  registration_access_token?: string | null;
1674
1736
  };
1737
+ /** @description Effort (reasoning_effort) capability details. */
1738
+ EffortCapability: {
1739
+ high: components["schemas"]["CapabilitySupport"];
1740
+ low: components["schemas"]["CapabilitySupport"];
1741
+ max: components["schemas"]["CapabilitySupport"];
1742
+ };
1675
1743
  /**
1676
1744
  * @description Request to fetch available models from provider
1677
1745
  * @example {
1746
+ * "api_format": "openai",
1678
1747
  * "base_url": "http://localhost:8080/v1",
1679
1748
  * "creds": {
1680
1749
  * "type": "api_key",
@@ -1687,9 +1756,16 @@ export interface components {
1687
1756
  creds?: components["schemas"]["TestCreds"];
1688
1757
  /** @description API base URL (required - always needed to know where to fetch models from) */
1689
1758
  base_url: string;
1759
+ /** @description API format to use for fetching models (defaults to OpenAI Chat Completions) */
1760
+ api_format?: components["schemas"]["ApiFormat"];
1761
+ /** @description Optional extra HTTP headers. `Authorization` / `x-api-key` are forbidden. */
1762
+ extra_headers?: unknown;
1763
+ /** @description Optional extra fields to merge into the request body */
1764
+ extra_body?: unknown;
1690
1765
  };
1691
1766
  /**
1692
- * @description Response containing available models from provider
1767
+ * @description Returns model IDs only (not full metadata) to minimize information exposure —
1768
+ * the endpoint accepts an API key parameter. Full metadata is stored on create/update.
1693
1769
  * @example {
1694
1770
  * "models": [
1695
1771
  * "gpt-4",
@@ -1703,6 +1779,27 @@ export interface components {
1703
1779
  };
1704
1780
  /** @enum {string} */
1705
1781
  FlowType: "redirect" | "popup";
1782
+ /** @description Gemini `Model` schema (see `openapi-gemini.json`). */
1783
+ GeminiModel: {
1784
+ name: string;
1785
+ version?: string | null;
1786
+ displayName?: string | null;
1787
+ description?: string | null;
1788
+ /** Format: int64 */
1789
+ inputTokenLimit?: number | null;
1790
+ /** Format: int64 */
1791
+ outputTokenLimit?: number | null;
1792
+ supportedGenerationMethods?: string[];
1793
+ /** Format: float */
1794
+ temperature?: number | null;
1795
+ /** Format: float */
1796
+ maxTemperature?: number | null;
1797
+ /** Format: float */
1798
+ topP?: number | null;
1799
+ /** Format: int32 */
1800
+ topK?: number | null;
1801
+ thinking?: boolean | null;
1802
+ };
1706
1803
  JsonVec: string[];
1707
1804
  ListMcpServersResponse: {
1708
1805
  mcp_servers: components["schemas"]["McpServerResponse"][];
@@ -1929,6 +2026,20 @@ export interface components {
1929
2026
  /** @description User's MCP instances connected to this server URL */
1930
2027
  instances: components["schemas"]["Mcp"][];
1931
2028
  };
2029
+ /** @description Describes an OpenAI model offering that can be used with the API. */
2030
+ Model: {
2031
+ /** @description The model identifier, which can be referenced in the API endpoints. */
2032
+ id: string;
2033
+ /** @description The object type, which is always "model". */
2034
+ object: string;
2035
+ /**
2036
+ * Format: int32
2037
+ * @description The Unix timestamp (in seconds) when the model was created.
2038
+ */
2039
+ created: number;
2040
+ /** @description The organization that owns the model. */
2041
+ owned_by: string;
2042
+ };
1932
2043
  ModelAlias: {
1933
2044
  alias: string;
1934
2045
  /** Format: string */
@@ -2312,6 +2423,10 @@ export interface components {
2312
2423
  prompt: string;
2313
2424
  /** @description API format to use for the test request (defaults to OpenAI Chat Completions) */
2314
2425
  api_format?: components["schemas"]["ApiFormat"];
2426
+ /** @description Optional extra HTTP headers. `Authorization` / `x-api-key` are forbidden. */
2427
+ extra_headers?: unknown;
2428
+ /** @description Optional extra fields to merge into the request body */
2429
+ extra_body?: unknown;
2315
2430
  };
2316
2431
  /**
2317
2432
  * @description Response from testing API connectivity
@@ -2326,6 +2441,16 @@ export interface components {
2326
2441
  response?: string | null;
2327
2442
  error?: string | null;
2328
2443
  };
2444
+ /** @description Thinking capability and supported type configurations. */
2445
+ ThinkingCapability: {
2446
+ supported: boolean;
2447
+ types: components["schemas"]["ThinkingTypes"];
2448
+ };
2449
+ /** @description Supported thinking type configurations. */
2450
+ ThinkingTypes: {
2451
+ adaptive: components["schemas"]["CapabilitySupport"];
2452
+ enabled: components["schemas"]["CapabilitySupport"];
2453
+ };
2329
2454
  /** @example {
2330
2455
  * "token": "bodhiapp_1234567890abcdef"
2331
2456
  * } */
@@ -5567,7 +5692,10 @@ export interface operations {
5567
5692
  /** @example {
5568
5693
  * "data": [
5569
5694
  * "openai",
5570
- * "openai_responses"
5695
+ * "openai_responses",
5696
+ * "anthropic",
5697
+ * "anthropic_oauth",
5698
+ * "gemini"
5571
5699
  * ]
5572
5700
  * } */
5573
5701
  "application/json": components["schemas"]["ApiFormatsResponse"];