@sayknow-cli/ai 0.3.11 → 0.3.13

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.
Files changed (197) hide show
  1. package/package.json +24 -25
  2. package/src/model-cache.ts +1 -1
  3. package/src/model-manager.ts +14 -3
  4. package/src/model-retirements.ts +13 -0
  5. package/src/model-thinking.ts +34 -2
  6. package/src/models.ts +26 -5
  7. package/src/provider-models/google.ts +1 -0
  8. package/src/providers/amazon-bedrock.ts +37 -33
  9. package/src/providers/anthropic.ts +94 -65
  10. package/src/providers/aws-credential-config.ts +180 -0
  11. package/src/providers/aws-credentials.ts +20 -63
  12. package/src/providers/google-gemini-cli.ts +27 -3
  13. package/src/providers/google-gemini-headers.ts +6 -1
  14. package/src/providers/google-shared.ts +55 -3
  15. package/src/types.ts +2 -0
  16. package/src/utils/discovery/antigravity.ts +16 -2
  17. package/dist/types/api-registry.d.ts +0 -30
  18. package/dist/types/auth-broker/client.d.ts +0 -67
  19. package/dist/types/auth-broker/index.d.ts +0 -5
  20. package/dist/types/auth-broker/refresher.d.ts +0 -25
  21. package/dist/types/auth-broker/remote-store.d.ts +0 -99
  22. package/dist/types/auth-broker/server.d.ts +0 -32
  23. package/dist/types/auth-broker/types.d.ts +0 -110
  24. package/dist/types/auth-broker/wire-schemas.d.ts +0 -443
  25. package/dist/types/auth-gateway/http.d.ts +0 -40
  26. package/dist/types/auth-gateway/index.d.ts +0 -3
  27. package/dist/types/auth-gateway/server.d.ts +0 -17
  28. package/dist/types/auth-gateway/types.d.ts +0 -115
  29. package/dist/types/auth-storage.d.ts +0 -695
  30. package/dist/types/cli.d.ts +0 -2
  31. package/dist/types/index.d.ts +0 -51
  32. package/dist/types/model-cache.d.ts +0 -17
  33. package/dist/types/model-manager.d.ts +0 -62
  34. package/dist/types/model-thinking.d.ts +0 -74
  35. package/dist/types/models.d.ts +0 -12
  36. package/dist/types/provider-details.d.ts +0 -24
  37. package/dist/types/provider-models/bundled-references.d.ts +0 -4
  38. package/dist/types/provider-models/descriptors.d.ts +0 -48
  39. package/dist/types/provider-models/google.d.ts +0 -20
  40. package/dist/types/provider-models/index.d.ts +0 -5
  41. package/dist/types/provider-models/ollama.d.ts +0 -7
  42. package/dist/types/provider-models/openai-compat.d.ts +0 -256
  43. package/dist/types/provider-models/special.d.ts +0 -19
  44. package/dist/types/providers/amazon-bedrock.d.ts +0 -60
  45. package/dist/types/providers/anthropic-messages-server-schema.d.ts +0 -450
  46. package/dist/types/providers/anthropic-messages-server.d.ts +0 -17
  47. package/dist/types/providers/anthropic.d.ts +0 -208
  48. package/dist/types/providers/aws-credentials.d.ts +0 -43
  49. package/dist/types/providers/aws-eventstream.d.ts +0 -38
  50. package/dist/types/providers/aws-sigv4.d.ts +0 -55
  51. package/dist/types/providers/azure-openai-responses.d.ts +0 -15
  52. package/dist/types/providers/composer-discipline.d.ts +0 -26
  53. package/dist/types/providers/cursor/client-version.d.ts +0 -10
  54. package/dist/types/providers/cursor/gen/agent_pb.d.ts +0 -13022
  55. package/dist/types/providers/cursor.d.ts +0 -45
  56. package/dist/types/providers/error-message.d.ts +0 -27
  57. package/dist/types/providers/github-copilot-headers.d.ts +0 -40
  58. package/dist/types/providers/gitlab-duo.d.ts +0 -27
  59. package/dist/types/providers/google-auth.d.ts +0 -24
  60. package/dist/types/providers/google-gemini-cli.d.ts +0 -75
  61. package/dist/types/providers/google-gemini-headers.d.ts +0 -40
  62. package/dist/types/providers/google-shared.d.ts +0 -173
  63. package/dist/types/providers/google-types.d.ts +0 -138
  64. package/dist/types/providers/google-vertex.d.ts +0 -7
  65. package/dist/types/providers/google.d.ts +0 -4
  66. package/dist/types/providers/grammar.d.ts +0 -1
  67. package/dist/types/providers/kimi.d.ts +0 -27
  68. package/dist/types/providers/mock.d.ts +0 -177
  69. package/dist/types/providers/ollama.d.ts +0 -41
  70. package/dist/types/providers/openai-anthropic-shim.d.ts +0 -31
  71. package/dist/types/providers/openai-bounded-rate-limits.d.ts +0 -3
  72. package/dist/types/providers/openai-chat-server-schema.d.ts +0 -815
  73. package/dist/types/providers/openai-chat-server.d.ts +0 -16
  74. package/dist/types/providers/openai-codex/constants.d.ts +0 -26
  75. package/dist/types/providers/openai-codex/request-transformer.d.ts +0 -50
  76. package/dist/types/providers/openai-codex/response-handler.d.ts +0 -17
  77. package/dist/types/providers/openai-codex-responses.d.ts +0 -67
  78. package/dist/types/providers/openai-completions-compat.d.ts +0 -27
  79. package/dist/types/providers/openai-completions.d.ts +0 -33
  80. package/dist/types/providers/openai-request-transform.d.ts +0 -4
  81. package/dist/types/providers/openai-responses-server-schema.d.ts +0 -392
  82. package/dist/types/providers/openai-responses-server.d.ts +0 -17
  83. package/dist/types/providers/openai-responses-shared.d.ts +0 -104
  84. package/dist/types/providers/openai-responses.d.ts +0 -32
  85. package/dist/types/providers/pi-native-client.d.ts +0 -13
  86. package/dist/types/providers/pi-native-server.d.ts +0 -68
  87. package/dist/types/providers/register-builtins.d.ts +0 -31
  88. package/dist/types/providers/synthetic.d.ts +0 -26
  89. package/dist/types/providers/transform-messages.d.ts +0 -14
  90. package/dist/types/providers/vision-guard.d.ts +0 -8
  91. package/dist/types/rate-limit-utils.d.ts +0 -19
  92. package/dist/types/stream.d.ts +0 -43
  93. package/dist/types/types.d.ts +0 -829
  94. package/dist/types/usage/claude.d.ts +0 -3
  95. package/dist/types/usage/gemini.d.ts +0 -2
  96. package/dist/types/usage/github-copilot.d.ts +0 -7
  97. package/dist/types/usage/google-antigravity.d.ts +0 -2
  98. package/dist/types/usage/grok-cli.d.ts +0 -10
  99. package/dist/types/usage/kimi.d.ts +0 -2
  100. package/dist/types/usage/minimax-code.d.ts +0 -2
  101. package/dist/types/usage/openai-codex.d.ts +0 -3
  102. package/dist/types/usage/shared.d.ts +0 -1
  103. package/dist/types/usage/zai.d.ts +0 -2
  104. package/dist/types/usage.d.ts +0 -258
  105. package/dist/types/utils/abort.d.ts +0 -19
  106. package/dist/types/utils/anthropic-auth.d.ts +0 -31
  107. package/dist/types/utils/discovery/antigravity.d.ts +0 -61
  108. package/dist/types/utils/discovery/codex.d.ts +0 -38
  109. package/dist/types/utils/discovery/cursor.d.ts +0 -23
  110. package/dist/types/utils/discovery/gemini.d.ts +0 -25
  111. package/dist/types/utils/discovery/index.d.ts +0 -4
  112. package/dist/types/utils/discovery/openai-compatible.d.ts +0 -74
  113. package/dist/types/utils/event-stream.d.ts +0 -33
  114. package/dist/types/utils/fireworks-model-id.d.ts +0 -10
  115. package/dist/types/utils/foundry.d.ts +0 -1
  116. package/dist/types/utils/h2-fetch.d.ts +0 -22
  117. package/dist/types/utils/http-inspector.d.ts +0 -35
  118. package/dist/types/utils/idle-iterator.d.ts +0 -67
  119. package/dist/types/utils/json-parse.d.ts +0 -18
  120. package/dist/types/utils/oauth/alibaba-coding-plan.d.ts +0 -18
  121. package/dist/types/utils/oauth/anthropic.d.ts +0 -22
  122. package/dist/types/utils/oauth/api-key-login.d.ts +0 -35
  123. package/dist/types/utils/oauth/api-key-validation.d.ts +0 -27
  124. package/dist/types/utils/oauth/callback-server.d.ts +0 -60
  125. package/dist/types/utils/oauth/cerebras.d.ts +0 -1
  126. package/dist/types/utils/oauth/cloudflare-ai-gateway.d.ts +0 -18
  127. package/dist/types/utils/oauth/cursor.d.ts +0 -15
  128. package/dist/types/utils/oauth/deepinfra.d.ts +0 -1
  129. package/dist/types/utils/oauth/deepseek.d.ts +0 -10
  130. package/dist/types/utils/oauth/firepass.d.ts +0 -1
  131. package/dist/types/utils/oauth/fireworks.d.ts +0 -1
  132. package/dist/types/utils/oauth/fugu.d.ts +0 -1
  133. package/dist/types/utils/oauth/github-copilot.d.ts +0 -38
  134. package/dist/types/utils/oauth/gitlab-duo.d.ts +0 -3
  135. package/dist/types/utils/oauth/glm-zcode.d.ts +0 -71
  136. package/dist/types/utils/oauth/google-antigravity.d.ts +0 -11
  137. package/dist/types/utils/oauth/google-gemini-cli.d.ts +0 -10
  138. package/dist/types/utils/oauth/google-oauth-shared.d.ts +0 -28
  139. package/dist/types/utils/oauth/huggingface.d.ts +0 -19
  140. package/dist/types/utils/oauth/index.d.ts +0 -39
  141. package/dist/types/utils/oauth/kagi.d.ts +0 -17
  142. package/dist/types/utils/oauth/kilo.d.ts +0 -5
  143. package/dist/types/utils/oauth/kimi.d.ts +0 -21
  144. package/dist/types/utils/oauth/litellm.d.ts +0 -18
  145. package/dist/types/utils/oauth/lm-studio.d.ts +0 -17
  146. package/dist/types/utils/oauth/minimax-code.d.ts +0 -28
  147. package/dist/types/utils/oauth/moonshot.d.ts +0 -1
  148. package/dist/types/utils/oauth/nanogpt.d.ts +0 -1
  149. package/dist/types/utils/oauth/nvidia.d.ts +0 -18
  150. package/dist/types/utils/oauth/ollama-cloud.d.ts +0 -2
  151. package/dist/types/utils/oauth/ollama.d.ts +0 -18
  152. package/dist/types/utils/oauth/openai-codex.d.ts +0 -21
  153. package/dist/types/utils/oauth/opencode.d.ts +0 -18
  154. package/dist/types/utils/oauth/parallel.d.ts +0 -17
  155. package/dist/types/utils/oauth/perplexity.d.ts +0 -9
  156. package/dist/types/utils/oauth/pkce.d.ts +0 -8
  157. package/dist/types/utils/oauth/qianfan.d.ts +0 -17
  158. package/dist/types/utils/oauth/qwen-portal.d.ts +0 -19
  159. package/dist/types/utils/oauth/synthetic.d.ts +0 -1
  160. package/dist/types/utils/oauth/tavily.d.ts +0 -17
  161. package/dist/types/utils/oauth/together.d.ts +0 -1
  162. package/dist/types/utils/oauth/types.d.ts +0 -45
  163. package/dist/types/utils/oauth/venice.d.ts +0 -18
  164. package/dist/types/utils/oauth/vercel-ai-gateway.d.ts +0 -18
  165. package/dist/types/utils/oauth/vllm.d.ts +0 -16
  166. package/dist/types/utils/oauth/xai.d.ts +0 -30
  167. package/dist/types/utils/oauth/xiaomi.d.ts +0 -25
  168. package/dist/types/utils/oauth/zai.d.ts +0 -18
  169. package/dist/types/utils/oauth/zenmux.d.ts +0 -1
  170. package/dist/types/utils/overflow.d.ts +0 -64
  171. package/dist/types/utils/parse-bind.d.ts +0 -23
  172. package/dist/types/utils/provider-response.d.ts +0 -3
  173. package/dist/types/utils/retry-after.d.ts +0 -3
  174. package/dist/types/utils/retry-budget.d.ts +0 -1
  175. package/dist/types/utils/retry.d.ts +0 -26
  176. package/dist/types/utils/schema/adapt.d.ts +0 -24
  177. package/dist/types/utils/schema/compatibility.d.ts +0 -30
  178. package/dist/types/utils/schema/dereference.d.ts +0 -11
  179. package/dist/types/utils/schema/draft.d.ts +0 -10
  180. package/dist/types/utils/schema/equality.d.ts +0 -4
  181. package/dist/types/utils/schema/fields.d.ts +0 -49
  182. package/dist/types/utils/schema/index.d.ts +0 -14
  183. package/dist/types/utils/schema/json-schema-validator.d.ts +0 -12
  184. package/dist/types/utils/schema/meta-validator.d.ts +0 -2
  185. package/dist/types/utils/schema/normalize.d.ts +0 -93
  186. package/dist/types/utils/schema/root-combinator.d.ts +0 -12
  187. package/dist/types/utils/schema/spill.d.ts +0 -8
  188. package/dist/types/utils/schema/stamps.d.ts +0 -25
  189. package/dist/types/utils/schema/types.d.ts +0 -4
  190. package/dist/types/utils/schema/wire.d.ts +0 -54
  191. package/dist/types/utils/schema/zod-decontaminate.d.ts +0 -31
  192. package/dist/types/utils/sse-debug.d.ts +0 -10
  193. package/dist/types/utils/tool-call-healing.d.ts +0 -71
  194. package/dist/types/utils/tool-choice-capability.d.ts +0 -41
  195. package/dist/types/utils/tool-choice.d.ts +0 -50
  196. package/dist/types/utils/validation.d.ts +0 -17
  197. package/dist/types/utils.d.ts +0 -35
