@memorilabs/axon 0.1.3-beta → 0.1.3

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 (102) hide show
  1. package/README.md +82 -67
  2. package/dist/core/axon.d.ts +39 -9
  3. package/dist/core/axon.d.ts.map +1 -1
  4. package/dist/core/axon.js +22 -12
  5. package/dist/core/axon.js.map +1 -1
  6. package/dist/errors/hook-error.d.ts.map +1 -1
  7. package/dist/errors/hook-error.js +1 -1
  8. package/dist/errors/hook-error.js.map +1 -1
  9. package/dist/errors/unsupported-provider-error.d.ts.map +1 -1
  10. package/dist/errors/unsupported-provider-error.js +2 -1
  11. package/dist/errors/unsupported-provider-error.js.map +1 -1
  12. package/dist/hooks/pipeline.d.ts +27 -0
  13. package/dist/hooks/pipeline.d.ts.map +1 -0
  14. package/dist/hooks/{registry.js → pipeline.js} +11 -9
  15. package/dist/hooks/pipeline.js.map +1 -0
  16. package/dist/llm/registry.d.ts +10 -4
  17. package/dist/llm/registry.d.ts.map +1 -1
  18. package/dist/llm/registry.js +9 -2
  19. package/dist/llm/registry.js.map +1 -1
  20. package/dist/providers/anthropic/common.d.ts.map +1 -1
  21. package/dist/providers/anthropic/common.js +4 -1
  22. package/dist/providers/anthropic/common.js.map +1 -1
  23. package/dist/providers/anthropic/detect.d.ts +5 -0
  24. package/dist/providers/anthropic/detect.d.ts.map +1 -1
  25. package/dist/providers/anthropic/detect.js +5 -0
  26. package/dist/providers/anthropic/detect.js.map +1 -1
  27. package/dist/providers/anthropic/proxy.d.ts.map +1 -1
  28. package/dist/providers/anthropic/proxy.js +17 -4
  29. package/dist/providers/anthropic/proxy.js.map +1 -1
  30. package/dist/providers/anthropic/responses.d.ts +22 -0
  31. package/dist/providers/anthropic/responses.d.ts.map +1 -0
  32. package/dist/providers/anthropic/responses.js +2 -0
  33. package/dist/providers/anthropic/responses.js.map +1 -0
  34. package/dist/providers/anthropic/types.d.ts +11 -27
  35. package/dist/providers/anthropic/types.d.ts.map +1 -1
  36. package/dist/providers/gemini/common.d.ts +8 -0
  37. package/dist/providers/gemini/common.d.ts.map +1 -0
  38. package/dist/providers/gemini/common.js +48 -0
  39. package/dist/providers/gemini/common.js.map +1 -0
  40. package/dist/providers/gemini/detect.d.ts +7 -0
  41. package/dist/providers/gemini/detect.d.ts.map +1 -0
  42. package/dist/providers/gemini/detect.js +12 -0
  43. package/dist/providers/gemini/detect.js.map +1 -0
  44. package/dist/providers/gemini/index.d.ts +5 -0
  45. package/dist/providers/gemini/index.d.ts.map +1 -0
  46. package/dist/providers/gemini/index.js +10 -0
  47. package/dist/providers/gemini/index.js.map +1 -0
  48. package/dist/providers/gemini/proxy.d.ts +3 -0
  49. package/dist/providers/gemini/proxy.d.ts.map +1 -0
  50. package/dist/providers/gemini/proxy.js +103 -0
  51. package/dist/providers/gemini/proxy.js.map +1 -0
  52. package/dist/providers/gemini/responses.d.ts +17 -0
  53. package/dist/providers/gemini/responses.d.ts.map +1 -0
  54. package/dist/providers/gemini/responses.js +2 -0
  55. package/dist/providers/gemini/responses.js.map +1 -0
  56. package/dist/providers/gemini/types.d.ts +31 -0
  57. package/dist/providers/gemini/types.d.ts.map +1 -0
  58. package/dist/providers/gemini/types.js +2 -0
  59. package/dist/providers/gemini/types.js.map +1 -0
  60. package/dist/providers/index.d.ts +1 -0
  61. package/dist/providers/index.d.ts.map +1 -1
  62. package/dist/providers/index.js +1 -0
  63. package/dist/providers/index.js.map +1 -1
  64. package/dist/providers/openai/detect.d.ts +5 -0
  65. package/dist/providers/openai/detect.d.ts.map +1 -1
  66. package/dist/providers/openai/detect.js +5 -0
  67. package/dist/providers/openai/detect.js.map +1 -1
  68. package/dist/providers/openai/proxy.d.ts.map +1 -1
  69. package/dist/providers/openai/proxy.js +7 -2
  70. package/dist/providers/openai/proxy.js.map +1 -1
  71. package/dist/providers/openai/responses.d.ts +9 -9
  72. package/dist/providers/openai/responses.d.ts.map +1 -1
  73. package/dist/providers/openai/types.d.ts +5 -0
  74. package/dist/providers/openai/types.d.ts.map +1 -1
  75. package/dist/providers/patcher.d.ts.map +1 -1
  76. package/dist/providers/patcher.js +2 -9
  77. package/dist/providers/patcher.js.map +1 -1
  78. package/dist/providers/telemetry.d.ts.map +1 -1
  79. package/dist/providers/telemetry.js +3 -0
  80. package/dist/providers/telemetry.js.map +1 -1
  81. package/dist/types/index.d.ts +1 -0
  82. package/dist/types/index.d.ts.map +1 -1
  83. package/dist/types/index.js +1 -0
  84. package/dist/types/index.js.map +1 -1
  85. package/dist/types/llm.d.ts +15 -0
  86. package/dist/types/llm.d.ts.map +1 -1
  87. package/dist/types/registry.d.ts +14 -0
  88. package/dist/types/registry.d.ts.map +1 -0
  89. package/dist/types/registry.js +2 -0
  90. package/dist/types/registry.js.map +1 -0
  91. package/dist/utils/constants.d.ts +19 -0
  92. package/dist/utils/constants.d.ts.map +1 -0
  93. package/dist/utils/constants.js +14 -0
  94. package/dist/utils/constants.js.map +1 -0
  95. package/dist/version.d.ts +1 -1
  96. package/dist/version.d.ts.map +1 -1
  97. package/dist/version.js +1 -1
  98. package/dist/version.js.map +1 -1
  99. package/package.json +13 -5
  100. package/dist/hooks/registry.d.ts +0 -28
  101. package/dist/hooks/registry.d.ts.map +0 -1
  102. package/dist/hooks/registry.js.map +0 -1
