@aigne/aigne-hub 0.10.17-beta.1 → 1.74.0-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/README.md +11 -11
  2. package/dist/aigne-hub-image-model.cjs +91 -0
  3. package/dist/aigne-hub-image-model.mjs +92 -0
  4. package/dist/aigne-hub-image-model.mjs.map +1 -0
  5. package/dist/aigne-hub-model.cjs +80 -0
  6. package/dist/aigne-hub-model.mjs +81 -0
  7. package/dist/aigne-hub-model.mjs.map +1 -0
  8. package/dist/aigne-hub-video-model.cjs +95 -0
  9. package/dist/aigne-hub-video-model.mjs +96 -0
  10. package/dist/aigne-hub-video-model.mjs.map +1 -0
  11. package/dist/index.cjs +139 -0
  12. package/dist/index.d.cts +118 -0
  13. package/dist/index.d.cts.map +1 -0
  14. package/dist/index.d.mts +118 -0
  15. package/dist/index.d.mts.map +1 -0
  16. package/dist/index.mjs +117 -0
  17. package/dist/index.mjs.map +1 -0
  18. package/dist/utils/blocklet.cjs +13 -0
  19. package/dist/utils/blocklet.d.cts +5 -0
  20. package/dist/utils/blocklet.d.cts.map +1 -0
  21. package/dist/utils/blocklet.d.mts +5 -0
  22. package/dist/utils/blocklet.d.mts.map +1 -0
  23. package/dist/utils/blocklet.mjs +14 -0
  24. package/dist/utils/blocklet.mjs.map +1 -0
  25. package/dist/utils/constants.cjs +46 -0
  26. package/dist/utils/constants.d.cts +26 -0
  27. package/dist/utils/constants.d.cts.map +1 -0
  28. package/dist/utils/constants.d.mts +26 -0
  29. package/dist/utils/constants.d.mts.map +1 -0
  30. package/dist/utils/constants.mjs +38 -0
  31. package/dist/utils/constants.mjs.map +1 -0
  32. package/dist/utils/find-provider.cjs +161 -0
  33. package/{lib/cjs/utils/find-provider.d.ts → dist/utils/find-provider.d.cts} +10 -5
  34. package/dist/utils/find-provider.d.cts.map +1 -0
  35. package/{lib/esm/utils/find-provider.d.ts → dist/utils/find-provider.d.mts} +10 -5
  36. package/dist/utils/find-provider.d.mts.map +1 -0
  37. package/dist/utils/find-provider.mjs +159 -0
  38. package/dist/utils/find-provider.mjs.map +1 -0
  39. package/dist/utils/hub.cjs +24 -0
  40. package/dist/utils/hub.mjs +25 -0
  41. package/dist/utils/hub.mjs.map +1 -0
  42. package/dist/utils/model.cjs +260 -0
  43. package/dist/utils/model.d.cts +57 -0
  44. package/dist/utils/model.d.cts.map +1 -0
  45. package/dist/utils/model.d.mts +57 -0
  46. package/dist/utils/model.d.mts.map +1 -0
  47. package/dist/utils/model.mjs +255 -0
  48. package/dist/utils/model.mjs.map +1 -0
  49. package/dist/utils/type.cjs +20 -0
  50. package/dist/utils/type.d.cts +28 -0
  51. package/dist/utils/type.d.cts.map +1 -0
  52. package/dist/utils/type.d.mts +29 -0
  53. package/dist/utils/type.d.mts.map +1 -0
  54. package/dist/utils/type.mjs +21 -0
  55. package/dist/utils/type.mjs.map +1 -0
  56. package/package.json +40 -41
  57. package/CHANGELOG.md +0 -4238
  58. package/lib/cjs/aigne-hub-image-model.d.ts +0 -28
  59. package/lib/cjs/aigne-hub-image-model.js +0 -90
  60. package/lib/cjs/aigne-hub-model.d.ts +0 -28
  61. package/lib/cjs/aigne-hub-model.js +0 -80
  62. package/lib/cjs/aigne-hub-video-model.d.ts +0 -28
  63. package/lib/cjs/aigne-hub-video-model.js +0 -89
  64. package/lib/cjs/index.d.ts +0 -112
  65. package/lib/cjs/index.js +0 -135
  66. package/lib/cjs/package.json +0 -3
  67. package/lib/cjs/utils/blocklet.d.ts +0 -1
  68. package/lib/cjs/utils/blocklet.js +0 -15
  69. package/lib/cjs/utils/constants.d.ts +0 -22
  70. package/lib/cjs/utils/constants.js +0 -37
  71. package/lib/cjs/utils/find-provider.js +0 -121
  72. package/lib/cjs/utils/hub.d.ts +0 -16
  73. package/lib/cjs/utils/hub.js +0 -30
  74. package/lib/cjs/utils/model.d.ts +0 -52
  75. package/lib/cjs/utils/model.js +0 -207
  76. package/lib/cjs/utils/type.d.ts +0 -78
  77. package/lib/cjs/utils/type.js +0 -20
  78. package/lib/dts/aigne-hub-image-model.d.ts +0 -28
  79. package/lib/dts/aigne-hub-model.d.ts +0 -28
  80. package/lib/dts/aigne-hub-video-model.d.ts +0 -28
  81. package/lib/dts/index.d.ts +0 -112
  82. package/lib/dts/utils/blocklet.d.ts +0 -1
  83. package/lib/dts/utils/constants.d.ts +0 -22
  84. package/lib/dts/utils/find-provider.d.ts +0 -17
  85. package/lib/dts/utils/hub.d.ts +0 -16
  86. package/lib/dts/utils/model.d.ts +0 -52
  87. package/lib/dts/utils/type.d.ts +0 -78
  88. package/lib/esm/aigne-hub-image-model.d.ts +0 -28
  89. package/lib/esm/aigne-hub-image-model.js +0 -86
  90. package/lib/esm/aigne-hub-model.d.ts +0 -28
  91. package/lib/esm/aigne-hub-model.js +0 -76
  92. package/lib/esm/aigne-hub-video-model.d.ts +0 -28
  93. package/lib/esm/aigne-hub-video-model.js +0 -85
  94. package/lib/esm/index.d.ts +0 -112
  95. package/lib/esm/index.js +0 -115
  96. package/lib/esm/package.json +0 -3
  97. package/lib/esm/utils/blocklet.d.ts +0 -1
  98. package/lib/esm/utils/blocklet.js +0 -12
  99. package/lib/esm/utils/constants.d.ts +0 -22
  100. package/lib/esm/utils/constants.js +0 -33
  101. package/lib/esm/utils/find-provider.js +0 -115
  102. package/lib/esm/utils/hub.d.ts +0 -16
  103. package/lib/esm/utils/hub.js +0 -27
  104. package/lib/esm/utils/model.d.ts +0 -52
  105. package/lib/esm/utils/model.js +0 -197
  106. package/lib/esm/utils/type.d.ts +0 -78
  107. package/lib/esm/utils/type.js +0 -17
