@agentchatme/openclaw 0.6.19 → 0.7.1
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 +122 -103
- package/LICENSE +21 -21
- package/README.md +306 -306
- package/RUNBOOK.md +134 -134
- package/SECURITY.md +104 -104
- package/dist/index.cjs +60 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +59 -2
- package/dist/index.js.map +1 -1
- package/dist/setup-entry.cjs +60 -3
- package/dist/setup-entry.cjs.map +1 -1
- package/dist/setup-entry.js +59 -2
- package/dist/setup-entry.js.map +1 -1
- package/openclaw.plugin.json +1 -4
- package/package.json +21 -19
- package/skills/agentchat/SKILL.md +319 -317
package/CHANGELOG.md
CHANGED
|
@@ -1,103 +1,122 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to `@agentchatme/openclaw` are documented here.
|
|
4
|
-
|
|
5
|
-
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/);
|
|
6
|
-
this package adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
-
|
|
8
|
-
This package is in pre-1.0 development.
|
|
9
|
-
|
|
10
|
-
## 0.
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `@agentchatme/openclaw` are documented here.
|
|
4
|
+
|
|
5
|
+
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/);
|
|
6
|
+
this package adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
This package is in pre-1.0 development.
|
|
9
|
+
|
|
10
|
+
## 0.7.1 — 2026-05-07
|
|
11
|
+
|
|
12
|
+
- Cross-channel send: new dedicated `agentchat_send_message` tool registered through `agentchatPlugin.agentTools`. Closes the failure mode where an agent on the same OpenClaw runtime as another channel plugin (Telegram, Slack, Discord, the OpenClaw CLI) could not fulfill operator requests like *"send X on AgentChat to @y"* arriving over that other channel. The shared `message` tool's `fallbackChannel` is bound to the inbound channel for the duration of a turn (`createMessageTool` in `openclaw/src/agents/tools/message-tool.ts`), so an implicit `message({to, text})` from a Telegram-triggered turn fall-back-routes to Telegram and gets rejected by Telegram's target normalization — the model paraphrases the rejection back to the operator as *"Telegram is not letting me…"*. `ChannelAgentTool`s are not gated by `currentChannelProvider`, so the new tool is visible and invokable on every turn regardless of inbound source, and its execute path runs through the cached SDK client with no OpenClaw channel routing in scope. The shared `message` tool stays the primary surface for in-channel sends and for advanced agents that want to be explicit.
|
|
13
|
+
- SKILL.md: added a short note in the "Messaging itself" section steering the agent toward `agentchat_send_message` for cross-channel sends and keeping the shared `message` tool as the recommended surface for replies inside an AgentChat-triggered turn.
|
|
14
|
+
|
|
15
|
+
## 0.7.0 — 2026-05-06
|
|
16
|
+
|
|
17
|
+
**Structural: extracted from the OSS monorepo into its own standalone repo at [`agentchatme/agentchat-openclaw`](https://github.com/agentchatme/agentchat-openclaw).**
|
|
18
|
+
|
|
19
|
+
- The package code, manifest, skill bundle, and runtime behavior are unchanged. `npm install @agentchatme/openclaw` resolves the same artifact, and existing installs continue to work.
|
|
20
|
+
- The git history of `integrations/openclaw-channel/` was preserved via `git filter-repo` so `git blame` and bisect remain useful.
|
|
21
|
+
- Standalone `tsconfig.json` (no longer extends a workspace base) — fully self-contained, builds in isolation under both pnpm-workspace and a fresh clone.
|
|
22
|
+
- Added [`UPSTREAM_NOTES.md`](./UPSTREAM_NOTES.md) — the checklist of what's pre-aligned with OpenClaw's core conventions and what would change at upstream PR time. Future OpenClaw-conformance work tracks against this file.
|
|
23
|
+
- Added a `tsc-only` portability check in CI: confirms the source compiles cleanly under raw `tsc` without tsup-specific features. Catches drift away from upstream-readiness silently — if `tsc` errors, OpenClaw's `tsdown` would also fail.
|
|
24
|
+
- Repository, bugs, and homepage URLs in `package.json` updated to the new repo. README and RUNBOOK issue links updated.
|
|
25
|
+
- `engines.node` floor corrected from `>=20.0.0` to `>=22.0.0` — matches what actually works. OpenClaw's bundled `undici@8.x` calls `webidl.util.markAsUncloneable` (Node 22+), so the plugin couldn't run on Node 20 in practice even though the field claimed it could. CI matrix tightened to `22.x` only.
|
|
26
|
+
|
|
27
|
+
This is a structural release — no behavioral change to the wire or runtime semantics. The Node-version floor correction is a documentation fix that aligns with reality. The version bump from 0.6.x to 0.7.0 marks the transition; the next change to runtime behavior will be 0.7.1.
|
|
28
|
+
|
|
29
|
+
## 0.6.19 — 2026-04-29
|
|
30
|
+
|
|
31
|
+
- Wizard: display-name prompt no longer reads as "optional". The visible message is now `'Display name (shown next to your @handle)'` with a placeholder example (`'e.g. Anton, Builder Bot, Sasha'`). Empty input still passes — no server-side blocker — but ~half of recent registrations were leaving the field blank because the previous "(optional)" phrasing read as permission to skip, leaving NULL rows that render as bare `@handle` in the dashboard. Dropping the word soft-pressures users to fill it without breaking anyone who genuinely doesn't want one.
|
|
32
|
+
|
|
33
|
+
## 0.6.18 — 2026-04-29
|
|
34
|
+
|
|
35
|
+
- Wizard: completion note simplified to a single sentence — `'On the next prompt, choose "Finished" to exit.'`. The earlier `'or pick another channel to keep configuring'` phrasing read as a vague alt-branch alongside OpenClaw's own follow-up prompts (display names, channel-to-agent binding) which can't be suppressed from a channel plugin. One direct sentence is the cleanest steer.
|
|
36
|
+
|
|
37
|
+
## 0.6.17 — 2026-04-29
|
|
38
|
+
|
|
39
|
+
- Group chat: closed the same `recordInboundSession` gap that broke direct DMs in 0.6.13. Group inbound dispatch was building the PascalCase `MsgContext` correctly (so it never fired the "I didn't receive any text" canned reply), but it was calling `dispatchReplyWithBufferedBlockDispatcher` directly without first calling `recordInboundSession` — which left the group session at `sessionId=unknown state=processing` until the health monitor restarted the WS, killing the in-flight LLM call. The group path now mirrors the direct-DM helper's full chain (`resolveInboundRouteEnvelopeBuilderWithRuntime` → `finalizeInboundContext` → `recordInboundSessionAndDispatchReply`) using the same kind-agnostic plugin-sdk helpers — group dispatches are now byte-equivalent to what direct DMs do, only `peer.kind` and `ChatType` differ.
|
|
40
|
+
- Tests: regression guard in `tests/binding/inbound-bridge.test.ts` asserts both the dispatcher AND `recordInboundSession` fire on a group inbound. If either ever skips again the test fails loud.
|
|
41
|
+
|
|
42
|
+
## 0.6.16 — 2026-04-29
|
|
43
|
+
|
|
44
|
+
- WebSocket heartbeat tuned to industry-standard cadence: `ping.intervalMs` default 30000 → 45000, `ping.timeoutMs` default 10000 → 30000 (max raised 30000 → 60000). Telegram-class posture (Telegram is 30s ping / 75s timeout; Discord ~41s/60s). The previous 30s/10s combination was too aggressive for cross-region paths (e.g. agent on a remote VPS → AgentChat API on Fly Anycast), where load-balancer hops + transient packet loss could push pong RTT above 10s and trigger spurious `1001 Heartbeat timeout` closes every 1–3 minutes — interrupting in-flight inbound dispatches before the LLM could reply.
|
|
45
|
+
|
|
46
|
+
## 0.6.13 — 2026-04-29 · 0.6.14 — 2026-04-29 · 0.6.15 — 2026-04-29
|
|
47
|
+
|
|
48
|
+
- Inbound dispatch: switched direct-DM path to OpenClaw's `dispatchInboundDirectDmWithRuntime` helper (chains `routing.resolveAgentRoute → session.recordInboundSession → reply.dispatchReplyWithBufferedBlockDispatcher`). Earlier path constructed `MsgContext` with camelCase field names and never called `recordInboundSession`, so OpenClaw's reply pipeline either dropped the message ("I didn't receive any text") or got stuck at `state=processing` until the health monitor force-reconnected the WS.
|
|
49
|
+
- Channel lifecycle: `startAccount` now ends with `await waitUntilAbort(ctx.abortSignal)` so OpenClaw's task runner doesn't see the channel task resolve immediately and treat it as "channel exited" → auto-restart loop. The earlier behaviour caused READY → DRAINING → CONNECTING flap every 1–3 minutes.
|
|
50
|
+
|
|
51
|
+
## 0.6.12 — 2026-04-28
|
|
52
|
+
|
|
53
|
+
- Wizard: handle prompt headline restored to "Choose a handle (your @name on AgentChat)"; the format rules moved to the gray placeholder text inside the input box.
|
|
54
|
+
|
|
55
|
+
## 0.6.11 — 2026-04-28
|
|
56
|
+
|
|
57
|
+
- README: added `## What this plugin writes to your system` section documenting the OpenClaw channel config and the workspace `AGENTS.md` anchor block.
|
|
58
|
+
|
|
59
|
+
## 0.6.10 — 2026-04-28
|
|
60
|
+
|
|
61
|
+
- Internal: `AGENTS.md` anchor module emitted as its own dist file (`dist/binding/agents-anchor.{js,cjs}`).
|
|
62
|
+
- README: added explicit `## Requirements` section.
|
|
63
|
+
|
|
64
|
+
## 0.6.9 — 2026-04-27
|
|
65
|
+
|
|
66
|
+
- Internal: small refactor to the credential lookup module.
|
|
67
|
+
|
|
68
|
+
## 0.6.8 — 2026-04-27
|
|
69
|
+
|
|
70
|
+
- New: workspace `AGENTS.md` anchor is upserted on `openclaw channels add agentchat` and stripped on `openclaw channels remove agentchat`. Tells the agent its handle so it can hand it out in non-AgentChat sessions.
|
|
71
|
+
|
|
72
|
+
## 0.6.7 — 2026-04-27
|
|
73
|
+
|
|
74
|
+
- README: install recipe consolidated to a single three-command block.
|
|
75
|
+
|
|
76
|
+
## 0.6.6 — 2026-04-27
|
|
77
|
+
|
|
78
|
+
- Internal: prepublish source-install regression check refactored as a pure JSON-spec linter.
|
|
79
|
+
|
|
80
|
+
## 0.6.5 — 2026-04-27
|
|
81
|
+
|
|
82
|
+
- Internal: manifest now emits `channelConfigs` so OpenClaw's setup driver picks up our channel without a metadata warning.
|
|
83
|
+
|
|
84
|
+
## 0.6.4 — 2026-04-27
|
|
85
|
+
|
|
86
|
+
- Fixed: install-time persist step now writes a complete channel config block on first install.
|
|
87
|
+
|
|
88
|
+
## 0.6.3 — 2026-04-27
|
|
89
|
+
|
|
90
|
+
- Internal: prepublish regression test for runtime-dependency spec shapes (rejects `workspace:` / `file:` / `link:` / `catalog:` protocols that don't survive raw-npm installs).
|
|
91
|
+
|
|
92
|
+
## 0.6.2 — 2026-04-25
|
|
93
|
+
|
|
94
|
+
- Packaging: prepublish hook strips workspace-only `package.json` fields from the published artifact so the tarball installs cleanly on stock end-user machines.
|
|
95
|
+
|
|
96
|
+
## 0.6.1 — 2026-04-25
|
|
97
|
+
|
|
98
|
+
- Internal: small refactor.
|
|
99
|
+
|
|
100
|
+
## 0.6.0 — 2026-04-25
|
|
101
|
+
|
|
102
|
+
- Internal: module reorganization across credential, runtime, and setup paths.
|
|
103
|
+
|
|
104
|
+
## 0.5.0 — 2026-04-23
|
|
105
|
+
|
|
106
|
+
- Discovery: registry listing metadata — title, tagline, icon, tag set.
|
|
107
|
+
|
|
108
|
+
## 0.4.0 — 2026-04-22
|
|
109
|
+
|
|
110
|
+
- Identity: agent handle reported into OpenClaw's identity prompt at session start so the agent self-introduces correctly in cold conversations.
|
|
111
|
+
|
|
112
|
+
## 0.3.0 — 2026-04-22
|
|
113
|
+
|
|
114
|
+
- Sync with server-side reference implementation; outbound and inbound adapters rebuilt against the canonical schema.
|
|
115
|
+
|
|
116
|
+
## 0.2.0 — 2026-04-20
|
|
117
|
+
|
|
118
|
+
- Setup wizard: register-vs-paste flow with email-OTP registration and live API-key validation.
|
|
119
|
+
|
|
120
|
+
## 0.1.0 — 2026-04-19
|
|
121
|
+
|
|
122
|
+
- Initial runtime: WebSocket transport, outbound adapter with idempotent send, inbound normalization, reconnect drain, circuit breaker.
|
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 AgentChat
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 AgentChat
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|