Compare commits

...

21 Commits

Author SHA1 Message Date
Tideclaw
3c5e88f092 chore: prepare alpha 2026.6.9-alpha.4 2026-06-14 02:40:25 +00:00
Tideclaw
c004564bf7 test: stabilize provider ref validation note assertion
(cherry picked from commit ebf4ad4f76)
2026-06-14 02:16:18 +00:00
Tideclaw
a5950f70d2 test: lazy load mcp channel package protocol
(cherry picked from commit 64272f0a8f)
(cherry picked from commit 2d7968144f)
2026-06-14 02:15:40 +00:00
Tideclaw
4d30634167 test: isolate codex startup auth home
(cherry picked from commit cf743adeea)
(cherry picked from commit 23b065bc5b)
(cherry picked from commit 9b300baf05)
2026-06-14 02:15:39 +00:00
Tideclaw
ced5e3e879 test: tolerate stale mcp pairing approvals
(cherry picked from commit c3b3101890)
(cherry picked from commit b73232a594)
(cherry picked from commit 944ec112fa)
2026-06-14 02:15:39 +00:00
Tideclaw
e0c7c2ec96 test: fix slack media mock typing
(cherry picked from commit f62d8f7472)
(cherry picked from commit 5499dc9824)
(cherry picked from commit d0ea845996)
2026-06-14 02:15:39 +00:00
Tideclaw
8b3c4bd6a7 test: stabilize slack pending media history
(cherry picked from commit cce8a14224)
(cherry picked from commit f29a97c4a5)
(cherry picked from commit 5577f24505)
2026-06-14 02:15:39 +00:00
Tideclaw
ea7d3f1352 test: prefer transcript runtime parity tools
(cherry picked from commit 02e5f4ad32)
(cherry picked from commit f0a7a6511e)
(cherry picked from commit 871c54a3fc)
2026-06-14 02:15:39 +00:00
Tideclaw
12afd90744 test: retry codex startup temp cleanup
(cherry picked from commit 7d756f707e)
(cherry picked from commit 8f0669051c)
(cherry picked from commit 144d6a0181)
2026-06-14 02:15:39 +00:00
Tideclaw
deabdff77b test: allow empty rem truth preview
(cherry picked from commit 8bd4714a75)
(cherry picked from commit 4e1df27c8e)
(cherry picked from commit b24871d5f1)
2026-06-14 02:15:39 +00:00
Tideclaw
755586ada3 test: align imessage echo cache options
(cherry picked from commit 9d9c70af0b)
(cherry picked from commit 04b701f530)
(cherry picked from commit a60f067002)
2026-06-14 02:15:39 +00:00
Tideclaw
bd961cb5a7 test: stabilize task maintenance release shard
(cherry picked from commit f28ab293b1)
(cherry picked from commit d3f0e7bcb8)
(cherry picked from commit 425ca07bbd)
2026-06-14 02:15:39 +00:00
Tideclaw
36a6db4882 test: stabilize imessage monitor release shard
(cherry picked from commit 1022e49adc)
(cherry picked from commit 9a32601492)
(cherry picked from commit 1cfa0f1267)
(cherry picked from commit 0ae3fc3f42)
2026-06-14 02:15:39 +00:00
Tideclaw
7d5803a0b5 test: register matrix fixture for cross-agent acp spawn
(cherry picked from commit 1e74b8c081)
(cherry picked from commit ef66cd908d)
(cherry picked from commit 31ae2847e9)
(cherry picked from commit 3d19bebb2a)
2026-06-14 02:15:39 +00:00
Tideclaw
be1137ee2c test: stabilize acp spawn channel fixtures
(cherry picked from commit 17a4a7f7d7)
(cherry picked from commit f149bfd196)
(cherry picked from commit 791a595b41)
(cherry picked from commit 6dbf7bcf3f)
2026-06-14 02:15:39 +00:00
Tideclaw
91ef71c038 test: use sqlite session stores in release fixtures
(cherry picked from commit 9afb3acff7)
(cherry picked from commit c1def265eb)
(cherry picked from commit ab528e0d46)
(cherry picked from commit 06f3fdeed0)
2026-06-14 02:15:39 +00:00
Tideclaw
8e87c7cf7f test: seed telegram approval stores through sdk
(cherry picked from commit 6a06a36f26)
(cherry picked from commit 70e7d8bc77)
(cherry picked from commit 4803fd24a0)
(cherry picked from commit d32b854c41)
2026-06-14 02:15:39 +00:00
Tideclaw
f246f42819 test: seed remaining plugin stores through sdk
(cherry picked from commit aea32e6b6c)
(cherry picked from commit 9323c0aab4)
(cherry picked from commit 750693726d)
(cherry picked from commit de7aa23bb8)
2026-06-14 02:15:39 +00:00
Tideclaw
c6a21ed536 test: use valid slack session entries
(cherry picked from commit 08f4ff46da)
(cherry picked from commit 606fb0a6af)
(cherry picked from commit 5825af73f7)
(cherry picked from commit 91d1a29574)
2026-06-14 02:15:39 +00:00
Tideclaw
e2b53b1e2c test: seed channel session stores through sdk
(cherry picked from commit 066ed9dd84)
(cherry picked from commit 3db224497b)
(cherry picked from commit a5cbe49305)
(cherry picked from commit 244e6e6512)
2026-06-14 02:15:39 +00:00
Tideclaw
dd28a906cf fix: allow alpha focused publish proof
(cherry picked from commit 8d91342423)
(cherry picked from commit 54750b096a)
(cherry picked from commit 607d6947ac)
(cherry picked from commit ccc929021b)
2026-06-14 02:15:39 +00:00
197 changed files with 716 additions and 488 deletions

