@openclaw/arcee-provider 2026.7.2-beta.4 → 2026.7.2-beta.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/dist/index.js +65 -73
- package/dist/onboard.js +6 -12
- package/package.json +4 -5
- package/npm-shrinkwrap.json +0 -12
package/dist/index.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { buildArceeOpenRouterProvider, buildArceeProvider, normalizeArceeOpenRouterBaseUrl, toArceeOpenRouterModelId } from "./provider-catalog.js";
|
|
2
2
|
import { ARCEE_DEFAULT_MODEL_REF, ARCEE_OPENROUTER_DEFAULT_MODEL_REF, applyArceeConfig, applyArceeOpenRouterConfig } from "./onboard.js";
|
|
3
|
-
import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
|
|
4
|
-
import { createProviderApiKeyAuthMethod } from "openclaw/plugin-sdk/provider-auth-api-key";
|
|
5
3
|
import { buildOpenAICompatibleLiveModelProviderConfig } from "openclaw/plugin-sdk/provider-catalog-live-runtime";
|
|
6
4
|
import { readConfiguredProviderCatalogEntries } from "openclaw/plugin-sdk/provider-catalog-shared";
|
|
5
|
+
import { defineSingleProviderPluginEntry } from "openclaw/plugin-sdk/provider-entry";
|
|
7
6
|
import { buildProviderReplayFamilyHooks } from "openclaw/plugin-sdk/provider-model-shared";
|
|
8
7
|
//#region extensions/arcee/index.ts
|
|
9
8
|
/**
|
|
@@ -16,46 +15,6 @@ const ARCEE_WIZARD_GROUP = {
|
|
|
16
15
|
groupLabel: "Arcee AI",
|
|
17
16
|
groupHint: "Direct API or OpenRouter"
|
|
18
17
|
};
|
|
19
|
-
function buildArceeAuthMethods() {
|
|
20
|
-
return [createProviderApiKeyAuthMethod({
|
|
21
|
-
providerId: PROVIDER_ID,
|
|
22
|
-
methodId: "arcee-platform",
|
|
23
|
-
label: "Arcee AI API key",
|
|
24
|
-
hint: "Direct access to Arcee platform",
|
|
25
|
-
optionKey: "arceeaiApiKey",
|
|
26
|
-
flagName: "--arceeai-api-key",
|
|
27
|
-
envVar: "ARCEEAI_API_KEY",
|
|
28
|
-
promptMessage: "Enter Arcee AI API key",
|
|
29
|
-
defaultModel: ARCEE_DEFAULT_MODEL_REF,
|
|
30
|
-
expectedProviders: [PROVIDER_ID],
|
|
31
|
-
applyConfig: (cfg) => applyArceeConfig(cfg),
|
|
32
|
-
wizard: {
|
|
33
|
-
choiceId: "arceeai-api-key",
|
|
34
|
-
choiceLabel: "Arcee AI API key",
|
|
35
|
-
choiceHint: "Direct (chat.arcee.ai)",
|
|
36
|
-
...ARCEE_WIZARD_GROUP
|
|
37
|
-
}
|
|
38
|
-
}), createProviderApiKeyAuthMethod({
|
|
39
|
-
providerId: PROVIDER_ID,
|
|
40
|
-
methodId: "openrouter",
|
|
41
|
-
label: "OpenRouter API key",
|
|
42
|
-
hint: "Access Arcee models via OpenRouter",
|
|
43
|
-
optionKey: "openrouterApiKey",
|
|
44
|
-
flagName: "--openrouter-api-key",
|
|
45
|
-
envVar: "OPENROUTER_API_KEY",
|
|
46
|
-
promptMessage: "Enter OpenRouter API key",
|
|
47
|
-
profileId: "openrouter:default",
|
|
48
|
-
defaultModel: ARCEE_OPENROUTER_DEFAULT_MODEL_REF,
|
|
49
|
-
expectedProviders: [PROVIDER_ID, "openrouter"],
|
|
50
|
-
applyConfig: (cfg) => applyArceeOpenRouterConfig(cfg),
|
|
51
|
-
wizard: {
|
|
52
|
-
choiceId: "arceeai-openrouter",
|
|
53
|
-
choiceLabel: "OpenRouter API key",
|
|
54
|
-
choiceHint: "Via OpenRouter (openrouter.ai)",
|
|
55
|
-
...ARCEE_WIZARD_GROUP
|
|
56
|
-
}
|
|
57
|
-
})];
|
|
58
|
-
}
|
|
59
18
|
async function resolveArceeCatalog(ctx) {
|
|
60
19
|
const directAuth = ctx.resolveProviderApiKey(PROVIDER_ID);
|
|
61
20
|
if (directAuth.apiKey) return { provider: await buildOpenAICompatibleLiveModelProviderConfig({
|
|
@@ -83,40 +42,73 @@ function normalizeArceeResolvedModel(model) {
|
|
|
83
42
|
};
|
|
84
43
|
}
|
|
85
44
|
/** Provider entry for Arcee direct and OpenRouter-backed models. */
|
|
86
|
-
var arcee_default =
|
|
45
|
+
var arcee_default = defineSingleProviderPluginEntry({
|
|
87
46
|
id: PROVIDER_ID,
|
|
88
47
|
name: "Arcee AI Provider",
|
|
89
48
|
description: "Bundled Arcee AI provider plugin",
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
49
|
+
provider: {
|
|
50
|
+
label: "Arcee AI",
|
|
51
|
+
docsPath: "/providers/arcee",
|
|
52
|
+
envVars: ["ARCEEAI_API_KEY", "OPENROUTER_API_KEY"],
|
|
53
|
+
auth: [{
|
|
54
|
+
methodId: "arcee-platform",
|
|
55
|
+
label: "Arcee AI API key",
|
|
56
|
+
hint: "Direct access to Arcee platform",
|
|
57
|
+
optionKey: "arceeaiApiKey",
|
|
58
|
+
flagName: "--arceeai-api-key",
|
|
59
|
+
envVar: "ARCEEAI_API_KEY",
|
|
60
|
+
promptMessage: "Enter Arcee AI API key",
|
|
61
|
+
defaultModel: ARCEE_DEFAULT_MODEL_REF,
|
|
62
|
+
applyConfig: applyArceeConfig,
|
|
63
|
+
wizard: {
|
|
64
|
+
choiceId: "arceeai-api-key",
|
|
65
|
+
choiceLabel: "Arcee AI API key",
|
|
66
|
+
choiceHint: "Direct (chat.arcee.ai)",
|
|
67
|
+
...ARCEE_WIZARD_GROUP
|
|
68
|
+
}
|
|
69
|
+
}, {
|
|
70
|
+
methodId: "openrouter",
|
|
71
|
+
label: "OpenRouter API key",
|
|
72
|
+
hint: "Access Arcee models via OpenRouter",
|
|
73
|
+
optionKey: "openrouterApiKey",
|
|
74
|
+
flagName: "--openrouter-api-key",
|
|
75
|
+
envVar: "OPENROUTER_API_KEY",
|
|
76
|
+
promptMessage: "Enter OpenRouter API key",
|
|
77
|
+
profileId: "openrouter:default",
|
|
78
|
+
defaultModel: ARCEE_OPENROUTER_DEFAULT_MODEL_REF,
|
|
79
|
+
expectedProviders: [PROVIDER_ID, "openrouter"],
|
|
80
|
+
applyConfig: applyArceeOpenRouterConfig,
|
|
81
|
+
wizard: {
|
|
82
|
+
choiceId: "arceeai-openrouter",
|
|
83
|
+
choiceLabel: "OpenRouter API key",
|
|
84
|
+
choiceHint: "Via OpenRouter (openrouter.ai)",
|
|
85
|
+
...ARCEE_WIZARD_GROUP
|
|
86
|
+
}
|
|
87
|
+
}],
|
|
88
|
+
catalog: {
|
|
89
|
+
run: resolveArceeCatalog,
|
|
90
|
+
staticRun: async () => ({ provider: buildArceeProvider() })
|
|
91
|
+
},
|
|
92
|
+
augmentModelCatalog: ({ config }) => readConfiguredProviderCatalogEntries({
|
|
93
|
+
config,
|
|
94
|
+
providerId: PROVIDER_ID
|
|
95
|
+
}),
|
|
96
|
+
normalizeConfig: ({ providerConfig }) => {
|
|
97
|
+
const normalizedBaseUrl = normalizeArceeOpenRouterBaseUrl(providerConfig.baseUrl);
|
|
98
|
+
return normalizedBaseUrl && normalizedBaseUrl !== providerConfig.baseUrl ? {
|
|
99
|
+
...providerConfig,
|
|
100
|
+
baseUrl: normalizedBaseUrl
|
|
101
|
+
} : void 0;
|
|
102
|
+
},
|
|
103
|
+
normalizeResolvedModel: ({ model }) => normalizeArceeResolvedModel(model),
|
|
104
|
+
normalizeTransport: ({ api: apiLocal, baseUrl }) => {
|
|
105
|
+
const normalizedBaseUrl = normalizeArceeOpenRouterBaseUrl(baseUrl);
|
|
106
|
+
return normalizedBaseUrl && normalizedBaseUrl !== baseUrl ? {
|
|
107
|
+
api: apiLocal,
|
|
108
|
+
baseUrl: normalizedBaseUrl
|
|
109
|
+
} : void 0;
|
|
110
|
+
},
|
|
111
|
+
...buildProviderReplayFamilyHooks({ family: "openai-compatible" })
|
|
120
112
|
}
|
|
121
113
|
});
|
|
122
114
|
//#endregion
|
package/dist/onboard.js
CHANGED
|
@@ -10,9 +10,10 @@ import { createModelCatalogPresetAppliers } from "openclaw/plugin-sdk/provider-o
|
|
|
10
10
|
const ARCEE_DEFAULT_MODEL_REF = "arcee/trinity-large-thinking";
|
|
11
11
|
/** Default Arcee model ref for OpenRouter setup. */
|
|
12
12
|
const ARCEE_OPENROUTER_DEFAULT_MODEL_REF = "arcee/trinity-large-thinking";
|
|
13
|
-
|
|
13
|
+
/** Apply direct Arcee provider defaults to config. */
|
|
14
|
+
const { applyConfig: applyArceeConfig } = createModelCatalogPresetAppliers({
|
|
14
15
|
primaryModelRef: ARCEE_DEFAULT_MODEL_REF,
|
|
15
|
-
resolveParams: (
|
|
16
|
+
resolveParams: () => ({
|
|
16
17
|
providerId: "arcee",
|
|
17
18
|
api: "openai-completions",
|
|
18
19
|
baseUrl: ARCEE_BASE_URL,
|
|
@@ -23,9 +24,10 @@ const arceePresetAppliers = createModelCatalogPresetAppliers({
|
|
|
23
24
|
}]
|
|
24
25
|
})
|
|
25
26
|
});
|
|
26
|
-
|
|
27
|
+
/** Apply OpenRouter-backed Arcee provider defaults to config. */
|
|
28
|
+
const { applyConfig: applyArceeOpenRouterConfig } = createModelCatalogPresetAppliers({
|
|
27
29
|
primaryModelRef: ARCEE_OPENROUTER_DEFAULT_MODEL_REF,
|
|
28
|
-
resolveParams: (
|
|
30
|
+
resolveParams: () => ({
|
|
29
31
|
providerId: "arcee",
|
|
30
32
|
api: "openai-completions",
|
|
31
33
|
baseUrl: OPENROUTER_BASE_URL,
|
|
@@ -36,13 +38,5 @@ const arceeOpenRouterPresetAppliers = createModelCatalogPresetAppliers({
|
|
|
36
38
|
}]
|
|
37
39
|
})
|
|
38
40
|
});
|
|
39
|
-
/** Apply direct Arcee provider defaults to config. */
|
|
40
|
-
function applyArceeConfig(cfg) {
|
|
41
|
-
return arceePresetAppliers.applyConfig(cfg);
|
|
42
|
-
}
|
|
43
|
-
/** Apply OpenRouter-backed Arcee provider defaults to config. */
|
|
44
|
-
function applyArceeOpenRouterConfig(cfg) {
|
|
45
|
-
return arceeOpenRouterPresetAppliers.applyConfig(cfg);
|
|
46
|
-
}
|
|
47
41
|
//#endregion
|
|
48
42
|
export { ARCEE_DEFAULT_MODEL_REF, ARCEE_OPENROUTER_DEFAULT_MODEL_REF, applyArceeConfig, applyArceeOpenRouterConfig };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/arcee-provider",
|
|
3
|
-
"version": "2026.7.2-beta.
|
|
3
|
+
"version": "2026.7.2-beta.7",
|
|
4
4
|
"description": "OpenClaw Arcee provider plugin.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
"minHostVersion": ">=2026.6.8"
|
|
19
19
|
},
|
|
20
20
|
"compat": {
|
|
21
|
-
"pluginApi": ">=2026.7.2-beta.
|
|
21
|
+
"pluginApi": ">=2026.7.2-beta.7"
|
|
22
22
|
},
|
|
23
23
|
"build": {
|
|
24
|
-
"openclawVersion": "2026.7.2-beta.
|
|
24
|
+
"openclawVersion": "2026.7.2-beta.7",
|
|
25
25
|
"bundledDist": false
|
|
26
26
|
},
|
|
27
27
|
"release": {
|
|
@@ -35,11 +35,10 @@
|
|
|
35
35
|
"files": [
|
|
36
36
|
"dist/**",
|
|
37
37
|
"openclaw.plugin.json",
|
|
38
|
-
"npm-shrinkwrap.json",
|
|
39
38
|
"README.md"
|
|
40
39
|
],
|
|
41
40
|
"peerDependencies": {
|
|
42
|
-
"openclaw": ">=2026.7.2-beta.
|
|
41
|
+
"openclaw": ">=2026.7.2-beta.7"
|
|
43
42
|
},
|
|
44
43
|
"peerDependenciesMeta": {
|
|
45
44
|
"openclaw": {
|
package/npm-shrinkwrap.json
DELETED