@aigne/aigne-hub 1.74.0-beta → 1.74.0-beta.2
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/dist/{aigne-hub-model.cjs → aigne-hub-chat-model.cjs} +2 -2
- package/dist/aigne-hub-chat-model.d.cts +33 -0
- package/dist/aigne-hub-chat-model.d.cts.map +1 -0
- package/dist/aigne-hub-chat-model.d.mts +33 -0
- package/dist/aigne-hub-chat-model.d.mts.map +1 -0
- package/dist/{aigne-hub-model.mjs → aigne-hub-chat-model.mjs} +3 -3
- package/dist/aigne-hub-chat-model.mjs.map +1 -0
- package/dist/aigne-hub-image-model.cjs +1 -1
- package/dist/aigne-hub-image-model.d.cts +33 -0
- package/dist/aigne-hub-image-model.d.cts.map +1 -0
- package/dist/aigne-hub-image-model.d.mts +33 -0
- package/dist/aigne-hub-image-model.d.mts.map +1 -0
- package/dist/aigne-hub-image-model.mjs +1 -1
- package/dist/aigne-hub-video-model.cjs +1 -1
- package/dist/aigne-hub-video-model.d.cts +33 -0
- package/dist/aigne-hub-video-model.d.cts.map +1 -0
- package/dist/aigne-hub-video-model.d.mts +33 -0
- package/dist/aigne-hub-video-model.d.mts.map +1 -0
- package/dist/aigne-hub-video-model.mjs +1 -1
- package/dist/index.d.cts +7 -7
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +6 -6
- package/dist/index.d.mts.map +1 -1
- package/dist/utils/blocklet.cjs +1 -1
- package/dist/utils/blocklet.mjs +1 -1
- package/dist/utils/hub.cjs +1 -1
- package/dist/utils/hub.mjs +1 -1
- package/dist/utils/model.cjs +3 -3
- package/dist/utils/model.mjs +1 -1
- package/dist/utils/model.mjs.map +1 -1
- package/package.json +27 -15
- package/dist/aigne-hub-model.mjs.map +0 -1
|
@@ -3,12 +3,12 @@ const require_constants = require('./utils/constants.cjs');
|
|
|
3
3
|
const require_hub = require('./utils/hub.cjs');
|
|
4
4
|
const require_type = require('./utils/type.cjs');
|
|
5
5
|
let _aigne_core = require("@aigne/core");
|
|
6
|
-
let ufo = require("ufo");
|
|
7
6
|
let _aigne_core_utils_type_utils = require("@aigne/core/utils/type-utils");
|
|
8
7
|
let _aigne_transport_http_client_base_client = require("@aigne/transport/http-client/base-client");
|
|
9
8
|
let _aigne_utils_nodejs = require("@aigne/utils/nodejs");
|
|
9
|
+
let ufo = require("ufo");
|
|
10
10
|
|
|
11
|
-
//#region src/aigne-hub-model.ts
|
|
11
|
+
//#region src/aigne-hub-chat-model.ts
|
|
12
12
|
var AIGNEHubChatModel = class extends _aigne_core.ChatModel {
|
|
13
13
|
constructor(options) {
|
|
14
14
|
(0, _aigne_core_utils_type_utils.checkArguments)("AIGNEHubChatModel", require_type.aigneHubModelOptionsSchema, options);
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AIGNEHubChatModelOptions } from "./utils/type.cjs";
|
|
2
|
+
import { AgentInvokeOptions, AgentProcessResult, ChatModel, ChatModelInput, ChatModelOutput } from "@aigne/core";
|
|
3
|
+
import { BaseClient, BaseClientInvokeOptions } from "@aigne/transport/http-client/base-client";
|
|
4
|
+
|
|
5
|
+
//#region src/aigne-hub-chat-model.d.ts
|
|
6
|
+
declare class AIGNEHubChatModel extends ChatModel {
|
|
7
|
+
options: AIGNEHubChatModelOptions;
|
|
8
|
+
constructor(options: AIGNEHubChatModelOptions);
|
|
9
|
+
models(): Promise<{
|
|
10
|
+
model: string;
|
|
11
|
+
type: string;
|
|
12
|
+
provider: string;
|
|
13
|
+
input_credits_per_token: string;
|
|
14
|
+
output_credits_per_token: string;
|
|
15
|
+
providerDisplayName: string;
|
|
16
|
+
status?: {
|
|
17
|
+
available: boolean;
|
|
18
|
+
} | null | undefined;
|
|
19
|
+
modelMetadata?: Record<string, unknown> | null | undefined;
|
|
20
|
+
}[]>;
|
|
21
|
+
protected _client?: Promise<BaseClient>;
|
|
22
|
+
get client(): Promise<BaseClient>;
|
|
23
|
+
private _credential?;
|
|
24
|
+
get credential(): Promise<{
|
|
25
|
+
url: string;
|
|
26
|
+
apiKey?: string;
|
|
27
|
+
model: string;
|
|
28
|
+
}>;
|
|
29
|
+
process(input: ChatModelInput, options: BaseClientInvokeOptions & AgentInvokeOptions): Promise<AgentProcessResult<ChatModelOutput>>;
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { AIGNEHubChatModel };
|
|
33
|
+
//# sourceMappingURL=aigne-hub-chat-model.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aigne-hub-chat-model.d.cts","names":[],"sources":["../src/aigne-hub-chat-model.ts"],"mappings":";;;;;cAoBa,iBAAA,SAA0B,SAAA;EAAA,OAAA,EACA,wBAAA;EAAA,YAAA,OAAA,EAAA,wBAAA;EAAA,OAAA,GAKzB,OAAA;IAAA,KAAA;IAAA,IAAA;IAAA,QAAA;IAAA,uBAAA;IAAA,wBAAA;IAAA,mBAAA;IAAA,MAAA;MAAA,SAAA;IAAA;IAAA,aAAA;;sBAIQ,OAAA,CAAQ,UAAA;EAAA,IAAA,OAAA,GAElB,OAAA,CAAA,UAAA;EAAA,QAAA,WAAA;EAAA,IAAA,WAAA,GAca,OAAA;IAAA,GAAA;IAAA,MAAA;IAAA,KAAA;EAAA;EAAA,QAAA,KAAA,EA6Bd,cAAA,EAAA,OAAA,EACE,uBAAA,GAA0B,kBAAA,GAClC,OAAA,CAAQ,kBAAA,CAAmB,eAAA;AAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AIGNEHubChatModelOptions } from "./utils/type.mjs";
|
|
2
|
+
import { AgentInvokeOptions, AgentProcessResult, ChatModel, ChatModelInput, ChatModelOutput } from "@aigne/core";
|
|
3
|
+
import { BaseClient, BaseClientInvokeOptions } from "@aigne/transport/http-client/base-client";
|
|
4
|
+
|
|
5
|
+
//#region src/aigne-hub-chat-model.d.ts
|
|
6
|
+
declare class AIGNEHubChatModel extends ChatModel {
|
|
7
|
+
options: AIGNEHubChatModelOptions;
|
|
8
|
+
constructor(options: AIGNEHubChatModelOptions);
|
|
9
|
+
models(): Promise<{
|
|
10
|
+
model: string;
|
|
11
|
+
type: string;
|
|
12
|
+
provider: string;
|
|
13
|
+
input_credits_per_token: string;
|
|
14
|
+
output_credits_per_token: string;
|
|
15
|
+
providerDisplayName: string;
|
|
16
|
+
status?: {
|
|
17
|
+
available: boolean;
|
|
18
|
+
} | null | undefined;
|
|
19
|
+
modelMetadata?: Record<string, unknown> | null | undefined;
|
|
20
|
+
}[]>;
|
|
21
|
+
protected _client?: Promise<BaseClient>;
|
|
22
|
+
get client(): Promise<BaseClient>;
|
|
23
|
+
private _credential?;
|
|
24
|
+
get credential(): Promise<{
|
|
25
|
+
url: string;
|
|
26
|
+
apiKey?: string;
|
|
27
|
+
model: string;
|
|
28
|
+
}>;
|
|
29
|
+
process(input: ChatModelInput, options: BaseClientInvokeOptions & AgentInvokeOptions): Promise<AgentProcessResult<ChatModelOutput>>;
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { AIGNEHubChatModel };
|
|
33
|
+
//# sourceMappingURL=aigne-hub-chat-model.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aigne-hub-chat-model.d.mts","names":[],"sources":["../src/aigne-hub-chat-model.ts"],"mappings":";;;;;cAoBa,iBAAA,SAA0B,SAAA;EAAA,OAAA,EACA,wBAAA;EAAA,YAAA,OAAA,EAAA,wBAAA;EAAA,OAAA,GAKzB,OAAA;IAAA,KAAA;IAAA,IAAA;IAAA,QAAA;IAAA,uBAAA;IAAA,wBAAA;IAAA,mBAAA;IAAA,MAAA;MAAA,SAAA;IAAA;IAAA,aAAA;;sBAIQ,OAAA,CAAQ,UAAA;EAAA,IAAA,OAAA,GAElB,OAAA,CAAA,UAAA;EAAA,QAAA,WAAA;EAAA,IAAA,WAAA,GAca,OAAA;IAAA,GAAA;IAAA,MAAA;IAAA,KAAA;EAAA;EAAA,QAAA,KAAA,EA6Bd,cAAA,EAAA,OAAA,EACE,uBAAA,GAA0B,kBAAA,GAClC,OAAA,CAAQ,kBAAA,CAAmB,eAAA;AAAA"}
|
|
@@ -3,12 +3,12 @@ import { AIGNE_HUB_BLOCKLET_DID, AIGNE_HUB_DEFAULT_MODEL, aigneHubBaseUrl } from
|
|
|
3
3
|
import { getModels } from "./utils/hub.mjs";
|
|
4
4
|
import { aigneHubModelOptionsSchema } from "./utils/type.mjs";
|
|
5
5
|
import { ChatModel } from "@aigne/core";
|
|
6
|
-
import { joinURL } from "ufo";
|
|
7
6
|
import { checkArguments } from "@aigne/core/utils/type-utils";
|
|
8
7
|
import { BaseClient } from "@aigne/transport/http-client/base-client";
|
|
9
8
|
import { nodejs } from "@aigne/utils/nodejs";
|
|
9
|
+
import { joinURL } from "ufo";
|
|
10
10
|
|
|
11
|
-
//#region src/aigne-hub-model.ts
|
|
11
|
+
//#region src/aigne-hub-chat-model.ts
|
|
12
12
|
var AIGNEHubChatModel = class extends ChatModel {
|
|
13
13
|
constructor(options) {
|
|
14
14
|
checkArguments("AIGNEHubChatModel", aigneHubModelOptionsSchema, options);
|
|
@@ -78,4 +78,4 @@ var AIGNEHubChatModel = class extends ChatModel {
|
|
|
78
78
|
|
|
79
79
|
//#endregion
|
|
80
80
|
export { AIGNEHubChatModel };
|
|
81
|
-
//# sourceMappingURL=aigne-hub-model.mjs.map
|
|
81
|
+
//# sourceMappingURL=aigne-hub-chat-model.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aigne-hub-chat-model.mjs","names":[],"sources":["../src/aigne-hub-chat-model.ts"],"sourcesContent":["import {\n type AgentInvokeOptions,\n type AgentProcessResult,\n ChatModel,\n type ChatModelInput,\n type ChatModelOutput,\n} from \"@aigne/core\";\nimport { checkArguments } from \"@aigne/core/utils/type-utils\";\nimport { BaseClient, type BaseClientInvokeOptions } from \"@aigne/transport/http-client/base-client\";\nimport { nodejs } from \"@aigne/utils/nodejs\";\nimport { joinURL } from \"ufo\";\nimport { getAIGNEHubMountPoint } from \"./utils/blocklet.js\";\nimport {\n AIGNE_HUB_BLOCKLET_DID,\n AIGNE_HUB_DEFAULT_MODEL,\n aigneHubBaseUrl,\n} from \"./utils/constants.js\";\nimport { getModels } from \"./utils/hub.js\";\nimport { type AIGNEHubChatModelOptions, aigneHubModelOptionsSchema } from \"./utils/type.js\";\n\nexport class AIGNEHubChatModel extends ChatModel {\n constructor(public override options: AIGNEHubChatModelOptions) {\n checkArguments(\"AIGNEHubChatModel\", aigneHubModelOptionsSchema, options);\n super();\n }\n\n async models() {\n return getModels({ baseURL: (await this.credential).url, type: \"chat\" });\n }\n\n protected _client?: Promise<BaseClient>;\n\n get client() {\n this._client ??= this.credential.then(({ url, apiKey, model }) => {\n const options = { ...this.options, url, apiKey, model };\n return new BaseClient(options);\n });\n return this._client;\n }\n\n private _credential?: Promise<{\n url: string;\n apiKey?: string;\n model: string;\n }>;\n\n override get credential() {\n this._credential ??= getAIGNEHubMountPoint(\n this.options.baseURL || aigneHubBaseUrl(),\n AIGNE_HUB_BLOCKLET_DID,\n ).then((url) => {\n const path = \"/api/v2/chat\";\n\n const rawCredential = process.env.BLOCKLET_AIGNE_API_CREDENTIAL;\n let credentialOptions: Record<string, any> = {};\n try {\n credentialOptions =\n typeof rawCredential === \"string\" ? JSON.parse(rawCredential) : (rawCredential ?? {});\n } catch (err) {\n console.error(err);\n }\n\n return {\n ...credentialOptions,\n url: url.endsWith(path) ? url : joinURL(url, path),\n apiKey: this.options.apiKey || process.env.AIGNE_HUB_API_KEY || credentialOptions.apiKey,\n model:\n this.options.model || process.env.BLOCKLET_AIGNE_API_MODEL || AIGNE_HUB_DEFAULT_MODEL,\n };\n });\n\n return this._credential;\n }\n\n override async process(\n input: ChatModelInput,\n options: BaseClientInvokeOptions & AgentInvokeOptions,\n ): Promise<AgentProcessResult<ChatModelOutput>> {\n const { BLOCKLET_APP_PID, ABT_NODE_DID } = nodejs.env;\n const clientId =\n this.options?.clientOptions?.clientId ||\n BLOCKLET_APP_PID ||\n ABT_NODE_DID ||\n `@aigne/aigne-hub:${typeof process !== \"undefined\" ? nodejs.os.hostname() : \"unknown\"}`;\n\n const response = await (await this.client).__invoke<ChatModelInput, ChatModelOutput>(\n undefined,\n {\n ...input,\n modelOptions: {\n ...input.modelOptions,\n model: input.modelOptions?.model || (await this.credential).model,\n },\n // Shouldn't use `local` output type for remote AIGNE Hub call, client can not access the remote filesystem\n outputFileType: \"url\",\n },\n {\n ...options,\n fetchOptions: {\n ...options.fetchOptions,\n headers: {\n ...options.fetchOptions?.headers,\n \"x-aigne-hub-client-did\": clientId,\n },\n },\n },\n );\n\n return response;\n }\n}\n"],"mappings":";;;;;;;;;;;AAoBA,IAAa,oBAAb,cAAuC,UAAU;CAC/C,YAAY,AAAgB,SAAmC;AAC7D,iBAAe,qBAAqB,4BAA4B,QAAQ;AACxE,SAAO;EAFmB;;CAK5B,MAAM,SAAS;AACb,SAAO,UAAU;GAAE,UAAU,MAAM,KAAK,YAAY;GAAK,MAAM;GAAQ,CAAC;;CAG1E,AAAU;CAEV,IAAI,SAAS;AACX,OAAK,YAAY,KAAK,WAAW,MAAM,EAAE,KAAK,QAAQ,YAAY;AAEhE,UAAO,IAAI,WADK;IAAE,GAAG,KAAK;IAAS;IAAK;IAAQ;IAAO,CACzB;IAC9B;AACF,SAAO,KAAK;;CAGd,AAAQ;CAMR,IAAa,aAAa;AACxB,OAAK,gBAAgB,sBACnB,KAAK,QAAQ,WAAW,iBAAiB,EACzC,uBACD,CAAC,MAAM,QAAQ;GACd,MAAM,OAAO;GAEb,MAAM,gBAAgB,QAAQ,IAAI;GAClC,IAAI,oBAAyC,EAAE;AAC/C,OAAI;AACF,wBACE,OAAO,kBAAkB,WAAW,KAAK,MAAM,cAAc,GAAI,iBAAiB,EAAE;YAC/E,KAAK;AACZ,YAAQ,MAAM,IAAI;;AAGpB,UAAO;IACL,GAAG;IACH,KAAK,IAAI,SAAS,KAAK,GAAG,MAAM,QAAQ,KAAK,KAAK;IAClD,QAAQ,KAAK,QAAQ,UAAU,QAAQ,IAAI,qBAAqB,kBAAkB;IAClF,OACE,KAAK,QAAQ,SAAS,QAAQ,IAAI,4BAA4B;IACjE;IACD;AAEF,SAAO,KAAK;;CAGd,MAAe,QACb,OACA,SAC8C;EAC9C,MAAM,EAAE,kBAAkB,iBAAiB,OAAO;EAClD,MAAM,WACJ,KAAK,SAAS,eAAe,YAC7B,oBACA,gBACA,oBAAoB,OAAO,YAAY,cAAc,OAAO,GAAG,UAAU,GAAG;AAyB9E,SAvBiB,OAAO,MAAM,KAAK,QAAQ,SACzC,QACA;GACE,GAAG;GACH,cAAc;IACZ,GAAG,MAAM;IACT,OAAO,MAAM,cAAc,UAAU,MAAM,KAAK,YAAY;IAC7D;GAED,gBAAgB;GACjB,EACD;GACE,GAAG;GACH,cAAc;IACZ,GAAG,QAAQ;IACX,SAAS;KACP,GAAG,QAAQ,cAAc;KACzB,0BAA0B;KAC3B;IACF;GACF,CACF"}
|
|
@@ -3,10 +3,10 @@ const require_constants = require('./utils/constants.cjs');
|
|
|
3
3
|
const require_hub = require('./utils/hub.cjs');
|
|
4
4
|
const require_type = require('./utils/type.cjs');
|
|
5
5
|
let _aigne_core = require("@aigne/core");
|
|
6
|
-
let ufo = require("ufo");
|
|
7
6
|
let _aigne_core_utils_type_utils = require("@aigne/core/utils/type-utils");
|
|
8
7
|
let _aigne_transport_http_client_base_client = require("@aigne/transport/http-client/base-client");
|
|
9
8
|
let _aigne_utils_nodejs = require("@aigne/utils/nodejs");
|
|
9
|
+
let ufo = require("ufo");
|
|
10
10
|
|
|
11
11
|
//#region src/aigne-hub-image-model.ts
|
|
12
12
|
var AIGNEHubImageModel = class extends _aigne_core.ImageModel {
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AIGNEHubImageModelOptions } from "./utils/type.cjs";
|
|
2
|
+
import { AgentProcessResult, ImageModel, ImageModelInput, ImageModelOutput } from "@aigne/core";
|
|
3
|
+
import { BaseClient, BaseClientInvokeOptions } from "@aigne/transport/http-client/base-client";
|
|
4
|
+
|
|
5
|
+
//#region src/aigne-hub-image-model.d.ts
|
|
6
|
+
declare class AIGNEHubImageModel extends ImageModel {
|
|
7
|
+
options: AIGNEHubImageModelOptions;
|
|
8
|
+
constructor(options: AIGNEHubImageModelOptions);
|
|
9
|
+
models(): Promise<{
|
|
10
|
+
model: string;
|
|
11
|
+
type: string;
|
|
12
|
+
provider: string;
|
|
13
|
+
input_credits_per_token: string;
|
|
14
|
+
output_credits_per_token: string;
|
|
15
|
+
providerDisplayName: string;
|
|
16
|
+
status?: {
|
|
17
|
+
available: boolean;
|
|
18
|
+
} | null | undefined;
|
|
19
|
+
modelMetadata?: Record<string, unknown> | null | undefined;
|
|
20
|
+
}[]>;
|
|
21
|
+
protected _client?: Promise<BaseClient>;
|
|
22
|
+
get client(): Promise<BaseClient>;
|
|
23
|
+
private _credential?;
|
|
24
|
+
get credential(): Promise<{
|
|
25
|
+
url: string;
|
|
26
|
+
apiKey?: string;
|
|
27
|
+
model: string;
|
|
28
|
+
}>;
|
|
29
|
+
process(input: ImageModelInput, options: BaseClientInvokeOptions): Promise<AgentProcessResult<ImageModelOutput>>;
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { AIGNEHubImageModel };
|
|
33
|
+
//# sourceMappingURL=aigne-hub-image-model.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aigne-hub-image-model.d.cts","names":[],"sources":["../src/aigne-hub-image-model.ts"],"mappings":";;;;;cAmBa,kBAAA,SAA2B,UAAA;EAAA,OAAA,EACD,yBAAA;EAAA,YAAA,OAAA,EAAA,yBAAA;EAAA,OAAA,GAKzB,OAAA;IAAA,KAAA;IAAA,IAAA;IAAA,QAAA;IAAA,uBAAA;IAAA,wBAAA;IAAA,mBAAA;IAAA,MAAA;MAAA,SAAA;IAAA;IAAA,aAAA;;sBAIQ,OAAA,CAAQ,UAAA;EAAA,IAAA,OAAA,GAElB,OAAA,CAAA,UAAA;EAAA,QAAA,WAAA;EAAA,IAAA,WAAA,GAca,OAAA;IAAA,GAAA;IAAA,MAAA;IAAA,KAAA;EAAA;EAAA,QAAA,KAAA,EA4Bd,eAAA,EAAA,OAAA,EACE,uBAAA,GACR,OAAA,CAAQ,kBAAA,CAAmB,gBAAA;AAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AIGNEHubImageModelOptions } from "./utils/type.mjs";
|
|
2
|
+
import { AgentProcessResult, ImageModel, ImageModelInput, ImageModelOutput } from "@aigne/core";
|
|
3
|
+
import { BaseClient, BaseClientInvokeOptions } from "@aigne/transport/http-client/base-client";
|
|
4
|
+
|
|
5
|
+
//#region src/aigne-hub-image-model.d.ts
|
|
6
|
+
declare class AIGNEHubImageModel extends ImageModel {
|
|
7
|
+
options: AIGNEHubImageModelOptions;
|
|
8
|
+
constructor(options: AIGNEHubImageModelOptions);
|
|
9
|
+
models(): Promise<{
|
|
10
|
+
model: string;
|
|
11
|
+
type: string;
|
|
12
|
+
provider: string;
|
|
13
|
+
input_credits_per_token: string;
|
|
14
|
+
output_credits_per_token: string;
|
|
15
|
+
providerDisplayName: string;
|
|
16
|
+
status?: {
|
|
17
|
+
available: boolean;
|
|
18
|
+
} | null | undefined;
|
|
19
|
+
modelMetadata?: Record<string, unknown> | null | undefined;
|
|
20
|
+
}[]>;
|
|
21
|
+
protected _client?: Promise<BaseClient>;
|
|
22
|
+
get client(): Promise<BaseClient>;
|
|
23
|
+
private _credential?;
|
|
24
|
+
get credential(): Promise<{
|
|
25
|
+
url: string;
|
|
26
|
+
apiKey?: string;
|
|
27
|
+
model: string;
|
|
28
|
+
}>;
|
|
29
|
+
process(input: ImageModelInput, options: BaseClientInvokeOptions): Promise<AgentProcessResult<ImageModelOutput>>;
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { AIGNEHubImageModel };
|
|
33
|
+
//# sourceMappingURL=aigne-hub-image-model.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aigne-hub-image-model.d.mts","names":[],"sources":["../src/aigne-hub-image-model.ts"],"mappings":";;;;;cAmBa,kBAAA,SAA2B,UAAA;EAAA,OAAA,EACD,yBAAA;EAAA,YAAA,OAAA,EAAA,yBAAA;EAAA,OAAA,GAKzB,OAAA;IAAA,KAAA;IAAA,IAAA;IAAA,QAAA;IAAA,uBAAA;IAAA,wBAAA;IAAA,mBAAA;IAAA,MAAA;MAAA,SAAA;IAAA;IAAA,aAAA;;sBAIQ,OAAA,CAAQ,UAAA;EAAA,IAAA,OAAA,GAElB,OAAA,CAAA,UAAA;EAAA,QAAA,WAAA;EAAA,IAAA,WAAA,GAca,OAAA;IAAA,GAAA;IAAA,MAAA;IAAA,KAAA;EAAA;EAAA,QAAA,KAAA,EA4Bd,eAAA,EAAA,OAAA,EACE,uBAAA,GACR,OAAA,CAAQ,kBAAA,CAAmB,gBAAA;AAAA"}
|
|
@@ -3,10 +3,10 @@ import { AIGNE_HUB_BLOCKLET_DID, AIGNE_HUB_IMAGE_MODEL, aigneHubBaseUrl } from "
|
|
|
3
3
|
import { getModels } from "./utils/hub.mjs";
|
|
4
4
|
import { aigneHubModelOptionsSchema } from "./utils/type.mjs";
|
|
5
5
|
import { ImageModel } from "@aigne/core";
|
|
6
|
-
import { joinURL } from "ufo";
|
|
7
6
|
import { checkArguments } from "@aigne/core/utils/type-utils";
|
|
8
7
|
import { BaseClient } from "@aigne/transport/http-client/base-client";
|
|
9
8
|
import { nodejs } from "@aigne/utils/nodejs";
|
|
9
|
+
import { joinURL } from "ufo";
|
|
10
10
|
|
|
11
11
|
//#region src/aigne-hub-image-model.ts
|
|
12
12
|
var AIGNEHubImageModel = class extends ImageModel {
|
|
@@ -3,10 +3,10 @@ const require_constants = require('./utils/constants.cjs');
|
|
|
3
3
|
const require_hub = require('./utils/hub.cjs');
|
|
4
4
|
const require_type = require('./utils/type.cjs');
|
|
5
5
|
let _aigne_core = require("@aigne/core");
|
|
6
|
-
let ufo = require("ufo");
|
|
7
6
|
let _aigne_core_utils_type_utils = require("@aigne/core/utils/type-utils");
|
|
8
7
|
let _aigne_transport_http_client_base_client = require("@aigne/transport/http-client/base-client");
|
|
9
8
|
let _aigne_utils_nodejs = require("@aigne/utils/nodejs");
|
|
9
|
+
let ufo = require("ufo");
|
|
10
10
|
|
|
11
11
|
//#region src/aigne-hub-video-model.ts
|
|
12
12
|
var AIGNEHubVideoModel = class extends _aigne_core.VideoModel {
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AIGNEHubVideoModelOptions } from "./utils/type.cjs";
|
|
2
|
+
import { AgentProcessResult, VideoModel, VideoModelInput, VideoModelOutput } from "@aigne/core";
|
|
3
|
+
import { BaseClient, BaseClientInvokeOptions } from "@aigne/transport/http-client/base-client";
|
|
4
|
+
|
|
5
|
+
//#region src/aigne-hub-video-model.d.ts
|
|
6
|
+
declare class AIGNEHubVideoModel extends VideoModel {
|
|
7
|
+
options: AIGNEHubVideoModelOptions;
|
|
8
|
+
constructor(options: AIGNEHubVideoModelOptions);
|
|
9
|
+
models(): Promise<{
|
|
10
|
+
model: string;
|
|
11
|
+
type: string;
|
|
12
|
+
provider: string;
|
|
13
|
+
input_credits_per_token: string;
|
|
14
|
+
output_credits_per_token: string;
|
|
15
|
+
providerDisplayName: string;
|
|
16
|
+
status?: {
|
|
17
|
+
available: boolean;
|
|
18
|
+
} | null | undefined;
|
|
19
|
+
modelMetadata?: Record<string, unknown> | null | undefined;
|
|
20
|
+
}[]>;
|
|
21
|
+
protected _client?: Promise<BaseClient>;
|
|
22
|
+
get client(): Promise<BaseClient>;
|
|
23
|
+
private _credential?;
|
|
24
|
+
get credential(): Promise<{
|
|
25
|
+
url: string;
|
|
26
|
+
apiKey?: string;
|
|
27
|
+
model: string;
|
|
28
|
+
}>;
|
|
29
|
+
process(input: VideoModelInput, options: BaseClientInvokeOptions): Promise<AgentProcessResult<VideoModelOutput>>;
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { AIGNEHubVideoModel };
|
|
33
|
+
//# sourceMappingURL=aigne-hub-video-model.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aigne-hub-video-model.d.cts","names":[],"sources":["../src/aigne-hub-video-model.ts"],"mappings":";;;;;cAmBa,kBAAA,SAA2B,UAAA;EAAA,OAAA,EACD,yBAAA;EAAA,YAAA,OAAA,EAAA,yBAAA;EAAA,OAAA,GAKzB,OAAA;IAAA,KAAA;IAAA,IAAA;IAAA,QAAA;IAAA,uBAAA;IAAA,wBAAA;IAAA,mBAAA;IAAA,MAAA;MAAA,SAAA;IAAA;IAAA,aAAA;;sBAIQ,OAAA,CAAQ,UAAA;EAAA,IAAA,OAAA,GAElB,OAAA,CAAA,UAAA;EAAA,QAAA,WAAA;EAAA,IAAA,WAAA,GAca,OAAA;IAAA,GAAA;IAAA,MAAA;IAAA,KAAA;EAAA;EAAA,QAAA,KAAA,EA4Bd,eAAA,EAAA,OAAA,EACE,uBAAA,GACR,OAAA,CAAQ,kBAAA,CAAmB,gBAAA;AAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AIGNEHubVideoModelOptions } from "./utils/type.mjs";
|
|
2
|
+
import { AgentProcessResult, VideoModel, VideoModelInput, VideoModelOutput } from "@aigne/core";
|
|
3
|
+
import { BaseClient, BaseClientInvokeOptions } from "@aigne/transport/http-client/base-client";
|
|
4
|
+
|
|
5
|
+
//#region src/aigne-hub-video-model.d.ts
|
|
6
|
+
declare class AIGNEHubVideoModel extends VideoModel {
|
|
7
|
+
options: AIGNEHubVideoModelOptions;
|
|
8
|
+
constructor(options: AIGNEHubVideoModelOptions);
|
|
9
|
+
models(): Promise<{
|
|
10
|
+
model: string;
|
|
11
|
+
type: string;
|
|
12
|
+
provider: string;
|
|
13
|
+
input_credits_per_token: string;
|
|
14
|
+
output_credits_per_token: string;
|
|
15
|
+
providerDisplayName: string;
|
|
16
|
+
status?: {
|
|
17
|
+
available: boolean;
|
|
18
|
+
} | null | undefined;
|
|
19
|
+
modelMetadata?: Record<string, unknown> | null | undefined;
|
|
20
|
+
}[]>;
|
|
21
|
+
protected _client?: Promise<BaseClient>;
|
|
22
|
+
get client(): Promise<BaseClient>;
|
|
23
|
+
private _credential?;
|
|
24
|
+
get credential(): Promise<{
|
|
25
|
+
url: string;
|
|
26
|
+
apiKey?: string;
|
|
27
|
+
model: string;
|
|
28
|
+
}>;
|
|
29
|
+
process(input: VideoModelInput, options: BaseClientInvokeOptions): Promise<AgentProcessResult<VideoModelOutput>>;
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { AIGNEHubVideoModel };
|
|
33
|
+
//# sourceMappingURL=aigne-hub-video-model.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aigne-hub-video-model.d.mts","names":[],"sources":["../src/aigne-hub-video-model.ts"],"mappings":";;;;;cAmBa,kBAAA,SAA2B,UAAA;EAAA,OAAA,EACD,yBAAA;EAAA,YAAA,OAAA,EAAA,yBAAA;EAAA,OAAA,GAKzB,OAAA;IAAA,KAAA;IAAA,IAAA;IAAA,QAAA;IAAA,uBAAA;IAAA,wBAAA;IAAA,mBAAA;IAAA,MAAA;MAAA,SAAA;IAAA;IAAA,aAAA;;sBAIQ,OAAA,CAAQ,UAAA;EAAA,IAAA,OAAA,GAElB,OAAA,CAAA,UAAA;EAAA,QAAA,WAAA;EAAA,IAAA,WAAA,GAca,OAAA;IAAA,GAAA;IAAA,MAAA;IAAA,KAAA;EAAA;EAAA,QAAA,KAAA,EA4Bd,eAAA,EAAA,OAAA,EACE,uBAAA,GACR,OAAA,CAAQ,kBAAA,CAAmB,gBAAA;AAAA"}
|
|
@@ -3,10 +3,10 @@ import { AIGNE_HUB_BLOCKLET_DID, AIGNE_HUB_VIDEO_MODEL, aigneHubBaseUrl } from "
|
|
|
3
3
|
import { getModels } from "./utils/hub.mjs";
|
|
4
4
|
import { aigneHubModelOptionsSchema } from "./utils/type.mjs";
|
|
5
5
|
import { VideoModel } from "@aigne/core";
|
|
6
|
-
import { joinURL } from "ufo";
|
|
7
6
|
import { checkArguments } from "@aigne/core/utils/type-utils";
|
|
8
7
|
import { BaseClient } from "@aigne/transport/http-client/base-client";
|
|
9
8
|
import { nodejs } from "@aigne/utils/nodejs";
|
|
9
|
+
import { joinURL } from "ufo";
|
|
10
10
|
|
|
11
11
|
//#region src/aigne-hub-video-model.ts
|
|
12
12
|
var AIGNEHubVideoModel = class extends VideoModel {
|
package/dist/index.d.cts
CHANGED
|
@@ -3,16 +3,16 @@ import { getAIGNEHubMountPoint } from "./utils/blocklet.cjs";
|
|
|
3
3
|
import { AIGNE_HUB_BLOCKLET_DID, AIGNE_HUB_DEFAULT_MODEL, AIGNE_HUB_IMAGE_MODEL, AIGNE_HUB_PROVIDER, AIGNE_HUB_URL, AIGNE_HUB_VIDEO_MODEL, AIProviderType, AI_PROVIDERS, PROVIDER_RANK, aigneHubBaseUrl } from "./utils/constants.cjs";
|
|
4
4
|
import { getDefaultProviderForModel, getSupportedProviders, inferVendorFromModel, resolveProviderModelId } from "./utils/find-provider.cjs";
|
|
5
5
|
import { LoadableImageModel, LoadableModel, LoadableVideoModel, availableImageModels, availableModels, availableVideoModels, findImageModel, findModel, findVideoModel, parseModel } from "./utils/model.cjs";
|
|
6
|
-
import * as _aigne_core_utils_type_utils0 from "@aigne/core/utils/type-utils";
|
|
7
6
|
import { AgentProcessResult, ChatModel, ChatModelInput, ChatModelOutput, ImageModel, ImageModelInput, ImageModelOutput, VideoModel, VideoModelInput, VideoModelOutput } from "@aigne/core";
|
|
8
7
|
import { BaseClientInvokeOptions } from "@aigne/transport/http-client/base-client";
|
|
8
|
+
import * as _aigne_core_utils_type_utils0 from "@aigne/core/utils/type-utils";
|
|
9
9
|
|
|
10
10
|
//#region src/index.d.ts
|
|
11
11
|
declare class AIGNEHubChatModel extends ChatModel {
|
|
12
12
|
options: AIGNEHubChatModelOptions;
|
|
13
13
|
static models(): Promise<{
|
|
14
|
-
type: string;
|
|
15
14
|
model: string;
|
|
15
|
+
type: string;
|
|
16
16
|
provider: string;
|
|
17
17
|
input_credits_per_token: string;
|
|
18
18
|
output_credits_per_token: string;
|
|
@@ -23,8 +23,8 @@ declare class AIGNEHubChatModel extends ChatModel {
|
|
|
23
23
|
modelMetadata?: Record<string, unknown> | null | undefined;
|
|
24
24
|
}[]>;
|
|
25
25
|
models(): Promise<{
|
|
26
|
-
type: string;
|
|
27
26
|
model: string;
|
|
27
|
+
type: string;
|
|
28
28
|
provider: string;
|
|
29
29
|
input_credits_per_token: string;
|
|
30
30
|
output_credits_per_token: string;
|
|
@@ -46,8 +46,8 @@ declare class AIGNEHubChatModel extends ChatModel {
|
|
|
46
46
|
declare class AIGNEHubImageModel extends ImageModel {
|
|
47
47
|
options: AIGNEHubImageModelOptions;
|
|
48
48
|
static models(): Promise<{
|
|
49
|
-
type: string;
|
|
50
49
|
model: string;
|
|
50
|
+
type: string;
|
|
51
51
|
provider: string;
|
|
52
52
|
input_credits_per_token: string;
|
|
53
53
|
output_credits_per_token: string;
|
|
@@ -58,8 +58,8 @@ declare class AIGNEHubImageModel extends ImageModel {
|
|
|
58
58
|
modelMetadata?: Record<string, unknown> | null | undefined;
|
|
59
59
|
}[]>;
|
|
60
60
|
models(): Promise<{
|
|
61
|
-
type: string;
|
|
62
61
|
model: string;
|
|
62
|
+
type: string;
|
|
63
63
|
provider: string;
|
|
64
64
|
input_credits_per_token: string;
|
|
65
65
|
output_credits_per_token: string;
|
|
@@ -81,8 +81,8 @@ declare class AIGNEHubImageModel extends ImageModel {
|
|
|
81
81
|
declare class AIGNEHubVideoModel extends VideoModel {
|
|
82
82
|
options: AIGNEHubVideoModelOptions;
|
|
83
83
|
static models(): Promise<{
|
|
84
|
-
type: string;
|
|
85
84
|
model: string;
|
|
85
|
+
type: string;
|
|
86
86
|
provider: string;
|
|
87
87
|
input_credits_per_token: string;
|
|
88
88
|
output_credits_per_token: string;
|
|
@@ -93,8 +93,8 @@ declare class AIGNEHubVideoModel extends VideoModel {
|
|
|
93
93
|
modelMetadata?: Record<string, unknown> | null | undefined;
|
|
94
94
|
}[]>;
|
|
95
95
|
models(): Promise<{
|
|
96
|
-
type: string;
|
|
97
96
|
model: string;
|
|
97
|
+
type: string;
|
|
98
98
|
provider: string;
|
|
99
99
|
input_credits_per_token: string;
|
|
100
100
|
output_credits_per_token: string;
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;;;cA2Ba,iBAAA,SAA0B,SAAA;EAAA,OAAA,EASA,wBAAA;EAAA,OAAA,OAAA,GARlB,OAAA;IAAA,
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;;;cA2Ba,iBAAA,SAA0B,SAAA;EAAA,OAAA,EASA,wBAAA;EAAA,OAAA,OAAA,GARlB,OAAA;IAAA,KAAA;IAAA,IAAA;IAAA,QAAA;IAAA,uBAAA;IAAA,wBAAA;IAAA,mBAAA;IAAA,MAAA;MAAA,SAAA;IAAA;IAAA,aAAA;;YAIb,OAAA;IAAA,KAAA;IAAA,IAAA;IAAA,QAAA;IAAA,uBAAA;IAAA,wBAAA;IAAA,mBAAA;IAAA,MAAA;MAAA,SAAA;IAAA;IAAA,aAAA;;uBAI+B,wBAAA;EAAA,UAAA,MAAA,EA6BnB,SAAA;EAAA,IAAA,WAAA,GAAS,6BAAA,CAEJ,cAAA;IAAA,GAAA;IAAA,MAAA;IAAA,KAAA;EAAA;EAAA,QAAA,KAAA,EAKd,cAAA,EAAA,OAAA,EACE,uBAAA,GACR,OAAA,CAAQ,kBAAA,CAAmB,eAAA;AAAA;AAAA,cAKnB,kBAAA,SAA2B,UAAA;EAAA,OAAA,EASD,yBAAA;EAAA,OAAA,OAAA,GARlB,OAAA;IAAA,KAAA;IAAA,IAAA;IAAA,QAAA;IAAA,uBAAA;IAAA,wBAAA;IAAA,mBAAA;IAAA,MAAA;MAAA,SAAA;IAAA;IAAA,aAAA;;YAIb,OAAA;IAAA,KAAA;IAAA,IAAA;IAAA,QAAA;IAAA,uBAAA;IAAA,wBAAA;IAAA,mBAAA;IAAA,MAAA;MAAA,SAAA;IAAA;IAAA,aAAA;;uBAI+B,yBAAA;EAAA,UAAA,MAAA,EA6BnB,UAAA;EAAA,IAAA,WAAA,GAAU,6BAAA,CAEL,cAAA;IAAA,GAAA;IAAA,MAAA;IAAA,KAAA;EAAA;EAAA,QAAA,KAAA,EAKd,eAAA,EAAA,OAAA,EACE,uBAAA,GACR,OAAA,CAAQ,kBAAA,CAAmB,gBAAA;AAAA;AAAA,cAKnB,kBAAA,SAA2B,UAAA;EAAA,OAAA,EASD,yBAAA;EAAA,OAAA,OAAA,GARlB,OAAA;IAAA,KAAA;IAAA,IAAA;IAAA,QAAA;IAAA,uBAAA;IAAA,wBAAA;IAAA,mBAAA;IAAA,MAAA;MAAA,SAAA;IAAA;IAAA,aAAA;;YAIb,OAAA;IAAA,KAAA;IAAA,IAAA;IAAA,QAAA;IAAA,uBAAA;IAAA,wBAAA;IAAA,mBAAA;IAAA,MAAA;MAAA,SAAA;IAAA;IAAA,aAAA;;uBAI+B,yBAAA;EAAA,UAAA,MAAA,EA6BnB,UAAA;EAAA,IAAA,WAAA,GAAU,6BAAA,CAEL,cAAA;IAAA,GAAA;IAAA,MAAA;IAAA,KAAA;EAAA;EAAA,QAAA,KAAA,EAKd,eAAA,EAAA,OAAA,EACE,uBAAA,GACR,OAAA,CAAQ,kBAAA,CAAmB,gBAAA;AAAA"}
|
package/dist/index.d.mts
CHANGED
|
@@ -11,8 +11,8 @@ import { BaseClientInvokeOptions } from "@aigne/transport/http-client/base-clien
|
|
|
11
11
|
declare class AIGNEHubChatModel extends ChatModel {
|
|
12
12
|
options: AIGNEHubChatModelOptions;
|
|
13
13
|
static models(): Promise<{
|
|
14
|
-
type: string;
|
|
15
14
|
model: string;
|
|
15
|
+
type: string;
|
|
16
16
|
provider: string;
|
|
17
17
|
input_credits_per_token: string;
|
|
18
18
|
output_credits_per_token: string;
|
|
@@ -23,8 +23,8 @@ declare class AIGNEHubChatModel extends ChatModel {
|
|
|
23
23
|
modelMetadata?: Record<string, unknown> | null | undefined;
|
|
24
24
|
}[]>;
|
|
25
25
|
models(): Promise<{
|
|
26
|
-
type: string;
|
|
27
26
|
model: string;
|
|
27
|
+
type: string;
|
|
28
28
|
provider: string;
|
|
29
29
|
input_credits_per_token: string;
|
|
30
30
|
output_credits_per_token: string;
|
|
@@ -46,8 +46,8 @@ declare class AIGNEHubChatModel extends ChatModel {
|
|
|
46
46
|
declare class AIGNEHubImageModel extends ImageModel {
|
|
47
47
|
options: AIGNEHubImageModelOptions;
|
|
48
48
|
static models(): Promise<{
|
|
49
|
-
type: string;
|
|
50
49
|
model: string;
|
|
50
|
+
type: string;
|
|
51
51
|
provider: string;
|
|
52
52
|
input_credits_per_token: string;
|
|
53
53
|
output_credits_per_token: string;
|
|
@@ -58,8 +58,8 @@ declare class AIGNEHubImageModel extends ImageModel {
|
|
|
58
58
|
modelMetadata?: Record<string, unknown> | null | undefined;
|
|
59
59
|
}[]>;
|
|
60
60
|
models(): Promise<{
|
|
61
|
-
type: string;
|
|
62
61
|
model: string;
|
|
62
|
+
type: string;
|
|
63
63
|
provider: string;
|
|
64
64
|
input_credits_per_token: string;
|
|
65
65
|
output_credits_per_token: string;
|
|
@@ -81,8 +81,8 @@ declare class AIGNEHubImageModel extends ImageModel {
|
|
|
81
81
|
declare class AIGNEHubVideoModel extends VideoModel {
|
|
82
82
|
options: AIGNEHubVideoModelOptions;
|
|
83
83
|
static models(): Promise<{
|
|
84
|
-
type: string;
|
|
85
84
|
model: string;
|
|
85
|
+
type: string;
|
|
86
86
|
provider: string;
|
|
87
87
|
input_credits_per_token: string;
|
|
88
88
|
output_credits_per_token: string;
|
|
@@ -93,8 +93,8 @@ declare class AIGNEHubVideoModel extends VideoModel {
|
|
|
93
93
|
modelMetadata?: Record<string, unknown> | null | undefined;
|
|
94
94
|
}[]>;
|
|
95
95
|
models(): Promise<{
|
|
96
|
-
type: string;
|
|
97
96
|
model: string;
|
|
97
|
+
type: string;
|
|
98
98
|
provider: string;
|
|
99
99
|
input_credits_per_token: string;
|
|
100
100
|
output_credits_per_token: string;
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;;;cA2Ba,iBAAA,SAA0B,SAAA;EAAA,OAAA,EASA,wBAAA;EAAA,OAAA,OAAA,GARlB,OAAA;IAAA,
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;;;cA2Ba,iBAAA,SAA0B,SAAA;EAAA,OAAA,EASA,wBAAA;EAAA,OAAA,OAAA,GARlB,OAAA;IAAA,KAAA;IAAA,IAAA;IAAA,QAAA;IAAA,uBAAA;IAAA,wBAAA;IAAA,mBAAA;IAAA,MAAA;MAAA,SAAA;IAAA;IAAA,aAAA;;YAIb,OAAA;IAAA,KAAA;IAAA,IAAA;IAAA,QAAA;IAAA,uBAAA;IAAA,wBAAA;IAAA,mBAAA;IAAA,MAAA;MAAA,SAAA;IAAA;IAAA,aAAA;;uBAI+B,wBAAA;EAAA,UAAA,MAAA,EA6BnB,SAAA;EAAA,IAAA,WAAA,GAAS,6BAAA,CAEJ,cAAA;IAAA,GAAA;IAAA,MAAA;IAAA,KAAA;EAAA;EAAA,QAAA,KAAA,EAKd,cAAA,EAAA,OAAA,EACE,uBAAA,GACR,OAAA,CAAQ,kBAAA,CAAmB,eAAA;AAAA;AAAA,cAKnB,kBAAA,SAA2B,UAAA;EAAA,OAAA,EASD,yBAAA;EAAA,OAAA,OAAA,GARlB,OAAA;IAAA,KAAA;IAAA,IAAA;IAAA,QAAA;IAAA,uBAAA;IAAA,wBAAA;IAAA,mBAAA;IAAA,MAAA;MAAA,SAAA;IAAA;IAAA,aAAA;;YAIb,OAAA;IAAA,KAAA;IAAA,IAAA;IAAA,QAAA;IAAA,uBAAA;IAAA,wBAAA;IAAA,mBAAA;IAAA,MAAA;MAAA,SAAA;IAAA;IAAA,aAAA;;uBAI+B,yBAAA;EAAA,UAAA,MAAA,EA6BnB,UAAA;EAAA,IAAA,WAAA,GAAU,6BAAA,CAEL,cAAA;IAAA,GAAA;IAAA,MAAA;IAAA,KAAA;EAAA;EAAA,QAAA,KAAA,EAKd,eAAA,EAAA,OAAA,EACE,uBAAA,GACR,OAAA,CAAQ,kBAAA,CAAmB,gBAAA;AAAA;AAAA,cAKnB,kBAAA,SAA2B,UAAA;EAAA,OAAA,EASD,yBAAA;EAAA,OAAA,OAAA,GARlB,OAAA;IAAA,KAAA;IAAA,IAAA;IAAA,QAAA;IAAA,uBAAA;IAAA,wBAAA;IAAA,mBAAA;IAAA,MAAA;MAAA,SAAA;IAAA;IAAA,aAAA;;YAIb,OAAA;IAAA,KAAA;IAAA,IAAA;IAAA,QAAA;IAAA,uBAAA;IAAA,wBAAA;IAAA,mBAAA;IAAA,MAAA;MAAA,SAAA;IAAA;IAAA,aAAA;;uBAI+B,yBAAA;EAAA,UAAA,MAAA,EA6BnB,UAAA;EAAA,IAAA,WAAA,GAAU,6BAAA,CAEL,cAAA;IAAA,GAAA;IAAA,MAAA;IAAA,KAAA;EAAA;EAAA,QAAA,KAAA,EAKd,eAAA,EAAA,OAAA,EACE,uBAAA,GACR,OAAA,CAAQ,kBAAA,CAAmB,gBAAA;AAAA"}
|
package/dist/utils/blocklet.cjs
CHANGED
package/dist/utils/blocklet.mjs
CHANGED
package/dist/utils/hub.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const require_blocklet = require('./blocklet.cjs');
|
|
2
2
|
const require_constants = require('./constants.cjs');
|
|
3
|
-
let _aigne_core_utils_fetch = require("@aigne/core/utils/fetch");
|
|
4
3
|
let ufo = require("ufo");
|
|
4
|
+
let _aigne_core_utils_fetch = require("@aigne/core/utils/fetch");
|
|
5
5
|
let zod = require("zod");
|
|
6
6
|
|
|
7
7
|
//#region src/utils/hub.ts
|
package/dist/utils/hub.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getAIGNEHubMountPoint } from "./blocklet.mjs";
|
|
2
2
|
import { AIGNE_HUB_BLOCKLET_DID, aigneHubBaseUrl } from "./constants.mjs";
|
|
3
|
-
import { fetch } from "@aigne/core/utils/fetch";
|
|
4
3
|
import { joinURL, withQuery } from "ufo";
|
|
4
|
+
import { fetch } from "@aigne/core/utils/fetch";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
|
|
7
7
|
//#region src/utils/hub.ts
|
package/dist/utils/model.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_constants = require('./constants.cjs');
|
|
2
|
+
const require_aigne_hub_chat_model = require('../aigne-hub-chat-model.cjs');
|
|
2
3
|
const require_aigne_hub_image_model = require('../aigne-hub-image-model.cjs');
|
|
3
|
-
const require_aigne_hub_model = require('../aigne-hub-model.cjs');
|
|
4
4
|
const require_aigne_hub_video_model = require('../aigne-hub-video-model.cjs');
|
|
5
5
|
let _aigne_anthropic = require("@aigne/anthropic");
|
|
6
6
|
let _aigne_bedrock = require("@aigne/bedrock");
|
|
@@ -123,9 +123,9 @@ function availableModels() {
|
|
|
123
123
|
})
|
|
124
124
|
},
|
|
125
125
|
{
|
|
126
|
-
name:
|
|
126
|
+
name: require_aigne_hub_chat_model.AIGNEHubChatModel.name,
|
|
127
127
|
apiKeyEnvName: "AIGNE_HUB_API_KEY",
|
|
128
|
-
create: (params) => new
|
|
128
|
+
create: (params) => new require_aigne_hub_chat_model.AIGNEHubChatModel({
|
|
129
129
|
...params,
|
|
130
130
|
clientOptions
|
|
131
131
|
})
|
package/dist/utils/model.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AIGNE_HUB_PROVIDER } from "./constants.mjs";
|
|
2
|
+
import { AIGNEHubChatModel } from "../aigne-hub-chat-model.mjs";
|
|
2
3
|
import { AIGNEHubImageModel } from "../aigne-hub-image-model.mjs";
|
|
3
|
-
import { AIGNEHubChatModel } from "../aigne-hub-model.mjs";
|
|
4
4
|
import { AIGNEHubVideoModel } from "../aigne-hub-video-model.mjs";
|
|
5
5
|
import { AnthropicChatModel } from "@aigne/anthropic";
|
|
6
6
|
import { BedrockChatModel } from "@aigne/bedrock";
|
package/dist/utils/model.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.mjs","names":[],"sources":["../../src/utils/model.ts"],"sourcesContent":["import type { Agent } from \"node:https\";\nimport { AnthropicChatModel } from \"@aigne/anthropic\";\nimport { BedrockChatModel } from \"@aigne/bedrock\";\nimport type {\n ChatModel,\n ChatModelInputOptionsWithGetter,\n ImageModel,\n ImageModelInputOptionsWithGetter,\n VideoModel,\n} from \"@aigne/core\";\nimport { DeepSeekChatModel } from \"@aigne/deepseek\";\nimport { DoubaoChatModel, DoubaoImageModel } from \"@aigne/doubao\";\nimport { GeminiChatModel, GeminiImageModel, GeminiVideoModel } from \"@aigne/gemini\";\nimport { IdeogramImageModel } from \"@aigne/ideogram\";\nimport { OllamaChatModel } from \"@aigne/ollama\";\nimport { OpenRouterChatModel } from \"@aigne/open-router\";\nimport {\n OpenAIChatModel,\n type OpenAIChatModelOptions,\n OpenAIImageModel,\n OpenAIVideoModel,\n} from \"@aigne/openai\";\nimport { PoeChatModel } from \"@aigne/poe\";\nimport { XAIChatModel } from \"@aigne/xai\";\nimport { NodeHttpHandler, streamCollector } from \"@smithy/node-http-handler\";\nimport { HttpsProxyAgent } from \"https-proxy-agent\";\nimport { AIGNEHubImageModel } from \"../aigne-hub-image-model.js\";\nimport { AIGNEHubChatModel } from \"../aigne-hub-model.js\";\nimport { AIGNEHubVideoModel } from \"../aigne-hub-video-model.js\";\nimport { AIGNE_HUB_PROVIDER } from \"./constants.js\";\n\nconst getClientOptions = () => {\n const proxy = [\"HTTPS_PROXY\", \"https_proxy\", \"HTTP_PROXY\", \"http_proxy\", \"ALL_PROXY\", \"all_proxy\"]\n .map((i) => process.env[i])\n .filter(Boolean)[0];\n\n const httpAgent = proxy ? (new HttpsProxyAgent(proxy) as Agent) : undefined;\n const clientOptions: Pick<\n NonNullable<OpenAIChatModelOptions[\"clientOptions\"]>,\n \"fetchOptions\"\n > = {\n fetchOptions: {\n // @ts-ignore\n agent: httpAgent,\n },\n };\n\n return {\n clientOptions,\n httpAgent,\n };\n};\n\nconst GOOGLE = \"google\";\n\nexport interface LoadableModel {\n name: string | string[];\n apiKeyEnvName?: string | string[];\n create: (options: {\n model?: string;\n modelOptions?: ChatModelInputOptionsWithGetter;\n apiKey?: string;\n baseURL?: string;\n }) => ChatModel;\n}\n\nexport function availableModels(): LoadableModel[] {\n const { clientOptions, httpAgent } = getClientOptions();\n\n return [\n {\n name: OpenAIChatModel.name,\n apiKeyEnvName: \"OPENAI_API_KEY\",\n create: (params) => new OpenAIChatModel({ ...params, clientOptions }),\n },\n {\n name: AnthropicChatModel.name,\n apiKeyEnvName: \"ANTHROPIC_API_KEY\",\n create: (params) => new AnthropicChatModel({ ...params, clientOptions }),\n },\n {\n name: BedrockChatModel.name,\n apiKeyEnvName: \"AWS_ACCESS_KEY_ID\",\n create: (params) =>\n new BedrockChatModel({\n ...params,\n clientOptions: {\n requestHandler: NodeHttpHandler.create({ httpAgent, httpsAgent: httpAgent }),\n streamCollector,\n },\n }),\n },\n {\n name: DeepSeekChatModel.name,\n apiKeyEnvName: \"DEEPSEEK_API_KEY\",\n create: (params) => new DeepSeekChatModel({ ...params, clientOptions }),\n },\n {\n name: [GeminiChatModel.name, GOOGLE],\n apiKeyEnvName: [\"GEMINI_API_KEY\", \"GOOGLE_API_KEY\"],\n create: (params) =>\n new GeminiChatModel({\n ...params,\n clientOptions: { httpOptions: clientOptions.fetchOptions },\n }),\n },\n {\n name: OllamaChatModel.name,\n apiKeyEnvName: \"OLLAMA_API_KEY\",\n create: (params) => new OllamaChatModel({ ...params, clientOptions }),\n },\n {\n name: OpenRouterChatModel.name,\n apiKeyEnvName: \"OPEN_ROUTER_API_KEY\",\n create: (params) => new OpenRouterChatModel({ ...params, clientOptions }),\n },\n {\n name: XAIChatModel.name,\n apiKeyEnvName: \"XAI_API_KEY\",\n create: (params) => new XAIChatModel({ ...params, clientOptions }),\n },\n {\n name: DoubaoChatModel.name,\n apiKeyEnvName: \"DOUBAO_API_KEY\",\n create: (params) => new DoubaoChatModel({ ...params, clientOptions }),\n },\n {\n name: PoeChatModel.name,\n apiKeyEnvName: \"POE_API_KEY\",\n create: (params) => new PoeChatModel({ ...params, clientOptions }),\n },\n {\n name: AIGNEHubChatModel.name,\n apiKeyEnvName: \"AIGNE_HUB_API_KEY\",\n create: (params) => new AIGNEHubChatModel({ ...params, clientOptions }),\n },\n ];\n}\n\nexport interface LoadableImageModel {\n name: string | string[];\n apiKeyEnvName: string;\n create: (options: {\n apiKey?: string;\n baseURL?: string;\n model?: string;\n modelOptions?: ImageModelInputOptionsWithGetter;\n }) => ImageModel;\n}\n\nexport interface LoadableVideoModel {\n name: string | string[];\n apiKeyEnvName: string;\n create: (options: {\n apiKey?: string;\n baseURL?: string;\n model?: string;\n modelOptions?: { [key: string]: any };\n }) => VideoModel;\n}\n\nexport function availableImageModels(): LoadableImageModel[] {\n const { clientOptions } = getClientOptions();\n\n return [\n {\n name: OpenAIImageModel.name,\n apiKeyEnvName: \"OPENAI_API_KEY\",\n create: (params) => new OpenAIImageModel({ ...params, clientOptions }),\n },\n {\n name: [GeminiImageModel.name, GOOGLE],\n apiKeyEnvName: \"GEMINI_API_KEY\",\n create: (params) => new GeminiImageModel({ ...params, clientOptions }),\n },\n {\n name: IdeogramImageModel.name,\n apiKeyEnvName: \"IDEOGRAM_API_KEY\",\n create: (params) => new IdeogramImageModel({ ...params }),\n },\n {\n name: DoubaoImageModel.name,\n apiKeyEnvName: \"DOUBAO_API_KEY\",\n create: (params) => new DoubaoImageModel({ ...params, clientOptions }),\n },\n {\n name: AIGNEHubImageModel.name,\n apiKeyEnvName: \"AIGNE_HUB_API_KEY\",\n create: (params) => new AIGNEHubImageModel({ ...params, clientOptions }),\n },\n ];\n}\n\nexport function availableVideoModels(): LoadableVideoModel[] {\n const { clientOptions } = getClientOptions();\n\n return [\n {\n name: OpenAIVideoModel.name,\n apiKeyEnvName: \"OPENAI_API_KEY\",\n create: (params) => new OpenAIVideoModel({ ...params, clientOptions }) as VideoModel,\n },\n {\n name: [GeminiVideoModel.name, GOOGLE],\n apiKeyEnvName: \"GEMINI_API_KEY\",\n create: (params) => new GeminiVideoModel({ ...params, clientOptions }) as VideoModel,\n },\n {\n name: AIGNEHubVideoModel.name,\n apiKeyEnvName: \"AIGNE_HUB_API_KEY\",\n create: (params) => new AIGNEHubVideoModel({ ...params, clientOptions }) as VideoModel,\n },\n ];\n}\n\nexport function findModel(provider: string): {\n all: LoadableModel[];\n match: LoadableModel | undefined;\n} {\n provider = provider.toLowerCase().replace(/-/g, \"\");\n\n const all = availableModels();\n\n const match = all.find((m) => {\n if (typeof m.name === \"string\") {\n return m.name.toLowerCase().includes(provider);\n }\n\n return m.name.some((n) => n.toLowerCase().includes(provider));\n });\n\n return { all, match };\n}\n\nexport function findImageModel(provider: string): {\n all: LoadableImageModel[];\n match: LoadableImageModel | undefined;\n} {\n provider = provider.toLowerCase().replace(/-/g, \"\");\n\n const all = availableImageModels();\n\n const match = all.find((m) => {\n if (typeof m.name === \"string\") {\n return m.name.toLowerCase().includes(provider);\n }\n\n return m.name.some((n) => n.toLowerCase().includes(provider));\n });\n\n return { all, match };\n}\n\nexport function findVideoModel(provider: string): {\n all: LoadableVideoModel[];\n match: LoadableVideoModel | undefined;\n} {\n provider = provider.toLowerCase().replace(/-/g, \"\");\n\n const all = availableVideoModels();\n\n const match = all.find((m) => {\n if (typeof m.name === \"string\") {\n return m.name.toLowerCase().includes(provider);\n }\n\n return m.name.some((n) => n.toLowerCase().includes(provider));\n });\n\n return { all, match };\n}\n\nexport const parseModel = (model: string) => {\n // replace first ':' with '/' to compatible with `provider:model-name` format\n model = model.replace(/^([\\w-]+):/, \"$1/\");\n let { provider, name } = model.match(/(?<provider>[^/]*)(\\/(?<name>.*))?/)?.groups ?? {};\n provider = provider?.replace(/-/g, \"\");\n const match = provider ? findModel(provider)?.match : undefined;\n\n if (match) {\n return { provider, model: name };\n }\n\n return { provider: AIGNE_HUB_PROVIDER, model };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model.mjs","names":[],"sources":["../../src/utils/model.ts"],"sourcesContent":["import type { Agent } from \"node:https\";\nimport { AnthropicChatModel } from \"@aigne/anthropic\";\nimport { BedrockChatModel } from \"@aigne/bedrock\";\nimport type {\n ChatModel,\n ChatModelInputOptionsWithGetter,\n ImageModel,\n ImageModelInputOptionsWithGetter,\n VideoModel,\n} from \"@aigne/core\";\nimport { DeepSeekChatModel } from \"@aigne/deepseek\";\nimport { DoubaoChatModel, DoubaoImageModel } from \"@aigne/doubao\";\nimport { GeminiChatModel, GeminiImageModel, GeminiVideoModel } from \"@aigne/gemini\";\nimport { IdeogramImageModel } from \"@aigne/ideogram\";\nimport { OllamaChatModel } from \"@aigne/ollama\";\nimport { OpenRouterChatModel } from \"@aigne/open-router\";\nimport {\n OpenAIChatModel,\n type OpenAIChatModelOptions,\n OpenAIImageModel,\n OpenAIVideoModel,\n} from \"@aigne/openai\";\nimport { PoeChatModel } from \"@aigne/poe\";\nimport { XAIChatModel } from \"@aigne/xai\";\nimport { NodeHttpHandler, streamCollector } from \"@smithy/node-http-handler\";\nimport { HttpsProxyAgent } from \"https-proxy-agent\";\nimport { AIGNEHubChatModel } from \"../aigne-hub-chat-model.js\";\nimport { AIGNEHubImageModel } from \"../aigne-hub-image-model.js\";\nimport { AIGNEHubVideoModel } from \"../aigne-hub-video-model.js\";\nimport { AIGNE_HUB_PROVIDER } from \"./constants.js\";\n\nconst getClientOptions = () => {\n const proxy = [\"HTTPS_PROXY\", \"https_proxy\", \"HTTP_PROXY\", \"http_proxy\", \"ALL_PROXY\", \"all_proxy\"]\n .map((i) => process.env[i])\n .filter(Boolean)[0];\n\n const httpAgent = proxy ? (new HttpsProxyAgent(proxy) as Agent) : undefined;\n const clientOptions: Pick<\n NonNullable<OpenAIChatModelOptions[\"clientOptions\"]>,\n \"fetchOptions\"\n > = {\n fetchOptions: {\n // @ts-ignore\n agent: httpAgent,\n },\n };\n\n return {\n clientOptions,\n httpAgent,\n };\n};\n\nconst GOOGLE = \"google\";\n\nexport interface LoadableModel {\n name: string | string[];\n apiKeyEnvName?: string | string[];\n create: (options: {\n model?: string;\n modelOptions?: ChatModelInputOptionsWithGetter;\n apiKey?: string;\n baseURL?: string;\n }) => ChatModel;\n}\n\nexport function availableModels(): LoadableModel[] {\n const { clientOptions, httpAgent } = getClientOptions();\n\n return [\n {\n name: OpenAIChatModel.name,\n apiKeyEnvName: \"OPENAI_API_KEY\",\n create: (params) => new OpenAIChatModel({ ...params, clientOptions }),\n },\n {\n name: AnthropicChatModel.name,\n apiKeyEnvName: \"ANTHROPIC_API_KEY\",\n create: (params) => new AnthropicChatModel({ ...params, clientOptions }),\n },\n {\n name: BedrockChatModel.name,\n apiKeyEnvName: \"AWS_ACCESS_KEY_ID\",\n create: (params) =>\n new BedrockChatModel({\n ...params,\n clientOptions: {\n requestHandler: NodeHttpHandler.create({ httpAgent, httpsAgent: httpAgent }),\n streamCollector,\n },\n }),\n },\n {\n name: DeepSeekChatModel.name,\n apiKeyEnvName: \"DEEPSEEK_API_KEY\",\n create: (params) => new DeepSeekChatModel({ ...params, clientOptions }),\n },\n {\n name: [GeminiChatModel.name, GOOGLE],\n apiKeyEnvName: [\"GEMINI_API_KEY\", \"GOOGLE_API_KEY\"],\n create: (params) =>\n new GeminiChatModel({\n ...params,\n clientOptions: { httpOptions: clientOptions.fetchOptions },\n }),\n },\n {\n name: OllamaChatModel.name,\n apiKeyEnvName: \"OLLAMA_API_KEY\",\n create: (params) => new OllamaChatModel({ ...params, clientOptions }),\n },\n {\n name: OpenRouterChatModel.name,\n apiKeyEnvName: \"OPEN_ROUTER_API_KEY\",\n create: (params) => new OpenRouterChatModel({ ...params, clientOptions }),\n },\n {\n name: XAIChatModel.name,\n apiKeyEnvName: \"XAI_API_KEY\",\n create: (params) => new XAIChatModel({ ...params, clientOptions }),\n },\n {\n name: DoubaoChatModel.name,\n apiKeyEnvName: \"DOUBAO_API_KEY\",\n create: (params) => new DoubaoChatModel({ ...params, clientOptions }),\n },\n {\n name: PoeChatModel.name,\n apiKeyEnvName: \"POE_API_KEY\",\n create: (params) => new PoeChatModel({ ...params, clientOptions }),\n },\n {\n name: AIGNEHubChatModel.name,\n apiKeyEnvName: \"AIGNE_HUB_API_KEY\",\n create: (params) => new AIGNEHubChatModel({ ...params, clientOptions }),\n },\n ];\n}\n\nexport interface LoadableImageModel {\n name: string | string[];\n apiKeyEnvName: string;\n create: (options: {\n apiKey?: string;\n baseURL?: string;\n model?: string;\n modelOptions?: ImageModelInputOptionsWithGetter;\n }) => ImageModel;\n}\n\nexport interface LoadableVideoModel {\n name: string | string[];\n apiKeyEnvName: string;\n create: (options: {\n apiKey?: string;\n baseURL?: string;\n model?: string;\n modelOptions?: { [key: string]: any };\n }) => VideoModel;\n}\n\nexport function availableImageModels(): LoadableImageModel[] {\n const { clientOptions } = getClientOptions();\n\n return [\n {\n name: OpenAIImageModel.name,\n apiKeyEnvName: \"OPENAI_API_KEY\",\n create: (params) => new OpenAIImageModel({ ...params, clientOptions }),\n },\n {\n name: [GeminiImageModel.name, GOOGLE],\n apiKeyEnvName: \"GEMINI_API_KEY\",\n create: (params) => new GeminiImageModel({ ...params, clientOptions }),\n },\n {\n name: IdeogramImageModel.name,\n apiKeyEnvName: \"IDEOGRAM_API_KEY\",\n create: (params) => new IdeogramImageModel({ ...params }),\n },\n {\n name: DoubaoImageModel.name,\n apiKeyEnvName: \"DOUBAO_API_KEY\",\n create: (params) => new DoubaoImageModel({ ...params, clientOptions }),\n },\n {\n name: AIGNEHubImageModel.name,\n apiKeyEnvName: \"AIGNE_HUB_API_KEY\",\n create: (params) => new AIGNEHubImageModel({ ...params, clientOptions }),\n },\n ];\n}\n\nexport function availableVideoModels(): LoadableVideoModel[] {\n const { clientOptions } = getClientOptions();\n\n return [\n {\n name: OpenAIVideoModel.name,\n apiKeyEnvName: \"OPENAI_API_KEY\",\n create: (params) => new OpenAIVideoModel({ ...params, clientOptions }) as VideoModel,\n },\n {\n name: [GeminiVideoModel.name, GOOGLE],\n apiKeyEnvName: \"GEMINI_API_KEY\",\n create: (params) => new GeminiVideoModel({ ...params, clientOptions }) as VideoModel,\n },\n {\n name: AIGNEHubVideoModel.name,\n apiKeyEnvName: \"AIGNE_HUB_API_KEY\",\n create: (params) => new AIGNEHubVideoModel({ ...params, clientOptions }) as VideoModel,\n },\n ];\n}\n\nexport function findModel(provider: string): {\n all: LoadableModel[];\n match: LoadableModel | undefined;\n} {\n provider = provider.toLowerCase().replace(/-/g, \"\");\n\n const all = availableModels();\n\n const match = all.find((m) => {\n if (typeof m.name === \"string\") {\n return m.name.toLowerCase().includes(provider);\n }\n\n return m.name.some((n) => n.toLowerCase().includes(provider));\n });\n\n return { all, match };\n}\n\nexport function findImageModel(provider: string): {\n all: LoadableImageModel[];\n match: LoadableImageModel | undefined;\n} {\n provider = provider.toLowerCase().replace(/-/g, \"\");\n\n const all = availableImageModels();\n\n const match = all.find((m) => {\n if (typeof m.name === \"string\") {\n return m.name.toLowerCase().includes(provider);\n }\n\n return m.name.some((n) => n.toLowerCase().includes(provider));\n });\n\n return { all, match };\n}\n\nexport function findVideoModel(provider: string): {\n all: LoadableVideoModel[];\n match: LoadableVideoModel | undefined;\n} {\n provider = provider.toLowerCase().replace(/-/g, \"\");\n\n const all = availableVideoModels();\n\n const match = all.find((m) => {\n if (typeof m.name === \"string\") {\n return m.name.toLowerCase().includes(provider);\n }\n\n return m.name.some((n) => n.toLowerCase().includes(provider));\n });\n\n return { all, match };\n}\n\nexport const parseModel = (model: string) => {\n // replace first ':' with '/' to compatible with `provider:model-name` format\n model = model.replace(/^([\\w-]+):/, \"$1/\");\n let { provider, name } = model.match(/(?<provider>[^/]*)(\\/(?<name>.*))?/)?.groups ?? {};\n provider = provider?.replace(/-/g, \"\");\n const match = provider ? findModel(provider)?.match : undefined;\n\n if (match) {\n return { provider, model: name };\n }\n\n return { provider: AIGNE_HUB_PROVIDER, model };\n};\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aigne/aigne-hub",
|
|
3
|
-
"version": "1.74.0-beta",
|
|
3
|
+
"version": "1.74.0-beta.2",
|
|
4
4
|
"description": "AIGNE Hub SDK for integrating with Hub AI models",
|
|
5
5
|
"license": "Elastic-2.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -24,6 +24,18 @@
|
|
|
24
24
|
"require": "./dist/index.cjs",
|
|
25
25
|
"import": "./dist/index.mjs"
|
|
26
26
|
},
|
|
27
|
+
"./aigne-hub-chat-model": {
|
|
28
|
+
"require": "./dist/aigne-hub-chat-model.cjs",
|
|
29
|
+
"import": "./dist/aigne-hub-chat-model.mjs"
|
|
30
|
+
},
|
|
31
|
+
"./aigne-hub-image-model": {
|
|
32
|
+
"require": "./dist/aigne-hub-image-model.cjs",
|
|
33
|
+
"import": "./dist/aigne-hub-image-model.mjs"
|
|
34
|
+
},
|
|
35
|
+
"./aigne-hub-video-model": {
|
|
36
|
+
"require": "./dist/aigne-hub-video-model.cjs",
|
|
37
|
+
"import": "./dist/aigne-hub-video-model.mjs"
|
|
38
|
+
},
|
|
27
39
|
"./*": "./*"
|
|
28
40
|
},
|
|
29
41
|
"files": [
|
|
@@ -37,20 +49,20 @@
|
|
|
37
49
|
"https-proxy-agent": "^7.0.6",
|
|
38
50
|
"ufo": "^1.6.1",
|
|
39
51
|
"zod": "^3.25.67",
|
|
40
|
-
"@aigne/anthropic": "^1.74.0-beta",
|
|
41
|
-
"@aigne/bedrock": "^1.74.0-beta",
|
|
42
|
-
"@aigne/core": "^1.74.0-beta",
|
|
43
|
-
"@aigne/
|
|
44
|
-
"@aigne/
|
|
45
|
-
"@aigne/gemini": "^1.74.0-beta",
|
|
46
|
-
"@aigne/
|
|
47
|
-
"@aigne/
|
|
48
|
-
"@aigne/openai": "^1.74.0-beta",
|
|
49
|
-
"@aigne/
|
|
50
|
-
"@aigne/
|
|
51
|
-
"@aigne/
|
|
52
|
-
"@aigne/
|
|
53
|
-
"@aigne/xai": "^1.74.0-beta"
|
|
52
|
+
"@aigne/anthropic": "^1.74.0-beta.2",
|
|
53
|
+
"@aigne/bedrock": "^1.74.0-beta.2",
|
|
54
|
+
"@aigne/core": "^1.74.0-beta.2",
|
|
55
|
+
"@aigne/deepseek": "^1.74.0-beta.2",
|
|
56
|
+
"@aigne/doubao": "^1.74.0-beta.2",
|
|
57
|
+
"@aigne/gemini": "^1.74.0-beta.2",
|
|
58
|
+
"@aigne/ollama": "^1.74.0-beta.2",
|
|
59
|
+
"@aigne/open-router": "^1.74.0-beta.2",
|
|
60
|
+
"@aigne/openai": "^1.74.0-beta.2",
|
|
61
|
+
"@aigne/ideogram": "^1.74.0-beta.2",
|
|
62
|
+
"@aigne/poe": "^1.74.0-beta.2",
|
|
63
|
+
"@aigne/transport": "^1.74.0-beta.2",
|
|
64
|
+
"@aigne/utils": "^1.74.0-beta.2",
|
|
65
|
+
"@aigne/xai": "^1.74.0-beta.2"
|
|
54
66
|
},
|
|
55
67
|
"devDependencies": {
|
|
56
68
|
"@types/bun": "^1.3.6",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aigne-hub-model.mjs","names":[],"sources":["../src/aigne-hub-model.ts"],"sourcesContent":["import {\n type AgentInvokeOptions,\n type AgentProcessResult,\n ChatModel,\n type ChatModelInput,\n type ChatModelOutput,\n} from \"@aigne/core\";\nimport { checkArguments } from \"@aigne/core/utils/type-utils\";\nimport { BaseClient, type BaseClientInvokeOptions } from \"@aigne/transport/http-client/base-client\";\nimport { nodejs } from \"@aigne/utils/nodejs\";\nimport { joinURL } from \"ufo\";\nimport { getAIGNEHubMountPoint } from \"./utils/blocklet.js\";\nimport {\n AIGNE_HUB_BLOCKLET_DID,\n AIGNE_HUB_DEFAULT_MODEL,\n aigneHubBaseUrl,\n} from \"./utils/constants.js\";\nimport { getModels } from \"./utils/hub.js\";\nimport { type AIGNEHubChatModelOptions, aigneHubModelOptionsSchema } from \"./utils/type.js\";\n\nexport class AIGNEHubChatModel extends ChatModel {\n constructor(public override options: AIGNEHubChatModelOptions) {\n checkArguments(\"AIGNEHubChatModel\", aigneHubModelOptionsSchema, options);\n super();\n }\n\n async models() {\n return getModels({ baseURL: (await this.credential).url, type: \"chat\" });\n }\n\n protected _client?: Promise<BaseClient>;\n\n get client() {\n this._client ??= this.credential.then(({ url, apiKey, model }) => {\n const options = { ...this.options, url, apiKey, model };\n return new BaseClient(options);\n });\n return this._client;\n }\n\n private _credential?: Promise<{\n url: string;\n apiKey?: string;\n model: string;\n }>;\n\n override get credential() {\n this._credential ??= getAIGNEHubMountPoint(\n this.options.baseURL || aigneHubBaseUrl(),\n AIGNE_HUB_BLOCKLET_DID,\n ).then((url) => {\n const path = \"/api/v2/chat\";\n\n const rawCredential = process.env.BLOCKLET_AIGNE_API_CREDENTIAL;\n let credentialOptions: Record<string, any> = {};\n try {\n credentialOptions =\n typeof rawCredential === \"string\" ? JSON.parse(rawCredential) : (rawCredential ?? {});\n } catch (err) {\n console.error(err);\n }\n\n return {\n ...credentialOptions,\n url: url.endsWith(path) ? url : joinURL(url, path),\n apiKey: this.options.apiKey || process.env.AIGNE_HUB_API_KEY || credentialOptions.apiKey,\n model:\n this.options.model || process.env.BLOCKLET_AIGNE_API_MODEL || AIGNE_HUB_DEFAULT_MODEL,\n };\n });\n\n return this._credential;\n }\n\n override async process(\n input: ChatModelInput,\n options: BaseClientInvokeOptions & AgentInvokeOptions,\n ): Promise<AgentProcessResult<ChatModelOutput>> {\n const { BLOCKLET_APP_PID, ABT_NODE_DID } = nodejs.env;\n const clientId =\n this.options?.clientOptions?.clientId ||\n BLOCKLET_APP_PID ||\n ABT_NODE_DID ||\n `@aigne/aigne-hub:${typeof process !== \"undefined\" ? nodejs.os.hostname() : \"unknown\"}`;\n\n const response = await (await this.client).__invoke<ChatModelInput, ChatModelOutput>(\n undefined,\n {\n ...input,\n modelOptions: {\n ...input.modelOptions,\n model: input.modelOptions?.model || (await this.credential).model,\n },\n // Shouldn't use `local` output type for remote AIGNE Hub call, client can not access the remote filesystem\n outputFileType: \"url\",\n },\n {\n ...options,\n fetchOptions: {\n ...options.fetchOptions,\n headers: {\n ...options.fetchOptions?.headers,\n \"x-aigne-hub-client-did\": clientId,\n },\n },\n },\n );\n\n return response;\n }\n}\n"],"mappings":";;;;;;;;;;;AAoBA,IAAa,oBAAb,cAAuC,UAAU;CAC/C,YAAY,AAAgB,SAAmC;AAC7D,iBAAe,qBAAqB,4BAA4B,QAAQ;AACxE,SAAO;EAFmB;;CAK5B,MAAM,SAAS;AACb,SAAO,UAAU;GAAE,UAAU,MAAM,KAAK,YAAY;GAAK,MAAM;GAAQ,CAAC;;CAG1E,AAAU;CAEV,IAAI,SAAS;AACX,OAAK,YAAY,KAAK,WAAW,MAAM,EAAE,KAAK,QAAQ,YAAY;AAEhE,UAAO,IAAI,WADK;IAAE,GAAG,KAAK;IAAS;IAAK;IAAQ;IAAO,CACzB;IAC9B;AACF,SAAO,KAAK;;CAGd,AAAQ;CAMR,IAAa,aAAa;AACxB,OAAK,gBAAgB,sBACnB,KAAK,QAAQ,WAAW,iBAAiB,EACzC,uBACD,CAAC,MAAM,QAAQ;GACd,MAAM,OAAO;GAEb,MAAM,gBAAgB,QAAQ,IAAI;GAClC,IAAI,oBAAyC,EAAE;AAC/C,OAAI;AACF,wBACE,OAAO,kBAAkB,WAAW,KAAK,MAAM,cAAc,GAAI,iBAAiB,EAAE;YAC/E,KAAK;AACZ,YAAQ,MAAM,IAAI;;AAGpB,UAAO;IACL,GAAG;IACH,KAAK,IAAI,SAAS,KAAK,GAAG,MAAM,QAAQ,KAAK,KAAK;IAClD,QAAQ,KAAK,QAAQ,UAAU,QAAQ,IAAI,qBAAqB,kBAAkB;IAClF,OACE,KAAK,QAAQ,SAAS,QAAQ,IAAI,4BAA4B;IACjE;IACD;AAEF,SAAO,KAAK;;CAGd,MAAe,QACb,OACA,SAC8C;EAC9C,MAAM,EAAE,kBAAkB,iBAAiB,OAAO;EAClD,MAAM,WACJ,KAAK,SAAS,eAAe,YAC7B,oBACA,gBACA,oBAAoB,OAAO,YAAY,cAAc,OAAO,GAAG,UAAU,GAAG;AAyB9E,SAvBiB,OAAO,MAAM,KAAK,QAAQ,SACzC,QACA;GACE,GAAG;GACH,cAAc;IACZ,GAAG,MAAM;IACT,OAAO,MAAM,cAAc,UAAU,MAAM,KAAK,YAAY;IAC7D;GAED,gBAAgB;GACjB,EACD;GACE,GAAG;GACH,cAAc;IACZ,GAAG,QAAQ;IACX,SAAS;KACP,GAAG,QAAQ,cAAc;KACzB,0BAA0B;KAC3B;IACF;GACF,CACF"}
|