@ax-llm/ax 9.0.44 → 9.0.45

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.
@@ -0,0 +1,27 @@
1
+ import type { API } from '../../util/apicall.js';
2
+ import { AxBaseAI } from '../base.js';
3
+ import type { AxAIPromptConfig, AxAIServiceOptions, AxChatResponse, AxInternalChatRequest, AxModelConfig, AxModelInfo } from '../types.js';
4
+ import { type AxAIRekaChatRequest, type AxAIRekaChatResponse, type AxAIRekaChatResponseDelta, type AxAIRekaConfig, AxAIRekaModel } from './types.js';
5
+ export declare const axAIRekaDefaultConfig: () => AxAIRekaConfig;
6
+ export declare const axAIRekaBestConfig: () => AxAIRekaConfig;
7
+ export declare const axAIRekaCreativeConfig: () => AxAIRekaConfig;
8
+ export declare const axAIRekaFastConfig: () => AxAIRekaConfig;
9
+ export interface AxAIRekaArgs {
10
+ name: 'reka';
11
+ apiKey: string;
12
+ apiURL?: string;
13
+ config?: Readonly<Partial<AxAIRekaConfig>>;
14
+ options?: Readonly<AxAIServiceOptions & {
15
+ streamingUsage?: boolean;
16
+ }>;
17
+ modelInfo?: Readonly<AxModelInfo[]>;
18
+ modelMap?: Record<string, AxAIRekaModel | string>;
19
+ }
20
+ export declare class AxAIReka extends AxBaseAI<AxAIRekaChatRequest, unknown, AxAIRekaChatResponse, AxAIRekaChatResponseDelta, unknown> {
21
+ private config;
22
+ constructor({ apiKey, config, options, apiURL, modelInfo, modelMap }: Readonly<Omit<AxAIRekaArgs, 'name'>>);
23
+ getModelConfig(): AxModelConfig;
24
+ generateChatReq: (req: Readonly<AxInternalChatRequest>, _config: Readonly<AxAIPromptConfig>) => [API, AxAIRekaChatRequest];
25
+ generateChatResp: (resp: Readonly<AxAIRekaChatResponse>) => AxChatResponse;
26
+ generateChatStreamResp: (resp: Readonly<AxAIRekaChatResponseDelta>) => AxChatResponse;
27
+ }
package/ai/reka/api.js ADDED
@@ -0,0 +1,203 @@
1
+ import { AxBaseAI, axBaseAIDefaultConfig, axBaseAIDefaultCreativeConfig } from '../base.js';
2
+ import { axModelInfoReka } from './info.js';
3
+ import { AxAIRekaModel } from './types.js';
4
+ export const axAIRekaDefaultConfig = () => structuredClone({
5
+ model: AxAIRekaModel.RekaCore,
6
+ ...axBaseAIDefaultConfig()
7
+ });
8
+ export const axAIRekaBestConfig = () => structuredClone({
9
+ ...axAIRekaDefaultConfig(),
10
+ model: AxAIRekaModel.RekaCore
11
+ });
12
+ export const axAIRekaCreativeConfig = () => structuredClone({
13
+ model: AxAIRekaModel.RekaCore,
14
+ ...axBaseAIDefaultCreativeConfig()
15
+ });
16
+ export const axAIRekaFastConfig = () => ({
17
+ ...axAIRekaDefaultConfig(),
18
+ model: AxAIRekaModel.RekaFlash
19
+ });
20
+ export class AxAIReka extends AxBaseAI {
21
+ config;
22
+ constructor({ apiKey, config, options, apiURL, modelInfo = axModelInfoReka, modelMap }) {
23
+ if (!apiKey || apiKey === '') {
24
+ throw new Error('Reka API key not set');
25
+ }
26
+ const _config = {
27
+ ...axAIRekaDefaultConfig(),
28
+ ...config
29
+ };
30
+ super({
31
+ name: 'Reka',
32
+ apiURL: apiURL ? apiURL : 'https://api.reka.ai/v1/chat',
33
+ headers: { 'X-Api-Key': apiKey },
34
+ modelInfo,
35
+ models: {
36
+ model: _config.model
37
+ },
38
+ options,
39
+ supportFor: { functions: true, streaming: true },
40
+ modelMap
41
+ });
42
+ this.config = _config;
43
+ }
44
+ getModelConfig() {
45
+ const { config } = this;
46
+ return {
47
+ maxTokens: config.maxTokens,
48
+ temperature: config.temperature,
49
+ presencePenalty: config.presencePenalty,
50
+ frequencyPenalty: config.frequencyPenalty,
51
+ stopSequences: config.stopSequences,
52
+ topP: config.topP,
53
+ n: config.n,
54
+ stream: config.stream
55
+ };
56
+ }
57
+ generateChatReq = (req,
58
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
59
+ _config) => {
60
+ const model = req.model;
61
+ if (!req.chatPrompt || req.chatPrompt.length === 0) {
62
+ throw new Error('Chat prompt is empty');
63
+ }
64
+ const apiConfig = {
65
+ name: '/chat/completions'
66
+ };
67
+ const messages = createMessages(req);
68
+ const frequencyPenalty = req.modelConfig?.frequencyPenalty ?? this.config.frequencyPenalty;
69
+ const stream = req.modelConfig?.stream ?? this.config.stream;
70
+ const reqValue = {
71
+ model,
72
+ messages,
73
+ max_tokens: req.modelConfig?.maxTokens ?? this.config.maxTokens ?? 500,
74
+ temperature: req.modelConfig?.temperature ?? this.config.temperature,
75
+ top_k: req.modelConfig?.n ?? this.config.n,
76
+ top_p: req.modelConfig?.topP ?? this.config.topP ?? 1,
77
+ stop: req.modelConfig?.stopSequences ?? this.config.stop,
78
+ presence_penalty: req.modelConfig?.presencePenalty ?? this.config.presencePenalty,
79
+ ...(frequencyPenalty ? { frequency_penalty: frequencyPenalty } : {}),
80
+ ...(stream ? { stream: true } : {})
81
+ };
82
+ return [apiConfig, reqValue];
83
+ };
84
+ generateChatResp = (resp) => {
85
+ const { id, usage, responses } = resp;
86
+ const modelUsage = usage
87
+ ? {
88
+ promptTokens: usage.input_tokens,
89
+ completionTokens: usage.output_tokens,
90
+ totalTokens: usage.input_tokens + usage.output_tokens
91
+ }
92
+ : undefined;
93
+ const results = responses.map((res) => {
94
+ const finishReason = mapFinishReason(res.finish_reason);
95
+ let content;
96
+ if (typeof res.message.content === 'string') {
97
+ content = res.message.content;
98
+ }
99
+ else {
100
+ content = res.message.content.text;
101
+ }
102
+ return {
103
+ id: `${id}`,
104
+ content,
105
+ finishReason
106
+ };
107
+ });
108
+ return {
109
+ modelUsage,
110
+ results,
111
+ remoteId: id
112
+ };
113
+ };
114
+ generateChatStreamResp = (resp) => {
115
+ const { id, usage, responses } = resp;
116
+ const modelUsage = usage
117
+ ? {
118
+ promptTokens: usage.input_tokens,
119
+ completionTokens: usage.output_tokens,
120
+ totalTokens: usage.input_tokens + usage.output_tokens
121
+ }
122
+ : undefined;
123
+ const results = responses.map((res) => {
124
+ const finishReason = mapFinishReason(res.finish_reason);
125
+ let content;
126
+ if (typeof res.chunk.content === 'string') {
127
+ content = res.chunk.content;
128
+ }
129
+ else {
130
+ content = res.chunk.content.text;
131
+ }
132
+ return {
133
+ id: `${id}`,
134
+ content,
135
+ finishReason
136
+ };
137
+ });
138
+ return {
139
+ results,
140
+ modelUsage
141
+ };
142
+ };
143
+ }
144
+ const mapFinishReason = (finishReason) => {
145
+ switch (finishReason) {
146
+ case 'stop':
147
+ return 'stop';
148
+ case 'context':
149
+ return 'length';
150
+ case 'length':
151
+ return 'length';
152
+ }
153
+ };
154
+ function createMessages(req) {
155
+ return req.chatPrompt.map((msg) => {
156
+ switch (msg.role) {
157
+ case 'system':
158
+ return { role: 'user', content: msg.content };
159
+ case 'user':
160
+ if (Array.isArray(msg.content)) {
161
+ return {
162
+ role: 'user',
163
+ content: msg.content.map((c) => {
164
+ switch (c.type) {
165
+ case 'text':
166
+ return { type: 'text', text: c.text };
167
+ case 'image': {
168
+ throw new Error('Image type not supported');
169
+ }
170
+ default:
171
+ throw new Error('Invalid content type');
172
+ }
173
+ })
174
+ };
175
+ }
176
+ return { role: 'user', content: msg.content };
177
+ case 'assistant':
178
+ if (Array.isArray(msg.content)) {
179
+ return {
180
+ role: 'assistant',
181
+ content: msg.content.map((c) => {
182
+ switch (c.type) {
183
+ case 'text':
184
+ return { type: 'text', text: c.text };
185
+ case 'image': {
186
+ throw new Error('Image type not supported');
187
+ }
188
+ default:
189
+ throw new Error('Invalid content type');
190
+ }
191
+ })
192
+ };
193
+ }
194
+ if (!msg.content) {
195
+ throw new Error('Assistant content is empty');
196
+ }
197
+ return { role: 'user', content: msg.content };
198
+ default:
199
+ throw new Error('Invalid role');
200
+ }
201
+ });
202
+ }
203
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../ai/reka/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './api.js';
2
+ export * from './types.js';
@@ -0,0 +1,3 @@
1
+ export * from './api.js';
2
+ export * from './types.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ai/reka/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { AxModelInfo } from '../types.js';
2
+ /**
3
+ * OpenAI: Model information
4
+ * @export
5
+ */
6
+ export declare const axModelInfoReka: AxModelInfo[];
@@ -0,0 +1,26 @@
1
+ import { AxAIRekaModel } from './types.js';
2
+ /**
3
+ * OpenAI: Model information
4
+ * @export
5
+ */
6
+ export const axModelInfoReka = [
7
+ {
8
+ name: AxAIRekaModel.RekaCore,
9
+ currency: 'usd',
10
+ promptTokenCostPer1M: 3,
11
+ completionTokenCostPer1M: 15
12
+ },
13
+ {
14
+ name: AxAIRekaModel.RekaFlash,
15
+ currency: 'usd',
16
+ promptTokenCostPer1M: 0.8,
17
+ completionTokenCostPer1M: 2
18
+ },
19
+ {
20
+ name: AxAIRekaModel.RekaEdge,
21
+ currency: 'usd',
22
+ promptTokenCostPer1M: 0.4,
23
+ completionTokenCostPer1M: 1
24
+ }
25
+ ];
26
+ //# sourceMappingURL=info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../ai/reka/info.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAkB;IAC5C;QACE,IAAI,EAAE,aAAa,CAAC,QAAQ;QAC5B,QAAQ,EAAE,KAAK;QACf,oBAAoB,EAAE,CAAC;QACvB,wBAAwB,EAAE,EAAE;KAC7B;IACD;QACE,IAAI,EAAE,aAAa,CAAC,SAAS;QAC7B,QAAQ,EAAE,KAAK;QACf,oBAAoB,EAAE,GAAG;QACzB,wBAAwB,EAAE,CAAC;KAC5B;IACD;QACE,IAAI,EAAE,aAAa,CAAC,QAAQ;QAC5B,QAAQ,EAAE,KAAK;QACf,oBAAoB,EAAE,GAAG;QACzB,wBAAwB,EAAE,CAAC;KAC5B;CACF,CAAC"}
@@ -0,0 +1,67 @@
1
+ import type { AxModelConfig } from '../types.js';
2
+ export declare enum AxAIRekaModel {
3
+ RekaCore = "reka-core",
4
+ RekaFlash = "reka-flash",
5
+ RekaEdge = "reka-edge"
6
+ }
7
+ export type AxAIRekaConfig = Omit<AxModelConfig, 'topK'> & {
8
+ model: AxAIRekaModel | string;
9
+ stop?: readonly string[];
10
+ useSearchEngine?: boolean;
11
+ };
12
+ export type AxAIRekaUsage = {
13
+ input_tokens: number;
14
+ output_tokens: number;
15
+ };
16
+ export type AxAIRekaChatRequest = {
17
+ model: string;
18
+ messages: ({
19
+ role: 'user';
20
+ content: string | {
21
+ type: 'text';
22
+ text: string;
23
+ }[];
24
+ } | {
25
+ role: 'assistant';
26
+ content: string | {
27
+ type: 'text';
28
+ text: string;
29
+ }[];
30
+ })[];
31
+ usage?: AxAIRekaUsage;
32
+ response_format?: {
33
+ type: string;
34
+ };
35
+ max_tokens: number;
36
+ temperature?: number;
37
+ top_p?: number;
38
+ top_k?: number;
39
+ stream?: boolean;
40
+ stop?: readonly string[];
41
+ presence_penalty?: number;
42
+ frequency_penalty?: number;
43
+ use_search_engine?: boolean;
44
+ };
45
+ export type AxAIRekaChatResponse = {
46
+ id: string;
47
+ model: string;
48
+ responses: {
49
+ message: {
50
+ content: string | {
51
+ type: 'text';
52
+ text: string;
53
+ };
54
+ };
55
+ finish_reason: 'stop' | 'length' | 'context';
56
+ }[];
57
+ usage?: AxAIRekaUsage;
58
+ };
59
+ export type AxAIRekaChatResponseDelta = {
60
+ id: string;
61
+ model: string;
62
+ responses: {
63
+ chunk: AxAIRekaChatResponse['responses'][0]['message'];
64
+ finish_reason: AxAIRekaChatResponse['responses'][0]['finish_reason'];
65
+ }[];
66
+ usage?: AxAIRekaUsage;
67
+ };
@@ -0,0 +1,7 @@
1
+ export var AxAIRekaModel;
2
+ (function (AxAIRekaModel) {
3
+ AxAIRekaModel["RekaCore"] = "reka-core";
4
+ AxAIRekaModel["RekaFlash"] = "reka-flash";
5
+ AxAIRekaModel["RekaEdge"] = "reka-edge";
6
+ })(AxAIRekaModel || (AxAIRekaModel = {}));
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../ai/reka/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,uCAAsB,CAAA;IACtB,yCAAwB,CAAA;IACxB,uCAAsB,CAAA;AACxB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB"}
package/ai/wrap.d.ts CHANGED
@@ -17,9 +17,10 @@ import type { AxAIMistralModel } from './mistral/types.js';
17
17
  import { type AxAIOllamaArgs } from './ollama/api.js';
