@openclaw/featherless-provider 2026.9.6 → 2026.9.7
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/assets/icon.png +0 -0
- package/dist/.setup/{models-J3WOft2N.mjs → models-BN2vG1Qe.mjs} +10 -11
- package/dist/api.js +1 -2
- package/dist/index.js +9 -13
- package/dist/models.js +2 -2
- package/dist/onboard.js +1 -1
- package/package.json +4 -4
- package/dist/provider-catalog.js +0 -11
package/assets/icon.png
CHANGED
|
Binary file
|
|
@@ -66,21 +66,20 @@ var openclaw_plugin_default = {
|
|
|
66
66
|
};
|
|
67
67
|
//#endregion
|
|
68
68
|
//#region extensions/featherless/models.ts
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
function buildFeatherlessProvider() {
|
|
70
|
+
return buildManifestModelProviderConfig({
|
|
71
|
+
providerId: "featherless",
|
|
72
|
+
catalog: openclaw_plugin_default.modelCatalog.providers.featherless
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
const FEATHERLESS_MANIFEST_PROVIDER = buildFeatherlessProvider();
|
|
73
76
|
const FEATHERLESS_BASE_URL = FEATHERLESS_MANIFEST_PROVIDER.baseUrl;
|
|
74
77
|
const FEATHERLESS_DEFAULT_MODEL_ID = "Qwen/Qwen3-32B";
|
|
75
78
|
const FEATHERLESS_DEFAULT_MODEL_REF = `featherless/${FEATHERLESS_DEFAULT_MODEL_ID}`;
|
|
76
79
|
const FEATHERLESS_DYNAMIC_CONTEXT_WINDOW = 4096;
|
|
77
80
|
const FEATHERLESS_DYNAMIC_MAX_TOKENS = 1024;
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
if (!model) throw new Error(`Missing Featherless modelCatalog row ${id}`);
|
|
81
|
-
return model;
|
|
82
|
-
}
|
|
83
|
-
const FEATHERLESS_DEFAULT_MODEL = requireFeatherlessManifestModel(FEATHERLESS_DEFAULT_MODEL_ID);
|
|
81
|
+
const FEATHERLESS_DEFAULT_MODEL = FEATHERLESS_MANIFEST_PROVIDER.models.find((model) => model.id === FEATHERLESS_DEFAULT_MODEL_ID);
|
|
82
|
+
if (!FEATHERLESS_DEFAULT_MODEL) throw new Error(`Missing Featherless modelCatalog row ${FEATHERLESS_DEFAULT_MODEL_ID}`);
|
|
84
83
|
const FEATHERLESS_DEFAULT_CONTEXT_WINDOW = FEATHERLESS_DEFAULT_MODEL.contextWindow;
|
|
85
84
|
const FEATHERLESS_DEFAULT_MAX_TOKENS = FEATHERLESS_DEFAULT_MODEL.maxTokens;
|
|
86
85
|
const FEATHERLESS_DYNAMIC_COMPAT = {
|
|
@@ -94,4 +93,4 @@ function buildFeatherlessCatalogModels() {
|
|
|
94
93
|
return FEATHERLESS_MANIFEST_PROVIDER.models.map((model) => structuredClone(model));
|
|
95
94
|
}
|
|
96
95
|
//#endregion
|
|
97
|
-
export { FEATHERLESS_DEFAULT_MODEL_REF as a, FEATHERLESS_DYNAMIC_MAX_TOKENS as c,
|
|
96
|
+
export { FEATHERLESS_DEFAULT_MODEL_REF as a, FEATHERLESS_DYNAMIC_MAX_TOKENS as c, isFeatherlessCatalogModelId as d, openclaw_plugin_default as f, FEATHERLESS_DEFAULT_MODEL_ID as i, buildFeatherlessCatalogModels as l, FEATHERLESS_DEFAULT_CONTEXT_WINDOW as n, FEATHERLESS_DYNAMIC_COMPAT as o, FEATHERLESS_DEFAULT_MAX_TOKENS as r, FEATHERLESS_DYNAMIC_CONTEXT_WINDOW as s, FEATHERLESS_BASE_URL as t, buildFeatherlessProvider as u };
|
package/dist/api.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { a as FEATHERLESS_DEFAULT_MODEL_REF, c as FEATHERLESS_DYNAMIC_MAX_TOKENS, i as FEATHERLESS_DEFAULT_MODEL_ID, l as buildFeatherlessCatalogModels, n as FEATHERLESS_DEFAULT_CONTEXT_WINDOW, r as FEATHERLESS_DEFAULT_MAX_TOKENS, s as FEATHERLESS_DYNAMIC_CONTEXT_WINDOW, t as FEATHERLESS_BASE_URL, u as
|
|
1
|
+
import { a as FEATHERLESS_DEFAULT_MODEL_REF, c as FEATHERLESS_DYNAMIC_MAX_TOKENS, d as isFeatherlessCatalogModelId, i as FEATHERLESS_DEFAULT_MODEL_ID, l as buildFeatherlessCatalogModels, n as FEATHERLESS_DEFAULT_CONTEXT_WINDOW, r as FEATHERLESS_DEFAULT_MAX_TOKENS, s as FEATHERLESS_DYNAMIC_CONTEXT_WINDOW, t as FEATHERLESS_BASE_URL, u as buildFeatherlessProvider } from "./.setup/models-BN2vG1Qe.mjs";
|
|
2
2
|
import { applyFeatherlessConfig } from "./onboard.js";
|
|
3
|
-
import { buildFeatherlessProvider } from "./provider-catalog.js";
|
|
4
3
|
export { FEATHERLESS_BASE_URL, FEATHERLESS_DEFAULT_CONTEXT_WINDOW, FEATHERLESS_DEFAULT_MAX_TOKENS, FEATHERLESS_DEFAULT_MODEL_ID, FEATHERLESS_DEFAULT_MODEL_REF, FEATHERLESS_DYNAMIC_CONTEXT_WINDOW, FEATHERLESS_DYNAMIC_MAX_TOKENS, applyFeatherlessConfig, buildFeatherlessCatalogModels, buildFeatherlessProvider, isFeatherlessCatalogModelId };
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { a as FEATHERLESS_DEFAULT_MODEL_REF, c as FEATHERLESS_DYNAMIC_MAX_TOKENS, d as openclaw_plugin_default, i as FEATHERLESS_DEFAULT_MODEL_ID, o as FEATHERLESS_DYNAMIC_COMPAT, s as FEATHERLESS_DYNAMIC_CONTEXT_WINDOW, t as FEATHERLESS_BASE_URL
|
|
1
|
+
import { a as FEATHERLESS_DEFAULT_MODEL_REF, c as FEATHERLESS_DYNAMIC_MAX_TOKENS, d as isFeatherlessCatalogModelId, f as openclaw_plugin_default, i as FEATHERLESS_DEFAULT_MODEL_ID, o as FEATHERLESS_DYNAMIC_COMPAT, s as FEATHERLESS_DYNAMIC_CONTEXT_WINDOW, t as FEATHERLESS_BASE_URL } from "./.setup/models-BN2vG1Qe.mjs";
|
|
2
2
|
import { applyFeatherlessConnectionConfig } from "./onboard.js";
|
|
3
|
-
import "./provider-catalog.js";
|
|
4
3
|
import { readConfiguredProviderCatalogEntries } from "openclaw/plugin-sdk/provider-catalog-shared";
|
|
5
4
|
import { defineSingleProviderPluginEntry } from "openclaw/plugin-sdk/provider-entry";
|
|
6
5
|
import { buildProviderReplayFamilyHooks, resolveFamilyForwardCompatModel } from "openclaw/plugin-sdk/provider-model-shared";
|
|
@@ -33,15 +32,6 @@ function resolveFeatherlessDynamicModel(ctx) {
|
|
|
33
32
|
synthesize: true
|
|
34
33
|
});
|
|
35
34
|
}
|
|
36
|
-
function normalizeFeatherlessResolvedModel(model) {
|
|
37
|
-
return {
|
|
38
|
-
...model,
|
|
39
|
-
compat: {
|
|
40
|
-
...FEATHERLESS_DYNAMIC_COMPAT,
|
|
41
|
-
...model.compat
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
35
|
var featherless_default = defineSingleProviderPluginEntry({
|
|
46
36
|
id: PROVIDER_ID,
|
|
47
37
|
name: "Featherless AI Provider",
|
|
@@ -72,13 +62,19 @@ var featherless_default = defineSingleProviderPluginEntry({
|
|
|
72
62
|
config,
|
|
73
63
|
providerId: PROVIDER_ID
|
|
74
64
|
}),
|
|
75
|
-
normalizeResolvedModel: ({ model }) =>
|
|
65
|
+
normalizeResolvedModel: ({ model }) => ({
|
|
66
|
+
...model,
|
|
67
|
+
compat: {
|
|
68
|
+
...FEATHERLESS_DYNAMIC_COMPAT,
|
|
69
|
+
...model.compat
|
|
70
|
+
}
|
|
71
|
+
}),
|
|
76
72
|
...buildProviderReplayFamilyHooks({
|
|
77
73
|
family: "openai-compatible",
|
|
78
74
|
dropReasoningFromHistory: false
|
|
79
75
|
}),
|
|
80
76
|
...buildProviderToolCompatFamilyHooks("openai"),
|
|
81
|
-
resolveDynamicModel:
|
|
77
|
+
resolveDynamicModel: resolveFeatherlessDynamicModel,
|
|
82
78
|
isModernModelRef: () => true
|
|
83
79
|
}
|
|
84
80
|
});
|
package/dist/models.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as FEATHERLESS_DEFAULT_MODEL_REF, c as FEATHERLESS_DYNAMIC_MAX_TOKENS, i as FEATHERLESS_DEFAULT_MODEL_ID, l as buildFeatherlessCatalogModels, n as FEATHERLESS_DEFAULT_CONTEXT_WINDOW, o as FEATHERLESS_DYNAMIC_COMPAT, r as FEATHERLESS_DEFAULT_MAX_TOKENS, s as FEATHERLESS_DYNAMIC_CONTEXT_WINDOW, t as FEATHERLESS_BASE_URL, u as
|
|
2
|
-
export { FEATHERLESS_BASE_URL, FEATHERLESS_DEFAULT_CONTEXT_WINDOW, FEATHERLESS_DEFAULT_MAX_TOKENS, FEATHERLESS_DEFAULT_MODEL_ID, FEATHERLESS_DEFAULT_MODEL_REF, FEATHERLESS_DYNAMIC_COMPAT, FEATHERLESS_DYNAMIC_CONTEXT_WINDOW, FEATHERLESS_DYNAMIC_MAX_TOKENS, buildFeatherlessCatalogModels, isFeatherlessCatalogModelId };
|
|
1
|
+
import { a as FEATHERLESS_DEFAULT_MODEL_REF, c as FEATHERLESS_DYNAMIC_MAX_TOKENS, d as isFeatherlessCatalogModelId, i as FEATHERLESS_DEFAULT_MODEL_ID, l as buildFeatherlessCatalogModels, n as FEATHERLESS_DEFAULT_CONTEXT_WINDOW, o as FEATHERLESS_DYNAMIC_COMPAT, r as FEATHERLESS_DEFAULT_MAX_TOKENS, s as FEATHERLESS_DYNAMIC_CONTEXT_WINDOW, t as FEATHERLESS_BASE_URL, u as buildFeatherlessProvider } from "./.setup/models-BN2vG1Qe.mjs";
|
|
2
|
+
export { FEATHERLESS_BASE_URL, FEATHERLESS_DEFAULT_CONTEXT_WINDOW, FEATHERLESS_DEFAULT_MAX_TOKENS, FEATHERLESS_DEFAULT_MODEL_ID, FEATHERLESS_DEFAULT_MODEL_REF, FEATHERLESS_DYNAMIC_COMPAT, FEATHERLESS_DYNAMIC_CONTEXT_WINDOW, FEATHERLESS_DYNAMIC_MAX_TOKENS, buildFeatherlessCatalogModels, buildFeatherlessProvider, isFeatherlessCatalogModelId };
|
package/dist/onboard.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as FEATHERLESS_DEFAULT_MODEL_REF, l as buildFeatherlessCatalogModels, t as FEATHERLESS_BASE_URL } from "./.setup/models-
|
|
1
|
+
import { a as FEATHERLESS_DEFAULT_MODEL_REF, l as buildFeatherlessCatalogModels, t as FEATHERLESS_BASE_URL } from "./.setup/models-BN2vG1Qe.mjs";
|
|
2
2
|
import { createModelCatalogPresetAppliers, createProviderConnectionPresetAppliers } from "openclaw/plugin-sdk/provider-onboard";
|
|
3
3
|
//#region extensions/featherless/onboard.ts
|
|
4
4
|
const featherlessPreset = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/featherless-provider",
|
|
3
|
-
"version": "2026.9.
|
|
3
|
+
"version": "2026.9.7",
|
|
4
4
|
"description": "OpenClaw Featherless AI provider plugin.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
"minHostVersion": ">=2026.6.11"
|
|
19
19
|
},
|
|
20
20
|
"compat": {
|
|
21
|
-
"pluginApi": ">=2026.9.
|
|
21
|
+
"pluginApi": ">=2026.9.7"
|
|
22
22
|
},
|
|
23
23
|
"build": {
|
|
24
|
-
"openclawVersion": "2026.9.
|
|
24
|
+
"openclawVersion": "2026.9.7",
|
|
25
25
|
"bundledDist": false
|
|
26
26
|
},
|
|
27
27
|
"release": {
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"assets/activity.svg"
|
|
41
41
|
],
|
|
42
42
|
"peerDependencies": {
|
|
43
|
-
"openclaw": ">=2026.9.
|
|
43
|
+
"openclaw": ">=2026.9.7"
|
|
44
44
|
},
|
|
45
45
|
"peerDependenciesMeta": {
|
|
46
46
|
"openclaw": {
|
package/dist/provider-catalog.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { c as FEATHERLESS_DYNAMIC_MAX_TOKENS, d as openclaw_plugin_default, i as FEATHERLESS_DEFAULT_MODEL_ID, o as FEATHERLESS_DYNAMIC_COMPAT, s as FEATHERLESS_DYNAMIC_CONTEXT_WINDOW, t as FEATHERLESS_BASE_URL, u as isFeatherlessCatalogModelId } from "./.setup/models-J3WOft2N.mjs";
|
|
2
|
-
import { buildManifestModelProviderConfig } from "openclaw/plugin-sdk/provider-catalog-shared";
|
|
3
|
-
//#region extensions/featherless/provider-catalog.ts
|
|
4
|
-
function buildFeatherlessProvider() {
|
|
5
|
-
return buildManifestModelProviderConfig({
|
|
6
|
-
providerId: "featherless",
|
|
7
|
-
catalog: openclaw_plugin_default.modelCatalog.providers.featherless
|
|
8
|
-
});
|
|
9
|
-
}
|
|
10
|
-
//#endregion
|
|
11
|
-
export { FEATHERLESS_BASE_URL, FEATHERLESS_DEFAULT_MODEL_ID, FEATHERLESS_DYNAMIC_COMPAT, FEATHERLESS_DYNAMIC_CONTEXT_WINDOW, FEATHERLESS_DYNAMIC_MAX_TOKENS, buildFeatherlessProvider, isFeatherlessCatalogModelId };
|