@omnicross/core 0.1.0

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 (114) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +57 -0
  3. package/README.md +15 -0
  4. package/dist/ApiKeyPoolService-BmMkau07.d.cts +170 -0
  5. package/dist/ApiKeyPoolService-BmMkau07.d.ts +170 -0
  6. package/dist/ProviderProxy-f_8ziIhW.d.cts +120 -0
  7. package/dist/ProviderProxy-vjt8sQQk.d.ts +120 -0
  8. package/dist/SubscriptionAuthSource-Cr4fVEYY.d.cts +264 -0
  9. package/dist/SubscriptionAuthSource-D89zmiSS.d.ts +264 -0
  10. package/dist/auth/GeminiCodeAssistProjectResolver.cjs +218 -0
  11. package/dist/auth/GeminiCodeAssistProjectResolver.d.cts +68 -0
  12. package/dist/auth/GeminiCodeAssistProjectResolver.d.ts +68 -0
  13. package/dist/auth/GeminiCodeAssistProjectResolver.js +189 -0
  14. package/dist/completion/ApiKeyPoolService.cjs +331 -0
  15. package/dist/completion/ApiKeyPoolService.d.cts +2 -0
  16. package/dist/completion/ApiKeyPoolService.d.ts +2 -0
  17. package/dist/completion/ApiKeyPoolService.js +306 -0
  18. package/dist/completion.cjs +4027 -0
  19. package/dist/completion.d.cts +17 -0
  20. package/dist/completion.d.ts +17 -0
  21. package/dist/completion.js +3983 -0
  22. package/dist/index-BTSmc9Sm.d.ts +645 -0
  23. package/dist/index-DXazdTzZ.d.cts +645 -0
  24. package/dist/index.cjs +10428 -0
  25. package/dist/index.d.cts +128 -0
  26. package/dist/index.d.ts +128 -0
  27. package/dist/index.js +10339 -0
  28. package/dist/outbound-api/subscriptionRegistryPort.cjs +38 -0
  29. package/dist/outbound-api/subscriptionRegistryPort.d.cts +73 -0
  30. package/dist/outbound-api/subscriptionRegistryPort.d.ts +73 -0
  31. package/dist/outbound-api/subscriptionRegistryPort.js +12 -0
  32. package/dist/outbound-api.cjs +5264 -0
  33. package/dist/outbound-api.d.cts +320 -0
  34. package/dist/outbound-api.d.ts +320 -0
  35. package/dist/outbound-api.js +5218 -0
  36. package/dist/pipeline/SubscriptionAuthSource.cjs +131 -0
  37. package/dist/pipeline/SubscriptionAuthSource.d.cts +3 -0
  38. package/dist/pipeline/SubscriptionAuthSource.d.ts +3 -0
  39. package/dist/pipeline/SubscriptionAuthSource.js +103 -0
  40. package/dist/pipeline/SubscriptionAuthStrategy.cjs +18 -0
  41. package/dist/pipeline/SubscriptionAuthStrategy.d.cts +61 -0
  42. package/dist/pipeline/SubscriptionAuthStrategy.d.ts +61 -0
  43. package/dist/pipeline/SubscriptionAuthStrategy.js +0 -0
  44. package/dist/ports/gemini-code-assist-resolver.cjs +38 -0
  45. package/dist/ports/gemini-code-assist-resolver.d.cts +26 -0
  46. package/dist/ports/gemini-code-assist-resolver.d.ts +26 -0
  47. package/dist/ports/gemini-code-assist-resolver.js +12 -0
  48. package/dist/ports.cjs +18 -0
  49. package/dist/ports.d.cts +15 -0
  50. package/dist/ports.d.ts +15 -0
  51. package/dist/ports.js +0 -0
  52. package/dist/provider-proxy/ingress/providerProxyShared.cjs +2958 -0
  53. package/dist/provider-proxy/ingress/providerProxyShared.d.cts +77 -0
  54. package/dist/provider-proxy/ingress/providerProxyShared.d.ts +77 -0
  55. package/dist/provider-proxy/ingress/providerProxyShared.js +2925 -0
  56. package/dist/provider-proxy/matchText.cjs +73 -0
  57. package/dist/provider-proxy/matchText.d.cts +47 -0
  58. package/dist/provider-proxy/matchText.d.ts +47 -0
  59. package/dist/provider-proxy/matchText.js +45 -0
  60. package/dist/provider-proxy/types.cjs +18 -0
  61. package/dist/provider-proxy/types.d.cts +12 -0
  62. package/dist/provider-proxy/types.d.ts +12 -0
  63. package/dist/provider-proxy/types.js +0 -0
  64. package/dist/provider-proxy.cjs +4667 -0
  65. package/dist/provider-proxy.d.cts +69 -0
  66. package/dist/provider-proxy.d.ts +69 -0
  67. package/dist/provider-proxy.js +4636 -0
  68. package/dist/serializeError.cjs +82 -0
  69. package/dist/serializeError.d.cts +24 -0
  70. package/dist/serializeError.d.ts +24 -0
  71. package/dist/serializeError.js +57 -0
  72. package/dist/sse-parser.cjs +456 -0
  73. package/dist/sse-parser.d.cts +143 -0
  74. package/dist/sse-parser.d.ts +143 -0
  75. package/dist/sse-parser.js +430 -0
  76. package/dist/transformer/TransformerChainExecutor.cjs +321 -0
  77. package/dist/transformer/TransformerChainExecutor.d.cts +104 -0
  78. package/dist/transformer/TransformerChainExecutor.d.ts +104 -0
  79. package/dist/transformer/TransformerChainExecutor.js +294 -0
  80. package/dist/transformer/TransformerService.cjs +290 -0
  81. package/dist/transformer/TransformerService.d.cts +138 -0
  82. package/dist/transformer/TransformerService.d.ts +138 -0
  83. package/dist/transformer/TransformerService.js +265 -0
  84. package/dist/transformer/transformers/GeminiCodeAssistTransformer.cjs +1115 -0
  85. package/dist/transformer/transformers/GeminiCodeAssistTransformer.d.cts +102 -0
  86. package/dist/transformer/transformers/GeminiCodeAssistTransformer.d.ts +102 -0
  87. package/dist/transformer/transformers/GeminiCodeAssistTransformer.js +1085 -0
  88. package/dist/transformer/transformers/GeminiTransformer.cjs +1013 -0
  89. package/dist/transformer/transformers/GeminiTransformer.d.cts +70 -0
  90. package/dist/transformer/transformers/GeminiTransformer.d.ts +70 -0
  91. package/dist/transformer/transformers/GeminiTransformer.js +986 -0
  92. package/dist/transformer/transformers/OpenAIResponseTransformer.cjs +538 -0
  93. package/dist/transformer/transformers/OpenAIResponseTransformer.d.cts +53 -0
  94. package/dist/transformer/transformers/OpenAIResponseTransformer.d.ts +53 -0
  95. package/dist/transformer/transformers/OpenAIResponseTransformer.js +513 -0
  96. package/dist/transformer/transformers/OpenCodeGoTransformer.cjs +73 -0
  97. package/dist/transformer/transformers/OpenCodeGoTransformer.d.cts +51 -0
  98. package/dist/transformer/transformers/OpenCodeGoTransformer.d.ts +51 -0
  99. package/dist/transformer/transformers/OpenCodeGoTransformer.js +48 -0
  100. package/dist/transformer/types.cjs +18 -0
  101. package/dist/transformer/types.d.cts +405 -0
  102. package/dist/transformer/types.d.ts +405 -0
  103. package/dist/transformer/types.js +0 -0
  104. package/dist/transformer.cjs +3736 -0
  105. package/dist/transformer.d.cts +33 -0
  106. package/dist/transformer.d.ts +33 -0
  107. package/dist/transformer.js +3712 -0
  108. package/dist/types-CGGrKqC_.d.cts +142 -0
  109. package/dist/types-CbCN2NQP.d.ts +142 -0
  110. package/dist/types-DCzHkhJt.d.ts +467 -0
  111. package/dist/types-DZIQbgp0.d.cts +467 -0
  112. package/dist/usage-event-sink-BX7FE1NL.d.cts +59 -0
  113. package/dist/usage-event-sink-BX7FE1NL.d.ts +59 -0
  114. package/package.json +62 -0
