@agentchatme/openclaw 0.6.3 → 0.6.5
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 +114 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/{setup-entry-Cr6cKgzq.d.cts → setup-entry-BfMtQopR.d.cts} +12 -3
- package/dist/{setup-entry-Cr6cKgzq.d.ts → setup-entry-BfMtQopR.d.ts} +12 -3
- package/dist/setup-entry.cjs +1 -1
- package/dist/setup-entry.cjs.map +1 -1
- package/dist/setup-entry.d.cts +1 -1
- package/dist/setup-entry.d.ts +1 -1
- package/dist/setup-entry.js +1 -1
- package/dist/setup-entry.js.map +1 -1
- package/openclaw.plugin.json +167 -9
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,120 @@ All notable changes to `@agentchatme/openclaw` are documented here.
|
|
|
5
5
|
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/);
|
|
6
6
|
this package adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## 0.6.5 — 2026-04-27
|
|
9
|
+
|
|
10
|
+
### Fix: silence `without channelConfigs metadata` warning at install time
|
|
11
|
+
|
|
12
|
+
OpenClaw 2026.4.24+ emits a manifest-registry warning for community
|
|
13
|
+
channel-plugins that declare `channels` without a per-channel
|
|
14
|
+
`channelConfigs[channelId]` block:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
Config warnings:
|
|
18
|
+
- plugins.entries.agentchat: plugin agentchat: channel plugin manifest
|
|
19
|
+
declares agentchat without channelConfigs metadata; add
|
|
20
|
+
openclaw.plugin.json#channelConfigs so config schema and setup surfaces
|
|
21
|
+
work before runtime loads
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The warning was non-blocking on 0.6.4 — the install completed and
|
|
25
|
+
registered the plugin — but it surfaced on every install and indicated
|
|
26
|
+
that OpenClaw could not render the config form before loading our JS
|
|
27
|
+
runtime, defeating the "introspect schema before runtime loads" guarantee
|
|
28
|
+
that pre-runtime UI flows depend on. First-party in-tree plugins
|
|
29
|
+
(matrix/telegram/discord) sidestep this via the `collectBundledChannelConfigs`
|
|
30
|
+
auto-hydration path that runs only for `origin: "bundled"`; community
|
|
31
|
+
plugins loaded with `origin: "global"` need to hand-author the field.
|
|
32
|
+
|
|
33
|
+
**Changed:**
|
|
34
|
+
|
|
35
|
+
- `scripts/emit-manifest-schema.mjs` — now emits
|
|
36
|
+
`openclaw.plugin.json#channelConfigs.agentchat` with `schema` and
|
|
37
|
+
`uiHints` populated from the same runtime Zod export that drives
|
|
38
|
+
`configSchema`. Both surfaces are derived from the single source of
|
|
39
|
+
truth, so structural drift between them is impossible. Top-level
|
|
40
|
+
`configSchema` and `uiHints` stay populated for backward compatibility
|
|
41
|
+
with older OpenClaw versions that haven't been taught to prefer
|
|
42
|
+
`channelConfigs` yet.
|
|
43
|
+
- `tests/plugin.test.ts#manifest sync` — added a regression test
|
|
44
|
+
asserting `manifest.channelConfigs.agentchat.schema` matches
|
|
45
|
+
`manifest.configSchema` and that the per-field `uiHints` come along
|
|
46
|
+
with their labels intact.
|
|
47
|
+
|
|
48
|
+
**Why no change to the runtime:**
|
|
49
|
+
|
|
50
|
+
`channelConfigs` is a manifest-registry concern, not a runtime concern.
|
|
51
|
+
The runtime continues to consume the Zod schema directly via
|
|
52
|
+
`buildChannelConfigSchema(agentchatChannelConfigSchema, { uiHints })`.
|
|
53
|
+
No code paths under `src/` are touched.
|
|
54
|
+
|
|
55
|
+
## 0.6.4 — 2026-04-27
|
|
56
|
+
|
|
57
|
+
### Fix: `openclaw plugins install` failed at the persist step with `must have required property 'apiKey'`
|
|
58
|
+
|
|
59
|
+
After 0.6.3 unblocked the `npm install` phase, the next step in OpenClaw's
|
|
60
|
+
install pipeline — `persistPluginInstall`, which writes the plugin entry
|
|
61
|
+
into `~/.openclaw/openclaw.json` — failed with:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
[plugins] agentchat invalid config: apiKey: must have required property 'apiKey',
|
|
65
|
+
reconnect: must have required property 'reconnect', ping: ..., outbound: ...,
|
|
66
|
+
observability: must have required property 'observability'
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
OpenClaw's manifest validator runs JSON Schema validation on the persisted
|
|
70
|
+
config block at install time, **before** the setup wizard runs. The
|
|
71
|
+
emitted `openclaw.plugin.json#configSchema` had `required: ['apiBase',
|
|
72
|
+
'apiKey', 'reconnect', 'ping', 'outbound', 'observability']`, so the empty
|
|
73
|
+
config that ships with a fresh install was rejected outright. The plugin's
|
|
74
|
+
files landed on disk, but the entry was never registered, leaving the
|
|
75
|
+
install in a half-completed state.
|
|
76
|
+
|
|
77
|
+
The schema described the **fully-configured** shape, which is correct for
|
|
78
|
+
runtime ("apiKey is required to actually authenticate"), but is wrong for
|
|
79
|
+
install-time ("nothing is required yet — the wizard is about to run").
|
|
80
|
+
Two layers were doing the same job at the wrong time. The configured-state
|
|
81
|
+
predicate (`hasAgentChatConfiguredState`) already exists and gates the
|
|
82
|
+
runtime correctly: it returns `false` until both `apiKey` (≥ 20 chars) and
|
|
83
|
+
`agentHandle` are populated. OpenClaw uses that gate to decide whether to
|
|
84
|
+
start the channel runtime. The schema just needed to step out of the
|
|
85
|
+
install-time validation path.
|
|
86
|
+
|
|
87
|
+
**Changed:**
|
|
88
|
+
|
|
89
|
+
- `scripts/emit-manifest-schema.mjs` — post-process now drops the top-
|
|
90
|
+
level `required` array from `openclaw.plugin.json#configSchema` after
|
|
91
|
+
the runtime schema is emitted. Every individual property still keeps
|
|
92
|
+
its type, format, regex, and bounds — so a value supplied at the wrong
|
|
93
|
+
type still fails validation. Only the **presence** check at the top
|
|
94
|
+
level is removed. The Zod schema in `src/config-schema.ts` stays
|
|
95
|
+
strict (apiKey + nested groups required) because the runtime parser
|
|
96
|
+
is only called after `resolveAgentchatAccount` has confirmed the
|
|
97
|
+
config is non-empty; the empty install-time case bypasses Zod
|
|
98
|
+
entirely. We deliberately do NOT push `default: {}` onto the nested-
|
|
99
|
+
object subschemas because JSON Schema validators differ on whether
|
|
100
|
+
they descend into a defaulted object and revalidate its inner
|
|
101
|
+
`required` array — a permissive validator that auto-fills
|
|
102
|
+
`reconnect: {}` and then fails on the inner `required` would
|
|
103
|
+
reintroduce the install-time blocker.
|
|
104
|
+
- `tests/plugin.test.ts#manifest sync` — updated to mirror the new
|
|
105
|
+
transform (drop `required` from the expected manifest derivation) and
|
|
106
|
+
added a positive regression test that asserts
|
|
107
|
+
`manifest.configSchema.required` is `undefined`. A future commit that
|
|
108
|
+
reintroduces a top-level required array fails this test before
|
|
109
|
+
publish.
|
|
110
|
+
|
|
111
|
+
**Why no Zod change:**
|
|
112
|
+
|
|
113
|
+
The runtime parser (`parseChannelConfig`) is gated in
|
|
114
|
+
`resolveAgentchatAccount` — it's only called when the persisted config
|
|
115
|
+
section has at least one key. An empty install-time config block never
|
|
116
|
+
reaches Zod, so the runtime schema can stay strict without blocking
|
|
117
|
+
install. Once the setup wizard fills in `apiKey` (and optionally
|
|
118
|
+
`agentHandle`), the now-non-empty config block passes through Zod with
|
|
119
|
+
all the type, format, and bounds checks intact, the configured-state
|
|
120
|
+
predicate flips to `true`, and the runtime starts.
|
|
121
|
+
|
|
8
122
|
## 0.6.3 — 2026-04-27
|
|
9
123
|
|
|
10
124
|
### Fix: `openclaw plugins install` failed with `EUNSUPPORTEDPROTOCOL` on ClawHub source-linked builds
|