Compare commits

...

30 Commits

Author SHA1 Message Date
Tideclaw
98b58cef44 fix: keep runtime fixture rethrows lint-safe 2026-06-07 06:58:11 +00:00
Tideclaw
37c9f89452 test: stabilize image generation runtime fixture 2026-06-07 06:44:46 +00:00
Tideclaw
9e8fe8be7f test: stabilize startup cleanup gates 2026-06-07 05:56:14 +00:00
Tideclaw
2ff7b36893 fix: detect bare gateway ready log 2026-06-07 05:21:10 +00:00
Tideclaw
f3a07abe9d test: ignore terminal docker zero stats 2026-06-07 05:00:18 +00:00
Tideclaw
69d77b71c7 test: tolerate async media qa completion 2026-06-07 04:36:53 +00:00
Tideclaw
8cf8e048a3 chore: add alpha changelog notes 2026-06-07 04:10:35 +00:00
Tideclaw
5b36c1e5bc fix: allow current release package scan size 2026-06-07 03:54:55 +00:00
Tideclaw
1f54451d85 fix: refresh plugin sdk api baseline 2026-06-07 03:48:10 +00:00
Tideclaw
4afd17885d fix: break release architecture cycles 2026-06-07 03:36:54 +00:00
Tideclaw
d2d4d9f0a0 test: type memory doctor migration config 2026-06-07 03:03:38 +00:00
Tideclaw
190aace7d2 fix: satisfy release lint gates 2026-06-07 02:51:34 +00:00
Tideclaw
38cd431d7c chore: prepare alpha 2026.6.7-alpha.1 2026-06-07 02:27:44 +00:00
Tideclaw
4b7db37260 test: align extension batch chunk expectations 2026-06-07 02:20:05 +00:00
Tideclaw
cec631e683 fix: refresh alpha release generated metadata 2026-06-07 02:17:58 +00:00
Tideclaw
d433059731 fix: keep qa lab web fetches same-origin 2026-06-07 02:15:09 +00:00
Tideclaw
70737ac9da fix: stabilize alpha validation gates
(cherry picked from commit 9fcbf360d7)
2026-06-07 02:15:09 +00:00
Tideclaw
c1701c5562 test: allow qa parity release heap
(cherry picked from commit 35056f340c)
2026-06-07 02:15:09 +00:00
Tideclaw
903aa9d9d8 ci: give qa runtime parity more build memory
(cherry picked from commit 5590673a61)
2026-06-07 02:15:09 +00:00
Tideclaw
0b61a73049 test: finish bundled plugin config split
(cherry picked from commit 490a20b1ce)
2026-06-07 02:15:09 +00:00
Tideclaw
72a9a39547 test: keep bundled plugin probe lint-safe
(cherry picked from commit acf0291d65)
2026-06-07 02:14:26 +00:00
Tideclaw
308dc77fc6 test: stabilize alpha plugin prerelease sweep
(cherry picked from commit c6b84a66a6)
2026-06-07 02:14:26 +00:00
Tideclaw
3a3a7e532e test: stabilize release docker e2e harnesses
(cherry picked from commit dfa0e9485c)
(cherry picked from commit 802d06bbcc)
2026-06-07 02:14:26 +00:00
Tideclaw
1c7d78089d test: keep matrix async listener helpers lint-safe
(cherry picked from commit f7c78b382c)
(cherry picked from commit 5e38f33dcb)
2026-06-07 02:14:26 +00:00
Tideclaw
7cf0ffa0f0 ci: honor matrix runners for dispatch checks
(cherry picked from commit 92d29a71a9)
(cherry picked from commit 9e80c845ae)
2026-06-07 02:14:26 +00:00
Tideclaw
25e1cd4016 test: isolate heavy plugin batch tests
(cherry picked from commit 44ddefe84d)
(cherry picked from commit 9ec55a7729)
2026-06-07 02:14:26 +00:00
Tideclaw
3a2530b63b test: keep matrix async listeners lint-safe
(cherry picked from commit b7a38bdd2f)
(cherry picked from commit 5851bcfc58)
2026-06-07 02:14:26 +00:00
Tideclaw
a774526b6d test: stabilize alpha plugin prerelease gates
(cherry picked from commit b25b6ce2ee)
(cherry picked from commit 69e9555c13)
2026-06-07 02:14:26 +00:00
Tideclaw
20e90d3534 test: isolate install shell node floor check
(cherry picked from commit 598281eff5)
(cherry picked from commit 681de1d0e2)
2026-06-07 02:13:41 +00:00
Tideclaw
1764fe8246 fix: satisfy deprecated jsdoc guard
(cherry picked from commit 139c8e9ab0)
(cherry picked from commit 24d5ea72a7)
2026-06-07 02:13:41 +00:00
228 changed files with 1144 additions and 647 deletions

