@openclaw/fireworks-provider 2026.10.10 → 2026.11.5-beta.1
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/.setup/{provider-catalog-DfvLnVtM.mjs → provider-catalog-BVZMHYyD.mjs} +1 -1
- package/dist/.source-module-urls/51c687bbb53e498db0e813b1dd65e5c0f77c02c8914829e7a9d94b0d23e25ce3.json +1 -0
- package/dist/index.js +46 -4
- package/dist/onboard.js +1 -1
- package/dist/provider-catalog.js +1 -1
- package/package.json +4 -4
- package/dist/.source-module-urls/775283bb3b453c061e565444374d4056619480bbbd9ded4e237e30abefec7a3a.json +0 -1
- package/dist/stream.js +0 -49
|
@@ -76,7 +76,7 @@ function isFireworksCatalogModelId(modelId) {
|
|
|
76
76
|
return FIREWORKS_MANIFEST_PROVIDER.models.some((model) => model.id === modelId);
|
|
77
77
|
}
|
|
78
78
|
function buildFireworksCatalogModels() {
|
|
79
|
-
return FIREWORKS_MANIFEST_PROVIDER.models
|
|
79
|
+
return FIREWORKS_MANIFEST_PROVIDER.models;
|
|
80
80
|
}
|
|
81
81
|
function buildFireworksProvider() {
|
|
82
82
|
return buildManifestModelProviderConfig({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"entries":[{"output":"index.js","source":"extensions/fireworks/index.ts"},{"output":"model-id.js","source":"extensions/fireworks/model-id.ts"},{"output":"onboard.js","source":"extensions/fireworks/onboard.ts"},{"output":"provider-catalog.js","source":"extensions/fireworks/provider-catalog.ts"},{"output":"provider-policy-api.js","source":"extensions/fireworks/provider-policy-api.ts"},{"output":"thinking-policy.js","source":"extensions/fireworks/thinking-policy.ts"}],"chunks":[{"output":".setup/provider-catalog-BVZMHYyD.mjs","sha256":"8ac36227c2727eaf18847c7030b9542ef038a053a7920a644d80307cd09a66bf","facadeSource":null,"sources":["extensions/fireworks/openclaw.plugin.json","extensions/fireworks/provider-catalog.ts"]},{"output":"index.js","sha256":"15b22bbf8985e493d6914468be312f441ea8b456b7a205f969c7661dcfbef341","facadeSource":"extensions/fireworks/index.ts","sources":["extensions/fireworks/index.ts"]},{"output":"model-id.js","sha256":"a32577e8b1032846aa3489e6cb0a10733a3054e6510cd5c718fd2a3f87072d66","facadeSource":"extensions/fireworks/model-id.ts","sources":["extensions/fireworks/model-id.ts"]},{"output":"onboard.js","sha256":"a6a669a48a7c5a6c727d5ec5b5e31eb71669c5350f465aed120397c4420a6916","facadeSource":"extensions/fireworks/onboard.ts","sources":["extensions/fireworks/onboard.ts"]},{"output":"provider-catalog.js","sha256":"815c04c269c06702fe74fd1d22faf3256c14636e3c6fab7fc8d1a05f185b77c3","facadeSource":"extensions/fireworks/provider-catalog.ts","sources":[]},{"output":"provider-policy-api.js","sha256":"a93ed686b607b8b2da4880d2a0f6333a3387bc3f9256ba86dace39829fcd4b15","facadeSource":"extensions/fireworks/provider-policy-api.ts","sources":["extensions/fireworks/provider-policy-api.ts"]},{"output":"thinking-policy.js","sha256":"aa806c47625827818ec7da3f4cd9e997861b284034b1a31a75d92c10d52755bf","facadeSource":"extensions/fireworks/thinking-policy.ts","sources":["extensions/fireworks/thinking-policy.ts"]}],"unrenderedSources":[]}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import { isFireworksKimiModelId } from "./model-id.js";
|
|
2
|
-
import { c as isFireworksCatalogModelId, i as FIREWORKS_DEFAULT_MODEL_ID, l as isFireworksNativeModel, n as FIREWORKS_DEFAULT_CONTEXT_WINDOW, r as FIREWORKS_DEFAULT_MAX_TOKENS, t as FIREWORKS_BASE_URL, u as openclaw_plugin_default } from "./.setup/provider-catalog-
|
|
2
|
+
import { c as isFireworksCatalogModelId, i as FIREWORKS_DEFAULT_MODEL_ID, l as isFireworksNativeModel, n as FIREWORKS_DEFAULT_CONTEXT_WINDOW, r as FIREWORKS_DEFAULT_MAX_TOKENS, t as FIREWORKS_BASE_URL, u as openclaw_plugin_default } from "./.setup/provider-catalog-BVZMHYyD.mjs";
|
|
3
3
|
import { applyFireworksConfig } from "./onboard.js";
|
|
4
|
-
import { wrapFireworksProviderStream } from "./stream.js";
|
|
5
4
|
import { resolveFireworksThinkingProfile } from "./thinking-policy.js";
|
|
5
|
+
import { calculateCost, streamSimple } from "openclaw/plugin-sdk/llm";
|
|
6
6
|
import { defineSingleProviderPluginEntry } from "openclaw/plugin-sdk/provider-entry";
|
|
7
|
-
import { applyModelCompatPatch, buildProviderReplayFamilyHooks, resolveFamilyForwardCompatModel } from "openclaw/plugin-sdk/provider-model-shared";
|
|
7
|
+
import { applyModelCompatPatch, buildProviderReplayFamilyHooks, normalizeProviderId, resolveFamilyForwardCompatModel } from "openclaw/plugin-sdk/provider-model-shared";
|
|
8
|
+
import { createPayloadPatchStreamWrapper, transformProviderStreamMessages } from "openclaw/plugin-sdk/provider-stream-shared";
|
|
8
9
|
// extensions/fireworks/index.ts
|
|
9
10
|
const PROVIDER_ID = "fireworks";
|
|
11
|
+
function isFireworksProviderId(providerId) {
|
|
12
|
+
const normalized = normalizeProviderId(providerId);
|
|
13
|
+
return normalized === "fireworks" || normalized === "fireworks-ai";
|
|
14
|
+
}
|
|
10
15
|
function isFireworksGlmModelId(modelId) {
|
|
11
16
|
const normalized = modelId.trim().toLowerCase();
|
|
12
17
|
const lastSegment = normalized.split("/").pop() ?? normalized;
|
|
@@ -57,7 +62,44 @@ var fireworks_default = defineSingleProviderPluginEntry({
|
|
|
57
62
|
supportsPromptCacheKey: model.compat?.supportsPromptCacheKey ?? true,
|
|
58
63
|
supportsLongCacheRetention: model.compat?.supportsLongCacheRetention ?? false
|
|
59
64
|
}) : model,
|
|
60
|
-
wrapStreamFn
|
|
65
|
+
wrapStreamFn(ctx) {
|
|
66
|
+
if (!isFireworksProviderId(ctx.provider) || (ctx.sourceApi ?? ctx.model?.api) !== "openai-completions") return;
|
|
67
|
+
const isKimi = isFireworksKimiModelId(ctx.modelId);
|
|
68
|
+
const isNative = isFireworksNativeModel(ctx.model, ctx.sourceApi);
|
|
69
|
+
if (!isKimi && !isNative) return;
|
|
70
|
+
const underlying = isKimi ? createPayloadPatchStreamWrapper(ctx.streamFn, ({ payload }) => {
|
|
71
|
+
payload.thinking = { type: "disabled" };
|
|
72
|
+
delete payload.reasoning;
|
|
73
|
+
delete payload.reasoning_effort;
|
|
74
|
+
delete payload.reasoningEffort;
|
|
75
|
+
}) : ctx.streamFn ?? streamSimple;
|
|
76
|
+
if (!isNative) return underlying;
|
|
77
|
+
return async (model, context, options) => {
|
|
78
|
+
let cache;
|
|
79
|
+
const stream = await underlying(model, context, {
|
|
80
|
+
...options,
|
|
81
|
+
onResponse(response, responseModel) {
|
|
82
|
+
const prompt = Number(response.headers["fireworks-prompt-tokens"]?.trim() || NaN);
|
|
83
|
+
const read = Number(response.headers["fireworks-cached-prompt-tokens"]?.trim() || NaN);
|
|
84
|
+
cache = Number.isSafeInteger(prompt) && Number.isSafeInteger(read) && read >= 0 && read <= prompt ? {
|
|
85
|
+
prompt,
|
|
86
|
+
read
|
|
87
|
+
} : void 0;
|
|
88
|
+
return options?.onResponse?.(response, responseModel);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
return transformProviderStreamMessages(stream, (message) => {
|
|
92
|
+
const usage = message.usage;
|
|
93
|
+
if (!cache || usage.cacheTelemetry?.state !== "unavailable" || usage.input + usage.cacheRead + usage.cacheWrite !== cache.prompt) return;
|
|
94
|
+
usage.input -= cache.read;
|
|
95
|
+
usage.cacheRead = cache.read;
|
|
96
|
+
usage.cacheTelemetry = { state: "available" };
|
|
97
|
+
const billedTotal = usage.cost.total;
|
|
98
|
+
calculateCost(model, usage);
|
|
99
|
+
if (usage.cost.totalOrigin === "provider-billed") usage.cost.total = billedTotal;
|
|
100
|
+
});
|
|
101
|
+
};
|
|
102
|
+
},
|
|
61
103
|
resolveThinkingProfile: ({ modelId }) => resolveFireworksThinkingProfile(modelId),
|
|
62
104
|
resolveDynamicModel: resolveFireworksDynamicModel,
|
|
63
105
|
isModernModelRef: () => true
|
package/dist/onboard.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as FIREWORKS_DEFAULT_MODEL_REF, i as FIREWORKS_DEFAULT_MODEL_ID, o as buildFireworksCatalogModels, s as buildFireworksProvider } from "./.setup/provider-catalog-
|
|
1
|
+
import { a as FIREWORKS_DEFAULT_MODEL_REF, i as FIREWORKS_DEFAULT_MODEL_ID, o as buildFireworksCatalogModels, s as buildFireworksProvider } from "./.setup/provider-catalog-BVZMHYyD.mjs";
|
|
2
2
|
import { createDefaultModelsConnectionPresetAppliers } from "openclaw/plugin-sdk/provider-onboard";
|
|
3
3
|
// extensions/fireworks/onboard.ts
|
|
4
4
|
const { applyConfig: applyFireworksConfig } = createDefaultModelsConnectionPresetAppliers({
|
package/dist/provider-catalog.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as FIREWORKS_BASE_URL, n as FIREWORKS_DEFAULT_CONTEXT_WINDOW, r as FIREWORKS_DEFAULT_MAX_TOKENS, i as FIREWORKS_DEFAULT_MODEL_ID, a as FIREWORKS_DEFAULT_MODEL_REF, o as buildFireworksCatalogModels, s as buildFireworksProvider, c as isFireworksCatalogModelId, l as isFireworksNativeModel } from "./.setup/provider-catalog-
|
|
1
|
+
export { t as FIREWORKS_BASE_URL, n as FIREWORKS_DEFAULT_CONTEXT_WINDOW, r as FIREWORKS_DEFAULT_MAX_TOKENS, i as FIREWORKS_DEFAULT_MODEL_ID, a as FIREWORKS_DEFAULT_MODEL_REF, o as buildFireworksCatalogModels, s as buildFireworksProvider, c as isFireworksCatalogModelId, l as isFireworksNativeModel } from "./.setup/provider-catalog-BVZMHYyD.mjs";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/fireworks-provider",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.11.5-beta.1",
|
|
4
4
|
"description": "OpenClaw Fireworks provider plugin",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"openclaw": {
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
"minHostVersion": ">=2026.6.9"
|
|
15
15
|
},
|
|
16
16
|
"compat": {
|
|
17
|
-
"pluginApi": ">=2026.
|
|
17
|
+
"pluginApi": ">=2026.11.5-beta.1"
|
|
18
18
|
},
|
|
19
19
|
"build": {
|
|
20
|
-
"openclawVersion": "2026.
|
|
20
|
+
"openclawVersion": "2026.11.5-beta.1",
|
|
21
21
|
"bundledDist": false
|
|
22
22
|
},
|
|
23
23
|
"release": {
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"assets/activity.svg"
|
|
41
41
|
],
|
|
42
42
|
"peerDependencies": {
|
|
43
|
-
"openclaw": ">=2026.
|
|
43
|
+
"openclaw": ">=2026.11.5-beta.1"
|
|
44
44
|
},
|
|
45
45
|
"peerDependenciesMeta": {
|
|
46
46
|
"openclaw": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"entries":[{"output":"index.js","source":"extensions/fireworks/index.ts"},{"output":"model-id.js","source":"extensions/fireworks/model-id.ts"},{"output":"onboard.js","source":"extensions/fireworks/onboard.ts"},{"output":"provider-catalog.js","source":"extensions/fireworks/provider-catalog.ts"},{"output":"provider-policy-api.js","source":"extensions/fireworks/provider-policy-api.ts"},{"output":"stream.js","source":"extensions/fireworks/stream.ts"},{"output":"thinking-policy.js","source":"extensions/fireworks/thinking-policy.ts"}],"chunks":[{"output":".setup/provider-catalog-DfvLnVtM.mjs","sha256":"dc1ece3f88597078aaeb50d044ecc8f0adfe60f16a4fb9f10e8afccfbfe0d8bc","facadeSource":null,"sources":["extensions/fireworks/openclaw.plugin.json","extensions/fireworks/provider-catalog.ts"]},{"output":"index.js","sha256":"dc3f75d17769c0e759b42824daae02c96051ec3648b74371030fee2c61373e27","facadeSource":"extensions/fireworks/index.ts","sources":["extensions/fireworks/index.ts"]},{"output":"model-id.js","sha256":"a32577e8b1032846aa3489e6cb0a10733a3054e6510cd5c718fd2a3f87072d66","facadeSource":"extensions/fireworks/model-id.ts","sources":["extensions/fireworks/model-id.ts"]},{"output":"onboard.js","sha256":"758edb8a23de30a1b28a29abc07096e68f7ffb1bcc1258e116b19530839f1bee","facadeSource":"extensions/fireworks/onboard.ts","sources":["extensions/fireworks/onboard.ts"]},{"output":"provider-catalog.js","sha256":"2c0b9420d89c816c783361ce3d83b50ce22f92ec9123293547b11cdbf70de6b3","facadeSource":"extensions/fireworks/provider-catalog.ts","sources":[]},{"output":"provider-policy-api.js","sha256":"a93ed686b607b8b2da4880d2a0f6333a3387bc3f9256ba86dace39829fcd4b15","facadeSource":"extensions/fireworks/provider-policy-api.ts","sources":["extensions/fireworks/provider-policy-api.ts"]},{"output":"stream.js","sha256":"e5e8668ccf3a36c51f27b4dbeeb5c6eb5a2ad76c9c2682bbf9e49d89a39dfdb6","facadeSource":"extensions/fireworks/stream.ts","sources":["extensions/fireworks/stream.ts"]},{"output":"thinking-policy.js","sha256":"aa806c47625827818ec7da3f4cd9e997861b284034b1a31a75d92c10d52755bf","facadeSource":"extensions/fireworks/thinking-policy.ts","sources":["extensions/fireworks/thinking-policy.ts"]}],"unrenderedSources":[]}
|
package/dist/stream.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { isFireworksKimiModelId } from "./model-id.js";
|
|
2
|
-
import { l as isFireworksNativeModel } from "./.setup/provider-catalog-DfvLnVtM.mjs";
|
|
3
|
-
import { normalizeProviderId } from "openclaw/plugin-sdk/provider-model-shared";
|
|
4
|
-
import { calculateCost, streamSimple } from "openclaw/plugin-sdk/llm";
|
|
5
|
-
import { createPayloadPatchStreamWrapper, transformProviderStreamMessages } from "openclaw/plugin-sdk/provider-stream-shared";
|
|
6
|
-
// extensions/fireworks/stream.ts
|
|
7
|
-
function isFireworksProviderId(providerId) {
|
|
8
|
-
const normalized = normalizeProviderId(providerId);
|
|
9
|
-
return normalized === "fireworks" || normalized === "fireworks-ai";
|
|
10
|
-
}
|
|
11
|
-
function wrapFireworksProviderStream(ctx) {
|
|
12
|
-
if (!isFireworksProviderId(ctx.provider) || (ctx.sourceApi ?? ctx.model?.api) !== "openai-completions") return;
|
|
13
|
-
const isKimi = isFireworksKimiModelId(ctx.modelId);
|
|
14
|
-
const isNative = isFireworksNativeModel(ctx.model, ctx.sourceApi);
|
|
15
|
-
if (!isKimi && !isNative) return;
|
|
16
|
-
const underlying = isKimi ? createPayloadPatchStreamWrapper(ctx.streamFn, ({ payload }) => {
|
|
17
|
-
payload.thinking = { type: "disabled" };
|
|
18
|
-
delete payload.reasoning;
|
|
19
|
-
delete payload.reasoning_effort;
|
|
20
|
-
delete payload.reasoningEffort;
|
|
21
|
-
}) : ctx.streamFn ?? streamSimple;
|
|
22
|
-
if (!isNative) return underlying;
|
|
23
|
-
return async (model, context, options) => {
|
|
24
|
-
let cache;
|
|
25
|
-
const stream = await underlying(model, context, {
|
|
26
|
-
...options,
|
|
27
|
-
onResponse(response, responseModel) {
|
|
28
|
-
const prompt = Number(response.headers["fireworks-prompt-tokens"]?.trim() || NaN);
|
|
29
|
-
const read = Number(response.headers["fireworks-cached-prompt-tokens"]?.trim() || NaN);
|
|
30
|
-
cache = Number.isSafeInteger(prompt) && Number.isSafeInteger(read) && read >= 0 && read <= prompt ? {
|
|
31
|
-
prompt,
|
|
32
|
-
read
|
|
33
|
-
} : void 0;
|
|
34
|
-
return options?.onResponse?.(response, responseModel);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
return transformProviderStreamMessages(stream, (message) => {
|
|
38
|
-
const usage = message.usage;
|
|
39
|
-
if (!cache || usage.cacheTelemetry?.state !== "unavailable" || usage.input + usage.cacheRead + usage.cacheWrite !== cache.prompt) return;
|
|
40
|
-
usage.input -= cache.read;
|
|
41
|
-
usage.cacheRead = cache.read;
|
|
42
|
-
usage.cacheTelemetry = { state: "available" };
|
|
43
|
-
const billedTotal = usage.cost.total;
|
|
44
|
-
calculateCost(model, usage);
|
|
45
|
-
if (usage.cost.totalOrigin === "provider-billed") usage.cost.total = billedTotal;
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
export { wrapFireworksProviderStream };
|