@openclaw/fireworks-provider 0.0.0 → 2026.6.11-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/README.md +12 -2
- package/dist/index.js +83 -0
- package/dist/model-id.js +8 -0
- package/dist/onboard.js +26 -0
- package/dist/provider-catalog-DfjnZjS3.js +67 -0
- package/dist/provider-catalog.js +2 -0
- package/dist/provider-policy-api.js +7 -0
- package/dist/stream.js +24 -0
- package/dist/thinking-policy.js +12 -0
- package/npm-shrinkwrap.json +12 -0
- package/openclaw.plugin.json +80 -0
- package/package.json +44 -7
package/README.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Fireworks OpenClaw provider
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Official OpenClaw provider plugin for Fireworks.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
openclaw plugins install @openclaw/fireworks-provider
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Docs
|
|
12
|
+
|
|
13
|
+
See `docs/providers/fireworks.md` in the OpenClaw repository, or the published docs at `https://docs.openclaw.ai/providers/fireworks`.
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { isFireworksKimiModelId } from "./model-id.js";
|
|
2
|
+
import { n as FIREWORKS_DEFAULT_CONTEXT_WINDOW, o as buildFireworksProvider, r as FIREWORKS_DEFAULT_MAX_TOKENS, s as isFireworksCatalogModelId, t as FIREWORKS_BASE_URL } from "./provider-catalog-DfjnZjS3.js";
|
|
3
|
+
import { FIREWORKS_DEFAULT_MODEL_REF, applyFireworksConfig } from "./onboard.js";
|
|
4
|
+
import { wrapFireworksProviderStream } from "./stream.js";
|
|
5
|
+
import { resolveFireworksThinkingProfile } from "./thinking-policy.js";
|
|
6
|
+
import { defineSingleProviderPluginEntry } from "openclaw/plugin-sdk/provider-entry";
|
|
7
|
+
import { DEFAULT_CONTEXT_TOKENS, OPENAI_COMPATIBLE_REPLAY_HOOKS, cloneFirstTemplateModel, normalizeModelCompat } from "openclaw/plugin-sdk/provider-model-shared";
|
|
8
|
+
//#region extensions/fireworks/index.ts
|
|
9
|
+
const PROVIDER_ID = "fireworks";
|
|
10
|
+
function isFireworksGlmModelId(modelId) {
|
|
11
|
+
const normalized = modelId.trim().toLowerCase();
|
|
12
|
+
const lastSegment = normalized.split("/").pop() ?? normalized;
|
|
13
|
+
return /^glm[-_.]/.test(lastSegment);
|
|
14
|
+
}
|
|
15
|
+
function resolveFireworksDynamicInput(modelId) {
|
|
16
|
+
return isFireworksGlmModelId(modelId) ? ["text"] : ["text", "image"];
|
|
17
|
+
}
|
|
18
|
+
function resolveFireworksDynamicModel(ctx) {
|
|
19
|
+
const modelId = ctx.modelId.trim();
|
|
20
|
+
if (!modelId) return;
|
|
21
|
+
if (isFireworksCatalogModelId(modelId)) return;
|
|
22
|
+
const isKimiModel = isFireworksKimiModelId(modelId);
|
|
23
|
+
const input = resolveFireworksDynamicInput(modelId);
|
|
24
|
+
return cloneFirstTemplateModel({
|
|
25
|
+
providerId: PROVIDER_ID,
|
|
26
|
+
modelId,
|
|
27
|
+
templateIds: ["accounts/fireworks/routers/kimi-k2p5-turbo"],
|
|
28
|
+
ctx,
|
|
29
|
+
patch: {
|
|
30
|
+
provider: PROVIDER_ID,
|
|
31
|
+
reasoning: !isKimiModel,
|
|
32
|
+
input
|
|
33
|
+
}
|
|
34
|
+
}) ?? normalizeModelCompat({
|
|
35
|
+
id: modelId,
|
|
36
|
+
name: modelId,
|
|
37
|
+
provider: PROVIDER_ID,
|
|
38
|
+
api: "openai-completions",
|
|
39
|
+
baseUrl: FIREWORKS_BASE_URL,
|
|
40
|
+
reasoning: !isKimiModel,
|
|
41
|
+
input,
|
|
42
|
+
cost: {
|
|
43
|
+
input: 0,
|
|
44
|
+
output: 0,
|
|
45
|
+
cacheRead: 0,
|
|
46
|
+
cacheWrite: 0
|
|
47
|
+
},
|
|
48
|
+
contextWindow: FIREWORKS_DEFAULT_CONTEXT_WINDOW,
|
|
49
|
+
maxTokens: FIREWORKS_DEFAULT_MAX_TOKENS || DEFAULT_CONTEXT_TOKENS
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
var fireworks_default = defineSingleProviderPluginEntry({
|
|
53
|
+
id: PROVIDER_ID,
|
|
54
|
+
name: "Fireworks Provider",
|
|
55
|
+
description: "Bundled Fireworks AI provider plugin",
|
|
56
|
+
provider: {
|
|
57
|
+
label: "Fireworks",
|
|
58
|
+
aliases: ["fireworks-ai"],
|
|
59
|
+
docsPath: "/providers/fireworks",
|
|
60
|
+
auth: [{
|
|
61
|
+
methodId: "api-key",
|
|
62
|
+
label: "Fireworks API key",
|
|
63
|
+
hint: "API key",
|
|
64
|
+
optionKey: "fireworksApiKey",
|
|
65
|
+
flagName: "--fireworks-api-key",
|
|
66
|
+
envVar: "FIREWORKS_API_KEY",
|
|
67
|
+
promptMessage: "Enter Fireworks API key",
|
|
68
|
+
defaultModel: FIREWORKS_DEFAULT_MODEL_REF,
|
|
69
|
+
applyConfig: (cfg) => applyFireworksConfig(cfg)
|
|
70
|
+
}],
|
|
71
|
+
catalog: {
|
|
72
|
+
buildProvider: buildFireworksProvider,
|
|
73
|
+
allowExplicitBaseUrl: true
|
|
74
|
+
},
|
|
75
|
+
...OPENAI_COMPATIBLE_REPLAY_HOOKS,
|
|
76
|
+
wrapStreamFn: wrapFireworksProviderStream,
|
|
77
|
+
resolveThinkingProfile: ({ modelId }) => resolveFireworksThinkingProfile(modelId),
|
|
78
|
+
resolveDynamicModel: (ctx) => resolveFireworksDynamicModel(ctx),
|
|
79
|
+
isModernModelRef: () => true
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
//#endregion
|
|
83
|
+
export { fireworks_default as default };
|
package/dist/model-id.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region extensions/fireworks/model-id.ts
|
|
2
|
+
function isFireworksKimiModelId(modelId) {
|
|
3
|
+
const normalized = modelId.trim().toLowerCase();
|
|
4
|
+
const lastSegment = normalized.split("/").pop() ?? normalized;
|
|
5
|
+
return /^kimi-k2(?:p[56]|[.-][56])(?:[-_].+)?$/.test(lastSegment);
|
|
6
|
+
}
|
|
7
|
+
//#endregion
|
|
8
|
+
export { isFireworksKimiModelId };
|
package/dist/onboard.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { a as buildFireworksCatalogModels, i as FIREWORKS_DEFAULT_MODEL_ID, o as buildFireworksProvider } from "./provider-catalog-DfjnZjS3.js";
|
|
2
|
+
import { createDefaultModelsPresetAppliers } from "openclaw/plugin-sdk/provider-onboard";
|
|
3
|
+
//#region extensions/fireworks/onboard.ts
|
|
4
|
+
const FIREWORKS_DEFAULT_MODEL_REF = `fireworks/${FIREWORKS_DEFAULT_MODEL_ID}`;
|
|
5
|
+
const fireworksPresetAppliers = createDefaultModelsPresetAppliers({
|
|
6
|
+
primaryModelRef: FIREWORKS_DEFAULT_MODEL_REF,
|
|
7
|
+
resolveParams: (_cfg) => {
|
|
8
|
+
const defaultProvider = buildFireworksProvider();
|
|
9
|
+
return {
|
|
10
|
+
providerId: "fireworks",
|
|
11
|
+
api: defaultProvider.api ?? "openai-completions",
|
|
12
|
+
baseUrl: defaultProvider.baseUrl,
|
|
13
|
+
defaultModels: buildFireworksCatalogModels(),
|
|
14
|
+
defaultModelId: FIREWORKS_DEFAULT_MODEL_ID,
|
|
15
|
+
aliases: [{
|
|
16
|
+
modelRef: FIREWORKS_DEFAULT_MODEL_REF,
|
|
17
|
+
alias: "Kimi K2.5 Turbo"
|
|
18
|
+
}]
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
function applyFireworksConfig(cfg) {
|
|
23
|
+
return fireworksPresetAppliers.applyConfig(cfg);
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
export { FIREWORKS_DEFAULT_MODEL_REF, applyFireworksConfig };
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { buildManifestModelProviderConfig } from "openclaw/plugin-sdk/provider-catalog-shared";
|
|
2
|
+
//#region extensions/fireworks/openclaw.plugin.json
|
|
3
|
+
var modelCatalog = {
|
|
4
|
+
"providers": { "fireworks": {
|
|
5
|
+
"baseUrl": "https://api.fireworks.ai/inference/v1",
|
|
6
|
+
"api": "openai-completions",
|
|
7
|
+
"models": [{
|
|
8
|
+
"id": "accounts/fireworks/models/kimi-k2p6",
|
|
9
|
+
"name": "Kimi K2.6",
|
|
10
|
+
"reasoning": false,
|
|
11
|
+
"input": ["text", "image"],
|
|
12
|
+
"contextWindow": 262144,
|
|
13
|
+
"maxTokens": 262144,
|
|
14
|
+
"cost": {
|
|
15
|
+
"input": .95,
|
|
16
|
+
"output": 4,
|
|
17
|
+
"cacheRead": 0,
|
|
18
|
+
"cacheWrite": 0
|
|
19
|
+
}
|
|
20
|
+
}, {
|
|
21
|
+
"id": "accounts/fireworks/routers/kimi-k2p5-turbo",
|
|
22
|
+
"name": "Kimi K2.5 Turbo (Fire Pass)",
|
|
23
|
+
"reasoning": false,
|
|
24
|
+
"input": ["text", "image"],
|
|
25
|
+
"contextWindow": 256e3,
|
|
26
|
+
"maxTokens": 256e3,
|
|
27
|
+
"compat": { "unsupportedToolSchemaKeywords": ["not"] },
|
|
28
|
+
"cost": {
|
|
29
|
+
"input": 0,
|
|
30
|
+
"output": 0,
|
|
31
|
+
"cacheRead": 0,
|
|
32
|
+
"cacheWrite": 0
|
|
33
|
+
}
|
|
34
|
+
}]
|
|
35
|
+
} },
|
|
36
|
+
"discovery": { "fireworks": "static" }
|
|
37
|
+
};
|
|
38
|
+
//#endregion
|
|
39
|
+
//#region extensions/fireworks/provider-catalog.ts
|
|
40
|
+
const FIREWORKS_MANIFEST_PROVIDER = buildManifestModelProviderConfig({
|
|
41
|
+
providerId: "fireworks",
|
|
42
|
+
catalog: modelCatalog.providers.fireworks
|
|
43
|
+
});
|
|
44
|
+
const FIREWORKS_BASE_URL = FIREWORKS_MANIFEST_PROVIDER.baseUrl;
|
|
45
|
+
const FIREWORKS_DEFAULT_MODEL_ID = "accounts/fireworks/routers/kimi-k2p5-turbo";
|
|
46
|
+
function requireFireworksManifestModel(id) {
|
|
47
|
+
const model = FIREWORKS_MANIFEST_PROVIDER.models.find((entry) => entry.id === id);
|
|
48
|
+
if (!model) throw new Error(`Missing Fireworks modelCatalog row ${id}`);
|
|
49
|
+
return model;
|
|
50
|
+
}
|
|
51
|
+
const FIREWORKS_DEFAULT_MODEL = requireFireworksManifestModel(FIREWORKS_DEFAULT_MODEL_ID);
|
|
52
|
+
const FIREWORKS_DEFAULT_CONTEXT_WINDOW = FIREWORKS_DEFAULT_MODEL.contextWindow;
|
|
53
|
+
const FIREWORKS_DEFAULT_MAX_TOKENS = FIREWORKS_DEFAULT_MODEL.maxTokens;
|
|
54
|
+
function isFireworksCatalogModelId(modelId) {
|
|
55
|
+
return FIREWORKS_MANIFEST_PROVIDER.models.some((model) => model.id === modelId);
|
|
56
|
+
}
|
|
57
|
+
function buildFireworksCatalogModels() {
|
|
58
|
+
return FIREWORKS_MANIFEST_PROVIDER.models.map((model) => structuredClone(model));
|
|
59
|
+
}
|
|
60
|
+
function buildFireworksProvider() {
|
|
61
|
+
return buildManifestModelProviderConfig({
|
|
62
|
+
providerId: "fireworks",
|
|
63
|
+
catalog: modelCatalog.providers.fireworks
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
//#endregion
|
|
67
|
+
export { buildFireworksCatalogModels as a, FIREWORKS_DEFAULT_MODEL_ID as i, FIREWORKS_DEFAULT_CONTEXT_WINDOW as n, buildFireworksProvider as o, FIREWORKS_DEFAULT_MAX_TOKENS as r, isFireworksCatalogModelId as s, FIREWORKS_BASE_URL as t };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as buildFireworksCatalogModels, i as FIREWORKS_DEFAULT_MODEL_ID, n as FIREWORKS_DEFAULT_CONTEXT_WINDOW, o as buildFireworksProvider, r as FIREWORKS_DEFAULT_MAX_TOKENS, s as isFireworksCatalogModelId, t as FIREWORKS_BASE_URL } from "./provider-catalog-DfjnZjS3.js";
|
|
2
|
+
export { FIREWORKS_BASE_URL, FIREWORKS_DEFAULT_CONTEXT_WINDOW, FIREWORKS_DEFAULT_MAX_TOKENS, FIREWORKS_DEFAULT_MODEL_ID, buildFireworksCatalogModels, buildFireworksProvider, isFireworksCatalogModelId };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { resolveFireworksThinkingProfile } from "./thinking-policy.js";
|
|
2
|
+
//#region extensions/fireworks/provider-policy-api.ts
|
|
3
|
+
function resolveThinkingProfile(params) {
|
|
4
|
+
return resolveFireworksThinkingProfile(params.modelId);
|
|
5
|
+
}
|
|
6
|
+
//#endregion
|
|
7
|
+
export { resolveThinkingProfile };
|
package/dist/stream.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { isFireworksKimiModelId } from "./model-id.js";
|
|
2
|
+
import { normalizeProviderId } from "openclaw/plugin-sdk/provider-model-shared";
|
|
3
|
+
import { streamSimple } from "openclaw/plugin-sdk/llm";
|
|
4
|
+
import { streamWithPayloadPatch } from "openclaw/plugin-sdk/provider-stream-shared";
|
|
5
|
+
//#region extensions/fireworks/stream.ts
|
|
6
|
+
function isFireworksProviderId(providerId) {
|
|
7
|
+
const normalized = normalizeProviderId(providerId);
|
|
8
|
+
return normalized === "fireworks" || normalized === "fireworks-ai";
|
|
9
|
+
}
|
|
10
|
+
function createFireworksKimiThinkingDisabledWrapper(baseStreamFn) {
|
|
11
|
+
const underlying = baseStreamFn ?? streamSimple;
|
|
12
|
+
return (model, context, options) => streamWithPayloadPatch(underlying, model, context, options, (payloadObj) => {
|
|
13
|
+
payloadObj.thinking = { type: "disabled" };
|
|
14
|
+
delete payloadObj.reasoning;
|
|
15
|
+
delete payloadObj.reasoning_effort;
|
|
16
|
+
delete payloadObj.reasoningEffort;
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function wrapFireworksProviderStream(ctx) {
|
|
20
|
+
if (!isFireworksProviderId(ctx.provider) || ctx.model?.api !== "openai-completions" || !isFireworksKimiModelId(ctx.modelId)) return;
|
|
21
|
+
return createFireworksKimiThinkingDisabledWrapper(ctx.streamFn);
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { createFireworksKimiThinkingDisabledWrapper, wrapFireworksProviderStream };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { isFireworksKimiModelId } from "./model-id.js";
|
|
2
|
+
//#region extensions/fireworks/thinking-policy.ts
|
|
3
|
+
const FIREWORKS_KIMI_THINKING_PROFILE = {
|
|
4
|
+
levels: [{ id: "off" }],
|
|
5
|
+
defaultLevel: "off"
|
|
6
|
+
};
|
|
7
|
+
function resolveFireworksThinkingProfile(modelId) {
|
|
8
|
+
if (!isFireworksKimiModelId(modelId)) return;
|
|
9
|
+
return FIREWORKS_KIMI_THINKING_PROFILE;
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { resolveFireworksThinkingProfile };
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "fireworks",
|
|
3
|
+
"activation": {
|
|
4
|
+
"onStartup": false
|
|
5
|
+
},
|
|
6
|
+
"enabledByDefault": true,
|
|
7
|
+
"providers": ["fireworks"],
|
|
8
|
+
"setup": {
|
|
9
|
+
"providers": [
|
|
10
|
+
{
|
|
11
|
+
"id": "fireworks",
|
|
12
|
+
"envVars": ["FIREWORKS_API_KEY"]
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"providerAuthChoices": [
|
|
17
|
+
{
|
|
18
|
+
"provider": "fireworks",
|
|
19
|
+
"method": "api-key",
|
|
20
|
+
"choiceId": "fireworks-api-key",
|
|
21
|
+
"choiceLabel": "Fireworks API key",
|
|
22
|
+
"groupId": "fireworks",
|
|
23
|
+
"groupLabel": "Fireworks",
|
|
24
|
+
"groupHint": "API key",
|
|
25
|
+
"optionKey": "fireworksApiKey",
|
|
26
|
+
"cliFlag": "--fireworks-api-key",
|
|
27
|
+
"cliOption": "--fireworks-api-key <key>",
|
|
28
|
+
"cliDescription": "Fireworks API key"
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"modelCatalog": {
|
|
32
|
+
"providers": {
|
|
33
|
+
"fireworks": {
|
|
34
|
+
"baseUrl": "https://api.fireworks.ai/inference/v1",
|
|
35
|
+
"api": "openai-completions",
|
|
36
|
+
"models": [
|
|
37
|
+
{
|
|
38
|
+
"id": "accounts/fireworks/models/kimi-k2p6",
|
|
39
|
+
"name": "Kimi K2.6",
|
|
40
|
+
"reasoning": false,
|
|
41
|
+
"input": ["text", "image"],
|
|
42
|
+
"contextWindow": 262144,
|
|
43
|
+
"maxTokens": 262144,
|
|
44
|
+
"cost": {
|
|
45
|
+
"input": 0.95,
|
|
46
|
+
"output": 4,
|
|
47
|
+
"cacheRead": 0,
|
|
48
|
+
"cacheWrite": 0
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"id": "accounts/fireworks/routers/kimi-k2p5-turbo",
|
|
53
|
+
"name": "Kimi K2.5 Turbo (Fire Pass)",
|
|
54
|
+
"reasoning": false,
|
|
55
|
+
"input": ["text", "image"],
|
|
56
|
+
"contextWindow": 256000,
|
|
57
|
+
"maxTokens": 256000,
|
|
58
|
+
"compat": {
|
|
59
|
+
"unsupportedToolSchemaKeywords": ["not"]
|
|
60
|
+
},
|
|
61
|
+
"cost": {
|
|
62
|
+
"input": 0,
|
|
63
|
+
"output": 0,
|
|
64
|
+
"cacheRead": 0,
|
|
65
|
+
"cacheWrite": 0
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"discovery": {
|
|
72
|
+
"fireworks": "static"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"configSchema": {
|
|
76
|
+
"type": "object",
|
|
77
|
+
"additionalProperties": false,
|
|
78
|
+
"properties": {}
|
|
79
|
+
}
|
|
80
|
+
}
|
package/package.json
CHANGED
|
@@ -1,13 +1,50 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/fireworks-provider",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "2026.6.11-beta.2",
|
|
4
|
+
"description": "OpenClaw Fireworks provider plugin",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"openclaw": {
|
|
7
|
+
"extensions": [
|
|
8
|
+
"./index.ts"
|
|
9
|
+
],
|
|
10
|
+
"install": {
|
|
11
|
+
"clawhubSpec": "clawhub:@openclaw/fireworks-provider",
|
|
12
|
+
"npmSpec": "@openclaw/fireworks-provider",
|
|
13
|
+
"defaultChoice": "npm",
|
|
14
|
+
"minHostVersion": ">=2026.6.9"
|
|
15
|
+
},
|
|
16
|
+
"compat": {
|
|
17
|
+
"pluginApi": ">=2026.6.11-beta.2"
|
|
18
|
+
},
|
|
19
|
+
"build": {
|
|
20
|
+
"openclawVersion": "2026.6.11-beta.2",
|
|
21
|
+
"bundledDist": false
|
|
22
|
+
},
|
|
23
|
+
"release": {
|
|
24
|
+
"publishToClawHub": true,
|
|
25
|
+
"publishToNpm": true
|
|
26
|
+
},
|
|
27
|
+
"runtimeExtensions": [
|
|
28
|
+
"./dist/index.js"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
5
31
|
"repository": {
|
|
6
32
|
"type": "git",
|
|
7
|
-
"url": "
|
|
33
|
+
"url": "https://github.com/openclaw/openclaw"
|
|
34
|
+
},
|
|
35
|
+
"files": [
|
|
36
|
+
"dist/**",
|
|
37
|
+
"openclaw.plugin.json",
|
|
38
|
+
"npm-shrinkwrap.json",
|
|
39
|
+
"README.md"
|
|
40
|
+
],
|
|
41
|
+
"peerDependencies": {
|
|
42
|
+
"openclaw": ">=2026.6.11-beta.2"
|
|
43
|
+
},
|
|
44
|
+
"peerDependenciesMeta": {
|
|
45
|
+
"openclaw": {
|
|
46
|
+
"optional": true
|
|
47
|
+
}
|
|
8
48
|
},
|
|
9
|
-
"
|
|
10
|
-
"publishConfig": {
|
|
11
|
-
"access": "public"
|
|
12
|
-
}
|
|
49
|
+
"bundledDependencies": []
|
|
13
50
|
}
|