@openclaw/featherless-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.
@@ -90,7 +90,7 @@ function isFeatherlessCatalogModelId(modelId) {
90
90
  return FEATHERLESS_MANIFEST_PROVIDER.models.some((model) => model.id === modelId);
91
91
  }
92
92
  function buildFeatherlessCatalogModels() {
93
- return FEATHERLESS_MANIFEST_PROVIDER.models.map((model) => structuredClone(model));
93
+ return FEATHERLESS_MANIFEST_PROVIDER.models;
94
94
  }
95
95
  //#endregion
96
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 };
@@ -0,0 +1 @@
1
+ {"version":3,"entries":[{"output":"api.js","source":"extensions/featherless/api.ts"},{"output":"index.js","source":"extensions/featherless/index.ts"},{"output":"models.js","source":"extensions/featherless/models.ts"},{"output":"onboard.js","source":"extensions/featherless/onboard.ts"}],"chunks":[{"output":".setup/models-D2s_1SV3.mjs","sha256":"7c5ef927eb48e452a7ae474cdd49be7971d64b2a7a67ee838ea85ba8a03d4fa4","facadeSource":null,"sources":["extensions/featherless/models.ts","extensions/featherless/openclaw.plugin.json"]},{"output":"api.js","sha256":"246ae24e3e21c65929f63c06ef22bd7917435f9626cafdf8d71602ac13a2794f","facadeSource":"extensions/featherless/api.ts","sources":[]},{"output":"index.js","sha256":"ce289c9dadebd4b4fe4b2249eb2a94be380ae961f0738a01dfb74c9837de3274","facadeSource":"extensions/featherless/index.ts","sources":["extensions/featherless/index.ts"]},{"output":"models.js","sha256":"0600eecca170a3165d2a9552bcd851b7219b4ba499c6f5521b84f7e45f144ff7","facadeSource":"extensions/featherless/models.ts","sources":[]},{"output":"onboard.js","sha256":"cd2c8e38b4edc0b5ad7bee3856ab5b3dfb6482b82bc5a3672ad8c5606914989c","facadeSource":"extensions/featherless/onboard.ts","sources":["extensions/featherless/onboard.ts"]}],"unrenderedSources":["extensions/featherless/api.ts"]}
package/dist/api.js CHANGED
@@ -1,3 +1,3 @@
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";
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-D2s_1SV3.mjs";
2
2
  import { applyFeatherlessConfig } from "./onboard.js";
3
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,4 +1,4 @@
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";
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-D2s_1SV3.mjs";
2
2
  import { applyFeatherlessConnectionConfig } from "./onboard.js";
3
3
  import { readConfiguredProviderCatalogEntries } from "openclaw/plugin-sdk/provider-catalog-shared";
4
4
  import { defineSingleProviderPluginEntry } from "openclaw/plugin-sdk/provider-entry";
@@ -6,32 +6,6 @@ import { buildProviderReplayFamilyHooks, resolveFamilyForwardCompatModel } from
6
6
  import { buildProviderToolCompatFamilyHooks } from "openclaw/plugin-sdk/provider-tools";
7
7
  //#region extensions/featherless/index.ts
8
8
  const PROVIDER_ID = "featherless";
9
- function resolveFeatherlessDynamicModel(ctx) {
10
- const modelId = ctx.modelId.trim();
11
- if (!modelId || isFeatherlessCatalogModelId(modelId)) return;
12
- return resolveFamilyForwardCompatModel({
13
- providerId: PROVIDER_ID,
14
- modelId,
15
- ctx,
16
- cases: [{
17
- match: () => true,
18
- templateIds: [FEATHERLESS_DEFAULT_MODEL_ID],
19
- patch: ({ template }) => template ? void 0 : {
20
- api: "openai-completions",
21
- baseUrl: FEATHERLESS_BASE_URL
22
- }
23
- }],
24
- patch: {
25
- provider: PROVIDER_ID,
26
- reasoning: false,
27
- input: ["text"],
28
- contextWindow: FEATHERLESS_DYNAMIC_CONTEXT_WINDOW,
29
- maxTokens: FEATHERLESS_DYNAMIC_MAX_TOKENS,
30
- compat: FEATHERLESS_DYNAMIC_COMPAT
31
- },
32
- synthesize: true
33
- });
34
- }
35
9
  var featherless_default = defineSingleProviderPluginEntry({
36
10
  id: PROVIDER_ID,
37
11
  name: "Featherless AI Provider",
@@ -74,7 +48,32 @@ var featherless_default = defineSingleProviderPluginEntry({
74
48
  dropReasoningFromHistory: false
75
49
  }),
76
50
  ...buildProviderToolCompatFamilyHooks("openai"),
77
- resolveDynamicModel: resolveFeatherlessDynamicModel,
51
+ resolveDynamicModel: (ctx) => {
52
+ const modelId = ctx.modelId.trim();
53
+ if (!modelId || isFeatherlessCatalogModelId(modelId)) return;
54
+ return resolveFamilyForwardCompatModel({
55
+ providerId: PROVIDER_ID,
56
+ modelId,
57
+ ctx,
58
+ cases: [{
59
+ match: () => true,
60
+ templateIds: [FEATHERLESS_DEFAULT_MODEL_ID],
61
+ patch: ({ template }) => template ? void 0 : {
62
+ api: "openai-completions",
63
+ baseUrl: FEATHERLESS_BASE_URL
64
+ }
65
+ }],
66
+ patch: {
67
+ provider: PROVIDER_ID,
68
+ reasoning: false,
69
+ input: ["text"],
70
+ contextWindow: FEATHERLESS_DYNAMIC_CONTEXT_WINDOW,
71
+ maxTokens: FEATHERLESS_DYNAMIC_MAX_TOKENS,
72
+ compat: FEATHERLESS_DYNAMIC_COMPAT
73
+ },
74
+ synthesize: true
75
+ });
76
+ },
78
77
  isModernModelRef: () => true
79
78
  }
80
79
  });
package/dist/models.js CHANGED
@@ -1,2 +1 @@
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 };
1
+ export { t as FEATHERLESS_BASE_URL, n as FEATHERLESS_DEFAULT_CONTEXT_WINDOW, r as FEATHERLESS_DEFAULT_MAX_TOKENS, i as FEATHERLESS_DEFAULT_MODEL_ID, a as FEATHERLESS_DEFAULT_MODEL_REF, o as FEATHERLESS_DYNAMIC_COMPAT, s as FEATHERLESS_DYNAMIC_CONTEXT_WINDOW, c as FEATHERLESS_DYNAMIC_MAX_TOKENS, l as buildFeatherlessCatalogModels, u as buildFeatherlessProvider, d as isFeatherlessCatalogModelId } from "./.setup/models-D2s_1SV3.mjs";
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-BN2vG1Qe.mjs";
1
+ import { a as FEATHERLESS_DEFAULT_MODEL_REF, l as buildFeatherlessCatalogModels, t as FEATHERLESS_BASE_URL } from "./.setup/models-D2s_1SV3.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.11.3",
3
+ "version": "2026.11.5-beta.2",
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.11.3"
21
+ "pluginApi": ">=2026.11.5-beta.2"
22
22
  },
23
23
  "build": {
24
- "openclawVersion": "2026.11.3",
24
+ "openclawVersion": "2026.11.5-beta.2",
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.11.3"
43
+ "openclaw": ">=2026.11.5-beta.2"
44
44
  },
45
45
  "peerDependenciesMeta": {
46
46
  "openclaw": {