@@ -1,14 +1,20 @@
1
1
  import { anthropicInputToMessages, messagesToAnthropicInput, contentFromAnthropic, usageFromAnthropic, applyContentToResponse, } from './common.js';
2
2
  import { patchMethod } from '../patcher.js';
3
3
  import { extractSDKVersion } from '../telemetry.js';
4
+ import { PROVIDERS } from '../../utils/constants.js';
4
5
  function extractParams(args) {
5
6
  // Separate model and messages from extra provider-specific parameters
6
- const { model: _model, messages: _messages, ...params } = args;
7
+ const { model: _model, messages: _messages, system: _system, ...params } = args;
7
8
  return params;
8
9
  }
9
10
  function argsToRequest(args) {
11
+ const messages = anthropicInputToMessages(args.messages);
12
+ // If there's a system parameter at the top level, convert it to a system message
13
+ if (args.system) {
14
+ messages.unshift({ role: 'system', content: args.system });
15
+ }
10
16
  return {
11
- messages: anthropicInputToMessages(args.messages),
17
+ messages,
12
18
  model: args.model,
13
19
  params: extractParams(args),
14
20
  };
@@ -16,11 +22,18 @@ function argsToRequest(args) {
16
22
  function requestToArgs(request) {
17
23
  if (!request.model)
18
24
  throw new Error('No model provided.');
19
- return {
25
+ // Extract system message if present
26
+ const systemMessage = request.messages.find((m) => m.role === 'system');
27
+ const args = {
20
28
  model: request.model,
21
29
  messages: messagesToAnthropicInput(request),
22
30
  ...(request.params ?? {}),
23
31
  };
32
+ // Add system parameter at top level if system message exists
33
+ if (systemMessage) {
34
+ args.system = systemMessage.content;
35
+ }
36
+ return args;
24
37
  }
25
38
  function rawToCanonical(raw) {
26
39
  return { content: contentFromAnthropic(raw), usage: usageFromAnthropic(raw), raw };
@@ -48,7 +61,7 @@ export function patchAnthropicClient(client, axon) {
48
61
  axon,
49
62
  parent: antClient.messages,
50
63
  methodName: 'create',
51
- ctxMetadata: { provider: 'anthropic', method: 'messages.create', sdkVersion },
64
+ ctxMetadata: { provider: PROVIDERS.ANTHROPIC.id, method: 'messages.create', sdkVersion },
52
65
  argsToRequest,
53
66
  requestToArgs,
54
67
  rawToResponse: rawToCanonical,
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/providers/anthropic/proxy.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,SAAS,aAAa,CAAC,IAAyB;IAC9C,sEAAsE;IACtE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAC/D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,IAAyB;IAC9C,OAAO;QACL,QAAQ,EAAE,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC;QACjD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC;KAC5B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAAmB;IACxC,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC1D,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,wBAAwB,CAAC,OAAO,CAAC;QAC3C,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;KACH,CAAC;AAC3B,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,OAAO,EAAE,OAAO,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;AACrF,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,MAAM,KAAK,GAAG,KAA6B,CAAC;IAC5C,8EAA8E;IAC9E,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;QAC/E,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAe,EAAE,IAAU;IAC9D,MAAM,SAAS,GAAG,MAAyB,CAAC;IAC5C,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAEhD,IAAI,CAAE,SAAgD,CAAC,QAAQ,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,WAAW,CAAC;QACV,IAAI;QACJ,MAAM,EAAE,SAAS,CAAC,QAAQ;QAC1B,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE;QAC7E,aAAa;QACb,aAAa;QACb,aAAa,EAAE,cAAc;QAC7B,mBAAmB,EAAE,sBAAsB;QAC3C,WAAW;KACZ,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/providers/anthropic/proxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export interface AnthropicResponse {
2
+ content: Array<{
3
+ type: string;
4
+ text: string;
5
+ }>;
6
+ usage?: AnthropicUsage;
7
+ [key: string]: unknown;
8
+ }
9
+ export interface AnthropicUsage {
10
+ input_tokens: number;
11
+ output_tokens: number;
12
+ }
13
+ export interface AnthropicStreamEvent {
14
+ type: string;
15
+ delta?: {
16
+ type: string;
17
+ text?: string;
18
+ };
19
+ usage?: AnthropicUsage;
20
+ [key: string]: unknown;
21
+ }
22
+ //# sourceMappingURL=responses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/responses.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=responses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../../src/providers/anthropic/responses.ts"],"names":[],"mappings":""}
@@ -1,41 +1,25 @@
1
- export interface AnthropicMessage {
2
- role: string;
3
- content: string | Array<{
4
- type: string;
5
- text?: string;
6
- [key: string]: unknown;
7
- }>;
8
- }
9
1
  export interface AnthropicCreateArgs {
10
2
  model: string;
11
3
  messages: AnthropicMessage[];
4
+ system?: string;
12
5
  stream?: boolean;
13
6
  max_tokens?: number;
14
7
  [key: string]: unknown;
15
8
  }
16
- export interface AnthropicUsage {
17
- input_tokens: number;
18
- output_tokens: number;
19
- }
20
- export interface AnthropicResponse {
21
- content: Array<{
22
- type: string;
23
- text: string;
24
- }>;
25
- usage?: AnthropicUsage;
26
- [key: string]: unknown;
27
- }
28
- export interface AnthropicStreamEvent {
29
- type: string;
30
- delta?: {
9
+ export interface AnthropicMessage {
10
+ role: string;
11
+ content: string | Array<{
31
12
  type: string;
32
13
  text?: string;
33
- };
34
- usage?: AnthropicUsage;
35
- [key: string]: unknown;
14
+ [key: string]: unknown;
15
+ }>;
36
16
  }
17
+ /**
18
+ * The minimal expected shape of an initialized Anthropic client instance.
19
+ * Axon uses this interface to detect and safely patch the `messages.create` method.
20
+ */
37
21
  export interface AnthropicClient {
38
- messages: {
22
+ messages?: {
39
23
  create: (args: AnthropicCreateArgs) => Promise<unknown>;
40
24
  __axon_patched__?: boolean;
41
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAAC;CAClF;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE;QACR,MAAM,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QACxD,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAAC;CAClF;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QACxD,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;CACH"}
@@ -0,0 +1,8 @@
1
+ import { Message, LLMRequest, Usage, LLMResponse } from '../../types/index.js';
2
+ import { GeminiGenerateContentArgs } from './types.js';
3
+ export declare function geminiInputToMessages(contents: GeminiGenerateContentArgs['contents']): Message[];
4
+ export declare function messagesToGeminiInput(request: LLMRequest): GeminiGenerateContentArgs['contents'];
5
+ export declare function contentFromGemini(response: unknown): string;
6
+ export declare function usageFromGemini(response: unknown): Usage | undefined;
7
+ export declare function applyContentToGeminiResponse(raw: unknown, canonical: LLMResponse): void;
8
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAGvD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,yBAAyB,CAAC,UAAU,CAAC,GAAG,OAAO,EAAE,CAShG;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,UAAU,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAOhG;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAO3D;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CASpE;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,CAOvF"}
@@ -0,0 +1,48 @@
1
+ export function geminiInputToMessages(contents) {
2
+ if (typeof contents === 'string')
3
+ return [{ role: 'user', content: contents }];
4
+ if (Array.isArray(contents)) {
5
+ return contents.map((c) => ({
6
+ role: (c.role === 'model' ? 'assistant' : 'user'),
7
+ content: c.parts.map((p) => p.text).join(''),
8
+ }));
9
+ }
10
+ return [];
11
+ }
12
+ export function messagesToGeminiInput(request) {
13
+ return request.messages
14
+ .filter((m) => m.role !== 'system')
15
+ .map((m) => ({
16
+ role: m.role === 'assistant' ? 'model' : m.role,
17
+ parts: [{ text: m.content }],
18
+ }));
19
+ }
20
+ export function contentFromGemini(response) {
21
+ const r = response;
22
+ if (r.text)
23
+ return r.text;
24
+ if (r.candidates?.[0]?.content?.parts?.[0]?.text) {
25
+ return r.candidates[0].content.parts[0].text;
26
+ }
27
+ return '';
28
+ }
29
+ export function usageFromGemini(response) {
30
+ const r = response;
31
+ if (!r.usageMetadata)
32
+ return undefined;
33
+ return {
34
+ promptTokens: r.usageMetadata.promptTokenCount,
35
+ completionTokens: r.usageMetadata.candidatesTokenCount,
36
+ totalTokens: r.usageMetadata.totalTokenCount,
37
+ };
38
+ }
39
+ export function applyContentToGeminiResponse(raw, canonical) {
40
+ const r = raw;
41
+ if (r.candidates?.[0]?.content?.parts?.[0]) {
42
+ r.candidates[0].content.parts[0].text = canonical.content;
43
+ }
44
+ else if (r.text !== undefined) {
45
+ r.text = canonical.content;
46
+ }
47
+ }
48
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/providers/gemini/common.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,qBAAqB,CAAC,QAA+C;IACnF,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/E,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAoB;YACpE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;SAC7C,CAAC,CAAC,CAAC;IACN,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAmB;IACvD,OAAO,OAAO,CAAC,QAAQ;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QAC/C,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;KAC7B,CAAC,CAAC,CAAC;AACR,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAiB;IACjD,MAAM,CAAC,GAAG,QAA0B,CAAC;IACrC,IAAI,CAAC,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IAC1B,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACjD,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAiB;IAC/C,MAAM,CAAC,GAAG,QAA0B,CAAC;IACrC,IAAI,CAAC,CAAC,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IAEvC,OAAO;QACL,YAAY,EAAE,CAAC,CAAC,aAAa,CAAC,gBAAgB;QAC9C,gBAAgB,EAAE,CAAC,CAAC,aAAa,CAAC,oBAAoB;QACtD,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,eAAe;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,GAAY,EAAE,SAAsB;IAC/E,MAAM,CAAC,GAAG,GAAqB,CAAC;IAChC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC;IAC5D,CAAC;SAAM,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC;IAC7B,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Detects if the provided object is an initialized Google Gemini client instance.
3
+ * @param client - The object to inspect.
4
+ * @returns True if it matches the Gemini client shape.
5
+ */
6
+ export declare function isGeminiClient(client: unknown): boolean;
7
+ //# sourceMappingURL=detect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini/detect.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAKvD"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Detects if the provided object is an initialized Google Gemini client instance.
3
+ * @param client - The object to inspect.
4
+ * @returns True if it matches the Gemini client shape.
5
+ */
6
+ export function isGeminiClient(client) {
7
+ if (!client || typeof client !== 'object')
8
+ return false;
9
+ const obj = client;
10
+ return !!(obj.models && typeof obj.models.generateContent === 'function');
11
+ }
12
+ //# sourceMappingURL=detect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/providers/gemini/detect.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,GAAG,GAAG,MAAsB,CAAC;IAEnC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,UAAU,CAAC,CAAC;AAC5E,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { isGeminiClient } from './detect.js';
2
+ export declare function register(): void;
3
+ export { isGeminiClient };
4
+ export * from './types.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,wBAAgB,QAAQ,IAAI,IAAI,CAE/B;AAID,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { LLMRegistry } from '../../llm/registry.js';
2
+ import { isGeminiClient } from './detect.js';
3
+ import { patchGeminiClient } from './proxy.js';
4
+ export function register() {
5
+ LLMRegistry.registerProvider(isGeminiClient, patchGeminiClient);
6
+ }
7
+ register();
8
+ export { isGeminiClient };
9
+ export * from './types.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/gemini/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,UAAU,QAAQ;IACtB,WAAW,CAAC,gBAAgB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAClE,CAAC;AAED,QAAQ,EAAE,CAAC;AAEX,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Axon } from '../../core/axon.js';
2
+ export declare function patchGeminiClient(client: unknown, axon: Axon): void;
3
+ //# sourceMappingURL=proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AA4F/C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAsCnE"}
@@ -0,0 +1,103 @@
1
+ import { patchMethod } from '../patcher.js';
2
+ import { geminiInputToMessages, messagesToGeminiInput, contentFromGemini, usageFromGemini, applyContentToGeminiResponse, } from './common.js';
3
+ import { extractSDKVersion } from '../telemetry.js';
4
+ import { PROVIDERS } from '../../utils/constants.js';
5
+ function extractSystemInstruction(config) {
6
+ if (!config?.systemInstruction)
7
+ return '';
8
+ const instruction = config.systemInstruction;
9
+ if (typeof instruction === 'string') {
10
+ return instruction;
11
+ }
12
+ if (typeof instruction === 'object') {
13
+ const parts = instruction.parts;
14
+ if (Array.isArray(parts)) {
15
+ return parts
16
+ .map((p) => p.text)
17
+ .filter((text) => typeof text === 'string')
18
+ .join('');
19
+ }
20
+ }
21
+ return '';
22
+ }
23
+ function argsToRequest(args) {
24
+ const { model, contents, ...params } = args;
25
+ const messages = geminiInputToMessages(contents);
26
+ const systemContent = extractSystemInstruction(params.config);
27
+ if (systemContent) {
28
+ messages.unshift({ role: 'system', content: systemContent });
29
+ }
30
+ return {
31
+ messages,
32
+ model,
33
+ params,
34
+ };
35
+ }
36
+ function requestToArgs(request) {
37
+ if (!request.model)
38
+ throw new Error('No model provided.');
39
+ const systemMessages = request.messages.filter((m) => m.role === 'system');
40
+ const otherMessages = request.messages.filter((m) => m.role !== 'system');
41
+ const args = {
42
+ model: request.model,
43
+ contents: messagesToGeminiInput({ ...request, messages: otherMessages }),
44
+ ...(request.params ?? {}),
45
+ };
46
+ if (systemMessages.length > 0) {
47
+ args.config = {
48
+ ...(args.config ?? {}),
49
+ systemInstruction: systemMessages.map((m) => m.content).join('\n\n'),
50
+ };
51
+ }
52
+ return args;
53
+ }
54
+ function rawToCanonical(raw) {
55
+ return { content: contentFromGemini(raw), usage: usageFromGemini(raw), raw };
56
+ }
57
+ function isGeminiResponse(raw) {
58
+ return typeof raw === 'object' && raw !== null;
59
+ }
60
+ function chunkToText(chunk) {
61
+ if (!isGeminiResponse(chunk))
62
+ return undefined;
63
+ if (typeof chunk.text === 'string')
64
+ return chunk.text;
65
+ const firstCandidate = chunk.candidates?.[0];
66
+ const firstPart = firstCandidate?.content?.parts?.[0];
67
+ return firstPart?.text;
68
+ }
69
+ export function patchGeminiClient(client, axon) {
70
+ const geminiClient = client;
71
+ const sdkVersion = extractSDKVersion(geminiClient);
72
+ if (!geminiClient.models) {
73
+ throw new Error('Gemini client has no models API.');
74
+ }
75
+ const sharedCtxMetadata = { provider: PROVIDERS.GEMINI.id, sdkVersion };
76
+ const baseConfig = {
77
+ axon,
78
+ parent: geminiClient.models,
79
+ requestToArgs,
80
+ rawToResponse: rawToCanonical,
81
+ applyCanonicalToRaw: applyContentToGeminiResponse,
82
+ chunkToText,
83
+ };
84
+ patchMethod({
85
+ ...baseConfig,
86
+ methodName: 'generateContent',
87
+ ctxMetadata: { ...sharedCtxMetadata, method: 'models.generateContent' },
88
+ argsToRequest,
89
+ });
90
+ patchMethod({
91
+ ...baseConfig,
92
+ methodName: 'generateContentStream',
93
+ ctxMetadata: { ...sharedCtxMetadata, method: 'models.generateContentStream' },
94
+ argsToRequest: (args) => {
95
+ const req = argsToRequest(args);
96
+ return {
97
+ ...req,
98
+ params: { ...req.params, stream: true },
99
+ };
100
+ },
101
+ });
102
+ }
103
+ //# sourceMappingURL=proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/providers/gemini/proxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export interface GeminiResponse {
2
+ text?: string;
3
+ candidates?: Array<{
4
+ content?: {
5
+ parts?: Array<{
6
+ text?: string;
7
+ }>;
8
+ };
9
+ }>;
10
+ usageMetadata?: GeminiUsage;
11
+ }
12
+ export interface GeminiUsage {
13
+ promptTokenCount?: number;
14
+ candidatesTokenCount?: number;
15
+ totalTokenCount?: number;
16
+ }
17
+ //# sourceMappingURL=responses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini/responses.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,KAAK,CAAC;gBAAE,IAAI,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IACvE,aAAa,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=responses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../../src/providers/gemini/responses.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ export interface GeminiGenerateContentArgs {
2
+ model: string;
3
+ contents: string | Array<{
4
+ role?: string;
5
+ parts: Array<{
6
+ text?: string;
7
+ }>;
8
+ }>;
9
+ config?: {
10
+ systemInstruction?: string | {
11
+ parts?: Array<{
12
+ text?: string;
13
+ }>;
14
+ };
15
+ [key: string]: unknown;
16
+ };
17
+ [key: string]: unknown;
18
+ }
19
+ /**
20
+ * The minimal expected shape of an initialized Google Gemini client instance.
21
+ * Axon uses this interface to detect and safely patch the `models.generateContent`
22
+ * and `models.generateContentStream` methods.
23
+ */
24
+ export interface GeminiClient {
25
+ models?: {
26
+ generateContent: (args: GeminiGenerateContentArgs) => Promise<unknown>;
27
+ generateContentStream?: (args: GeminiGenerateContentArgs) => Promise<unknown>;
28
+ __axon_patched__?: boolean;
29
+ };
30
+ }
31
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IAC7E,MAAM,CAAC,EAAE;QACP,iBAAiB,CAAC,EAAE,MAAM,GAAG;YAAE,KAAK,CAAC,EAAE,KAAK,CAAC;gBAAE,IAAI,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC;QAClE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE;QACP,eAAe,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QACvE,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9E,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;CACH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/providers/gemini/types.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
1
  import './openai/index.js';
2
2
  import './anthropic/index.js';
3
+ import './gemini/index.js';
3
4
  export {};
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAC3B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAC3B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import './openai/index.js';
2
2
  import './anthropic/index.js';
3
+ import './gemini/index.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAC3B,OAAO,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAC3B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,mBAAmB,CAAC"}
@@ -1,2 +1,7 @@
1
+ /**
2
+ * Detects if the provided object is an initialized OpenAI client instance.
3
+ * @param client - The object to inspect.
4
+ * @returns True if it matches the OpenAI client shape.
5
+ */
1
6
  export declare function isOpenAIClient(client: unknown): boolean;
2
7
  //# sourceMappingURL=detect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../../src/providers/openai/detect.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAQvD"}
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../../src/providers/openai/detect.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAQvD"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Detects if the provided object is an initialized OpenAI client instance.
3
+ * @param client - The object to inspect.
4
+ * @returns True if it matches the OpenAI client shape.
5
+ */
1
6
  export function isOpenAIClient(client) {
2
7
  if (!client || typeof client !== 'object')
3
8
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/providers/openai/detect.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,GAAG,GAAG,MAAsB,CAAC;IAEnC,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IAE/F,OAAO,YAAY,IAAI,OAAO,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/providers/openai/detect.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,GAAG,GAAG,MAAsB,CAAC;IAEnC,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IAE/F,OAAO,YAAY,IAAI,OAAO,CAAC;AACjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/providers/openai/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AA6E/C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CA6CnE"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/providers/openai/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AA8E/C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAiDnE"}
@@ -2,6 +2,7 @@ import { openaiInputToMessages, messagesToOpenAIInput, contentFromOpenAI, usageF
2
2
  import { isOpenAIClient } from './detect.js';
3
3
  import { patchMethod } from '../patcher.js';
4
4
  import { extractSDKVersion } from '../telemetry.js';
5
+ import { PROVIDERS } from '../../utils/constants.js';
5
6
  function extractParams(args, inputKey) {
6
7
  const { model: _model, [inputKey]: _input, ...params } = args;
7
8
  return params;
@@ -61,7 +62,7 @@ export function patchOpenAIClient(client, axon) {
61
62
  axon,
62
63
  parent: openaiClient.responses,
63
64
  methodName: 'create',
64
- ctxMetadata: { provider: 'openai', method: 'responses.create', sdkVersion },
65
+ ctxMetadata: { provider: PROVIDERS.OPENAI.id, method: 'responses.create', sdkVersion },
65
66
  argsToRequest: responsesArgsToRequest,
66
67
  requestToArgs: requestToResponsesArgs,
67
68
  rawToResponse: rawToCanonical,
@@ -76,7 +77,11 @@ export function patchOpenAIClient(client, axon) {
76
77
  axon,
77
78
  parent: openaiClient.chat.completions,
78
79
  methodName: 'create',
79
- ctxMetadata: { provider: 'openai', method: 'chat.completions.create', sdkVersion },
80
+ ctxMetadata: {
81
+ provider: PROVIDERS.OPENAI.id,
82
+ method: 'chat.completions.create',
83
+ sdkVersion,
84
+ },
80
85
  argsToRequest: chatArgsToRequest,
81
86
  requestToArgs: requestToChatArgs,
82
87
  rawToResponse: rawToCanonical,
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/providers/openai/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/providers/openai/proxy.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,6 @@
1
- export interface OpenAIUsage {
2
- prompt_tokens?: number;
3
- completion_tokens?: number;
4
- total_tokens?: number;
5
- input_tokens?: number;
6
- output_tokens?: number;
1
+ export interface OpenAITextResponse {
2
+ output_text: string;
3
+ usage?: OpenAIUsage;
7
4
  }
8
5
  export interface OpenAIChatCompletionResponse {
9
6
  choices: Array<{
@@ -16,9 +13,12 @@ export interface OpenAIChatCompletionResponse {
16
13
  }>;
17
14
  usage?: OpenAIUsage;
18
15
  }
19
- export interface OpenAITextResponse {
20
- output_text: string;
21
- usage?: OpenAIUsage;
16
+ export interface OpenAIUsage {
17
+ prompt_tokens?: number;
18
+ completion_tokens?: number;
19
+ total_tokens?: number;
20
+ input_tokens?: number;
21
+ output_tokens?: number;
22
22
  }
23
23
  export declare function hasUsage(response: unknown): response is {
24
24
  usage: OpenAIUsage;
@@ -1 +1 @@
1
- {"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../../src/providers/openai/responses.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,KAAK,CAAC;QACb,OAAO,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/B,KAAK,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC9B,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,CAE9E"}
1
+ {"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../../src/providers/openai/responses.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,KAAK,CAAC;QACb,OAAO,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/B,KAAK,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC9B,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,CAE9E"}