View File

@@ -661,6 +661,10 @@ jobs:
- name: Verify full release validation target
if: ${{ inputs.full_release_validation_run_id != '' }}
env:
RELEASE_TAG: ${{ inputs.tag }}
RELEASE_NPM_DIST_TAG: ${{ inputs.npm_dist_tag }}
WORKFLOW_REF_NAME: ${{ github.ref_name }}
run: |
set -euo pipefail
EXPECTED_RELEASE_SHA="$(git rev-parse HEAD)"
@@ -681,7 +685,11 @@ jobs:
echo "Full release validation target SHA mismatch: expected $EXPECTED_RELEASE_SHA, got $TARGET_SHA" >&2
exit 1
fi
if [[ "$RERUN_GROUP" != "all" ]]; then
tideclaw_alpha_focused_validation=false
if [[ "$RERUN_GROUP" == "install-smoke" && "$RELEASE_TAG" == *"-alpha."* && "$RELEASE_NPM_DIST_TAG" == "alpha" && "$WORKFLOW_REF_NAME" =~ ^tideclaw/alpha/[0-9]{4}-[0-9]{2}-[0-9]{2}-[0-9]{4}Z$ ]]; then
tideclaw_alpha_focused_validation=true
fi
if [[ "$RERUN_GROUP" != "all" && "$tideclaw_alpha_focused_validation" != "true" ]]; then
echo "Full release validation must run rerun_group=all before npm publish; got $RERUN_GROUP" >&2
exit 1
fi

View File

@@ -268,6 +268,8 @@ jobs:
EXPECTED_SHA: ${{ steps.ref.outputs.sha }}
EXPECTED_RELEASE_PROFILE: ${{ inputs.release_profile }}
EXPECTED_WORKFLOW_BRANCH: ${{ github.ref_name }}
RELEASE_TAG: ${{ inputs.tag }}
RELEASE_NPM_DIST_TAG: ${{ inputs.npm_dist_tag }}
run: |
set -euo pipefail
RUN_JSON="$(gh run view "$FULL_RELEASE_VALIDATION_RUN_ID" --repo "$GITHUB_REPOSITORY" --json workflowName,headBranch,event,status,conclusion,url)"
@@ -295,7 +297,11 @@ jobs:
echo "Full release validation profile mismatch: expected $EXPECTED_RELEASE_PROFILE, got $release_profile" >&2
exit 1
fi
if [[ "$rerun_group" != "all" ]]; then
tideclaw_alpha_focused_validation=false
if [[ "$rerun_group" == "install-smoke" && "$RELEASE_TAG" == *"-alpha."* && "$RELEASE_NPM_DIST_TAG" == "alpha" && "$EXPECTED_WORKFLOW_BRANCH" =~ ^tideclaw/alpha/[0-9]{4}-[0-9]{2}-[0-9]{2}-[0-9]{4}Z$ ]]; then
tideclaw_alpha_focused_validation=true
fi
if [[ "$rerun_group" != "all" && "$tideclaw_alpha_focused_validation" != "true" ]]; then
echo "Full release validation must run rerun_group=all before npm publish; got $rerun_group" >&2
exit 1
fi

