@openclaw/deepinfra-provider 2026.7.2-beta.3 → 2026.7.2-beta.5
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/api.js +3 -3
- package/dist/doctor-contract-api.js +84 -0
- package/dist/embedding-adapter.js +58 -0
- package/dist/embedding-provider.js +1 -1
- package/dist/image-generation-provider.js +2 -2
- package/dist/index.js +3 -3
- package/dist/media-models.js +2 -3
- package/dist/media-understanding-provider.js +1 -1
- package/dist/onboard.js +1 -1
- package/dist/openclaw.plugin-DhzOI6DT.js +200 -0
- package/dist/provider-catalog.js +1 -1
- package/dist/provider-models.js +286 -1
- package/dist/speech-provider.js +1 -1
- package/dist/surface-model-catalogs.js +2 -4
- package/dist/video-generation-provider.js +66 -50
- package/openclaw.plugin.json +123 -50
- package/package.json +4 -5
- package/dist/memory-embedding-adapter.js +0 -36
- package/dist/provider-models-CXaqRQOl.js +0 -409
- package/npm-shrinkwrap.json +0 -12
package/dist/api.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DEEPINFRA_DEFAULT_MODEL_REF } from "./provider-models.js";
|
|
2
|
+
import { deepinfraEmbeddingProviderAdapter } from "./embedding-adapter.js";
|
|
2
3
|
import { buildDeepInfraImageGenerationProvider } from "./image-generation-provider.js";
|
|
3
4
|
import { deepinfraMediaUnderstandingProvider } from "./media-understanding-provider.js";
|
|
4
|
-
import { deepinfraMemoryEmbeddingProviderAdapter } from "./memory-embedding-adapter.js";
|
|
5
5
|
import { applyDeepInfraConfig } from "./onboard.js";
|
|
6
6
|
import { buildDeepInfraProvider, buildStaticDeepInfraProvider } from "./provider-catalog.js";
|
|
7
7
|
import { buildDeepInfraSpeechProvider } from "./speech-provider.js";
|
|
8
8
|
import { buildDeepInfraVideoGenerationProvider } from "./video-generation-provider.js";
|
|
9
|
-
export { DEEPINFRA_DEFAULT_MODEL_REF, applyDeepInfraConfig, buildDeepInfraImageGenerationProvider, buildDeepInfraProvider, buildDeepInfraSpeechProvider, buildDeepInfraVideoGenerationProvider, buildStaticDeepInfraProvider,
|
|
9
|
+
export { DEEPINFRA_DEFAULT_MODEL_REF, applyDeepInfraConfig, buildDeepInfraImageGenerationProvider, buildDeepInfraProvider, buildDeepInfraSpeechProvider, buildDeepInfraVideoGenerationProvider, buildStaticDeepInfraProvider, deepinfraEmbeddingProviderAdapter, deepinfraMediaUnderstandingProvider };
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { t as modelCatalog } from "./openclaw.plugin-DhzOI6DT.js";
|
|
2
|
+
import { asObjectRecord } from "openclaw/plugin-sdk/runtime-doctor";
|
|
3
|
+
//#region extensions/deepinfra/doctor-contract-api.ts
|
|
4
|
+
const PROVIDER_PATH = "models.providers.deepinfra";
|
|
5
|
+
const NATIVE_INFERENCE_PATH = "/v1/inference";
|
|
6
|
+
const OPENAI_COMPAT_PATH = "/v1/openai";
|
|
7
|
+
const CANONICAL_BASE_URL = modelCatalog.providers.deepinfra.baseUrl;
|
|
8
|
+
const FIX_HINT = `Run "openclaw doctor --fix" (api.deepinfra.com endpoints migrate automatically; custom hosts must set ${PROVIDER_PATH}.baseUrl to an OpenAI-compatible videos endpoint manually).`;
|
|
9
|
+
const legacyConfigRules = [{
|
|
10
|
+
path: [
|
|
11
|
+
"models",
|
|
12
|
+
"providers",
|
|
13
|
+
"deepinfra",
|
|
14
|
+
"nativeBaseUrl"
|
|
15
|
+
],
|
|
16
|
+
message: `${PROVIDER_PATH}.nativeBaseUrl is legacy; video generation uses the OpenAI-compatible ${PROVIDER_PATH}.baseUrl. ${FIX_HINT}`
|
|
17
|
+
}, {
|
|
18
|
+
path: [
|
|
19
|
+
"models",
|
|
20
|
+
"providers",
|
|
21
|
+
"deepinfra",
|
|
22
|
+
"baseUrl"
|
|
23
|
+
],
|
|
24
|
+
message: `${PROVIDER_PATH}.baseUrl targets the retired native ${NATIVE_INFERENCE_PATH} surface; use an ${OPENAI_COMPAT_PATH} base. ${FIX_HINT}`,
|
|
25
|
+
match: (value) => typeof value === "string" && value.includes(NATIVE_INFERENCE_PATH)
|
|
26
|
+
}];
|
|
27
|
+
function isDeepInfraApiHost(value) {
|
|
28
|
+
try {
|
|
29
|
+
return new URL(value).host === "api.deepinfra.com";
|
|
30
|
+
} catch {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function normalizeBaseUrlValue(value) {
|
|
35
|
+
if (typeof value !== "string") return;
|
|
36
|
+
const trimmed = value.trim().replace(/\/+$/u, "");
|
|
37
|
+
return trimmed ? trimmed : void 0;
|
|
38
|
+
}
|
|
39
|
+
function normalizeCompatibilityConfig({ cfg }) {
|
|
40
|
+
const models = asObjectRecord(cfg.models);
|
|
41
|
+
const providers = asObjectRecord(models?.providers);
|
|
42
|
+
const provider = asObjectRecord(providers?.deepinfra);
|
|
43
|
+
if (!provider) return {
|
|
44
|
+
config: cfg,
|
|
45
|
+
changes: []
|
|
46
|
+
};
|
|
47
|
+
const changes = [];
|
|
48
|
+
const next = { ...provider };
|
|
49
|
+
if (Object.hasOwn(next, "nativeBaseUrl")) {
|
|
50
|
+
const legacyNative = normalizeBaseUrlValue(next.nativeBaseUrl);
|
|
51
|
+
delete next.nativeBaseUrl;
|
|
52
|
+
if (normalizeBaseUrlValue(next.baseUrl)) changes.push(`${PROVIDER_PATH}.nativeBaseUrl: removed (baseUrl is already configured)`);
|
|
53
|
+
else if (legacyNative && !isDeepInfraApiHost(legacyNative)) {
|
|
54
|
+
next.baseUrl = CANONICAL_BASE_URL;
|
|
55
|
+
changes.push(`${PROVIDER_PATH}.nativeBaseUrl: removed retired custom native endpoint; using ${CANONICAL_BASE_URL} - set ${PROVIDER_PATH}.baseUrl manually if your host serves an OpenAI-compatible videos API`);
|
|
56
|
+
} else {
|
|
57
|
+
next.baseUrl = legacyNative?.includes(NATIVE_INFERENCE_PATH) ? legacyNative.replace(NATIVE_INFERENCE_PATH, OPENAI_COMPAT_PATH) : CANONICAL_BASE_URL;
|
|
58
|
+
changes.push(`${PROVIDER_PATH}.nativeBaseUrl -> ${PROVIDER_PATH}.baseUrl (OpenAI-compatible ${OPENAI_COMPAT_PATH} endpoint)`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (typeof next.baseUrl === "string" && next.baseUrl.includes(NATIVE_INFERENCE_PATH) && isDeepInfraApiHost(next.baseUrl)) {
|
|
62
|
+
next.baseUrl = next.baseUrl.replace(NATIVE_INFERENCE_PATH, OPENAI_COMPAT_PATH);
|
|
63
|
+
changes.push(`${PROVIDER_PATH}.baseUrl: ${NATIVE_INFERENCE_PATH} -> ${OPENAI_COMPAT_PATH}`);
|
|
64
|
+
}
|
|
65
|
+
if (changes.length === 0) return {
|
|
66
|
+
config: cfg,
|
|
67
|
+
changes: []
|
|
68
|
+
};
|
|
69
|
+
return {
|
|
70
|
+
config: {
|
|
71
|
+
...cfg,
|
|
72
|
+
models: {
|
|
73
|
+
...models,
|
|
74
|
+
providers: {
|
|
75
|
+
...providers,
|
|
76
|
+
deepinfra: next
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
changes
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
//#endregion
|
|
84
|
+
export { legacyConfigRules, normalizeCompatibilityConfig };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { DEFAULT_DEEPINFRA_EMBEDDING_MODEL, createDeepInfraEmbeddingProvider } from "./embedding-provider.js";
|
|
2
|
+
//#region extensions/deepinfra/embedding-adapter.ts
|
|
3
|
+
function textFromEmbeddingInput(input) {
|
|
4
|
+
return typeof input === "string" ? input : input.text;
|
|
5
|
+
}
|
|
6
|
+
function adaptMemoryEmbeddingProvider(provider) {
|
|
7
|
+
return {
|
|
8
|
+
id: provider.id,
|
|
9
|
+
model: provider.model,
|
|
10
|
+
...typeof provider.maxInputTokens === "number" ? { maxInputTokens: provider.maxInputTokens } : {},
|
|
11
|
+
embed: async (input, options) => await provider.embedQuery(textFromEmbeddingInput(input), { signal: options?.signal }),
|
|
12
|
+
embedBatch: async (inputs, options) => await provider.embedBatch(inputs.map(textFromEmbeddingInput), { signal: options?.signal }),
|
|
13
|
+
...provider.close ? { close: async () => await provider.close?.() } : {}
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function buildMemoryCreateOptions(options) {
|
|
17
|
+
return {
|
|
18
|
+
config: options.config,
|
|
19
|
+
agentDir: options.agentDir,
|
|
20
|
+
provider: "deepinfra",
|
|
21
|
+
fallback: "none",
|
|
22
|
+
remote: options.remote,
|
|
23
|
+
model: options.model,
|
|
24
|
+
inputType: options.inputType,
|
|
25
|
+
queryInputType: options.queryInputType,
|
|
26
|
+
documentInputType: options.documentInputType,
|
|
27
|
+
outputDimensionality: options.dimensions,
|
|
28
|
+
taskType: options.taskType
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function buildDeepInfraEmbeddingAdapter(options) {
|
|
32
|
+
const defaultModel = options?.embedModels?.[0]?.id ?? DEFAULT_DEEPINFRA_EMBEDDING_MODEL;
|
|
33
|
+
return {
|
|
34
|
+
id: "deepinfra",
|
|
35
|
+
defaultModel,
|
|
36
|
+
transport: "remote",
|
|
37
|
+
authProviderId: "deepinfra",
|
|
38
|
+
create: async (createOptions) => {
|
|
39
|
+
const { provider, client } = await createDeepInfraEmbeddingProvider({
|
|
40
|
+
...buildMemoryCreateOptions(createOptions),
|
|
41
|
+
defaultModel
|
|
42
|
+
});
|
|
43
|
+
return {
|
|
44
|
+
provider: provider ? adaptMemoryEmbeddingProvider(provider) : null,
|
|
45
|
+
runtime: {
|
|
46
|
+
id: "deepinfra",
|
|
47
|
+
cacheKeyData: {
|
|
48
|
+
provider: "deepinfra",
|
|
49
|
+
model: client.model
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
const deepinfraEmbeddingProviderAdapter = buildDeepInfraEmbeddingAdapter();
|
|
57
|
+
//#endregion
|
|
58
|
+
export { buildDeepInfraEmbeddingAdapter, deepinfraEmbeddingProviderAdapter };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DEEPINFRA_BASE_URL } from "./provider-models.js";
|
|
2
2
|
import { DEEPINFRA_EMBED_FALLBACK_MODELS, normalizeDeepInfraModelRef } from "./media-models.js";
|
|
3
3
|
import { createRemoteEmbeddingProvider, resolveRemoteEmbeddingClient } from "openclaw/plugin-sdk/memory-core-host-engine-embeddings";
|
|
4
4
|
//#region extensions/deepinfra/embedding-provider.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DEEPINFRA_BASE_URL } from "./provider-models.js";
|
|
2
2
|
import { DEEPINFRA_IMAGE_FALLBACK_MODELS, normalizeDeepInfraBaseUrl, normalizeDeepInfraModelRef } from "./media-models.js";
|
|
3
|
-
import { createOpenAiCompatibleImageGenerationProvider, imageSourceUploadFileName } from "openclaw/plugin-sdk/image-generation";
|
|
4
3
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
4
|
+
import { createOpenAiCompatibleImageGenerationProvider, imageSourceUploadFileName } from "openclaw/plugin-sdk/image-generation";
|
|
5
5
|
//#region extensions/deepinfra/image-generation-provider.ts
|
|
6
6
|
const DEEPINFRA_IMAGE_SIZES = [
|
|
7
7
|
"512x512",
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createDeepInfraAnthropicCacheWrapper } from "./cache-wrapper.js";
|
|
2
|
-
import {
|
|
2
|
+
import { DEEPINFRA_DEFAULT_MODEL_REF, discoverDeepInfraModels, getDeepInfraSurfaceFallbackCatalog, hasDeepInfraApiKey } from "./provider-models.js";
|
|
3
|
+
import { buildDeepInfraEmbeddingAdapter } from "./embedding-adapter.js";
|
|
3
4
|
import { buildDeepInfraImageGenerationProvider } from "./image-generation-provider.js";
|
|
4
5
|
import { buildDeepInfraMediaUnderstandingProvider } from "./media-understanding-provider.js";
|
|
5
|
-
import { buildDeepInfraMemoryEmbeddingAdapter } from "./memory-embedding-adapter.js";
|
|
6
6
|
import { applyDeepInfraConfig } from "./onboard.js";
|
|
7
7
|
import { buildDeepInfraApiKeyCatalog, buildStaticDeepInfraProvider } from "./provider-catalog.js";
|
|
8
8
|
import { buildDeepInfraSpeechProvider } from "./speech-provider.js";
|
|
@@ -104,7 +104,7 @@ var deepinfra_default = defineSingleProviderPluginEntry({
|
|
|
104
104
|
vlmModels: catalog.vlm,
|
|
105
105
|
sttModels: catalog.stt
|
|
106
106
|
}));
|
|
107
|
-
api.
|
|
107
|
+
api.registerEmbeddingProvider(buildDeepInfraEmbeddingAdapter({ embedModels: catalog.embed }));
|
|
108
108
|
api.registerSpeechProvider(buildDeepInfraSpeechProvider({ ttsModels: catalog.tts }));
|
|
109
109
|
api.registerVideoGenerationProvider(buildDeepInfraVideoGenerationProvider({ videoGenModels: catalog.videoGen }));
|
|
110
110
|
api.registerModelCatalogProvider({
|
package/dist/media-models.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DEEPINFRA_BASE_URL } from "./provider-models.js";
|
|
2
2
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
//#region extensions/deepinfra/media-models.ts
|
|
4
|
-
const DEEPINFRA_NATIVE_BASE_URL = "https://api.deepinfra.com/v1/inference";
|
|
5
4
|
const DEFAULT_DEEPINFRA_IMAGE_SIZE = "1024x1024";
|
|
6
5
|
const DEFAULT_DEEPINFRA_TTS_VOICE = "af_bella";
|
|
7
6
|
const DEEPINFRA_VIDEO_ASPECT_RATIOS = [
|
|
@@ -41,4 +40,4 @@ function normalizeDeepInfraBaseUrl(value, fallback = DEEPINFRA_BASE_URL) {
|
|
|
41
40
|
return (normalizeOptionalString(value) ?? fallback).replace(/\/+$/u, "");
|
|
42
41
|
}
|
|
43
42
|
//#endregion
|
|
44
|
-
export { DEEPINFRA_BASE_URL, DEEPINFRA_EMBED_FALLBACK_MODELS, DEEPINFRA_IMAGE_FALLBACK_MODELS,
|
|
43
|
+
export { DEEPINFRA_BASE_URL, DEEPINFRA_EMBED_FALLBACK_MODELS, DEEPINFRA_IMAGE_FALLBACK_MODELS, DEEPINFRA_STT_FALLBACK_MODELS, DEEPINFRA_TTS_FALLBACK_MODELS, DEEPINFRA_VIDEO_ASPECT_RATIOS, DEEPINFRA_VIDEO_DURATIONS, DEEPINFRA_VIDEO_FALLBACK_MODELS, DEEPINFRA_VLM_FALLBACK_MODELS, DEFAULT_DEEPINFRA_IMAGE_SIZE, DEFAULT_DEEPINFRA_TTS_VOICE, normalizeDeepInfraBaseUrl, normalizeDeepInfraModelRef };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DEEPINFRA_BASE_URL } from "./provider-models.js";
|
|
2
2
|
import { DEEPINFRA_STT_FALLBACK_MODELS, DEEPINFRA_VLM_FALLBACK_MODELS } from "./media-models.js";
|
|
3
3
|
import { describeImageWithModel, describeImagesWithModel, transcribeOpenAiCompatibleAudio } from "openclaw/plugin-sdk/media-understanding";
|
|
4
4
|
//#region extensions/deepinfra/media-understanding-provider.ts
|
package/dist/onboard.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DEEPINFRA_DEFAULT_MODEL_REF } from "./provider-models.js";
|
|
2
2
|
import { applyAgentDefaultModelPrimary } from "openclaw/plugin-sdk/provider-onboard";
|
|
3
3
|
//#region extensions/deepinfra/onboard.ts
|
|
4
4
|
function applyDeepInfraConfig(cfg, modelRef = DEEPINFRA_DEFAULT_MODEL_REF) {
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
//#region extensions/deepinfra/openclaw.plugin.json
|
|
2
|
+
var modelCatalog = {
|
|
3
|
+
"providers": { "deepinfra": {
|
|
4
|
+
"baseUrl": "https://api.deepinfra.com/v1/openai",
|
|
5
|
+
"api": "openai-completions",
|
|
6
|
+
"models": [
|
|
7
|
+
{
|
|
8
|
+
"id": "deepseek-ai/DeepSeek-V4-Flash",
|
|
9
|
+
"name": "DeepSeek V4 Flash",
|
|
10
|
+
"reasoning": true,
|
|
11
|
+
"input": ["text"],
|
|
12
|
+
"contextWindow": 1048576,
|
|
13
|
+
"maxTokens": 1048576,
|
|
14
|
+
"cost": {
|
|
15
|
+
"input": .09,
|
|
16
|
+
"output": .18,
|
|
17
|
+
"cacheRead": .018,
|
|
18
|
+
"cacheWrite": 0
|
|
19
|
+
},
|
|
20
|
+
"compat": { "supportsUsageInStreaming": true }
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "deepseek-ai/DeepSeek-V4-Pro",
|
|
24
|
+
"name": "DeepSeek V4 Pro",
|
|
25
|
+
"reasoning": true,
|
|
26
|
+
"input": ["text"],
|
|
27
|
+
"contextWindow": 1048576,
|
|
28
|
+
"maxTokens": 1048576,
|
|
29
|
+
"cost": {
|
|
30
|
+
"input": 1.3,
|
|
31
|
+
"output": 2.6,
|
|
32
|
+
"cacheRead": .1,
|
|
33
|
+
"cacheWrite": 0
|
|
34
|
+
},
|
|
35
|
+
"compat": { "supportsUsageInStreaming": true }
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "zai-org/GLM-5.2",
|
|
39
|
+
"name": "GLM-5.2",
|
|
40
|
+
"reasoning": true,
|
|
41
|
+
"input": ["text"],
|
|
42
|
+
"contextWindow": 1048576,
|
|
43
|
+
"maxTokens": 1048576,
|
|
44
|
+
"cost": {
|
|
45
|
+
"input": .93,
|
|
46
|
+
"output": 3,
|
|
47
|
+
"cacheRead": .18,
|
|
48
|
+
"cacheWrite": 0
|
|
49
|
+
},
|
|
50
|
+
"compat": { "supportsUsageInStreaming": true }
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"id": "stepfun-ai/Step-3.7-Flash",
|
|
54
|
+
"name": "Step 3.7 Flash",
|
|
55
|
+
"reasoning": true,
|
|
56
|
+
"input": ["text", "image"],
|
|
57
|
+
"contextWindow": 262144,
|
|
58
|
+
"maxTokens": 262144,
|
|
59
|
+
"cost": {
|
|
60
|
+
"input": .2,
|
|
61
|
+
"output": 1.15,
|
|
62
|
+
"cacheRead": .04,
|
|
63
|
+
"cacheWrite": 0
|
|
64
|
+
},
|
|
65
|
+
"compat": { "supportsUsageInStreaming": true }
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"id": "moonshotai/Kimi-K2.7-Code",
|
|
69
|
+
"name": "Kimi K2.7 Code",
|
|
70
|
+
"reasoning": true,
|
|
71
|
+
"input": ["text", "image"],
|
|
72
|
+
"contextWindow": 262144,
|
|
73
|
+
"maxTokens": 262144,
|
|
74
|
+
"cost": {
|
|
75
|
+
"input": .74,
|
|
76
|
+
"output": 3.5,
|
|
77
|
+
"cacheRead": .15,
|
|
78
|
+
"cacheWrite": 0
|
|
79
|
+
},
|
|
80
|
+
"compat": { "supportsUsageInStreaming": true }
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"id": "moonshotai/Kimi-K2.6",
|
|
84
|
+
"name": "Kimi K2.6",
|
|
85
|
+
"reasoning": true,
|
|
86
|
+
"input": ["text", "image"],
|
|
87
|
+
"contextWindow": 262144,
|
|
88
|
+
"maxTokens": 262144,
|
|
89
|
+
"cost": {
|
|
90
|
+
"input": .75,
|
|
91
|
+
"output": 3.5,
|
|
92
|
+
"cacheRead": .15,
|
|
93
|
+
"cacheWrite": 0
|
|
94
|
+
},
|
|
95
|
+
"compat": { "supportsUsageInStreaming": true }
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"id": "nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B",
|
|
99
|
+
"name": "NVIDIA Nemotron 3 Ultra 550B A55B",
|
|
100
|
+
"reasoning": true,
|
|
101
|
+
"input": ["text", "image"],
|
|
102
|
+
"contextWindow": 262144,
|
|
103
|
+
"maxTokens": 262144,
|
|
104
|
+
"cost": {
|
|
105
|
+
"input": .5,
|
|
106
|
+
"output": 2.2,
|
|
107
|
+
"cacheRead": .1,
|
|
108
|
+
"cacheWrite": 0
|
|
109
|
+
},
|
|
110
|
+
"compat": { "supportsUsageInStreaming": true }
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"id": "nvidia/NVIDIA-Nemotron-3-Super-120B-A12B",
|
|
114
|
+
"name": "NVIDIA Nemotron 3 Super 120B A12B",
|
|
115
|
+
"reasoning": true,
|
|
116
|
+
"input": ["text"],
|
|
117
|
+
"contextWindow": 262144,
|
|
118
|
+
"maxTokens": 262144,
|
|
119
|
+
"cost": {
|
|
120
|
+
"input": .085,
|
|
121
|
+
"output": .4,
|
|
122
|
+
"cacheRead": 0,
|
|
123
|
+
"cacheWrite": 0
|
|
124
|
+
},
|
|
125
|
+
"compat": { "supportsUsageInStreaming": true }
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"id": "deepseek-ai/DeepSeek-V3.2",
|
|
129
|
+
"name": "DeepSeek V3.2",
|
|
130
|
+
"status": "deprecated",
|
|
131
|
+
"replacedBy": "deepseek-ai/DeepSeek-V4-Pro",
|
|
132
|
+
"reasoning": false,
|
|
133
|
+
"input": ["text"],
|
|
134
|
+
"contextWindow": 163840,
|
|
135
|
+
"maxTokens": 163840,
|
|
136
|
+
"cost": {
|
|
137
|
+
"input": .26,
|
|
138
|
+
"output": .38,
|
|
139
|
+
"cacheRead": .13,
|
|
140
|
+
"cacheWrite": 0
|
|
141
|
+
},
|
|
142
|
+
"compat": { "supportsUsageInStreaming": true }
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"id": "zai-org/GLM-5.1",
|
|
146
|
+
"name": "GLM-5.1",
|
|
147
|
+
"status": "deprecated",
|
|
148
|
+
"replacedBy": "zai-org/GLM-5.2",
|
|
149
|
+
"reasoning": true,
|
|
150
|
+
"input": ["text"],
|
|
151
|
+
"contextWindow": 202752,
|
|
152
|
+
"maxTokens": 202752,
|
|
153
|
+
"cost": {
|
|
154
|
+
"input": 1.05,
|
|
155
|
+
"output": 3.5,
|
|
156
|
+
"cacheRead": .205000005,
|
|
157
|
+
"cacheWrite": 0
|
|
158
|
+
},
|
|
159
|
+
"compat": { "supportsUsageInStreaming": true }
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"id": "stepfun-ai/Step-3.5-Flash",
|
|
163
|
+
"name": "Step 3.5 Flash",
|
|
164
|
+
"status": "deprecated",
|
|
165
|
+
"replacedBy": "stepfun-ai/Step-3.7-Flash",
|
|
166
|
+
"reasoning": true,
|
|
167
|
+
"input": ["text"],
|
|
168
|
+
"contextWindow": 262144,
|
|
169
|
+
"maxTokens": 262144,
|
|
170
|
+
"cost": {
|
|
171
|
+
"input": .1,
|
|
172
|
+
"output": .3,
|
|
173
|
+
"cacheRead": .02,
|
|
174
|
+
"cacheWrite": 0
|
|
175
|
+
},
|
|
176
|
+
"compat": { "supportsUsageInStreaming": true }
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"id": "moonshotai/Kimi-K2.5",
|
|
180
|
+
"name": "Kimi K2.5",
|
|
181
|
+
"status": "deprecated",
|
|
182
|
+
"replacedBy": "moonshotai/Kimi-K2.6",
|
|
183
|
+
"reasoning": true,
|
|
184
|
+
"input": ["text", "image"],
|
|
185
|
+
"contextWindow": 262144,
|
|
186
|
+
"maxTokens": 262144,
|
|
187
|
+
"cost": {
|
|
188
|
+
"input": .45,
|
|
189
|
+
"output": 2.25,
|
|
190
|
+
"cacheRead": .070000002,
|
|
191
|
+
"cacheWrite": 0
|
|
192
|
+
},
|
|
193
|
+
"compat": { "supportsUsageInStreaming": true }
|
|
194
|
+
}
|
|
195
|
+
]
|
|
196
|
+
} },
|
|
197
|
+
"discovery": { "deepinfra": "refreshable" }
|
|
198
|
+
};
|
|
199
|
+
//#endregion
|
|
200
|
+
export { modelCatalog as t };
|
package/dist/provider-catalog.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DEEPINFRA_BASE_URL, DEEPINFRA_MODEL_CATALOG, buildDeepInfraModelDefinition, discoverDeepInfraModels } from "./provider-models.js";
|
|
2
2
|
import { buildSingleProviderApiKeyCatalog } from "openclaw/plugin-sdk/provider-catalog-shared";
|
|
3
3
|
//#region extensions/deepinfra/provider-catalog.ts
|
|
4
4
|
function buildStaticDeepInfraProvider() {
|