@openclaw/fireworks-provider 2026.11.3 → 2026.11.5-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/.setup/{provider-catalog-D1IIkEc_.mjs → provider-catalog-5prd4yjQ.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 -2
- package/package.json +4 -4
- package/dist/stream.js +0 -50
|
@@ -77,7 +77,7 @@ function isFireworksCatalogModelId(modelId) {
|
|
|
77
77
|
return FIREWORKS_MANIFEST_PROVIDER.models.some((model) => model.id === modelId);
|
|
78
78
|
}
|
|
79
79
|
function buildFireworksCatalogModels() {
|
|
80
|
-
return FIREWORKS_MANIFEST_PROVIDER.models
|
|
80
|
+
return FIREWORKS_MANIFEST_PROVIDER.models;
|
|
81
81
|
}
|
|
82
82
|
function buildFireworksProvider() {
|
|
83
83
|
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-5prd4yjQ.mjs","sha256":"f0fac499266cb4834d3f68477987e8a7f25d47f9a65c8da6bf46bc7f629daea7","facadeSource":null,"sources":["extensions/fireworks/openclaw.plugin.json","extensions/fireworks/provider-catalog.ts"]},{"output":"index.js","sha256":"bee3d5e2e11291105a5c498a76dfa7a9186f0c4d603bb15a528eeda80007f027","facadeSource":"extensions/fireworks/index.ts","sources":["extensions/fireworks/index.ts"]},{"output":"model-id.js","sha256":"93b1e0dc5a9033fffbc908214458cc7f3465eb4da21320e5e2c30456448b085a","facadeSource":"extensions/fireworks/model-id.ts","sources":["extensions/fireworks/model-id.ts"]},{"output":"onboard.js","sha256":"21d8d2c03c3263ed0c5677b1d6ea55b2d1ca6b9a88b8842580f87e2bc5242869","facadeSource":"extensions/fireworks/onboard.ts","sources":["extensions/fireworks/onboard.ts"]},{"output":"provider-catalog.js","sha256":"df484a9a7cd7b5aeb24b8a6f4df03c306f6f81d866855d04cdbd04db4cc352b8","facadeSource":"extensions/fireworks/provider-catalog.ts","sources":[]},{"output":"provider-policy-api.js","sha256":"02dc5facb55ff520d892c2baf659d1810b27bd328816e748f756ed7145227f4f","facadeSource":"extensions/fireworks/provider-policy-api.ts","sources":["extensions/fireworks/provider-policy-api.ts"]},{"output":"thinking-policy.js","sha256":"ea2515e404046e0af9cfe2b520d62d06a1edcb217196e2ea6c11d30c0a4a0af0","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-5prd4yjQ.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
|
//#region 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-5prd4yjQ.mjs";
|
|
2
2
|
import { createDefaultModelsConnectionPresetAppliers } from "openclaw/plugin-sdk/provider-onboard";
|
|
3
3
|
//#region extensions/fireworks/onboard.ts
|
|
4
4
|
const { applyConfig: applyFireworksConfig } = createDefaultModelsConnectionPresetAppliers({
|
package/dist/provider-catalog.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { FIREWORKS_BASE_URL, FIREWORKS_DEFAULT_CONTEXT_WINDOW, FIREWORKS_DEFAULT_MAX_TOKENS, FIREWORKS_DEFAULT_MODEL_ID, FIREWORKS_DEFAULT_MODEL_REF, buildFireworksCatalogModels, buildFireworksProvider, isFireworksCatalogModelId, isFireworksNativeModel };
|
|
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-5prd4yjQ.mjs";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/fireworks-provider",
|
|
3
|
-
"version": "2026.11.
|
|
3
|
+
"version": "2026.11.5-beta.2",
|
|
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.11.
|
|
17
|
+
"pluginApi": ">=2026.11.5-beta.2"
|
|
18
18
|
},
|
|
19
19
|
"build": {
|
|
20
|
-
"openclawVersion": "2026.11.
|
|
20
|
+
"openclawVersion": "2026.11.5-beta.2",
|
|
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.11.
|
|
43
|
+
"openclaw": ">=2026.11.5-beta.2"
|
|
44
44
|
},
|
|
45
45
|
"peerDependenciesMeta": {
|
|
46
46
|
"openclaw": {
|
package/dist/stream.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { isFireworksKimiModelId } from "./model-id.js";
|
|
2
|
-
import { l as isFireworksNativeModel } from "./.setup/provider-catalog-D1IIkEc_.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
|
-
//#region 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
|
-
//#endregion
|
|
50
|
-
export { wrapFireworksProviderStream };
|