ai.matey.backend 0.2.4 → 0.5.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 (106) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/dist/cjs/index.js +3 -0
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/providers/ai21.js.map +1 -1
  5. package/dist/cjs/providers/anthropic.js +75 -15
  6. package/dist/cjs/providers/anthropic.js.map +1 -1
  7. package/dist/cjs/providers/cohere.js +58 -1
  8. package/dist/cjs/providers/cohere.js.map +1 -1
  9. package/dist/cjs/providers/deepinfra.js +16 -0
  10. package/dist/cjs/providers/deepinfra.js.map +1 -1
  11. package/dist/cjs/providers/deepseek.js +10 -4
  12. package/dist/cjs/providers/deepseek.js.map +1 -1
  13. package/dist/cjs/providers/fireworks.js +16 -0
  14. package/dist/cjs/providers/fireworks.js.map +1 -1
  15. package/dist/cjs/providers/gemini.js +55 -1
  16. package/dist/cjs/providers/gemini.js.map +1 -1
  17. package/dist/cjs/providers/groq.js +1 -0
  18. package/dist/cjs/providers/groq.js.map +1 -1
  19. package/dist/cjs/providers/inception.js +155 -0
  20. package/dist/cjs/providers/inception.js.map +1 -0
  21. package/dist/cjs/providers/mistral.js +19 -2
  22. package/dist/cjs/providers/mistral.js.map +1 -1
  23. package/dist/cjs/providers/moonshot.js +157 -0
  24. package/dist/cjs/providers/moonshot.js.map +1 -0
  25. package/dist/cjs/providers/ollama.js +36 -1
  26. package/dist/cjs/providers/ollama.js.map +1 -1
  27. package/dist/cjs/providers/openai.js +218 -87
  28. package/dist/cjs/providers/openai.js.map +1 -1
  29. package/dist/cjs/providers/sambanova.js +161 -0
  30. package/dist/cjs/providers/sambanova.js.map +1 -0
  31. package/dist/cjs/providers/together-ai.js +16 -0
  32. package/dist/cjs/providers/together-ai.js.map +1 -1
  33. package/dist/cjs/providers/xai.js +1 -1
  34. package/dist/cjs/providers/xai.js.map +1 -1
  35. package/dist/cjs/shared.js +145 -0
  36. package/dist/cjs/shared.js.map +1 -1
  37. package/dist/esm/index.js +3 -0
  38. package/dist/esm/index.js.map +1 -1
  39. package/dist/esm/providers/ai21.js +1 -1
  40. package/dist/esm/providers/ai21.js.map +1 -1
  41. package/dist/esm/providers/anthropic.js +76 -16
  42. package/dist/esm/providers/anthropic.js.map +1 -1
  43. package/dist/esm/providers/cohere.js +59 -2
  44. package/dist/esm/providers/cohere.js.map +1 -1
  45. package/dist/esm/providers/deepinfra.js +16 -0
  46. package/dist/esm/providers/deepinfra.js.map +1 -1
  47. package/dist/esm/providers/deepseek.js +10 -4
  48. package/dist/esm/providers/deepseek.js.map +1 -1
  49. package/dist/esm/providers/fireworks.js +16 -0
  50. package/dist/esm/providers/fireworks.js.map +1 -1
  51. package/dist/esm/providers/gemini.js +56 -2
  52. package/dist/esm/providers/gemini.js.map +1 -1
  53. package/dist/esm/providers/groq.js +1 -0
  54. package/dist/esm/providers/groq.js.map +1 -1
  55. package/dist/esm/providers/inception.js +150 -0
  56. package/dist/esm/providers/inception.js.map +1 -0
  57. package/dist/esm/providers/mistral.js +20 -3
  58. package/dist/esm/providers/mistral.js.map +1 -1
  59. package/dist/esm/providers/moonshot.js +152 -0
  60. package/dist/esm/providers/moonshot.js.map +1 -0
  61. package/dist/esm/providers/ollama.js +36 -1
  62. package/dist/esm/providers/ollama.js.map +1 -1
  63. package/dist/esm/providers/openai.js +219 -88
  64. package/dist/esm/providers/openai.js.map +1 -1
  65. package/dist/esm/providers/sambanova.js +156 -0
  66. package/dist/esm/providers/sambanova.js.map +1 -0
  67. package/dist/esm/providers/together-ai.js +16 -0
  68. package/dist/esm/providers/together-ai.js.map +1 -1
  69. package/dist/esm/providers/xai.js +1 -1
  70. package/dist/esm/providers/xai.js.map +1 -1
  71. package/dist/esm/shared.js +142 -0
  72. package/dist/esm/shared.js.map +1 -1
  73. package/dist/types/index.d.ts +3 -0
  74. package/dist/types/index.d.ts.map +1 -1
  75. package/dist/types/providers/ai21.d.ts.map +1 -1
  76. package/dist/types/providers/anthropic.d.ts +19 -0
  77. package/dist/types/providers/anthropic.d.ts.map +1 -1
  78. package/dist/types/providers/cohere.d.ts +8 -0
  79. package/dist/types/providers/cohere.d.ts.map +1 -1
  80. package/dist/types/providers/deepinfra.d.ts +5 -0
  81. package/dist/types/providers/deepinfra.d.ts.map +1 -1
  82. package/dist/types/providers/deepseek.d.ts +1 -1
  83. package/dist/types/providers/deepseek.d.ts.map +1 -1
  84. package/dist/types/providers/fireworks.d.ts +5 -0
  85. package/dist/types/providers/fireworks.d.ts.map +1 -1
  86. package/dist/types/providers/gemini.d.ts +5 -0
  87. package/dist/types/providers/gemini.d.ts.map +1 -1
  88. package/dist/types/providers/groq.d.ts.map +1 -1
  89. package/dist/types/providers/inception.d.ts +83 -0
  90. package/dist/types/providers/inception.d.ts.map +1 -0
  91. package/dist/types/providers/mistral.d.ts +5 -0
  92. package/dist/types/providers/mistral.d.ts.map +1 -1
  93. package/dist/types/providers/moonshot.d.ts +83 -0
  94. package/dist/types/providers/moonshot.d.ts.map +1 -0
  95. package/dist/types/providers/ollama.d.ts +5 -0
  96. package/dist/types/providers/ollama.d.ts.map +1 -1
  97. package/dist/types/providers/openai.d.ts +41 -1
  98. package/dist/types/providers/openai.d.ts.map +1 -1
  99. package/dist/types/providers/sambanova.d.ts +84 -0
  100. package/dist/types/providers/sambanova.d.ts.map +1 -0
  101. package/dist/types/providers/together-ai.d.ts +5 -0
  102. package/dist/types/providers/together-ai.d.ts.map +1 -1
  103. package/dist/types/shared.d.ts +46 -1
  104. package/dist/types/shared.d.ts.map +1 -1
  105. package/package.json +31 -1
  106. package/readme.md +4 -1
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Inception Labs (Mercury) Backend Adapter
3
+ *
4
+ * Adapts Universal IR to Inception Labs API (OpenAI-compatible).
5
+ * Inception Labs offers Mercury, a text diffusion language model with fast generation speeds.
6
+ *
7
+ * @module
8
+ */
9
+ import { OpenAIBackendAdapter, type OpenAIRequest, type OpenAIResponse } from './openai.js';
10
+ import type { BackendAdapter, BackendAdapterConfig, IRChatRequest } from 'ai.matey.types';
11
+ /**
12
+ * Backend adapter for Inception Labs (Mercury) API.
13
+ *
14
+ * Inception Labs provides Mercury, a text diffusion LLM designed for high-speed
15
+ * code generation and text tasks. The API is OpenAI-compatible.
16
+ *
17
+ * @example Basic Usage
18
+ * ```typescript
19
+ * import { InceptionBackendAdapter } from 'ai.matey';
20
+ *
21
+ * const adapter = new InceptionBackendAdapter({
22
+ * apiKey: process.env.INCEPTION_API_KEY,
23
+ * });
24
+ * ```
25
+ *
26
+ * @example With Coding Model
27
+ * ```typescript
28
+ * const adapter = new InceptionBackendAdapter({
29
+ * apiKey: process.env.INCEPTION_API_KEY,
30
+ * });
31
+ *
32
+ * const response = await adapter.execute({
33
+ * messages: [{ role: 'user', content: 'Write a function to reverse a string in Python.' }],
34
+ * parameters: {
35
+ * model: 'mercury-coder-small', // Fast coding model
36
+ * },
37
+ * });
38
+ * ```
39
+ *
40
+ * @example Streaming
41
+ * ```typescript
42
+ * const stream = adapter.executeStream({
43
+ * messages: [{ role: 'user', content: 'Explain recursion.' }],
44
+ * parameters: {
45
+ * model: 'mercury-coder',
46
+ * },
47
+ * });
48
+ *
49
+ * for await (const chunk of stream) {
50
+ * if (chunk.type === 'content') {
51
+ * process.stdout.write(chunk.delta);
52
+ * }
53
+ * }
54
+ * ```
55
+ */
56
+ export declare class InceptionBackendAdapter extends OpenAIBackendAdapter implements BackendAdapter<OpenAIRequest, OpenAIResponse> {
57
+ constructor(config: BackendAdapterConfig);
58
+ /**
59
+ * Health check for Inception Labs API.
60
+ */
61
+ healthCheck(): Promise<boolean>;
62
+ /**
63
+ * Estimate cost for Inception Labs.
64
+ */
65
+ estimateCost(request: IRChatRequest): Promise<number | null>;
66
+ }
67
+ /**
68
+ * Create an Inception Labs backend adapter.
69
+ *
70
+ * @param config - Adapter configuration
71
+ * @returns Inception Labs backend adapter
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * import { createInceptionAdapter } from 'ai.matey';
76
+ *
77
+ * const adapter = createInceptionAdapter({
78
+ * apiKey: process.env.INCEPTION_API_KEY,
79
+ * });
80
+ * ```
81
+ */
82
+ export declare function createInceptionAdapter(config: BackendAdapterConfig): InceptionBackendAdapter;
83
+ //# sourceMappingURL=inception.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inception.d.ts","sourceRoot":"","sources":["../../../src/providers/inception.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,oBAAoB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,qBAAa,uBACX,SAAQ,oBACR,YAAW,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC;gBAE5C,MAAM,EAAE,oBAAoB;IAkCxC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAiBrC;;OAEG;IAEG,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAyBnE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,GAAG,uBAAuB,CAE5F"}
@@ -7,6 +7,7 @@
7
7
  * @module
