@every-env/compound-plugin 2.34.3 → 2.34.4
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/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
Release numbering now follows the repository `v*` tag line. Starting at `v2.34.0`, the root CLI package and this changelog stay on that shared version stream. Older entries below retain the previous `0.x` CLI numbering.
|
|
9
9
|
|
|
10
|
+
## [2.34.4](https://github.com/EveryInc/compound-engineering-plugin/compare/v2.34.3...v2.34.4) (2026-03-04)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* **openclaw:** emit empty configSchema in plugin manifests ([4e9899f](https://github.com/EveryInc/compound-engineering-plugin/commit/4e9899f34693711b8997cf73eaa337f0da2321d6)), closes [#224](https://github.com/EveryInc/compound-engineering-plugin/issues/224)
|
|
16
|
+
|
|
10
17
|
## [2.34.3](https://github.com/EveryInc/compound-engineering-plugin/compare/v2.34.2...v2.34.3) (2026-03-03)
|
|
11
18
|
|
|
12
19
|
|
package/package.json
CHANGED
|
@@ -64,6 +64,10 @@ function buildManifest(plugin: ClaudePlugin, skillDirs: string[]): OpenClawPlugi
|
|
|
64
64
|
id: plugin.manifest.name,
|
|
65
65
|
name: formatDisplayName(plugin.manifest.name),
|
|
66
66
|
kind: "tool",
|
|
67
|
+
configSchema: {
|
|
68
|
+
type: "object",
|
|
69
|
+
properties: {},
|
|
70
|
+
},
|
|
67
71
|
skills: skillDirs.map((dir) => `skills/${dir}`),
|
|
68
72
|
}
|
|
69
73
|
}
|
package/src/types/openclaw.ts
CHANGED
|
@@ -2,16 +2,18 @@ export type OpenClawPluginManifest = {
|
|
|
2
2
|
id: string
|
|
3
3
|
name: string
|
|
4
4
|
kind: "tool"
|
|
5
|
-
configSchema
|
|
6
|
-
type: "object"
|
|
7
|
-
additionalProperties: boolean
|
|
8
|
-
properties: Record<string, OpenClawConfigProperty>
|
|
9
|
-
required?: string[]
|
|
10
|
-
}
|
|
5
|
+
configSchema: OpenClawConfigSchema
|
|
11
6
|
uiHints?: Record<string, OpenClawUiHint>
|
|
12
7
|
skills?: string[]
|
|
13
8
|
}
|
|
14
9
|
|
|
10
|
+
export type OpenClawConfigSchema = {
|
|
11
|
+
type: "object"
|
|
12
|
+
properties: Record<string, OpenClawConfigProperty>
|
|
13
|
+
additionalProperties?: boolean
|
|
14
|
+
required?: string[]
|
|
15
|
+
}
|
|
16
|
+
|
|
15
17
|
export type OpenClawConfigProperty = {
|
|
16
18
|
type: string
|
|
17
19
|
description?: string
|
|
@@ -108,6 +108,10 @@ describe("convertClaudeToOpenClaw", () => {
|
|
|
108
108
|
expect(bundle.manifest.id).toBe("compound-engineering")
|
|
109
109
|
expect(bundle.manifest.name).toBe("Compound Engineering")
|
|
110
110
|
expect(bundle.manifest.kind).toBe("tool")
|
|
111
|
+
expect(bundle.manifest.configSchema).toEqual({
|
|
112
|
+
type: "object",
|
|
113
|
+
properties: {},
|
|
114
|
+
})
|
|
111
115
|
expect(bundle.manifest.skills).toContain("skills/agent-security-reviewer")
|
|
112
116
|
expect(bundle.manifest.skills).toContain("skills/cmd-workflows:plan")
|
|
113
117
|
expect(bundle.manifest.skills).toContain("skills/existing-skill")
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { describe, expect, test } from "bun:test"
|
|
2
|
+
import { promises as fs } from "fs"
|
|
3
|
+
import os from "os"
|
|
4
|
+
import path from "path"
|
|
5
|
+
import { writeOpenClawBundle } from "../src/targets/openclaw"
|
|
6
|
+
import type { OpenClawBundle } from "../src/types/openclaw"
|
|
7
|
+
|
|
8
|
+
describe("writeOpenClawBundle", () => {
|
|
9
|
+
test("writes openclaw.plugin.json with a configSchema", async () => {
|
|
10
|
+
const tempRoot = await fs.mkdtemp(path.join(os.tmpdir(), "openclaw-writer-"))
|
|
11
|
+
const bundle: OpenClawBundle = {
|
|
12
|
+
manifest: {
|
|
13
|
+
id: "compound-engineering",
|
|
14
|
+
name: "Compound Engineering",
|
|
15
|
+
kind: "tool",
|
|
16
|
+
configSchema: {
|
|
17
|
+
type: "object",
|
|
18
|
+
properties: {},
|
|
19
|
+
},
|
|
20
|
+
skills: [],
|
|
21
|
+
},
|
|
22
|
+
packageJson: {
|
|
23
|
+
name: "openclaw-compound-engineering",
|
|
24
|
+
version: "1.0.0",
|
|
25
|
+
},
|
|
26
|
+
entryPoint: "export default async function register() {}",
|
|
27
|
+
skills: [],
|
|
28
|
+
skillDirCopies: [],
|
|
29
|
+
commands: [],
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
await writeOpenClawBundle(tempRoot, bundle)
|
|
33
|
+
|
|
34
|
+
const manifest = JSON.parse(
|
|
35
|
+
await fs.readFile(path.join(tempRoot, "openclaw.plugin.json"), "utf8"),
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
expect(manifest.configSchema).toEqual({
|
|
39
|
+
type: "object",
|
|
40
|
+
properties: {},
|
|
41
|
+
})
|
|
42
|
+
})
|
|
43
|
+
})
|