@sema-agent/core
Version:
Stateless, task-oriented AI agent core
35 lines (34 loc) • 2.2 kB
TypeScript
/**
* First-party model presets (design/119, CC 2.1.198 rebaseline).
*
* sema stays caller-injects-`Model` by design (no baked catalog — the CC catalog/alias/family layer
* is a product surface we deliberately don't carry). What IS worth shipping is the per-model
* CAPABILITY facts a caller can't guess from the docs page: the Fable-5-class wire contract
* (adaptive thinking form, effort tiers, temperature rejection) that a wrong guess turns into a
* hard 400. These presets are DATA, not mechanism — every field can be overridden by the caller.
*
* Pricing is deliberately NOT baked (CC 198 doesn't bake it either): `cost` defaults to zeros and a
* deployment that wants cost accounting fills in the current official per-MTok rates.
*/
import type { AnthropicMessagesCompat, Model } from "../internal/llm.js";
/**
* The Fable-5-class Anthropic wire contract (CC 2.1.198 capability bits, design/119 P0):
* - `thinkingMode: "adaptive"` — `thinking: { type: "adaptive" }`, NO budget_tokens (400 on budget).
* - `effortLevels` — the full five-tier `output_config.effort` range (fable-5 has `xhigh_effort` +
* `max_effort`; a model without those bits should declare a shorter list and higher requests clamp).
* - `supportsTemperature: false` — CC never sends temperature to this class, thinking on OR off.
*/
export declare const FABLE_5_COMPAT: AnthropicMessagesCompat;
/**
* The fable lines the classic prompt shape serves. They are prompt text, so they live with the prompt
* text; this name stays exported for hosts that read them. The preset below no longer carries them as
* `promptGuidance`: the prompt composes them itself, once, where they are the only fable text.
*/
export declare const FABLE_5_PROMPT_GUIDANCE: readonly string[];
/**
* A ready-to-use `claude-fable-5` {@link Model} (CC 2.1.198 registry facts: 1M-token native context
* window, 64k default max output — the 128k tier is opt-in via `maxTokens` override, knowledge
* cutoff Jan 2026, `default_effort: "high"`). Override anything per deployment; set `cost` for
* accounting (not baked — see module note).
*/
export declare function fable5Model(overrides?: Partial<Model>): Model;