@nodetool-ai/runtime 0.7.0-rc.20 → 0.7.0-rc.22

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.
@@ -1,59 +1,24 @@
1
- /**
2
- * AKI.IO provider — wraps the official `@aki-io/aki-io` SDK.
3
- *
4
- * AKI models are exposed as endpoints (e.g. `llama3_chat`). Each request
5
- * targets one endpoint, so we spin up an `AkiClient` per model. Messages map
6
- * onto AKI's `chat_context` (system/user/assistant) and the last attached
7
- * image rides along in the `image` field.
8
- *
9
- * Docs: https://aki.io/docs
10
- */
1
+ import OpenAI from "openai";
11
2
  import { AkiClient } from "@aki-io/aki-io";
12
3
  import type { AkiClientConfig } from "@aki-io/aki-io";
13
- import { BaseProvider } from "./base-provider.js";
14
- import type { ImageModel, ImageToImageParams, LanguageModel, Message, ProviderStreamItem, ProviderTool, TextToImageParams } from "./types.js";
4
+ import { OpenAIProvider } from "./openai-provider.js";
5
+ import type { ImageModel, ImageToImageParams, LanguageModel, TextToImageParams } from "./types.js";
15
6
  interface AkiProviderOptions {
16
- clientFactory?: (config: AkiClientConfig) => AkiClient;
7
+ client?: OpenAI;
8
+ openaiClientFactory?: (apiKey: string) => OpenAI;
9
+ akiClientFactory?: (config: AkiClientConfig) => AkiClient;
10
+ fetchFn?: typeof fetch;
17
11
  }
