@gajae-code/ai 0.1.1
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.
- package/CHANGELOG.md +2644 -0
- package/README.md +1181 -0
- package/dist/types/api-registry.d.ts +30 -0
- package/dist/types/auth-broker/client.d.ts +66 -0
- package/dist/types/auth-broker/index.d.ts +5 -0
- package/dist/types/auth-broker/refresher.d.ts +25 -0
- package/dist/types/auth-broker/remote-store.d.ts +96 -0
- package/dist/types/auth-broker/server.d.ts +32 -0
- package/dist/types/auth-broker/types.d.ts +105 -0
- package/dist/types/auth-broker/wire-schemas.d.ts +412 -0
- package/dist/types/auth-gateway/http.d.ts +39 -0
- package/dist/types/auth-gateway/index.d.ts +3 -0
- package/dist/types/auth-gateway/server.d.ts +17 -0
- package/dist/types/auth-gateway/types.d.ts +115 -0
- package/dist/types/auth-storage.d.ts +641 -0
- package/dist/types/cli.d.ts +2 -0
- package/dist/types/index.d.ts +49 -0
- package/dist/types/model-cache.d.ts +17 -0
- package/dist/types/model-manager.d.ts +62 -0
- package/dist/types/model-thinking.d.ts +71 -0
- package/dist/types/models.d.ts +12 -0
- package/dist/types/provider-details.d.ts +24 -0
- package/dist/types/provider-models/bundled-references.d.ts +4 -0
- package/dist/types/provider-models/descriptors.d.ts +48 -0
- package/dist/types/provider-models/google.d.ts +20 -0
- package/dist/types/provider-models/index.d.ts +5 -0
- package/dist/types/provider-models/ollama.d.ts +7 -0
- package/dist/types/provider-models/openai-compat.d.ts +237 -0
- package/dist/types/provider-models/special.d.ts +16 -0
- package/dist/types/providers/amazon-bedrock.d.ts +36 -0
- package/dist/types/providers/anthropic-messages-server-schema.d.ts +450 -0
- package/dist/types/providers/anthropic-messages-server.d.ts +17 -0
- package/dist/types/providers/anthropic.d.ts +188 -0
- package/dist/types/providers/aws-credentials.d.ts +43 -0
- package/dist/types/providers/aws-eventstream.d.ts +38 -0
- package/dist/types/providers/aws-sigv4.d.ts +55 -0
- package/dist/types/providers/azure-openai-responses.d.ts +15 -0
- package/dist/types/providers/cursor/gen/agent_pb.d.ts +13022 -0
- package/dist/types/providers/cursor.d.ts +42 -0
- package/dist/types/providers/error-message.d.ts +27 -0
- package/dist/types/providers/github-copilot-headers.d.ts +40 -0
- package/dist/types/providers/gitlab-duo.d.ts +27 -0
- package/dist/types/providers/google-auth.d.ts +24 -0
- package/dist/types/providers/google-gemini-cli.d.ts +72 -0
- package/dist/types/providers/google-gemini-headers.d.ts +18 -0
- package/dist/types/providers/google-shared.d.ts +163 -0
- package/dist/types/providers/google-types.d.ts +138 -0
- package/dist/types/providers/google-vertex.d.ts +7 -0
- package/dist/types/providers/google.d.ts +4 -0
- package/dist/types/providers/grammar.d.ts +1 -0
- package/dist/types/providers/kimi.d.ts +27 -0
- package/dist/types/providers/mock.d.ts +175 -0
- package/dist/types/providers/ollama.d.ts +6 -0
- package/dist/types/providers/openai-anthropic-shim.d.ts +31 -0
- package/dist/types/providers/openai-chat-server-schema.d.ts +814 -0
- package/dist/types/providers/openai-chat-server.d.ts +16 -0
- package/dist/types/providers/openai-codex/constants.d.ts +26 -0
- package/dist/types/providers/openai-codex/request-transformer.d.ts +49 -0
- package/dist/types/providers/openai-codex/response-handler.d.ts +17 -0
- package/dist/types/providers/openai-codex-responses.d.ts +67 -0
- package/dist/types/providers/openai-completions-compat.d.ts +25 -0
- package/dist/types/providers/openai-completions.d.ts +33 -0
- package/dist/types/providers/openai-responses-server-schema.d.ts +392 -0
- package/dist/types/providers/openai-responses-server.d.ts +17 -0
- package/dist/types/providers/openai-responses-shared.d.ts +89 -0
- package/dist/types/providers/openai-responses.d.ts +32 -0
- package/dist/types/providers/pi-native-client.d.ts +13 -0
- package/dist/types/providers/pi-native-server.d.ts +68 -0
- package/dist/types/providers/register-builtins.d.ts +31 -0
- package/dist/types/providers/synthetic.d.ts +26 -0
- package/dist/types/providers/transform-messages.d.ts +12 -0
- package/dist/types/providers/vision-guard.d.ts +8 -0
- package/dist/types/rate-limit-utils.d.ts +19 -0
- package/dist/types/stream.d.ts +24 -0
- package/dist/types/types.d.ts +746 -0
- package/dist/types/usage/claude.d.ts +3 -0
- package/dist/types/usage/gemini.d.ts +2 -0
- package/dist/types/usage/github-copilot.d.ts +7 -0
- package/dist/types/usage/google-antigravity.d.ts +2 -0
- package/dist/types/usage/kimi.d.ts +2 -0
- package/dist/types/usage/minimax-code.d.ts +2 -0
- package/dist/types/usage/openai-codex.d.ts +3 -0
- package/dist/types/usage/shared.d.ts +1 -0
- package/dist/types/usage/zai.d.ts +2 -0
- package/dist/types/usage.d.ts +258 -0
- package/dist/types/utils/abort.d.ts +19 -0
- package/dist/types/utils/anthropic-auth.d.ts +31 -0
- package/dist/types/utils/discovery/antigravity.d.ts +61 -0
- package/dist/types/utils/discovery/codex.d.ts +38 -0
- package/dist/types/utils/discovery/cursor.d.ts +23 -0
- package/dist/types/utils/discovery/gemini.d.ts +25 -0
- package/dist/types/utils/discovery/index.d.ts +4 -0
- package/dist/types/utils/discovery/openai-compatible.d.ts +72 -0
- package/dist/types/utils/event-stream.d.ts +28 -0
- package/dist/types/utils/fireworks-model-id.d.ts +10 -0
- package/dist/types/utils/foundry.d.ts +1 -0
- package/dist/types/utils/h2-fetch.d.ts +22 -0
- package/dist/types/utils/http-inspector.d.ts +31 -0
- package/dist/types/utils/idle-iterator.d.ts +67 -0
- package/dist/types/utils/json-parse.d.ts +10 -0
- package/dist/types/utils/oauth/alibaba-coding-plan.d.ts +18 -0
- package/dist/types/utils/oauth/anthropic.d.ts +22 -0
- package/dist/types/utils/oauth/api-key-login.d.ts +35 -0
- package/dist/types/utils/oauth/api-key-validation.d.ts +27 -0
- package/dist/types/utils/oauth/callback-server.d.ts +57 -0
- package/dist/types/utils/oauth/cerebras.d.ts +1 -0
- package/dist/types/utils/oauth/cloudflare-ai-gateway.d.ts +18 -0
- package/dist/types/utils/oauth/cursor.d.ts +15 -0
- package/dist/types/utils/oauth/deepseek.d.ts +10 -0
- package/dist/types/utils/oauth/firepass.d.ts +1 -0
- package/dist/types/utils/oauth/fireworks.d.ts +1 -0
- package/dist/types/utils/oauth/github-copilot.d.ts +38 -0
- package/dist/types/utils/oauth/gitlab-duo.d.ts +3 -0
- package/dist/types/utils/oauth/google-antigravity.d.ts +11 -0
- package/dist/types/utils/oauth/google-gemini-cli.d.ts +10 -0
- package/dist/types/utils/oauth/google-oauth-shared.d.ts +28 -0
- package/dist/types/utils/oauth/huggingface.d.ts +19 -0
- package/dist/types/utils/oauth/index.d.ts +38 -0
- package/dist/types/utils/oauth/kagi.d.ts +17 -0
- package/dist/types/utils/oauth/kilo.d.ts +5 -0
- package/dist/types/utils/oauth/kimi.d.ts +21 -0
- package/dist/types/utils/oauth/litellm.d.ts +18 -0
- package/dist/types/utils/oauth/lm-studio.d.ts +17 -0
- package/dist/types/utils/oauth/minimax-code.d.ts +28 -0
- package/dist/types/utils/oauth/moonshot.d.ts +1 -0
- package/dist/types/utils/oauth/nanogpt.d.ts +1 -0
- package/dist/types/utils/oauth/nvidia.d.ts +18 -0
- package/dist/types/utils/oauth/ollama-cloud.d.ts +2 -0
- package/dist/types/utils/oauth/ollama.d.ts +18 -0
- package/dist/types/utils/oauth/openai-codex.d.ts +21 -0
- package/dist/types/utils/oauth/opencode.d.ts +18 -0
- package/dist/types/utils/oauth/parallel.d.ts +17 -0
- package/dist/types/utils/oauth/perplexity.d.ts +9 -0
- package/dist/types/utils/oauth/pkce.d.ts +8 -0
- package/dist/types/utils/oauth/qianfan.d.ts +17 -0
- package/dist/types/utils/oauth/qwen-portal.d.ts +19 -0
- package/dist/types/utils/oauth/synthetic.d.ts +1 -0
- package/dist/types/utils/oauth/tavily.d.ts +17 -0
- package/dist/types/utils/oauth/together.d.ts +1 -0
- package/dist/types/utils/oauth/types.d.ts +44 -0
- package/dist/types/utils/oauth/venice.d.ts +18 -0
- package/dist/types/utils/oauth/vercel-ai-gateway.d.ts +18 -0
- package/dist/types/utils/oauth/vllm.d.ts +16 -0
- package/dist/types/utils/oauth/xiaomi.d.ts +19 -0
- package/dist/types/utils/oauth/zai.d.ts +18 -0
- package/dist/types/utils/oauth/zenmux.d.ts +1 -0
- package/dist/types/utils/overflow.d.ts +54 -0
- package/dist/types/utils/parse-bind.d.ts +23 -0
- package/dist/types/utils/provider-response.d.ts +3 -0
- package/dist/types/utils/retry-after.d.ts +3 -0
- package/dist/types/utils/retry.d.ts +26 -0
- package/dist/types/utils/schema/adapt.d.ts +24 -0
- package/dist/types/utils/schema/compatibility.d.ts +30 -0
- package/dist/types/utils/schema/dereference.d.ts +11 -0
- package/dist/types/utils/schema/draft.d.ts +10 -0
- package/dist/types/utils/schema/equality.d.ts +4 -0
- package/dist/types/utils/schema/fields.d.ts +49 -0
- package/dist/types/utils/schema/index.d.ts +13 -0
- package/dist/types/utils/schema/json-schema-validator.d.ts +12 -0
- package/dist/types/utils/schema/meta-validator.d.ts +2 -0
- package/dist/types/utils/schema/normalize.d.ts +93 -0
- package/dist/types/utils/schema/spill.d.ts +8 -0
- package/dist/types/utils/schema/stamps.d.ts +25 -0
- package/dist/types/utils/schema/types.d.ts +4 -0
- package/dist/types/utils/schema/wire.d.ts +54 -0
- package/dist/types/utils/schema/zod-decontaminate.d.ts +31 -0
- package/dist/types/utils/sse-debug.d.ts +10 -0
- package/dist/types/utils/tool-call-healing.d.ts +71 -0
- package/dist/types/utils/tool-choice.d.ts +50 -0
- package/dist/types/utils/validation.d.ts +17 -0
- package/dist/types/utils.d.ts +28 -0
- package/package.json +146 -0
- package/src/api-registry.ts +96 -0
- package/src/auth-broker/client.ts +358 -0
- package/src/auth-broker/index.ts +5 -0
- package/src/auth-broker/refresher.ts +127 -0
- package/src/auth-broker/remote-store.ts +623 -0
- package/src/auth-broker/server.ts +644 -0
- package/src/auth-broker/types.ts +127 -0
- package/src/auth-broker/wire-schemas.ts +200 -0
- package/src/auth-gateway/http.ts +194 -0
- package/src/auth-gateway/index.ts +3 -0
- package/src/auth-gateway/server.ts +717 -0
- package/src/auth-gateway/types.ts +134 -0
- package/src/auth-storage.ts +4104 -0
- package/src/cli.ts +262 -0
- package/src/index.ts +54 -0
- package/src/model-cache.ts +129 -0
- package/src/model-manager.ts +450 -0
- package/src/model-thinking.ts +691 -0
- package/src/models.json +73853 -0
- package/src/models.json.d.ts +9 -0
- package/src/models.ts +56 -0
- package/src/prompts/turn-aborted-guidance.md +4 -0
- package/src/provider-details.ts +90 -0
- package/src/provider-models/bundled-references.ts +38 -0
- package/src/provider-models/descriptors.ts +308 -0
- package/src/provider-models/google.ts +91 -0
- package/src/provider-models/index.ts +5 -0
- package/src/provider-models/ollama.ts +153 -0
- package/src/provider-models/openai-compat.ts +2275 -0
- package/src/provider-models/special.ts +67 -0
- package/src/providers/amazon-bedrock.ts +849 -0
- package/src/providers/anthropic-messages-server-schema.ts +229 -0
- package/src/providers/anthropic-messages-server.ts +677 -0
- package/src/providers/anthropic.ts +2696 -0
- package/src/providers/aws-credentials.ts +501 -0
- package/src/providers/aws-eventstream.ts +185 -0
- package/src/providers/aws-sigv4.ts +218 -0
- package/src/providers/azure-openai-responses.ts +337 -0
- package/src/providers/cursor/gen/agent_pb.ts +15274 -0
- package/src/providers/cursor/proto/agent.proto +3526 -0
- package/src/providers/cursor/proto/buf.gen.yaml +6 -0
- package/src/providers/cursor/proto/buf.yaml +17 -0
- package/src/providers/cursor.ts +2561 -0
- package/src/providers/error-message.ts +21 -0
- package/src/providers/github-copilot-headers.ts +140 -0
- package/src/providers/gitlab-duo.ts +372 -0
- package/src/providers/google-auth.ts +252 -0
- package/src/providers/google-gemini-cli.ts +795 -0
- package/src/providers/google-gemini-headers.ts +41 -0
- package/src/providers/google-shared.ts +902 -0
- package/src/providers/google-types.ts +167 -0
- package/src/providers/google-vertex.ts +88 -0
- package/src/providers/google.ts +41 -0
- package/src/providers/grammar.ts +70 -0
- package/src/providers/kimi.ts +52 -0
- package/src/providers/mock.ts +500 -0
- package/src/providers/ollama.ts +544 -0
- package/src/providers/openai-anthropic-shim.ts +138 -0
- package/src/providers/openai-chat-server-schema.ts +243 -0
- package/src/providers/openai-chat-server.ts +628 -0
- package/src/providers/openai-codex/constants.ts +43 -0
- package/src/providers/openai-codex/request-transformer.ts +161 -0
- package/src/providers/openai-codex/response-handler.ts +81 -0
- package/src/providers/openai-codex-responses.ts +2598 -0
- package/src/providers/openai-completions-compat.ts +279 -0
- package/src/providers/openai-completions.ts +1853 -0
- package/src/providers/openai-responses-server-schema.ts +290 -0
- package/src/providers/openai-responses-server.ts +1183 -0
- package/src/providers/openai-responses-shared.ts +800 -0
- package/src/providers/openai-responses.ts +621 -0
- package/src/providers/pi-native-client.ts +228 -0
- package/src/providers/pi-native-server.ts +210 -0
- package/src/providers/register-builtins.ts +412 -0
- package/src/providers/synthetic.ts +50 -0
- package/src/providers/transform-messages.ts +309 -0
- package/src/providers/vision-guard.ts +31 -0
- package/src/rate-limit-utils.ts +84 -0
- package/src/stream.ts +895 -0
- package/src/types.ts +884 -0
- package/src/usage/claude.ts +431 -0
- package/src/usage/gemini.ts +250 -0
- package/src/usage/github-copilot.ts +421 -0
- package/src/usage/google-antigravity.ts +201 -0
- package/src/usage/kimi.ts +271 -0
- package/src/usage/minimax-code.ts +31 -0
- package/src/usage/openai-codex.ts +503 -0
- package/src/usage/shared.ts +10 -0
- package/src/usage/zai.ts +247 -0
- package/src/usage.ts +183 -0
- package/src/utils/abort.ts +51 -0
- package/src/utils/anthropic-auth.ts +87 -0
- package/src/utils/discovery/antigravity.ts +261 -0
- package/src/utils/discovery/codex.ts +371 -0
- package/src/utils/discovery/cursor.ts +306 -0
- package/src/utils/discovery/gemini.ts +248 -0
- package/src/utils/discovery/index.ts +4 -0
- package/src/utils/discovery/openai-compatible.ts +224 -0
- package/src/utils/event-stream.ts +142 -0
- package/src/utils/fireworks-model-id.ts +30 -0
- package/src/utils/foundry.ts +8 -0
- package/src/utils/h2-fetch.ts +60 -0
- package/src/utils/http-inspector.ts +176 -0
- package/src/utils/idle-iterator.ts +250 -0
- package/src/utils/json-parse.ts +148 -0
- package/src/utils/oauth/alibaba-coding-plan.ts +59 -0
- package/src/utils/oauth/anthropic.ts +200 -0
- package/src/utils/oauth/api-key-login.ts +87 -0
- package/src/utils/oauth/api-key-validation.ts +92 -0
- package/src/utils/oauth/callback-server.ts +276 -0
- package/src/utils/oauth/cerebras.ts +16 -0
- package/src/utils/oauth/cloudflare-ai-gateway.ts +48 -0
- package/src/utils/oauth/cursor.ts +157 -0
- package/src/utils/oauth/deepseek.ts +53 -0
- package/src/utils/oauth/firepass.ts +24 -0
- package/src/utils/oauth/fireworks.ts +15 -0
- package/src/utils/oauth/github-copilot.ts +362 -0
- package/src/utils/oauth/gitlab-duo.ts +123 -0
- package/src/utils/oauth/google-antigravity.ts +200 -0
- package/src/utils/oauth/google-gemini-cli.ts +256 -0
- package/src/utils/oauth/google-oauth-shared.ts +110 -0
- package/src/utils/oauth/huggingface.ts +62 -0
- package/src/utils/oauth/index.ts +444 -0
- package/src/utils/oauth/kagi.ts +47 -0
- package/src/utils/oauth/kilo.ts +87 -0
- package/src/utils/oauth/kimi.ts +254 -0
- package/src/utils/oauth/litellm.ts +47 -0
- package/src/utils/oauth/lm-studio.ts +38 -0
- package/src/utils/oauth/minimax-code.ts +78 -0
- package/src/utils/oauth/moonshot.ts +16 -0
- package/src/utils/oauth/nanogpt.ts +15 -0
- package/src/utils/oauth/nvidia.ts +70 -0
- package/src/utils/oauth/oauth.html +199 -0
- package/src/utils/oauth/ollama-cloud.ts +28 -0
- package/src/utils/oauth/ollama.ts +47 -0
- package/src/utils/oauth/openai-codex.ts +299 -0
- package/src/utils/oauth/opencode.ts +49 -0
- package/src/utils/oauth/parallel.ts +46 -0
- package/src/utils/oauth/perplexity.ts +206 -0
- package/src/utils/oauth/pkce.ts +18 -0
- package/src/utils/oauth/qianfan.ts +58 -0
- package/src/utils/oauth/qwen-portal.ts +60 -0
- package/src/utils/oauth/synthetic.ts +16 -0
- package/src/utils/oauth/tavily.ts +46 -0
- package/src/utils/oauth/together.ts +16 -0
- package/src/utils/oauth/types.ts +94 -0
- package/src/utils/oauth/venice.ts +59 -0
- package/src/utils/oauth/vercel-ai-gateway.ts +47 -0
- package/src/utils/oauth/vllm.ts +40 -0
- package/src/utils/oauth/xiaomi.ts +137 -0
- package/src/utils/oauth/zai.ts +60 -0
- package/src/utils/oauth/zenmux.ts +15 -0
- package/src/utils/overflow.ts +137 -0
- package/src/utils/parse-bind.ts +54 -0
- package/src/utils/provider-response.ts +30 -0
- package/src/utils/retry-after.ts +110 -0
- package/src/utils/retry.ts +54 -0
- package/src/utils/schema/CONSTRAINTS.md +164 -0
- package/src/utils/schema/adapt.ts +36 -0
- package/src/utils/schema/compatibility.ts +435 -0
- package/src/utils/schema/dereference.ts +98 -0
- package/src/utils/schema/draft.ts +341 -0
- package/src/utils/schema/equality.ts +97 -0
- package/src/utils/schema/fields.ts +190 -0
- package/src/utils/schema/index.ts +13 -0
- package/src/utils/schema/json-schema-validator.ts +577 -0
- package/src/utils/schema/meta-validator.ts +167 -0
- package/src/utils/schema/normalize.ts +1588 -0
- package/src/utils/schema/spill.ts +43 -0
- package/src/utils/schema/stamps.ts +97 -0
- package/src/utils/schema/types.ts +11 -0
- package/src/utils/schema/wire.ts +213 -0
- package/src/utils/schema/zod-decontaminate.ts +331 -0
- package/src/utils/sse-debug.ts +289 -0
- package/src/utils/tool-call-healing.ts +271 -0
- package/src/utils/tool-choice.ts +99 -0
- package/src/utils/validation.ts +1019 -0
- package/src/utils.ts +166 -0
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod schemas for the Anthropic Messages API request shape we accept on the
|
|
3
|
+
* gateway. Mirrors https://docs.anthropic.com/en/api/messages — only the
|
|
4
|
+
* shapes the gateway actually understands; unsupported fields are caught with
|
|
5
|
+
* `.refine(...)` so the error mentions them explicitly.
|
|
6
|
+
*
|
|
7
|
+
* Used by `anthropic-messages.ts:parseRequest` to validate the inbound JSON
|
|
8
|
+
* before walking it into pi-ai's canonical `Context`.
|
|
9
|
+
*/
|
|
10
|
+
import type { ContentBlockParam, ImageBlockParam, MessageCreateParams, MessageParam, TextBlockParam, Tool, ToolChoice } from "@anthropic-ai/sdk/resources/messages";
|
|
11
|
+
import * as z from "zod/v4";
|
|
12
|
+
export declare const cacheControlSchema: z.ZodObject<{
|
|
13
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
14
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
15
|
+
}, z.core.$loose>;
|
|
16
|
+
export declare const base64ImageSourceSchema: z.ZodObject<{
|
|
17
|
+
type: z.ZodLiteral<"base64">;
|
|
18
|
+
data: z.ZodString;
|
|
19
|
+
media_type: z.ZodString;
|
|
20
|
+
}, z.core.$strip>;
|
|
21
|
+
export declare const urlImageSourceSchema: z.ZodObject<{
|
|
22
|
+
type: z.ZodLiteral<"url">;
|
|
23
|
+
url: z.ZodURL;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
export declare const fileImageSourceSchema: z.ZodObject<{
|
|
26
|
+
type: z.ZodLiteral<"file">;
|
|
27
|
+
file_id: z.ZodString;
|
|
28
|
+
}, z.core.$strip>;
|
|
29
|
+
export declare const imageSourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
30
|
+
type: z.ZodLiteral<"base64">;
|
|
31
|
+
data: z.ZodString;
|
|
32
|
+
media_type: z.ZodString;
|
|
33
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
34
|
+
type: z.ZodLiteral<"url">;
|
|
35
|
+
url: z.ZodURL;
|
|
36
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
37
|
+
type: z.ZodLiteral<"file">;
|
|
38
|
+
file_id: z.ZodString;
|
|
39
|
+
}, z.core.$strip>], "type">;
|
|
40
|
+
export declare const systemSchema: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodObject<{
|
|
41
|
+
type: z.ZodLiteral<"text">;
|
|
42
|
+
text: z.ZodString;
|
|
43
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
44
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
45
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
46
|
+
}, z.core.$loose>>;
|
|
47
|
+
}, z.core.$strip>>]>>;
|
|
48
|
+
export declare const userMessageSchema: z.ZodObject<{
|
|
49
|
+
role: z.ZodLiteral<"user">;
|
|
50
|
+
content: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
51
|
+
type: z.ZodLiteral<"text">;
|
|
52
|
+
text: z.ZodString;
|
|
53
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
54
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
55
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
56
|
+
}, z.core.$loose>>;
|
|
57
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
58
|
+
type: z.ZodLiteral<"image">;
|
|
59
|
+
source: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
60
|
+
type: z.ZodLiteral<"base64">;
|
|
61
|
+
data: z.ZodString;
|
|
62
|
+
media_type: z.ZodString;
|
|
63
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
64
|
+
type: z.ZodLiteral<"url">;
|
|
65
|
+
url: z.ZodURL;
|
|
66
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
67
|
+
type: z.ZodLiteral<"file">;
|
|
68
|
+
file_id: z.ZodString;
|
|
69
|
+
}, z.core.$strip>], "type">;
|
|
70
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
71
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
72
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
73
|
+
}, z.core.$loose>>;
|
|
74
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
75
|
+
type: z.ZodLiteral<"tool_result">;
|
|
76
|
+
tool_use_id: z.ZodString;
|
|
77
|
+
content: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
78
|
+
type: z.ZodLiteral<"text">;
|
|
79
|
+
text: z.ZodString;
|
|
80
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
81
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
82
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
83
|
+
}, z.core.$loose>>;
|
|
84
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
85
|
+
type: z.ZodLiteral<"image">;
|
|
86
|
+
source: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
87
|
+
type: z.ZodLiteral<"base64">;
|
|
88
|
+
data: z.ZodString;
|
|
89
|
+
media_type: z.ZodString;
|
|
90
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
91
|
+
type: z.ZodLiteral<"url">;
|
|
92
|
+
url: z.ZodURL;
|
|
93
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
94
|
+
type: z.ZodLiteral<"file">;
|
|
95
|
+
file_id: z.ZodString;
|
|
96
|
+
}, z.core.$strip>], "type">;
|
|
97
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
98
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
99
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
100
|
+
}, z.core.$loose>>;
|
|
101
|
+
}, z.core.$strip>], "type">>]>>;
|
|
102
|
+
is_error: z.ZodOptional<z.ZodBoolean>;
|
|
103
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
104
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
105
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
106
|
+
}, z.core.$loose>>;
|
|
107
|
+
}, z.core.$strip>], "type">, z.ZodObject<{
|
|
108
|
+
type: z.ZodString;
|
|
109
|
+
}, z.core.$loose>]>>]>;
|
|
110
|
+
}, z.core.$strip>;
|
|
111
|
+
export declare const assistantMessageSchema: z.ZodObject<{
|
|
112
|
+
role: z.ZodLiteral<"assistant">;
|
|
113
|
+
content: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
114
|
+
type: z.ZodLiteral<"text">;
|
|
115
|
+
text: z.ZodString;
|
|
116
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
117
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
118
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
119
|
+
}, z.core.$loose>>;
|
|
120
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
121
|
+
type: z.ZodLiteral<"thinking">;
|
|
122
|
+
thinking: z.ZodString;
|
|
123
|
+
signature: z.ZodOptional<z.ZodString>;
|
|
124
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
125
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
126
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
127
|
+
}, z.core.$loose>>;
|
|
128
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
129
|
+
type: z.ZodLiteral<"redacted_thinking">;
|
|
130
|
+
data: z.ZodString;
|
|
131
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
132
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
133
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
134
|
+
}, z.core.$loose>>;
|
|
135
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
136
|
+
type: z.ZodLiteral<"tool_use">;
|
|
137
|
+
id: z.ZodString;
|
|
138
|
+
name: z.ZodString;
|
|
139
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
140
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
141
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
142
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
143
|
+
}, z.core.$loose>>;
|
|
144
|
+
}, z.core.$strip>], "type">, z.ZodObject<{
|
|
145
|
+
type: z.ZodString;
|
|
146
|
+
}, z.core.$loose>]>>]>;
|
|
147
|
+
}, z.core.$strip>;
|
|
148
|
+
export declare const messageSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
149
|
+
role: z.ZodLiteral<"user">;
|
|
150
|
+
content: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
151
|
+
type: z.ZodLiteral<"text">;
|
|
152
|
+
text: z.ZodString;
|
|
153
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
154
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
155
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
156
|
+
}, z.core.$loose>>;
|
|
157
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
158
|
+
type: z.ZodLiteral<"image">;
|
|
159
|
+
source: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
160
|
+
type: z.ZodLiteral<"base64">;
|
|
161
|
+
data: z.ZodString;
|
|
162
|
+
media_type: z.ZodString;
|
|
163
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
164
|
+
type: z.ZodLiteral<"url">;
|
|
165
|
+
url: z.ZodURL;
|
|
166
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
167
|
+
type: z.ZodLiteral<"file">;
|
|
168
|
+
file_id: z.ZodString;
|
|
169
|
+
}, z.core.$strip>], "type">;
|
|
170
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
171
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
172
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
173
|
+
}, z.core.$loose>>;
|
|
174
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
175
|
+
type: z.ZodLiteral<"tool_result">;
|
|
176
|
+
tool_use_id: z.ZodString;
|
|
177
|
+
content: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
178
|
+
type: z.ZodLiteral<"text">;
|
|
179
|
+
text: z.ZodString;
|
|
180
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
181
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
182
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
183
|
+
}, z.core.$loose>>;
|
|
184
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
185
|
+
type: z.ZodLiteral<"image">;
|
|
186
|
+
source: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
187
|
+
type: z.ZodLiteral<"base64">;
|
|
188
|
+
data: z.ZodString;
|
|
189
|
+
media_type: z.ZodString;
|
|
190
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
191
|
+
type: z.ZodLiteral<"url">;
|
|
192
|
+
url: z.ZodURL;
|
|
193
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
194
|
+
type: z.ZodLiteral<"file">;
|
|
195
|
+
file_id: z.ZodString;
|
|
196
|
+
}, z.core.$strip>], "type">;
|
|
197
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
198
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
199
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
200
|
+
}, z.core.$loose>>;
|
|
201
|
+
}, z.core.$strip>], "type">>]>>;
|
|
202
|
+
is_error: z.ZodOptional<z.ZodBoolean>;
|
|
203
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
204
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
205
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
206
|
+
}, z.core.$loose>>;
|
|
207
|
+
}, z.core.$strip>], "type">, z.ZodObject<{
|
|
208
|
+
type: z.ZodString;
|
|
209
|
+
}, z.core.$loose>]>>]>;
|
|
210
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
211
|
+
role: z.ZodLiteral<"assistant">;
|
|
212
|
+
content: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
213
|
+
type: z.ZodLiteral<"text">;
|
|
214
|
+
text: z.ZodString;
|
|
215
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
216
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
217
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
218
|
+
}, z.core.$loose>>;
|
|
219
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
220
|
+
type: z.ZodLiteral<"thinking">;
|
|
221
|
+
thinking: z.ZodString;
|
|
222
|
+
signature: z.ZodOptional<z.ZodString>;
|
|
223
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
224
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
225
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
226
|
+
}, z.core.$loose>>;
|
|
227
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
228
|
+
type: z.ZodLiteral<"redacted_thinking">;
|
|
229
|
+
data: z.ZodString;
|
|
230
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
231
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
232
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
233
|
+
}, z.core.$loose>>;
|
|
234
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
235
|
+
type: z.ZodLiteral<"tool_use">;
|
|
236
|
+
id: z.ZodString;
|
|
237
|
+
name: z.ZodString;
|
|
238
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
239
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
240
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
241
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
242
|
+
}, z.core.$loose>>;
|
|
243
|
+
}, z.core.$strip>], "type">, z.ZodObject<{
|
|
244
|
+
type: z.ZodString;
|
|
245
|
+
}, z.core.$loose>]>>]>;
|
|
246
|
+
}, z.core.$strip>], "role">;
|
|
247
|
+
export declare const toolSchema: z.ZodObject<{
|
|
248
|
+
name: z.ZodString;
|
|
249
|
+
description: z.ZodOptional<z.ZodString>;
|
|
250
|
+
input_schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
251
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
252
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
253
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
254
|
+
}, z.core.$loose>>;
|
|
255
|
+
}, z.core.$strip>;
|
|
256
|
+
export declare const toolChoiceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
257
|
+
type: z.ZodLiteral<"auto">;
|
|
258
|
+
disable_parallel_tool_use: z.ZodOptional<z.ZodBoolean>;
|
|
259
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
260
|
+
type: z.ZodLiteral<"any">;
|
|
261
|
+
disable_parallel_tool_use: z.ZodOptional<z.ZodBoolean>;
|
|
262
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
263
|
+
type: z.ZodLiteral<"none">;
|
|
264
|
+
disable_parallel_tool_use: z.ZodOptional<z.ZodBoolean>;
|
|
265
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
266
|
+
type: z.ZodLiteral<"tool">;
|
|
267
|
+
name: z.ZodString;
|
|
268
|
+
disable_parallel_tool_use: z.ZodOptional<z.ZodBoolean>;
|
|
269
|
+
}, z.core.$strip>], "type">;
|
|
270
|
+
export declare const thinkingConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
271
|
+
type: z.ZodLiteral<"enabled">;
|
|
272
|
+
budget_tokens: z.ZodNumber;
|
|
273
|
+
display: z.ZodOptional<z.ZodUnknown>;
|
|
274
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
275
|
+
type: z.ZodLiteral<"disabled">;
|
|
276
|
+
display: z.ZodOptional<z.ZodUnknown>;
|
|
277
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
278
|
+
type: z.ZodLiteral<"adaptive">;
|
|
279
|
+
budget_tokens: z.ZodOptional<z.ZodNumber>;
|
|
280
|
+
display: z.ZodOptional<z.ZodUnknown>;
|
|
281
|
+
}, z.core.$strip>], "type">;
|
|
282
|
+
export declare const anthropicMessagesRequestSchema: z.ZodObject<{
|
|
283
|
+
model: z.ZodString;
|
|
284
|
+
messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
285
|
+
role: z.ZodLiteral<"user">;
|
|
286
|
+
content: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
287
|
+
type: z.ZodLiteral<"text">;
|
|
288
|
+
text: z.ZodString;
|
|
289
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
290
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
291
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
292
|
+
}, z.core.$loose>>;
|
|
293
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
294
|
+
type: z.ZodLiteral<"image">;
|
|
295
|
+
source: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
296
|
+
type: z.ZodLiteral<"base64">;
|
|
297
|
+
data: z.ZodString;
|
|
298
|
+
media_type: z.ZodString;
|
|
299
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
300
|
+
type: z.ZodLiteral<"url">;
|
|
301
|
+
url: z.ZodURL;
|
|
302
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
303
|
+
type: z.ZodLiteral<"file">;
|
|
304
|
+
file_id: z.ZodString;
|
|
305
|
+
}, z.core.$strip>], "type">;
|
|
306
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
307
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
308
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
309
|
+
}, z.core.$loose>>;
|
|
310
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
311
|
+
type: z.ZodLiteral<"tool_result">;
|
|
312
|
+
tool_use_id: z.ZodString;
|
|
313
|
+
content: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
314
|
+
type: z.ZodLiteral<"text">;
|
|
315
|
+
text: z.ZodString;
|
|
316
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
317
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
318
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
319
|
+
}, z.core.$loose>>;
|
|
320
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
321
|
+
type: z.ZodLiteral<"image">;
|
|
322
|
+
source: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
323
|
+
type: z.ZodLiteral<"base64">;
|
|
324
|
+
data: z.ZodString;
|
|
325
|
+
media_type: z.ZodString;
|
|
326
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
327
|
+
type: z.ZodLiteral<"url">;
|
|
328
|
+
url: z.ZodURL;
|
|
329
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
330
|
+
type: z.ZodLiteral<"file">;
|
|
331
|
+
file_id: z.ZodString;
|
|
332
|
+
}, z.core.$strip>], "type">;
|
|
333
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
334
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
335
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
336
|
+
}, z.core.$loose>>;
|
|
337
|
+
}, z.core.$strip>], "type">>]>>;
|
|
338
|
+
is_error: z.ZodOptional<z.ZodBoolean>;
|
|
339
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
340
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
341
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
342
|
+
}, z.core.$loose>>;
|
|
343
|
+
}, z.core.$strip>], "type">, z.ZodObject<{
|
|
344
|
+
type: z.ZodString;
|
|
345
|
+
}, z.core.$loose>]>>]>;
|
|
346
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
347
|
+
role: z.ZodLiteral<"assistant">;
|
|
348
|
+
content: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
349
|
+
type: z.ZodLiteral<"text">;
|
|
350
|
+
text: z.ZodString;
|
|
351
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
352
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
353
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
354
|
+
}, z.core.$loose>>;
|
|
355
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
356
|
+
type: z.ZodLiteral<"thinking">;
|
|
357
|
+
thinking: z.ZodString;
|
|
358
|
+
signature: z.ZodOptional<z.ZodString>;
|
|
359
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
360
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
361
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
362
|
+
}, z.core.$loose>>;
|
|
363
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
364
|
+
type: z.ZodLiteral<"redacted_thinking">;
|
|
365
|
+
data: z.ZodString;
|
|
366
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
367
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
368
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
369
|
+
}, z.core.$loose>>;
|
|
370
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
371
|
+
type: z.ZodLiteral<"tool_use">;
|
|
372
|
+
id: z.ZodString;
|
|
373
|
+
name: z.ZodString;
|
|
374
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
375
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
376
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
377
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
378
|
+
}, z.core.$loose>>;
|
|
379
|
+
}, z.core.$strip>], "type">, z.ZodObject<{
|
|
380
|
+
type: z.ZodString;
|
|
381
|
+
}, z.core.$loose>]>>]>;
|
|
382
|
+
}, z.core.$strip>], "role">>;
|
|
383
|
+
max_tokens: z.ZodNumber;
|
|
384
|
+
system: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodObject<{
|
|
385
|
+
type: z.ZodLiteral<"text">;
|
|
386
|
+
text: z.ZodString;
|
|
387
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
388
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
389
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
390
|
+
}, z.core.$loose>>;
|
|
391
|
+
}, z.core.$strip>>]>>;
|
|
392
|
+
tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
393
|
+
name: z.ZodString;
|
|
394
|
+
description: z.ZodOptional<z.ZodString>;
|
|
395
|
+
input_schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
396
|
+
cache_control: z.ZodOptional<z.ZodObject<{
|
|
397
|
+
type: z.ZodLiteral<"ephemeral">;
|
|
398
|
+
ttl: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"1h">, z.ZodLiteral<"5m">]>>;
|
|
399
|
+
}, z.core.$loose>>;
|
|
400
|
+
}, z.core.$strip>>>;
|
|
401
|
+
tool_choice: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
402
|
+
type: z.ZodLiteral<"auto">;
|
|
403
|
+
disable_parallel_tool_use: z.ZodOptional<z.ZodBoolean>;
|
|
404
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
405
|
+
type: z.ZodLiteral<"any">;
|
|
406
|
+
disable_parallel_tool_use: z.ZodOptional<z.ZodBoolean>;
|
|
407
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
408
|
+
type: z.ZodLiteral<"none">;
|
|
409
|
+
disable_parallel_tool_use: z.ZodOptional<z.ZodBoolean>;
|
|
410
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
411
|
+
type: z.ZodLiteral<"tool">;
|
|
412
|
+
name: z.ZodString;
|
|
413
|
+
disable_parallel_tool_use: z.ZodOptional<z.ZodBoolean>;
|
|
414
|
+
}, z.core.$strip>], "type">>;
|
|
415
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
416
|
+
top_p: z.ZodOptional<z.ZodNumber>;
|
|
417
|
+
top_k: z.ZodOptional<z.ZodNumber>;
|
|
418
|
+
stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
419
|
+
stream: z.ZodOptional<z.ZodBoolean>;
|
|
420
|
+
thinking: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
421
|
+
type: z.ZodLiteral<"enabled">;
|
|
422
|
+
budget_tokens: z.ZodNumber;
|
|
423
|
+
display: z.ZodOptional<z.ZodUnknown>;
|
|
424
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
425
|
+
type: z.ZodLiteral<"disabled">;
|
|
426
|
+
display: z.ZodOptional<z.ZodUnknown>;
|
|
427
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
428
|
+
type: z.ZodLiteral<"adaptive">;
|
|
429
|
+
budget_tokens: z.ZodOptional<z.ZodNumber>;
|
|
430
|
+
display: z.ZodOptional<z.ZodUnknown>;
|
|
431
|
+
}, z.core.$strip>], "type">>;
|
|
432
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
433
|
+
container: z.ZodOptional<z.ZodUnknown>;
|
|
434
|
+
context_management: z.ZodOptional<z.ZodUnknown>;
|
|
435
|
+
mcp_servers: z.ZodOptional<z.ZodUnknown>;
|
|
436
|
+
service_tier: z.ZodOptional<z.ZodUnknown>;
|
|
437
|
+
}, z.core.$strip>;
|
|
438
|
+
/**
|
|
439
|
+
* Public types are sourced from the upstream Anthropic SDK so the gateway
|
|
440
|
+
* stays in lock-step with the canonical API surface; the schemas above are
|
|
441
|
+
* runtime validators for the subset we actually accept.
|
|
442
|
+
*/
|
|
443
|
+
export type AnthropicMessagesRequest = MessageCreateParams;
|
|
444
|
+
export type AnthropicSystem = MessageCreateParams["system"];
|
|
445
|
+
export type AnthropicMessage = MessageParam;
|
|
446
|
+
export type AnthropicUserContentBlock = ContentBlockParam;
|
|
447
|
+
export type AnthropicAssistantContentBlock = ContentBlockParam;
|
|
448
|
+
export type AnthropicTool = Tool;
|
|
449
|
+
export type AnthropicToolChoice = ToolChoice;
|
|
450
|
+
export type AnthropicToolResultContent = TextBlockParam | ImageBlockParam;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AssistantMessage, AssistantMessageEventStream } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Anthropic Messages API (https://docs.anthropic.com/en/api/messages) ↔ pi-ai
|
|
4
|
+
* gateway translation. Inbound: foreign HTTP body → gjc Context. Outbound:
|
|
5
|
+
* gjc AssistantMessage[Stream] → Anthropic-shaped JSON / SSE.
|
|
6
|
+
*/
|
|
7
|
+
import type { AuthGatewayParsedRequest as ParsedRequest } from "../auth-gateway/types";
|
|
8
|
+
export type { ParsedRequest };
|
|
9
|
+
export declare function parseRequest(body: unknown, headers?: Headers): ParsedRequest;
|
|
10
|
+
export declare function encodeResponse(message: AssistantMessage, requestedModelId: string): Record<string, unknown>;
|
|
11
|
+
export declare function encodeStream(events: AssistantMessageEventStream, requestedModelId: string): ReadableStream<Uint8Array>;
|
|
12
|
+
/**
|
|
13
|
+
* Anthropic error envelope: `{ type: "error", error: { type, message } }`.
|
|
14
|
+
* See https://docs.anthropic.com/en/api/errors. Returned as a `Response` so
|
|
15
|
+
* the gateway can hand it straight back to the client without extra wrapping.
|
|
16
|
+
*/
|
|
17
|
+
export declare function formatError(status: number, type: string, message: string): Response;
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import Anthropic, { type ClientOptions as AnthropicSdkClientOptions } from "@anthropic-ai/sdk";
|
|
2
|
+
import type { MessageParam } from "@anthropic-ai/sdk/resources/messages";
|
|
3
|
+
import type { FetchImpl, Message, Model, ProviderSessionState, ServiceTier, SimpleStreamOptions, StreamFunction, StreamOptions, Usage } from "../types";
|
|
4
|
+
export type AnthropicHeaderOptions = {
|
|
5
|
+
apiKey: string;
|
|
6
|
+
baseUrl?: string;
|
|
7
|
+
isOAuth?: boolean;
|
|
8
|
+
extraBetas?: string[];
|
|
9
|
+
stream?: boolean;
|
|
10
|
+
modelHeaders?: Record<string, string>;
|
|
11
|
+
isCloudflareAiGateway?: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare function normalizeAnthropicBaseUrl(baseUrl?: string): string | undefined;
|
|
14
|
+
export declare function buildBetaHeader(baseBetas: string[], extraBetas: string[]): string;
|
|
15
|
+
export declare function buildAnthropicHeaders(options: AnthropicHeaderOptions): Record<string, string>;
|
|
16
|
+
type AnthropicCacheControl = {
|
|
17
|
+
type: "ephemeral";
|
|
18
|
+
ttl?: "1h" | "5m";
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Clears the in-session "server rejected fast mode" sticky flag. Call when the
|
|
22
|
+
* caller is explicitly re-arming `serviceTier: "priority"` (e.g. user toggled
|
|
23
|
+
* `/fast on` after a previous turn auto-disabled it) so the next request
|
|
24
|
+
* actually carries `speed: "fast"` again. No-op when the map or state entry
|
|
25
|
+
* hasn't been materialized yet.
|
|
26
|
+
*/
|
|
27
|
+
export declare function clearAnthropicFastModeFallback(providerSessionState: Map<string, ProviderSessionState> | undefined): void;
|
|
28
|
+
export declare function isAnthropicFastModeUnsupportedError(error: unknown): boolean;
|
|
29
|
+
export declare const claudeCodeVersion = "2.1.63";
|
|
30
|
+
export declare const claudeToolPrefix: string;
|
|
31
|
+
export declare const claudeCodeSystemInstruction = "You are a Claude agent, built on Anthropic's Claude Agent SDK.";
|
|
32
|
+
export declare function mapStainlessOs(platform: string): "MacOS" | "Windows" | "Linux" | "FreeBSD" | `Other::${string}`;
|
|
33
|
+
export declare function mapStainlessArch(arch: string): "x64" | "arm64" | "x86" | `other::${string}`;
|
|
34
|
+
export declare const claudeCodeHeaders: {
|
|
35
|
+
readonly "X-Stainless-Retry-Count": "0";
|
|
36
|
+
readonly "X-Stainless-Runtime-Version": "v24.3.0";
|
|
37
|
+
readonly "X-Stainless-Package-Version": "0.74.0";
|
|
38
|
+
readonly "X-Stainless-Runtime": "node";
|
|
39
|
+
readonly "X-Stainless-Lang": "js";
|
|
40
|
+
readonly "X-Stainless-Arch": "arm64" | "x64" | "x86" | `other::${string}`;
|
|
41
|
+
readonly "X-Stainless-Os": "FreeBSD" | "Linux" | "MacOS" | "Windows" | `Other::${string}`;
|
|
42
|
+
readonly "X-Stainless-Timeout": "600";
|
|
43
|
+
};
|
|
44
|
+
export declare function isClaudeCloakingUserId(userId: string): boolean;
|
|
45
|
+
export declare function generateClaudeCloakingUserId(): string;
|
|
46
|
+
export declare const applyClaudeToolPrefix: (name: string, prefixOverride?: string) => string;
|
|
47
|
+
export declare const stripClaudeToolPrefix: (name: string, prefixOverride?: string) => string;
|
|
48
|
+
export type AnthropicEffort = "low" | "medium" | "high" | "xhigh" | "max";
|
|
49
|
+
export type AnthropicThinkingDisplay = "summarized" | "omitted";
|
|
50
|
+
export interface AnthropicOptions extends StreamOptions {
|
|
51
|
+
/**
|
|
52
|
+
* Enable extended thinking.
|
|
53
|
+
* For Opus 4.6+: uses adaptive thinking (Anthropic model decides when/how much to think).
|
|
54
|
+
* For older models: uses budget-based thinking with thinkingBudgetTokens.
|
|
55
|
+
*/
|
|
56
|
+
thinkingEnabled?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Token budget for extended thinking (older models only).
|
|
59
|
+
* Ignored for Opus 4.6+ which uses adaptive thinking.
|
|
60
|
+
*/
|
|
61
|
+
thinkingBudgetTokens?: number;
|
|
62
|
+
/**
|
|
63
|
+
* Effort level for adaptive thinking (Opus 4.6+ only).
|
|
64
|
+
* Controls how much thinking Anthropic model allocates:
|
|
65
|
+
* - "max": Always thinks with no constraints
|
|
66
|
+
* - "high": Always thinks, deep reasoning (default)
|
|
67
|
+
* - "medium": Moderate thinking, may skip for simple queries
|
|
68
|
+
* - "low": Minimal thinking, skips for simple tasks
|
|
69
|
+
* Ignored for older models.
|
|
70
|
+
*/
|
|
71
|
+
effort?: AnthropicEffort;
|
|
72
|
+
/**
|
|
73
|
+
* Optional reasoning level fallback for direct Anthropic provider usage.
|
|
74
|
+
* Converted to adaptive effort when effort is not explicitly provided.
|
|
75
|
+
*/
|
|
76
|
+
reasoning?: SimpleStreamOptions["reasoning"];
|
|
77
|
+
/**
|
|
78
|
+
* Controls how Anthropic returns thinking content when the selected thinking
|
|
79
|
+
* transport supports a display option. Defaults to "summarized" where the
|
|
80
|
+
* API accepts it.
|
|
81
|
+
*/
|
|
82
|
+
thinkingDisplay?: AnthropicThinkingDisplay;
|
|
83
|
+
interleavedThinking?: boolean;
|
|
84
|
+
toolChoice?: "auto" | "any" | "none" | {
|
|
85
|
+
type: "tool";
|
|
86
|
+
name: string;
|
|
87
|
+
};
|
|
88
|
+
betas?: string[] | string;
|
|
89
|
+
/**
|
|
90
|
+
* Realization of `serviceTier: "priority"` on Anthropic models. When
|
|
91
|
+
* `"priority"`, sets `speed: "fast"` on the request and appends the
|
|
92
|
+
* `fast-mode-2026-02-01` beta header. Anthropic rejects unsupported models
|
|
93
|
+
* with `invalid_request_error`, which triggers an in-provider one-shot
|
|
94
|
+
* fallback (see `fastModeDisabled` provider state).
|
|
95
|
+
*
|
|
96
|
+
* Other `ServiceTier` values are currently ignored on this provider.
|
|
97
|
+
*/
|
|
98
|
+
serviceTier?: ServiceTier;
|
|
99
|
+
/** Force OAuth bearer auth mode for proxy tokens that don't match Anthropic token prefixes. */
|
|
100
|
+
isOAuth?: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Pre-built Anthropic client instance. When provided, skips internal client
|
|
103
|
+
* construction entirely. Use this to inject alternative SDK clients such as
|
|
104
|
+
* `AnthropicVertex` that shares the same messaging API.
|
|
105
|
+
*/
|
|
106
|
+
client?: Anthropic;
|
|
107
|
+
}
|
|
108
|
+
export type AnthropicClientOptionsArgs = {
|
|
109
|
+
model: Model<"anthropic-messages">;
|
|
110
|
+
apiKey: string;
|
|
111
|
+
extraBetas?: string[];
|
|
112
|
+
stream?: boolean;
|
|
113
|
+
interleavedThinking?: boolean;
|
|
114
|
+
headers?: Record<string, string>;
|
|
115
|
+
dynamicHeaders?: Record<string, string>;
|
|
116
|
+
isOAuth?: boolean;
|
|
117
|
+
hasTools?: boolean;
|
|
118
|
+
onSseEvent?: AnthropicOptions["onSseEvent"];
|
|
119
|
+
fetch?: FetchImpl;
|
|
120
|
+
};
|
|
121
|
+
export type AnthropicClientOptionsResult = {
|
|
122
|
+
isOAuthToken: boolean;
|
|
123
|
+
apiKey: string | null;
|
|
124
|
+
authToken?: string | null;
|
|
125
|
+
baseURL?: string;
|
|
126
|
+
maxRetries: number;
|
|
127
|
+
dangerouslyAllowBrowser: boolean;
|
|
128
|
+
defaultHeaders: Record<string, string>;
|
|
129
|
+
logLevel: AnthropicSdkClientOptions["logLevel"];
|
|
130
|
+
fetch?: AnthropicSdkClientOptions["fetch"];
|
|
131
|
+
fetchOptions?: AnthropicSdkClientOptions["fetchOptions"];
|
|
132
|
+
};
|
|
133
|
+
export declare function isProviderRetryableError(error: unknown, provider?: string): boolean;
|
|
134
|
+
export type AnthropicUsageLike = {
|
|
135
|
+
cache_creation?: {
|
|
136
|
+
ephemeral_5m_input_tokens?: number | null;
|
|
137
|
+
ephemeral_1h_input_tokens?: number | null;
|
|
138
|
+
} | null;
|
|
139
|
+
server_tool_use?: {
|
|
140
|
+
web_search_requests?: number | null;
|
|
141
|
+
web_fetch_requests?: number | null;
|
|
142
|
+
} | null;
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Capture Anthropic's optional cache-creation TTL breakdown and server-tool-use
|
|
146
|
+
* counters into the harness Usage shape. Only sets fields that were reported, so
|
|
147
|
+
* a `message_delta` that omits `cache_creation` does not clobber the breakdown
|
|
148
|
+
* established at `message_start`.
|
|
149
|
+
*/
|
|
150
|
+
export declare function applyAnthropicUsageExtras(usage: Usage, source: AnthropicUsageLike): void;
|
|
151
|
+
export declare const streamAnthropic: StreamFunction<"anthropic-messages">;
|
|
152
|
+
export type AnthropicSystemBlock = {
|
|
153
|
+
type: "text";
|
|
154
|
+
text: string;
|
|
155
|
+
cache_control?: AnthropicCacheControl;
|
|
156
|
+
};
|
|
157
|
+
type SystemBlockOptions = {
|
|
158
|
+
includeClaudeCodeInstruction?: boolean;
|
|
159
|
+
extraInstructions?: string[];
|
|
160
|
+
billingPayload?: unknown;
|
|
161
|
+
cacheControl?: AnthropicCacheControl;
|
|
162
|
+
};
|
|
163
|
+
export declare function buildAnthropicSystemBlocks(systemPrompt: readonly string[] | undefined, options?: SystemBlockOptions): AnthropicSystemBlock[] | undefined;
|
|
164
|
+
export declare function normalizeExtraBetas(betas?: string[] | string): string[];
|
|
165
|
+
export declare function buildAnthropicClientOptions(args: AnthropicClientOptionsArgs): AnthropicClientOptionsResult;
|
|
166
|
+
export declare function convertAnthropicMessages(messages: Message[], model: Model<"anthropic-messages">, isOAuthToken: boolean): MessageParam[];
|
|
167
|
+
/**
|
|
168
|
+
* Normalize a JSON Schema node for Anthropic tool `input_schema`.
|
|
169
|
+
*
|
|
170
|
+
* Applies the full whitelist semantics from the Anthropic Python SDK's
|
|
171
|
+
* `lib/_parse/_transform.py::transform_schema`:
|
|
172
|
+
*
|
|
173
|
+
* 1. Universal keys (`$ref`, `$defs`, `type`, `anyOf`/`oneOf`/`allOf`, `enum`, `const`,
|
|
174
|
+
* `description`, `title`, `default`, `nullable`) are preserved on every node.
|
|
175
|
+
* 2. Per-type keys are kept additively (object → `properties`/`required`/`additionalProperties`,
|
|
176
|
+
* array → `items`/`prefixItems` plus `minItems` only when 0 or 1, string → `format`
|
|
177
|
+
* only when in the supported value set).
|
|
178
|
+
* 3. Everything else is demoted into the node's `description` as `\n\n{key: value, ...}`
|
|
179
|
+
* so the model still sees the constraint as a natural-language hint.
|
|
180
|
+
*
|
|
181
|
+
* Object nodes default to `additionalProperties: false`, but explicit open-map
|
|
182
|
+
* declarations (`additionalProperties: true` or a schema literal — Zod's
|
|
183
|
+
* `z.record(z.string(), z.unknown())` produces `{}`) are preserved. The strict-mode
|
|
184
|
+
* pass downstream demotes those shapes to non-strict instead of fabricating a closed
|
|
185
|
+
* object, so callers like the resolve tool keep working open-map semantics.
|
|
186
|
+
*/
|
|
187
|
+
export declare function normalizeAnthropicToolSchema(schema: unknown): unknown;
|
|
188
|
+
export {};
|