8
8
  */
9
9
  import type { BackendAdapter, BackendAdapterConfig, AdapterMetadata } from 'ai.matey.types';
10
+ import type { IREmbedRequest, IREmbedResponse } from 'ai.matey.types';
10
11
  import type { IRChatRequest, IRChatResponse, IRChatStream } from 'ai.matey.types';
11
12
  import type { ListModelsOptions, ListModelsResult } from 'ai.matey.types';
12
13
  export interface MistralMessage {
@@ -45,6 +46,10 @@ export declare class MistralBackendAdapter implements BackendAdapter<MistralRequ
45
46
  private readonly baseURL;
46
47
  private readonly modelCache;
47
48
  constructor(config: BackendAdapterConfig);
49
+ /**
50
+ * Generate embeddings via the OpenAI-compatible /embeddings endpoint.
51
+ */
52
+ embed(request: IREmbedRequest, signal?: AbortSignal): Promise<IREmbedResponse>;
48
53
  execute(request: IRChatRequest, signal?: AbortSignal): Promise<IRChatResponse>;
49
54
  executeStream(request: IRChatRequest, signal?: AbortSignal): IRChatStream;
50
55
  healthCheck(): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"mistral.d.ts","sourceRoot":"","sources":["../../../src/providers/mistral.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,YAAY,EAIb,MAAM,gBAAgB,CAAC;AAaxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAW,MAAM,gBAAgB,CAAC;AAMnF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,cAAc,CAAC;QACxB,aAAa,EAAE,MAAM,GAAG,QAAQ,GAAG,cAAc,GAAG,IAAI,CAAC;KAC1D,CAAC,CAAC;IACH,KAAK,EAAE;QACL,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAMD,qBAAa,qBAAsB,YAAW,cAAc,CAAC,cAAc,EAAE,eAAe,CAAC;IAC3F,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;gBAElD,MAAM,EAAE,oBAAoB;IA2BlC,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IAuC7E,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,YAAY;IA4H1E,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAarC,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAK5D;;OAEG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+DxE,OAAO,CAAC,qBAAqB;IAgB7B,oBAAoB,IAAI,qBAAqB;IAK7C;;;;OAIG;IACI,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,cAAc;IA0BrD;;;;OAIG;IACI,IAAI,CACT,QAAQ,EAAE,eAAe,EACzB,eAAe,EAAE,aAAa,EAC9B,SAAS,EAAE,MAAM,GAChB,cAAc;IA8BjB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,cAAc;CASvB"}
1
+ {"version":3,"file":"mistral.d.ts","sourceRoot":"","sources":["../../../src/providers/mistral.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,YAAY,EAIb,MAAM,gBAAgB,CAAC;AAmBxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAW,MAAM,gBAAgB,CAAC;AAMnF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,cAAc,CAAC;QACxB,aAAa,EAAE,MAAM,GAAG,QAAQ,GAAG,cAAc,GAAG,IAAI,CAAC;KAC1D,CAAC,CAAC;IACH,KAAK,EAAE;QACL,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAMD,qBAAa,qBAAsB,YAAW,cAAc,CAAC,cAAc,EAAE,eAAe,CAAC;IAC3F,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;gBAElD,MAAM,EAAE,oBAAoB;IA8BxC;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;IAWxE,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IAuC7E,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,YAAY;IA4H1E,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAarC,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAK5D;;OAEG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiExE,OAAO,CAAC,qBAAqB;IAgB7B,oBAAoB,IAAI,qBAAqB;IAK7C;;;;OAIG;IACI,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,cAAc;IA0BrD;;;;OAIG;IACI,IAAI,CACT,QAAQ,EAAE,eAAe,EACzB,eAAe,EAAE,aAAa,EAC9B,SAAS,EAAE,MAAM,GAChB,cAAc;IA8BjB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,cAAc;CASvB"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Moonshot AI (Kimi) Backend Adapter
3
+ *
4
+ * Adapts Universal IR to Moonshot AI API (OpenAI-compatible).
5
+ * Moonshot AI provides Kimi models with support for long context windows up to 128K tokens.
6
+ *
7
+ * @module
8
+ */
9
+ import { OpenAIBackendAdapter, type OpenAIRequest, type OpenAIResponse } from './openai.js';
10
+ import type { BackendAdapter, BackendAdapterConfig, IRChatRequest } from 'ai.matey.types';
11
+ /**
12
+ * Backend adapter for Moonshot AI (Kimi) API.
13
+ *
14
+ * Moonshot AI offers Kimi models with exceptional long-context capabilities,
15
+ * supporting up to 128K tokens. The API is OpenAI-compatible.
16
+ *
17
+ * @example Basic Usage
18
+ * ```typescript
19
+ * import { MoonshotBackendAdapter } from 'ai.matey';
20
+ *
21
+ * const adapter = new MoonshotBackendAdapter({
22
+ * apiKey: process.env.MOONSHOT_API_KEY,
23
+ * });
24
+ * ```
25
+ *
26
+ * @example With Long Context Model
27
+ * ```typescript
28
+ * const adapter = new MoonshotBackendAdapter({
29
+ * apiKey: process.env.MOONSHOT_API_KEY,
30
+ * });
31
+ *
32
+ * const response = await adapter.execute({
33
+ * messages: [{ role: 'user', content: 'Summarize this long document...' }],
34
+ * parameters: {
35
+ * model: 'moonshot-v1-128k', // 128K context window
36
+ * },
37
+ * });
38
+ * ```
39
+ *
40
+ * @example Streaming
41
+ * ```typescript
42
+ * const stream = adapter.executeStream({
43
+ * messages: [{ role: 'user', content: 'Hello, Kimi!' }],
44
+ * parameters: {
45
+ * model: 'moonshot-v1-8k',
46
+ * },
47
+ * });
48
+ *
49
+ * for await (const chunk of stream) {
50
+ * if (chunk.type === 'content') {
51
+ * process.stdout.write(chunk.delta);
52
+ * }
53
+ * }
54
+ * ```
55
+ */
56
+ export declare class MoonshotBackendAdapter extends OpenAIBackendAdapter implements BackendAdapter<OpenAIRequest, OpenAIResponse> {
57
+ constructor(config: BackendAdapterConfig);
58
+ /**
59
+ * Health check for Moonshot AI API.
60
+ */
61
+ healthCheck(): Promise<boolean>;
62
+ /**
63
+ * Estimate cost for Moonshot AI.
64
+ */
65
+ estimateCost(request: IRChatRequest): Promise<number | null>;
66
+ }
67
+ /**
68
+ * Create a Moonshot AI backend adapter.
69
+ *
70
+ * @param config - Adapter configuration
71
+ * @returns Moonshot AI backend adapter
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * import { createMoonshotAdapter } from 'ai.matey';
76
+ *
77
+ * const adapter = createMoonshotAdapter({
78
+ * apiKey: process.env.MOONSHOT_API_KEY,
79
+ * });
80
+ * ```
81
+ */
82
+ export declare function createMoonshotAdapter(config: BackendAdapterConfig): MoonshotBackendAdapter;
83
+ //# sourceMappingURL=moonshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moonshot.d.ts","sourceRoot":"","sources":["../../../src/providers/moonshot.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,oBAAoB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,qBAAa,sBACX,SAAQ,oBACR,YAAW,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC;gBAE5C,MAAM,EAAE,oBAAoB;IAkCxC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAiBrC;;OAEG;IAEG,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CA2BnE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,oBAAoB,GAAG,sBAAsB,CAE1F"}
@@ -7,6 +7,7 @@
7
7
  * @module
8
8
  */
9
9
  import type { BackendAdapter, BackendAdapterConfig, AdapterMetadata } from 'ai.matey.types';
10
+ import type { IREmbedRequest, IREmbedResponse } from 'ai.matey.types';
10
11
  import type { IRChatRequest, IRChatResponse, IRChatStream, ListModelsOptions, ListModelsResult } from 'ai.matey.types';
11
12
  export interface OllamaMessage {
12
13
  role: 'system' | 'user' | 'assistant';
@@ -39,6 +40,10 @@ export declare class OllamaBackendAdapter implements BackendAdapter<OllamaReques
39
40
  private readonly config;
40
41
  private readonly baseURL;
41
42
  constructor(config: BackendAdapterConfig);
43
+ /**
44
+ * Generate embeddings via Ollama's /api/embed endpoint.
45
+ */
46
+ embed(request: IREmbedRequest, signal?: AbortSignal): Promise<IREmbedResponse>;
42
47
  execute(request: IRChatRequest, signal?: AbortSignal): Promise<IRChatResponse>;
43
48
  executeStream(request: IRChatRequest, signal?: AbortSignal): IRChatStream;
44
49
  healthCheck(): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../../src/providers/ollama.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,YAAY,EAGZ,iBAAiB,EACjB,gBAAgB,EAEjB,MAAM,gBAAgB,CAAC;AAgBxB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,qBAAa,oBAAqB,YAAW,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC;IACxF,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,oBAAoB;IA0BlC,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IAoC7E,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,YAAY;IA0H1E,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAYrC,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI7D;;;;OAIG;IACI,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa;IA6BpD;;;;OAIG;IACI,IAAI,CACT,QAAQ,EAAE,cAAc,EACxB,eAAe,EAAE,aAAa,EAC9B,SAAS,EAAE,MAAM,GAChB,cAAc;IAwBjB;;;;;;;;;;;;;OAaG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmDxE;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAmB7B"}
1
+ {"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../../src/providers/ollama.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,YAAY,EAGZ,iBAAiB,EACjB,gBAAgB,EAEjB,MAAM,gBAAgB,CAAC;AAgBxB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,qBAAa,oBAAqB,YAAW,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC;IACxF,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,oBAAoB;IA2BxC;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;IA0C9E,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IAoC7E,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,YAAY;IA0H1E,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAYrC,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI7D;;;;OAIG;IACI,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa;IA6BpD;;;;OAIG;IACI,IAAI,CACT,QAAQ,EAAE,cAAc,EACxB,eAAe,EAAE,aAAa,EAC9B,SAAS,EAAE,MAAM,GAChB,cAAc;IAwBjB;;;;;;;;;;;;;OAaG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmDxE;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAmB7B"}
@@ -9,6 +9,7 @@
9
9
  import type { BackendAdapter, BackendAdapterConfig, AdapterMetadata } from 'ai.matey.types';
10
10
  import type { IRChatRequest, IRChatResponse, IRChatStream } from 'ai.matey.types';
11
11
  import type { ListModelsOptions, ListModelsResult } from 'ai.matey.types';
12
+ import type { IREmbedRequest, IREmbedResponse } from 'ai.matey.types';
12
13
  /**
13
14
  * OpenAI message content.
14
15
  */
@@ -52,8 +53,25 @@ export interface OpenAIRequest {
52
53
  presence_penalty?: number;
53
54
  stop?: string | string[];
54
55
  stream?: boolean;
56
+ stream_options?: {
57
+ include_usage?: boolean;
58
+ };
55
59
  user?: string;
56
60
  seed?: number;
61
+ tools?: Array<{
62
+ type: 'function';
63
+ function: {
64
+ name: string;
65
+ description?: string;
66
+ parameters?: Record<string, unknown>;
67
+ };
68
+ }>;
69
+ tool_choice?: 'auto' | 'none' | 'required' | {
70
+ type: 'function';
71
+ function: {
72
+ name: string;
73
+ };
74
+ };
57
75
  }
58
76
  /**
59
77
  * OpenAI Chat Completions API response.
@@ -99,6 +117,12 @@ export interface OpenAIStreamChunk {
99
117
  };
100
118
  finish_reason: 'stop' | 'length' | 'tool_calls' | 'content_filter' | null;
101
119
  }>;
120
+ /** Final usage chunk (sent when stream_options.include_usage is set). */
121
+ usage?: {
122
+ prompt_tokens: number;
123
+ completion_tokens: number;
124
+ total_tokens: number;
125
+ } | null;
102
126
  }
103
127
  /**
104
128
  * OpenAI model object from /v1/models endpoint.
@@ -147,6 +171,14 @@ export declare class OpenAIBackendAdapter implements BackendAdapter<OpenAIReques
147
171
  * Estimate cost for a request (rough heuristic).
148
172
  */
149
173
  estimateCost(request: IRChatRequest): Promise<number | null>;
174
+ /**
175
+ * Generate embeddings via the /embeddings endpoint.
176
+ */
177
+ embed(request: IREmbedRequest, signal?: AbortSignal): Promise<IREmbedResponse>;
178
+ /**
179
+ * Estimate embedding cost in USD via the model registry.
180
+ */
181
+ estimateEmbedCost(request: IREmbedRequest): Promise<number | null>;
150
182
  /**
151
183
  * List available models from OpenAI.
152
184
  *
@@ -178,7 +210,15 @@ export declare class OpenAIBackendAdapter implements BackendAdapter<OpenAIReques
178
210
  */
179
211
  toIR(response: OpenAIResponse, originalRequest: IRChatRequest, latencyMs: number): IRChatResponse;
180
212
  /**
181
- * Convert IR message to OpenAI message.
213
+ * Convert IR toolChoice to OpenAI tool_choice.
214
+ */
215
+ private convertToolChoice;
216
+ /**
217
+ * Convert IR message to OpenAI message(s).
218
+ *
219
+ * Returns an array because OpenAI represents tool results as separate
220
+ * role:'tool' messages (one per tool_use id), while the IR allows multiple
221
+ * tool_result blocks inside a single message.
182
222
  */
183
223
  private convertMessageToOpenAI;
184
224
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/providers/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/providers/openai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * SambaNova Cloud Backend Adapter
3
+ *
4
+ * Adapts Universal IR to SambaNova Cloud API (OpenAI-compatible).
5
+ * SambaNova provides high-throughput AI inference on custom RDU hardware.
6
+ *
7
+ * @module
8
+ */
9
+ import { OpenAIBackendAdapter, type OpenAIRequest, type OpenAIResponse } from './openai.js';
10
+ import type { BackendAdapter, BackendAdapterConfig, IRChatRequest } from 'ai.matey.types';
11
+ /**
12
+ * Backend adapter for SambaNova Cloud API.
13
+ *
14
+ * SambaNova Cloud delivers fast, cost-efficient inference on proprietary
15
+ * Reconfigurable Dataflow Unit (RDU) hardware. The API is OpenAI-compatible,
16
+ * making it easy to switch from other providers.
17
+ *
18
+ * @example Basic Usage
19
+ * ```typescript
20
+ * import { SambaNovaBackendAdapter } from 'ai.matey';
21
+ *
22
+ * const adapter = new SambaNovaBackendAdapter({
23
+ * apiKey: process.env.SAMBANOVA_API_KEY,
24
+ * });
25
+ * ```
26
+ *
27
+ * @example With Meta Llama Model
28
+ * ```typescript
29
+ * const adapter = new SambaNovaBackendAdapter({
30
+ * apiKey: process.env.SAMBANOVA_API_KEY,
31
+ * });
32
+ *
33
+ * const response = await adapter.execute({
34
+ * messages: [{ role: 'user', content: 'Hello!' }],
35
+ * parameters: {
36
+ * model: 'Meta-Llama-3.1-70B-Instruct',
37
+ * },
38
+ * });
39
+ * ```
40
+ *
41
+ * @example Streaming
42
+ * ```typescript
43
+ * const stream = adapter.executeStream({
44
+ * messages: [{ role: 'user', content: 'Tell me a story.' }],
45
+ * parameters: {
46
+ * model: 'Meta-Llama-3.1-8B-Instruct',
47
+ * },
48
+ * });
49
+ *
50
+ * for await (const chunk of stream) {
51
+ * if (chunk.type === 'content') {
52
+ * process.stdout.write(chunk.delta);
53
+ * }
54
+ * }
55
+ * ```
56
+ */
57
+ export declare class SambaNovaBackendAdapter extends OpenAIBackendAdapter implements BackendAdapter<OpenAIRequest, OpenAIResponse> {
58
+ constructor(config: BackendAdapterConfig);
59
+ /**
60
+ * Health check for SambaNova Cloud API.
61
+ */
62
+ healthCheck(): Promise<boolean>;
63
+ /**
64
+ * Estimate cost for SambaNova Cloud.
65
+ */
66
+ estimateCost(request: IRChatRequest): Promise<number | null>;
67
+ }
68
+ /**
69
+ * Create a SambaNova Cloud backend adapter.
70
+ *
71
+ * @param config - Adapter configuration
72
+ * @returns SambaNova Cloud backend adapter
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * import { createSambaNovaAdapter } from 'ai.matey';
77
+ *
78
+ * const adapter = createSambaNovaAdapter({
79
+ * apiKey: process.env.SAMBANOVA_API_KEY,
80
+ * });
81
+ * ```
82
+ */
83
+ export declare function createSambaNovaAdapter(config: BackendAdapterConfig): SambaNovaBackendAdapter;
84
+ //# sourceMappingURL=sambanova.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sambanova.d.ts","sourceRoot":"","sources":["../../../src/providers/sambanova.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,oBAAoB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,qBAAa,uBACX,SAAQ,oBACR,YAAW,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC;gBAE5C,MAAM,EAAE,oBAAoB;IAkCxC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAiBrC;;OAEG;IAEG,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CA8BnE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,GAAG,uBAAuB,CAE5F"}
@@ -7,6 +7,7 @@
7
7
  * @module
8
8
  */
9
9
  import type { BackendAdapter, BackendAdapterConfig, AdapterMetadata } from 'ai.matey.types';
10
+ import type { IREmbedRequest, IREmbedResponse } from 'ai.matey.types';
10
11
  import type { IRChatRequest, IRChatResponse, IRChatStream } from 'ai.matey.types';
11
12
  export type TogetherAIMessageContent = string | Array<{
12
13
  type: 'text';
@@ -97,6 +98,10 @@ export declare class TogetherAIBackendAdapter implements BackendAdapter<Together
97
98
  /**
98
99
  * Execute non-streaming request.
99
100
  */
101
+ /**
102
+ * Generate embeddings via the OpenAI-compatible /embeddings endpoint.
103
+ */
104
+ embed(request: IREmbedRequest, signal?: AbortSignal): Promise<IREmbedResponse>;
100
105
  execute(request: IRChatRequest, signal?: AbortSignal): Promise<IRChatResponse>;
101
106
  /**
102
107
  * Execute streaming request.
@@ -1 +1 @@
1
- {"version":3,"file":"together-ai.d.ts","sourceRoot":"","sources":["../../../src/providers/together-ai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"together-ai.d.ts","sourceRoot":"","sources":["../../../src/providers/together-ai.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @module
8
8
  */
9
- import type { IRChatRequest, AIModel, ListModelsResult } from 'ai.matey.types';
9
+ import type { IRChatRequest, IRMessage, IREmbedRequest, IREmbedResponse, AIModel, ListModelsResult } from 'ai.matey.types';
10
10
  /**
11
11
  * Estimate token count for a chat request.
12
12
  *
@@ -105,6 +105,51 @@ export interface CostRates {
105
105
  * ```
106
106
  */
107
107
  export declare function estimateCost(inputTokens: number, outputTokens: number, rates: CostRates): number;
108
+ /**
109
+ * Parse a JSON object string defensively.
110
+ *
111
+ * Used for provider-supplied tool-call arguments, which arrive as JSON text
112
+ * (and, when streamed, may be truncated mid-document). Returns an empty
113
+ * object when the input is empty, malformed, or not a JSON object, so a bad
114
+ * tool-arguments payload degrades to `{}` rather than failing the response.
115
+ */
116
+ export interface StreamedToolCall {
117
+ id: string;
118
+ name: string;
119
+ /** Concatenated raw JSON argument fragments. */
120
+ args: string;
121
+ /** Zero-based position of the tool call within the message. */
122
+ index: number;
123
+ }
124
+ /**
125
+ * Assemble the final message for a stream's `done` chunk.
126
+ *
127
+ * When tool calls were streamed, the message content is a structured block
128
+ * array: an optional leading text block followed by one `tool_use` block per
129
+ * call (in index order), with accumulated argument fragments parsed via
130
+ * {@link safeParseJSON}. Without tool calls the content stays a plain string
131
+ * for backward compatibility.
132
+ */
133
+ export declare function buildStreamDoneMessage(text: string, toolCalls: readonly StreamedToolCall[]): IRMessage;
134
+ /**
135
+ * Execute an embedding request against an OpenAI-compatible `/embeddings`
136
+ * endpoint (OpenAI, Azure OpenAI, Mistral, Together, Fireworks, DeepInfra,
137
+ * NVIDIA, LM Studio, ...).
138
+ *
139
+ * Providers wrap this with their base URL, headers, and default model; the
140
+ * response is normalized to `IREmbedResponse` with input order preserved.
141
+ */
142
+ export declare function executeOpenAICompatibleEmbed(options: {
143
+ baseURL: string;
144
+ headers: Record<string, string>;
145
+ request: IREmbedRequest;
146
+ backendName: string;
147
+ defaultModel: string;
148
+ /** Endpoint path relative to baseURL. @default '/embeddings' */
149
+ path?: string;
150
+ signal?: AbortSignal;
151
+ }): Promise<IREmbedResponse>;
152
+ export declare function safeParseJSON(text: string | undefined | null): Record<string, unknown>;
108
153
  /**
109
154
  * Default OpenAI models with capabilities.
110
155
  */
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAM/E;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAiB7D;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,EACrC,OAAO,SAAa,GACnB,gBAAgB,CAmBlB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,qDAAqD;IACrD,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,uDAAuD;IACvD,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,kDAAkD;IAClD,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,gBAAgB,EACxB,MAAM,CAAC,EAAE,qBAAqB,GAC7B,gBAAgB,CA4ClB;AAMD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAIhG;AAMD;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,OAAO,EAyD1C,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,OAAO,EAqF7C,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,OAAO,EA6BxC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,OAAO,EAuE1C,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,OAAO,EAyD1C,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,OAAO,EAyD3C,CAAC"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,cAAc,EACd,eAAe,EACf,OAAO,EACP,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAOxB;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAiB7D;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,EACrC,OAAO,SAAa,GACnB,gBAAgB,CAmBlB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,qDAAqD;IACrD,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,uDAAuD;IACvD,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,kDAAkD;IAClD,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,gBAAgB,EACxB,MAAM,CAAC,EAAE,qBAAqB,GAC7B,gBAAgB,CA4ClB;AAMD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAIhG;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,gBAAgB,EAAE,GACrC,SAAS,CAmBX;AAMD;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAAC,OAAO,EAAE;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,OAAO,CAAC,eAAe,CAAC,CAmE3B;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAatF;AAMD;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,OAAO,EAyD1C,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,OAAO,EAmG7C,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,OAAO,EA6BxC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,OAAO,EAqF1C,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,OAAO,EAyD1C,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,OAAO,EAyD3C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai.matey.backend",
3
- "version": "0.2.4",
3
+ "version": "0.5.0",
4
4
  "description": "Backend provider adapters for AI Matey - Universal AI Adapter System",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
@@ -257,6 +257,36 @@
257
257
  "default": "./dist/cjs/providers/xai.js"
258
258
  }
259
259
  },
260
+ "./inception": {
261
+ "import": {
262
+ "types": "./dist/types/providers/inception.d.ts",
263
+ "default": "./dist/esm/providers/inception.js"
264
+ },
265
+ "require": {
266
+ "types": "./dist/types/providers/inception.d.ts",
267
+ "default": "./dist/cjs/providers/inception.js"
268
+ }
269
+ },
270
+ "./moonshot": {
271
+ "import": {
272
+ "types": "./dist/types/providers/moonshot.d.ts",
273
+ "default": "./dist/esm/providers/moonshot.js"
274
+ },
275
+ "require": {
276
+ "types": "./dist/types/providers/moonshot.d.ts",
277
+ "default": "./dist/cjs/providers/moonshot.js"
278
+ }
279
+ },
280
+ "./sambanova": {
281
+ "import": {
282
+ "types": "./dist/types/providers/sambanova.d.ts",
283
+ "default": "./dist/esm/providers/sambanova.js"
284
+ },
285
+ "require": {
286
+ "types": "./dist/types/providers/sambanova.d.ts",
287
+ "default": "./dist/cjs/providers/sambanova.js"
288
+ }
289
+ },
260
290
  "./shared": {
261
291
  "import": {
262
292
  "types": "./dist/types/shared.d.ts",
package/readme.md CHANGED
@@ -12,7 +12,7 @@ npm install ai.matey.backend
12
12
 
13
13
  ## Included Providers
14
14
 
15
- This package includes adapters for **24 AI providers**:
15
+ This package includes adapters for **27 AI providers**:
16
16
 
17
17
  ### Commercial APIs
18
18
  - **OpenAI** - GPT-4, GPT-4 Turbo, GPT-3.5
@@ -22,6 +22,8 @@ This package includes adapters for **24 AI providers**:
22
22
  - **Cohere** - Command, Command-Light, Command-R
23
23
  - **xAI** - Grok models
24
24
  - **AI21 Labs** - Jurassic models
25
+ - **Moonshot AI** - Kimi models with long-context support (up to 128K)
26
+ - **Inception Labs** - Mercury diffusion language models
25
27
 
26
28
  ### Cloud Providers
27
29
  - **AWS Bedrock** - Amazon's managed AI service
@@ -35,6 +37,7 @@ This package includes adapters for **24 AI providers**:
35
37
  - **Anyscale** - Fast endpoints
36
38
  - **DeepInfra** - High-performance inference
37
39
  - **Cerebras** - AI supercomputer inference
40
+ - **SambaNova** - High-throughput RDU-accelerated inference
38
41
 
39
42
  ### Aggregators
40
43
  - **OpenRouter** - Multi-provider routing and fallback