View File

@@ -2,6 +2,12 @@
Docs: https://docs.openclaw.ai
## 2026.6.9-alpha.4
### Fixes
- Alpha/nightly release validation carries focused alpha publish proof support plus release-branch test stabilization for provider auth references, channel session fixtures, ACP spawn fixtures, Slack media history, Telegram approvals, iMessage monitor coverage, memory CLI coverage, Codex startup cleanup, MCP channel package protocol loading, and QA Lab runtime parity.
## 2026.6.8
### Highlights

View File

@@ -1,4 +1,4 @@
37b56008790612b8293930b6a29d74490e98daa90f954fca9d133fcc28645c4c config-baseline.json
75b64c2ea081369ba4306493313a8a4cd48b784145f92fed995e6b77a5df350d config-baseline.core.json
17d64c9799dfa239a49493413f1100bdd9237e9b67aaeae331a4604dbc227023 config-baseline.channel.json
f9d1f50bfa8403891e76cd99dc1357cdece4a71e8ae18a39b190c2a14e6f97b0 config-baseline.plugin.json
917818c12fcf0e6eadc1820f43968aa299ce2eda02f498ef1988d4e2a58fd42c config-baseline.json
c61a2ec58263399cfc1b7dadc904a03d45c56bc739e49cadaf146684615fab94 config-baseline.core.json
1218f5555541b61bd5ddcac6441f15061b44789e2471d4ffecbe3059777c55c1 config-baseline.channel.json
b0dec5acfe60557e728e5ad03cc36d19d2432d51f755656c97846afa7fbe374a config-baseline.plugin.json

View File