View File

@@ -1102,7 +1102,7 @@ jobs:
name: ${{ matrix.check_name }}
needs: [preflight]
if: needs.preflight.outputs.run_checks_node_core_nondist == 'true'
runs-on: ${{ github.event_name == 'workflow_dispatch' && 'ubuntu-24.04' || (github.repository == 'openclaw/openclaw' && (matrix.runner || 'blacksmith-8vcpu-ubuntu-2404') || 'ubuntu-24.04') }}
runs-on: ${{ github.repository == 'openclaw/openclaw' && (matrix.runner || 'blacksmith-8vcpu-ubuntu-2404') || 'ubuntu-24.04' }}
timeout-minutes: 60
strategy:
fail-fast: false
@@ -1210,7 +1210,7 @@ jobs:
name: ${{ matrix.check_name }}
needs: [preflight]
if: ${{ !cancelled() && always() && needs.preflight.outputs.run_check == 'true' }}
runs-on: ${{ github.event_name == 'workflow_dispatch' && 'ubuntu-24.04' || (github.repository == 'openclaw/openclaw' && (matrix.runner || 'blacksmith-4vcpu-ubuntu-2404') || 'ubuntu-24.04') }}
runs-on: ${{ github.repository == 'openclaw/openclaw' && (matrix.runner || 'blacksmith-4vcpu-ubuntu-2404') || 'ubuntu-24.04' }}
timeout-minutes: 20
strategy:
fail-fast: false

View File

@@ -1011,7 +1011,7 @@ jobs:
needs: [resolve_target]
if: contains(fromJSON('["all","qa","qa-parity"]'), needs.resolve_target.outputs.rerun_group)
continue-on-error: true
runs-on: blacksmith-8vcpu-ubuntu-2404
runs-on: blacksmith-16vcpu-ubuntu-2404
timeout-minutes: 45
permissions:
contents: read
@@ -1042,7 +1042,7 @@ jobs:
- name: Build private QA runtime
env:
NODE_OPTIONS: --max-old-space-size=8192
NODE_OPTIONS: --max-old-space-size=12288
run: node scripts/build-all.mjs qaRuntime
- name: Run runtime parity lane

View File

@@ -2,6 +2,12 @@
Docs: https://docs.openclaw.ai
## 2026.6.7-alpha.1
### Fixes
- Release validation: keep alpha package preflight green by isolating channel-ingress allowlist/store helpers from plugin runtime import cycles, refreshing the Plugin SDK API baseline, and allowing the current packaged `dist` scan size.
## 2026.6.5
### Highlights

View File

@@ -1,4 +1,4 @@
60c0700719fd2fe3f7cec4c35da10227b681d87ed1a3876ef830eb6bd80d43f2 config-baseline.json
8f352855b7cb4f8ea78c9d3ba2097cc74083bb637e6b3c5c28a7cab11f25e02e config-baseline.json
2ed21fa4a416ac2cec55eb2b6d1b11859aa04b40bd78c6ed9f3eb45b7240261c config-baseline.core.json
0637c9bdcb9517f56049dd786563366877458d35df575328a6b80a890c8bc915 config-baseline.channel.json
e6a1d6f51f0d9c04bd92d51deebfaca8c7917dd28d7998d225c0074e0a095348 config-baseline.plugin.json
f9d1f50bfa8403891e76cd99dc1357cdece4a71e8ae18a39b190c2a14e6f97b0 config-baseline.plugin.json

View File

