@earendil-works/pi-coding-agent
Version:
Coding agent CLI with read, bash, edit, write tools and session management
167 lines • 6.97 kB
TypeScript
/**
* pi-ai's configuration schemas (built with pi-schema) as TypeBox schemas, for the coding agent's own TypeBox-built
* configuration schemas (models.json, settings.json): the same JSON, typed for TypeBox's `Static`.
*/
import { Type } from "typebox";
export declare const ProviderCompatSchema: Type.TUnsafe<{
supportsStore?: boolean | undefined;
supportsReasoningEffort?: boolean | undefined;
supportsUsageInStreaming?: boolean | undefined;
supportsFinishReason?: boolean | undefined;
maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
requiresToolResultName?: boolean | undefined;
requiresAssistantAfterToolResult?: boolean | undefined;
requiresNonNullAssistantContent?: boolean | undefined;
requiresToolsWithToolHistory?: boolean | undefined;
requiresThinkingAsText?: boolean | undefined;
requiresReasoningContentOnAssistantMessages?: boolean | undefined;
thinkingFormat?: "ant-ling" | "baseten" | "chat-template" | "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "string-thinking" | "together" | "zai" | undefined;
chatTemplateKwargs?: Record<string, string | number | boolean | {
$var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
omitWhenOff?: boolean | undefined;
} | null> | undefined;
chatTemplateArgs?: Record<string, string | number | boolean | {
$var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
omitWhenOff?: boolean | undefined;
} | null> | undefined;
openRouterRouting?: {
allow_fallbacks?: boolean | undefined;
require_parameters?: boolean | undefined;
data_collection?: "allow" | "deny" | undefined;
zdr?: boolean | undefined;
enforce_distillable_text?: boolean | undefined;
order?: string[] | undefined;
only?: string[] | undefined;
ignore?: string[] | undefined;
quantizations?: string[] | undefined;
sort?: string | {
by?: string | undefined;
partition?: string | null | undefined;
} | undefined;
max_price?: {
prompt?: string | number | undefined;
completion?: string | number | undefined;
image?: string | number | undefined;
audio?: string | number | undefined;
request?: string | number | undefined;
} | undefined;
preferred_min_throughput?: number | {
p50?: number | undefined;
p75?: number | undefined;
p90?: number | undefined;
p99?: number | undefined;
} | undefined;
preferred_max_latency?: number | {
p50?: number | undefined;
p75?: number | undefined;
p90?: number | undefined;
p99?: number | undefined;
} | undefined;
} | undefined;
vercelGatewayRouting?: {
only?: string[] | undefined;
order?: string[] | undefined;
} | undefined;
zaiToolStream?: boolean | undefined;
thinkingTokenBudgetField?: "thinking_budget" | "thinking_budget_tokens" | "thinking_token_budget" | undefined;
supportsThinkingTokenBudget?: boolean | undefined;
supportsMidConvoToolAdditions?: boolean | undefined;
cacheControlFormat?: "anthropic" | undefined;
vllmPriority?: number | undefined;
supportsAdditionalTools?: boolean | undefined;
supportsToolSearch?: boolean | undefined;
supportsExplicitPromptCacheMode?: boolean | undefined;
supportsMaxOutputTokens?: boolean | undefined;
supportsEagerToolInputStreaming?: boolean | undefined;
supportsCacheControlOnTools?: boolean | undefined;
supportsTemperature?: boolean | undefined;
forceAdaptiveThinking?: boolean | undefined;
allowEmptySignature?: boolean | undefined;
supportsStrictTools?: boolean | undefined;
supportsMidConvoToolChanges?: boolean | undefined;
supportsMessageThreads?: boolean | undefined;
allowedFallbackModels?: {
provider: string;
model: string;
cost: {
input: number;
output: number;
cacheRead: number;
cacheWrite: number;
tiers?: {
input: number;
output: number;
cacheRead: number;
cacheWrite: number;
inputTokensAbove: number;
}[] | undefined;
};
}[] | undefined;
imageInput?: "assets" | "images" | "state-image-urls" | undefined;
sendImageOptInHeader?: boolean | undefined;
supportsDeveloperRole?: boolean | undefined;
supportsMidConvoSystemMessages?: boolean | undefined;
sessionAffinityFormat?: "openai" | "openai-nosession" | "openrouter" | undefined;
promptCacheKeyMode?: "auto" | "disabled" | "enabled" | undefined;
supportsMidConvoEffort?: boolean | undefined;
supportsLongCacheRetention?: boolean | undefined;
supportsStrictMode?: boolean | undefined;
supportsOpenAIGrammarTools?: boolean | undefined;
sendSessionAffinityHeaders?: boolean | undefined;
}>;
export declare const ModelCostSchema: Type.TUnsafe<{
input: number;
output: number;
cacheRead: number;
cacheWrite: number;
tiers?: {
input: number;
output: number;
cacheRead: number;
cacheWrite: number;
inputTokensAbove: number;
}[] | undefined;
}>;
export declare const ModelInputLimitsSchema: Type.TUnsafe<{
maxRequestBytes?: number | undefined;
images?: {
resize?: {
maxWidth?: number | undefined;
maxHeight?: number | undefined;
maxBytes?: number | undefined;
jpegQuality?: number | undefined;
} | undefined;
maxPerMessage?: number | undefined;
maxPerRequest?: number | undefined;
} | undefined;
}>;
export declare const ModelInputModalitySchema: Type.TUnsafe<"image" | "text">;
export declare const ModelPromptCacheSchema: Type.TUnsafe<{
short?: number | undefined;
long?: number | undefined;
}>;
export declare const ModelThinkingLevelSchema: Type.TUnsafe<"high" | "low" | "max" | "medium" | "minimal" | "off" | "xhigh">;
export declare const ThinkingLevelMapSchema: Type.TUnsafe<{
off?: string | null | undefined;
minimal?: string | null | undefined;
low?: string | null | undefined;
medium?: string | null | undefined;
high?: string | null | undefined;
xhigh?: string | null | undefined;
max?: string | null | undefined;
}>;
/** `ModelCostSchema` with every field optional, for model overrides that change some of the rates. */
export declare const PartialModelCostSchema: Type.TUnsafe<Partial<{
input: number;
output: number;
cacheRead: number;
cacheWrite: number;
tiers?: {
input: number;
output: number;
cacheRead: number;
cacheWrite: number;
inputTokensAbove: number;
}[] | undefined;
}>>;
//# sourceMappingURL=pi-ai-schemas.d.ts.map