18
18
  import { type AxAIOpenAIArgs as AxAIOpenAIArgs } from './openai/api.js';
19
19
  import type { AxAIOpenAIEmbedModel, AxAIOpenAIModel } from './openai/types.js';
20
+ import { type AxAIRekaArgs } from './reka/api.js';
20
21
  import { type AxAITogetherArgs } from './together/api.js';
21
22
  import type { AxAIModelMap, AxAIPromptConfig, AxAIService, AxAIServiceActionOptions, AxAIServiceOptions, AxChatRequest, AxChatResponse, AxEmbedRequest, AxEmbedResponse, AxModelConfig, AxModelInfoWithProvider } from './types.js';
22
- export type AxAIArgs = AxAIOpenAIArgs | AxAIAzureOpenAIArgs | AxAITogetherArgs | AxAIAnthropicArgs | AxAIGroqArgs | AxAIGoogleGeminiArgs | AxAICohereArgs | AxAIHuggingFaceArgs | AxAIMistralArgs | AxAIDeepSeekArgs | AxAIOllamaArgs;
23
+ export type AxAIArgs = AxAIOpenAIArgs | AxAIAzureOpenAIArgs | AxAITogetherArgs | AxAIAnthropicArgs | AxAIGroqArgs | AxAIGoogleGeminiArgs | AxAICohereArgs | AxAIHuggingFaceArgs | AxAIMistralArgs | AxAIDeepSeekArgs | AxAIOllamaArgs | AxAIRekaArgs;
23
24
  export type AxAIModels = AxAIOpenAIModel | AxAIAnthropicModel | AxAIGroqModel | AxAIGoogleGeminiModel | AxAICohereModel | AxAIHuggingFaceModel | AxAIMistralModel | AxAIDeepSeekModel | string;
