@ax-llm/ax-ai-sdk-provider 9.0.34

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.
package/cjs/index.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ import { type LanguageModelV1, type LanguageModelV1FinishReason } from '@ai-sdk/provider';
2
+ import type { AxAIService, AxChatResponseResult } from '@ax-llm/ax/index.js';
3
+ type AxChatConfig = {
4
+ generateId: () => string;
5
+ fetch?: typeof fetch;
6
+ };
7
+ export declare class AxAgentFramework implements LanguageModelV1 {
8
+ readonly specificationVersion = "v1";
9
+ readonly defaultObjectGenerationMode = "json";
10
+ private readonly ai;
11
+ private readonly config;
12
+ modelId: string;
13
+ constructor(ai: AxAIService, config: Readonly<AxChatConfig>);
14
+ get provider(): string;
15
+ doGenerate(options: Readonly<Parameters<LanguageModelV1['doGenerate']>[0]>): Promise<Awaited<ReturnType<LanguageModelV1['doGenerate']>>>;
16
+ doStream(options: Readonly<Parameters<LanguageModelV1['doStream']>[0]>): Promise<Awaited<ReturnType<LanguageModelV1['doStream']>>>;
17
+ }
18
+ export declare function mapAxFinishReason(finishReason: AxChatResponseResult['finishReason']): LanguageModelV1FinishReason;
19
+ export {};
package/cjs/index.js ADDED
@@ -0,0 +1,263 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AxAgentFramework = void 0;
4
+ exports.mapAxFinishReason = mapAxFinishReason;
5
+ const web_1 = require("stream/web");
6
+ const provider_1 = require("@ai-sdk/provider");
7
+ class AxAgentFramework {
8
+ specificationVersion = 'v1';
9
+ defaultObjectGenerationMode = 'json';
10
+ ai;
11
+ config;
12
+ modelId;
13
+ constructor(ai, config) {
14
+ this.ai = ai;
15
+ this.config = config;
16
+ this.modelId = this.ai.getModelInfo().name;
17
+ }
18
+ get provider() {
19
+ return this.ai.getName();
20
+ }
21
+ async doGenerate(options) {
22
+ const { req, warnings } = createChatRequest(options);
23
+ const res = (await this.ai.chat(req));
24
+ const choice = res.results.at(0);
25
+ if (!choice) {
26
+ throw new Error('No choice returned');
27
+ }
28
+ return {
29
+ text: choice.content ?? undefined,
30
+ toolCalls: choice.functionCalls?.map((tc) => ({
31
+ toolCallType: 'function',
32
+ toolCallId: tc.id,
33
+ toolName: tc.function.name,
34
+ args: JSON.stringify(tc.function.params)
35
+ })),
36
+ finishReason: mapAxFinishReason(choice.finishReason),
37
+ usage: {
38
+ promptTokens: res.modelUsage?.promptTokens ?? 0,
39
+ completionTokens: res.modelUsage?.completionTokens ?? 0
40
+ },
41
+ rawCall: { rawPrompt: '', rawSettings: req.modelConfig ?? {} },
42
+ warnings
43
+ };
44
+ }
45
+ async doStream(options) {
46
+ const { req, warnings } = createChatRequest(options);
47
+ const res = (await this.ai.chat(req));
48
+ return {
49
+ stream: res.pipeThrough(new AxToSDKTransformer()),
50
+ rawCall: { rawPrompt: '', rawSettings: req.modelConfig ?? {} },
51
+ warnings
52
+ };
53
+ }
54
+ }
55
+ exports.AxAgentFramework = AxAgentFramework;
56
+ function prepareToolsAndToolChoice(mode) {
57
+ // when the tools array is empty, change it to undefined to prevent errors:
58
+ const tools = mode.tools?.length ? mode.tools : undefined;
59
+ if (tools == null) {
60
+ return { tools: undefined, tool_choice: undefined };
61
+ }
62
+ const mappedTools = tools.map((tool) => ({
63
+ type: 'function',
64
+ function: {
65
+ name: tool.name,
66
+ description: tool.description,
67
+ parameters: tool.parameters
68
+ }
69
+ }));
70
+ const toolChoice = mode.toolChoice;
71
+ if (toolChoice == null) {
72
+ return { tools: mappedTools, tool_choice: undefined };
73
+ }
74
+ const type = toolChoice.type;
75
+ switch (type) {
76
+ case 'auto':
77
+ case 'none':
78
+ return { tools: mappedTools, tool_choice: type };
79
+ case 'required':
80
+ return { tools: mappedTools, tool_choice: 'any' };
81
+ // mistral does not support tool mode directly,
82
+ // so we filter the tools and force the tool choice through 'any'
83
+ case 'tool':
84
+ return {
85
+ tools: mappedTools.filter((tool) => tool.function.name === toolChoice.toolName),
86
+ tool_choice: 'any'
87
+ };
88
+ default: {
89
+ const _exhaustiveCheck = type;
90
+ throw new Error(`Unsupported tool choice type: ${_exhaustiveCheck}`);
91
+ }
92
+ }
93
+ }
94
+ function convertToAxChatPrompt(prompt) {
95
+ const messages = [];
96
+ for (const { role, content } of prompt) {
97
+ switch (role) {
98
+ case 'system': {
99
+ messages.push({ role: 'system', content });
100
+ break;
101
+ }
102
+ case 'user': {
103
+ messages.push({
104
+ role: 'user',
105
+ content: content
106
+ .map((part) => {
107
+ switch (part.type) {
108
+ case 'text': {
109
+ return part.text;
110
+ }
111
+ case 'image': {
112
+ throw new provider_1.UnsupportedFunctionalityError({
113
+ functionality: 'image-part'
114
+ });
115
+ }
116
+ }
117
+ })
118
+ .join('')
119
+ });
120
+ break;
121
+ }
122
+ case 'assistant': {
123
+ let text = '';
124
+ const toolCalls = [];
125
+ for (const part of content) {
126
+ switch (part.type) {
127
+ case 'text': {
128
+ text += part.text;
129
+ break;
130
+ }
131
+ case 'tool-call': {
132
+ toolCalls.push({
133
+ id: part.toolCallId,
134
+ type: 'function',
135
+ function: {
136
+ name: part.toolName,
137
+ params: part.args
138
+ }
139
+ });
140
+ break;
141
+ }
142
+ default: {
143
+ const _exhaustiveCheck = part;
144
+ throw new Error(`Unsupported part: ${_exhaustiveCheck}`);
145
+ }
146
+ }
147
+ }
148
+ messages.push({
149
+ role: 'assistant',
150
+ content: text,
151
+ functionCalls: toolCalls
152
+ });
153
+ break;
154
+ }
155
+ case 'tool': {
156
+ for (const toolResponse of content) {
157
+ messages.push({
158
+ role: 'assistant',
159
+ name: toolResponse.toolName,
160
+ content: JSON.stringify(toolResponse.result)
161
+ });
162
+ }
163
+ break;
164
+ }
165
+ default: {
166
+ const _exhaustiveCheck = role;
167
+ throw new Error(`Unsupported role: ${_exhaustiveCheck}`);
168
+ }
169
+ }
170
+ }
171
+ return messages;
172
+ }
173
+ function mapAxFinishReason(finishReason) {
174
+ switch (finishReason) {
175
+ case 'stop':
176
+ return 'stop';
177
+ case 'length':
178
+ return 'length';
179
+ case 'function_call':
180
+ return 'tool-calls';
181
+ default:
182
+ return 'other';
183
+ }
184
+ }
185
+ function createChatRequest({ mode, prompt, maxTokens, temperature, topP, frequencyPenalty, presencePenalty
186
+ //seed
187
+ }) {
188
+ const req = {
189
+ chatPrompt: convertToAxChatPrompt(prompt),
190
+ ...(frequencyPenalty != null ? { frequencyPenalty } : {}),
191
+ ...(presencePenalty != null ? { presencePenalty } : {}),
192
+ ...(maxTokens != null ? { maxTokens } : {}),
193
+ ...(temperature != null ? { temperature } : {}),
194
+ ...(topP != null ? { topP } : {})
195
+ };
196
+ const warnings = [];
197
+ switch (mode.type) {
198
+ case 'regular': {
199
+ return {
200
+ req: { ...req, ...prepareToolsAndToolChoice(mode) },
201
+ warnings
202
+ };
203
+ }
204
+ case 'object-json': {
205
+ return {
206
+ req,
207
+ warnings
208
+ };
209
+ }
210
+ case 'object-tool': {
211
+ return {
212
+ req: { ...req, ...mode.tool },
213
+ warnings
214
+ };
215
+ }
216
+ case 'object-grammar': {
217
+ throw new provider_1.UnsupportedFunctionalityError({
218
+ functionality: 'object-grammar mode'
219
+ });
220
+ }
221
+ default: {
222
+ throw new Error(`Unsupported type`);
223
+ }
224
+ }
225
+ }
226
+ class AxToSDKTransformer extends web_1.TransformStream {
227
+ usage = {
228
+ promptTokens: 0,
229
+ completionTokens: 0
230
+ };
231
+ finishReason = 'other';
232
+ transform(chunk, controller) {
233
+ const choice = chunk.results.at(0);
234
+ if (!choice) {
235
+ throw new Error('No choice returned');
236
+ }
237
+ if (choice.functionCalls) {
238
+ for (const tc of choice.functionCalls) {
239
+ controller.enqueue({
240
+ type: 'tool-call',
241
+ toolCallType: 'function',
242
+ toolCallId: tc.id,
243
+ toolName: tc.function.name,
244
+ args: JSON.stringify(tc.function.params)
245
+ });
246
+ this.finishReason = 'tool-calls';
247
+ }
248
+ }
249
+ controller.enqueue({
250
+ type: 'text-delta',
251
+ textDelta: choice.content ?? ''
252
+ });
253
+ this.finishReason = mapAxFinishReason(choice.finishReason);
254
+ }
255
+ flush(controller) {
256
+ controller.enqueue({
257
+ type: 'finish',
258
+ finishReason: this.finishReason,
259
+ usage: this.usage
260
+ });
261
+ }
262
+ }
263
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
package/index.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ import { type LanguageModelV1, type LanguageModelV1FinishReason } from '@ai-sdk/provider';
2
+ import type { AxAIService, AxChatResponseResult } from '@ax-llm/ax/index.js';
3
+ type AxChatConfig = {
4
+ generateId: () => string;
5
+ fetch?: typeof fetch;
6
+ };
7
+ export declare class AxAgentFramework implements LanguageModelV1 {
8
+ readonly specificationVersion = "v1";
9
+ readonly defaultObjectGenerationMode = "json";
10
+ private readonly ai;
11
+ private readonly config;
12
+ modelId: string;
13
+ constructor(ai: AxAIService, config: Readonly<AxChatConfig>);
14
+ get provider(): string;
15
+ doGenerate(options: Readonly<Parameters<LanguageModelV1['doGenerate']>[0]>): Promise<Awaited<ReturnType<LanguageModelV1['doGenerate']>>>;
16
+ doStream(options: Readonly<Parameters<LanguageModelV1['doStream']>[0]>): Promise<Awaited<ReturnType<LanguageModelV1['doStream']>>>;
17
+ }
18
+ export declare function mapAxFinishReason(finishReason: AxChatResponseResult['finishReason']): LanguageModelV1FinishReason;
19
+ export {};
package/index.js ADDED
@@ -0,0 +1,258 @@
1
+ import { TransformStream, TransformStreamDefaultController } from 'stream/web';
2
+ import { UnsupportedFunctionalityError } from '@ai-sdk/provider';
3
+ export class AxAgentFramework {
4
+ specificationVersion = 'v1';
5
+ defaultObjectGenerationMode = 'json';
6
+ ai;
7
+ config;
8
+ modelId;
9
+ constructor(ai, config) {
10
+ this.ai = ai;
11
+ this.config = config;
12
+ this.modelId = this.ai.getModelInfo().name;
13
+ }
14
+ get provider() {
15
+ return this.ai.getName();
16
+ }
17
+ async doGenerate(options) {
18
+ const { req, warnings } = createChatRequest(options);
19
+ const res = (await this.ai.chat(req));
20
+ const choice = res.results.at(0);
21
+ if (!choice) {
22
+ throw new Error('No choice returned');
23
+ }
24
+ return {
25
+ text: choice.content ?? undefined,
26
+ toolCalls: choice.functionCalls?.map((tc) => ({
27
+ toolCallType: 'function',
28
+ toolCallId: tc.id,
29
+ toolName: tc.function.name,
30
+ args: JSON.stringify(tc.function.params)
31
+ })),
32
+ finishReason: mapAxFinishReason(choice.finishReason),
33
+ usage: {
34
+ promptTokens: res.modelUsage?.promptTokens ?? 0,
35
+ completionTokens: res.modelUsage?.completionTokens ?? 0
36
+ },
37
+ rawCall: { rawPrompt: '', rawSettings: req.modelConfig ?? {} },
38
+ warnings
39
+ };
40
+ }
41
+ async doStream(options) {
42
+ const { req, warnings } = createChatRequest(options);
43
+ const res = (await this.ai.chat(req));
44
+ return {
45
+ stream: res.pipeThrough(new AxToSDKTransformer()),
46
+ rawCall: { rawPrompt: '', rawSettings: req.modelConfig ?? {} },
47
+ warnings
48
+ };
49
+ }
50
+ }
51
+ function prepareToolsAndToolChoice(mode) {
52
+ // when the tools array is empty, change it to undefined to prevent errors:
53
+ const tools = mode.tools?.length ? mode.tools : undefined;
54
+ if (tools == null) {
55
+ return { tools: undefined, tool_choice: undefined };
56
+ }
57
+ const mappedTools = tools.map((tool) => ({
58
+ type: 'function',
59
+ function: {
60
+ name: tool.name,
61
+ description: tool.description,
62
+ parameters: tool.parameters
63
+ }
64
+ }));
65
+ const toolChoice = mode.toolChoice;
66
+ if (toolChoice == null) {
67
+ return { tools: mappedTools, tool_choice: undefined };
68
+ }
69
+ const type = toolChoice.type;
70
+ switch (type) {
71
+ case 'auto':
72
+ case 'none':
73
+ return { tools: mappedTools, tool_choice: type };
74
+ case 'required':
75
+ return { tools: mappedTools, tool_choice: 'any' };
76
+ // mistral does not support tool mode directly,
77
+ // so we filter the tools and force the tool choice through 'any'
78
+ case 'tool':
79
+ return {
80
+ tools: mappedTools.filter((tool) => tool.function.name === toolChoice.toolName),
81
+ tool_choice: 'any'
82
+ };
83
+ default: {
84
+ const _exhaustiveCheck = type;
85
+ throw new Error(`Unsupported tool choice type: ${_exhaustiveCheck}`);
86
+ }
87
+ }
88
+ }
89
+ function convertToAxChatPrompt(prompt) {
90
+ const messages = [];
91
+ for (const { role, content } of prompt) {
92
+ switch (role) {
93
+ case 'system': {
94
+ messages.push({ role: 'system', content });
95
+ break;
96
+ }
97
+ case 'user': {
98
+ messages.push({
99
+ role: 'user',
100
+ content: content
101
+ .map((part) => {
102
+ switch (part.type) {
103
+ case 'text': {
104
+ return part.text;
105
+ }
106
+ case 'image': {
107
+ throw new UnsupportedFunctionalityError({
108
+ functionality: 'image-part'
109
+ });
110
+ }
111
+ }
112
+ })
113
+ .join('')
114
+ });
115
+ break;
116
+ }
117
+ case 'assistant': {
118
+ let text = '';
119
+ const toolCalls = [];
120
+ for (const part of content) {
121
+ switch (part.type) {
122
+ case 'text': {
123
+ text += part.text;
124
+ break;
125
+ }
126
+ case 'tool-call': {
127
+ toolCalls.push({
128
+ id: part.toolCallId,
129
+ type: 'function',
130
+ function: {
131
+ name: part.toolName,
132
+ params: part.args
133
+ }
134
+ });
135
+ break;
136
+ }
137
+ default: {
138
+ const _exhaustiveCheck = part;
139
+ throw new Error(`Unsupported part: ${_exhaustiveCheck}`);
140
+ }
141
+ }
142
+ }
143
+ messages.push({
144
+ role: 'assistant',
145
+ content: text,
146
+ functionCalls: toolCalls
147
+ });
148
+ break;
149
+ }
150
+ case 'tool': {
151
+ for (const toolResponse of content) {
152
+ messages.push({
153
+ role: 'assistant',
154
+ name: toolResponse.toolName,
155
+ content: JSON.stringify(toolResponse.result)
156
+ });
157
+ }
158
+ break;
159
+ }
160
+ default: {
161
+ const _exhaustiveCheck = role;
162
+ throw new Error(`Unsupported role: ${_exhaustiveCheck}`);
163
+ }
164
+ }
165
+ }
166
+ return messages;
167
+ }
168
+ export function mapAxFinishReason(finishReason) {
169
+ switch (finishReason) {
170
+ case 'stop':
171
+ return 'stop';
172
+ case 'length':
173
+ return 'length';
174
+ case 'function_call':
175
+ return 'tool-calls';
176
+ default:
177
+ return 'other';
178
+ }
179
+ }
180
+ function createChatRequest({ mode, prompt, maxTokens, temperature, topP, frequencyPenalty, presencePenalty
181
+ //seed
182
+ }) {
183
+ const req = {
184
+ chatPrompt: convertToAxChatPrompt(prompt),
185
+ ...(frequencyPenalty != null ? { frequencyPenalty } : {}),
186
+ ...(presencePenalty != null ? { presencePenalty } : {}),
187
+ ...(maxTokens != null ? { maxTokens } : {}),
188
+ ...(temperature != null ? { temperature } : {}),
189
+ ...(topP != null ? { topP } : {})
190
+ };
191
+ const warnings = [];
192
+ switch (mode.type) {
193
+ case 'regular': {
194
+ return {
195
+ req: { ...req, ...prepareToolsAndToolChoice(mode) },
196
+ warnings
197
+ };
198
+ }
199
+ case 'object-json': {
200
+ return {
201
+ req,
202
+ warnings
203
+ };
204
+ }
205
+ case 'object-tool': {
206
+ return {
207
+ req: { ...req, ...mode.tool },
208
+ warnings
209
+ };
210
+ }
211
+ case 'object-grammar': {
212
+ throw new UnsupportedFunctionalityError({
213
+ functionality: 'object-grammar mode'
214
+ });
215
+ }
216
+ default: {
217
+ throw new Error(`Unsupported type`);
218
+ }
219
+ }
220
+ }
221
+ class AxToSDKTransformer extends TransformStream {
222
+ usage = {
223
+ promptTokens: 0,
224
+ completionTokens: 0
225
+ };
226
+ finishReason = 'other';
227
+ transform(chunk, controller) {
228
+ const choice = chunk.results.at(0);
229
+ if (!choice) {
230
+ throw new Error('No choice returned');
231
+ }
232
+ if (choice.functionCalls) {
233
+ for (const tc of choice.functionCalls) {
234
+ controller.enqueue({
235
+ type: 'tool-call',
236
+ toolCallType: 'function',
237
+ toolCallId: tc.id,
238
+ toolName: tc.function.name,
239
+ args: JSON.stringify(tc.function.params)
240
+ });
241
+ this.finishReason = 'tool-calls';
242
+ }
243
+ }
244
+ controller.enqueue({
245
+ type: 'text-delta',
246
+ textDelta: choice.content ?? ''
247
+ });
248
+ this.finishReason = mapAxFinishReason(choice.finishReason);
249
+ }
250
+ flush(controller) {
251
+ controller.enqueue({
252
+ type: 'finish',
253
+ finishReason: this.finishReason,
254
+ usage: this.usage
255
+ });
256
+ }
257
+ }
258
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "@ax-llm/ax-ai-sdk-provider",
3
+ "version": "9.0.34",
4
+ "type": "module",
5
+ "description": "Ax AI SDK Provider for the Vercel AI SDK",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/ax-llm/ax.git"
9
+ },
10
+ "publishConfig": {
11
+ "access": "public"
12
+ },
13
+ "license": "Apache-2.0",
14
+ "keywords": [],
15
+ "dependencies": {
16
+ "@ai-sdk/provider-utils": "^1.0.2",
17
+ "@ax-llm/ax": "9.0.36"
18
+ },
19
+ "bugs": {
20
+ "url": "https://github.com/@ax-llm/ax/issues"
21
+ },
22
+ "homepage": "https://github.com/@ax-llm/ax#readme",
23
+ "author": "Vikram <https://twitter.com/dosco>",
24
+ "main": "cjs/index.js",
25
+ "module": "index.js",
26
+ "types": "index.d.ts",
27
+ "exports": {
28
+ ".": {
29
+ "import": "./index.js",
30
+ "require": "./cjs/index.js"
31
+ },
32
+ "./*.js": {
33
+ "import": "./*.js",
34
+ "require": "./cjs/*.js"
35
+ },
36
+ "./*": {
37
+ "import": "./*.js",
38
+ "require": "./cjs/*.js"
39
+ }
40
+ }
41
+ }