@omnicross/core 0.1.0 → 0.1.2

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 (272) hide show
  1. package/dist/ApiConverter.cjs +24 -0
  2. package/dist/ApiConverter.d.cts +82 -0
  3. package/dist/ApiConverter.d.ts +82 -0
  4. package/dist/ApiConverter.js +24 -0
  5. package/dist/BuiltinToolExecutor-BluWyeob.d.ts +81 -0
  6. package/dist/BuiltinToolExecutor-CS2WpXhM.d.cts +81 -0
  7. package/dist/CompletionService-D3a47vdU.d.cts +213 -0
  8. package/dist/CompletionService-DdWaAxq0.d.ts +213 -0
  9. package/dist/{ProviderProxy-f_8ziIhW.d.cts → ProviderProxy-C-xqrkKi.d.ts} +7 -2
  10. package/dist/{ProviderProxy-vjt8sQQk.d.ts → ProviderProxy-CnMQYN59.d.cts} +7 -2
  11. package/dist/auth/GeminiCodeAssistProjectResolver.cjs +27 -60
  12. package/dist/auth/GeminiCodeAssistProjectResolver.js +5 -9
  13. package/dist/builtin-web-fetch-77JZUZGM.cjs +100 -0
  14. package/dist/builtin-web-fetch-IGLBX2XY.js +100 -0
  15. package/dist/chunk-2DCNB7DF.cjs +514 -0
  16. package/dist/chunk-2FEVTJWG.js +4400 -0
  17. package/dist/chunk-3MEACFK3.js +193 -0
  18. package/dist/chunk-3OPYJG76.cjs +266 -0
  19. package/dist/chunk-46RLHI7D.js +0 -0
  20. package/dist/chunk-46ZIFWYG.cjs +277 -0
  21. package/dist/chunk-4NBS6KPV.cjs +43 -0
  22. package/dist/chunk-4VAVYUZS.cjs +991 -0
  23. package/dist/chunk-5ERIZW3D.js +44 -0
  24. package/dist/chunk-5HTVET6E.js +514 -0
  25. package/dist/chunk-5ZQBEOMD.js +764 -0
  26. package/dist/chunk-6VIXXLMX.cjs +14 -0
  27. package/dist/chunk-745DV5FL.js +147 -0
  28. package/dist/chunk-74TMJA7Z.js +53 -0
  29. package/dist/chunk-7VU7V2E4.js +0 -0
  30. package/dist/chunk-7YN22L2H.cjs +87 -0
  31. package/dist/chunk-A2YMUCBT.cjs +105 -0
  32. package/dist/chunk-AQ5TNQB7.js +13 -0
  33. package/dist/chunk-AVYJ4YBN.js +58 -0
  34. package/dist/chunk-C72S6TTV.cjs +49 -0
  35. package/dist/chunk-C7PSERMH.js +87 -0
  36. package/dist/chunk-CDHS2QDC.js +179 -0
  37. package/dist/chunk-DK4A7DLE.js +266 -0
  38. package/dist/chunk-DRWHTIIZ.js +13 -0
  39. package/dist/chunk-DWKQZ2SK.cjs +254 -0
  40. package/dist/chunk-E3WHL7CO.js +14 -0
  41. package/dist/chunk-EYZYXJTJ.cjs +1 -0
  42. package/dist/chunk-FMOBD2OQ.js +39 -0
  43. package/dist/chunk-FTQ7IQUC.js +991 -0
  44. package/dist/chunk-FZ46M34D.cjs +1 -0
  45. package/dist/chunk-G2FUJNA2.cjs +193 -0
  46. package/dist/chunk-G2UTNSGU.js +277 -0
  47. package/dist/chunk-GBHYAGX3.cjs +26 -0
  48. package/dist/chunk-GMMT7RVN.cjs +39 -0
  49. package/dist/chunk-H5JUT3KV.js +105 -0
  50. package/dist/chunk-HQP3K7PU.cjs +431 -0
  51. package/dist/chunk-JO5NLTLY.js +46 -0
  52. package/dist/chunk-JWC6APFQ.js +23 -0
  53. package/dist/chunk-KUU2RNG6.cjs +46 -0
  54. package/dist/chunk-LKZJEL6E.cjs +124 -0
  55. package/dist/chunk-MNYKI4CI.js +94 -0
  56. package/dist/chunk-MZNPGW5Q.js +26 -0
  57. package/dist/chunk-N3V2J5ZO.cjs +53 -0
  58. package/dist/chunk-NYUNU75A.cjs +44 -0
  59. package/dist/chunk-NZYN7C3P.cjs +179 -0
  60. package/dist/chunk-O466Y272.js +235 -0
  61. package/dist/chunk-PXUJF5HS.js +124 -0
  62. package/dist/chunk-QBZJ7P2T.cjs +13 -0
  63. package/dist/chunk-QOCNX236.js +46 -0
  64. package/dist/chunk-QXD4MV2X.cjs +23 -0
  65. package/dist/chunk-R3HK6R4B.cjs +13 -0
  66. package/dist/chunk-RSJ3TWJQ.cjs +186 -0
  67. package/dist/chunk-S4WBV25P.js +913 -0
  68. package/dist/chunk-SN3YWBX7.cjs +4400 -0
  69. package/dist/chunk-SPVWWUHX.cjs +46 -0
  70. package/dist/chunk-SUEGJ75D.cjs +764 -0
  71. package/dist/chunk-SVNDB62D.cjs +58 -0
  72. package/dist/chunk-UYPEN5XE.cjs +235 -0
  73. package/dist/chunk-V5KPWNYX.cjs +147 -0
  74. package/dist/chunk-VVEHS2LI.js +431 -0
  75. package/dist/chunk-XBSYYZIY.cjs +94 -0
  76. package/dist/chunk-YGXJGRFI.cjs +913 -0
  77. package/dist/chunk-YMFAJFQT.cjs +173 -0
  78. package/dist/chunk-Z7LUNECE.js +49 -0
  79. package/dist/chunk-Z7Y2NPHY.js +186 -0
  80. package/dist/chunk-ZJZAOKI7.js +254 -0
  81. package/dist/chunk-ZLX3KGXX.js +173 -0
  82. package/dist/chunk-ZSVQT3PW.js +43 -0
  83. package/dist/completion/ApiKeyPoolService.cjs +23 -48
  84. package/dist/completion/ApiKeyPoolService.d.cts +150 -2
  85. package/dist/completion/ApiKeyPoolService.d.ts +150 -2
  86. package/dist/completion/BuiltinToolExecutor.cjs +12 -0
  87. package/dist/completion/BuiltinToolExecutor.d.cts +4 -0
  88. package/dist/completion/BuiltinToolExecutor.d.ts +4 -0
  89. package/dist/completion/BuiltinToolExecutor.js +12 -0
  90. package/dist/completion/CompletionService.cjs +38 -0
  91. package/dist/completion/CompletionService.d.cts +22 -0
  92. package/dist/completion/CompletionService.d.ts +22 -0
  93. package/dist/completion/CompletionService.js +38 -0
  94. package/dist/completion/NativeSearchInjector.cjs +12 -0
  95. package/dist/completion/NativeSearchInjector.d.cts +42 -0
  96. package/dist/completion/NativeSearchInjector.d.ts +42 -0
  97. package/dist/completion/NativeSearchInjector.js +12 -0
  98. package/dist/completion/ProviderSearchInjector.cjs +60 -0
  99. package/dist/completion/ProviderSearchInjector.d.cts +47 -0
  100. package/dist/completion/ProviderSearchInjector.d.ts +47 -0
  101. package/dist/completion/ProviderSearchInjector.js +60 -0
  102. package/dist/completion/native-search-types.cjs +14 -0
  103. package/dist/completion/native-search-types.d.cts +3 -0
  104. package/dist/completion/native-search-types.d.ts +3 -0
  105. package/dist/completion/native-search-types.js +14 -0
  106. package/dist/completion/openrouter-headers.cjs +16 -0
  107. package/dist/completion/openrouter-headers.d.cts +44 -0
  108. package/dist/completion/openrouter-headers.d.ts +44 -0
  109. package/dist/completion/openrouter-headers.js +16 -0
  110. package/dist/completion/openrouter-models.cjs +29 -0
  111. package/dist/completion/openrouter-models.d.cts +27 -0
  112. package/dist/completion/openrouter-models.d.ts +27 -0
  113. package/dist/completion/openrouter-models.js +29 -0
  114. package/dist/completion/types.cjs +1 -0
  115. package/dist/completion/types.d.cts +3 -0
  116. package/dist/completion/types.d.ts +3 -0
  117. package/dist/completion/types.js +0 -0
  118. package/dist/completion/url-builder.cjs +24 -0
  119. package/dist/completion/url-builder.d.cts +87 -0
  120. package/dist/completion/url-builder.d.ts +87 -0
  121. package/dist/completion/url-builder.js +24 -0
  122. package/dist/completion.cjs +55 -3989
  123. package/dist/completion.d.cts +150 -8
  124. package/dist/completion.d.ts +150 -8
  125. package/dist/completion.js +63 -3953
  126. package/dist/index.cjs +197 -10428
  127. package/dist/index.d.cts +35 -91
  128. package/dist/index.d.ts +35 -91
  129. package/dist/index.js +125 -10267
  130. package/dist/logger-4GvQNzhE.d.cts +22 -0
  131. package/dist/logger-4GvQNzhE.d.ts +22 -0
  132. package/dist/outbound-api/routeResolver.cjs +11 -0
  133. package/dist/outbound-api/routeResolver.d.cts +19 -0
  134. package/dist/outbound-api/routeResolver.d.ts +19 -0
  135. package/dist/outbound-api/routeResolver.js +11 -0
  136. package/dist/outbound-api/subscriptionRegistryPort.cjs +7 -37
  137. package/dist/outbound-api/subscriptionRegistryPort.d.cts +7 -3
  138. package/dist/outbound-api/subscriptionRegistryPort.d.ts +7 -3
  139. package/dist/outbound-api/subscriptionRegistryPort.js +4 -8
  140. package/dist/outbound-api/types.cjs +1 -0
  141. package/dist/{types-CbCN2NQP.d.ts → outbound-api/types.d.cts} +18 -3
  142. package/dist/{types-CGGrKqC_.d.cts → outbound-api/types.d.ts} +18 -3
  143. package/dist/outbound-api/types.js +0 -0
  144. package/dist/outbound-api.cjs +35 -5220
  145. package/dist/outbound-api.d.cts +16 -88
  146. package/dist/outbound-api.d.ts +16 -88
  147. package/dist/outbound-api.js +54 -5193
  148. package/dist/pipeline/AuthSource.cjs +1 -0
  149. package/dist/pipeline/AuthSource.d.cts +101 -0
  150. package/dist/pipeline/AuthSource.d.ts +101 -0
  151. package/dist/pipeline/AuthSource.js +0 -0
  152. package/dist/pipeline/LlmConfigProviderAuth.cjs +8 -0
  153. package/dist/pipeline/LlmConfigProviderAuth.d.cts +87 -0
  154. package/dist/pipeline/LlmConfigProviderAuth.d.ts +87 -0
  155. package/dist/pipeline/LlmConfigProviderAuth.js +8 -0
  156. package/dist/pipeline/SubscriptionAuthSource.cjs +6 -128
  157. package/dist/pipeline/SubscriptionAuthSource.d.cts +165 -3
  158. package/dist/pipeline/SubscriptionAuthSource.d.ts +165 -3
  159. package/dist/pipeline/SubscriptionAuthSource.js +5 -99
  160. package/dist/pipeline/SubscriptionAuthStrategy.cjs +1 -18
  161. package/dist/pipeline/executeProviderCall.cjs +6 -0
  162. package/dist/pipeline/executeProviderCall.d.cts +149 -0
  163. package/dist/pipeline/executeProviderCall.d.ts +149 -0
  164. package/dist/pipeline/executeProviderCall.js +6 -0
  165. package/dist/pipeline/resolveProviderChain.cjs +6 -0
  166. package/dist/pipeline/resolveProviderChain.d.cts +58 -0
  167. package/dist/pipeline/resolveProviderChain.d.ts +58 -0
  168. package/dist/pipeline/resolveProviderChain.js +6 -0
  169. package/dist/pipeline/resolveSubscriptionChain.cjs +6 -0
  170. package/dist/pipeline/resolveSubscriptionChain.d.cts +68 -0
  171. package/dist/pipeline/resolveSubscriptionChain.d.ts +68 -0
  172. package/dist/pipeline/resolveSubscriptionChain.js +6 -0
  173. package/dist/ports/gemini-code-assist-resolver.cjs +7 -37
  174. package/dist/ports/gemini-code-assist-resolver.js +4 -8
  175. package/dist/ports/pricing-store.cjs +1 -0
  176. package/dist/ports/pricing-store.d.cts +50 -0
  177. package/dist/ports/pricing-store.d.ts +50 -0
  178. package/dist/ports/pricing-store.js +0 -0
  179. package/dist/ports/provider-config-source.cjs +1 -0
  180. package/dist/ports/provider-config-source.d.cts +51 -0
  181. package/dist/ports/provider-config-source.d.ts +51 -0
  182. package/dist/ports/provider-config-source.js +0 -0
  183. package/dist/ports/usage-event-store.cjs +1 -0
  184. package/dist/ports/usage-event-store.d.cts +29 -0
  185. package/dist/ports/usage-event-store.d.ts +29 -0
  186. package/dist/ports/usage-event-store.js +0 -0
  187. package/dist/ports/web-search-backend.cjs +1 -0
  188. package/dist/ports/web-search-backend.d.cts +29 -0
  189. package/dist/ports/web-search-backend.d.ts +29 -0
  190. package/dist/ports/web-search-backend.js +0 -0
  191. package/dist/ports.cjs +1 -18
  192. package/dist/ports.d.cts +16 -8
  193. package/dist/ports.d.ts +16 -8
  194. package/dist/provider-proxy/ProviderProxy.cjs +40 -0
  195. package/dist/provider-proxy/ProviderProxy.d.cts +17 -0
  196. package/dist/provider-proxy/ProviderProxy.d.ts +17 -0
  197. package/dist/provider-proxy/ProviderProxy.js +40 -0
  198. package/dist/provider-proxy/ingress/providerProxyShared.cjs +35 -2941
  199. package/dist/provider-proxy/ingress/providerProxyShared.d.cts +7 -3
  200. package/dist/provider-proxy/ingress/providerProxyShared.d.ts +7 -3
  201. package/dist/provider-proxy/ingress/providerProxyShared.js +41 -2914
  202. package/dist/provider-proxy/matchText.cjs +11 -72
  203. package/dist/provider-proxy/matchText.js +6 -39
  204. package/dist/provider-proxy/types.cjs +1 -18
  205. package/dist/provider-proxy/types.d.cts +407 -8
  206. package/dist/provider-proxy/types.d.ts +407 -8
  207. package/dist/provider-proxy.cjs +35 -4654
  208. package/dist/provider-proxy.d.cts +10 -6
  209. package/dist/provider-proxy.d.ts +10 -6
  210. package/dist/provider-proxy.js +39 -4627
  211. package/dist/routeResolver-BrbK6ja9.d.cts +88 -0
  212. package/dist/routeResolver-HE-ZO0fO.d.ts +88 -0
  213. package/dist/serializeError.cjs +5 -81
  214. package/dist/serializeError.js +3 -54
  215. package/dist/sse-parser.cjs +7 -455
  216. package/dist/sse-parser.js +4 -426
  217. package/dist/transformer/TransformerChainExecutor.cjs +4 -318
  218. package/dist/transformer/TransformerChainExecutor.js +4 -291
  219. package/dist/transformer/TransformerService.cjs +5 -289
  220. package/dist/transformer/TransformerService.js +3 -262
  221. package/dist/transformer/anthropicBetaInject.cjs +8 -0
  222. package/dist/transformer/anthropicBetaInject.d.cts +20 -0
  223. package/dist/transformer/anthropicBetaInject.d.ts +20 -0
  224. package/dist/transformer/anthropicBetaInject.js +8 -0
  225. package/dist/transformer/transformers/AnthropicTransformer.cjs +6 -0
  226. package/dist/transformer/transformers/AnthropicTransformer.d.cts +148 -0
  227. package/dist/transformer/transformers/AnthropicTransformer.d.ts +148 -0
  228. package/dist/transformer/transformers/AnthropicTransformer.js +6 -0
  229. package/dist/transformer/transformers/GeminiCodeAssistTransformer.cjs +4 -1106
  230. package/dist/transformer/transformers/GeminiCodeAssistTransformer.js +7 -1079
  231. package/dist/transformer/transformers/GeminiTransformer.cjs +4 -1010
  232. package/dist/transformer/transformers/GeminiTransformer.js +4 -983
  233. package/dist/transformer/transformers/OpenAIResponseTransformer.cjs +3 -535
  234. package/dist/transformer/transformers/OpenAIResponseTransformer.js +3 -510
  235. package/dist/transformer/transformers/OpenCodeGoTransformer.cjs +5 -72
  236. package/dist/transformer/transformers/OpenCodeGoTransformer.js +3 -45
  237. package/dist/transformer/transformers/ReasoningTransformer.cjs +6 -0
  238. package/dist/transformer/transformers/ReasoningTransformer.d.cts +47 -0
  239. package/dist/transformer/transformers/ReasoningTransformer.d.ts +47 -0
  240. package/dist/transformer/transformers/ReasoningTransformer.js +6 -0
  241. package/dist/transformer/transformers.cjs +39 -0
  242. package/dist/transformer/transformers.d.cts +100 -0
  243. package/dist/transformer/transformers.d.ts +100 -0
  244. package/dist/transformer/transformers.js +39 -0
  245. package/dist/transformer/types.cjs +1 -18
  246. package/dist/transformer.cjs +13 -3726
  247. package/dist/transformer.d.cts +8 -31
  248. package/dist/transformer.d.ts +8 -31
  249. package/dist/transformer.js +17 -3706
  250. package/dist/types-BScIHmPr.d.cts +153 -0
  251. package/dist/types-BScIHmPr.d.ts +153 -0
  252. package/dist/usage/pricing-engine.cjs +6 -0
  253. package/dist/usage/pricing-engine.d.cts +83 -0
  254. package/dist/usage/pricing-engine.d.ts +83 -0
  255. package/dist/usage/pricing-engine.js +6 -0
  256. package/dist/usage/usage-recorder.cjs +6 -0
  257. package/dist/usage/usage-recorder.d.cts +73 -0
  258. package/dist/usage/usage-recorder.d.ts +73 -0
  259. package/dist/usage/usage-recorder.js +6 -0
  260. package/dist/usage.cjs +11 -0
  261. package/dist/usage.d.cts +8 -0
  262. package/dist/usage.d.ts +8 -0
  263. package/dist/usage.js +11 -0
  264. package/package.json +3 -3
  265. package/dist/ApiKeyPoolService-BmMkau07.d.cts +0 -170
  266. package/dist/ApiKeyPoolService-BmMkau07.d.ts +0 -170
  267. package/dist/SubscriptionAuthSource-Cr4fVEYY.d.cts +0 -264
  268. package/dist/SubscriptionAuthSource-D89zmiSS.d.ts +0 -264
  269. package/dist/index-BTSmc9Sm.d.ts +0 -645
  270. package/dist/index-DXazdTzZ.d.cts +0 -645
  271. package/dist/types-DCzHkhJt.d.ts +0 -467
  272. package/dist/types-DZIQbgp0.d.cts +0 -467