18
- export declare class AkiProvider extends BaseProvider {
12
+ export declare class AkiProvider extends OpenAIProvider {
19
13
  static requiredSecrets(): string[];
20
- protected readonly apiKey: string;
21
- private readonly _clientFactory;
14
+ private readonly _akiClientFactory;
15
+ private _akiFetch;
22
16
  constructor(secrets: {
23
17
  AKI_API_KEY?: string;
24
18
  }, options?: AkiProviderOptions);
25
19
  getContainerEnv(): Record<string, string>;
26
20
  hasToolSupport(_model: string): Promise<boolean>;
27
- /** Create a fresh AkiClient targeting the given endpoint (= model id). */
28
- private makeClient;
29
- /**
30
- * Convert NodeTool `Message[]` into AKI's chat format. AKI does not model
31
- * `tool` messages or multi-part content, so image parts are collapsed into
32
- * the single `image` field (last image wins) and text parts are joined.
33
- */
34
- private toChatContext;
35
- private formatTools;
36
- private parseToolCalls;
37
- private buildParams;
38
- private resolveImageUri;
39
- generateMessage(args: {
40
- messages: Message[];
41
- model: string;
42
- tools?: ProviderTool[];
43
- toolChoice?: string | "any";
44
- maxTokens?: number;
45
- temperature?: number;
46
- topP?: number;
47
- }): Promise<Message>;
48
- generateMessages(args: {
49
- messages: Message[];
50
- model: string;
51
- tools?: ProviderTool[];
52
- toolChoice?: string | "any";
53
- maxTokens?: number;
54
- temperature?: number;
55
- topP?: number;
56
- }): AsyncGenerator<ProviderStreamItem>;
21
+ private makeAkiClient;
57
22
  private buildImageRequest;
58
23
  private runImageRequest;
59
24
  textToImage(params: TextToImageParams): Promise<Uint8Array>;
@@ -1 +1 @@
1
- {"version":3,"file":"aki-provider.d.ts","sourceRoot":"","sources":["../../src/providers/aki-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,SAAS,EAAgB,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,OAAO,EACP,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EAElB,MAAM,YAAY,CAAC;AA4DpB,UAAU,kBAAkB;IAC1B,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,SAAS,CAAC;CACxD;AA8HD,qBAAa,WAAY,SAAQ,YAAY;WAE3B,eAAe,IAAI,MAAM,EAAE;IAI3C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;gBAGtE,OAAO,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EACjC,OAAO,GAAE,kBAAuB;IAYzB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAInC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/D,0EAA0E;IAC1E,OAAO,CAAC,UAAU;IAWlB;;;;OAIG;YACW,aAAa;IA8C3B,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,cAAc;YA4DR,WAAW;YAsBX,eAAe;IAwBvB,eAAe,CAAC,IAAI,EAAE;QAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBb,gBAAgB,CAAC,IAAI,EAAE;QAC5B,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,cAAc,CAAC,kBAAkB,CAAC;IAkEtC,OAAO,CAAC,iBAAiB;YAyCX,eAAe;IAmCd,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAU3D,YAAY,CACzB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,UAAU,CAAC;IAaP,0BAA0B,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAItD,uBAAuB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;CAGhE"}
1
+ {"version":3,"file":"aki-provider.d.ts","sourceRoot":"","sources":["../../src/providers/aki-provider.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAgB,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EACV,eAAe,EAGhB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EAClB,MAAM,YAAY,CAAC;AA0JpB,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,SAAS,CAAC;IAC1D,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED,qBAAa,WAAY,SAAQ,cAAc;WAC7B,eAAe,IAAI,MAAM,EAAE;IAI3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyC;IAC3E,OAAO,CAAC,SAAS,CAAe;gBAG9B,OAAO,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EACjC,OAAO,GAAE,kBAAuB;IA0BzB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAInC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/D,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,iBAAiB;YAkCX,eAAe;IAgCd,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAQ3D,YAAY,CACzB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,UAAU,CAAC;IAcP,0BAA0B,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAsBtD,uBAAuB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;CAGhE"}
@@ -1,19 +1,10 @@
1
- /**
2
- * AKI.IO provider — wraps the official `@aki-io/aki-io` SDK.
3
- *
4
- * AKI models are exposed as endpoints (e.g. `llama3_chat`). Each request
5
- * targets one endpoint, so we spin up an `AkiClient` per model. Messages map
6
- * onto AKI's `chat_context` (system/user/assistant) and the last attached
7
- * image rides along in the `image` field.
8
- *
9
- * Docs: https://aki.io/docs
10
- */
11
- import { randomUUID } from "node:crypto";
12
1
  import { readFileSync } from "node:fs";
2
+ import OpenAI from "openai";
13
3
  import { AkiClient, decodeBinary } from "@aki-io/aki-io";
14
4
  import { createLogger } from "@nodetool-ai/config";
15
- import { BaseProvider } from "./base-provider.js";
5
+ import { OpenAIProvider } from "./openai-provider.js";
16
6
  const log = createLogger("nodetool.runtime.providers.aki");
7
+ const AKI_BASE_URL = "https://aki.io/v1";
17
8
  function isStringRecord(value) {
18
9
  return (!!value &&
19
10
  typeof value === "object" &&
@@ -49,25 +40,7 @@ const AKI_FALLBACK_IMAGE_MODELS = [
49
40
  supportedTasks: ["image_to_image"]
50
41
  }
51
42
  ];
52
- const AKI_FALLBACK_LANGUAGE_MODELS = [
53
- { id: "llama3_chat", name: "Llama 3 Chat", provider: "aki" }
54
- ];
55
43
  let akiManifestCache = null;
56
- function uint8ToBase64(data) {
57
- return Buffer.from(data).toString("base64");
58
- }
59
- function dataUriToBase64(uri) {
60
- const commaIndex = uri.indexOf(",");
61
- if (commaIndex < 0) {
62
- return uri;
63
- }
64
- const header = uri.slice(0, commaIndex);
65
- const payload = uri.slice(commaIndex + 1);
66
- if (header.includes(";base64")) {
67
- return payload;
68
- }
69
- return Buffer.from(decodeURIComponent(payload), "utf8").toString("base64");
70
- }
71
44
  function loadAkiManifest() {
72
45
  if (akiManifestCache) {
73
46
  return akiManifestCache;
@@ -91,16 +64,6 @@ function loadAkiManifest() {
91
64
  function getManifestEntry(endpointId) {
92
65
  return loadAkiManifest().find((entry) => entry.endpointId === endpointId);
93
66
  }
94
- function manifestLanguageModels() {
95
- const models = loadAkiManifest()
96
- .filter((entry) => entry.outputType === "text")
97
- .map((entry) => ({
98
- id: entry.endpointId,
99
- name: entry.title,
100
- provider: "aki"
101
- }));
102
- return models.length > 0 ? models : AKI_FALLBACK_LANGUAGE_MODELS;
103
- }
104
67
  function manifestImageModels() {
105
68
  const models = loadAkiManifest()
106
69
  .filter((entry) => entry.outputType === "image")
@@ -114,6 +77,9 @@ function manifestImageModels() {
114
77
  }));
115
78
  return models.length > 0 ? models : AKI_FALLBACK_IMAGE_MODELS;
116
79
  }
80
+ function uint8ToBase64(data) {
81
+ return Buffer.from(data).toString("base64");
82
+ }
117
83
  function remapRequestParams(endpointId, request) {
118
84
  const paramNames = getManifestEntry(endpointId)?.paramNames;
119
85
  if (!paramNames || Object.keys(paramNames).length === 0) {
@@ -157,21 +123,28 @@ function responseImageToBytes(images) {
157
123
  }
158
124
  return null;
159
125
  }
160
- export class AkiProvider extends BaseProvider {
126
+ export class AkiProvider extends OpenAIProvider {
161
127
  static requiredSecrets() {
162
128
  return ["AKI_API_KEY"];
163
129
  }
164
- apiKey;
165
- _clientFactory;
130
+ _akiClientFactory;
131
+ _akiFetch;
166
132
  constructor(secrets, options = {}) {
167
- super("aki");
168
133
  const apiKey = secrets.AKI_API_KEY;
169
134
  if (!apiKey || !apiKey.trim()) {
170
135
  throw new Error("AKI_API_KEY is not configured");
171
136
  }
172
- this.apiKey = apiKey;
173
- this._clientFactory =
174
- options.clientFactory ?? ((config) => new AkiClient(config));
137
+ const fetchFn = options.fetchFn ?? globalThis.fetch.bind(globalThis);
138
+ super({ OPENAI_API_KEY: apiKey }, {
139
+ client: options.client,
140
+ clientFactory: options.openaiClientFactory ??
141
+ ((key) => new OpenAI({ apiKey: key, baseURL: AKI_BASE_URL })),
142
+ fetchFn
143
+ });
144
+ this.provider = "aki";
145
+ this._akiClientFactory =
146
+ options.akiClientFactory ?? ((config) => new AkiClient(config));
147
+ this._akiFetch = fetchFn;
175
148
  }
176
149
  getContainerEnv() {
177
150
  return { AKI_API_KEY: this.apiKey };
@@ -179,248 +152,17 @@ export class AkiProvider extends BaseProvider {
179
152
  async hasToolSupport(_model) {
180
153
  return true;
181
154
  }
182
- /** Create a fresh AkiClient targeting the given endpoint (= model id). */
183
- makeClient(endpointName) {
184
- const config = {
155
+ makeAkiClient(endpointName) {
156
+ return this._akiClientFactory({
185
157
  endpointName,
186
158
  apiKey: this.apiKey,
187
159
  outputBinaryFormat: "byteString",
188
160
  raiseExceptions: true,
189
161
  returnToolCallDict: true
190
- };
191
- return this._clientFactory(config);
192
- }
193
- /**
194
- * Convert NodeTool `Message[]` into AKI's chat format. AKI does not model
195
- * `tool` messages or multi-part content, so image parts are collapsed into
196
- * the single `image` field (last image wins) and text parts are joined.
197
- */
198
- async toChatContext(messages) {
199
- const chatContext = [];
200
- let image;
201
- for (const msg of messages) {
202
- if (msg.role === "tool")
203
- continue;
204
- const role = msg.role === "system"
205
- ? "system"
206
- : msg.role === "assistant"
207
- ? "assistant"
208
- : "user";
209
- let content = "";
210
- if (typeof msg.content === "string") {
211
- content = msg.content;
212
- }
213
- else if (Array.isArray(msg.content)) {
214
- const parts = [];
215
- for (const part of msg.content) {
216
- if (part.type === "text") {
217
- parts.push(part.text);
218
- }
219
- else if (part.type === "image_url") {
220
- const data = part.image.data;
221
- if (typeof data === "string") {
222
- image = data.startsWith("data:")
223
- ? dataUriToBase64(data)
224
- : data;
225
- }
226
- else if (data instanceof Uint8Array) {
227
- image = uint8ToBase64(data);
228
- }
229
- else if (part.image.uri) {
230
- image = await this.resolveImageUri(part.image.uri);
231
- }
232
- }
233
- }
234
- content = parts.join("\n");
235
- }
236
- chatContext.push({ role, content });
237
- }
238
- return { chatContext, image };
239
- }
240
- formatTools(tools) {
241
- return tools.map((tool) => {
242
- if (tool.type === "code_interpreter" ||
243
- tool.name === "code_interpreter") {
244
- return { type: "code_interpreter" };
245
- }
246
- return {
247
- type: "function",
248
- function: {
249
- name: tool.name,
250
- description: tool.description ?? "",
251
- parameters: tool.inputSchema ?? { type: "object", properties: {} }
252
- }
253
- };
254
162
  });
255
163
  }
256
- parseToolCalls(raw) {
257
- if (raw == null) {
258
- return [];
259
- }
260
- const candidates = Array.isArray(raw) ? raw : [raw];
261
- const toolCalls = [];
262
- for (const candidate of candidates) {
263
- let parsed = candidate;
264
- if (typeof parsed === "string") {
265
- try {
266
- parsed = JSON.parse(parsed);
267
- }
268
- catch {
269
- continue;
270
- }
271
- }
272
- if (!parsed || typeof parsed !== "object") {
273
- continue;
274
- }
275
- const record = parsed;
276
- const nestedFunction = record.function && typeof record.function === "object"
277
- ? record.function
278
- : null;
279
- const name = typeof record.name === "string"
280
- ? record.name
281
- : typeof nestedFunction?.name === "string"
282
- ? nestedFunction.name
283
- : "";
284
- if (!name) {
285
- continue;
286
- }
287
- const rawArgs = record.arguments ?? nestedFunction?.arguments ?? record.args ?? {};
288
- let args = {};
289
- if (typeof rawArgs === "string") {
290
- args = this.parseToolCallArgs(rawArgs);
291
- }
292
- else if (rawArgs && typeof rawArgs === "object" && !Array.isArray(rawArgs)) {
293
- args = rawArgs;
294
- }
295
- toolCalls.push({
296
- id: typeof record.id === "string"
297
- ? record.id
298
- : typeof record.tool_call_id === "string"
299
- ? record.tool_call_id
300
- : randomUUID(),
301
- name,
302
- args
303
- });
304
- }
305
- return toolCalls;
306
- }
307
- async buildParams(args) {
308
- const { chatContext, image } = await this.toChatContext(args.messages);
309
- const params = { chat_context: chatContext };
310
- if (image)
311
- params.image = image;
312
- if (args.tools && args.tools.length > 0) {
313
- params.tools = this.formatTools(args.tools);
314
- }
315
- // AKI accepts tool definitions but currently rejects `tool_choice`, so we
316
- // intentionally do not send it.
317
- if (args.maxTokens != null)
318
- params.max_gen_tokens = args.maxTokens;
319
- if (args.temperature != null)
320
- params.temperature = args.temperature;
321
- if (args.topP != null)
322
- params.top_p = args.topP;
323
- return params;
324
- }
325
- async resolveImageUri(uri) {
326
- const resolved = await this.resolveUri(uri);
327
- if (resolved.startsWith("data:")) {
328
- return dataUriToBase64(resolved);
329
- }
330
- if (resolved.startsWith("http://") || resolved.startsWith("https://")) {
331
- try {
332
- const response = await fetch(resolved);
333
- if (!response.ok) {
334
- return undefined;
335
- }
336
- return Buffer.from(await response.arrayBuffer()).toString("base64");
337
- }
338
- catch (error) {
339
- log.debug("Failed to fetch remote AKI image URI", {
340
- uri: resolved,
341
- error
342
- });
343
- // Best-effort URI normalization; keep request flowing without image.
344
- return undefined;
345
- }
346
- }
347
- return resolved;
348
- }
349
- async generateMessage(args) {
350
- const client = this.makeClient(args.model);
351
- const params = await this.buildParams(args);
352
- const response = await client.doApiRequest(params);
353
- if (!response.success) {
354
- throw new Error(response.error ??
355
- `Aki request failed (code ${response.error_code ?? "unknown"})`);
356
- }
357
- if (typeof response.num_generated_tokens === "number") {
358
- this.trackUsage(args.model, {
359
- inputTokens: response.prompt_length ?? 0,
360
- outputTokens: response.num_generated_tokens
361
- });
362
- }
363
- return {
364
- role: "assistant",
365
- content: response.text ?? "",
366
- toolCalls: this.parseToolCalls(response.tool_calls)
367
- };
368
- }
369
- async *generateMessages(args) {
370
- const client = this.makeClient(args.model);
371
- const params = await this.buildParams(args);
372
- const stream = client.getApiRequestGenerator(params);
373
- let emitted = "";
374
- let errorMessage;
375
- let promptTokens;
376
- let generatedTokens;
377
- const emittedToolCallIds = new Set();
378
- for await (const update of stream) {
379
- const u = update;
380
- if (u.success === false && typeof u.error === "string") {
381
- errorMessage = u.error;
382
- break;
383
- }
384
- const progressData = (u.progress_data ?? u.result_data);
385
- const promptLength = progressData?.["prompt_length"] ?? u["prompt_length"];
386
- if (typeof promptLength === "number") {
387
- promptTokens = promptLength;
388
- }
389
- const generatedLength = progressData?.["num_generated_tokens"] ?? u["num_generated_tokens"];
390
- if (typeof generatedLength === "number") {
391
- generatedTokens = Math.max(generatedTokens ?? 0, generatedLength);
392
- }
393
- const text = typeof progressData?.["text"] === "string"
394
- ? progressData["text"]
395
- : undefined;
396
- if (text && text.length > emitted.length) {
397
- const delta = text.slice(emitted.length);
398
- emitted = text;
399
- yield { type: "chunk", content: delta, done: false };
400
- }
401
- const toolCalls = this.parseToolCalls(progressData?.["tool_calls"] ?? u["tool_calls"]);
402
- for (const toolCall of toolCalls) {
403
- if (emittedToolCallIds.has(toolCall.id)) {
404
- continue;
405
- }
406
- emittedToolCallIds.add(toolCall.id);
407
- yield toolCall;
408
- }
409
- }
410
- if (errorMessage)
411
- throw new Error(errorMessage);
412
- if (typeof generatedTokens === "number") {
413
- this.trackUsage(args.model, {
414
- inputTokens: promptTokens ?? 0,
415
- outputTokens: generatedTokens
416
- });
417
- }
418
- yield { type: "chunk", content: "", done: true };
419
- }
420
164
  buildImageRequest(prompt, params, image) {
421
- const request = {
422
- prompt_input: prompt
423
- };
165
+ const request = { prompt_input: prompt };
424
166
  if (image) {
425
167
  request.image = uint8ToBase64(image);
426
168
  }
@@ -430,42 +172,32 @@ export class AkiProvider extends BaseProvider {
430
172
  const height = "height" in params
431
173
  ? params.height
432
174
  : params.targetHeight;
433
- if (width != null) {
175
+ if (width != null)
434
176
  request.width = width;
435
- }
436
- if (height != null) {
177
+ if (height != null)
437
178
  request.height = height;
438
- }
439
- if (params.negativePrompt) {
179
+ if (params.negativePrompt)
440
180
  request.negative_prompt = params.negativePrompt;
441
- }
442
- if (params.guidanceScale != null) {
181
+ if (params.guidanceScale != null)
443
182
  request.guidance_scale = params.guidanceScale;
444
- }
445
- if (params.numInferenceSteps != null) {
183
+ if (params.numInferenceSteps != null)
446
184
  request.num_inference_steps = params.numInferenceSteps;
447
- }
448
- if (params.seed != null && params.seed !== -1) {
185
+ if (params.seed != null && params.seed !== -1)
449
186
  request.seed = params.seed;
450
- }
451
- if (params.scheduler) {
187
+ if (params.scheduler)
452
188
  request.scheduler = params.scheduler;
453
- }
454
- if ("safetyCheck" in params && params.safetyCheck != null) {
189
+ if ("safetyCheck" in params && params.safetyCheck != null)
455
190
  request.safety_check = params.safetyCheck;
456
- }
457
- if (params.quality) {
191
+ if (params.quality)
458
192
  request.quality = params.quality;
459
- }
460
- if ("strength" in params && params.strength != null) {
193
+ if ("strength" in params && params.strength != null)
461
194
  request.strength = params.strength;
462
- }
463
195
  return request;
464
196
  }
465
197
  async runImageRequest(modelId, request) {
466
- const client = this.makeClient(modelId);
467
- let response;
198
+ const client = this.makeAkiClient(modelId);
468
199
  const initialRequest = remapRequestParams(modelId, request);
200
+ let response;
469
201
  try {
470
202
  response = await client.doApiRequest(initialRequest);
471
203
  }
@@ -473,9 +205,7 @@ export class AkiProvider extends BaseProvider {
473
205
  if (!shouldRetryWithPromptParam(error)) {
474
206
  throw error;
475
207
  }
476
- log.info("Retrying AKI image request with prompt param alias", {
477
- modelId
478
- });
208
+ log.info("Retrying AKI image request with prompt param alias", { modelId });
479
209
  response = await client.doApiRequest(withPromptParam(initialRequest));
480
210
  }
481
211
  if (!response.success) {
@@ -493,8 +223,7 @@ export class AkiProvider extends BaseProvider {
493
223
  if (!prompt) {
494
224
  throw new Error("Prompt is required");
495
225
  }
496
- const request = this.buildImageRequest(prompt, params);
497
- return this.runImageRequest(params.model.id, request);
226
+ return this.runImageRequest(params.model.id, this.buildImageRequest(prompt, params));
498
227
  }
499
228
  async imageToImage(image, params) {
500
229
  const prompt = params.prompt.trim();
@@ -504,11 +233,23 @@ export class AkiProvider extends BaseProvider {
504
233
  if (!image.length) {
505
234
  throw new Error("Image is required");
506
235
  }
507
- const request = this.buildImageRequest(prompt, params, image);
508
- return this.runImageRequest(params.model.id, request);
236
+ return this.runImageRequest(params.model.id, this.buildImageRequest(prompt, params, image));
509
237
  }
510
238
  async getAvailableLanguageModels() {
511
- return manifestLanguageModels();
239
+ const response = await this._akiFetch(`${AKI_BASE_URL}/models`, {
240
+ headers: { Authorization: `Bearer ${this.apiKey}` }
241
+ });
242
+ if (!response.ok) {
243
+ return [];
244
+ }
245
+ const payload = (await response.json());
246
+ return (payload.data ?? [])
247
+ .filter((row) => typeof row.id === "string" && row.id.length > 0)
248
+ .map((row) => ({
249
+ id: row.id,
250
+ name: row.name ?? row.id,
251
+ provider: "aki"
252
+ }));
512
253
  }
513
254
  async getAvailableImageModels() {
514
255
  return manifestImageModels();
@@ -1 +1 @@
1
- {"version":3,"file":"aki-provider.js","sourceRoot":"","sources":["../../src/providers/aki-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aki-provider.js","sourceRoot":"","sources":["../../src/providers/aki-provider.ts"],"names":[],"mappings":"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"}