diff --git a/CHANGELOG.md b/CHANGELOG.md
index 954be77e2ef..195e06ff224 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,8 @@ Docs: https://docs.openclaw.ai
## Unreleased
+## 2026.3.28-beta.1
+
### Breaking
- Providers/Qwen: remove the deprecated `qwen-portal-auth` OAuth integration for `portal.qwen.ai`; migrate to Model Studio with `openclaw onboard --auth-choice modelstudio-api-key`. (#52709) Thanks @pomelo-nwu.
diff --git a/apps/android/app/build.gradle.kts b/apps/android/app/build.gradle.kts
index 6ebd7bcd364..a9a49d0fa4d 100644
--- a/apps/android/app/build.gradle.kts
+++ b/apps/android/app/build.gradle.kts
@@ -65,8 +65,8 @@ android {
applicationId = "ai.openclaw.app"
minSdk = 31
targetSdk = 36
- versionCode = 2026032800
- versionName = "2026.3.28"
+ versionCode = 2026032801
+ versionName = "2026.3.28-beta.1"
ndk {
// Support all major ABIs — native libs are tiny (~47 KB per ABI)
abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
diff --git a/apps/ios/Config/Version.xcconfig b/apps/ios/Config/Version.xcconfig
index b07c52a2a6d..88ad1c96b6c 100644
--- a/apps/ios/Config/Version.xcconfig
+++ b/apps/ios/Config/Version.xcconfig
@@ -1,8 +1,8 @@
// Shared iOS version defaults.
// Generated overrides live in build/Version.xcconfig (git-ignored).
-OPENCLAW_GATEWAY_VERSION = 2026.3.28
+OPENCLAW_GATEWAY_VERSION = 2026.3.28-beta.1
OPENCLAW_MARKETING_VERSION = 2026.3.28
-OPENCLAW_BUILD_VERSION = 202603280
+OPENCLAW_BUILD_VERSION = 2026032801
#include? "../build/Version.xcconfig"
diff --git a/apps/macos/Sources/OpenClaw/Resources/Info.plist b/apps/macos/Sources/OpenClaw/Resources/Info.plist
index 5b2d76f4eaa..6f5d6930242 100644
--- a/apps/macos/Sources/OpenClaw/Resources/Info.plist
+++ b/apps/macos/Sources/OpenClaw/Resources/Info.plist
@@ -15,9 +15,9 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 2026.3.28
+ 2026.3.28-beta.1
CFBundleVersion
- 202603280
+ 2026032801
CFBundleIconFile
OpenClaw
CFBundleURLTypes
diff --git a/docs/.generated/config-baseline.json b/docs/.generated/config-baseline.json
index 665771c7f95..7c6a1200aaf 100644
--- a/docs/.generated/config-baseline.json
+++ b/docs/.generated/config-baseline.json
@@ -16723,7 +16723,7 @@
"network"
],
"label": "Google Chat",
- "help": "Google Workspace Chat app via HTTP webhooks.",
+ "help": "Google Workspace Chat app with HTTP webhook.",
"hasChildren": true
},
{
@@ -20991,7 +20991,7 @@
"network"
],
"label": "LINE",
- "help": "LINE Messaging API bot for Japan/Taiwan/Thailand markets.",
+ "help": "LINE Messaging API webhook bot.",
"hasChildren": true
},
{
diff --git a/docs/.generated/config-baseline.jsonl b/docs/.generated/config-baseline.jsonl
index d5a8331f0fb..a0a69c7812c 100644
--- a/docs/.generated/config-baseline.jsonl
+++ b/docs/.generated/config-baseline.jsonl
@@ -1472,7 +1472,7 @@
{"recordType":"path","path":"channels.feishu.webhookHost","kind":"channel","type":"string","required":false,"deprecated":false,"sensitive":false,"tags":[],"hasChildren":false}
{"recordType":"path","path":"channels.feishu.webhookPath","kind":"channel","type":"string","required":true,"defaultValue":"/feishu/events","deprecated":false,"sensitive":false,"tags":[],"hasChildren":false}
{"recordType":"path","path":"channels.feishu.webhookPort","kind":"channel","type":"integer","required":false,"deprecated":false,"sensitive":false,"tags":[],"hasChildren":false}
-{"recordType":"path","path":"channels.googlechat","kind":"channel","type":"object","required":false,"deprecated":false,"sensitive":false,"tags":["channels","network"],"label":"Google Chat","help":"Google Workspace Chat app via HTTP webhooks.","hasChildren":true}
+{"recordType":"path","path":"channels.googlechat","kind":"channel","type":"object","required":false,"deprecated":false,"sensitive":false,"tags":["channels","network"],"label":"Google Chat","help":"Google Workspace Chat app with HTTP webhook.","hasChildren":true}
{"recordType":"path","path":"channels.googlechat.accounts","kind":"channel","type":"object","required":false,"deprecated":false,"sensitive":false,"tags":[],"hasChildren":true}
{"recordType":"path","path":"channels.googlechat.accounts.*","kind":"channel","type":"object","required":false,"deprecated":false,"sensitive":false,"tags":[],"hasChildren":true}
{"recordType":"path","path":"channels.googlechat.accounts.*.actions","kind":"channel","type":"object","required":false,"deprecated":false,"sensitive":false,"tags":[],"hasChildren":true}
@@ -1868,7 +1868,7 @@
{"recordType":"path","path":"channels.irc.textChunkLimit","kind":"channel","type":"integer","required":false,"deprecated":false,"sensitive":false,"tags":[],"hasChildren":false}
{"recordType":"path","path":"channels.irc.tls","kind":"channel","type":"boolean","required":false,"deprecated":false,"sensitive":false,"tags":[],"hasChildren":false}
{"recordType":"path","path":"channels.irc.username","kind":"channel","type":"string","required":false,"deprecated":false,"sensitive":false,"tags":[],"hasChildren":false}
-{"recordType":"path","path":"channels.line","kind":"channel","type":"object","required":false,"deprecated":false,"sensitive":false,"tags":["channels","network"],"label":"LINE","help":"LINE Messaging API bot for Japan/Taiwan/Thailand markets.","hasChildren":true}
+{"recordType":"path","path":"channels.line","kind":"channel","type":"object","required":false,"deprecated":false,"sensitive":false,"tags":["channels","network"],"label":"LINE","help":"LINE Messaging API webhook bot.","hasChildren":true}
{"recordType":"path","path":"channels.line.accounts","kind":"channel","type":"object","required":false,"deprecated":false,"sensitive":false,"tags":[],"hasChildren":true}
{"recordType":"path","path":"channels.line.accounts.*","kind":"channel","type":"object","required":false,"deprecated":false,"sensitive":false,"tags":[],"hasChildren":true}
{"recordType":"path","path":"channels.line.accounts.*.allowFrom","kind":"channel","type":"array","required":false,"deprecated":false,"sensitive":false,"tags":[],"hasChildren":true}
diff --git a/docs/.generated/plugin-sdk-api-baseline.json b/docs/.generated/plugin-sdk-api-baseline.json
index 97900b97f4f..5c065b21047 100644
--- a/docs/.generated/plugin-sdk-api-baseline.json
+++ b/docs/.generated/plugin-sdk-api-baseline.json
@@ -55,7 +55,7 @@
"exportName": "ChannelAccountSnapshot",
"kind": "type",
"source": {
- "line": 144,
+ "line": 145,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -82,7 +82,7 @@
"exportName": "ChannelCapabilities",
"kind": "type",
"source": {
- "line": 230,
+ "line": 231,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -154,7 +154,7 @@
"exportName": "ChannelMessageActionAdapter",
"kind": "type",
"source": {
- "line": 516,
+ "line": 517,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -163,7 +163,7 @@
"exportName": "ChannelMessageActionContext",
"kind": "type",
"source": {
- "line": 482,
+ "line": 483,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -1170,7 +1170,7 @@
"exportName": "BaseProbeResult",
"kind": "type",
"source": {
- "line": 559,
+ "line": 560,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -1179,7 +1179,7 @@
"exportName": "BaseTokenResolution",
"kind": "type",
"source": {
- "line": 565,
+ "line": 566,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -1188,7 +1188,7 @@
"exportName": "ChannelAccountSnapshot",
"kind": "type",
"source": {
- "line": 144,
+ "line": 145,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -1215,7 +1215,7 @@
"exportName": "ChannelGroupContext",
"kind": "type",
"source": {
- "line": 216,
+ "line": 217,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -1224,7 +1224,7 @@
"exportName": "ChannelMessageActionAdapter",
"kind": "type",
"source": {
- "line": 516,
+ "line": 517,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -1233,7 +1233,7 @@
"exportName": "ChannelMessageActionContext",
"kind": "type",
"source": {
- "line": 482,
+ "line": 483,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -1287,7 +1287,7 @@
"exportName": "ChannelThreadingContext",
"kind": "type",
"source": {
- "line": 365,
+ "line": 366,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -1296,7 +1296,7 @@
"exportName": "ChannelThreadingToolContext",
"kind": "type",
"source": {
- "line": 379,
+ "line": 380,
"path": "src/channels/plugins/types.core.ts"
}
}
@@ -1404,7 +1404,7 @@
}
},
{
- "declaration": "export type ReplyPrefixContext = import(\"src/auto-reply/reply/response-prefix-template\").ResponsePrefixContext;",
+ "declaration": "export type ReplyPrefixContext = import(\"../auto-reply/reply/response-prefix-template.ts\").ResponsePrefixContext;",
"exportName": "ReplyPrefixContext",
"kind": "type",
"source": {
@@ -1752,7 +1752,7 @@
"exportName": "BaseProbeResult",
"kind": "type",
"source": {
- "line": 559,
+ "line": 560,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -1761,7 +1761,7 @@
"exportName": "BaseTokenResolution",
"kind": "type",
"source": {
- "line": 565,
+ "line": 566,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -1770,7 +1770,7 @@
"exportName": "ChannelAccountSnapshot",
"kind": "type",
"source": {
- "line": 144,
+ "line": 145,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -1788,7 +1788,7 @@
"exportName": "ChannelAgentPromptAdapter",
"kind": "type",
"source": {
- "line": 463,
+ "line": 464,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -1833,7 +1833,7 @@
"exportName": "ChannelCapabilities",
"kind": "type",
"source": {
- "line": 230,
+ "line": 231,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -1932,7 +1932,7 @@
"exportName": "ChannelDirectoryEntry",
"kind": "type",
"source": {
- "line": 469,
+ "line": 470,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -1941,7 +1941,7 @@
"exportName": "ChannelDirectoryEntryKind",
"kind": "type",
"source": {
- "line": 467,
+ "line": 468,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -2013,7 +2013,7 @@
"exportName": "ChannelGroupContext",
"kind": "type",
"source": {
- "line": 216,
+ "line": 217,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -2094,7 +2094,7 @@
"exportName": "ChannelLogSink",
"kind": "type",
"source": {
- "line": 209,
+ "line": 210,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -2103,7 +2103,7 @@
"exportName": "ChannelMentionAdapter",
"kind": "type",
"source": {
- "line": 260,
+ "line": 261,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -2112,7 +2112,7 @@
"exportName": "ChannelMessageActionAdapter",
"kind": "type",
"source": {
- "line": 516,
+ "line": 517,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -2121,7 +2121,7 @@
"exportName": "ChannelMessageActionContext",
"kind": "type",
"source": {
- "line": 482,
+ "line": 483,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -2175,7 +2175,7 @@
"exportName": "ChannelMessagingAdapter",
"kind": "type",
"source": {
- "line": 395,
+ "line": 396,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -2238,7 +2238,7 @@
"exportName": "ChannelPollContext",
"kind": "type",
"source": {
- "line": 547,
+ "line": 548,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -2247,7 +2247,7 @@
"exportName": "ChannelPollResult",
"kind": "type",
"source": {
- "line": 538,
+ "line": 539,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -2292,7 +2292,7 @@
"exportName": "ChannelSecurityContext",
"kind": "type",
"source": {
- "line": 254,
+ "line": 255,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -2301,7 +2301,7 @@
"exportName": "ChannelSecurityDmPolicy",
"kind": "type",
"source": {
- "line": 245,
+ "line": 246,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -2346,7 +2346,7 @@
"exportName": "ChannelStreamingAdapter",
"kind": "type",
"source": {
- "line": 279,
+ "line": 280,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -2355,7 +2355,7 @@
"exportName": "ChannelStructuredComponents",
"kind": "type",
"source": {
- "line": 288,
+ "line": 289,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -2364,7 +2364,7 @@
"exportName": "ChannelThreadingAdapter",
"kind": "type",
"source": {
- "line": 322,
+ "line": 323,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -2373,7 +2373,7 @@
"exportName": "ChannelThreadingContext",
"kind": "type",
"source": {
- "line": 365,
+ "line": 366,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -2382,7 +2382,7 @@
"exportName": "ChannelThreadingToolContext",
"kind": "type",
"source": {
- "line": 379,
+ "line": 380,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -2391,7 +2391,7 @@
"exportName": "ChannelToolSend",
"kind": "type",
"source": {
- "line": 509,
+ "line": 510,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -2701,7 +2701,7 @@
"exportName": "buildModelsProviderData",
"kind": "function",
"source": {
- "line": 37,
+ "line": 39,
"path": "src/auto-reply/reply/commands-models.ts"
}
},
@@ -2728,7 +2728,7 @@
"exportName": "formatModelsAvailableHeader",
"kind": "function",
"source": {
- "line": 204,
+ "line": 215,
"path": "src/auto-reply/reply/commands-models.ts"
}
},
@@ -2962,7 +2962,7 @@
"exportName": "resolveModelsCommandReply",
"kind": "function",
"source": {
- "line": 220,
+ "line": 231,
"path": "src/auto-reply/reply/commands-models.ts"
}
},
@@ -3468,7 +3468,7 @@
"exportName": "getChatChannelMeta",
"kind": "function",
"source": {
- "line": 124,
+ "line": 123,
"path": "src/channels/chat-meta.ts"
}
},
@@ -3684,7 +3684,7 @@
"exportName": "ChannelMessageActionContext",
"kind": "type",
"source": {
- "line": 482,
+ "line": 483,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -3693,7 +3693,7 @@
"exportName": "ChannelMessagingAdapter",
"kind": "type",
"source": {
- "line": 395,
+ "line": 396,
"path": "src/channels/plugins/types.core.ts"
}
},
@@ -3702,12 +3702,12 @@
"exportName": "ChannelOutboundSessionRoute",
"kind": "type",
"source": {
- "line": 309,
+ "line": 310,
"path": "src/channels/plugins/types.core.ts"
}
},
{
- "declaration": "export type ChannelOutboundSessionRouteParams = { cfg: OpenClawConfig; agentId: string; accountId?: string | null; target: string; resolvedTarget?: { to: string; kind: import(\"src/channels/plugins/types.core\").ChannelDirectoryEntryKind | \"channel\"; display?: string; source: \"normalized\" | \"directory\"; }; replyToId?: string | null; threadId?: string | number | null;};",
+ "declaration": "export type ChannelOutboundSessionRouteParams = { cfg: OpenClawConfig; agentId: string; accountId?: string | null; target: string; resolvedTarget?: { to: string; kind: import(\"../channels/plugins/types.core.js\").ChannelDirectoryEntryKind | \"channel\"; display?: string; source: \"normalized\" | \"directory\"; }; replyToId?: string | null; threadId?: string | number | null;};",
"exportName": "ChannelOutboundSessionRouteParams",
"kind": "type",
"source": {
@@ -5253,7 +5253,7 @@
"exportName": "ChannelAccountSnapshot",
"kind": "type",
"source": {
- "line": 144,
+ "line": 145,
"path": "src/channels/plugins/types.core.ts"
}
},
diff --git a/docs/.generated/plugin-sdk-api-baseline.jsonl b/docs/.generated/plugin-sdk-api-baseline.jsonl
index dfe3b3f7da3..48fa985989c 100644
--- a/docs/.generated/plugin-sdk-api-baseline.jsonl
+++ b/docs/.generated/plugin-sdk-api-baseline.jsonl
@@ -4,10 +4,10 @@
{"declaration":"export function onDiagnosticEvent(listener: (evt: DiagnosticEventPayload) => void): () => void;","entrypoint":"index","exportName":"onDiagnosticEvent","importSpecifier":"openclaw/plugin-sdk","kind":"function","recordType":"export","sourceLine":229,"sourcePath":"src/infra/diagnostic-events.ts"}
{"declaration":"export function registerContextEngine(id: string, factory: ContextEngineFactory): ContextEngineRegistrationResult;","entrypoint":"index","exportName":"registerContextEngine","importSpecifier":"openclaw/plugin-sdk","kind":"function","recordType":"export","sourceLine":377,"sourcePath":"src/context-engine/registry.ts"}
{"declaration":"export type AnyAgentTool = AnyAgentTool;","entrypoint":"index","exportName":"AnyAgentTool","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":9,"sourcePath":"src/agents/tools/common.ts"}
-{"declaration":"export type ChannelAccountSnapshot = ChannelAccountSnapshot;","entrypoint":"index","exportName":"ChannelAccountSnapshot","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":144,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelAccountSnapshot = ChannelAccountSnapshot;","entrypoint":"index","exportName":"ChannelAccountSnapshot","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":145,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelAgentTool = ChannelAgentTool;","entrypoint":"index","exportName":"ChannelAgentTool","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":18,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelAgentToolFactory = ChannelAgentToolFactory;","entrypoint":"index","exportName":"ChannelAgentToolFactory","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":23,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelCapabilities = ChannelCapabilities;","entrypoint":"index","exportName":"ChannelCapabilities","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":230,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelCapabilities = ChannelCapabilities;","entrypoint":"index","exportName":"ChannelCapabilities","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":231,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelConfigSchema = ChannelConfigSchema;","entrypoint":"index","exportName":"ChannelConfigSchema","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":69,"sourcePath":"src/channels/plugins/types.plugin.ts"}
{"declaration":"export type ChannelConfigUiHint = ChannelConfigUiHint;","entrypoint":"index","exportName":"ChannelConfigUiHint","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":38,"sourcePath":"src/channels/plugins/types.plugin.ts"}
{"declaration":"export type ChannelConfiguredBindingConversationRef = ChannelConfiguredBindingConversationRef;","entrypoint":"index","exportName":"ChannelConfiguredBindingConversationRef","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":569,"sourcePath":"src/channels/plugins/types.adapters.ts"}
@@ -15,8 +15,8 @@
{"declaration":"export type ChannelConfiguredBindingProvider = ChannelConfiguredBindingProvider;","entrypoint":"index","exportName":"ChannelConfiguredBindingProvider","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":590,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelGatewayContext = ChannelGatewayContext;","entrypoint":"index","exportName":"ChannelGatewayContext","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":243,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelId = ChannelId;","entrypoint":"index","exportName":"ChannelId","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":13,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelMessageActionAdapter = ChannelMessageActionAdapter;","entrypoint":"index","exportName":"ChannelMessageActionAdapter","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":516,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelMessageActionContext = ChannelMessageActionContext;","entrypoint":"index","exportName":"ChannelMessageActionContext","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":482,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelMessageActionAdapter = ChannelMessageActionAdapter;","entrypoint":"index","exportName":"ChannelMessageActionAdapter","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":517,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelMessageActionContext = ChannelMessageActionContext;","entrypoint":"index","exportName":"ChannelMessageActionContext","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":483,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelMessageActionName = \"send\" | \"broadcast\" | \"poll\" | \"poll-vote\" | \"react\" | \"reactions\" | \"read\" | \"edit\" | \"unsend\" | \"reply\" | \"sendWithEffect\" | \"renameGroup\" | \"setGroupIcon\" | \"addParticipant\" | \"removeParticipant\" | \"leaveGroup\" | \"sendAttachment\" | \"delete\" | \"pin\" | \"unpin\" | \"list-pins\" | \"permissions\" | \"thread-create\" | \"thread-list\" | \"thread-reply\" | \"search\" | \"sticker\" | \"sticker-search\" | \"member-info\" | \"role-info\" | \"emoji-list\" | \"emoji-upload\" | \"sticker-upload\" | \"role-add\" | \"role-remove\" | \"channel-info\" | \"channel-list\" | \"channel-create\" | \"channel-edit\" | \"channel-delete\" | \"channel-move\" | \"category-create\" | \"category-edit\" | \"category-delete\" | \"topic-create\" | \"topic-edit\" | \"voice-status\" | \"event-list\" | \"event-create\" | \"timeout\" | \"kick\" | \"ban\" | \"set-profile\" | \"set-presence\" | \"download-file\" | \"upload-file\";","entrypoint":"index","exportName":"ChannelMessageActionName","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":6,"sourcePath":"src/channels/plugins/types.ts"}
{"declaration":"export type ChannelPlugin = ChannelPlugin;","entrypoint":"index","exportName":"ChannelPlugin","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":77,"sourcePath":"src/channels/plugins/types.plugin.ts"}
{"declaration":"export type ChannelSetupAdapter = ChannelSetupAdapter;","entrypoint":"index","exportName":"ChannelSetupAdapter","importSpecifier":"openclaw/plugin-sdk","kind":"type","recordType":"export","sourceLine":60,"sourcePath":"src/channels/plugins/types.adapters.ts"}
@@ -127,21 +127,21 @@
{"declaration":"export const ToolPolicySchema: z.ZodOptional>; alsoAllow: z.ZodOptional>; deny: z.ZodOptional>; }, z.core.$strict>>;","entrypoint":"channel-config-schema","exportName":"ToolPolicySchema","importSpecifier":"openclaw/plugin-sdk/channel-config-schema","kind":"const","recordType":"export","sourceLine":253,"sourcePath":"src/config/zod-schema.agent-runtime.ts"}
{"declaration":"export const WhatsAppConfigSchema: z.ZodObject<{ enabled: z.ZodOptional; capabilities: z.ZodOptional>; markdown: z.ZodOptional>; }, z.core.$strict>>; configWrites: z.ZodOptional; sendReadReceipts: z.ZodOptional; messagePrefix: z.ZodOptional; responsePrefix: z.ZodOptional; dmPolicy: z.ZodDefault>>; selfChatMode: z.ZodOptional; allowFrom: z.ZodOptional>; defaultTo: z.ZodOptional; groupAllowFrom: z.ZodOptional>; groupPolicy: z.ZodDefault>>; historyLimit: z.ZodOptional; dmHistoryLimit: z.ZodOptional; dms: z.ZodOptional; }, z.core.$strict>>>>; textChunkLimit: z.ZodOptional; chunkMode: z.ZodOptional>; blockStreaming: z.ZodOptional; blockStreamingCoalesce: z.ZodOptional; maxChars: z.ZodOptional; idleMs: z.ZodOptional; }, z.core.$strict>>; groups: z.ZodOptional; tools: z.ZodOptional>; alsoAllow: z.ZodOptional>; deny: z.ZodOptional>; }, z.core.$strict>>; toolsBySender: z.ZodOptional>; alsoAllow: z.ZodOptional>; deny: z.ZodOptional>; }, z.core.$strict>>>>; }, z.core.$strict>>>>; ackReaction: z.ZodOptional; direct: z.ZodDefault>; group: z.ZodDefault>>; }, z.core.$strict>>; debounceMs: z.ZodDefault>; heartbeat: z.ZodOptional; showAlerts: z.ZodOptional; useIndicator: z.ZodOptional; }, z.core.$strict>>; healthMonitor: z.ZodOptional; }, z.core.$strict>>; accounts: z.ZodOptional>; markdown: z.ZodOptional>; }, z.core.$strict>>; configWrites: z.ZodOptional; sendReadReceipts: z.ZodOptional; messagePrefix: z.ZodOptional; responsePrefix: z.ZodOptional; dmPolicy: z.ZodDefault>>; selfChatMode: z.ZodOptional; allowFrom: z.ZodOptional>; defaultTo: z.ZodOptional; groupAllowFrom: z.ZodOptional>; groupPolicy: z.ZodDefault>>; historyLimit: z.ZodOptional; dmHistoryLimit: z.ZodOptional; dms: z.ZodOptional; }, z.core.$strict>>>>; textChunkLimit: z.ZodOptional; chunkMode: z.ZodOptional>; blockStreaming: z.ZodOptional; blockStreamingCoalesce: z.ZodOptional; maxChars: z.ZodOptional; idleMs: z.ZodOptional; }, z.core.$strict>>; groups: z.ZodOptional; tools: z.ZodOptional>; alsoAllow: z.ZodOptional>; deny: z.ZodOptional>; }, z.core.$strict>>; toolsBySender: z.ZodOptional>; alsoAllow: z.ZodOptional>; deny: z.ZodOptional>; }, z.core.$strict>>>>; }, z.core.$strict>>>>; ackReaction: z.ZodOptional; direct: z.ZodDefault>; group: z.ZodDefault>>; }, z.core.$strict>>; debounceMs: z.ZodDefault>; heartbeat: z.ZodOptional; showAlerts: z.ZodOptional; useIndicator: z.ZodOptional; }, z.core.$strict>>; healthMonitor: z.ZodOptional; }, z.core.$strict>>; name: z.ZodOptional; enabled: z.ZodOptional; authDir: z.ZodOptional; mediaMaxMb: z.ZodOptional; }, z.core.$strict>>>>; defaultAccount: z.ZodOptional; mediaMaxMb: z.ZodDefault>; actions: z.ZodOptional; sendMessage: z.ZodOptional; polls: z.ZodOptional; }, z.core.$strict>>; }, z.core.$strict>;","entrypoint":"channel-config-schema","exportName":"WhatsAppConfigSchema","importSpecifier":"openclaw/plugin-sdk/channel-config-schema","kind":"const","recordType":"export","sourceLine":119,"sourcePath":"src/config/zod-schema.providers-whatsapp.ts"}
{"category":"channel","entrypoint":"channel-contract","importSpecifier":"openclaw/plugin-sdk/channel-contract","recordType":"module","sourceLine":1,"sourcePath":"src/plugin-sdk/channel-contract.ts"}
-{"declaration":"export type BaseProbeResult = BaseProbeResult;","entrypoint":"channel-contract","exportName":"BaseProbeResult","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":559,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type BaseTokenResolution = BaseTokenResolution;","entrypoint":"channel-contract","exportName":"BaseTokenResolution","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":565,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelAccountSnapshot = ChannelAccountSnapshot;","entrypoint":"channel-contract","exportName":"ChannelAccountSnapshot","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":144,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type BaseProbeResult = BaseProbeResult;","entrypoint":"channel-contract","exportName":"BaseProbeResult","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":560,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type BaseTokenResolution = BaseTokenResolution;","entrypoint":"channel-contract","exportName":"BaseTokenResolution","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":566,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelAccountSnapshot = ChannelAccountSnapshot;","entrypoint":"channel-contract","exportName":"ChannelAccountSnapshot","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":145,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelAgentTool = ChannelAgentTool;","entrypoint":"channel-contract","exportName":"ChannelAgentTool","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":18,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelCommandConversationContext = ChannelCommandConversationContext;","entrypoint":"channel-contract","exportName":"ChannelCommandConversationContext","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":578,"sourcePath":"src/channels/plugins/types.adapters.ts"}
-{"declaration":"export type ChannelGroupContext = ChannelGroupContext;","entrypoint":"channel-contract","exportName":"ChannelGroupContext","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":216,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelMessageActionAdapter = ChannelMessageActionAdapter;","entrypoint":"channel-contract","exportName":"ChannelMessageActionAdapter","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":516,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelMessageActionContext = ChannelMessageActionContext;","entrypoint":"channel-contract","exportName":"ChannelMessageActionContext","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":482,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelGroupContext = ChannelGroupContext;","entrypoint":"channel-contract","exportName":"ChannelGroupContext","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":217,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelMessageActionAdapter = ChannelMessageActionAdapter;","entrypoint":"channel-contract","exportName":"ChannelMessageActionAdapter","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":517,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelMessageActionContext = ChannelMessageActionContext;","entrypoint":"channel-contract","exportName":"ChannelMessageActionContext","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":483,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelMessageActionDiscoveryContext = ChannelMessageActionDiscoveryContext;","entrypoint":"channel-contract","exportName":"ChannelMessageActionDiscoveryContext","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":31,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelMessageActionName = \"send\" | \"broadcast\" | \"poll\" | \"poll-vote\" | \"react\" | \"reactions\" | \"read\" | \"edit\" | \"unsend\" | \"reply\" | \"sendWithEffect\" | \"renameGroup\" | \"setGroupIcon\" | \"addParticipant\" | \"removeParticipant\" | \"leaveGroup\" | \"sendAttachment\" | \"delete\" | \"pin\" | \"unpin\" | \"list-pins\" | \"permissions\" | \"thread-create\" | \"thread-list\" | \"thread-reply\" | \"search\" | \"sticker\" | \"sticker-search\" | \"member-info\" | \"role-info\" | \"emoji-list\" | \"emoji-upload\" | \"sticker-upload\" | \"role-add\" | \"role-remove\" | \"channel-info\" | \"channel-list\" | \"channel-create\" | \"channel-edit\" | \"channel-delete\" | \"channel-move\" | \"category-create\" | \"category-edit\" | \"category-delete\" | \"topic-create\" | \"topic-edit\" | \"voice-status\" | \"event-list\" | \"event-create\" | \"timeout\" | \"kick\" | \"ban\" | \"set-profile\" | \"set-presence\" | \"download-file\" | \"upload-file\";","entrypoint":"channel-contract","exportName":"ChannelMessageActionName","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":6,"sourcePath":"src/channels/plugins/types.ts"}
{"declaration":"export type ChannelMessageToolDiscovery = ChannelMessageToolDiscovery;","entrypoint":"channel-contract","exportName":"ChannelMessageToolDiscovery","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":56,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelMessageToolSchemaContribution = ChannelMessageToolSchemaContribution;","entrypoint":"channel-contract","exportName":"ChannelMessageToolSchemaContribution","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":51,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelStatusIssue = ChannelStatusIssue;","entrypoint":"channel-contract","exportName":"ChannelStatusIssue","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":100,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelThreadingContext = ChannelThreadingContext;","entrypoint":"channel-contract","exportName":"ChannelThreadingContext","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":365,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelThreadingToolContext = ChannelThreadingToolContext;","entrypoint":"channel-contract","exportName":"ChannelThreadingToolContext","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":379,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelThreadingContext = ChannelThreadingContext;","entrypoint":"channel-contract","exportName":"ChannelThreadingContext","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":366,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelThreadingToolContext = ChannelThreadingToolContext;","entrypoint":"channel-contract","exportName":"ChannelThreadingToolContext","importSpecifier":"openclaw/plugin-sdk/channel-contract","kind":"type","recordType":"export","sourceLine":380,"sourcePath":"src/channels/plugins/types.core.ts"}
{"category":"channel","entrypoint":"channel-pairing","importSpecifier":"openclaw/plugin-sdk/channel-pairing","recordType":"module","sourceLine":1,"sourcePath":"src/plugin-sdk/channel-pairing.ts"}
{"declaration":"export function createChannelPairingChallengeIssuer(params: { channel: ChannelId; upsertPairingRequest: (params: { id: string; meta?: PairingMeta | undefined; }) => Promise<{ code: string; created: boolean; }>; }): (challenge: Omit<...>) => Promise<...>;","entrypoint":"channel-pairing","exportName":"createChannelPairingChallengeIssuer","importSpecifier":"openclaw/plugin-sdk/channel-pairing","kind":"function","recordType":"export","sourceLine":21,"sourcePath":"src/plugin-sdk/channel-pairing.ts"}
{"declaration":"export function createChannelPairingController(params: { core: PluginRuntime; channel: ChannelId; accountId: string; }): ChannelPairingController;","entrypoint":"channel-pairing","exportName":"createChannelPairingController","importSpecifier":"openclaw/plugin-sdk/channel-pairing","kind":"function","recordType":"export","sourceLine":39,"sourcePath":"src/plugin-sdk/channel-pairing.ts"}
@@ -153,7 +153,7 @@
{"declaration":"export function createChannelReplyPipeline(params: { cfg: OpenClawConfig; agentId: string; channel?: string | undefined; accountId?: string | undefined; typing?: CreateTypingCallbacksParams | undefined; typingCallbacks?: TypingCallbacks | undefined; }): ChannelReplyPipeline;","entrypoint":"channel-reply-pipeline","exportName":"createChannelReplyPipeline","importSpecifier":"openclaw/plugin-sdk/channel-reply-pipeline","kind":"function","recordType":"export","sourceLine":20,"sourcePath":"src/plugin-sdk/channel-reply-pipeline.ts"}
{"declaration":"export type ChannelReplyPipeline = ChannelReplyPipeline;","entrypoint":"channel-reply-pipeline","exportName":"ChannelReplyPipeline","importSpecifier":"openclaw/plugin-sdk/channel-reply-pipeline","kind":"type","recordType":"export","sourceLine":16,"sourcePath":"src/plugin-sdk/channel-reply-pipeline.ts"}
{"declaration":"export type CreateTypingCallbacksParams = CreateTypingCallbacksParams;","entrypoint":"channel-reply-pipeline","exportName":"CreateTypingCallbacksParams","importSpecifier":"openclaw/plugin-sdk/channel-reply-pipeline","kind":"type","recordType":"export","sourceLine":11,"sourcePath":"src/channels/typing.ts"}
-{"declaration":"export type ReplyPrefixContext = import(\"src/auto-reply/reply/response-prefix-template\").ResponsePrefixContext;","entrypoint":"channel-reply-pipeline","exportName":"ReplyPrefixContext","importSpecifier":"openclaw/plugin-sdk/channel-reply-pipeline","kind":"type","recordType":"export","sourceLine":12,"sourcePath":"src/plugin-sdk/channel-reply-pipeline.ts"}
+{"declaration":"export type ReplyPrefixContext = import(\"../auto-reply/reply/response-prefix-template.ts\").ResponsePrefixContext;","entrypoint":"channel-reply-pipeline","exportName":"ReplyPrefixContext","importSpecifier":"openclaw/plugin-sdk/channel-reply-pipeline","kind":"type","recordType":"export","sourceLine":12,"sourcePath":"src/plugin-sdk/channel-reply-pipeline.ts"}
{"declaration":"export type ReplyPrefixContextBundle = ReplyPrefixContextBundle;","entrypoint":"channel-reply-pipeline","exportName":"ReplyPrefixContextBundle","importSpecifier":"openclaw/plugin-sdk/channel-reply-pipeline","kind":"type","recordType":"export","sourceLine":12,"sourcePath":"src/channels/reply-prefix.ts"}
{"declaration":"export type ReplyPrefixOptions = ReplyPrefixOptions;","entrypoint":"channel-reply-pipeline","exportName":"ReplyPrefixOptions","importSpecifier":"openclaw/plugin-sdk/channel-reply-pipeline","kind":"type","recordType":"export","sourceLine":20,"sourcePath":"src/channels/reply-prefix.ts"}
{"declaration":"export type TypingCallbacks = TypingCallbacks;","entrypoint":"channel-reply-pipeline","exportName":"TypingCallbacks","importSpecifier":"openclaw/plugin-sdk/channel-reply-pipeline","kind":"type","recordType":"export","sourceLine":4,"sourcePath":"src/channels/typing.ts"}
@@ -191,16 +191,16 @@
{"declaration":"export function waitUntilAbort(signal?: AbortSignal | undefined, onAbort?: (() => void | Promise) | undefined): Promise;","entrypoint":"channel-runtime","exportName":"waitUntilAbort","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"function","recordType":"export","sourceLine":38,"sourcePath":"src/plugin-sdk/channel-lifecycle.ts"}
{"declaration":"export const CHANNEL_MESSAGE_ACTION_NAMES: readonly [\"send\", \"broadcast\", \"poll\", \"poll-vote\", \"react\", \"reactions\", \"read\", \"edit\", \"unsend\", \"reply\", \"sendWithEffect\", \"renameGroup\", \"setGroupIcon\", \"addParticipant\", \"removeParticipant\", \"leaveGroup\", \"sendAttachment\", \"delete\", \"pin\", \"unpin\", \"list-pins\", \"permissions\", \"thread-create\", \"thread-list\", \"thread-reply\", \"search\", \"sticker\", \"sticker-search\", \"member-info\", \"role-info\", \"emoji-list\", \"emoji-upload\", \"sticker-upload\", \"role-add\", \"role-remove\", \"channel-info\", \"channel-list\", \"channel-create\", \"channel-edit\", \"channel-delete\", \"channel-move\", \"category-create\", \"category-edit\", \"category-delete\", \"topic-create\", \"topic-edit\", \"voice-status\", \"event-list\", \"event-create\", \"timeout\", \"kick\", \"ban\", \"set-profile\", \"set-presence\", \"set-profile\", \"download-file\", \"upload-file\"];","entrypoint":"channel-runtime","exportName":"CHANNEL_MESSAGE_ACTION_NAMES","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"const","recordType":"export","sourceLine":1,"sourcePath":"src/channels/plugins/message-action-names.ts"}
{"declaration":"export const CHANNEL_MESSAGE_CAPABILITIES: readonly [\"interactive\", \"buttons\", \"cards\", \"components\", \"blocks\"];","entrypoint":"channel-runtime","exportName":"CHANNEL_MESSAGE_CAPABILITIES","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"const","recordType":"export","sourceLine":1,"sourcePath":"src/channels/plugins/message-capabilities.ts"}
-{"declaration":"export type BaseProbeResult = BaseProbeResult;","entrypoint":"channel-runtime","exportName":"BaseProbeResult","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":559,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type BaseTokenResolution = BaseTokenResolution;","entrypoint":"channel-runtime","exportName":"BaseTokenResolution","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":565,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelAccountSnapshot = ChannelAccountSnapshot;","entrypoint":"channel-runtime","exportName":"ChannelAccountSnapshot","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":144,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type BaseProbeResult = BaseProbeResult;","entrypoint":"channel-runtime","exportName":"BaseProbeResult","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":560,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type BaseTokenResolution = BaseTokenResolution;","entrypoint":"channel-runtime","exportName":"BaseTokenResolution","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":566,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelAccountSnapshot = ChannelAccountSnapshot;","entrypoint":"channel-runtime","exportName":"ChannelAccountSnapshot","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":145,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelAccountState = ChannelAccountState;","entrypoint":"channel-runtime","exportName":"ChannelAccountState","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":108,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelAgentPromptAdapter = ChannelAgentPromptAdapter;","entrypoint":"channel-runtime","exportName":"ChannelAgentPromptAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":463,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelAgentPromptAdapter = ChannelAgentPromptAdapter;","entrypoint":"channel-runtime","exportName":"ChannelAgentPromptAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":464,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelAgentTool = ChannelAgentTool;","entrypoint":"channel-runtime","exportName":"ChannelAgentTool","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":18,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelAgentToolFactory = ChannelAgentToolFactory;","entrypoint":"channel-runtime","exportName":"ChannelAgentToolFactory","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":23,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelAllowlistAdapter = ChannelAllowlistAdapter;","entrypoint":"channel-runtime","exportName":"ChannelAllowlistAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":513,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelAuthAdapter = ChannelAuthAdapter;","entrypoint":"channel-runtime","exportName":"ChannelAuthAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":367,"sourcePath":"src/channels/plugins/types.adapters.ts"}
-{"declaration":"export type ChannelCapabilities = ChannelCapabilities;","entrypoint":"channel-runtime","exportName":"ChannelCapabilities","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":230,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelCapabilities = ChannelCapabilities;","entrypoint":"channel-runtime","exportName":"ChannelCapabilities","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":231,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelCapabilitiesDiagnostics = ChannelCapabilitiesDiagnostics;","entrypoint":"channel-runtime","exportName":"ChannelCapabilitiesDiagnostics","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":51,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelCapabilitiesDisplayLine = ChannelCapabilitiesDisplayLine;","entrypoint":"channel-runtime","exportName":"ChannelCapabilitiesDisplayLine","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":46,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelCapabilitiesDisplayTone = ChannelCapabilitiesDisplayTone;","entrypoint":"channel-runtime","exportName":"ChannelCapabilitiesDisplayTone","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":44,"sourcePath":"src/channels/plugins/types.adapters.ts"}
@@ -211,8 +211,8 @@
{"declaration":"export type ChannelConfiguredBindingMatch = ChannelConfiguredBindingMatch;","entrypoint":"channel-runtime","exportName":"ChannelConfiguredBindingMatch","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":574,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelConfiguredBindingProvider = ChannelConfiguredBindingProvider;","entrypoint":"channel-runtime","exportName":"ChannelConfiguredBindingProvider","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":590,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelDirectoryAdapter = ChannelDirectoryAdapter;","entrypoint":"channel-runtime","exportName":"ChannelDirectoryAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":411,"sourcePath":"src/channels/plugins/types.adapters.ts"}
-{"declaration":"export type ChannelDirectoryEntry = ChannelDirectoryEntry;","entrypoint":"channel-runtime","exportName":"ChannelDirectoryEntry","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":469,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelDirectoryEntryKind = ChannelDirectoryEntryKind;","entrypoint":"channel-runtime","exportName":"ChannelDirectoryEntryKind","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":467,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelDirectoryEntry = ChannelDirectoryEntry;","entrypoint":"channel-runtime","exportName":"ChannelDirectoryEntry","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":470,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelDirectoryEntryKind = ChannelDirectoryEntryKind;","entrypoint":"channel-runtime","exportName":"ChannelDirectoryEntryKind","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":468,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelElevatedAdapter = ChannelElevatedAdapter;","entrypoint":"channel-runtime","exportName":"ChannelElevatedAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":442,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelExecApprovalAdapter = ChannelExecApprovalAdapter;","entrypoint":"channel-runtime","exportName":"ChannelExecApprovalAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":468,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelExecApprovalForwardTarget = ChannelExecApprovalForwardTarget;","entrypoint":"channel-runtime","exportName":"ChannelExecApprovalForwardTarget","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":36,"sourcePath":"src/channels/plugins/types.adapters.ts"}
@@ -220,7 +220,7 @@
{"declaration":"export type ChannelGatewayAdapter = ChannelGatewayAdapter;","entrypoint":"channel-runtime","exportName":"ChannelGatewayAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":351,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelGatewayContext = ChannelGatewayContext;","entrypoint":"channel-runtime","exportName":"ChannelGatewayContext","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":243,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelGroupAdapter = ChannelGroupAdapter;","entrypoint":"channel-runtime","exportName":"ChannelGroupAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":126,"sourcePath":"src/channels/plugins/types.adapters.ts"}
-{"declaration":"export type ChannelGroupContext = ChannelGroupContext;","entrypoint":"channel-runtime","exportName":"ChannelGroupContext","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":216,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelGroupContext = ChannelGroupContext;","entrypoint":"channel-runtime","exportName":"ChannelGroupContext","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":217,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelHeartbeatAdapter = ChannelHeartbeatAdapter;","entrypoint":"channel-runtime","exportName":"ChannelHeartbeatAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":377,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelHeartbeatDeps = ChannelHeartbeatDeps;","entrypoint":"channel-runtime","exportName":"ChannelHeartbeatDeps","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":116,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelId = ChannelId;","entrypoint":"channel-runtime","exportName":"ChannelId","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":13,"sourcePath":"src/channels/plugins/types.core.ts"}
@@ -229,40 +229,40 @@
{"declaration":"export type ChannelLoginWithQrWaitResult = ChannelLoginWithQrWaitResult;","entrypoint":"channel-runtime","exportName":"ChannelLoginWithQrWaitResult","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":327,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelLogoutContext = ChannelLogoutContext;","entrypoint":"channel-runtime","exportName":"ChannelLogoutContext","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":332,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelLogoutResult = ChannelLogoutResult;","entrypoint":"channel-runtime","exportName":"ChannelLogoutResult","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":316,"sourcePath":"src/channels/plugins/types.adapters.ts"}
-{"declaration":"export type ChannelLogSink = ChannelLogSink;","entrypoint":"channel-runtime","exportName":"ChannelLogSink","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":209,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelMentionAdapter = ChannelMentionAdapter;","entrypoint":"channel-runtime","exportName":"ChannelMentionAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":260,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelMessageActionAdapter = ChannelMessageActionAdapter;","entrypoint":"channel-runtime","exportName":"ChannelMessageActionAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":516,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelMessageActionContext = ChannelMessageActionContext;","entrypoint":"channel-runtime","exportName":"ChannelMessageActionContext","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":482,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelLogSink = ChannelLogSink;","entrypoint":"channel-runtime","exportName":"ChannelLogSink","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":210,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelMentionAdapter = ChannelMentionAdapter;","entrypoint":"channel-runtime","exportName":"ChannelMentionAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":261,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelMessageActionAdapter = ChannelMessageActionAdapter;","entrypoint":"channel-runtime","exportName":"ChannelMessageActionAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":517,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelMessageActionContext = ChannelMessageActionContext;","entrypoint":"channel-runtime","exportName":"ChannelMessageActionContext","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":483,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelMessageActionDiscoveryContext = ChannelMessageActionDiscoveryContext;","entrypoint":"channel-runtime","exportName":"ChannelMessageActionDiscoveryContext","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":31,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelMessageActionName = \"send\" | \"broadcast\" | \"poll\" | \"poll-vote\" | \"react\" | \"reactions\" | \"read\" | \"edit\" | \"unsend\" | \"reply\" | \"sendWithEffect\" | \"renameGroup\" | \"setGroupIcon\" | \"addParticipant\" | \"removeParticipant\" | \"leaveGroup\" | \"sendAttachment\" | \"delete\" | \"pin\" | \"unpin\" | \"list-pins\" | \"permissions\" | \"thread-create\" | \"thread-list\" | \"thread-reply\" | \"search\" | \"sticker\" | \"sticker-search\" | \"member-info\" | \"role-info\" | \"emoji-list\" | \"emoji-upload\" | \"sticker-upload\" | \"role-add\" | \"role-remove\" | \"channel-info\" | \"channel-list\" | \"channel-create\" | \"channel-edit\" | \"channel-delete\" | \"channel-move\" | \"category-create\" | \"category-edit\" | \"category-delete\" | \"topic-create\" | \"topic-edit\" | \"voice-status\" | \"event-list\" | \"event-create\" | \"timeout\" | \"kick\" | \"ban\" | \"set-profile\" | \"set-presence\" | \"download-file\" | \"upload-file\";","entrypoint":"channel-runtime","exportName":"ChannelMessageActionName","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":6,"sourcePath":"src/channels/plugins/types.ts"}
{"declaration":"export type ChannelMessageCapability = \"interactive\" | \"buttons\" | \"cards\" | \"components\" | \"blocks\";","entrypoint":"channel-runtime","exportName":"ChannelMessageCapability","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":9,"sourcePath":"src/channels/plugins/message-capabilities.ts"}
{"declaration":"export type ChannelMessageToolDiscovery = ChannelMessageToolDiscovery;","entrypoint":"channel-runtime","exportName":"ChannelMessageToolDiscovery","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":56,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelMessageToolSchemaContribution = ChannelMessageToolSchemaContribution;","entrypoint":"channel-runtime","exportName":"ChannelMessageToolSchemaContribution","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":51,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelMessagingAdapter = ChannelMessagingAdapter;","entrypoint":"channel-runtime","exportName":"ChannelMessagingAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":395,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelMessagingAdapter = ChannelMessagingAdapter;","entrypoint":"channel-runtime","exportName":"ChannelMessagingAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":396,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelMeta = ChannelMeta;","entrypoint":"channel-runtime","exportName":"ChannelMeta","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":122,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelOutboundAdapter = ChannelOutboundAdapter;","entrypoint":"channel-runtime","exportName":"ChannelOutboundAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":159,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelOutboundContext = ChannelOutboundContext;","entrypoint":"channel-runtime","exportName":"ChannelOutboundContext","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":132,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelOutboundTargetMode = ChannelOutboundTargetMode;","entrypoint":"channel-runtime","exportName":"ChannelOutboundTargetMode","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":15,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelPairingAdapter = ChannelPairingAdapter;","entrypoint":"channel-runtime","exportName":"ChannelPairingAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":340,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelPlugin = ChannelPlugin;","entrypoint":"channel-runtime","exportName":"ChannelPlugin","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":77,"sourcePath":"src/channels/plugins/types.plugin.ts"}
-{"declaration":"export type ChannelPollContext = ChannelPollContext;","entrypoint":"channel-runtime","exportName":"ChannelPollContext","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":547,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelPollResult = ChannelPollResult;","entrypoint":"channel-runtime","exportName":"ChannelPollResult","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":538,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelPollContext = ChannelPollContext;","entrypoint":"channel-runtime","exportName":"ChannelPollContext","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":548,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelPollResult = ChannelPollResult;","entrypoint":"channel-runtime","exportName":"ChannelPollResult","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":539,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelResolveKind = ChannelResolveKind;","entrypoint":"channel-runtime","exportName":"ChannelResolveKind","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":422,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelResolverAdapter = ChannelResolverAdapter;","entrypoint":"channel-runtime","exportName":"ChannelResolverAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":432,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelResolveResult = ChannelResolveResult;","entrypoint":"channel-runtime","exportName":"ChannelResolveResult","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":424,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelSecurityAdapter = ChannelSecurityAdapter;","entrypoint":"channel-runtime","exportName":"ChannelSecurityAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":610,"sourcePath":"src/channels/plugins/types.adapters.ts"}
-{"declaration":"export type ChannelSecurityContext = ChannelSecurityContext;","entrypoint":"channel-runtime","exportName":"ChannelSecurityContext","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":254,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelSecurityDmPolicy = ChannelSecurityDmPolicy;","entrypoint":"channel-runtime","exportName":"ChannelSecurityDmPolicy","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":245,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelSecurityContext = ChannelSecurityContext;","entrypoint":"channel-runtime","exportName":"ChannelSecurityContext","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":255,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelSecurityDmPolicy = ChannelSecurityDmPolicy;","entrypoint":"channel-runtime","exportName":"ChannelSecurityDmPolicy","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":246,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelSetupAdapter = ChannelSetupAdapter;","entrypoint":"channel-runtime","exportName":"ChannelSetupAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":60,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelSetupInput = ChannelSetupInput;","entrypoint":"channel-runtime","exportName":"ChannelSetupInput","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":63,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelStatusAdapter = ChannelStatusAdapter;","entrypoint":"channel-runtime","exportName":"ChannelStatusAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":189,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type ChannelStatusIssue = ChannelStatusIssue;","entrypoint":"channel-runtime","exportName":"ChannelStatusIssue","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":100,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelStreamingAdapter = ChannelStreamingAdapter;","entrypoint":"channel-runtime","exportName":"ChannelStreamingAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":279,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelStructuredComponents = ChannelStructuredComponents;","entrypoint":"channel-runtime","exportName":"ChannelStructuredComponents","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":288,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelThreadingAdapter = ChannelThreadingAdapter;","entrypoint":"channel-runtime","exportName":"ChannelThreadingAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":322,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelThreadingContext = ChannelThreadingContext;","entrypoint":"channel-runtime","exportName":"ChannelThreadingContext","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":365,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelThreadingToolContext = ChannelThreadingToolContext;","entrypoint":"channel-runtime","exportName":"ChannelThreadingToolContext","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":379,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelToolSend = ChannelToolSend;","entrypoint":"channel-runtime","exportName":"ChannelToolSend","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":509,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelStreamingAdapter = ChannelStreamingAdapter;","entrypoint":"channel-runtime","exportName":"ChannelStreamingAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":280,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelStructuredComponents = ChannelStructuredComponents;","entrypoint":"channel-runtime","exportName":"ChannelStructuredComponents","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":289,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelThreadingAdapter = ChannelThreadingAdapter;","entrypoint":"channel-runtime","exportName":"ChannelThreadingAdapter","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":323,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelThreadingContext = ChannelThreadingContext;","entrypoint":"channel-runtime","exportName":"ChannelThreadingContext","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":366,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelThreadingToolContext = ChannelThreadingToolContext;","entrypoint":"channel-runtime","exportName":"ChannelThreadingToolContext","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":380,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelToolSend = ChannelToolSend;","entrypoint":"channel-runtime","exportName":"ChannelToolSend","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":510,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChatType = ChatType;","entrypoint":"channel-runtime","exportName":"ChatType","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":1,"sourcePath":"src/channels/chat-type.ts"}
{"declaration":"export type CreateTypingCallbacksParams = CreateTypingCallbacksParams;","entrypoint":"channel-runtime","exportName":"CreateTypingCallbacksParams","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":11,"sourcePath":"src/channels/typing.ts"}
{"declaration":"export type HeartbeatEventPayload = HeartbeatEventPayload;","entrypoint":"channel-runtime","exportName":"HeartbeatEventPayload","importSpecifier":"openclaw/plugin-sdk/channel-runtime","kind":"type","recordType":"export","sourceLine":6,"sourcePath":"src/infra/heartbeat-events.ts"}
@@ -296,10 +296,10 @@
{"declaration":"export function buildCommandText(commandName: string, args?: string | undefined): string;","entrypoint":"command-auth","exportName":"buildCommandText","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":199,"sourcePath":"src/auto-reply/commands-registry.ts"}
{"declaration":"export function buildCommandTextFromArgs(command: ChatCommandDefinition, args?: CommandArgs | undefined): string;","entrypoint":"command-auth","exportName":"buildCommandTextFromArgs","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":291,"sourcePath":"src/auto-reply/commands-registry.ts"}
{"declaration":"export function buildHelpMessage(cfg?: OpenClawConfig | undefined): string;","entrypoint":"command-auth","exportName":"buildHelpMessage","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":838,"sourcePath":"src/auto-reply/status.ts"}
-{"declaration":"export function buildModelsProviderData(cfg: OpenClawConfig, agentId?: string | undefined): Promise;","entrypoint":"command-auth","exportName":"buildModelsProviderData","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":37,"sourcePath":"src/auto-reply/reply/commands-models.ts"}
+{"declaration":"export function buildModelsProviderData(cfg: OpenClawConfig, agentId?: string | undefined): Promise;","entrypoint":"command-auth","exportName":"buildModelsProviderData","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":39,"sourcePath":"src/auto-reply/reply/commands-models.ts"}
{"declaration":"export function createPreCryptoDirectDmAuthorizer(params: { resolveAccess: (senderId: string) => Promise>; issuePairingChallenge?: ((params: { ...; }) => Promise<...>) | undefined; onBlocked?: ((params: { ...; }) => void) | undefined; }): (input: { ...; }) => Promise<...>;","entrypoint":"command-auth","exportName":"createPreCryptoDirectDmAuthorizer","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":105,"sourcePath":"src/plugin-sdk/direct-dm.ts"}
{"declaration":"export function findCommandByNativeName(name: string, provider?: string | undefined): ChatCommandDefinition | undefined;","entrypoint":"command-auth","exportName":"findCommandByNativeName","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":187,"sourcePath":"src/auto-reply/commands-registry.ts"}
-{"declaration":"export function formatModelsAvailableHeader(params: { provider: string; total: number; cfg: OpenClawConfig; agentDir?: string | undefined; sessionEntry?: SessionEntry | undefined; }): string;","entrypoint":"command-auth","exportName":"formatModelsAvailableHeader","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":204,"sourcePath":"src/auto-reply/reply/commands-models.ts"}
+{"declaration":"export function formatModelsAvailableHeader(params: { provider: string; total: number; cfg: OpenClawConfig; agentDir?: string | undefined; sessionEntry?: SessionEntry | undefined; }): string;","entrypoint":"command-auth","exportName":"formatModelsAvailableHeader","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":215,"sourcePath":"src/auto-reply/reply/commands-models.ts"}
{"declaration":"export function getCommandDetection(_cfg?: OpenClawConfig | undefined): CommandDetection;","entrypoint":"command-auth","exportName":"getCommandDetection","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":440,"sourcePath":"src/auto-reply/commands-registry.ts"}
{"declaration":"export function hasControlCommand(text?: string | undefined, cfg?: OpenClawConfig | undefined, options?: CommandNormalizeOptions | undefined): boolean;","entrypoint":"command-auth","exportName":"hasControlCommand","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":10,"sourcePath":"src/auto-reply/command-detection.ts"}
{"declaration":"export function hasInlineCommandTokens(text?: string | undefined): boolean;","entrypoint":"command-auth","exportName":"hasInlineCommandTokens","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":74,"sourcePath":"src/auto-reply/command-detection.ts"}
@@ -325,7 +325,7 @@
{"declaration":"export function resolveDirectDmAuthorizationOutcome(params: { isGroup: boolean; dmPolicy: string; senderAllowedForCommands: boolean; }): \"disabled\" | \"unauthorized\" | \"allowed\";","entrypoint":"command-auth","exportName":"resolveDirectDmAuthorizationOutcome","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":120,"sourcePath":"src/plugin-sdk/command-auth.ts"}
{"declaration":"export function resolveDualTextControlCommandGate(params: { useAccessGroups: boolean; primaryConfigured: boolean; primaryAllowed: boolean; secondaryConfigured: boolean; secondaryAllowed: boolean; hasControlCommand: boolean; modeWhenAccessGroupsOff?: CommandGatingModeWhenAccessGroupsOff | undefined; }): { ...; };","entrypoint":"command-auth","exportName":"resolveDualTextControlCommandGate","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":47,"sourcePath":"src/channels/command-gating.ts"}
{"declaration":"export function resolveInboundDirectDmAccessWithRuntime(params: { cfg: OpenClawConfig; channel: ChannelId; accountId: string; dmPolicy?: string | null | undefined; allowFrom?: (string | number)[] | null | undefined; senderId: string; ... 4 more ...; readStoreAllowFrom?: ((provider: ChannelId, accountId: string) => Promise<...>) | undefined; }): Promise<...>;","entrypoint":"command-auth","exportName":"resolveInboundDirectDmAccessWithRuntime","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":35,"sourcePath":"src/plugin-sdk/direct-dm.ts"}
-{"declaration":"export function resolveModelsCommandReply(params: { cfg: OpenClawConfig; commandBodyNormalized: string; surface?: string | undefined; currentModel?: string | undefined; agentId?: string | undefined; agentDir?: string | undefined; sessionEntry?: SessionEntry | undefined; }): Promise<...>;","entrypoint":"command-auth","exportName":"resolveModelsCommandReply","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":220,"sourcePath":"src/auto-reply/reply/commands-models.ts"}
+{"declaration":"export function resolveModelsCommandReply(params: { cfg: OpenClawConfig; commandBodyNormalized: string; surface?: string | undefined; currentModel?: string | undefined; agentId?: string | undefined; agentDir?: string | undefined; sessionEntry?: SessionEntry | undefined; }): Promise<...>;","entrypoint":"command-auth","exportName":"resolveModelsCommandReply","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":231,"sourcePath":"src/auto-reply/reply/commands-models.ts"}
{"declaration":"export function resolveNativeCommandSessionTargets(params: ResolveNativeCommandSessionTargetsParams): { sessionKey: string; commandTargetSessionKey: string; };","entrypoint":"command-auth","exportName":"resolveNativeCommandSessionTargets","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":10,"sourcePath":"src/channels/native-command-session-targets.ts"}
{"declaration":"export function resolveSenderCommandAuthorization(params: ResolveSenderCommandAuthorizationParams): Promise<{ shouldComputeAuth: boolean; effectiveAllowFrom: string[]; effectiveGroupAllowFrom: string[]; senderAllowedForCommands: boolean; commandAuthorized: boolean | undefined; }>;","entrypoint":"command-auth","exportName":"resolveSenderCommandAuthorization","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":149,"sourcePath":"src/plugin-sdk/command-auth.ts"}
{"declaration":"export function resolveSenderCommandAuthorizationWithRuntime(params: ResolveSenderCommandAuthorizationWithRuntimeParams): Promise<{ shouldComputeAuth: boolean; effectiveAllowFrom: string[]; effectiveGroupAllowFrom: string[]; senderAllowedForCommands: boolean; commandAuthorized: boolean | undefined; }>;","entrypoint":"command-auth","exportName":"resolveSenderCommandAuthorizationWithRuntime","importSpecifier":"openclaw/plugin-sdk/command-auth","kind":"function","recordType":"export","sourceLine":138,"sourcePath":"src/plugin-sdk/command-auth.ts"}
@@ -381,7 +381,7 @@
{"declaration":"export function formatPairingApproveHint(channelId: string): string;","entrypoint":"core","exportName":"formatPairingApproveHint","importSpecifier":"openclaw/plugin-sdk/core","kind":"function","recordType":"export","sourceLine":17,"sourcePath":"src/channels/plugins/helpers.ts"}
{"declaration":"export function generateSecureToken(bytes?: number): string;","entrypoint":"core","exportName":"generateSecureToken","importSpecifier":"openclaw/plugin-sdk/core","kind":"function","recordType":"export","sourceLine":7,"sourcePath":"src/infra/secure-random.ts"}
{"declaration":"export function generateSecureUuid(): string;","entrypoint":"core","exportName":"generateSecureUuid","importSpecifier":"openclaw/plugin-sdk/core","kind":"function","recordType":"export","sourceLine":3,"sourcePath":"src/infra/secure-random.ts"}
-{"declaration":"export function getChatChannelMeta(id: \"telegram\" | \"whatsapp\" | \"discord\" | \"irc\" | \"googlechat\" | \"slack\" | \"signal\" | \"imessage\" | \"line\"): ChannelMeta;","entrypoint":"core","exportName":"getChatChannelMeta","importSpecifier":"openclaw/plugin-sdk/core","kind":"function","recordType":"export","sourceLine":124,"sourcePath":"src/channels/chat-meta.ts"}
+{"declaration":"export function getChatChannelMeta(id: \"telegram\" | \"whatsapp\" | \"discord\" | \"irc\" | \"googlechat\" | \"slack\" | \"signal\" | \"imessage\" | \"line\"): ChannelMeta;","entrypoint":"core","exportName":"getChatChannelMeta","importSpecifier":"openclaw/plugin-sdk/core","kind":"function","recordType":"export","sourceLine":123,"sourcePath":"src/channels/chat-meta.ts"}
{"declaration":"export function isSecretRef(value: unknown): value is SecretRef;","entrypoint":"core","exportName":"isSecretRef","importSpecifier":"openclaw/plugin-sdk/core","kind":"function","recordType":"export","sourceLine":34,"sourcePath":"src/config/types.secrets.ts"}
{"declaration":"export function loadSecretFileSync(filePath: string, label: string, options?: SecretFileReadOptions): SecretFileReadResult;","entrypoint":"core","exportName":"loadSecretFileSync","importSpecifier":"openclaw/plugin-sdk/core","kind":"function","recordType":"export","sourceLine":29,"sourcePath":"src/infra/secret-file.ts"}
{"declaration":"export function migrateBaseNameToDefaultAccount(params: { cfg: OpenClawConfig; channelKey: string; alwaysUseAccounts?: boolean | undefined; }): OpenClawConfig;","entrypoint":"core","exportName":"migrateBaseNameToDefaultAccount","importSpecifier":"openclaw/plugin-sdk/core","kind":"function","recordType":"export","sourceLine":93,"sourcePath":"src/channels/plugins/setup-helpers.ts"}
@@ -405,10 +405,10 @@
{"declaration":"export const DEFAULT_SECRET_FILE_MAX_BYTES: number;","entrypoint":"core","exportName":"DEFAULT_SECRET_FILE_MAX_BYTES","importSpecifier":"openclaw/plugin-sdk/core","kind":"const","recordType":"export","sourceLine":5,"sourcePath":"src/infra/secret-file.ts"}
{"declaration":"export type AnyAgentTool = AnyAgentTool;","entrypoint":"core","exportName":"AnyAgentTool","importSpecifier":"openclaw/plugin-sdk/core","kind":"type","recordType":"export","sourceLine":9,"sourcePath":"src/agents/tools/common.ts"}
{"declaration":"export type ChannelConfigUiHint = ChannelConfigUiHint;","entrypoint":"core","exportName":"ChannelConfigUiHint","importSpecifier":"openclaw/plugin-sdk/core","kind":"type","recordType":"export","sourceLine":38,"sourcePath":"src/channels/plugins/types.plugin.ts"}
-{"declaration":"export type ChannelMessageActionContext = ChannelMessageActionContext;","entrypoint":"core","exportName":"ChannelMessageActionContext","importSpecifier":"openclaw/plugin-sdk/core","kind":"type","recordType":"export","sourceLine":482,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelMessagingAdapter = ChannelMessagingAdapter;","entrypoint":"core","exportName":"ChannelMessagingAdapter","importSpecifier":"openclaw/plugin-sdk/core","kind":"type","recordType":"export","sourceLine":395,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelOutboundSessionRoute = ChannelOutboundSessionRoute;","entrypoint":"core","exportName":"ChannelOutboundSessionRoute","importSpecifier":"openclaw/plugin-sdk/core","kind":"type","recordType":"export","sourceLine":309,"sourcePath":"src/channels/plugins/types.core.ts"}
-{"declaration":"export type ChannelOutboundSessionRouteParams = { cfg: OpenClawConfig; agentId: string; accountId?: string | null; target: string; resolvedTarget?: { to: string; kind: import(\"src/channels/plugins/types.core\").ChannelDirectoryEntryKind | \"channel\"; display?: string; source: \"normalized\" | \"directory\"; }; replyToId?: string | null; threadId?: string | number | null;};","entrypoint":"core","exportName":"ChannelOutboundSessionRouteParams","importSpecifier":"openclaw/plugin-sdk/core","kind":"type","recordType":"export","sourceLine":159,"sourcePath":"src/plugin-sdk/core.ts"}
+{"declaration":"export type ChannelMessageActionContext = ChannelMessageActionContext;","entrypoint":"core","exportName":"ChannelMessageActionContext","importSpecifier":"openclaw/plugin-sdk/core","kind":"type","recordType":"export","sourceLine":483,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelMessagingAdapter = ChannelMessagingAdapter;","entrypoint":"core","exportName":"ChannelMessagingAdapter","importSpecifier":"openclaw/plugin-sdk/core","kind":"type","recordType":"export","sourceLine":396,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelOutboundSessionRoute = ChannelOutboundSessionRoute;","entrypoint":"core","exportName":"ChannelOutboundSessionRoute","importSpecifier":"openclaw/plugin-sdk/core","kind":"type","recordType":"export","sourceLine":310,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelOutboundSessionRouteParams = { cfg: OpenClawConfig; agentId: string; accountId?: string | null; target: string; resolvedTarget?: { to: string; kind: import(\"../channels/plugins/types.core.js\").ChannelDirectoryEntryKind | \"channel\"; display?: string; source: \"normalized\" | \"directory\"; }; replyToId?: string | null; threadId?: string | number | null;};","entrypoint":"core","exportName":"ChannelOutboundSessionRouteParams","importSpecifier":"openclaw/plugin-sdk/core","kind":"type","recordType":"export","sourceLine":159,"sourcePath":"src/plugin-sdk/core.ts"}
{"declaration":"export type ChannelPlugin = ChannelPlugin;","entrypoint":"core","exportName":"ChannelPlugin","importSpecifier":"openclaw/plugin-sdk/core","kind":"type","recordType":"export","sourceLine":77,"sourcePath":"src/channels/plugins/types.plugin.ts"}
{"declaration":"export type GatewayBindUrlResult = GatewayBindUrlResult;","entrypoint":"core","exportName":"GatewayBindUrlResult","importSpecifier":"openclaw/plugin-sdk/core","kind":"type","recordType":"export","sourceLine":1,"sourcePath":"src/shared/gateway-bind-url.ts"}
{"declaration":"export type GatewayRequestHandlerOptions = GatewayRequestHandlerOptions;","entrypoint":"core","exportName":"GatewayRequestHandlerOptions","importSpecifier":"openclaw/plugin-sdk/core","kind":"type","recordType":"export","sourceLine":115,"sourcePath":"src/gateway/server-methods/types.ts"}
@@ -578,7 +578,7 @@
{"declaration":"export function installCommonResolveTargetErrorCases(params: { resolveTarget: ResolveTargetFn; implicitAllowFrom: string[]; }): void;","entrypoint":"testing","exportName":"installCommonResolveTargetErrorCases","importSpecifier":"openclaw/plugin-sdk/testing","kind":"function","recordType":"export","sourceLine":42,"sourcePath":"src/plugin-sdk/testing.ts"}
{"declaration":"export function removeAckReactionAfterReply(params: { removeAfterReply: boolean; ackReactionPromise: Promise | null; ackReactionValue: string | null; remove: () => Promise; onError?: ((err: unknown) => void) | undefined; }): void;","entrypoint":"testing","exportName":"removeAckReactionAfterReply","importSpecifier":"openclaw/plugin-sdk/testing","kind":"function","recordType":"export","sourceLine":81,"sourcePath":"src/channels/ack-reactions.ts"}
{"declaration":"export function shouldAckReaction(params: AckReactionGateParams): boolean;","entrypoint":"testing","exportName":"shouldAckReaction","importSpecifier":"openclaw/plugin-sdk/testing","kind":"function","recordType":"export","sourceLine":16,"sourcePath":"src/channels/ack-reactions.ts"}
-{"declaration":"export type ChannelAccountSnapshot = ChannelAccountSnapshot;","entrypoint":"testing","exportName":"ChannelAccountSnapshot","importSpecifier":"openclaw/plugin-sdk/testing","kind":"type","recordType":"export","sourceLine":144,"sourcePath":"src/channels/plugins/types.core.ts"}
+{"declaration":"export type ChannelAccountSnapshot = ChannelAccountSnapshot;","entrypoint":"testing","exportName":"ChannelAccountSnapshot","importSpecifier":"openclaw/plugin-sdk/testing","kind":"type","recordType":"export","sourceLine":145,"sourcePath":"src/channels/plugins/types.core.ts"}
{"declaration":"export type ChannelGatewayContext = ChannelGatewayContext;","entrypoint":"testing","exportName":"ChannelGatewayContext","importSpecifier":"openclaw/plugin-sdk/testing","kind":"type","recordType":"export","sourceLine":243,"sourcePath":"src/channels/plugins/types.adapters.ts"}
{"declaration":"export type MockFn = MockFn;","entrypoint":"testing","exportName":"MockFn","importSpecifier":"openclaw/plugin-sdk/testing","kind":"type","recordType":"export","sourceLine":5,"sourcePath":"src/test-utils/vitest-mock-fn.ts"}
{"declaration":"export type OpenClawConfig = OpenClawConfig;","entrypoint":"testing","exportName":"OpenClawConfig","importSpecifier":"openclaw/plugin-sdk/testing","kind":"type","recordType":"export","sourceLine":32,"sourcePath":"src/config/types.openclaw.ts"}
diff --git a/docs/install/development-channels.md b/docs/install/development-channels.md
index 3b6acf18f9b..59df35f126c 100644
--- a/docs/install/development-channels.md
+++ b/docs/install/development-channels.md
@@ -48,7 +48,7 @@ update **without** changing your persisted channel:
```bash
# Install a specific version
-openclaw update --tag 2026.3.28
+openclaw update --tag 2026.3.28-beta.1
# Install from the beta dist-tag (one-off, does not persist)
openclaw update --tag beta
@@ -57,7 +57,7 @@ openclaw update --tag beta
openclaw update --tag main
# Install a specific npm package spec
-openclaw update --tag openclaw@2026.3.28
+openclaw update --tag openclaw@2026.3.28-beta.1
```
Notes:
@@ -75,7 +75,7 @@ Preview what `openclaw update` would do without making changes:
```bash
openclaw update --dry-run
openclaw update --channel beta --dry-run
-openclaw update --tag 2026.3.28 --dry-run
+openclaw update --tag 2026.3.28-beta.1 --dry-run
openclaw update --dry-run --json
```
diff --git a/extensions/acpx/package.json b/extensions/acpx/package.json
index b328cd607cd..6df6c43943a 100644
--- a/extensions/acpx/package.json
+++ b/extensions/acpx/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/acpx",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "OpenClaw ACP runtime backend via acpx",
"type": "module",
"dependencies": {
diff --git a/extensions/amazon-bedrock/package.json b/extensions/amazon-bedrock/package.json
index bfa74f0390f..912871d29de 100644
--- a/extensions/amazon-bedrock/package.json
+++ b/extensions/amazon-bedrock/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/amazon-bedrock-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Amazon Bedrock provider plugin",
"type": "module",
diff --git a/extensions/anthropic/package.json b/extensions/anthropic/package.json
index 1d0f5f9c96b..9524f5cdbc0 100644
--- a/extensions/anthropic/package.json
+++ b/extensions/anthropic/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/anthropic-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Anthropic provider plugin",
"type": "module",
diff --git a/extensions/bluebubbles/package.json b/extensions/bluebubbles/package.json
index f5b9668cb87..ee04b27109d 100644
--- a/extensions/bluebubbles/package.json
+++ b/extensions/bluebubbles/package.json
@@ -1,13 +1,13 @@
{
"name": "@openclaw/bluebubbles",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "OpenClaw BlueBubbles channel plugin",
"type": "module",
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.28"
+ "openclaw": ">=2026.3.28-beta.1"
},
"peerDependenciesMeta": {
"openclaw": {
diff --git a/extensions/brave/package.json b/extensions/brave/package.json
index 41ca0b5f127..24b469534f0 100644
--- a/extensions/brave/package.json
+++ b/extensions/brave/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/brave-plugin",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Brave plugin",
"type": "module",
diff --git a/extensions/browser/package.json b/extensions/browser/package.json
index e8771ad85f9..a02362b6ed1 100644
--- a/extensions/browser/package.json
+++ b/extensions/browser/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/browser-plugin",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw browser tool plugin",
"type": "module",
diff --git a/extensions/byteplus/package.json b/extensions/byteplus/package.json
index 3bca7e1031e..b862ec5d5bc 100644
--- a/extensions/byteplus/package.json
+++ b/extensions/byteplus/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/byteplus-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw BytePlus provider plugin",
"type": "module",
diff --git a/extensions/chutes/package.json b/extensions/chutes/package.json
index c4932728bd6..5b629f3887a 100644
--- a/extensions/chutes/package.json
+++ b/extensions/chutes/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/chutes-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Chutes.ai provider plugin",
"type": "module",
diff --git a/extensions/cloudflare-ai-gateway/package.json b/extensions/cloudflare-ai-gateway/package.json
index 79915abd9dc..a13b1e18b3b 100644
--- a/extensions/cloudflare-ai-gateway/package.json
+++ b/extensions/cloudflare-ai-gateway/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/cloudflare-ai-gateway-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Cloudflare AI Gateway provider plugin",
"type": "module",
diff --git a/extensions/copilot-proxy/package.json b/extensions/copilot-proxy/package.json
index 0cd52bf2459..7f6e0bf20b2 100644
--- a/extensions/copilot-proxy/package.json
+++ b/extensions/copilot-proxy/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/copilot-proxy",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Copilot Proxy provider plugin",
"type": "module",
diff --git a/extensions/deepgram/package.json b/extensions/deepgram/package.json
index 2b45a165e1d..4d4331ceb45 100644
--- a/extensions/deepgram/package.json
+++ b/extensions/deepgram/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/deepgram-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Deepgram media-understanding provider",
"type": "module",
diff --git a/extensions/deepseek/package.json b/extensions/deepseek/package.json
index b79aee4b80a..495f1c0cdd5 100644
--- a/extensions/deepseek/package.json
+++ b/extensions/deepseek/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/deepseek-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw DeepSeek provider plugin",
"type": "module",
diff --git a/extensions/diagnostics-otel/package.json b/extensions/diagnostics-otel/package.json
index e588eaee9ab..dbfa6e45cb7 100644
--- a/extensions/diagnostics-otel/package.json
+++ b/extensions/diagnostics-otel/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/diagnostics-otel",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "OpenClaw diagnostics OpenTelemetry exporter",
"type": "module",
"dependencies": {
diff --git a/extensions/diffs/package.json b/extensions/diffs/package.json
index 5739ea5654d..174a514a135 100644
--- a/extensions/diffs/package.json
+++ b/extensions/diffs/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/diffs",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw diff viewer plugin",
"type": "module",
diff --git a/extensions/discord/package.json b/extensions/discord/package.json
index a219f8f0b6e..b347e5c7dc1 100644
--- a/extensions/discord/package.json
+++ b/extensions/discord/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/discord",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "OpenClaw Discord channel plugin",
"type": "module",
"dependencies": {
@@ -14,7 +14,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.28"
+ "openclaw": ">=2026.3.28-beta.1"
},
"peerDependenciesMeta": {
"openclaw": {
diff --git a/extensions/duckduckgo/package.json b/extensions/duckduckgo/package.json
index a78af840cd0..b0966570337 100644
--- a/extensions/duckduckgo/package.json
+++ b/extensions/duckduckgo/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/duckduckgo-plugin",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw DuckDuckGo plugin",
"type": "module",
diff --git a/extensions/elevenlabs/package.json b/extensions/elevenlabs/package.json
index b8ab63d40e6..1cb9122298b 100644
--- a/extensions/elevenlabs/package.json
+++ b/extensions/elevenlabs/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/elevenlabs-speech",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw ElevenLabs speech plugin",
"type": "module",
diff --git a/extensions/exa/package.json b/extensions/exa/package.json
index 29ac35a197f..c9128198897 100644
--- a/extensions/exa/package.json
+++ b/extensions/exa/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/exa-plugin",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Exa plugin",
"type": "module",
diff --git a/extensions/fal/package.json b/extensions/fal/package.json
index 0ce42bafdd8..4acf1379a8d 100644
--- a/extensions/fal/package.json
+++ b/extensions/fal/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/fal-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw fal provider plugin",
"type": "module",
diff --git a/extensions/feishu/package.json b/extensions/feishu/package.json
index 68c1fe5f87a..0ab71ecb318 100644
--- a/extensions/feishu/package.json
+++ b/extensions/feishu/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/feishu",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "OpenClaw Feishu/Lark channel plugin (community maintained by @m1heng)",
"type": "module",
"dependencies": {
@@ -12,7 +12,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.28"
+ "openclaw": ">=2026.3.28-beta.1"
},
"peerDependenciesMeta": {
"openclaw": {
diff --git a/extensions/firecrawl/package.json b/extensions/firecrawl/package.json
index a680ecdd08b..a008b2753af 100644
--- a/extensions/firecrawl/package.json
+++ b/extensions/firecrawl/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/firecrawl-plugin",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Firecrawl plugin",
"type": "module",
diff --git a/extensions/github-copilot/package.json b/extensions/github-copilot/package.json
index b4fa50e2b35..e76a379a0e6 100644
--- a/extensions/github-copilot/package.json
+++ b/extensions/github-copilot/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/github-copilot-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw GitHub Copilot provider plugin",
"type": "module",
diff --git a/extensions/google/package.json b/extensions/google/package.json
index 6a9c87fff6b..f097ed91981 100644
--- a/extensions/google/package.json
+++ b/extensions/google/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/google-plugin",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Google plugin",
"type": "module",
diff --git a/extensions/googlechat/package.json b/extensions/googlechat/package.json
index 9cf0af5ba9a..cdb720c1878 100644
--- a/extensions/googlechat/package.json
+++ b/extensions/googlechat/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/googlechat",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Google Chat channel plugin",
"type": "module",
@@ -11,7 +11,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.28"
+ "openclaw": ">=2026.3.28-beta.1"
},
"peerDependenciesMeta": {
"openclaw": {
diff --git a/extensions/groq/package.json b/extensions/groq/package.json
index 7f67232739a..60d28db2bf6 100644
--- a/extensions/groq/package.json
+++ b/extensions/groq/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/groq-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Groq media-understanding provider",
"type": "module",
diff --git a/extensions/huggingface/package.json b/extensions/huggingface/package.json
index 4018070e154..c56eb3d51f7 100644
--- a/extensions/huggingface/package.json
+++ b/extensions/huggingface/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/huggingface-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Hugging Face provider plugin",
"type": "module",
diff --git a/extensions/image-generation-core/package.json b/extensions/image-generation-core/package.json
index 9c84574521a..aceb12a7154 100644
--- a/extensions/image-generation-core/package.json
+++ b/extensions/image-generation-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/image-generation-core",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw image generation runtime package",
"type": "module"
diff --git a/extensions/imessage/package.json b/extensions/imessage/package.json
index 6ebb95189a7..225622010d7 100644
--- a/extensions/imessage/package.json
+++ b/extensions/imessage/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/imessage",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw iMessage channel plugin",
"type": "module",
diff --git a/extensions/irc/package.json b/extensions/irc/package.json
index a1146ff4aef..792d41fc1dd 100644
--- a/extensions/irc/package.json
+++ b/extensions/irc/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/irc",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "OpenClaw IRC channel plugin",
"type": "module",
"openclaw": {
diff --git a/extensions/kilocode/package.json b/extensions/kilocode/package.json
index 9f68ec2e9a7..114980083d8 100644
--- a/extensions/kilocode/package.json
+++ b/extensions/kilocode/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/kilocode-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Kilo Gateway provider plugin",
"type": "module",
diff --git a/extensions/kimi-coding/package.json b/extensions/kimi-coding/package.json
index 483f1812cf1..f2de336c625 100644
--- a/extensions/kimi-coding/package.json
+++ b/extensions/kimi-coding/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/kimi-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Kimi provider plugin",
"type": "module",
diff --git a/extensions/line/package.json b/extensions/line/package.json
index 0ad278da1d8..4411a662c8e 100644
--- a/extensions/line/package.json
+++ b/extensions/line/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/line",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw LINE channel plugin",
"type": "module",
@@ -8,7 +8,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.28"
+ "openclaw": ">=2026.3.28-beta.1"
},
"peerDependenciesMeta": {
"openclaw": {
diff --git a/extensions/litellm/package.json b/extensions/litellm/package.json
index 9f27c52949d..50dbc3444eb 100644
--- a/extensions/litellm/package.json
+++ b/extensions/litellm/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/litellm-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw LiteLLM provider plugin",
"type": "module",
diff --git a/extensions/llm-task/package.json b/extensions/llm-task/package.json
index f3a1a59f355..998837ad48e 100644
--- a/extensions/llm-task/package.json
+++ b/extensions/llm-task/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/llm-task",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw JSON-only LLM task plugin",
"type": "module",
diff --git a/extensions/lobster/package.json b/extensions/lobster/package.json
index 2a3a6e96725..1f2bc078179 100644
--- a/extensions/lobster/package.json
+++ b/extensions/lobster/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/lobster",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "Lobster workflow tool plugin (typed pipelines + resumable approvals)",
"type": "module",
"dependencies": {
diff --git a/extensions/matrix/package.json b/extensions/matrix/package.json
index 287eb04860d..cf29edca8e2 100644
--- a/extensions/matrix/package.json
+++ b/extensions/matrix/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/matrix",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "OpenClaw Matrix channel plugin",
"type": "module",
"dependencies": {
@@ -14,7 +14,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.28"
+ "openclaw": ">=2026.3.28-beta.1"
},
"peerDependenciesMeta": {
"openclaw": {
diff --git a/extensions/mattermost/package.json b/extensions/mattermost/package.json
index 20f4d89b429..283bb41ac7f 100644
--- a/extensions/mattermost/package.json
+++ b/extensions/mattermost/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/mattermost",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "OpenClaw Mattermost channel plugin",
"type": "module",
"dependencies": {
@@ -11,7 +11,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.28"
+ "openclaw": ">=2026.3.28-beta.1"
},
"peerDependenciesMeta": {
"openclaw": {
diff --git a/extensions/media-understanding-core/package.json b/extensions/media-understanding-core/package.json
index bba909e80f9..e0f9081d274 100644
--- a/extensions/media-understanding-core/package.json
+++ b/extensions/media-understanding-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/media-understanding-core",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw media understanding runtime package",
"type": "module"
diff --git a/extensions/memory-core/package.json b/extensions/memory-core/package.json
index f00749480f2..6ab1206de08 100644
--- a/extensions/memory-core/package.json
+++ b/extensions/memory-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/memory-core",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw core memory search plugin",
"type": "module",
@@ -8,7 +8,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.28"
+ "openclaw": ">=2026.3.28-beta.1"
},
"peerDependenciesMeta": {
"openclaw": {
diff --git a/extensions/memory-lancedb/package.json b/extensions/memory-lancedb/package.json
index 5c942fec32c..37c5dc8193e 100644
--- a/extensions/memory-lancedb/package.json
+++ b/extensions/memory-lancedb/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/memory-lancedb",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "OpenClaw LanceDB-backed long-term memory plugin with auto-recall/capture",
"type": "module",
"dependencies": {
diff --git a/extensions/microsoft-foundry/package.json b/extensions/microsoft-foundry/package.json
index cbeb32796a3..ac98aa49ee5 100644
--- a/extensions/microsoft-foundry/package.json
+++ b/extensions/microsoft-foundry/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/microsoft-foundry",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Microsoft Foundry provider plugin",
"type": "module",
diff --git a/extensions/microsoft/package.json b/extensions/microsoft/package.json
index 944a110e0a3..f3d3b2c8462 100644
--- a/extensions/microsoft/package.json
+++ b/extensions/microsoft/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/microsoft-speech",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Microsoft speech plugin",
"type": "module",
diff --git a/extensions/minimax/package.json b/extensions/minimax/package.json
index dea2cb3e355..ce7164a64b2 100644
--- a/extensions/minimax/package.json
+++ b/extensions/minimax/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/minimax-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw MiniMax provider and OAuth plugin",
"type": "module",
diff --git a/extensions/mistral/package.json b/extensions/mistral/package.json
index 9859525bc15..afa36e9cdf3 100644
--- a/extensions/mistral/package.json
+++ b/extensions/mistral/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/mistral-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Mistral provider plugin",
"type": "module",
diff --git a/extensions/modelstudio/package.json b/extensions/modelstudio/package.json
index 06e3c4e3e01..f64a26d054b 100644
--- a/extensions/modelstudio/package.json
+++ b/extensions/modelstudio/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/modelstudio-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Model Studio provider plugin",
"type": "module",
diff --git a/extensions/moonshot/package.json b/extensions/moonshot/package.json
index af30a58794b..e52475a52e9 100644
--- a/extensions/moonshot/package.json
+++ b/extensions/moonshot/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/moonshot-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Moonshot provider plugin",
"type": "module",
diff --git a/extensions/msteams/package.json b/extensions/msteams/package.json
index 77536b73d2b..bc1e1a2e351 100644
--- a/extensions/msteams/package.json
+++ b/extensions/msteams/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/msteams",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "OpenClaw Microsoft Teams channel plugin",
"type": "module",
"dependencies": {
@@ -12,7 +12,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.28"
+ "openclaw": ">=2026.3.28-beta.1"
},
"peerDependenciesMeta": {
"openclaw": {
diff --git a/extensions/nextcloud-talk/package.json b/extensions/nextcloud-talk/package.json
index 77f38142f19..bb7c0e5969f 100644
--- a/extensions/nextcloud-talk/package.json
+++ b/extensions/nextcloud-talk/package.json
@@ -1,13 +1,13 @@
{
"name": "@openclaw/nextcloud-talk",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "OpenClaw Nextcloud Talk channel plugin",
"type": "module",
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.28"
+ "openclaw": ">=2026.3.28-beta.1"
},
"peerDependenciesMeta": {
"openclaw": {
diff --git a/extensions/nostr/package.json b/extensions/nostr/package.json
index 39284b40729..c4058310e70 100644
--- a/extensions/nostr/package.json
+++ b/extensions/nostr/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/nostr",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "OpenClaw Nostr channel plugin for NIP-04 encrypted DMs",
"type": "module",
"dependencies": {
@@ -10,7 +10,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.28"
+ "openclaw": ">=2026.3.28-beta.1"
},
"peerDependenciesMeta": {
"openclaw": {
diff --git a/extensions/nvidia/package.json b/extensions/nvidia/package.json
index a8cdc595e47..fa02519a47e 100644
--- a/extensions/nvidia/package.json
+++ b/extensions/nvidia/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/nvidia-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw NVIDIA provider plugin",
"type": "module",
diff --git a/extensions/ollama/package.json b/extensions/ollama/package.json
index 3216dc5b2bf..7cdf6394b8f 100644
--- a/extensions/ollama/package.json
+++ b/extensions/ollama/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/ollama-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Ollama provider plugin",
"type": "module",
diff --git a/extensions/open-prose/package.json b/extensions/open-prose/package.json
index 0f5e7385611..61612a2a5ee 100644
--- a/extensions/open-prose/package.json
+++ b/extensions/open-prose/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/open-prose",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenProse VM skill pack plugin (slash command + telemetry).",
"type": "module",
diff --git a/extensions/openai/package.json b/extensions/openai/package.json
index 2dfa95b9d74..fa84666447e 100644
--- a/extensions/openai/package.json
+++ b/extensions/openai/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/openai-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw OpenAI provider plugins",
"type": "module",
diff --git a/extensions/opencode-go/package.json b/extensions/opencode-go/package.json
index 64026e3f9c6..f3ccb8d3315 100644
--- a/extensions/opencode-go/package.json
+++ b/extensions/opencode-go/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/opencode-go-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw OpenCode Go provider plugin",
"type": "module",
diff --git a/extensions/opencode/package.json b/extensions/opencode/package.json
index aa0a0c75f23..948d2fcd429 100644
--- a/extensions/opencode/package.json
+++ b/extensions/opencode/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/opencode-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw OpenCode Zen provider plugin",
"type": "module",
diff --git a/extensions/openrouter/package.json b/extensions/openrouter/package.json
index c71ef103b1f..d6532f91870 100644
--- a/extensions/openrouter/package.json
+++ b/extensions/openrouter/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/openrouter-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw OpenRouter provider plugin",
"type": "module",
diff --git a/extensions/openshell/package.json b/extensions/openshell/package.json
index 7d28b7e1ad9..94e6cb4eb2d 100644
--- a/extensions/openshell/package.json
+++ b/extensions/openshell/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/openshell-sandbox",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw OpenShell sandbox backend",
"type": "module",
diff --git a/extensions/perplexity/package.json b/extensions/perplexity/package.json
index 7085623b39b..adf3b156e45 100644
--- a/extensions/perplexity/package.json
+++ b/extensions/perplexity/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/perplexity-plugin",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Perplexity plugin",
"type": "module",
diff --git a/extensions/qianfan/package.json b/extensions/qianfan/package.json
index 6ab8e5a1f2f..529db186358 100644
--- a/extensions/qianfan/package.json
+++ b/extensions/qianfan/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/qianfan-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Qianfan provider plugin",
"type": "module",
diff --git a/extensions/sglang/package.json b/extensions/sglang/package.json
index fc12c17bbf5..28272ed6258 100644
--- a/extensions/sglang/package.json
+++ b/extensions/sglang/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/sglang-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw SGLang provider plugin",
"type": "module",
diff --git a/extensions/signal/package.json b/extensions/signal/package.json
index b7d68c162ed..2f271278379 100644
--- a/extensions/signal/package.json
+++ b/extensions/signal/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/signal",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Signal channel plugin",
"type": "module",
diff --git a/extensions/slack/package.json b/extensions/slack/package.json
index 8ef348223aa..8472b71c333 100644
--- a/extensions/slack/package.json
+++ b/extensions/slack/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/slack",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Slack channel plugin",
"type": "module",
diff --git a/extensions/speech-core/package.json b/extensions/speech-core/package.json
index 2fd1fec5b0e..3dc9e25e19c 100644
--- a/extensions/speech-core/package.json
+++ b/extensions/speech-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/speech-core",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw speech runtime package",
"type": "module"
diff --git a/extensions/synology-chat/package.json b/extensions/synology-chat/package.json
index 2aec5272762..c8af9801e34 100644
--- a/extensions/synology-chat/package.json
+++ b/extensions/synology-chat/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/synology-chat",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "Synology Chat channel plugin for OpenClaw",
"type": "module",
"openclaw": {
diff --git a/extensions/synthetic/package.json b/extensions/synthetic/package.json
index 5912e5df8a1..763e9673c25 100644
--- a/extensions/synthetic/package.json
+++ b/extensions/synthetic/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/synthetic-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Synthetic provider plugin",
"type": "module",
diff --git a/extensions/tavily/package.json b/extensions/tavily/package.json
index d279eade4b5..bc424e0eb5f 100644
--- a/extensions/tavily/package.json
+++ b/extensions/tavily/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/tavily-plugin",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Tavily plugin",
"type": "module",
diff --git a/extensions/telegram/package.json b/extensions/telegram/package.json
index c8d5dd2a413..58e2dcf6c91 100644
--- a/extensions/telegram/package.json
+++ b/extensions/telegram/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/telegram",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Telegram channel plugin",
"type": "module",
diff --git a/extensions/tlon/package.json b/extensions/tlon/package.json
index 757abed9505..938a0b35707 100644
--- a/extensions/tlon/package.json
+++ b/extensions/tlon/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/tlon",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "OpenClaw Tlon/Urbit channel plugin",
"type": "module",
"dependencies": {
@@ -13,7 +13,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.28"
+ "openclaw": ">=2026.3.28-beta.1"
},
"peerDependenciesMeta": {
"openclaw": {
diff --git a/extensions/together/package.json b/extensions/together/package.json
index fb8e1d0568d..8ad8f02c3a0 100644
--- a/extensions/together/package.json
+++ b/extensions/together/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/together-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Together provider plugin",
"type": "module",
diff --git a/extensions/twitch/package.json b/extensions/twitch/package.json
index ca4726f8905..d71ec9890bf 100644
--- a/extensions/twitch/package.json
+++ b/extensions/twitch/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/twitch",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "OpenClaw Twitch channel plugin",
"type": "module",
"dependencies": {
diff --git a/extensions/venice/package.json b/extensions/venice/package.json
index b2fe70803bb..0ef386f4139 100644
--- a/extensions/venice/package.json
+++ b/extensions/venice/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/venice-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Venice provider plugin",
"type": "module",
diff --git a/extensions/vercel-ai-gateway/package.json b/extensions/vercel-ai-gateway/package.json
index a5ef3330045..e5bfd8e8c9e 100644
--- a/extensions/vercel-ai-gateway/package.json
+++ b/extensions/vercel-ai-gateway/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/vercel-ai-gateway-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Vercel AI Gateway provider plugin",
"type": "module",
diff --git a/extensions/vllm/package.json b/extensions/vllm/package.json
index 84c8e49d7d0..a4f83e3d973 100644
--- a/extensions/vllm/package.json
+++ b/extensions/vllm/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/vllm-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw vLLM provider plugin",
"type": "module",
diff --git a/extensions/voice-call/package.json b/extensions/voice-call/package.json
index 819fc2bb1a1..1396172934d 100644
--- a/extensions/voice-call/package.json
+++ b/extensions/voice-call/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/voice-call",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "OpenClaw voice-call plugin",
"type": "module",
"dependencies": {
@@ -12,7 +12,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.28"
+ "openclaw": ">=2026.3.28-beta.1"
},
"peerDependenciesMeta": {
"openclaw": {
diff --git a/extensions/volcengine/package.json b/extensions/volcengine/package.json
index 3ce4e1e8e2e..0a54483c44a 100644
--- a/extensions/volcengine/package.json
+++ b/extensions/volcengine/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/volcengine-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Volcengine provider plugin",
"type": "module",
diff --git a/extensions/whatsapp/package.json b/extensions/whatsapp/package.json
index fd3a1f10daa..6ce43acd1cb 100644
--- a/extensions/whatsapp/package.json
+++ b/extensions/whatsapp/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/whatsapp",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "OpenClaw WhatsApp channel plugin",
"type": "module",
"dependencies": {
@@ -11,7 +11,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.28"
+ "openclaw": ">=2026.3.28-beta.1"
},
"peerDependenciesMeta": {
"openclaw": {
diff --git a/extensions/xai/code-execution.ts b/extensions/xai/code-execution.ts
index 109d6724ab1..9560ee38359 100644
--- a/extensions/xai/code-execution.ts
+++ b/extensions/xai/code-execution.ts
@@ -23,11 +23,12 @@ type XaiPluginConfig = NonNullable<
? Config
: undefined;
-type CodeExecutionConfig = XaiPluginConfig extends infer Config
- ? Config extends { codeExecution?: infer CodeExecution }
- ? CodeExecution
- : undefined
- : undefined;
+type CodeExecutionConfig = {
+ enabled?: boolean;
+ model?: string;
+ maxTurns?: number;
+ timeoutSeconds?: number;
+};
function readCodeExecutionConfigRecord(
config?: CodeExecutionConfig,
diff --git a/extensions/xai/package.json b/extensions/xai/package.json
index 15096ba45ba..74b95e3e193 100644
--- a/extensions/xai/package.json
+++ b/extensions/xai/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/xai-plugin",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw xAI plugin",
"type": "module",
diff --git a/extensions/xiaomi/package.json b/extensions/xiaomi/package.json
index c98d2a28ba0..2ac7e16f121 100644
--- a/extensions/xiaomi/package.json
+++ b/extensions/xiaomi/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/xiaomi-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Xiaomi provider plugin",
"type": "module",
diff --git a/extensions/zai/package.json b/extensions/zai/package.json
index 221f52d2c63..11f8b8ff3c0 100644
--- a/extensions/zai/package.json
+++ b/extensions/zai/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/zai-provider",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"private": true,
"description": "OpenClaw Z.AI provider plugin",
"type": "module",
diff --git a/extensions/zalo/package.json b/extensions/zalo/package.json
index fa6915837d5..0c6f2894c44 100644
--- a/extensions/zalo/package.json
+++ b/extensions/zalo/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/zalo",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "OpenClaw Zalo channel plugin",
"type": "module",
"dependencies": {
@@ -10,7 +10,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.28"
+ "openclaw": ">=2026.3.28-beta.1"
},
"peerDependenciesMeta": {
"openclaw": {
diff --git a/extensions/zalouser/package.json b/extensions/zalouser/package.json
index 4089d88fe26..2564d3e0790 100644
--- a/extensions/zalouser/package.json
+++ b/extensions/zalouser/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/zalouser",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "OpenClaw Zalo Personal Account plugin via native zca-js integration",
"type": "module",
"dependencies": {
@@ -11,7 +11,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.28"
+ "openclaw": ">=2026.3.28-beta.1"
},
"peerDependenciesMeta": {
"openclaw": {
diff --git a/package.json b/package.json
index bd293769adc..54fc4bc394c 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "openclaw",
- "version": "2026.3.28",
+ "version": "2026.3.28-beta.1",
"description": "Multi-channel AI gateway with extensible messaging integrations",
"keywords": [],
"homepage": "https://github.com/openclaw/openclaw#readme",
diff --git a/scripts/release-check.ts b/scripts/release-check.ts
index cdd8a8559cc..618e6901254 100755
--- a/scripts/release-check.ts
+++ b/scripts/release-check.ts
@@ -32,8 +32,9 @@ const requiredPathGroups = [
const forbiddenPrefixes = ["dist-runtime/", "dist/OpenClaw.app/"];
// 2026.3.12 ballooned to ~213.6 MiB unpacked and correlated with low-memory
// startup/doctor OOM reports. Keep enough headroom for the current pack with
-// restored bundled upgrade surfaces while still catching regressions quickly.
-const npmPackUnpackedSizeBudgetBytes = 190 * 1024 * 1024;
+// restored bundled upgrade surfaces and Control UI assets while still catching
+// regressions quickly.
+const npmPackUnpackedSizeBudgetBytes = 191 * 1024 * 1024;
const appcastPath = resolve("appcast.xml");
const laneBuildMin = 1_000_000_000;
const laneFloorAdoptionDateKey = 20260227;
diff --git a/src/config/bundled-channel-config-metadata.generated.ts b/src/config/bundled-channel-config-metadata.generated.ts
index 4e4f57737b0..5e331953b3f 100644
--- a/src/config/bundled-channel-config-metadata.generated.ts
+++ b/src/config/bundled-channel-config-metadata.generated.ts
@@ -4247,7 +4247,7 @@ export const GENERATED_BUNDLED_CHANNEL_CONFIG_METADATA = [
pluginId: "googlechat",
channelId: "googlechat",
label: "Google Chat",
- description: "Google Workspace Chat app via HTTP webhooks.",
+ description: "Google Workspace Chat app with HTTP webhook.",
schema: {
$schema: "http://json-schema.org/draft-07/schema#",
type: "object",
@@ -6233,7 +6233,7 @@ export const GENERATED_BUNDLED_CHANNEL_CONFIG_METADATA = [
pluginId: "line",
channelId: "line",
label: "LINE",
- description: "LINE Messaging API bot for Japan/Taiwan/Thailand markets.",
+ description: "LINE Messaging API webhook bot.",
schema: {
$schema: "http://json-schema.org/draft-07/schema#",
type: "object",
@@ -6510,7 +6510,70 @@ export const GENERATED_BUNDLED_CHANNEL_CONFIG_METADATA = [
type: "string",
},
accessToken: {
- type: "string",
+ anyOf: [
+ {
+ type: "string",
+ },
+ {
+ oneOf: [
+ {
+ type: "object",
+ properties: {
+ source: {
+ type: "string",
+ const: "env",
+ },
+ provider: {
+ type: "string",
+ pattern: "^[a-z][a-z0-9_-]{0,63}$",
+ },
+ id: {
+ type: "string",
+ pattern: "^[A-Z][A-Z0-9_]{0,127}$",
+ },
+ },
+ required: ["source", "provider", "id"],
+ additionalProperties: false,
+ },
+ {
+ type: "object",
+ properties: {
+ source: {
+ type: "string",
+ const: "file",
+ },
+ provider: {
+ type: "string",
+ pattern: "^[a-z][a-z0-9_-]{0,63}$",
+ },
+ id: {
+ type: "string",
+ },
+ },
+ required: ["source", "provider", "id"],
+ additionalProperties: false,
+ },
+ {
+ type: "object",
+ properties: {
+ source: {
+ type: "string",
+ const: "exec",
+ },
+ provider: {
+ type: "string",
+ pattern: "^[a-z][a-z0-9_-]{0,63}$",
+ },
+ id: {
+ type: "string",
+ },
+ },
+ required: ["source", "provider", "id"],
+ additionalProperties: false,
+ },
+ ],
+ },
+ ],
},
password: {
anyOf: [
@@ -7648,6 +7711,9 @@ export const GENERATED_BUNDLED_CHANNEL_CONFIG_METADATA = [
type: "string",
enum: ["length", "newline"],
},
+ blockStreaming: {
+ type: "boolean",
+ },
blockStreamingCoalesce: {
type: "object",
properties: {
diff --git a/src/config/schema.base.generated.ts b/src/config/schema.base.generated.ts
index 2ef625aa34e..85bac97a9dc 100644
--- a/src/config/schema.base.generated.ts
+++ b/src/config/schema.base.generated.ts
@@ -15510,6 +15510,6 @@ export const GENERATED_BASE_CONFIG_SCHEMA = {
tags: ["security", "auth"],
},
},
- version: "2026.3.28",
+ version: "2026.3.28-beta.1",
generatedAt: "2026-03-22T21:17:33.302Z",
} as const satisfies BaseConfigSchemaResponse;
diff --git a/src/plugins/bundled-plugin-metadata.generated.ts b/src/plugins/bundled-plugin-metadata.generated.ts
index bcd7308634f..8ea3325aeed 100644
--- a/src/plugins/bundled-plugin-metadata.generated.ts
+++ b/src/plugins/bundled-plugin-metadata.generated.ts
@@ -11,7 +11,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["runtime-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/acpx",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw ACP runtime backend via acpx",
packageManifest: {
extensions: ["./index.ts"],
@@ -140,7 +140,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "discovery.js"],
packageName: "@openclaw/amazon-bedrock-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Amazon Bedrock provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -171,7 +171,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
"media-understanding-provider.js",
],
packageName: "@openclaw/anthropic-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Anthropic provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -244,7 +244,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["api.js", "channel-config-api.js", "runtime-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/bluebubbles",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw BlueBubbles channel plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -794,7 +794,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["web-search-provider.js"],
packageName: "@openclaw/brave-plugin",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Brave plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -850,7 +850,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["browser-runtime-api.js", "runtime-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/browser-plugin",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw browser tool plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -874,7 +874,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "models.js", "provider-catalog.js"],
packageName: "@openclaw/byteplus-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw BytePlus provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -917,7 +917,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "models.js", "onboard.js", "provider-catalog.js"],
packageName: "@openclaw/chutes-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Chutes.ai provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -971,7 +971,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "models.js", "onboard.js"],
packageName: "@openclaw/cloudflare-ai-gateway-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Cloudflare AI Gateway provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -1016,7 +1016,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["runtime-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/copilot-proxy",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Copilot Proxy provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -1054,7 +1054,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["audio.js", "media-understanding-provider.js"],
packageName: "@openclaw/deepgram-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Deepgram media-understanding provider",
packageManifest: {
extensions: ["./index.ts"],
@@ -1080,7 +1080,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "models.js", "onboard.js", "provider-catalog.js"],
packageName: "@openclaw/deepseek-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw DeepSeek provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -1123,7 +1123,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js"],
packageName: "@openclaw/diagnostics-otel",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw diagnostics OpenTelemetry exporter",
packageManifest: {
extensions: ["./index.ts"],
@@ -1146,7 +1146,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js"],
packageName: "@openclaw/diffs",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw diff viewer plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -1355,7 +1355,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/discord",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Discord channel plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -4021,7 +4021,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["web-search-provider.js"],
packageName: "@openclaw/duckduckgo-plugin",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw DuckDuckGo plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -4071,7 +4071,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["speech-provider.js", "tts.js"],
packageName: "@openclaw/elevenlabs-speech",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw ElevenLabs speech plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -4097,7 +4097,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["web-search-provider.js"],
packageName: "@openclaw/exa-plugin",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Exa plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -4144,7 +4144,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["image-generation-provider.js", "onboard.js"],
packageName: "@openclaw/fal-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw fal provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -4196,7 +4196,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["api.js", "runtime-api.js", "setup-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/feishu",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Feishu/Lark channel plugin (community maintained by @m1heng)",
packageManifest: {
extensions: ["./index.ts"],
@@ -5352,7 +5352,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["web-search-provider.js"],
packageName: "@openclaw/firecrawl-plugin",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Firecrawl plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -5414,7 +5414,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
"usage.js",
],
packageName: "@openclaw/github-copilot-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw GitHub Copilot provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -5473,7 +5473,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/google-plugin",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Google plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -5563,7 +5563,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["api.js", "channel-config-api.js", "runtime-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/googlechat",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Google Chat channel plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -6385,7 +6385,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["media-understanding-provider.js"],
packageName: "@openclaw/groq-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Groq media-understanding provider",
packageManifest: {
extensions: ["./index.ts"],
@@ -6411,7 +6411,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "models.js", "onboard.js", "provider-catalog.js"],
packageName: "@openclaw/huggingface-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Hugging Face provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -6460,7 +6460,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["api.js", "channel-config-api.js", "runtime-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/imessage",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw iMessage channel plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -7084,7 +7084,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "channel-config-api.js"],
packageName: "@openclaw/irc",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw IRC channel plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -7753,7 +7753,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
"shared.js",
],
packageName: "@openclaw/kilocode-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Kilo Gateway provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -7797,7 +7797,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "onboard.js", "provider-catalog.js"],
packageName: "@openclaw/kimi-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Kimi provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -7846,7 +7846,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["api.js", "runtime-api.js", "setup-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/line",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw LINE channel plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -8125,7 +8125,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "onboard.js", "provider-catalog.js"],
packageName: "@openclaw/litellm-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw LiteLLM provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -8169,7 +8169,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js"],
packageName: "@openclaw/llm-task",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw JSON-only LLM task plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -8218,7 +8218,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["runtime-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/lobster",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "Lobster workflow tool plugin (typed pipelines + resumable approvals)",
packageManifest: {
extensions: ["./index.ts"],
@@ -8254,7 +8254,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
],
runtimeSidecarArtifacts: ["helper-api.js", "runtime-api.js", "thread-bindings-runtime.js"],
packageName: "@openclaw/matrix",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Matrix channel plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -8816,7 +8816,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["api.js", "runtime-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/mattermost",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Mattermost channel plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -9433,7 +9433,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["api.js", "runtime-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/memory-core",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw core memory search plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -9457,7 +9457,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "config.js", "lancedb-runtime.js"],
packageName: "@openclaw/memory-lancedb",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw LanceDB-backed long-term memory plugin with auto-recall/capture",
packageManifest: {
extensions: ["./index.ts"],
@@ -9566,7 +9566,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["speech-provider.js", "tts.js"],
packageName: "@openclaw/microsoft-speech",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Microsoft speech plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -9600,7 +9600,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
"shared.js",
],
packageName: "@openclaw/microsoft-foundry",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Microsoft Foundry provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -9660,7 +9660,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
"provider-models.js",
],
packageName: "@openclaw/minimax-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw MiniMax provider and OAuth plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -9753,7 +9753,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
"provider-catalog.js",
],
packageName: "@openclaw/mistral-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Mistral provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -9805,7 +9805,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
"provider-catalog.js",
],
packageName: "@openclaw/modelstudio-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Model Studio provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -9897,7 +9897,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
"web-search-provider.js",
],
packageName: "@openclaw/moonshot-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Moonshot provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -9993,7 +9993,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["api.js", "channel-config-api.js", "runtime-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/msteams",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Microsoft Teams channel plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -10481,7 +10481,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["api.js", "runtime-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/nextcloud-talk",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Nextcloud Talk channel plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -11204,7 +11204,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["api.js", "runtime-api.js", "setup-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/nostr",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Nostr channel plugin for NIP-04 encrypted DMs",
packageManifest: {
extensions: ["./index.ts"],
@@ -11339,7 +11339,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "provider-catalog.js"],
packageName: "@openclaw/nvidia-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw NVIDIA provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -11368,7 +11368,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["api.js", "runtime-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/ollama-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Ollama provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -11409,7 +11409,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["runtime-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/open-prose",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenProse VM skill pack plugin (slash command + telemetry).",
packageManifest: {
extensions: ["./index.ts"],
@@ -11449,7 +11449,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
"tts.js",
],
packageName: "@openclaw/openai-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw OpenAI provider plugins",
packageManifest: {
extensions: ["./index.ts"],
@@ -11509,7 +11509,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "onboard.js"],
packageName: "@openclaw/opencode-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw OpenCode Zen provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -11552,7 +11552,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "onboard.js"],
packageName: "@openclaw/opencode-go-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw OpenCode Go provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -11600,7 +11600,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
"provider-catalog.js",
],
packageName: "@openclaw/openrouter-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw OpenRouter provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -11645,7 +11645,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
built: "index.js",
},
packageName: "@openclaw/openshell-sandbox",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw OpenShell sandbox backend",
packageManifest: {
extensions: ["./index.ts"],
@@ -11776,7 +11776,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["web-search-provider.js"],
packageName: "@openclaw/perplexity-plugin",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Perplexity plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -11837,7 +11837,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "onboard.js", "provider-catalog.js"],
packageName: "@openclaw/qianfan-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Qianfan provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -11880,7 +11880,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "defaults.js", "models.js"],
packageName: "@openclaw/sglang-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw SGLang provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -11930,7 +11930,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/signal",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Signal channel plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -12627,7 +12627,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["api.js", "channel-config-api.js", "runtime-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/slack",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Slack channel plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -14374,7 +14374,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["setup-api.js"],
packageName: "@openclaw/synology-chat",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "Synology Chat channel plugin for OpenClaw",
packageManifest: {
extensions: ["./index.ts"],
@@ -14433,7 +14433,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "models.js", "onboard.js", "provider-catalog.js"],
packageName: "@openclaw/synthetic-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Synthetic provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -14476,7 +14476,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["web-search-provider.js"],
packageName: "@openclaw/tavily-plugin",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Tavily plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -14543,7 +14543,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/telegram",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Telegram channel plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -16630,7 +16630,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["api.js", "runtime-api.js", "setup-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/tlon",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Tlon/Urbit channel plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -16837,7 +16837,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "models.js", "onboard.js", "provider-catalog.js"],
packageName: "@openclaw/together-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Together provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -16881,7 +16881,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["api.js", "runtime-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/twitch",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Twitch channel plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -17114,7 +17114,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "models.js", "onboard.js", "provider-catalog.js"],
packageName: "@openclaw/venice-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Venice provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -17157,7 +17157,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "models.js", "onboard.js", "provider-catalog.js"],
packageName: "@openclaw/vercel-ai-gateway-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Vercel AI Gateway provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -17200,7 +17200,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "defaults.js", "models.js"],
packageName: "@openclaw/vllm-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw vLLM provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -17241,7 +17241,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["api.js", "runtime-api.js", "runtime-entry.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/voice-call",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw voice-call plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -17869,7 +17869,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "models.js", "provider-catalog.js"],
packageName: "@openclaw/volcengine-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Volcengine provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -17926,7 +17926,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
],
runtimeSidecarArtifacts: ["light-runtime-api.js", "runtime-api.js"],
packageName: "@openclaw/whatsapp",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw WhatsApp channel plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -18536,7 +18536,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
"x-search.js",
],
packageName: "@openclaw/xai-plugin",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw xAI plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -18648,7 +18648,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
},
publicSurfaceArtifacts: ["api.js", "onboard.js", "provider-catalog.js"],
packageName: "@openclaw/xiaomi-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Xiaomi provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -18699,7 +18699,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/zai-provider",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Z.AI provider plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -18806,7 +18806,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["api.js", "runtime-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/zalo",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Zalo channel plugin",
packageManifest: {
extensions: ["./index.ts"],
@@ -19279,7 +19279,7 @@ export const GENERATED_BUNDLED_PLUGIN_METADATA = [
publicSurfaceArtifacts: ["api.js", "runtime-api.js"],
runtimeSidecarArtifacts: ["runtime-api.js"],
packageName: "@openclaw/zalouser",
- packageVersion: "2026.3.28",
+ packageVersion: "2026.3.28-beta.1",
packageDescription: "OpenClaw Zalo Personal Account plugin via native zca-js integration",
packageManifest: {
extensions: ["./index.ts"],
diff --git a/src/plugins/install.test.ts b/src/plugins/install.test.ts
index 3b316b669f8..1fbe54c0495 100644
--- a/src/plugins/install.test.ts
+++ b/src/plugins/install.test.ts
@@ -574,7 +574,7 @@ beforeAll(async () => {
beforeEach(() => {
vi.clearAllMocks();
vi.unstubAllEnvs();
- resolveCompatibilityHostVersionMock.mockReturnValue("2026.3.28");
+ resolveCompatibilityHostVersionMock.mockReturnValue("2026.3.28-beta.1");
});
describe("installPluginFromArchive", () => {
diff --git a/test/release-check.test.ts b/test/release-check.test.ts
index cb158663f6a..406ee67f43a 100644
--- a/test/release-check.test.ts
+++ b/test/release-check.test.ts
@@ -189,7 +189,7 @@ describe("collectPackUnpackedSizeErrors", () => {
expect(
collectPackUnpackedSizeErrors([makePackResult("openclaw-2026.3.12.tgz", 224_002_564)]),
).toEqual([
- "openclaw-2026.3.12.tgz unpackedSize 224002564 bytes (213.6 MiB) exceeds budget 199229440 bytes (190.0 MiB). Investigate duplicate channel shims, copied extension trees, or other accidental pack bloat before release.",
+ "openclaw-2026.3.12.tgz unpackedSize 224002564 bytes (213.6 MiB) exceeds budget 200278016 bytes (191.0 MiB). Investigate duplicate channel shims, copied extension trees, or other accidental pack bloat before release.",
]);
});