@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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@every-env/compound-plugin",
3
- "version": "2.34.3",
3
+ "version": "2.34.4",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "bin": {
@@ -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
  }
@@ -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
+ })