@@ -1,2 +1,2 @@
0cca9891634edbdd08dfcebe0f29b36d7cf2729fd0c2ec3dd4615acef209a7eb plugin-sdk-api-baseline.json
2c763baab30411800b8931857e0a61e2710202394c2284f4c98e3e2f4231f88c plugin-sdk-api-baseline.jsonl
85c3572e6ed2bfe3df92c7d53cef465b30d2e861ad9529009faa287cdc5aec71 plugin-sdk-api-baseline.json
0d7c7e42d04b97d40519c5a23ba96599b05868c71a997eb913b9fccbc5fb2515 plugin-sdk-api-baseline.jsonl

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/acpx",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/acpx",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4"
},
"build": {
"openclawVersion": "2026.6.2",
"openclawVersion": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/amazon-bedrock-mantle-provider",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4"
},
"build": {
"openclawVersion": "2026.6.2",
"openclawVersion": "2026.6.9-alpha.4",
"bundledDist": false
},
"release": {

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/amazon-bedrock-provider",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/amazon-bedrock-provider",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4"
},
"build": {
"openclawVersion": "2026.6.2",
"openclawVersion": "2026.6.9-alpha.4",
"bundledDist": false
},
"release": {

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/anthropic-vertex-provider",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/anthropic-vertex-provider",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4"
},
"build": {
"openclawVersion": "2026.6.2",
"openclawVersion": "2026.6.9-alpha.4",
"bundledDist": false
},
"release": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/anthropic-provider",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/brave-plugin",
"version": "2026.6.2"
"version": "2026.6.9-alpha.4"
}
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/brave-plugin",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.9-alpha.4"
},
"release": {
"publishToClawHub": true,

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/browser-plugin",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"private": true,
"description": "OpenClaw Cerebras provider plugin",
"type": "module",

View File

@@ -15,6 +15,17 @@ function restoreEnvVar(name: string, value: string | undefined): void {
}
}
function readAuthorizationHeader(init?: { headers?: HeadersInit }): string {
const headers = init?.headers;
if (headers instanceof Headers) {
return headers.get("Authorization") ?? "";
}
if (Array.isArray(headers)) {
return headers.find(([key]) => key.toLowerCase() === "authorization")?.[1] ?? "";
}
return headers?.Authorization ?? headers?.authorization ?? "";
}
async function runChutesCatalog(params: { apiKey?: string; discoveryApiKey?: string }) {
const provider = await registerSingleProviderPlugin(plugin);
const result = await provider.catalog?.run({
@@ -102,9 +113,7 @@ describe("chutes implicit provider auth mode", () => {
const chutesCalls = fetchMock.mock.calls.filter(([url]) => String(url).includes("chutes.ai"));
expect(chutesCalls.length).toBeGreaterThan(0);
const request = chutesCalls[0]?.[1] as { headers?: HeadersInit } | undefined;
expect(new Headers(request?.headers).get("authorization")).toBe(
"Bearer my-chutes-access-token",
);
expect(readAuthorizationHeader(request)).toBe("Bearer my-chutes-access-token");
});
});
});

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/chutes-provider",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4"
},
"peerDependenciesMeta": {
"openclaw": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/cloudflare-ai-gateway-provider",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/codex",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"dependencies": {
"@openai/codex": "0.139.0",
"typebox": "1.1.39",

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/codex",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.9-alpha.4"
},
"release": {
"publishToClawHub": true,

View File

@@ -30,6 +30,14 @@ type AttemptPaths = {
const tempRoots = new Set<string>();
function isolateCodexCliAuthHome(): void {
const root = path.join(os.tmpdir(), `openclaw-codex-attempt-auth-${randomUUID()}`);
tempRoots.add(root);
// Keep fallback auth lookup from reading the operator's real Codex CLI auth file.
vi.stubEnv("CODEX_HOME", path.join(root, "codex-home"));
vi.stubEnv("HOME", path.join(root, "home"));
}
function createAttemptPaths(): AttemptPaths {
const root = path.join(os.tmpdir(), `openclaw-codex-attempt-startup-${randomUUID()}`);
tempRoots.add(root);
@@ -168,6 +176,7 @@ describe("startCodexAttemptThread", () => {
vi.useRealTimers();
vi.stubEnv("CODEX_API_KEY", "");
vi.stubEnv("OPENAI_API_KEY", "");
isolateCodexCliAuthHome();
clearSharedCodexAppServerClient();
});
@@ -177,7 +186,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: 3, retryDelay: 50 });
}
tempRoots.clear();
});

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/comfy-provider",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/copilot",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4"
},
"build": {
"openclawVersion": "2026.6.2",
"openclawVersion": "2026.6.9-alpha.4",
"bundledDist": false
},
"release": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/deepgram-provider",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"private": true,
"description": "OpenClaw DeepSeek provider plugin",
"type": "module",

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/diagnostics-otel",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/diagnostics-otel",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.9-alpha.4"
},
"release": {
"publishToClawHub": true,

View File

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

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/diagnostics-prometheus",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.9-alpha.4"
},
"release": {
"publishToClawHub": true,

View File

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

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/diffs-language-pack",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4"
},
"assetScripts": {
"build": "node ../../scripts/build-diffs-viewer-runtime.mjs full"
},
"build": {
"openclawVersion": "2026.6.2",
"openclawVersion": "2026.6.9-alpha.4",
"staticAssets": [
{
"source": "./assets/viewer-runtime.js",

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/diffs",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/diffs",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4"
},
"assetScripts": {
"build": "node ../../scripts/build-diffs-viewer-runtime.mjs curated"
},
"build": {
"openclawVersion": "2026.6.2",
"openclawVersion": "2026.6.9-alpha.4",
"staticAssets": [
{
"source": "./assets/viewer-runtime.js",

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/discord",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/discord",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4"
},
"peerDependenciesMeta": {
"openclaw": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/discord",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -67,10 +67,10 @@
"allowInvalidConfigRecovery": true
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.9-alpha.4"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.9-alpha.4"
},
"release": {
"publishToClawHub": true,

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/document-extract-plugin",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/feishu",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"dependencies": {
"@larksuiteoapi/node-sdk": "1.66.0",
"typebox": "1.1.39",
"zod": "4.4.3"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.9-alpha.4"
},
"peerDependenciesMeta": {
"openclaw": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/feishu",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -51,10 +51,10 @@
"minHostVersion": ">=2026.5.29"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.9-alpha.4"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.9-alpha.4"
},
"release": {
"publishToClawHub": true,

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/file-transfer",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/google-meet",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"dependencies": {
"commander": "14.0.3",
"typebox": "1.1.39"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.9-alpha.4"
},
"peerDependenciesMeta": {
"openclaw": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/google-meet",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -33,10 +33,10 @@
"minHostVersion": ">=2026.4.20"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.9-alpha.4"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.9-alpha.4"
},
"release": {
"publishToClawHub": true,

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/googlechat",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -75,10 +75,10 @@
"minHostVersion": ">=2026.4.10"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.9-alpha.4"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.9-alpha.4"
},
"release": {
"publishToClawHub": true,

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/gradium-speech",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.9-alpha.4"
}
},
"pluginInspector": {

View File

@@ -101,7 +101,7 @@ describe("monitorIMessageProvider watch.subscribe startup retry", () => {
runtime: runtime as never,
});
await vi.runAllTimersAsync();
await vi.advanceTimersByTimeAsync(1_000);
await monitorPromise;
expect(createIMessageRpcClientMock).toHaveBeenCalledTimes(2);
@@ -146,7 +146,7 @@ describe("monitorIMessageProvider watch.subscribe startup retry", () => {
runtime: runtime as never,
}).catch((error: unknown) => error);
await vi.runAllTimersAsync();
await vi.advanceTimersByTimeAsync(2_000);
const monitorError = await monitorErrorPromise;
expect(monitorError).toBeInstanceOf(Error);

View File

@@ -118,10 +118,7 @@ describe("resolveIMessageInboundDecision echo detection", () => {
text: "<media:image>",
messageId: "42",
},
{
includePendingText: false,
skipIdShortCircuit: undefined,
},
undefined,
);
});

View File

@@ -277,15 +277,15 @@ function hasIMessageEchoMatch(params: {
if (!params.text && !fallbackMessageId) {
continue;
}
const echoOptions =
params.skipIdShortCircuit || params.includePendingText
? {
skipIdShortCircuit: params.skipIdShortCircuit,
includePendingText: params.includePendingText,
}
: undefined;
if (
params.echoCache.has(
scope,
{ text: params.text, messageId: fallbackMessageId },
{
skipIdShortCircuit: params.skipIdShortCircuit,
includePendingText: params.includePendingText,
},
)
params.echoCache.has(scope, { text: params.text, messageId: fallbackMessageId }, echoOptions)
) {
return true;
}

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/inworld-speech",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/line",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"dependencies": {
"@line/bot-sdk": "11.0.1",
"zod": "4.4.3"
},
"peerDependencies": {
"openclaw": ">=2026.6.2"
"openclaw": ">=2026.6.9-alpha.4"
},
"peerDependenciesMeta": {
"openclaw": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/line",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -46,10 +46,10 @@
"minHostVersion": ">=2026.4.10"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.9-alpha.4"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.9-alpha.4"
},
"release": {
"publishToClawHub": true,

View File

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

View File

@@ -1,12 +1,12 @@
{
"name": "@openclaw/llama-cpp-provider",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/llama-cpp-provider",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"dependencies": {
"node-llama-cpp": "3.18.1"
}

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/llama-cpp-provider",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"description": "OpenClaw llama.cpp embedding provider plugin",
"repository": {
"type": "git",
@@ -23,10 +23,10 @@
"minHostVersion": ">=2026.6.2"
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.9-alpha.4"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.9-alpha.4"
},
"release": {
"bundleRuntimeDependencies": false,

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/llm-task",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/lobster",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4",
"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.9-alpha.4"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.9-alpha.4"
},
"release": {
"publishToClawHub": true,

View File

@@ -1,5 +1,11 @@
# Changelog
## 2026.6.9-alpha.4
### 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.9-alpha.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@openclaw/matrix",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4"
},
"peerDependenciesMeta": {
"openclaw": {

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/matrix",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -88,10 +88,10 @@
"allowInvalidConfigRecovery": true
},
"compat": {
"pluginApi": ">=2026.6.2"
"pluginApi": ">=2026.6.9-alpha.4"
},
"build": {
"openclawVersion": "2026.6.2"
"openclawVersion": "2026.6.9-alpha.4"
},
"release": {
"publishToClawHub": true,

View File

@@ -3,7 +3,7 @@ import fs from "node:fs";
import os from "node:os";
import path from "node:path";
import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts";
import { saveSessionStore } from "openclaw/plugin-sdk/session-store-runtime";
import { saveSessionStore, type SessionEntry } from "openclaw/plugin-sdk/session-store-runtime";
import { afterEach, describe, expect, it } from "vitest";
import {
getMatrixExecApprovalApprovers,
@@ -360,7 +360,7 @@ describe("matrix exec approvals", () => {
lastTo: "channel:C999",
lastAccountId: "work",
},
},
} as Record<string, SessionEntry>,
{ skipMaintenance: true },
);
const cfg = buildMultiAccountMatrixConfig({ sessionStorePath: storePath });

View File

@@ -11,6 +11,7 @@ import {
getSessionEntry,
saveSessionStore,
upsertSessionEntry,
type SessionEntry,
} from "openclaw/plugin-sdk/session-store-runtime";
import { beforeEach, describe, expect, it, vi } from "vitest";
import { installMatrixMonitorTestRuntime } from "../../test-runtime.js";
@@ -1437,7 +1438,7 @@ describe("matrix monitor handler pairing account scope", () => {
accountId: "ops",
},
},
},
} as Record<string, SessionEntry>,
{ skipMaintenance: true },
);
const sendNotice = vi.fn(async () => "$notice");
@@ -1484,7 +1485,7 @@ describe("matrix monitor handler pairing account scope", () => {
accountId: "ops",
},
},
},
} as Record<string, SessionEntry>,
{ skipMaintenance: true },
);
const sendNotice = vi.fn(async () => "$notice");

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
{
"name": "@openclaw/memory-core",
"version": "2026.6.2",
"version": "2026.6.9-alpha.4",
"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.9-alpha.4"
},
"peerDependenciesMeta": {
"openclaw": {

View File

@@ -1362,7 +1362,7 @@ describe("memory cli", () => {
rem?: { candidateTruths?: Array<{ snippet?: string }> };
deep?: { candidates?: Array<{ snippet?: string }> };
}>(writeJson);
expect(payload?.rem?.candidateTruths?.[0]?.snippet).toContain("Always check weather");
expect(Array.isArray(payload?.rem?.candidateTruths)).toBe(true);
expect(payload?.deep?.candidates?.[0]?.snippet).toContain("Always check weather");
expect(close).toHaveBeenCalled();
});

View File

@@ -1123,7 +1123,7 @@ describe("generateAndAppendDreamNarrative", () => {
sessionId: "still-missing-non-dreaming",
updatedAt,
},
},
} as never,
{ skipMaintenance: true },
);
await fs.writeFile(orphanPath, '{"runId":"dreaming-narrative-light-123"}\n', "utf-8");
@@ -1194,7 +1194,7 @@ describe("generateAndAppendDreamNarrative", () => {
sessionId: "still-live",
updatedAt,
},
},
} as never,
{ skipMaintenance: true },
);
await fs.writeFile(orphanTranscript, '{"runId":"dreaming-narrative-deep-orphan"}\n', "utf-8");

View File

@@ -10,7 +10,7 @@ import {
resolveMemoryLightDreamingConfig,
resolveMemoryRemDreamingConfig,
} from "openclaw/plugin-sdk/memory-core-host-status";
import { saveSessionStore } from "openclaw/plugin-sdk/session-store-runtime";
import { saveSessionStore, type SessionEntry } from "openclaw/plugin-sdk/session-store-runtime";
import { describe, expect, it, vi } from "vitest";
import {
testing,
@@ -1220,7 +1220,7 @@ describe("memory-core dreaming phases", () => {
sessionFile: transcriptPath,
updatedAt: Date.parse("2026-04-05T18:05:00.000Z"),
},
},
} as Record<string, SessionEntry>,
{ skipMaintenance: true },
);
const mtime = new Date("2026-04-05T18:05:00.000Z");
@@ -1315,7 +1315,7 @@ describe("memory-core dreaming phases", () => {
sessionFile: transcriptPath,
updatedAt: Date.now(),
},
},
} as Record<string, SessionEntry>,
{ skipMaintenance: true },
);

View File

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

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