@yahaha-studio/kichi-forwarder 0.1.2-beta.25 → 0.1.2-beta.26

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/dist/index.js CHANGED
@@ -1894,6 +1894,15 @@ const plugin = {
1894
1894
  if (!agentId) {
1895
1895
  return jsonResult({ success: false, error: "Failed to resolve agent-scoped Kichi runtime" });
1896
1896
  }
1897
+ // Auto bot-reply runs already send the reply from the agent's plain text
1898
+ // output (see the bot_message handler), with a deterministic depth. Refuse
1899
+ // the tool in that session so the same bubble is not sent/recorded twice.
1900
+ if (locator.sessionKey === `agent:${agentId}:bot_message`) {
1901
+ return jsonResult({
1902
+ success: false,
1903
+ error: "Do not call kichi_bot_message here. Reply by outputting the bubble text directly; it is sent automatically.",
1904
+ });
1905
+ }
1897
1906
  const service = runtimeManager.getRuntime(locator) ?? runtimeManager.createRuntimeForAgent(agentId);
1898
1907
  const { toAvatarId, depth, bubble, poseType, action, log } = (params || {});
1899
1908
  if (typeof toAvatarId !== "string" || !toAvatarId.trim()) {
package/index.ts CHANGED
@@ -2215,6 +2215,15 @@ const plugin = {
2215
2215
  if (!agentId) {
2216
2216
  return jsonResult({ success: false, error: "Failed to resolve agent-scoped Kichi runtime" });
2217
2217
  }
2218
+ // Auto bot-reply runs already send the reply from the agent's plain text
2219
+ // output (see the bot_message handler), with a deterministic depth. Refuse
2220
+ // the tool in that session so the same bubble is not sent/recorded twice.
2221
+ if (locator.sessionKey === `agent:${agentId}:bot_message`) {
2222
+ return jsonResult({
2223
+ success: false,
2224
+ error: "Do not call kichi_bot_message here. Reply by outputting the bubble text directly; it is sent automatically.",
2225
+ });
2226
+ }
2218
2227
  const service = runtimeManager.getRuntime(locator) ?? runtimeManager.createRuntimeForAgent(agentId);
2219
2228
  const { toAvatarId, depth, bubble, poseType, action, log } = (params || {}) as {
2220
2229
  toAvatarId?: string;
@@ -2,7 +2,7 @@
2
2
  "id": "kichi-forwarder",
3
3
  "name": "Kichi Forwarder",
4
4
  "description": "Native OpenClaw plugin for Kichi World with direct avatar control, status sync, timers, notes, and music tools",
5
- "version": "0.1.2-beta.25",
5
+ "version": "0.1.2-beta.26",
6
6
  "author": "OpenClaw",
7
7
  "skills": ["./skills/kichi-forwarder"],
8
8
  "contracts": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yahaha-studio/kichi-forwarder",
3
- "version": "0.1.2-beta.25",
3
+ "version": "0.1.2-beta.26",
4
4
  "description": "Native OpenClaw plugin for Kichi World with direct avatar control, status sync, timers, notes, and music tools",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",