@@ -0,0 +1,70 @@
1
+ import { Transformer, TransformerLogger, TransformerOptions, LLMProvider, TransformerContext, UnifiedChatRequest } from '../types.cjs';
2
+
3
+ /**
4
+ * GeminiTransformer - Bidirectional transformer for Google Gemini API
5
+ *
6
+ * Handles:
7
+ * - Request: Gemini → unified (transformRequestOut, for endpoint decoding)
8
+ * - Request: unified → Gemini (transformRequestIn, for provider encoding)
9
+ * - Response: Gemini → OpenAI (transformResponseOut, for provider decoding)
10
+ * - Response: OpenAI → Gemini (transformResponseIn, for endpoint encoding)
11
+ * - Authentication with x-goog-api-key or Bearer header
12
+ *
13
+ * @module transformer/transformers/GeminiTransformer
14
+ */
15
+
16
+ /**
17
+ * GeminiTransformer handles Google Gemini API format conversion
18
+ *
19
+ * Features:
20
+ * - Converts UnifiedChatRequest to Gemini Contents format
21
+ * - Handles thinking/reasoning mode with thinkingConfig
22
+ * - Converts Gemini responses to OpenAI-compatible format and vice versa
23
+ * - Supports both streaming and non-streaming responses
24
+ * - Supports x-goog-api-key (official) and Bearer (relay) authentication
25
+ */
26
+ declare class GeminiTransformer implements Transformer {
27
+ static TransformerName: string;
28
+ name: string;
29
+ logger?: TransformerLogger;
30
+ /**
31
+ * API endpoint pattern for Gemini
32
+ * :modelAndAction will be replaced with actual model and action
33
+ */
34
+ endPoint: string;
35
+ /** Use Bearer token instead of x-goog-api-key (for relay providers) */
36
+ private useBearer;
37
+ constructor(options?: TransformerOptions);
38
+ /**
39
+ * Handle authentication
40
+ * - Official Gemini: x-goog-api-key header
41
+ * - Relay providers: Authorization: Bearer header
42
+ */
43
+ auth(request: unknown, provider: LLMProvider, _context: TransformerContext): Promise<{
44
+ body: unknown;
45
+ config: {
46
+ headers: Record<string, string | undefined>;
47
+ };
48
+ }>;
49
+ /**
50
+ * Transform request from unified format to Gemini format
51
+ * Also builds the correct URL for the Gemini API
52
+ */
53
+ transformRequestIn(request: UnifiedChatRequest, provider: LLMProvider, _context: TransformerContext): Promise<Record<string, unknown>>;
54
+ /**
55
+ * Transform incoming request to unified format
56
+ * (For requests coming into the Gemini endpoint)
57
+ */
58
+ transformRequestOut(request: unknown, _context: TransformerContext): Promise<UnifiedChatRequest>;
59
+ /**
60
+ * Transform Gemini response to OpenAI-compatible format
61
+ */
62
+ transformResponseOut(response: Response, _context: TransformerContext): Promise<Response>;
63
+ /**
64
+ * Transform OpenAI-compatible response back to Gemini format
65
+ * (For endpoint mode — returning Gemini-format responses to the client)
66
+ */
67
+ transformResponseIn(response: Response, _context?: TransformerContext): Promise<Response>;
68
+ }
69
+
70
+ export { GeminiTransformer };
@@ -0,0 +1,70 @@
1
+ import { Transformer, TransformerLogger, TransformerOptions, LLMProvider, TransformerContext, UnifiedChatRequest } from '../types.js';
2
+
3
+ /**
4
+ * GeminiTransformer - Bidirectional transformer for Google Gemini API
5
+ *
6
+ * Handles:
7
+ * - Request: Gemini → unified (transformRequestOut, for endpoint decoding)
8
+ * - Request: unified → Gemini (transformRequestIn, for provider encoding)
9
+ * - Response: Gemini → OpenAI (transformResponseOut, for provider decoding)
10
+ * - Response: OpenAI → Gemini (transformResponseIn, for endpoint encoding)
11
+ * - Authentication with x-goog-api-key or Bearer header
12
+ *
13
+ * @module transformer/transformers/GeminiTransformer
14
+ */
15
+
16
+ /**
17
+ * GeminiTransformer handles Google Gemini API format conversion
18
+ *
19
+ * Features:
20
+ * - Converts UnifiedChatRequest to Gemini Contents format
21
+ * - Handles thinking/reasoning mode with thinkingConfig
22
+ * - Converts Gemini responses to OpenAI-compatible format and vice versa
23
+ * - Supports both streaming and non-streaming responses
24
+ * - Supports x-goog-api-key (official) and Bearer (relay) authentication
25
+ */
26
+ declare class GeminiTransformer implements Transformer {
27
+ static TransformerName: string;
28
+ name: string;
29
+ logger?: TransformerLogger;
30
+ /**
31
+ * API endpoint pattern for Gemini
32
+ * :modelAndAction will be replaced with actual model and action
33
+ */
34
+ endPoint: string;
35
+ /** Use Bearer token instead of x-goog-api-key (for relay providers) */
36
+ private useBearer;
37
+ constructor(options?: TransformerOptions);
38
+ /**
39
+ * Handle authentication
40
+ * - Official Gemini: x-goog-api-key header
41
+ * - Relay providers: Authorization: Bearer header
42
+ */
43
+ auth(request: unknown, provider: LLMProvider, _context: TransformerContext): Promise<{
44
+ body: unknown;
45
+ config: {
46
+ headers: Record<string, string | undefined>;
47
+ };
48
+ }>;
49
+ /**
50
+ * Transform request from unified format to Gemini format
51
+ * Also builds the correct URL for the Gemini API
52
+ */
53
+ transformRequestIn(request: UnifiedChatRequest, provider: LLMProvider, _context: TransformerContext): Promise<Record<string, unknown>>;
54
+ /**
55
+ * Transform incoming request to unified format
56
+ * (For requests coming into the Gemini endpoint)
57
+ */
58
+ transformRequestOut(request: unknown, _context: TransformerContext): Promise<UnifiedChatRequest>;
59
+ /**
60
+ * Transform Gemini response to OpenAI-compatible format
61
+ */
62
+ transformResponseOut(response: Response, _context: TransformerContext): Promise<Response>;
63
+ /**
64
+ * Transform OpenAI-compatible response back to Gemini format
65
+ * (For endpoint mode — returning Gemini-format responses to the client)
66
+ */
67
+ transformResponseIn(response: Response, _context?: TransformerContext): Promise<Response>;
68
+ }
69
+
70
+ export { GeminiTransformer };