@@ -0,0 +1,260 @@
1
+ const require_constants = require('./constants.cjs');
2
+ const require_aigne_hub_image_model = require('../aigne-hub-image-model.cjs');
3
+ const require_aigne_hub_model = require('../aigne-hub-model.cjs');
4
+ const require_aigne_hub_video_model = require('../aigne-hub-video-model.cjs');
5
+ let _aigne_anthropic = require("@aigne/anthropic");
6
+ let _aigne_bedrock = require("@aigne/bedrock");
7
+ let _aigne_deepseek = require("@aigne/deepseek");
8
+ let _aigne_doubao = require("@aigne/doubao");
9
+ let _aigne_gemini = require("@aigne/gemini");
10
+ let _aigne_ideogram = require("@aigne/ideogram");
11
+ let _aigne_ollama = require("@aigne/ollama");
12
+ let _aigne_open_router = require("@aigne/open-router");
13
+ let _aigne_openai = require("@aigne/openai");
14
+ let _aigne_poe = require("@aigne/poe");
15
+ let _aigne_xai = require("@aigne/xai");
16
+ let _smithy_node_http_handler = require("@smithy/node-http-handler");
17
+ let https_proxy_agent = require("https-proxy-agent");
18
+
19
+ //#region src/utils/model.ts
20
+ const getClientOptions = () => {
21
+ const proxy = [
22
+ "HTTPS_PROXY",
23
+ "https_proxy",
24
+ "HTTP_PROXY",
25
+ "http_proxy",
26
+ "ALL_PROXY",
27
+ "all_proxy"
28
+ ].map((i) => process.env[i]).filter(Boolean)[0];
29
+ const httpAgent = proxy ? new https_proxy_agent.HttpsProxyAgent(proxy) : void 0;
30
+ return {
31
+ clientOptions: { fetchOptions: { agent: httpAgent } },
32
+ httpAgent
33
+ };
34
+ };
35
+ const GOOGLE = "google";
36
+ function availableModels() {
37
+ const { clientOptions, httpAgent } = getClientOptions();
38
+ return [
39
+ {
40
+ name: _aigne_openai.OpenAIChatModel.name,
41
+ apiKeyEnvName: "OPENAI_API_KEY",
42
+ create: (params) => new _aigne_openai.OpenAIChatModel({
43
+ ...params,
44
+ clientOptions
45
+ })
46
+ },
47
+ {
48
+ name: _aigne_anthropic.AnthropicChatModel.name,
49
+ apiKeyEnvName: "ANTHROPIC_API_KEY",
50
+ create: (params) => new _aigne_anthropic.AnthropicChatModel({
51
+ ...params,
52
+ clientOptions
53
+ })
54
+ },
55
+ {
56
+ name: _aigne_bedrock.BedrockChatModel.name,
57
+ apiKeyEnvName: "AWS_ACCESS_KEY_ID",
58
+ create: (params) => new _aigne_bedrock.BedrockChatModel({
59
+ ...params,
60
+ clientOptions: {
61
+ requestHandler: _smithy_node_http_handler.NodeHttpHandler.create({
62
+ httpAgent,
63
+ httpsAgent: httpAgent
64
+ }),
65
+ streamCollector: _smithy_node_http_handler.streamCollector
66
+ }
67
+ })
68
+ },
69
+ {
70
+ name: _aigne_deepseek.DeepSeekChatModel.name,
71
+ apiKeyEnvName: "DEEPSEEK_API_KEY",
72
+ create: (params) => new _aigne_deepseek.DeepSeekChatModel({
73
+ ...params,
74
+ clientOptions
75
+ })
76
+ },
77
+ {
78
+ name: [_aigne_gemini.GeminiChatModel.name, GOOGLE],
79
+ apiKeyEnvName: ["GEMINI_API_KEY", "GOOGLE_API_KEY"],
80
+ create: (params) => new _aigne_gemini.GeminiChatModel({
81
+ ...params,
82
+ clientOptions: { httpOptions: clientOptions.fetchOptions }
83
+ })
84
+ },
85
+ {
86
+ name: _aigne_ollama.OllamaChatModel.name,
87
+ apiKeyEnvName: "OLLAMA_API_KEY",
88
+ create: (params) => new _aigne_ollama.OllamaChatModel({
89
+ ...params,
90
+ clientOptions
91
+ })
92
+ },
93
+ {
94
+ name: _aigne_open_router.OpenRouterChatModel.name,
95
+ apiKeyEnvName: "OPEN_ROUTER_API_KEY",
96
+ create: (params) => new _aigne_open_router.OpenRouterChatModel({
97
+ ...params,
98
+ clientOptions
99
+ })
100
+ },
101
+ {
102
+ name: _aigne_xai.XAIChatModel.name,
103
+ apiKeyEnvName: "XAI_API_KEY",
104
+ create: (params) => new _aigne_xai.XAIChatModel({
105
+ ...params,
106
+ clientOptions
107
+ })
108
+ },
109
+ {
110
+ name: _aigne_doubao.DoubaoChatModel.name,
111
+ apiKeyEnvName: "DOUBAO_API_KEY",
112
+ create: (params) => new _aigne_doubao.DoubaoChatModel({
113
+ ...params,
114
+ clientOptions
115
+ })
116
+ },
117
+ {
118
+ name: _aigne_poe.PoeChatModel.name,
119
+ apiKeyEnvName: "POE_API_KEY",
120
+ create: (params) => new _aigne_poe.PoeChatModel({
121
+ ...params,
122
+ clientOptions
123
+ })
124
+ },
125
+ {
126
+ name: require_aigne_hub_model.AIGNEHubChatModel.name,
127
+ apiKeyEnvName: "AIGNE_HUB_API_KEY",
128
+ create: (params) => new require_aigne_hub_model.AIGNEHubChatModel({
129
+ ...params,
130
+ clientOptions
131
+ })
132
+ }
133
+ ];
134
+ }
135
+ function availableImageModels() {
136
+ const { clientOptions } = getClientOptions();
137
+ return [
138
+ {
139
+ name: _aigne_openai.OpenAIImageModel.name,
140
+ apiKeyEnvName: "OPENAI_API_KEY",
141
+ create: (params) => new _aigne_openai.OpenAIImageModel({
142
+ ...params,
143
+ clientOptions
144
+ })
145
+ },
146
+ {
147
+ name: [_aigne_gemini.GeminiImageModel.name, GOOGLE],
148
+ apiKeyEnvName: "GEMINI_API_KEY",
149
+ create: (params) => new _aigne_gemini.GeminiImageModel({
150
+ ...params,
151
+ clientOptions
152
+ })
153
+ },
154
+ {
155
+ name: _aigne_ideogram.IdeogramImageModel.name,
156
+ apiKeyEnvName: "IDEOGRAM_API_KEY",
157
+ create: (params) => new _aigne_ideogram.IdeogramImageModel({ ...params })
158
+ },
159
+ {
160
+ name: _aigne_doubao.DoubaoImageModel.name,
161
+ apiKeyEnvName: "DOUBAO_API_KEY",
162
+ create: (params) => new _aigne_doubao.DoubaoImageModel({
163
+ ...params,
164
+ clientOptions
165
+ })
166
+ },
167
+ {
168
+ name: require_aigne_hub_image_model.AIGNEHubImageModel.name,
169
+ apiKeyEnvName: "AIGNE_HUB_API_KEY",
170
+ create: (params) => new require_aigne_hub_image_model.AIGNEHubImageModel({
171
+ ...params,
172
+ clientOptions
173
+ })
174
+ }
175
+ ];
176
+ }
177
+ function availableVideoModels() {
178
+ const { clientOptions } = getClientOptions();
179
+ return [
180
+ {
181
+ name: _aigne_openai.OpenAIVideoModel.name,
182
+ apiKeyEnvName: "OPENAI_API_KEY",
183
+ create: (params) => new _aigne_openai.OpenAIVideoModel({
184
+ ...params,
185
+ clientOptions
186
+ })
187
+ },
188
+ {
189
+ name: [_aigne_gemini.GeminiVideoModel.name, GOOGLE],
190
+ apiKeyEnvName: "GEMINI_API_KEY",
191
+ create: (params) => new _aigne_gemini.GeminiVideoModel({
192
+ ...params,
193
+ clientOptions
194
+ })
195
+ },
196
+ {
197
+ name: require_aigne_hub_video_model.AIGNEHubVideoModel.name,
198
+ apiKeyEnvName: "AIGNE_HUB_API_KEY",
199
+ create: (params) => new require_aigne_hub_video_model.AIGNEHubVideoModel({
200
+ ...params,
201
+ clientOptions
202
+ })
203
+ }
204
+ ];
205
+ }
206
+ function findModel(provider) {
207
+ provider = provider.toLowerCase().replace(/-/g, "");
208
+ const all = availableModels();
209
+ return {
210
+ all,
211
+ match: all.find((m) => {
212
+ if (typeof m.name === "string") return m.name.toLowerCase().includes(provider);
213
+ return m.name.some((n) => n.toLowerCase().includes(provider));
214
+ })
215
+ };
216
+ }
217
+ function findImageModel(provider) {
218
+ provider = provider.toLowerCase().replace(/-/g, "");
219
+ const all = availableImageModels();
220
+ return {
221
+ all,
222
+ match: all.find((m) => {
223
+ if (typeof m.name === "string") return m.name.toLowerCase().includes(provider);
224
+ return m.name.some((n) => n.toLowerCase().includes(provider));
225
+ })
226
+ };
227
+ }
228
+ function findVideoModel(provider) {
229
+ provider = provider.toLowerCase().replace(/-/g, "");
230
+ const all = availableVideoModels();
231
+ return {
232
+ all,
233
+ match: all.find((m) => {
234
+ if (typeof m.name === "string") return m.name.toLowerCase().includes(provider);
235
+ return m.name.some((n) => n.toLowerCase().includes(provider));
236
+ })
237
+ };
238
+ }
239
+ const parseModel = (model) => {
240
+ model = model.replace(/^([\w-]+):/, "$1/");
241
+ let { provider, name } = model.match(/(?<provider>[^/]*)(\/(?<name>.*))?/)?.groups ?? {};
242
+ provider = provider?.replace(/-/g, "");
243
+ if (provider ? findModel(provider)?.match : void 0) return {
244
+ provider,
245
+ model: name
246
+ };
247
+ return {
248
+ provider: require_constants.AIGNE_HUB_PROVIDER,
249
+ model
250
+ };
251
+ };
252
+
253
+ //#endregion
254
+ exports.availableImageModels = availableImageModels;
255
+ exports.availableModels = availableModels;
256
+ exports.availableVideoModels = availableVideoModels;
257
+ exports.findImageModel = findImageModel;
258
+ exports.findModel = findModel;
259
+ exports.findVideoModel = findVideoModel;
260
+ exports.parseModel = parseModel;
@@ -0,0 +1,57 @@
1
+ import { ChatModel, ChatModelInputOptionsWithGetter, ImageModel, ImageModelInputOptionsWithGetter, VideoModel } from "@aigne/core";
2
+
3
+ //#region src/utils/model.d.ts
4
+ interface LoadableModel {
5
+ name: string | string[];
6
+ apiKeyEnvName?: string | string[];
7
+ create: (options: {
8
+ model?: string;
9
+ modelOptions?: ChatModelInputOptionsWithGetter;
10
+ apiKey?: string;
11
+ baseURL?: string;
12
+ }) => ChatModel;
13
+ }
14
+ declare function availableModels(): LoadableModel[];
15
+ interface LoadableImageModel {
16
+ name: string | string[];
17
+ apiKeyEnvName: string;
18
+ create: (options: {
19
+ apiKey?: string;
20
+ baseURL?: string;
21
+ model?: string;
22
+ modelOptions?: ImageModelInputOptionsWithGetter;
23
+ }) => ImageModel;
24
+ }
25
+ interface LoadableVideoModel {
26
+ name: string | string[];
27
+ apiKeyEnvName: string;
28
+ create: (options: {
29
+ apiKey?: string;
30
+ baseURL?: string;
31
+ model?: string;
32
+ modelOptions?: {
33
+ [key: string]: any;
34
+ };
35
+ }) => VideoModel;
36
+ }
37
+ declare function availableImageModels(): LoadableImageModel[];
38
+ declare function availableVideoModels(): LoadableVideoModel[];
39
+ declare function findModel(provider: string): {
40
+ all: LoadableModel[];
41
+ match: LoadableModel | undefined;
42
+ };
43
+ declare function findImageModel(provider: string): {
44
+ all: LoadableImageModel[];
45
+ match: LoadableImageModel | undefined;
46
+ };
47
+ declare function findVideoModel(provider: string): {
48
+ all: LoadableVideoModel[];
49
+ match: LoadableVideoModel | undefined;
50
+ };
51
+ declare const parseModel: (model: string) => {
52
+ provider: string | undefined;
53
+ model: string | undefined;
54
+ };
55
+ //#endregion
56
+ export { LoadableImageModel, LoadableModel, LoadableVideoModel, availableImageModels, availableModels, availableVideoModels, findImageModel, findModel, findVideoModel, parseModel };
57
+ //# sourceMappingURL=model.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.cts","names":[],"sources":["../../src/utils/model.ts"],"mappings":";;;UAuDiB,aAAA;EAAA,IAAA;EAAA,aAAA;EAAA,MAAA,GAAA,OAAA;IAAA,KAAA;IAAA,YAAA,GAKE,+BAAA;IAAA,MAAA;IAAA,OAAA;EAAA,MAGX,SAAA;AAAA;AAAA,iBAGQ,eAAA,CAAA,GAAmB,aAAA;AAAA,UAyElB,kBAAA;EAAA,IAAA;EAAA,aAAA;EAAA,MAAA,GAAA,OAAA;IAAA,MAAA;IAAA,OAAA;IAAA,KAAA;IAAA,YAAA,GAOE,gCAAA;EAAA,MACX,UAAA;AAAA;AAAA,UAGS,kBAAA;EAAA,IAAA;EAAA,aAAA;EAAA,MAAA,GAAA,OAAA;IAAA,MAAA;IAAA,OAAA;IAAA,KAAA;IAAA,YAAA;MAAA,CAAA,GAAA;IAAA;EAAA,MAQT,UAAA;AAAA;AAAA,iBAGQ,oBAAA,CAAA,GAAwB,kBAAA;AAAA,iBAgCxB,oBAAA,CAAA,GAAwB,kBAAA;AAAA,iBAsBxB,SAAA,CAAA,QAAA;EAAA,GAAA,EACT,aAAA;EAAA,KAAA,EACE,aAAA;AAAA;AAAA,iBAiBO,cAAA,CAAA,QAAA;EAAA,GAAA,EACT,kBAAA;EAAA,KAAA,EACE,kBAAA;AAAA;AAAA,iBAiBO,cAAA,CAAA,QAAA;EAAA,GAAA,EACT,kBAAA;EAAA,KAAA,EACE,kBAAA;AAAA;AAAA,cAiBI,UAAA,GAAA,KAAA;EAAA,QAAA;EAAA,KAAA;AAAA"}
@@ -0,0 +1,57 @@
1
+ import { ChatModel, ChatModelInputOptionsWithGetter, ImageModel, ImageModelInputOptionsWithGetter, VideoModel } from "@aigne/core";
2
+
3
+ //#region src/utils/model.d.ts
4
+ interface LoadableModel {
5
+ name: string | string[];
6
+ apiKeyEnvName?: string | string[];
7
+ create: (options: {
8
+ model?: string;
9
+ modelOptions?: ChatModelInputOptionsWithGetter;
10
+ apiKey?: string;
11
+ baseURL?: string;
12
+ }) => ChatModel;
13
+ }
14
+ declare function availableModels(): LoadableModel[];
15
+ interface LoadableImageModel {
16
+ name: string | string[];
17
+ apiKeyEnvName: string;
18
+ create: (options: {
19
+ apiKey?: string;
20
+ baseURL?: string;
21
+ model?: string;
22
+ modelOptions?: ImageModelInputOptionsWithGetter;
23
+ }) => ImageModel;
24
+ }
25
+ interface LoadableVideoModel {
26
+ name: string | string[];
27
+ apiKeyEnvName: string;
28
+ create: (options: {
29
+ apiKey?: string;
30
+ baseURL?: string;
31
+ model?: string;
32
+ modelOptions?: {
33
+ [key: string]: any;
34
+ };
35
+ }) => VideoModel;
36
+ }
37
+ declare function availableImageModels(): LoadableImageModel[];
38
+ declare function availableVideoModels(): LoadableVideoModel[];
39
+ declare function findModel(provider: string): {
40
+ all: LoadableModel[];
41
+ match: LoadableModel | undefined;
42
+ };
43
+ declare function findImageModel(provider: string): {
44
+ all: LoadableImageModel[];
45
+ match: LoadableImageModel | undefined;
46
+ };
47
+ declare function findVideoModel(provider: string): {
48
+ all: LoadableVideoModel[];
49
+ match: LoadableVideoModel | undefined;
50
+ };
51
+ declare const parseModel: (model: string) => {
52
+ provider: string | undefined;
53
+ model: string | undefined;
54
+ };
55
+ //#endregion
56
+ export { LoadableImageModel, LoadableModel, LoadableVideoModel, availableImageModels, availableModels, availableVideoModels, findImageModel, findModel, findVideoModel, parseModel };
57
+ //# sourceMappingURL=model.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.mts","names":[],"sources":["../../src/utils/model.ts"],"mappings":";;;UAuDiB,aAAA;EAAA,IAAA;EAAA,aAAA;EAAA,MAAA,GAAA,OAAA;IAAA,KAAA;IAAA,YAAA,GAKE,+BAAA;IAAA,MAAA;IAAA,OAAA;EAAA,MAGX,SAAA;AAAA;AAAA,iBAGQ,eAAA,CAAA,GAAmB,aAAA;AAAA,UAyElB,kBAAA;EAAA,IAAA;EAAA,aAAA;EAAA,MAAA,GAAA,OAAA;IAAA,MAAA;IAAA,OAAA;IAAA,KAAA;IAAA,YAAA,GAOE,gCAAA;EAAA,MACX,UAAA;AAAA;AAAA,UAGS,kBAAA;EAAA,IAAA;EAAA,aAAA;EAAA,MAAA,GAAA,OAAA;IAAA,MAAA;IAAA,OAAA;IAAA,KAAA;IAAA,YAAA;MAAA,CAAA,GAAA;IAAA;EAAA,MAQT,UAAA;AAAA;AAAA,iBAGQ,oBAAA,CAAA,GAAwB,kBAAA;AAAA,iBAgCxB,oBAAA,CAAA,GAAwB,kBAAA;AAAA,iBAsBxB,SAAA,CAAA,QAAA;EAAA,GAAA,EACT,aAAA;EAAA,KAAA,EACE,aAAA;AAAA;AAAA,iBAiBO,cAAA,CAAA,QAAA;EAAA,GAAA,EACT,kBAAA;EAAA,KAAA,EACE,kBAAA;AAAA;AAAA,iBAiBO,cAAA,CAAA,QAAA;EAAA,GAAA,EACT,kBAAA;EAAA,KAAA,EACE,kBAAA;AAAA;AAAA,cAiBI,UAAA,GAAA,KAAA;EAAA,QAAA;EAAA,KAAA;AAAA"}
@@ -0,0 +1,255 @@
1
+ import { AIGNE_HUB_PROVIDER } from "./constants.mjs";
2
+ import { AIGNEHubImageModel } from "../aigne-hub-image-model.mjs";
3
+ import { AIGNEHubChatModel } from "../aigne-hub-model.mjs";
4
+ import { AIGNEHubVideoModel } from "../aigne-hub-video-model.mjs";
5
+ import { AnthropicChatModel } from "@aigne/anthropic";
6
+ import { BedrockChatModel } from "@aigne/bedrock";
7
+ import { DeepSeekChatModel } from "@aigne/deepseek";
8
+ import { DoubaoChatModel, DoubaoImageModel } from "@aigne/doubao";
9
+ import { GeminiChatModel, GeminiImageModel, GeminiVideoModel } from "@aigne/gemini";
10
+ import { IdeogramImageModel } from "@aigne/ideogram";
11
+ import { OllamaChatModel } from "@aigne/ollama";
12
+ import { OpenRouterChatModel } from "@aigne/open-router";
13
+ import { OpenAIChatModel, OpenAIImageModel, OpenAIVideoModel } from "@aigne/openai";
14
+ import { PoeChatModel } from "@aigne/poe";
15
+ import { XAIChatModel } from "@aigne/xai";
16
+ import { NodeHttpHandler, streamCollector } from "@smithy/node-http-handler";
17
+ import { HttpsProxyAgent } from "https-proxy-agent";
18
+
19
+ //#region src/utils/model.ts
20
+ const getClientOptions = () => {
21
+ const proxy = [
22
+ "HTTPS_PROXY",
23
+ "https_proxy",
24
+ "HTTP_PROXY",
25
+ "http_proxy",
26
+ "ALL_PROXY",
27
+ "all_proxy"
28
+ ].map((i) => process.env[i]).filter(Boolean)[0];
29
+ const httpAgent = proxy ? new HttpsProxyAgent(proxy) : void 0;
30
+ return {
31
+ clientOptions: { fetchOptions: { agent: httpAgent } },
32
+ httpAgent
33
+ };
34
+ };
35
+ const GOOGLE = "google";
36
+ function availableModels() {
37
+ const { clientOptions, httpAgent } = getClientOptions();
38
+ return [
39
+ {
40
+ name: OpenAIChatModel.name,
41
+ apiKeyEnvName: "OPENAI_API_KEY",
42
+ create: (params) => new OpenAIChatModel({
43
+ ...params,
44
+ clientOptions
45
+ })
46
+ },
47
+ {
48
+ name: AnthropicChatModel.name,
49
+ apiKeyEnvName: "ANTHROPIC_API_KEY",
50
+ create: (params) => new AnthropicChatModel({
51
+ ...params,
52
+ clientOptions
53
+ })
54
+ },
55
+ {
56
+ name: BedrockChatModel.name,
57
+ apiKeyEnvName: "AWS_ACCESS_KEY_ID",
58
+ create: (params) => new BedrockChatModel({
59
+ ...params,
60
+ clientOptions: {
61
+ requestHandler: NodeHttpHandler.create({
62
+ httpAgent,
63
+ httpsAgent: httpAgent
64
+ }),
65
+ streamCollector
66
+ }
67
+ })
68
+ },
69
+ {
70
+ name: DeepSeekChatModel.name,
71
+ apiKeyEnvName: "DEEPSEEK_API_KEY",
72
+ create: (params) => new DeepSeekChatModel({
73
+ ...params,
74
+ clientOptions
75
+ })
76
+ },
77
+ {
78
+ name: [GeminiChatModel.name, GOOGLE],
79
+ apiKeyEnvName: ["GEMINI_API_KEY", "GOOGLE_API_KEY"],
80
+ create: (params) => new GeminiChatModel({
81
+ ...params,
82
+ clientOptions: { httpOptions: clientOptions.fetchOptions }
83
+ })
84
+ },
85
+ {
86
+ name: OllamaChatModel.name,
87
+ apiKeyEnvName: "OLLAMA_API_KEY",
88
+ create: (params) => new OllamaChatModel({
89
+ ...params,
90
+ clientOptions
91
+ })
92
+ },
93
+ {
94
+ name: OpenRouterChatModel.name,
95
+ apiKeyEnvName: "OPEN_ROUTER_API_KEY",
96
+ create: (params) => new OpenRouterChatModel({
97
+ ...params,
98
+ clientOptions
99
+ })
100
+ },
101
+ {
102
+ name: XAIChatModel.name,
103
+ apiKeyEnvName: "XAI_API_KEY",
104
+ create: (params) => new XAIChatModel({
105
+ ...params,
106
+ clientOptions
107
+ })
108
+ },
109
+ {
110
+ name: DoubaoChatModel.name,
111
+ apiKeyEnvName: "DOUBAO_API_KEY",
112
+ create: (params) => new DoubaoChatModel({
113
+ ...params,
114
+ clientOptions
115
+ })
116
+ },
117
+ {
118
+ name: PoeChatModel.name,
119
+ apiKeyEnvName: "POE_API_KEY",
120
+ create: (params) => new PoeChatModel({
121
+ ...params,
122
+ clientOptions
123
+ })
124
+ },
125
+ {
126
+ name: AIGNEHubChatModel.name,
127
+ apiKeyEnvName: "AIGNE_HUB_API_KEY",
128
+ create: (params) => new AIGNEHubChatModel({
129
+ ...params,
130
+ clientOptions
131
+ })
132
+ }
133
+ ];
134
+ }
135
+ function availableImageModels() {
136
+ const { clientOptions } = getClientOptions();
137
+ return [
138
+ {
139
+ name: OpenAIImageModel.name,
140
+ apiKeyEnvName: "OPENAI_API_KEY",
141
+ create: (params) => new OpenAIImageModel({
142
+ ...params,
143
+ clientOptions
144
+ })
145
+ },
146
+ {
147
+ name: [GeminiImageModel.name, GOOGLE],
148
+ apiKeyEnvName: "GEMINI_API_KEY",
149
+ create: (params) => new GeminiImageModel({
150
+ ...params,
151
+ clientOptions
152
+ })
153
+ },
154
+ {
155
+ name: IdeogramImageModel.name,
156
+ apiKeyEnvName: "IDEOGRAM_API_KEY",
157
+ create: (params) => new IdeogramImageModel({ ...params })
158
+ },
159
+ {
160
+ name: DoubaoImageModel.name,
161
+ apiKeyEnvName: "DOUBAO_API_KEY",
162
+ create: (params) => new DoubaoImageModel({
163
+ ...params,
164
+ clientOptions
165
+ })
166
+ },
167
+ {
168
+ name: AIGNEHubImageModel.name,
169
+ apiKeyEnvName: "AIGNE_HUB_API_KEY",
170
+ create: (params) => new AIGNEHubImageModel({
171
+ ...params,
172
+ clientOptions
173
+ })
174
+ }
175
+ ];
176
+ }
177
+ function availableVideoModels() {
178
+ const { clientOptions } = getClientOptions();
179
+ return [
180
+ {
181
+ name: OpenAIVideoModel.name,
182
+ apiKeyEnvName: "OPENAI_API_KEY",
183
+ create: (params) => new OpenAIVideoModel({
184
+ ...params,
185
+ clientOptions
186
+ })
187
+ },
188
+ {
189
+ name: [GeminiVideoModel.name, GOOGLE],
190
+ apiKeyEnvName: "GEMINI_API_KEY",
191
+ create: (params) => new GeminiVideoModel({
192
+ ...params,
193
+ clientOptions
194
+ })
195
+ },
196
+ {
197
+ name: AIGNEHubVideoModel.name,
198
+ apiKeyEnvName: "AIGNE_HUB_API_KEY",
199
+ create: (params) => new AIGNEHubVideoModel({
200
+ ...params,
201
+ clientOptions
202
+ })
203
+ }
204
+ ];
205
+ }
206
+ function findModel(provider) {
207
+ provider = provider.toLowerCase().replace(/-/g, "");
208
+ const all = availableModels();
209
+ return {
210
+ all,
211
+ match: all.find((m) => {
212
+ if (typeof m.name === "string") return m.name.toLowerCase().includes(provider);
213
+ return m.name.some((n) => n.toLowerCase().includes(provider));
214
+ })
215
+ };
216
+ }
217
+ function findImageModel(provider) {
218
+ provider = provider.toLowerCase().replace(/-/g, "");
219
+ const all = availableImageModels();
220
+ return {
221
+ all,
222
+ match: all.find((m) => {
223
+ if (typeof m.name === "string") return m.name.toLowerCase().includes(provider);
224
+ return m.name.some((n) => n.toLowerCase().includes(provider));
225
+ })
226
+ };
227
+ }
228
+ function findVideoModel(provider) {
229
+ provider = provider.toLowerCase().replace(/-/g, "");
230
+ const all = availableVideoModels();
231
+ return {
232
+ all,
233
+ match: all.find((m) => {
234
+ if (typeof m.name === "string") return m.name.toLowerCase().includes(provider);
235
+ return m.name.some((n) => n.toLowerCase().includes(provider));
236
+ })
237
+ };
238
+ }
239
+ const parseModel = (model) => {
240
+ model = model.replace(/^([\w-]+):/, "$1/");
241
+ let { provider, name } = model.match(/(?<provider>[^/]*)(\/(?<name>.*))?/)?.groups ?? {};
242
+ provider = provider?.replace(/-/g, "");
243
+ if (provider ? findModel(provider)?.match : void 0) return {
244
+ provider,
245
+ model: name
246
+ };
247
+ return {
248
+ provider: AIGNE_HUB_PROVIDER,
249
+ model
250
+ };
251
+ };
252
+
253
+ //#endregion
254
+ export { availableImageModels, availableModels, availableVideoModels, findImageModel, findModel, findVideoModel, parseModel };
255
+ //# sourceMappingURL=model.mjs.map
@@ -0,0 +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":";;;;;;;;;;;;;;;;;;;AA+BA,MAAM,yBAAyB;CAC7B,MAAM,QAAQ;EAAC;EAAe;EAAe;EAAc;EAAc;EAAa;EAAY,CAC/F,KAAK,MAAM,QAAQ,IAAI,GAAG,CAC1B,OAAO,QAAQ,CAAC;CAEnB,MAAM,YAAY,QAAS,IAAI,gBAAgB,MAAM,GAAa;AAWlE,QAAO;EACL,eARE,EACF,cAAc,EAEZ,OAAO,WACR,EACF;EAIC;EACD;;AAGH,MAAM,SAAS;AAaf,SAAgB,kBAAmC;CACjD,MAAM,EAAE,eAAe,cAAc,kBAAkB;AAEvD,QAAO;EACL;GACE,MAAM,gBAAgB;GACtB,eAAe;GACf,SAAS,WAAW,IAAI,gBAAgB;IAAE,GAAG;IAAQ;IAAe,CAAC;GACtE;EACD;GACE,MAAM,mBAAmB;GACzB,eAAe;GACf,SAAS,WAAW,IAAI,mBAAmB;IAAE,GAAG;IAAQ;IAAe,CAAC;GACzE;EACD;GACE,MAAM,iBAAiB;GACvB,eAAe;GACf,SAAS,WACP,IAAI,iBAAiB;IACnB,GAAG;IACH,eAAe;KACb,gBAAgB,gBAAgB,OAAO;MAAE;MAAW,YAAY;MAAW,CAAC;KAC5E;KACD;IACF,CAAC;GACL;EACD;GACE,MAAM,kBAAkB;GACxB,eAAe;GACf,SAAS,WAAW,IAAI,kBAAkB;IAAE,GAAG;IAAQ;IAAe,CAAC;GACxE;EACD;GACE,MAAM,CAAC,gBAAgB,MAAM,OAAO;GACpC,eAAe,CAAC,kBAAkB,iBAAiB;GACnD,SAAS,WACP,IAAI,gBAAgB;IAClB,GAAG;IACH,eAAe,EAAE,aAAa,cAAc,cAAc;IAC3D,CAAC;GACL;EACD;GACE,MAAM,gBAAgB;GACtB,eAAe;GACf,SAAS,WAAW,IAAI,gBAAgB;IAAE,GAAG;IAAQ;IAAe,CAAC;GACtE;EACD;GACE,MAAM,oBAAoB;GAC1B,eAAe;GACf,SAAS,WAAW,IAAI,oBAAoB;IAAE,GAAG;IAAQ;IAAe,CAAC;GAC1E;EACD;GACE,MAAM,aAAa;GACnB,eAAe;GACf,SAAS,WAAW,IAAI,aAAa;IAAE,GAAG;IAAQ;IAAe,CAAC;GACnE;EACD;GACE,MAAM,gBAAgB;GACtB,eAAe;GACf,SAAS,WAAW,IAAI,gBAAgB;IAAE,GAAG;IAAQ;IAAe,CAAC;GACtE;EACD;GACE,MAAM,aAAa;GACnB,eAAe;GACf,SAAS,WAAW,IAAI,aAAa;IAAE,GAAG;IAAQ;IAAe,CAAC;GACnE;EACD;GACE,MAAM,kBAAkB;GACxB,eAAe;GACf,SAAS,WAAW,IAAI,kBAAkB;IAAE,GAAG;IAAQ;IAAe,CAAC;GACxE;EACF;;AAyBH,SAAgB,uBAA6C;CAC3D,MAAM,EAAE,kBAAkB,kBAAkB;AAE5C,QAAO;EACL;GACE,MAAM,iBAAiB;GACvB,eAAe;GACf,SAAS,WAAW,IAAI,iBAAiB;IAAE,GAAG;IAAQ;IAAe,CAAC;GACvE;EACD;GACE,MAAM,CAAC,iBAAiB,MAAM,OAAO;GACrC,eAAe;GACf,SAAS,WAAW,IAAI,iBAAiB;IAAE,GAAG;IAAQ;IAAe,CAAC;GACvE;EACD;GACE,MAAM,mBAAmB;GACzB,eAAe;GACf,SAAS,WAAW,IAAI,mBAAmB,EAAE,GAAG,QAAQ,CAAC;GAC1D;EACD;GACE,MAAM,iBAAiB;GACvB,eAAe;GACf,SAAS,WAAW,IAAI,iBAAiB;IAAE,GAAG;IAAQ;IAAe,CAAC;GACvE;EACD;GACE,MAAM,mBAAmB;GACzB,eAAe;GACf,SAAS,WAAW,IAAI,mBAAmB;IAAE,GAAG;IAAQ;IAAe,CAAC;GACzE;EACF;;AAGH,SAAgB,uBAA6C;CAC3D,MAAM,EAAE,kBAAkB,kBAAkB;AAE5C,QAAO;EACL;GACE,MAAM,iBAAiB;GACvB,eAAe;GACf,SAAS,WAAW,IAAI,iBAAiB;IAAE,GAAG;IAAQ;IAAe,CAAC;GACvE;EACD;GACE,MAAM,CAAC,iBAAiB,MAAM,OAAO;GACrC,eAAe;GACf,SAAS,WAAW,IAAI,iBAAiB;IAAE,GAAG;IAAQ;IAAe,CAAC;GACvE;EACD;GACE,MAAM,mBAAmB;GACzB,eAAe;GACf,SAAS,WAAW,IAAI,mBAAmB;IAAE,GAAG;IAAQ;IAAe,CAAC;GACzE;EACF;;AAGH,SAAgB,UAAU,UAGxB;AACA,YAAW,SAAS,aAAa,CAAC,QAAQ,MAAM,GAAG;CAEnD,MAAM,MAAM,iBAAiB;AAU7B,QAAO;EAAE;EAAK,OARA,IAAI,MAAM,MAAM;AAC5B,OAAI,OAAO,EAAE,SAAS,SACpB,QAAO,EAAE,KAAK,aAAa,CAAC,SAAS,SAAS;AAGhD,UAAO,EAAE,KAAK,MAAM,MAAM,EAAE,aAAa,CAAC,SAAS,SAAS,CAAC;IAC7D;EAEmB;;AAGvB,SAAgB,eAAe,UAG7B;AACA,YAAW,SAAS,aAAa,CAAC,QAAQ,MAAM,GAAG;CAEnD,MAAM,MAAM,sBAAsB;AAUlC,QAAO;EAAE;EAAK,OARA,IAAI,MAAM,MAAM;AAC5B,OAAI,OAAO,EAAE,SAAS,SACpB,QAAO,EAAE,KAAK,aAAa,CAAC,SAAS,SAAS;AAGhD,UAAO,EAAE,KAAK,MAAM,MAAM,EAAE,aAAa,CAAC,SAAS,SAAS,CAAC;IAC7D;EAEmB;;AAGvB,SAAgB,eAAe,UAG7B;AACA,YAAW,SAAS,aAAa,CAAC,QAAQ,MAAM,GAAG;CAEnD,MAAM,MAAM,sBAAsB;AAUlC,QAAO;EAAE;EAAK,OARA,IAAI,MAAM,MAAM;AAC5B,OAAI,OAAO,EAAE,SAAS,SACpB,QAAO,EAAE,KAAK,aAAa,CAAC,SAAS,SAAS;AAGhD,UAAO,EAAE,KAAK,MAAM,MAAM,EAAE,aAAa,CAAC,SAAS,SAAS,CAAC;IAC7D;EAEmB;;AAGvB,MAAa,cAAc,UAAkB;AAE3C,SAAQ,MAAM,QAAQ,cAAc,MAAM;CAC1C,IAAI,EAAE,UAAU,SAAS,MAAM,MAAM,qCAAqC,EAAE,UAAU,EAAE;AACxF,YAAW,UAAU,QAAQ,MAAM,GAAG;AAGtC,KAFc,WAAW,UAAU,SAAS,EAAE,QAAQ,OAGpD,QAAO;EAAE;EAAU,OAAO;EAAM;AAGlC,QAAO;EAAE,UAAU;EAAoB;EAAO"}
@@ -0,0 +1,20 @@
1
+ let zod = require("zod");
2
+
3
+ //#region src/utils/type.ts
4
+ const aigneHubModelOptionsSchema = zod.z.object({
5
+ baseURL: zod.z.string().optional(),
6
+ apiKey: zod.z.string().optional(),
7
+ model: zod.z.string().optional(),
8
+ modelOptions: zod.z.object({
9
+ model: zod.z.string().optional(),
10
+ temperature: zod.z.number().optional(),
11
+ topP: zod.z.number().optional(),
12
+ frequencyPenalty: zod.z.number().optional(),
13
+ presencePenalty: zod.z.number().optional(),
14
+ parallelToolCalls: zod.z.boolean().optional().default(true)
15
+ }).optional(),
16
+ clientOptions: zod.z.object({}).optional()
17
+ });
18
+
19
+ //#endregion
20
+ exports.aigneHubModelOptionsSchema = aigneHubModelOptionsSchema;