mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-06 14:01:24 +08:00
Compare commits
27 Commits
sqlite-str
...
v2026.5.24
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
85f6a0741b | ||
|
|
8959da3903 | ||
|
|
3ec4fe5123 | ||
|
|
6d8d32850e | ||
|
|
5f2c6d5c30 | ||
|
|
418d620160 | ||
|
|
44f638ab9a | ||
|
|
6cc96e1ae9 | ||
|
|
7fbc39c228 | ||
|
|
36a21ca038 | ||
|
|
26b27277f8 | ||
|
|
016cbd9deb | ||
|
|
914f6c27ab | ||
|
|
62f29235bf | ||
|
|
32c75c1bda | ||
|
|
5eea87f637 | ||
|
|
338469fa11 | ||
|
|
6415fc4bf2 | ||
|
|
70b6d87bdb | ||
|
|
65e0e27b20 | ||
|
|
4a80ef242e | ||
|
|
2a3ffd05ff | ||
|
|
90b2590f6f | ||
|
|
59c99237b1 | ||
|
|
4e1e4c537b | ||
|
|
1942787a97 | ||
|
|
9aa2fdd8a9 |
13
.github/workflows/ci.yml
vendored
13
.github/workflows/ci.yml
vendored
@@ -1624,10 +1624,23 @@ jobs:
|
||||
restore-keys: |
|
||||
${{ runner.os }}-swift-build-v2-${{ steps.swift-toolchain.outputs.key }}-
|
||||
|
||||
- name: Reset Swift binary artifact cache
|
||||
run: |
|
||||
set -euo pipefail
|
||||
# SwiftPM can restore a stale binary-artifact cache where the
|
||||
# Sparkle.xcframework directory exists without its Info.plist.
|
||||
# Clear the restored build workspace plus Sparkle's shared artifact
|
||||
# cache so the release build resolves artifacts from Package.resolved.
|
||||
rm -rf apps/macos/.build "$HOME/Library/Caches/org.swift.swiftpm/artifacts/sparkle"
|
||||
|
||||
- name: Preserve Swift build cache hit
|
||||
if: steps.swift-build-cache.outputs.cache-hit == 'true'
|
||||
run: |
|
||||
set -euo pipefail
|
||||
if [ ! -d apps/macos/.build ]; then
|
||||
echo "Swift build cache was reset; skipping mtime preservation."
|
||||
exit 0
|
||||
fi
|
||||
# Exact source-hash cache hits already match these inputs; checkout
|
||||
# mtimes are the only reason SwiftPM rebuilds cached products.
|
||||
find apps/macos/Sources apps/macos/Tests apps/shared/OpenClawKit/Sources apps/swabble/Sources apps/macos/.build/checkouts \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
e8e71a715bd33405280b5a9f6b6e788abed636fba66ec5f3a4f9b9a768a1637f config-baseline.json
|
||||
d8c6d36cb079b929ed403503dd09bf61aa7f7ad1ad157ed85d3fc2dd1547baa6 config-baseline.json
|
||||
003183db53a41905c540f37b1d30b3006ef8906915e13eac844b643cd210fdfe config-baseline.core.json
|
||||
859b021f65400df22c95ae55b074cf26c83d3a0bfadb3fceeaca522f6ea391ae config-baseline.channel.json
|
||||
57291e1848bc059994923354d7b0a822909da7a8139a6615a9d5dfa2d189ee5e config-baseline.channel.json
|
||||
74441e331aabb3026784c148d4ee5ce3f489a15ed87ffd9b7ba0c5e2a7bc93be config-baseline.plugin.json
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
8882e41620deeed05be9526981c32a034444abc232903b946c48d416f46f06c3 plugin-sdk-api-baseline.json
|
||||
40b22ddad62692447717a2b4f0ecdbd9f6209fa86eaf4e66f85d37c48e26d394 plugin-sdk-api-baseline.jsonl
|
||||
28fcbbe21ee8088d78774a17e8906d408345dfe210f3b3511a18e26efad6904c plugin-sdk-api-baseline.json
|
||||
8076e25cda96fd463e800064ff6c56a872cf61de73ca0353e0911e0b47f89751 plugin-sdk-api-baseline.jsonl
|
||||
|
||||
4
extensions/acpx/npm-shrinkwrap.json
generated
4
extensions/acpx/npm-shrinkwrap.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@openclaw/acpx",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/acpx",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"dependencies": {
|
||||
"@agentclientprotocol/claude-agent-acp": "0.36.1",
|
||||
"@zed-industries/codex-acp": "0.14.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/acpx",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw ACP runtime backend",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -26,10 +26,10 @@
|
||||
"minHostVersion": ">=2026.4.25"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24",
|
||||
"openclawVersion": "2026.5.24-alpha.1",
|
||||
"staticAssets": [
|
||||
{
|
||||
"source": "./src/runtime-internals/mcp-proxy.mjs",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/admin-http-rpc",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw admin HTTP RPC endpoint",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/alibaba-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Alibaba Model Studio video provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@openclaw/amazon-bedrock-mantle-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/amazon-bedrock-mantle-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"dependencies": {
|
||||
"@anthropic-ai/sdk": "0.97.1",
|
||||
"@aws/bedrock-token-generator": "1.1.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/amazon-bedrock-mantle-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw Amazon Bedrock Mantle (OpenAI-compatible) provider plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -25,10 +25,10 @@
|
||||
"minHostVersion": ">=2026.5.12-beta.1"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24",
|
||||
"openclawVersion": "2026.5.24-alpha.1",
|
||||
"bundledDist": false
|
||||
},
|
||||
"release": {
|
||||
|
||||
4
extensions/amazon-bedrock/npm-shrinkwrap.json
generated
4
extensions/amazon-bedrock/npm-shrinkwrap.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@openclaw/amazon-bedrock-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/amazon-bedrock-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-bedrock": "3.1051.0",
|
||||
"@aws-sdk/client-bedrock-runtime": "3.1051.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/amazon-bedrock-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw Amazon Bedrock provider plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -27,10 +27,10 @@
|
||||
"minHostVersion": ">=2026.5.12-beta.1"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24",
|
||||
"openclawVersion": "2026.5.24-alpha.1",
|
||||
"bundledDist": false
|
||||
},
|
||||
"release": {
|
||||
|
||||
4
extensions/anthropic-vertex/npm-shrinkwrap.json
generated
4
extensions/anthropic-vertex/npm-shrinkwrap.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@openclaw/anthropic-vertex-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/anthropic-vertex-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"dependencies": {
|
||||
"@anthropic-ai/vertex-sdk": "0.16.1",
|
||||
"@earendil-works/pi-agent-core": "0.75.4",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/anthropic-vertex-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw Anthropic Vertex provider plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -25,10 +25,10 @@
|
||||
"minHostVersion": ">=2026.5.12-beta.1"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24",
|
||||
"openclawVersion": "2026.5.24-alpha.1",
|
||||
"bundledDist": false
|
||||
},
|
||||
"release": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/anthropic-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Anthropic provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/arcee-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Arcee provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/azure-speech",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Azure Speech plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/bonjour",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw Bonjour/mDNS gateway discovery",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
|
||||
4
extensions/brave/npm-shrinkwrap.json
generated
4
extensions/brave/npm-shrinkwrap.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@openclaw/brave-plugin",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/brave-plugin",
|
||||
"version": "2026.5.24"
|
||||
"version": "2026.5.24-alpha.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/brave-plugin",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw Brave plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -21,10 +21,10 @@
|
||||
"allowInvalidConfigRecovery": true
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24"
|
||||
"openclawVersion": "2026.5.24-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/browser-plugin",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw browser tool plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/byteplus-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw BytePlus provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/canvas-plugin",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Canvas plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/cerebras-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Cerebras provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/chutes-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Chutes.ai provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/clickclack",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw ClickClack channel plugin",
|
||||
"type": "module",
|
||||
@@ -18,7 +18,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/cloudflare-ai-gateway-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Cloudflare AI Gateway provider plugin",
|
||||
"type": "module",
|
||||
|
||||
4
extensions/codex/npm-shrinkwrap.json
generated
4
extensions/codex/npm-shrinkwrap.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@openclaw/codex",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/codex",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"dependencies": {
|
||||
"@earendil-works/pi-coding-agent": "0.75.4",
|
||||
"@openai/codex": "0.132.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/codex",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw Codex harness and model provider plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -27,10 +27,10 @@
|
||||
"minHostVersion": ">=2026.5.1-beta.1"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24"
|
||||
"openclawVersion": "2026.5.24-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -87,6 +87,7 @@ import { createCodexTestModel } from "./test-support.js";
|
||||
import {
|
||||
buildContextEngineBinding,
|
||||
buildTurnCollaborationMode,
|
||||
buildThreadStartParams,
|
||||
buildThreadResumeParams,
|
||||
buildTurnStartParams,
|
||||
startOrResumeThread,
|
||||
@@ -221,6 +222,22 @@ function createCodexRuntimePlanFixture(): NonNullable<EmbeddedRunAttemptParams["
|
||||
} as unknown as NonNullable<EmbeddedRunAttemptParams["runtimePlan"]>;
|
||||
}
|
||||
|
||||
function createCodexSandboxTestConfig(): EmbeddedRunAttemptParams["config"] {
|
||||
return {
|
||||
agents: {
|
||||
defaults: {
|
||||
sandbox: {
|
||||
mode: "all",
|
||||
backend: "codex-test-sandbox",
|
||||
scope: "session",
|
||||
workspaceAccess: "rw",
|
||||
prune: { idleHours: 0, maxAgeDays: 0 },
|
||||
},
|
||||
},
|
||||
},
|
||||
} as EmbeddedRunAttemptParams["config"];
|
||||
}
|
||||
|
||||
function threadStartResult(threadId = "thread-1") {
|
||||
return {
|
||||
thread: {
|
||||
@@ -395,7 +412,7 @@ function createAppServerHarness(
|
||||
return {
|
||||
request,
|
||||
requests,
|
||||
async waitForMethod(method: string, timeoutMs = appServerHarnessWait.timeout) {
|
||||
async waitForMethod(method: string, timeoutMs: number = appServerHarnessWait.timeout) {
|
||||
await vi.waitFor(
|
||||
() => {
|
||||
if (!requests.some((entry) => entry.method === method)) {
|
||||
@@ -1170,7 +1187,7 @@ describe("runCodexAppServerAttempt", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it("starts active OpenClaw sandbox threads with Codex native execution disabled", async () => {
|
||||
it("builds active OpenClaw sandbox turns with Codex native execution disabled", async () => {
|
||||
testing.setOpenClawCodingToolsFactoryForTests(() => [
|
||||
createRuntimeDynamicTool("exec"),
|
||||
createRuntimeDynamicTool("process"),
|
||||
@@ -1181,54 +1198,50 @@ describe("runCodexAppServerAttempt", () => {
|
||||
const params = createParams(sessionFile, workspaceDir);
|
||||
params.disableTools = false;
|
||||
params.runtimePlan = createCodexRuntimePlanFixture();
|
||||
const sandbox = {
|
||||
enabled: true,
|
||||
backendId: "codex-test-sandbox",
|
||||
workspaceAccess: "rw",
|
||||
} as never;
|
||||
const nativeToolSurfaceEnabled = testing.shouldEnableCodexAppServerNativeToolSurface(
|
||||
params,
|
||||
sandbox,
|
||||
);
|
||||
params.config = createCodexSandboxTestConfig();
|
||||
const sandboxSessionKey = params.sessionKey;
|
||||
if (!sandboxSessionKey) {
|
||||
throw new Error("createParams must provide a sessionKey for Codex dynamic tool tests.");
|
||||
}
|
||||
const runAbortController = new AbortController();
|
||||
const dynamicTools = await testing.buildDynamicTools({
|
||||
params,
|
||||
resolvedWorkspace: workspaceDir,
|
||||
effectiveWorkspace: workspaceDir,
|
||||
sandboxSessionKey: params.sessionKey!,
|
||||
sandbox,
|
||||
nativeToolSurfaceEnabled,
|
||||
runAbortController: new AbortController(),
|
||||
sandboxSessionKey,
|
||||
sandbox: {
|
||||
enabled: true,
|
||||
backendId: "docker",
|
||||
docker: { binds: ["/tmp/openclaw-data:/data:rw"] },
|
||||
} as never,
|
||||
nativeToolSurfaceEnabled: false,
|
||||
runAbortController,
|
||||
sessionAgentId: "main",
|
||||
pluginConfig: {},
|
||||
pluginConfig: { appServer: { mode: "yolo" } },
|
||||
onYieldDetected: () => undefined,
|
||||
});
|
||||
const request = vi.fn(async (method: string, _requestParams?: unknown) => {
|
||||
if (method === "thread/start") {
|
||||
return threadStartResult();
|
||||
}
|
||||
throw new Error(`unexpected method: ${method}`);
|
||||
const toolBridge = createCodexDynamicToolBridge({
|
||||
tools: dynamicTools,
|
||||
signal: runAbortController.signal,
|
||||
});
|
||||
|
||||
await startOrResumeThread({
|
||||
client: { request } as never,
|
||||
params,
|
||||
const appServer = resolveCodexAppServerRuntimeOptions({
|
||||
pluginConfig: { appServer: { mode: "yolo" } },
|
||||
env: {},
|
||||
requirementsToml: null,
|
||||
});
|
||||
const startParams = buildThreadStartParams(params, {
|
||||
cwd: workspaceDir,
|
||||
dynamicTools: dynamicTools as never,
|
||||
appServer: createThreadLifecycleAppServerOptions(),
|
||||
nativeCodeModeEnabled: nativeToolSurfaceEnabled,
|
||||
dynamicTools: toolBridge.specs,
|
||||
appServer,
|
||||
nativeCodeModeEnabled: false,
|
||||
nativeCodeModeOnlyEnabled: false,
|
||||
userMcpServersEnabled: nativeToolSurfaceEnabled,
|
||||
environmentSelection: [],
|
||||
});
|
||||
|
||||
const startRequest = request.mock.calls.find(([method]) => method === "thread/start");
|
||||
const startParams = startRequest?.[1] as Record<string, unknown> | undefined;
|
||||
const startConfig = startParams?.config as Record<string, unknown> | undefined;
|
||||
const startDynamicTools = startParams?.dynamicTools as Array<{ name: string }> | undefined;
|
||||
expect(startConfig?.["features.code_mode"]).toBe(false);
|
||||
expect(startConfig?.["features.code_mode_only"]).toBe(false);
|
||||
expect(startParams?.environments).toEqual([]);
|
||||
expect(startDynamicTools?.map((tool) => tool.name)).toEqual([
|
||||
const startConfig = startParams.config as Record<string, unknown>;
|
||||
expect(startConfig["features.code_mode"]).toBe(false);
|
||||
expect(startConfig["features.code_mode_only"]).toBe(false);
|
||||
expect(startParams.environments).toEqual([]);
|
||||
expect(startParams.dynamicTools?.map((tool) => tool.name)).toEqual([
|
||||
"message",
|
||||
"sandbox_exec",
|
||||
"sandbox_process",
|
||||
@@ -1276,19 +1289,8 @@ describe("runCodexAppServerAttempt", () => {
|
||||
const params = createParams(sessionFile, workspaceDir);
|
||||
params.disableTools = false;
|
||||
params.runtimePlan = createCodexRuntimePlanFixture();
|
||||
params.config = {
|
||||
agents: {
|
||||
defaults: {
|
||||
sandbox: {
|
||||
mode: "all",
|
||||
backend: "codex-test-sandbox",
|
||||
scope: "session",
|
||||
workspaceAccess: "rw",
|
||||
prune: { idleHours: 0, maxAgeDays: 0 },
|
||||
},
|
||||
},
|
||||
},
|
||||
} as never;
|
||||
params.config = createCodexSandboxTestConfig();
|
||||
params.timeoutMs = 60_000;
|
||||
const nativeToolSurfaceEnabled = testing.shouldEnableCodexAppServerNativeToolSurface(
|
||||
params,
|
||||
sandbox as never,
|
||||
|
||||
@@ -76,6 +76,18 @@ describe("codex app-server session binding", () => {
|
||||
expect(bindingStat.isFile()).toBe(true);
|
||||
});
|
||||
|
||||
it("creates the binding sidecar directory before writing", async () => {
|
||||
const sessionFile = path.join(tempDir, "missing", "session.json");
|
||||
|
||||
await writeCodexAppServerBinding(sessionFile, {
|
||||
threadId: "thread-123",
|
||||
cwd: tempDir,
|
||||
});
|
||||
|
||||
const bindingStat = await fs.stat(resolveCodexAppServerBindingPath(sessionFile));
|
||||
expect(bindingStat.isFile()).toBe(true);
|
||||
});
|
||||
|
||||
it("round-trips plugin app policy context with app ids as record keys", async () => {
|
||||
const sessionFile = path.join(tempDir, "session.json");
|
||||
const pluginAppPolicyContext = {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import fs from "node:fs/promises";
|
||||
import path from "node:path";
|
||||
import { embeddedAgentLog } from "openclaw/plugin-sdk/agent-harness-runtime";
|
||||
import {
|
||||
ensureAuthProfileStore,
|
||||
@@ -174,10 +175,9 @@ export async function writeCodexAppServerBinding(
|
||||
createdAt: binding.createdAt ?? now,
|
||||
updatedAt: now,
|
||||
};
|
||||
await fs.writeFile(
|
||||
resolveCodexAppServerBindingPath(sessionFile),
|
||||
`${JSON.stringify(payload, null, 2)}\n`,
|
||||
);
|
||||
const bindingPath = resolveCodexAppServerBindingPath(sessionFile);
|
||||
await fs.mkdir(path.dirname(bindingPath), { recursive: true });
|
||||
await fs.writeFile(bindingPath, `${JSON.stringify(payload, null, 2)}\n`);
|
||||
}
|
||||
|
||||
function readContextEngineBinding(value: unknown): CodexAppServerContextEngineBinding | undefined {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/comfy-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw ComfyUI provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/copilot-proxy",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Copilot Proxy provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/deepgram-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Deepgram media-understanding provider",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/deepinfra-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw DeepInfra provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/deepseek-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw DeepSeek provider plugin",
|
||||
"type": "module",
|
||||
|
||||
4
extensions/diagnostics-otel/npm-shrinkwrap.json
generated
4
extensions/diagnostics-otel/npm-shrinkwrap.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@openclaw/diagnostics-otel",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/diagnostics-otel",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"dependencies": {
|
||||
"@opentelemetry/api": "1.9.1",
|
||||
"@opentelemetry/api-logs": "0.218.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/diagnostics-otel",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw diagnostics OpenTelemetry exporter",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -34,10 +34,10 @@
|
||||
"minHostVersion": ">=2026.4.25"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24"
|
||||
"openclawVersion": "2026.5.24-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@openclaw/diagnostics-prometheus",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/diagnostics-prometheus",
|
||||
"version": "2026.5.24"
|
||||
"version": "2026.5.24-alpha.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/diagnostics-prometheus",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw diagnostics Prometheus exporter",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -21,10 +21,10 @@
|
||||
"minHostVersion": ">=2026.4.25"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24"
|
||||
"openclawVersion": "2026.5.24-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
4
extensions/diffs/npm-shrinkwrap.json
generated
4
extensions/diffs/npm-shrinkwrap.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@openclaw/diffs",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/diffs",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"dependencies": {
|
||||
"@pierre/diffs": "1.2.1",
|
||||
"@pierre/theme": "1.0.3",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/diffs",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw diff viewer plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -31,10 +31,10 @@
|
||||
"minHostVersion": ">=2026.4.30"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24",
|
||||
"openclawVersion": "2026.5.24-alpha.1",
|
||||
"staticAssets": [
|
||||
{
|
||||
"source": "./assets/viewer-runtime.js",
|
||||
|
||||
6
extensions/discord/npm-shrinkwrap.json
generated
6
extensions/discord/npm-shrinkwrap.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@openclaw/discord",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/discord",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"dependencies": {
|
||||
"@discordjs/voice": "0.19.2",
|
||||
"discord-api-types": "0.38.47",
|
||||
@@ -17,7 +17,7 @@
|
||||
"ws": "8.20.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/discord",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw Discord channel plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -21,7 +21,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
@@ -65,10 +65,10 @@
|
||||
"allowInvalidConfigRecovery": true
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24"
|
||||
"openclawVersion": "2026.5.24-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/document-extract-plugin",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw local document extraction plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/duckduckgo-plugin",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw DuckDuckGo plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/elevenlabs-speech",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw ElevenLabs speech plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/exa-plugin",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Exa plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/fal-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw fal provider plugin",
|
||||
"type": "module",
|
||||
|
||||
6
extensions/feishu/npm-shrinkwrap.json
generated
6
extensions/feishu/npm-shrinkwrap.json
generated
@@ -1,19 +1,19 @@
|
||||
{
|
||||
"name": "@openclaw/feishu",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/feishu",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"dependencies": {
|
||||
"@larksuiteoapi/node-sdk": "1.65.0",
|
||||
"typebox": "1.1.38",
|
||||
"zod": "4.4.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/feishu",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw Feishu/Lark channel plugin (community maintained by @m1heng)",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -17,7 +17,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
@@ -48,10 +48,10 @@
|
||||
"minHostVersion": ">=2026.4.25"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24"
|
||||
"openclawVersion": "2026.5.24-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/file-transfer",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw file transfer plugin (file_fetch, dir_list, dir_fetch, file_write)",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/firecrawl-plugin",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Firecrawl plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/fireworks-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Fireworks provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/github-copilot-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw GitHub Copilot provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -194,6 +194,27 @@ function requireRecord(value: unknown, label: string): Record<string, unknown> {
|
||||
return value;
|
||||
}
|
||||
|
||||
function createAgentSessionMock(sessionStore: Record<string, unknown>) {
|
||||
return {
|
||||
resolveStorePath: vi.fn(() => "/tmp/sessions.json"),
|
||||
loadSessionStore: vi.fn(() => sessionStore),
|
||||
saveSessionStore: vi.fn(async () => {}),
|
||||
updateSessionStore: vi.fn(async (_storePath, mutator) => mutator(sessionStore as never)),
|
||||
resolveSessionFilePath: vi.fn(() => "/tmp/session.json"),
|
||||
getSessionEntry: vi.fn(({ sessionKey }: { sessionKey: string }) => sessionStore[sessionKey]),
|
||||
patchSessionEntry: vi.fn(async (params) => {
|
||||
const current = (sessionStore[params.sessionKey] ?? params.fallbackEntry ?? {}) as Record<
|
||||
string,
|
||||
unknown
|
||||
>;
|
||||
const patch = (await params.update(current as never)) as Record<string, unknown>;
|
||||
const next = { ...current, ...patch };
|
||||
sessionStore[params.sessionKey] = next;
|
||||
return next;
|
||||
}),
|
||||
};
|
||||
}
|
||||
|
||||
function mockCall(mock: { mock: { calls: unknown[][] } }, callIndex = 0): unknown[] {
|
||||
const call = mock.mock.calls.at(callIndex);
|
||||
if (!call) {
|
||||
|
||||
6
extensions/google-meet/npm-shrinkwrap.json
generated
6
extensions/google-meet/npm-shrinkwrap.json
generated
@@ -1,18 +1,18 @@
|
||||
{
|
||||
"name": "@openclaw/google-meet",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/google-meet",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"dependencies": {
|
||||
"commander": "14.0.3",
|
||||
"typebox": "1.1.38"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/google-meet",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw Google Meet participant plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -16,7 +16,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
@@ -33,10 +33,10 @@
|
||||
"minHostVersion": ">=2026.4.20"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24"
|
||||
"openclawVersion": "2026.5.24-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/google-plugin",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Google plugin",
|
||||
"type": "module",
|
||||
|
||||
6
extensions/googlechat/npm-shrinkwrap.json
generated
6
extensions/googlechat/npm-shrinkwrap.json
generated
@@ -1,19 +1,19 @@
|
||||
{
|
||||
"name": "@openclaw/googlechat",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/googlechat",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"dependencies": {
|
||||
"gaxios": "7.1.4",
|
||||
"google-auth-library": "10.6.2",
|
||||
"zod": "4.4.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/googlechat",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw Google Chat channel plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -17,7 +17,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
@@ -75,10 +75,10 @@
|
||||
"minHostVersion": ">=2026.4.10"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24"
|
||||
"openclawVersion": "2026.5.24-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/gradium-speech",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Gradium speech plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/groq-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Groq media-understanding provider",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/huggingface-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Hugging Face provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/image-generation-core",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw image generation runtime package",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/imessage",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw iMessage channel plugin using imsg on a signed-in Mac",
|
||||
"type": "module",
|
||||
@@ -40,10 +40,10 @@
|
||||
]
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24"
|
||||
"openclawVersion": "2026.5.24-alpha.1"
|
||||
}
|
||||
},
|
||||
"pluginInspector": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/inworld-speech",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Inworld speech plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/irc",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw IRC channel plugin",
|
||||
"type": "module",
|
||||
"devDependencies": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/kilocode-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Kilo Gateway provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/kimi-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Kimi provider plugin",
|
||||
"type": "module",
|
||||
|
||||
6
extensions/line/npm-shrinkwrap.json
generated
6
extensions/line/npm-shrinkwrap.json
generated
@@ -1,18 +1,18 @@
|
||||
{
|
||||
"name": "@openclaw/line",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/line",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"dependencies": {
|
||||
"@line/bot-sdk": "11.0.0",
|
||||
"zod": "4.4.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/line",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw LINE channel plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -16,7 +16,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
@@ -46,10 +46,10 @@
|
||||
"minHostVersion": ">=2026.4.10"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24"
|
||||
"openclawVersion": "2026.5.24-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/litellm-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw LiteLLM provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/llm-task",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw JSON-only LLM task plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/lmstudio-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw LM Studio provider plugin",
|
||||
"type": "module",
|
||||
|
||||
4
extensions/lobster/npm-shrinkwrap.json
generated
4
extensions/lobster/npm-shrinkwrap.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@openclaw/lobster",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/lobster",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"dependencies": {
|
||||
"@clawdbot/lobster": "2026.4.6",
|
||||
"ajv": "8.20.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/lobster",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "Lobster workflow tool plugin (typed pipelines + resumable approvals)",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -25,10 +25,10 @@
|
||||
"minHostVersion": ">=2026.4.25"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24"
|
||||
"openclawVersion": "2026.5.24-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# Changelog
|
||||
|
||||
## 2026.5.24-alpha.1
|
||||
|
||||
### Changes
|
||||
|
||||
- Version alignment with core OpenClaw release numbers.
|
||||
|
||||
## 2026.5.24
|
||||
|
||||
### Changes
|
||||
|
||||
6
extensions/matrix/npm-shrinkwrap.json
generated
6
extensions/matrix/npm-shrinkwrap.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@openclaw/matrix",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/matrix",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"dependencies": {
|
||||
"@matrix-org/matrix-sdk-crypto-nodejs": "0.4.0",
|
||||
"@matrix-org/matrix-sdk-crypto-wasm": "18.3.0",
|
||||
@@ -18,7 +18,7 @@
|
||||
"zod": "4.4.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/matrix",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw Matrix channel plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -22,7 +22,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
@@ -87,10 +87,10 @@
|
||||
"allowInvalidConfigRecovery": true
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24"
|
||||
"openclawVersion": "2026.5.24-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/mattermost",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw Mattermost channel plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -16,7 +16,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/media-understanding-core",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw media understanding runtime package",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/meeting-notes",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw meeting notes plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/memory-core",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw core memory search plugin",
|
||||
"type": "module",
|
||||
@@ -14,7 +14,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -9,7 +9,11 @@ import {
|
||||
spyRuntimeLogs,
|
||||
} from "openclaw/plugin-sdk/test-fixtures";
|
||||
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
|
||||
import { readShortTermRecallEntries, recordShortTermRecalls } from "./short-term-promotion.js";
|
||||
import {
|
||||
readShortTermRecallEntries,
|
||||
recordShortTermRecalls,
|
||||
waitForPendingShortTermWrites,
|
||||
} from "./short-term-promotion.js";
|
||||
|
||||
const getMemorySearchManager = vi.hoisted(() => vi.fn());
|
||||
const getRuntimeConfig = vi.hoisted(() => vi.fn(() => ({})));
|
||||
@@ -92,7 +96,8 @@ beforeEach(() => {
|
||||
}));
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
afterEach(async () => {
|
||||
await waitForPendingShortTermWrites();
|
||||
vi.restoreAllMocks();
|
||||
process.exitCode = undefined;
|
||||
setVerbose(false);
|
||||
@@ -102,6 +107,7 @@ afterAll(async () => {
|
||||
if (!fixtureRoot) {
|
||||
return;
|
||||
}
|
||||
await waitForPendingShortTermWrites();
|
||||
await fs.rm(fixtureRoot, { recursive: true, force: true });
|
||||
});
|
||||
|
||||
|
||||
@@ -734,6 +734,13 @@ async function withInProcessShortTermLock<T>(lockPath: string, task: () => Promi
|
||||
}
|
||||
}
|
||||
|
||||
export async function waitForPendingShortTermWrites(): Promise<void> {
|
||||
while (inProcessShortTermLocks.size > 0) {
|
||||
const pending = Array.from(inProcessShortTermLocks.values());
|
||||
await Promise.allSettled(pending);
|
||||
}
|
||||
}
|
||||
|
||||
async function withShortTermLock<T>(workspaceDir: string, task: () => Promise<T>): Promise<T> {
|
||||
const lockPath = resolveLockPath(workspaceDir);
|
||||
return withInProcessShortTermLock(lockPath, async () => {
|
||||
|
||||
4
extensions/memory-lancedb/npm-shrinkwrap.json
generated
4
extensions/memory-lancedb/npm-shrinkwrap.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@openclaw/memory-lancedb",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/memory-lancedb",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"dependencies": {
|
||||
"@lancedb/lancedb": "0.29.0",
|
||||
"apache-arrow": "18.1.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/memory-lancedb",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw LanceDB-backed long-term memory plugin with auto-recall/capture",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -26,10 +26,10 @@
|
||||
"minHostVersion": ">=2026.4.10"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24"
|
||||
"openclawVersion": "2026.5.24-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"bundleRuntimeDependencies": false,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/memory-wiki",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw persistent wiki plugin",
|
||||
"type": "module",
|
||||
@@ -14,7 +14,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/microsoft-foundry",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Microsoft Foundry provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/microsoft-speech",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Microsoft speech plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/migrate-claude",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "Claude to OpenClaw migration provider",
|
||||
"type": "module",
|
||||
@@ -9,7 +9,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/migrate-hermes",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "Hermes to OpenClaw migration provider",
|
||||
"type": "module",
|
||||
@@ -12,7 +12,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/minimax-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw MiniMax provider and OAuth plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/mistral-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Mistral provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/moonshot-provider",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Moonshot provider plugin",
|
||||
"type": "module",
|
||||
|
||||
6
extensions/msteams/npm-shrinkwrap.json
generated
6
extensions/msteams/npm-shrinkwrap.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@openclaw/msteams",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/msteams",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"dependencies": {
|
||||
"@azure/identity": "4.13.1",
|
||||
"@microsoft/teams.api": "2.0.11",
|
||||
@@ -17,7 +17,7 @@
|
||||
"typebox": "1.1.38"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/msteams",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw Microsoft Teams channel plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -22,7 +22,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
@@ -58,10 +58,10 @@
|
||||
"minHostVersion": ">=2026.4.10"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24"
|
||||
"openclawVersion": "2026.5.24-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
6
extensions/nextcloud-talk/npm-shrinkwrap.json
generated
6
extensions/nextcloud-talk/npm-shrinkwrap.json
generated
@@ -1,17 +1,17 @@
|
||||
{
|
||||
"name": "@openclaw/nextcloud-talk",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/nextcloud-talk",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"dependencies": {
|
||||
"zod": "4.4.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/nextcloud-talk",
|
||||
"version": "2026.5.24",
|
||||
"version": "2026.5.24-alpha.1",
|
||||
"description": "OpenClaw Nextcloud Talk channel plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -12,7 +12,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.24"
|
||||
"openclaw": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
@@ -44,10 +44,10 @@
|
||||
"minHostVersion": ">=2026.4.10"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.24"
|
||||
"pluginApi": ">=2026.5.24-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.24"
|
||||
"openclawVersion": "2026.5.24-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user