/** * @license * Copyright 2025 Steven Roussey * SPDX-License-Identifier: Apache-2.0 */ import type { WithModelPricing } from "@workglow/ai/worker"; import type { FromSchema } from "@workglow/util/worker"; export declare const AnthropicModelSchema: { readonly type: "object"; readonly properties: { readonly provider: { readonly const: "ANTHROPIC"; readonly description: "Discriminator: Anthropic cloud provider."; }; readonly provider_config: { readonly type: "object"; readonly description: "Anthropic-specific configuration."; readonly properties: { readonly model_name: { readonly type: "string"; readonly description: "The Anthropic model identifier (e.g., 'claude-opus-5', 'claude-haiku-4-5')."; }; readonly credential_key: { readonly type: "string"; readonly format: "credential"; readonly description: "Key to look up in the credential store for the API key."; readonly "x-ui-hidden": true; }; readonly base_url: { readonly type: "string"; readonly description: "Base URL for the Anthropic API (optional)."; }; readonly trustedBaseUrl: { readonly type: "boolean"; readonly description: "When true, accept a base_url whose hostname is not in the built-in allow-list. Use only for known-good custom enterprise gateways — otherwise an attacker can exfiltrate the API key by pointing base_url at their own server."; readonly default: false; readonly "x-ui-hidden": true; }; readonly max_tokens: { readonly type: "integer"; readonly description: "Default max tokens for responses. Anthropic requires this parameter."; readonly default: 16384; readonly minimum: 1; }; readonly thinking: { readonly type: "object"; readonly description: string; readonly additionalProperties: true; readonly "x-ui-hidden": true; }; readonly output_config: { readonly type: "object"; readonly description: "Native Anthropic output_config (adaptive thinking effort). Wins over model.effort when effort is set."; readonly properties: { readonly effort: { readonly type: "string"; readonly enum: readonly ["low", "medium", "high", "xhigh", "max"]; }; }; readonly additionalProperties: true; readonly "x-ui-hidden": true; }; readonly sampling_params: { readonly type: "string"; readonly enum: readonly ["send", "omit"]; readonly description: "Override whether temperature/top_p are sent. Recent Claude models reject them with HTTP 400, so they are omitted unless the model id matches a generation known to accept them. Set explicitly only to correct that decision. Absent means 'decide from the model id'."; readonly "x-ui-hidden": true; }; }; readonly required: readonly ["model_name"]; readonly additionalProperties: false; }; }; readonly required: readonly ["provider", "provider_config"]; readonly additionalProperties: true; }; export declare const AnthropicModelRecordSchema: { readonly type: "object"; readonly properties: { readonly model_id: { readonly type: "string"; }; readonly capabilities: { readonly type: "array"; readonly items: { readonly type: "string"; }; readonly "x-ui-editor": "multiselect"; }; readonly title: { readonly type: "string"; }; readonly description: { readonly type: "string"; readonly "x-ui-editor": "textarea"; }; readonly effort: { readonly type: "string"; readonly enum: readonly ["none", "low", "medium", "high", "extra", "ultra"]; readonly description: "Coarse thinking/reasoning dial. Native provider_config thinking knobs always win when set."; }; readonly effort_options: { readonly type: "array"; readonly items: { readonly type: "string"; readonly enum: readonly ["none", "low", "medium", "high", "extra", "ultra"]; }; readonly description: "Enabled coarse effort levels for this model. When present (including empty), overrides provider.effortPolicy for UI."; }; readonly metadata: { readonly type: "object"; readonly default: {}; readonly "x-ui-hidden": true; }; readonly pricing: { readonly type: "object"; }; readonly provider: { readonly const: "ANTHROPIC"; readonly description: "Discriminator: Anthropic cloud provider."; }; readonly provider_config: { readonly type: "object"; readonly description: "Anthropic-specific configuration."; readonly properties: { readonly model_name: { readonly type: "string"; readonly description: "The Anthropic model identifier (e.g., 'claude-opus-5', 'claude-haiku-4-5')."; }; readonly credential_key: { readonly type: "string"; readonly format: "credential"; readonly description: "Key to look up in the credential store for the API key."; readonly "x-ui-hidden": true; }; readonly base_url: { readonly type: "string"; readonly description: "Base URL for the Anthropic API (optional)."; }; readonly trustedBaseUrl: { readonly type: "boolean"; readonly description: "When true, accept a base_url whose hostname is not in the built-in allow-list. Use only for known-good custom enterprise gateways — otherwise an attacker can exfiltrate the API key by pointing base_url at their own server."; readonly default: false; readonly "x-ui-hidden": true; }; readonly max_tokens: { readonly type: "integer"; readonly description: "Default max tokens for responses. Anthropic requires this parameter."; readonly default: 16384; readonly minimum: 1; }; readonly thinking: { readonly type: "object"; readonly description: string; readonly additionalProperties: true; readonly "x-ui-hidden": true; }; readonly output_config: { readonly type: "object"; readonly description: "Native Anthropic output_config (adaptive thinking effort). Wins over model.effort when effort is set."; readonly properties: { readonly effort: { readonly type: "string"; readonly enum: readonly ["low", "medium", "high", "xhigh", "max"]; }; }; readonly additionalProperties: true; readonly "x-ui-hidden": true; }; readonly sampling_params: { readonly type: "string"; readonly enum: readonly ["send", "omit"]; readonly description: "Override whether temperature/top_p are sent. Recent Claude models reject them with HTTP 400, so they are omitted unless the model id matches a generation known to accept them. Set explicitly only to correct that decision. Absent means 'decide from the model id'."; readonly "x-ui-hidden": true; }; }; readonly required: readonly ["model_name"]; readonly additionalProperties: false; }; }; readonly required: readonly ["model_id", "capabilities", "provider", "title", "description", "provider_config", "metadata", "provider", "provider_config"]; readonly additionalProperties: false; }; export type AnthropicModelRecord = WithModelPricing>; export declare const AnthropicModelConfigSchema: { readonly type: "object"; readonly properties: { readonly model_id: { readonly type: "string"; }; readonly capabilities: { readonly type: "array"; readonly items: { readonly type: "string"; }; readonly "x-ui-editor": "multiselect"; }; readonly title: { readonly type: "string"; }; readonly description: { readonly type: "string"; readonly "x-ui-editor": "textarea"; }; readonly effort: { readonly type: "string"; readonly enum: readonly ["none", "low", "medium", "high", "extra", "ultra"]; readonly description: "Coarse thinking/reasoning dial. Native provider_config thinking knobs always win when set."; }; readonly effort_options: { readonly type: "array"; readonly items: { readonly type: "string"; readonly enum: readonly ["none", "low", "medium", "high", "extra", "ultra"]; }; readonly description: "Enabled coarse effort levels for this model. When present (including empty), overrides provider.effortPolicy for UI."; }; readonly metadata: { readonly type: "object"; readonly default: {}; readonly "x-ui-hidden": true; }; readonly pricing: { readonly type: "object"; }; readonly provider: { readonly const: "ANTHROPIC"; readonly description: "Discriminator: Anthropic cloud provider."; }; readonly provider_config: { readonly type: "object"; readonly description: "Anthropic-specific configuration."; readonly properties: { readonly model_name: { readonly type: "string"; readonly description: "The Anthropic model identifier (e.g., 'claude-opus-5', 'claude-haiku-4-5')."; }; readonly credential_key: { readonly type: "string"; readonly format: "credential"; readonly description: "Key to look up in the credential store for the API key."; readonly "x-ui-hidden": true; }; readonly base_url: { readonly type: "string"; readonly description: "Base URL for the Anthropic API (optional)."; }; readonly trustedBaseUrl: { readonly type: "boolean"; readonly description: "When true, accept a base_url whose hostname is not in the built-in allow-list. Use only for known-good custom enterprise gateways — otherwise an attacker can exfiltrate the API key by pointing base_url at their own server."; readonly default: false; readonly "x-ui-hidden": true; }; readonly max_tokens: { readonly type: "integer"; readonly description: "Default max tokens for responses. Anthropic requires this parameter."; readonly default: 16384; readonly minimum: 1; }; readonly thinking: { readonly type: "object"; readonly description: string; readonly additionalProperties: true; readonly "x-ui-hidden": true; }; readonly output_config: { readonly type: "object"; readonly description: "Native Anthropic output_config (adaptive thinking effort). Wins over model.effort when effort is set."; readonly properties: { readonly effort: { readonly type: "string"; readonly enum: readonly ["low", "medium", "high", "xhigh", "max"]; }; }; readonly additionalProperties: true; readonly "x-ui-hidden": true; }; readonly sampling_params: { readonly type: "string"; readonly enum: readonly ["send", "omit"]; readonly description: "Override whether temperature/top_p are sent. Recent Claude models reject them with HTTP 400, so they are omitted unless the model id matches a generation known to accept them. Set explicitly only to correct that decision. Absent means 'decide from the model id'."; readonly "x-ui-hidden": true; }; }; readonly required: readonly ["model_name"]; readonly additionalProperties: false; }; }; readonly required: readonly ["provider", "provider_config", "provider", "provider_config"]; readonly additionalProperties: false; }; export type AnthropicModelConfig = WithModelPricing>;