24
25
  export type AxAIEmbedModels = AxAIOpenAIEmbedModel | AxAIGoogleGeminiEmbedModel | AxAICohereEmbedModel | string;
25
26
  export declare class AxAI implements AxAIService {
package/ai/wrap.js CHANGED
@@ -8,6 +8,7 @@ import { AxAIHuggingFace } from './huggingface/api.js';
8
8
  import { AxAIMistral } from './mistral/api.js';
9
9
  import { AxAIOllama } from './ollama/api.js';
10
10
  import { AxAIOpenAI } from './openai/api.js';
11
+ import { AxAIReka } from './reka/api.js';
11
12
  import { AxAITogether } from './together/api.js';
12
13
  export class AxAI {
13
14
  ai;
@@ -46,6 +47,9 @@ export class AxAI {
46
47
  case 'ollama':
47
48
  this.ai = new AxAIOllama(options);
48
49
  break;
50
+ case 'reka':
51
+ this.ai = new AxAIReka(options);
52
+ break;
49
53
  default:
50
54
  throw new Error(`Unknown AI`);
51
55
  }
package/ai/wrap.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../ai/wrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../ai/wrap.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAA0B,MAAM,oBAAoB,CAAC;AAE3E,OAAO,EACL,eAAe,EAEhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAuB,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAyB,MAAM,mBAAmB,CAAC;AAExE,OAAO,EACL,gBAAgB,EAEjB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EAAE,QAAQ,EAAqB,MAAM,eAAe,CAAC;AAE5D,OAAO,EACL,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,WAAW,EAAwB,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,UAAU,EAAuB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,UAAU,EAEX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,QAAQ,EAAqB,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAyB,MAAM,mBAAmB,CAAC;AA8CxE,MAAM,OAAO,IAAI;IACP,EAAE,CAAc;IAExB,YAAY,OAA2B;QACrC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,QAAQ;gBACX,IAAI,CAAC,EAAE,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,EAAE,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,EAAE,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,EAAE,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,EAAE,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,EAAE,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACxC,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,EAAE,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,EAAE,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,EAAE,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,EAAE,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;IAChC,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC;IACrC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;IAClC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,IAAI,CACR,GAA4B,EAC5B,OAA+D;QAE/D,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,KAAK,CACT,GAA6B,EAC7B,OAAuE;QAEvE,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,UAAU,CAAC,OAAqC;QAC9C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;CACF"}
@@ -0,0 +1,27 @@
1
+ import type { API } from '../../util/apicall.js';
2
+ import { AxBaseAI } from '../base.js';
3
+ import type { AxAIPromptConfig, AxAIServiceOptions, AxChatResponse, AxInternalChatRequest, AxModelConfig, AxModelInfo } from '../types.js';
4
+ import { type AxAIRekaChatRequest, type AxAIRekaChatResponse, type AxAIRekaChatResponseDelta, type AxAIRekaConfig, AxAIRekaModel } from './types.js';
5
+ export declare const axAIRekaDefaultConfig: () => AxAIRekaConfig;
6
+ export declare const axAIRekaBestConfig: () => AxAIRekaConfig;
7
+ export declare const axAIRekaCreativeConfig: () => AxAIRekaConfig;
8
+ export declare const axAIRekaFastConfig: () => AxAIRekaConfig;
9
+ export interface AxAIRekaArgs {
10
+ name: 'reka';
11
+ apiKey: string;
12
+ apiURL?: string;
13
+ config?: Readonly<Partial<AxAIRekaConfig>>;
14
+ options?: Readonly<AxAIServiceOptions & {
15
+ streamingUsage?: boolean;
16
+ }>;
17
+ modelInfo?: Readonly<AxModelInfo[]>;
18
+ modelMap?: Record<string, AxAIRekaModel | string>;
19
+ }
20
+ export declare class AxAIReka extends AxBaseAI<AxAIRekaChatRequest, unknown, AxAIRekaChatResponse, AxAIRekaChatResponseDelta, unknown> {
21
+ private config;
22
+ constructor({ apiKey, config, options, apiURL, modelInfo, modelMap }: Readonly<Omit<AxAIRekaArgs, 'name'>>);
23
+ getModelConfig(): AxModelConfig;
24
+ generateChatReq: (req: Readonly<AxInternalChatRequest>, _config: Readonly<AxAIPromptConfig>) => [API, AxAIRekaChatRequest];
25
+ generateChatResp: (resp: Readonly<AxAIRekaChatResponse>) => AxChatResponse;
26
+ generateChatStreamResp: (resp: Readonly<AxAIRekaChatResponseDelta>) => AxChatResponse;
27
+ }
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AxAIReka = exports.axAIRekaFastConfig = exports.axAIRekaCreativeConfig = exports.axAIRekaBestConfig = exports.axAIRekaDefaultConfig = void 0;
4
+ const base_js_1 = require("../base.js");
5
+ const info_js_1 = require("./info.js");
6
+ const types_js_1 = require("./types.js");
7
+ const axAIRekaDefaultConfig = () => structuredClone({
8
+ model: types_js_1.AxAIRekaModel.RekaCore,
9
+ ...(0, base_js_1.axBaseAIDefaultConfig)()
10
+ });
11
+ exports.axAIRekaDefaultConfig = axAIRekaDefaultConfig;
12
+ const axAIRekaBestConfig = () => structuredClone({
13
+ ...(0, exports.axAIRekaDefaultConfig)(),
14
+ model: types_js_1.AxAIRekaModel.RekaCore
15
+ });
16
+ exports.axAIRekaBestConfig = axAIRekaBestConfig;
17
+ const axAIRekaCreativeConfig = () => structuredClone({
18
+ model: types_js_1.AxAIRekaModel.RekaCore,
19
+ ...(0, base_js_1.axBaseAIDefaultCreativeConfig)()
20
+ });
21
+ exports.axAIRekaCreativeConfig = axAIRekaCreativeConfig;
22
+ const axAIRekaFastConfig = () => ({
23
+ ...(0, exports.axAIRekaDefaultConfig)(),
24
+ model: types_js_1.AxAIRekaModel.RekaFlash
25
+ });
26
+ exports.axAIRekaFastConfig = axAIRekaFastConfig;
27
+ class AxAIReka extends base_js_1.AxBaseAI {
28
+ config;
29
+ constructor({ apiKey, config, options, apiURL, modelInfo = info_js_1.axModelInfoReka, modelMap }) {
30
+ if (!apiKey || apiKey === '') {
31
+ throw new Error('Reka API key not set');
32
+ }
33
+ const _config = {
34
+ ...(0, exports.axAIRekaDefaultConfig)(),
35
+ ...config
36
+ };
37
+ super({
38
+ name: 'Reka',
39
+ apiURL: apiURL ? apiURL : 'https://api.reka.ai/v1/chat',
40
+ headers: { 'X-Api-Key': apiKey },
41
+ modelInfo,
42
+ models: {
43
+ model: _config.model
44
+ },
45
+ options,
46
+ supportFor: { functions: true, streaming: true },
47
+ modelMap
48
+ });
49
+ this.config = _config;
50
+ }
51
+ getModelConfig() {
52
+ const { config } = this;
53
+ return {
54
+ maxTokens: config.maxTokens,
55
+ temperature: config.temperature,
56
+ presencePenalty: config.presencePenalty,
57
+ frequencyPenalty: config.frequencyPenalty,
58
+ stopSequences: config.stopSequences,
59
+ topP: config.topP,
60
+ n: config.n,
61
+ stream: config.stream
62
+ };
63
+ }
64
+ generateChatReq = (req,
65
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
66
+ _config) => {
67
+ const model = req.model;
68
+ if (!req.chatPrompt || req.chatPrompt.length === 0) {
69
+ throw new Error('Chat prompt is empty');
70
+ }
71
+ const apiConfig = {
72
+ name: '/chat/completions'
73
+ };
74
+ const messages = createMessages(req);
75
+ const frequencyPenalty = req.modelConfig?.frequencyPenalty ?? this.config.frequencyPenalty;
76
+ const stream = req.modelConfig?.stream ?? this.config.stream;
77
+ const reqValue = {
78
+ model,
79
+ messages,
80
+ max_tokens: req.modelConfig?.maxTokens ?? this.config.maxTokens ?? 500,
81
+ temperature: req.modelConfig?.temperature ?? this.config.temperature,
82
+ top_k: req.modelConfig?.n ?? this.config.n,
83
+ top_p: req.modelConfig?.topP ?? this.config.topP ?? 1,
84
+ stop: req.modelConfig?.stopSequences ?? this.config.stop,
85
+ presence_penalty: req.modelConfig?.presencePenalty ?? this.config.presencePenalty,
86
+ ...(frequencyPenalty ? { frequency_penalty: frequencyPenalty } : {}),
87
+ ...(stream ? { stream: true } : {})
88
+ };
89
+ return [apiConfig, reqValue];
90
+ };
91
+ generateChatResp = (resp) => {
92
+ const { id, usage, responses } = resp;
93
+ const modelUsage = usage
94
+ ? {
95
+ promptTokens: usage.input_tokens,
96
+ completionTokens: usage.output_tokens,
97
+ totalTokens: usage.input_tokens + usage.output_tokens
98
+ }
99
+ : undefined;
100
+ const results = responses.map((res) => {
101
+ const finishReason = mapFinishReason(res.finish_reason);
102
+ let content;
103
+ if (typeof res.message.content === 'string') {
104
+ content = res.message.content;
105
+ }
106
+ else {
107
+ content = res.message.content.text;
108
+ }
109
+ return {
110
+ id: `${id}`,
111
+ content,
112
+ finishReason
113
+ };
114
+ });
115
+ return {
116
+ modelUsage,
117
+ results,
118
+ remoteId: id
119
+ };
120
+ };
121
+ generateChatStreamResp = (resp) => {
122
+ const { id, usage, responses } = resp;
123
+ const modelUsage = usage
124
+ ? {
125
+ promptTokens: usage.input_tokens,
126
+ completionTokens: usage.output_tokens,
127
+ totalTokens: usage.input_tokens + usage.output_tokens
128
+ }
129
+ : undefined;
130
+ const results = responses.map((res) => {
131
+ const finishReason = mapFinishReason(res.finish_reason);
132
+ let content;
133
+ if (typeof res.chunk.content === 'string') {
134
+ content = res.chunk.content;
135
+ }
136
+ else {
137
+ content = res.chunk.content.text;
138
+ }
139
+ return {
140
+ id: `${id}`,
141
+ content,
142
+ finishReason
143
+ };
144
+ });
145
+ return {
146
+ results,
147
+ modelUsage
148
+ };
149
+ };
150
+ }
151
+ exports.AxAIReka = AxAIReka;
152
+ const mapFinishReason = (finishReason) => {
153
+ switch (finishReason) {
154
+ case 'stop':
155
+ return 'stop';
156
+ case 'context':
157
+ return 'length';
158
+ case 'length':
159
+ return 'length';
160
+ }
161
+ };
162
+ function createMessages(req) {
163
+ return req.chatPrompt.map((msg) => {
164
+ switch (msg.role) {
165
+ case 'system':
166
+ return { role: 'user', content: msg.content };
167
+ case 'user':
168
+ if (Array.isArray(msg.content)) {
169
+ return {
170
+ role: 'user',
171
+ content: msg.content.map((c) => {
172
+ switch (c.type) {
173
+ case 'text':
174
+ return { type: 'text', text: c.text };
175
+ case 'image': {
176
+ throw new Error('Image type not supported');
177
+ }
178
+ default:
179
+ throw new Error('Invalid content type');
180
+ }
181
+ })
182
+ };
183
+ }
184
+ return { role: 'user', content: msg.content };
185
+ case 'assistant':
186
+ if (Array.isArray(msg.content)) {
187
+ return {
188
+ role: 'assistant',
189
+ content: msg.content.map((c) => {
190
+ switch (c.type) {
191
+ case 'text':
192
+ return { type: 'text', text: c.text };
193
+ case 'image': {
194
+ throw new Error('Image type not supported');
195
+ }
196
+ default:
197
+ throw new Error('Invalid content type');
198
+ }
199
+ })
200
+ };
201
+ }
202
+ if (!msg.content) {
203
+ throw new Error('Assistant content is empty');
204
+ }
205
+ return { role: 'user', content: msg.content };
206
+ default:
207
+ throw new Error('Invalid role');
208
+ }
209
+ });
210
+ }
211
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../ai/reka/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './api.js';
2
+ export * from './types.js';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./api.js"), exports);
18
+ __exportStar(require("./types.js"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../ai/reka/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,6CAA2B"}
@@ -0,0 +1,6 @@
1
+ import type { AxModelInfo } from '../types.js';
2
+ /**
3
+ * OpenAI: Model information
4
+ * @export
5
+ */
6
+ export declare const axModelInfoReka: AxModelInfo[];
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.axModelInfoReka = void 0;
4
+ const types_js_1 = require("./types.js");
5
+ /**
6
+ * OpenAI: Model information
7
+ * @export
8
+ */
9
+ exports.axModelInfoReka = [
10
+ {
11
+ name: types_js_1.AxAIRekaModel.RekaCore,
12
+ currency: 'usd',
13
+ promptTokenCostPer1M: 3,
14
+ completionTokenCostPer1M: 15
15
+ },
16
+ {
17
+ name: types_js_1.AxAIRekaModel.RekaFlash,
18
+ currency: 'usd',
19
+ promptTokenCostPer1M: 0.8,
20
+ completionTokenCostPer1M: 2
21
+ },
22
+ {
23
+ name: types_js_1.AxAIRekaModel.RekaEdge,
24
+ currency: 'usd',
25
+ promptTokenCostPer1M: 0.4,
26
+ completionTokenCostPer1M: 1
27
+ }
28
+ ];
29
+ //# sourceMappingURL=info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../../ai/reka/info.ts"],"names":[],"mappings":";;;AAEA,yCAA2C;AAC3C;;;GAGG;AACU,QAAA,eAAe,GAAkB;IAC5C;QACE,IAAI,EAAE,wBAAa,CAAC,QAAQ;QAC5B,QAAQ,EAAE,KAAK;QACf,oBAAoB,EAAE,CAAC;QACvB,wBAAwB,EAAE,EAAE;KAC7B;IACD;QACE,IAAI,EAAE,wBAAa,CAAC,SAAS;QAC7B,QAAQ,EAAE,KAAK;QACf,oBAAoB,EAAE,GAAG;QACzB,wBAAwB,EAAE,CAAC;KAC5B;IACD;QACE,IAAI,EAAE,wBAAa,CAAC,QAAQ;QAC5B,QAAQ,EAAE,KAAK;QACf,oBAAoB,EAAE,GAAG;QACzB,wBAAwB,EAAE,CAAC;KAC5B;CACF,CAAC"}
@@ -0,0 +1,67 @@
1
+ import type { AxModelConfig } from '../types.js';
2
+ export declare enum AxAIRekaModel {
3
+ RekaCore = "reka-core",
4
+ RekaFlash = "reka-flash",
5
+ RekaEdge = "reka-edge"
6
+ }
7
+ export type AxAIRekaConfig = Omit<AxModelConfig, 'topK'> & {
8
+ model: AxAIRekaModel | string;
9
+ stop?: readonly string[];
10
+ useSearchEngine?: boolean;
11
+ };
12
+ export type AxAIRekaUsage = {
13
+ input_tokens: number;
14
+ output_tokens: number;
15
+ };
16
+ export type AxAIRekaChatRequest = {
17
+ model: string;
18
+ messages: ({
19
+ role: 'user';
20
+ content: string | {
21
+ type: 'text';
22
+ text: string;
23
+ }[];
24
+ } | {
25
+ role: 'assistant';
26
+ content: string | {
27
+ type: 'text';
28
+ text: string;
29
+ }[];
30
+ })[];
31
+ usage?: AxAIRekaUsage;
32
+ response_format?: {
33
+ type: string;
34
+ };
35
+ max_tokens: number;
36
+ temperature?: number;
37
+ top_p?: number;
38
+ top_k?: number;
39
+ stream?: boolean;
40
+ stop?: readonly string[];
41
+ presence_penalty?: number;
42
+ frequency_penalty?: number;
43
+ use_search_engine?: boolean;
44
+ };
45
+ export type AxAIRekaChatResponse = {
46
+ id: string;
47
+ model: string;
48
+ responses: {
49
+ message: {
50
+ content: string | {
51
+ type: 'text';
52
+ text: string;
53
+ };
54
+ };
55
+ finish_reason: 'stop' | 'length' | 'context';
56
+ }[];
57
+ usage?: AxAIRekaUsage;
58
+ };
59
+ export type AxAIRekaChatResponseDelta = {
60
+ id: string;
61
+ model: string;
62
+ responses: {
63
+ chunk: AxAIRekaChatResponse['responses'][0]['message'];
64
+ finish_reason: AxAIRekaChatResponse['responses'][0]['finish_reason'];
65
+ }[];
66
+ usage?: AxAIRekaUsage;
67
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AxAIRekaModel = void 0;
4
+ var AxAIRekaModel;
5
+ (function (AxAIRekaModel) {
6
+ AxAIRekaModel["RekaCore"] = "reka-core";
7
+ AxAIRekaModel["RekaFlash"] = "reka-flash";
8
+ AxAIRekaModel["RekaEdge"] = "reka-edge";
9
+ })(AxAIRekaModel || (exports.AxAIRekaModel = AxAIRekaModel = {}));
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../ai/reka/types.ts"],"names":[],"mappings":";;;AAEA,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,uCAAsB,CAAA;IACtB,yCAAwB,CAAA;IACxB,uCAAsB,CAAA;AACxB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB"}
package/cjs/ai/wrap.d.ts CHANGED
@@ -17,9 +17,10 @@ import type { AxAIMistralModel } from './mistral/types.js';
17
17
  import { type AxAIOllamaArgs } from './ollama/api.js';
18
18
  import { type AxAIOpenAIArgs as AxAIOpenAIArgs } from './openai/api.js';
19
19
  import type { AxAIOpenAIEmbedModel, AxAIOpenAIModel } from './openai/types.js';
20
+ import { type AxAIRekaArgs } from './reka/api.js';
20
21
  import { type AxAITogetherArgs } from './together/api.js';
21
22
  import type { AxAIModelMap, AxAIPromptConfig, AxAIService, AxAIServiceActionOptions, AxAIServiceOptions, AxChatRequest, AxChatResponse, AxEmbedRequest, AxEmbedResponse, AxModelConfig, AxModelInfoWithProvider } from './types.js';
22
- export type AxAIArgs = AxAIOpenAIArgs | AxAIAzureOpenAIArgs | AxAITogetherArgs | AxAIAnthropicArgs | AxAIGroqArgs | AxAIGoogleGeminiArgs | AxAICohereArgs | AxAIHuggingFaceArgs | AxAIMistralArgs | AxAIDeepSeekArgs | AxAIOllamaArgs;
23
+ export type AxAIArgs = AxAIOpenAIArgs | AxAIAzureOpenAIArgs | AxAITogetherArgs | AxAIAnthropicArgs | AxAIGroqArgs | AxAIGoogleGeminiArgs | AxAICohereArgs | AxAIHuggingFaceArgs | AxAIMistralArgs | AxAIDeepSeekArgs | AxAIOllamaArgs | AxAIRekaArgs;
23
24
  export type AxAIModels = AxAIOpenAIModel | AxAIAnthropicModel | AxAIGroqModel | AxAIGoogleGeminiModel | AxAICohereModel | AxAIHuggingFaceModel | AxAIMistralModel | AxAIDeepSeekModel | string;
24
25
  export type AxAIEmbedModels = AxAIOpenAIEmbedModel | AxAIGoogleGeminiEmbedModel | AxAICohereEmbedModel | string;
25
26
  export declare class AxAI implements AxAIService {
package/cjs/ai/wrap.js CHANGED
@@ -11,7 +11,8 @@ const api_js_7 = require("./huggingface/api.js");
11
11
  const api_js_8 = require("./mistral/api.js");
12
12
  const api_js_9 = require("./ollama/api.js");
13
13
  const api_js_10 = require("./openai/api.js");
14
- const api_js_11 = require("./together/api.js");
14
+ const api_js_11 = require("./reka/api.js");
15
+ const api_js_12 = require("./together/api.js");
15
16
  class AxAI {
16
17
  ai;
17
18
  constructor(options) {
@@ -29,7 +30,7 @@ class AxAI {
29
30
  this.ai = new api_js_6.AxAIGroq(options);
30
31
  break;
31
32
  case 'together':
32
- this.ai = new api_js_11.AxAITogether(options);
33
+ this.ai = new api_js_12.AxAITogether(options);
33
34
  break;
34
35
  case 'cohere':
35
36
  this.ai = new api_js_3.AxAICohere(options);
@@ -49,6 +50,9 @@ class AxAI {
49
50
  case 'ollama':
50
51
  this.ai = new api_js_9.AxAIOllama(options);
51
52
  break;
53
+ case 'reka':
54
+ this.ai = new api_js_11.AxAIReka(options);
55
+ break;
52
56
  default:
53
57
  throw new Error(`Unknown AI`);
54
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../../ai/wrap.ts"],"names":[],"mappings":";;;AAEA,+CAA2E;AAE3E,kDAG+B;AAC/B,4CAAkE;AAElE,8CAAwE;AAExE,mDAGgC;AAKhC,0CAA4D;AAE5D,iDAG8B;AAE9B,6CAAqE;AAErE,4CAAkE;AAClE,6CAGyB;AAEzB,+CAAwE;AA6CxE,MAAa,IAAI;IACP,EAAE,CAAc;IAExB,YAAY,OAA2B;QACrC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,QAAQ;gBACX,IAAI,CAAC,EAAE,GAAG,IAAI,oBAAU,CAAC,OAAO,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,EAAE,GAAG,IAAI,wBAAe,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,EAAE,GAAG,IAAI,wBAAe,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,EAAE,GAAG,IAAI,iBAAQ,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,EAAE,GAAG,IAAI,sBAAY,CAAC,OAAO,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,EAAE,GAAG,IAAI,mBAAU,CAAC,OAAO,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,EAAE,GAAG,IAAI,yBAAgB,CAAC,OAAO,CAAC,CAAC;gBACxC,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,EAAE,GAAG,IAAI,sBAAa,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,EAAE,GAAG,IAAI,oBAAW,CAAC,OAAO,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,EAAE,GAAG,IAAI,qBAAY,CAAC,OAAO,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,EAAE,GAAG,IAAI,mBAAU,CAAC,OAAO,CAAC,CAAC;gBAClC,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;IAChC,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC;IACrC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;IAClC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,IAAI,CACR,GAA4B,EAC5B,OAA+D;QAE/D,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,KAAK,CACT,GAA6B,EAC7B,OAAuE;QAEvE,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,UAAU,CAAC,OAAqC;QAC9C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;CACF;AApFD,oBAoFC"}
1
+ {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../../ai/wrap.ts"],"names":[],"mappings":";;;AAEA,+CAA2E;AAE3E,kDAG+B;AAC/B,4CAAkE;AAElE,8CAAwE;AAExE,mDAGgC;AAKhC,0CAA4D;AAE5D,iDAG8B;AAE9B,6CAAqE;AAErE,4CAAkE;AAClE,6CAGyB;AAEzB,2CAA4D;AAC5D,+CAAwE;AA8CxE,MAAa,IAAI;IACP,EAAE,CAAc;IAExB,YAAY,OAA2B;QACrC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,QAAQ;gBACX,IAAI,CAAC,EAAE,GAAG,IAAI,oBAAU,CAAC,OAAO,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,EAAE,GAAG,IAAI,wBAAe,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,EAAE,GAAG,IAAI,wBAAe,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,EAAE,GAAG,IAAI,iBAAQ,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,EAAE,GAAG,IAAI,sBAAY,CAAC,OAAO,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,EAAE,GAAG,IAAI,mBAAU,CAAC,OAAO,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,EAAE,GAAG,IAAI,yBAAgB,CAAC,OAAO,CAAC,CAAC;gBACxC,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,EAAE,GAAG,IAAI,sBAAa,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,EAAE,GAAG,IAAI,oBAAW,CAAC,OAAO,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,EAAE,GAAG,IAAI,qBAAY,CAAC,OAAO,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,EAAE,GAAG,IAAI,mBAAU,CAAC,OAAO,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,EAAE,GAAG,IAAI,kBAAQ,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;IAChC,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC;IACrC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;IAClC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,IAAI,CACR,GAA4B,EAC5B,OAA+D;QAE/D,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,KAAK,CACT,GAA6B,EAC7B,OAAuE;QAEvE,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,UAAU,CAAC,OAAqC;QAC9C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;CACF;AAvFD,oBAuFC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ax-llm/ax",
3
- "version": "9.0.44",
3
+ "version": "9.0.45",
4
4
  "type": "module",
5
5
  "description": "The best library to work with LLMs",
6
6
  "repository": {