@@ -1,2 +1,2 @@
a3ab01b572937539e563aa320ad80135bc701e20fffc43c0351d799590b7a0e0 plugin-sdk-api-baseline.json
9d49587923f8fc4abb16d981bcab54acbf90a3e74ab05933761049e2da0cffe1 plugin-sdk-api-baseline.jsonl
a2737d534f3f12f1f562e0dc405a47462453a8156a7eaddd2d412d267df9be3d plugin-sdk-api-baseline.json
384303b61e2c33842ffff29a9c9480c09abb23423917a55f9f78caf7f7ad2bb2 plugin-sdk-api-baseline.jsonl

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/acpx",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/acpx",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"dependencies": {
"@agentclientprotocol/claude-agent-acp": "0.39.0",
"@zed-industries/codex-acp": "0.15.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/acpx",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw ACP runtime backend with plugin-owned session and transport management.",
"repository": {
"type": "git",
@@ -26,10 +26,10 @@
"minHostVersion": ">=2026.4.25"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"build": {
"openclawVersion": "2026.6.2",
"openclawVersion": "2026.6.7-alpha.1",
"staticAssets": [
{
"source": "./src/runtime-internals/mcp-proxy.mjs",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/admin-http-rpc",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw admin HTTP RPC endpoint",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/alibaba-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Alibaba Model Studio video provider plugin",
"type": "module",

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/amazon-bedrock-mantle-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/amazon-bedrock-mantle-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"dependencies": {
"@anthropic-ai/sdk": "0.100.1",
"@aws/bedrock-token-generator": "1.1.0"

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/amazon-bedrock-mantle-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw Amazon Bedrock Mantle provider plugin for OpenAI-compatible model routing.",
"repository": {
"type": "git",
@@ -24,10 +24,10 @@
"minHostVersion": ">=2026.5.12-beta.1"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"build": {
"openclawVersion": "2026.6.2",
"openclawVersion": "2026.6.7-alpha.1",
"bundledDist": false
},
"release": {

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/amazon-bedrock-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/amazon-bedrock-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"dependencies": {
"@aws-sdk/client-bedrock": "3.1056.0",
"@aws-sdk/client-bedrock-runtime": "3.1056.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/amazon-bedrock-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw Amazon Bedrock provider plugin with model discovery, embeddings, and guardrail support.",
"repository": {
"type": "git",
@@ -28,10 +28,10 @@
"minHostVersion": ">=2026.5.12-beta.1"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"build": {
"openclawVersion": "2026.6.2",
"openclawVersion": "2026.6.7-alpha.1",
"bundledDist": false
},
"release": {

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/anthropic-vertex-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/anthropic-vertex-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"dependencies": {
"@anthropic-ai/vertex-sdk": "0.16.1"
}

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/anthropic-vertex-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw Anthropic Vertex provider plugin for Claude models on Google Vertex AI.",
"repository": {
"type": "git",
@@ -23,10 +23,10 @@
"minHostVersion": ">=2026.5.12-beta.1"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"build": {
"openclawVersion": "2026.6.2",
"openclawVersion": "2026.6.7-alpha.1",
"bundledDist": false
},
"release": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/anthropic-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Anthropic provider plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/arcee-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Arcee provider plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/azure-speech",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Azure Speech plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/bonjour",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw Bonjour/mDNS gateway discovery",
"type": "module",
"dependencies": {

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/brave-plugin",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/brave-plugin",
"version": "2026.6.2"
"version": "2026.6.7-alpha.1"
}
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/brave-plugin",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw Brave Search provider plugin for web search.",
"repository": {
"type": "git",
@@ -21,10 +21,10 @@
"allowInvalidConfigRecovery": true
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.7-alpha.1"
},
"release": {
"publishToClawHub": true,

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/browser-plugin",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw browser tool plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/byteplus-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw BytePlus provider plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/canvas-plugin",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Canvas plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/cerebras-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Cerebras provider plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/chutes-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Chutes.ai provider plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/clickclack",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw ClickClack channel plugin",
"type": "module",
@@ -18,7 +18,7 @@
"openclaw": "2026.5.28"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.7-alpha.1"
},
"peerDependenciesMeta": {
"openclaw": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/cloudflare-ai-gateway-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Cloudflare AI Gateway provider plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/codex-supervisor",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Codex app-server fleet supervision plugin.",
"type": "module",

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/codex",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/codex",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"dependencies": {
"@openai/codex": "0.135.0",
"typebox": "1.1.39",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/codex",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw Codex app-server harness and model provider plugin with a Codex-managed GPT catalog.",
"repository": {
"type": "git",
@@ -26,10 +26,10 @@
"minHostVersion": ">=2026.5.1-beta.1"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.7-alpha.1"
},
"release": {
"publishToClawHub": true,

View File

@@ -177,7 +177,7 @@ describe("startCodexAttemptThread", () => {
vi.restoreAllMocks();
vi.unstubAllEnvs();
for (const root of tempRoots) {
await fs.rm(root, { recursive: true, force: true });
await fs.rm(root, { recursive: true, force: true, maxRetries: 20, retryDelay: 100 });
}
tempRoots.clear();
});
@@ -271,7 +271,7 @@ describe("startCodexAttemptThread", () => {
await answerInitialize(retained);
await expect(retainedLease).resolves.toBe(retained.client);
const { run } = startThreadWithHarness(100, new AbortController().signal, {
const { run } = startThreadWithHarness(1_000, new AbortController().signal, {
harness: retained,
paths,
skipStartSpy: true,

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/comfy-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw ComfyUI provider plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/copilot-proxy",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Copilot Proxy provider plugin",
"type": "module",

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/copilot",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/copilot",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"dependencies": {
"@github/copilot-sdk": "1.0.0-beta.9"
}

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/copilot",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw GitHub Copilot agent runtime plugin (registers a `github-copilot` AgentHarness backed by @github/copilot-sdk over JSON-RPC to the GitHub Copilot CLI)",
"repository": {
"type": "git",
@@ -25,10 +25,10 @@
"minHostVersion": ">=2026.5.28"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"build": {
"openclawVersion": "2026.6.2",
"openclawVersion": "2026.6.7-alpha.1",
"bundledDist": false
},
"release": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/deepgram-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Deepgram media-understanding provider",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/deepinfra-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw DeepInfra provider plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/deepseek-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw DeepSeek provider plugin",
"type": "module",

View File

@@ -108,7 +108,7 @@ async function readNotifyState(api: OpenClawPluginApi): Promise<NotifyStateFile>
const subscribers = subscriberEntries
.map((entry) => entry.value)
.sort((a, b) => a.addedAtMs - b.addedAtMs);
.toSorted((a, b) => a.addedAtMs - b.addedAtMs);
const notifiedRequestIds: Record<string, number> = {};
for (const entry of seenRequestEntries) {
const requestId = normalizeOptionalString(entry.value.requestId);

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/diagnostics-otel",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/diagnostics-otel",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"dependencies": {
"@opentelemetry/api": "1.9.1",
"@opentelemetry/api-logs": "0.218.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/diagnostics-otel",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw diagnostics OpenTelemetry exporter for metrics and traces.",
"repository": {
"type": "git",
@@ -34,10 +34,10 @@
"minHostVersion": ">=2026.4.25"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.7-alpha.1"
},
"release": {
"publishToClawHub": true,

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/diagnostics-prometheus",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/diagnostics-prometheus",
"version": "2026.6.2"
"version": "2026.6.7-alpha.1"
}
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/diagnostics-prometheus",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw diagnostics Prometheus exporter for runtime metrics.",
"repository": {
"type": "git",
@@ -21,10 +21,10 @@
"minHostVersion": ">=2026.4.25"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.7-alpha.1"
},
"release": {
"publishToClawHub": true,

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/diffs-language-pack",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/diffs-language-pack",
"version": "2026.6.2"
"version": "2026.6.7-alpha.1"
}
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/diffs-language-pack",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw diffs viewer syntax highlighting language pack",
"repository": {
"type": "git",
@@ -22,13 +22,13 @@
"minHostVersion": ">=2026.5.27"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"assetScripts": {
"build": "node ../../scripts/build-diffs-viewer-runtime.mjs full"
},
"build": {
"openclawVersion": "2026.6.2",
"openclawVersion": "2026.6.7-alpha.1",
"staticAssets": [
{
"source": "./assets/viewer-runtime.js",

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/diffs",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/diffs",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"dependencies": {
"@pierre/diffs": "1.2.4",
"@pierre/theme": "1.0.3",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/diffs",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw read-only diff viewer plugin and file renderer for agents.",
"repository": {
"type": "git",
@@ -29,13 +29,13 @@
"minHostVersion": ">=2026.4.30"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"assetScripts": {
"build": "node ../../scripts/build-diffs-viewer-runtime.mjs curated"
},
"build": {
"openclawVersion": "2026.6.2",
"openclawVersion": "2026.6.7-alpha.1",
"staticAssets": [
{
"source": "./assets/viewer-runtime.js",

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/discord",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/discord",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"dependencies": {
"@discordjs/voice": "0.19.2",
"discord-api-types": "0.38.48",
@@ -16,7 +16,7 @@
"ws": "8.21.0"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.7-alpha.1"
},
"peerDependenciesMeta": {
"openclaw": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/discord",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw Discord channel plugin for channels, DMs, commands, and app events.",
"repository": {
"type": "git",
@@ -20,7 +20,7 @@
"openclaw": "2026.5.28"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.7-alpha.1"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -67,10 +67,10 @@
"allowInvalidConfigRecovery": true
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.7-alpha.1"
},
"release": {
"publishToClawHub": true,

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/document-extract-plugin",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw local document extraction plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/duckduckgo-plugin",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw DuckDuckGo plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/elevenlabs-speech",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw ElevenLabs speech plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/exa-plugin",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Exa plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/fal-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw fal provider plugin",
"type": "module",

View File

@@ -1,19 +1,19 @@
{
"name": "@openclaw/feishu",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/feishu",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"dependencies": {
"@larksuiteoapi/node-sdk": "1.66.0",
"typebox": "1.1.39",
"zod": "4.4.3"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.7-alpha.1"
},
"peerDependenciesMeta": {
"openclaw": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/feishu",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw Feishu/Lark channel plugin for chats and workplace tools (community maintained by @m1heng).",
"repository": {
"type": "git",
@@ -17,7 +17,7 @@
"openclaw": "2026.5.28"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.7-alpha.1"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -51,10 +51,10 @@
"minHostVersion": ">=2026.5.29"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.7-alpha.1"
},
"release": {
"publishToClawHub": true,

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/file-transfer",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw file transfer plugin (file_fetch, dir_list, dir_fetch, file_write)",
"type": "module",
"dependencies": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/firecrawl-plugin",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Firecrawl plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/fireworks-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Fireworks provider plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/github-copilot-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw GitHub Copilot provider plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/gmi-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw GMI Cloud provider plugin",
"type": "module",

View File

@@ -1,18 +1,18 @@
{
"name": "@openclaw/google-meet",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/google-meet",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"dependencies": {
"commander": "14.0.3",
"typebox": "1.1.39"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.7-alpha.1"
},
"peerDependenciesMeta": {
"openclaw": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/google-meet",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw Google Meet participant plugin for joining calls through Chrome or Twilio transports.",
"repository": {
"type": "git",
@@ -16,7 +16,7 @@
"openclaw": "2026.5.28"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.7-alpha.1"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -33,10 +33,10 @@
"minHostVersion": ">=2026.4.20"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.7-alpha.1"
},
"release": {
"publishToClawHub": true,

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/google-plugin",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Google plugin",
"type": "module",

View File

@@ -1,19 +1,19 @@
{
"name": "@openclaw/googlechat",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/googlechat",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"dependencies": {
"gaxios": "7.1.4",
"google-auth-library": "10.6.2",
"zod": "4.4.3"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.7-alpha.1"
},
"peerDependenciesMeta": {
"openclaw": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/googlechat",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw Google Chat channel plugin for spaces and direct messages.",
"repository": {
"type": "git",
@@ -17,7 +17,7 @@
"openclaw": "2026.5.28"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.7-alpha.1"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -75,10 +75,10 @@
"minHostVersion": ">=2026.4.10"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.7-alpha.1"
},
"release": {
"publishToClawHub": true,

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/gradium-speech",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Gradium speech plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/groq-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Groq media-understanding provider",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/huggingface-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Hugging Face provider plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/image-generation-core",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw image generation runtime package",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/imessage",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw iMessage channel plugin using imsg on a signed-in Mac",
"type": "module",
@@ -43,10 +43,10 @@
]
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.7-alpha.1"
}
},
"pluginInspector": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/inworld-speech",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Inworld speech plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/irc",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw IRC channel plugin",
"type": "module",
"devDependencies": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/kilocode-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Kilo Gateway provider plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/kimi-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Kimi provider plugin",
"type": "module",

View File

@@ -1,18 +1,18 @@
{
"name": "@openclaw/line",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/line",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"dependencies": {
"@line/bot-sdk": "11.0.1",
"zod": "4.4.3"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.7-alpha.1"
},
"peerDependenciesMeta": {
"openclaw": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/line",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw LINE channel plugin for LINE Bot API chats.",
"repository": {
"type": "git",
@@ -16,7 +16,7 @@
"openclaw": "2026.5.28"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.7-alpha.1"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -46,10 +46,10 @@
"minHostVersion": ">=2026.4.10"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.7-alpha.1"
},
"release": {
"publishToClawHub": true,

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/litellm-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw LiteLLM provider plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/llm-task",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw JSON-only LLM task plugin",
"type": "module",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/lmstudio-provider",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw LM Studio provider plugin",
"type": "module",

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/lobster",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/lobster",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"dependencies": {
"@clawdbot/lobster": "2026.5.22",
"typebox": "1.1.39"

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/lobster",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "Lobster workflow tool plugin for typed pipelines and resumable approvals.",
"repository": {
"type": "git",
@@ -24,10 +24,10 @@
"minHostVersion": ">=2026.4.25"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.7-alpha.1"
},
"release": {
"publishToClawHub": true,

View File

@@ -1,5 +1,11 @@
# Changelog
## 2026.6.7-alpha.1
### Changes
- Version alignment with core OpenClaw release numbers.
## 2026.6.3
### Changes

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/matrix",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/matrix",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"dependencies": {
"@matrix-org/matrix-sdk-crypto-nodejs": "0.6.0",
"@matrix-org/matrix-sdk-crypto-wasm": "18.3.0",
@@ -18,7 +18,7 @@
"zod": "4.4.3"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.7-alpha.1"
},
"peerDependenciesMeta": {
"openclaw": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/matrix",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw Matrix channel plugin for rooms and direct messages.",
"repository": {
"type": "git",
@@ -22,7 +22,7 @@
"openclaw": "2026.5.28"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.7-alpha.1"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -88,10 +88,10 @@
"allowInvalidConfigRecovery": true
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.7-alpha.1"
},
"release": {
"publishToClawHub": true,

View File

@@ -5,7 +5,7 @@ import { setMatrixRuntime } from "../../runtime.js";
import type { MatrixConfig } from "../../types.js";
import { registerMatrixAutoJoin } from "./auto-join.js";
type InviteHandler = (roomId: string, inviteEvent: unknown) => void;
type InviteHandler = (roomId: string, inviteEvent: unknown) => void | Promise<void>;
async function flushInviteTasks() {
for (let i = 0; i < 5; i += 1) {
@@ -18,7 +18,12 @@ function createClientStub() {
const client = {
on: vi.fn((eventName: string, listener: unknown) => {
if (eventName === "room.invite") {
inviteHandler = listener as InviteHandler;
inviteHandler = async (roomId, inviteEvent) => {
(listener as (roomId: string, inviteEvent: unknown) => void)(roomId, inviteEvent);
await new Promise<void>((resolve) => {
setImmediate(resolve);
});
};
}
return client;
}),
@@ -69,7 +74,7 @@ async function triggerInvite(
if (!inviteHandler) {
throw new Error("expected Matrix invite handler");
}
inviteHandler("!room:example.org", inviteEvent);
await inviteHandler("!room:example.org", inviteEvent);
await flushInviteTasks();
}
@@ -157,7 +162,7 @@ describe("registerMatrixAutoJoin", () => {
if (!inviteHandler) {
throw new Error("expected Matrix invite handler");
}
inviteHandler("!room:example.org", {});
await inviteHandler("!room:example.org", {});
await flushInviteTasks();
expect(joinRoom).not.toHaveBeenCalled();

View File

@@ -9,7 +9,11 @@ import type { MatrixRawEvent } from "./types.js";
import { EventType } from "./types.js";
type RoomEventListener = (roomId: string, event: MatrixRawEvent) => void;
type FailedDecryptListener = (roomId: string, event: MatrixRawEvent, error: Error) => void;
type FailedDecryptListener = (
roomId: string,
event: MatrixRawEvent,
error: Error,
) => void | Promise<void>;
type VerificationSummaryListener = (summary: MatrixVerificationSummary) => void;
function getSentNoticeBody(sendMessage: ReturnType<typeof vi.fn>, index = 0): string {
@@ -218,6 +222,15 @@ function createHarness(params?: {
throw new Error("room.event listener was not registered");
}
const failedDecryptListener: FailedDecryptListener | undefined = listeners.has(
"room.failed_decryption",
)
? async (roomId, event, error) => {
listeners.get("room.failed_decryption")?.(roomId, event, error);
await flushTasks();
}
: undefined;
return {
onRoomMessage,
sendMessage,
@@ -235,9 +248,7 @@ function createHarness(params?: {
roomDecryptedEventListener: listeners.get("room.decrypted_event") as
| RoomEventListener
| undefined,
failedDecryptListener: listeners.get("room.failed_decryption") as
| FailedDecryptListener
| undefined,
failedDecryptListener,
verificationSummaryListener: listeners.get("verification.summary") as
| VerificationSummaryListener
| undefined,
@@ -1498,7 +1509,7 @@ describe("registerMatrixMonitorEvents verification routing", () => {
throw new Error("room.failed_decryption listener was not registered");
}
failedDecryptListener(
await failedDecryptListener(
"!room:example.org",
{
event_id: "$enc-self",
@@ -1537,7 +1548,7 @@ describe("registerMatrixMonitorEvents verification routing", () => {
throw new Error("room.failed_decryption listener was not registered");
}
failedDecryptListener(
await failedDecryptListener(
"!room:example.org",
{
event_id: "$enc-other",
@@ -1577,7 +1588,7 @@ describe("registerMatrixMonitorEvents verification routing", () => {
"!room-b:example.org",
"!room-c:example.org",
].entries()) {
failedDecryptListener(
await failedDecryptListener(
roomId,
{
event_id: `$enc-fresh-${index + 1}`,
@@ -1636,7 +1647,7 @@ describe("registerMatrixMonitorEvents verification routing", () => {
throw new Error("room.failed_decryption listener was not registered");
}
failedDecryptListener(
await failedDecryptListener(
"!room:example.org",
{
event_id: "$enc-old",
@@ -1657,7 +1668,7 @@ describe("registerMatrixMonitorEvents verification routing", () => {
healthySync.sinceMs = Date.now();
failedDecryptListener(
await failedDecryptListener(
"!room:example.org",
{
event_id: "$enc-fresh-after-ready",
@@ -1695,7 +1706,7 @@ describe("registerMatrixMonitorEvents verification routing", () => {
for (const wave of [1, 2]) {
for (const index of [1, 2, 3]) {
failedDecryptListener(
await failedDecryptListener(
`!room-${wave}-${index}:example.org`,
{
event_id: `$enc-wave-${wave}-${index}`,
@@ -1749,7 +1760,7 @@ describe("registerMatrixMonitorEvents verification routing", () => {
}
for (const index of [1, 2, 3]) {
failedDecryptListener(
await failedDecryptListener(
`!room-first-${index}:example.org`,
{
event_id: `$enc-first-${index}`,
@@ -1766,7 +1777,7 @@ describe("registerMatrixMonitorEvents verification routing", () => {
healthySyncSinceMs = Date.now();
for (const index of [1, 2, 3]) {
failedDecryptListener(
await failedDecryptListener(
`!room-second-${index}:example.org`,
{
event_id: `$enc-second-${index}`,
@@ -1817,7 +1828,7 @@ describe("registerMatrixMonitorEvents verification routing", () => {
throw new Error("room.failed_decryption listener was not registered");
}
failedDecryptListener(
await failedDecryptListener(
"!room:example.org",
{
event_id: "$enc-lookup-fail",

View File

@@ -274,7 +274,7 @@ export function registerMatrixMonitorEvents(params: {
client.on("room.failed_decryption", (roomId: string, event: MatrixRawEvent, error: Error) => {
void runMonitorTask(
`failed decryption handler room=${roomId} id=${event.event_id ?? "unknown"}`,
`failed decrypt handler room=${roomId} id=${event.event_id ?? "unknown"}`,
async () => {
const failureState = postHealthySyncDecryptFailureTracker.recordFailure(
roomId,

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/mattermost",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw Mattermost channel plugin",
"repository": {
"type": "git",
@@ -16,7 +16,7 @@
"openclaw": "2026.5.28"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.7-alpha.1"
},
"peerDependenciesMeta": {
"openclaw": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/media-understanding-core",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw media understanding runtime package",
"type": "module",

View File

@@ -2,6 +2,7 @@
import fs from "node:fs/promises";
import os from "node:os";
import path from "node:path";
import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts";
import {
createPluginStateKeyedStoreForTests,
resetPluginStateStoreForTests,
@@ -53,7 +54,7 @@ describe("memory-core doctor dreaming migration", () => {
}
function migrationParams(
config: unknown = {
config: OpenClawConfig = {
agents: {
list: [{ id: "main", workspace: workspaceDir }],
},

View File

@@ -51,8 +51,8 @@ async function fileExists(filePath: string): Promise<boolean> {
}
}
async function readJsonFile(filePath: string): Promise<unknown | null> {
return JSON.parse(await fs.readFile(filePath, "utf8")) as unknown;
async function readJsonFile(filePath: string): Promise<unknown> {
return JSON.parse(await fs.readFile(filePath, "utf8"));
}
async function archiveLegacySource(params: {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/memory-core",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw core memory search plugin",
"type": "module",
@@ -14,7 +14,7 @@
"openclaw": "2026.5.28"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.7-alpha.1"
},
"peerDependenciesMeta": {
"openclaw": {

View File

@@ -87,6 +87,7 @@ function openWorkspaceStore<T>(namespace: string): PluginStateKeyedStore<Workspa
});
}
// eslint-disable-next-line typescript/no-unnecessary-type-parameters -- Callers provide the typed plugin-state value shape owned by each namespace.
export async function readMemoryCoreWorkspaceEntries<T>(params: {
namespace: string;
workspaceDir: string;
@@ -99,6 +100,7 @@ export async function readMemoryCoreWorkspaceEntries<T>(params: {
.map((entry) => ({ key: entry.value.key, value: entry.value.value }));
}
// eslint-disable-next-line typescript/no-unnecessary-type-parameters -- Keeps namespace value types explicit at write call sites.
export async function writeMemoryCoreWorkspaceEntries<T>(params: {
namespace: string;
workspaceDir: string;
@@ -126,6 +128,7 @@ export async function writeMemoryCoreWorkspaceEntries<T>(params: {
}
}
// eslint-disable-next-line typescript/no-unnecessary-type-parameters -- Keeps namespace value types explicit at write call sites.
export async function writeMemoryCoreWorkspaceEntry<T>(params: {
namespace: string;
workspaceDir: string;

View File

@@ -2499,7 +2499,6 @@ export async function auditShortTermPromotionArtifacts(params: {
const storePath = resolveStorePath(workspaceDir);
const lockPath = resolveLockPath(workspaceDir);
const issues: ShortTermAuditIssue[] = [];
let exists = false;
let entryCount = 0;
let promotedCount = 0;
let spacedEntryCount = 0;
@@ -2513,7 +2512,7 @@ export async function auditShortTermPromotionArtifacts(params: {
namespace: SHORT_TERM_RECALL_NAMESPACE,
workspaceDir,
});
exists = rawEntries.length > 0;
const exists = rawEntries.length > 0;
if (exists) {
const parsed = {
version: 1,
@@ -2788,9 +2787,7 @@ export const testing = {
writeMemoryCoreWorkspaceEntries({
namespace: SHORT_TERM_RECALL_NAMESPACE,
workspaceDir,
entries: entries
? Object.entries(entries).map(([key, value]) => ({ key, value: value as unknown }))
: [],
entries: entries ? Object.entries(entries).map(([key, value]) => ({ key, value })) : [],
}),
writeMemoryCoreWorkspaceEntry({
namespace: SHORT_TERM_META_NAMESPACE,
@@ -2812,9 +2809,7 @@ export const testing = {
writeMemoryCoreWorkspaceEntries({
namespace: SHORT_TERM_PHASE_SIGNAL_NAMESPACE,
workspaceDir,
entries: entries
? Object.entries(entries).map(([key, value]) => ({ key, value: value as unknown }))
: [],
entries: entries ? Object.entries(entries).map(([key, value]) => ({ key, value })) : [],
}),
writeMemoryCoreWorkspaceEntry({
namespace: SHORT_TERM_META_NAMESPACE,

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/memory-lancedb",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/memory-lancedb",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"dependencies": {
"@lancedb/lancedb": "0.30.0",
"apache-arrow": "21.1.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/memory-lancedb",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"description": "OpenClaw LanceDB-backed long-term memory plugin with auto-recall, auto-capture, and vector search.",
"repository": {
"type": "git",
@@ -26,10 +26,10 @@
"minHostVersion": ">=2026.5.31"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.7-alpha.1"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.7-alpha.1"
},
"release": {
"bundleRuntimeDependencies": false,

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/memory-wiki",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw persistent wiki plugin",
"type": "module",
@@ -14,7 +14,7 @@
"openclaw": "2026.5.28"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.7-alpha.1"
},
"peerDependenciesMeta": {
"openclaw": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/microsoft-foundry",
"version": "2026.6.2",
"version": "2026.6.7-alpha.1",
"private": true,
"description": "OpenClaw Microsoft Foundry provider plugin",
"type": "module",

Some files were not shown because too many files have changed in this diff Show More