@@ -0,0 +1,148 @@
1
+ import { Transformer, TransformerLogger, TransformerOptions, LLMProvider, TransformerContext, UnifiedChatRequest } from '../types.cjs';
2
+
3
+ /**
4
+ * AnthropicTypes - Shared types & helpers used by AnthropicTransformer split modules.
5
+ *
6
+ * Internal to the AnthropicTransformer facade — siblings
7
+ * (`AnthropicConversion`, `AnthropicStreaming`, `AnthropicToolHandling`) import
8
+ * from here. Do not import the facade from this file.
9
+ *
10
+ * @module transformer/transformers/AnthropicTypes
11
+ */
12
+
13
+ /**
14
+ * Anthropic content types
15
+ */
16
+ interface AnthropicTextContent {
17
+ type: 'text';
18
+ text: string;
19
+ cache_control?: {
20
+ type?: string;
21
+ };
22
+ }
23
+ interface AnthropicImageContent {
24
+ type: 'image';
25
+ source: {
26
+ type: 'base64' | 'url';
27
+ media_type?: string;
28
+ data?: string;
29
+ url?: string;
30
+ };
31
+ }
32
+ interface AnthropicToolUseContent {
33
+ type: 'tool_use';
34
+ id: string;
35
+ name: string;
36
+ input: Record<string, unknown>;
37
+ }
38
+ interface AnthropicToolResultContent {
39
+ type: 'tool_result';
40
+ tool_use_id: string;
41
+ content: string | unknown[];
42
+ cache_control?: {
43
+ type?: string;
44
+ };
45
+ }
46
+ interface AnthropicThinkingContent {
47
+ type: 'thinking';
48
+ thinking: string;
49
+ signature?: string;
50
+ }
51
+ type AnthropicContent = AnthropicTextContent | AnthropicImageContent | AnthropicToolUseContent | AnthropicToolResultContent | AnthropicThinkingContent;
52
+ interface AnthropicMessage {
53
+ role: 'user' | 'assistant';
54
+ content: string | AnthropicContent[];
55
+ }
56
+ interface AnthropicRequest {
57
+ model: string;
58
+ messages: AnthropicMessage[];
59
+ max_tokens: number;
60
+ system?: string | Array<{
61
+ type: 'text';
62
+ text: string;
63
+ cache_control?: unknown;
64
+ }>;
65
+ temperature?: number;
66
+ stream?: boolean;
67
+ tools?: Array<{
68
+ name: string;
69
+ description?: string;
70
+ input_schema: Record<string, unknown>;
71
+ }>;
72
+ tool_choice?: {
73
+ type: 'auto' | 'any' | 'tool';
74
+ name?: string;
75
+ };
76
+ thinking?: {
77
+ type: 'enabled' | 'disabled';
78
+ budget_tokens?: number;
79
+ };
80
+ }
81
+
82
+ /**
83
+ * AnthropicTransformer - Bidirectional transformer for Anthropic Messages API.
84
+ *
85
+ * This file is a thin facade that delegates to sibling modules in this
86
+ * directory:
87
+ * - `./AnthropicTypes` - shared types + small helpers
88
+ * - `./AnthropicConversion` - non-streaming request/response conversion
89
+ * (re-exports response converters from
90
+ * `./AnthropicResponseConversion`)
91
+ * - `./AnthropicStreaming` - SSE stream conversion (both directions)
92
+ * - `./AnthropicToolHandling` - tool_use / server-tool conversion
93
+ *
94
+ * Public API (class name, constructor signature, method signatures) is
95
+ * preserved exactly so existing import sites (proxy servers, engine
96
+ * adapters, `TransformerHandler`, etc.) require no changes.
97
+ *
98
+ * @module transformer/transformers/AnthropicTransformer
99
+ */
100
+
101
+ /**
102
+ * AnthropicTransformer handles Anthropic Messages API format conversion.
103
+ *
104
+ * Features:
105
+ * - Converts Anthropic Messages API requests to unified format
106
+ * - Converts responses back to Anthropic format
107
+ * - Supports both x-api-key and Bearer authentication
108
+ * - Handles thinking/reasoning blocks
109
+ */
110
+ declare class AnthropicTransformer implements Transformer {
111
+ static TransformerName: string;
112
+ name: string;
113
+ logger?: TransformerLogger;
114
+ endPoint: string;
115
+ private useBearer;
116
+ constructor(options?: TransformerOptions);
117
+ /**
118
+ * Handle authentication - Anthropic uses x-api-key header
119
+ */
120
+ auth(request: unknown, provider: LLMProvider, _context: TransformerContext): Promise<{
121
+ body: unknown;
122
+ config: {
123
+ headers: Record<string, string | undefined>;
124
+ };
125
+ }>;
126
+ /**
127
+ * Transform Anthropic request to unified format.
128
+ */
129
+ transformRequestOut(request: unknown, _context: TransformerContext): Promise<UnifiedChatRequest>;
130
+ /**
131
+ * Transform OpenAI/unified response back to Anthropic format
132
+ * (auto-detects stream vs JSON via Content-Type).
133
+ */
134
+ transformResponseIn(response: Response, context?: TransformerContext): Promise<Response>;
135
+ /**
136
+ * Transform unified request to Anthropic Messages API format.
137
+ * This is the reverse of transformRequestOut — converts OpenAI/unified format
138
+ * to Anthropic's expected request body structure.
139
+ */
140
+ transformRequestIn(request: UnifiedChatRequest, _provider: LLMProvider, _context: TransformerContext): Promise<Record<string, unknown>>;
141
+ /**
142
+ * Transform Anthropic response to OpenAI/unified format
143
+ * (auto-detects stream vs JSON via Content-Type).
144
+ */
145
+ transformResponseOut(response: Response, _context: TransformerContext): Promise<Response>;
146
+ }
147
+
148
+ export { type AnthropicContent, type AnthropicImageContent, type AnthropicMessage, type AnthropicRequest, type AnthropicTextContent, type AnthropicThinkingContent, type AnthropicToolResultContent, type AnthropicToolUseContent, AnthropicTransformer };
@@ -0,0 +1,148 @@
1
+ import { Transformer, TransformerLogger, TransformerOptions, LLMProvider, TransformerContext, UnifiedChatRequest } from '../types.js';
2
+
3
+ /**
4
+ * AnthropicTypes - Shared types & helpers used by AnthropicTransformer split modules.
5
+ *
6
+ * Internal to the AnthropicTransformer facade — siblings
7
+ * (`AnthropicConversion`, `AnthropicStreaming`, `AnthropicToolHandling`) import
8
+ * from here. Do not import the facade from this file.
9
+ *
10
+ * @module transformer/transformers/AnthropicTypes
11
+ */
12
+
13
+ /**
14
+ * Anthropic content types
15
+ */
16
+ interface AnthropicTextContent {
17
+ type: 'text';
18
+ text: string;
19
+ cache_control?: {
20
+ type?: string;
21
+ };
22
+ }
23
+ interface AnthropicImageContent {
24
+ type: 'image';
25
+ source: {
26
+ type: 'base64' | 'url';
27
+ media_type?: string;
28
+ data?: string;
29
+ url?: string;
30
+ };
31
+ }
32
+ interface AnthropicToolUseContent {
33
+ type: 'tool_use';
34
+ id: string;
35
+ name: string;
36
+ input: Record<string, unknown>;
37
+ }
38
+ interface AnthropicToolResultContent {
39
+ type: 'tool_result';
40
+ tool_use_id: string;
41
+ content: string | unknown[];
42
+ cache_control?: {
43
+ type?: string;
44
+ };
45
+ }
46
+ interface AnthropicThinkingContent {
47
+ type: 'thinking';
48
+ thinking: string;
49
+ signature?: string;
50
+ }
51
+ type AnthropicContent = AnthropicTextContent | AnthropicImageContent | AnthropicToolUseContent | AnthropicToolResultContent | AnthropicThinkingContent;
52
+ interface AnthropicMessage {
53
+ role: 'user' | 'assistant';
54
+ content: string | AnthropicContent[];
55
+ }
56
+ interface AnthropicRequest {
57
+ model: string;
58
+ messages: AnthropicMessage[];
59
+ max_tokens: number;
60
+ system?: string | Array<{
61
+ type: 'text';
62
+ text: string;
63
+ cache_control?: unknown;
64
+ }>;
65
+ temperature?: number;
66
+ stream?: boolean;
67
+ tools?: Array<{
68
+ name: string;
69
+ description?: string;
70
+ input_schema: Record<string, unknown>;
71
+ }>;
72
+ tool_choice?: {
73
+ type: 'auto' | 'any' | 'tool';
74
+ name?: string;
75
+ };
76
+ thinking?: {
77
+ type: 'enabled' | 'disabled';
78
+ budget_tokens?: number;
79
+ };
80
+ }
81
+
82
+ /**
83
+ * AnthropicTransformer - Bidirectional transformer for Anthropic Messages API.
84
+ *
85
+ * This file is a thin facade that delegates to sibling modules in this
86
+ * directory:
87
+ * - `./AnthropicTypes` - shared types + small helpers
88
+ * - `./AnthropicConversion` - non-streaming request/response conversion
89
+ * (re-exports response converters from
90
+ * `./AnthropicResponseConversion`)
91
+ * - `./AnthropicStreaming` - SSE stream conversion (both directions)
92
+ * - `./AnthropicToolHandling` - tool_use / server-tool conversion
93
+ *
94
+ * Public API (class name, constructor signature, method signatures) is
95
+ * preserved exactly so existing import sites (proxy servers, engine
96
+ * adapters, `TransformerHandler`, etc.) require no changes.
97
+ *
98
+ * @module transformer/transformers/AnthropicTransformer
99
+ */
100
+
101
+ /**
102
+ * AnthropicTransformer handles Anthropic Messages API format conversion.
103
+ *
104
+ * Features:
105
+ * - Converts Anthropic Messages API requests to unified format
106
+ * - Converts responses back to Anthropic format
107
+ * - Supports both x-api-key and Bearer authentication
108
+ * - Handles thinking/reasoning blocks
109
+ */
110
+ declare class AnthropicTransformer implements Transformer {
111
+ static TransformerName: string;
112
+ name: string;
113
+ logger?: TransformerLogger;
114
+ endPoint: string;
115
+ private useBearer;
116
+ constructor(options?: TransformerOptions);
117
+ /**
118
+ * Handle authentication - Anthropic uses x-api-key header
119
+ */
120
+ auth(request: unknown, provider: LLMProvider, _context: TransformerContext): Promise<{
121
+ body: unknown;
122
+ config: {
123
+ headers: Record<string, string | undefined>;
124
+ };
125
+ }>;
126
+ /**
127
+ * Transform Anthropic request to unified format.
128
+ */
129
+ transformRequestOut(request: unknown, _context: TransformerContext): Promise<UnifiedChatRequest>;
130
+ /**
131
+ * Transform OpenAI/unified response back to Anthropic format
132
+ * (auto-detects stream vs JSON via Content-Type).
133
+ */
134
+ transformResponseIn(response: Response, context?: TransformerContext): Promise<Response>;
135
+ /**
136
+ * Transform unified request to Anthropic Messages API format.
137
+ * This is the reverse of transformRequestOut — converts OpenAI/unified format
138
+ * to Anthropic's expected request body structure.
139
+ */
140
+ transformRequestIn(request: UnifiedChatRequest, _provider: LLMProvider, _context: TransformerContext): Promise<Record<string, unknown>>;
141
+ /**
142
+ * Transform Anthropic response to OpenAI/unified format
143
+ * (auto-detects stream vs JSON via Content-Type).
144
+ */
145
+ transformResponseOut(response: Response, _context: TransformerContext): Promise<Response>;
146
+ }
147
+
148
+ export { type AnthropicContent, type AnthropicImageContent, type AnthropicMessage, type AnthropicRequest, type AnthropicTextContent, type AnthropicThinkingContent, type AnthropicToolResultContent, type AnthropicToolUseContent, AnthropicTransformer };
@@ -0,0 +1,6 @@
1
+ import {
2
+ AnthropicTransformer
3
+ } from "../../chunk-FTQ7IQUC.js";
4
+ export {
5
+ AnthropicTransformer
6
+ };