@@ -1,60 +0,0 @@
1
- /**
2
- * Amazon Bedrock Converse Stream provider.
3
- *
4
- * Talks directly to `bedrock-runtime.{region}.amazonaws.com` over HTTPS with
5
- * SigV4 signing and decodes the `application/vnd.amazon.eventstream` response.
6
- * No `@aws-sdk/*`, no `@smithy/*`, no `proxy-agent`. Proxies are honored via
7
- * Bun's native `HTTPS_PROXY` support.
8
- */
9
- import type { Effort } from "../model-thinking";
10
- import type { StreamFunction, StreamOptions, ThinkingBudgets, Tool, ToolChoice } from "../types";
11
- export type BedrockThinkingDisplay = "summarized" | "omitted";
12
- export interface BedrockOptions extends StreamOptions {
13
- region?: string;
14
- profile?: string;
15
- toolChoice?: ToolChoice;
16
- reasoning?: Effort;
17
- thinkingBudgets?: ThinkingBudgets;
18
- interleavedThinking?: boolean;
19
- /**
20
- * Controls how Anthropic model returns thinking content in Bedrock responses.
21
- * - `"summarized"`: thinking blocks include human-readable summaries (default here).
22
- * - `"omitted"`: thinking content is suppressed; the encrypted signature still
23
- * travels back for multi-turn continuity.
24
- *
25
- * Starting with Anthropic model Opus 4.7 the Anthropic API default is `"omitted"`, which
26
- * leaves callers waiting on a silent stream during long reasoning runs (issue
27
- * #1373). We default to `"summarized"` so adaptive-thinking models that accept
28
- * the field keep producing visible thinking deltas. Older adaptive-thinking
29
- * models (Opus 4.6, Sonnet 4.6+) reject the field, so we omit it for them.
30
- */
31
- thinkingDisplay?: BedrockThinkingDisplay;
32
- }
33
- interface WireToolSpec {
34
- toolSpec: {
35
- name: string;
36
- description: string;
37
- inputSchema: {
38
- json: unknown;
39
- };
40
- };
41
- }
42
- interface WireToolChoice {
43
- auto?: Record<string, never>;
44
- any?: Record<string, never>;
45
- tool?: {
46
- name: string;
47
- };
48
- }
49
- interface WireToolConfig {
50
- tools: WireToolSpec[];
51
- toolChoice?: WireToolChoice;
52
- }
53
- export declare const streamBedrock: StreamFunction<"bedrock-converse-stream">;
54
- export declare function stripBedrockForcedToolChoiceForRetry<T extends {
55
- toolConfig?: {
56
- toolChoice?: unknown;
57
- };
58
- }>(body: T): T;
59
- export declare function convertToolConfig(tools: Tool[] | undefined, toolChoice: BedrockOptions["toolChoice"]): WireToolConfig | undefined;
60
- export {};
@@ -1,450 +0,0 @@
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;
@@ -1,17 +0,0 @@
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 → skc Context. Outbound:
5
- * skc 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;