/ constants / betas.ts
betas.ts
 1  import { feature } from 'bun:bundle'
 2  
 3  export const CLAUDE_CODE_20250219_BETA_HEADER = 'claude-code-20250219'
 4  export const INTERLEAVED_THINKING_BETA_HEADER =
 5    'interleaved-thinking-2025-05-14'
 6  export const CONTEXT_1M_BETA_HEADER = 'context-1m-2025-08-07'
 7  export const CONTEXT_MANAGEMENT_BETA_HEADER = 'context-management-2025-06-27'
 8  export const STRUCTURED_OUTPUTS_BETA_HEADER = 'structured-outputs-2025-12-15'
 9  export const WEB_SEARCH_BETA_HEADER = 'web-search-2025-03-05'
10  // Tool search beta headers differ by provider:
11  // - Claude API / Foundry: advanced-tool-use-2025-11-20
12  // - Vertex AI / Bedrock: tool-search-tool-2025-10-19
13  export const TOOL_SEARCH_BETA_HEADER_1P = 'advanced-tool-use-2025-11-20'
14  export const TOOL_SEARCH_BETA_HEADER_3P = 'tool-search-tool-2025-10-19'
15  export const EFFORT_BETA_HEADER = 'effort-2025-11-24'
16  export const TASK_BUDGETS_BETA_HEADER = 'task-budgets-2026-03-13'
17  export const PROMPT_CACHING_SCOPE_BETA_HEADER =
18    'prompt-caching-scope-2026-01-05'
19  export const FAST_MODE_BETA_HEADER = 'fast-mode-2026-02-01'
20  export const REDACT_THINKING_BETA_HEADER = 'redact-thinking-2026-02-12'
21  export const TOKEN_EFFICIENT_TOOLS_BETA_HEADER =
22    'token-efficient-tools-2026-03-28'
23  export const SUMMARIZE_CONNECTOR_TEXT_BETA_HEADER = feature('CONNECTOR_TEXT')
24    ? 'summarize-connector-text-2026-03-13'
25    : ''
26  export const AFK_MODE_BETA_HEADER = feature('TRANSCRIPT_CLASSIFIER')
27    ? 'afk-mode-2026-01-31'
28    : ''
29  export const CLI_INTERNAL_BETA_HEADER =
30    process.env.USER_TYPE === 'ant' ? 'cli-internal-2026-02-09' : ''
31  export const ADVISOR_BETA_HEADER = 'advisor-tool-2026-03-01'
32  
33  /**
34   * Bedrock only supports a limited number of beta headers and only through
35   * extraBodyParams. This set maintains the beta strings that should be in
36   * Bedrock extraBodyParams *and not* in Bedrock headers.
37   */
38  export const BEDROCK_EXTRA_PARAMS_HEADERS = new Set([
39    INTERLEAVED_THINKING_BETA_HEADER,
40    CONTEXT_1M_BETA_HEADER,
41    TOOL_SEARCH_BETA_HEADER_3P,
42  ])
43  
44  /**
45   * Betas allowed on Vertex countTokens API.
46   * Other betas will cause 400 errors.
47   */
48  export const VERTEX_COUNT_TOKENS_ALLOWED_BETAS = new Set([
49    CLAUDE_CODE_20250219_BETA_HEADER,
50    INTERLEAVED_THINKING_BETA_HEADER,
51    CONTEXT_MANAGEMENT_BETA_HEADER,
52  ])