mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-20 22:12:53 +08:00
Compare commits
26 Commits
codex/refa
...
v2026.5.23
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9149aeeed8 | ||
|
|
25c4cec6d7 | ||
|
|
6d15f06850 | ||
|
|
b2a4c9bd01 | ||
|
|
ffd810c654 | ||
|
|
6c59d01bf8 | ||
|
|
588ed7e2f8 | ||
|
|
79df168478 | ||
|
|
cb9cd23cd4 | ||
|
|
4677e186b1 | ||
|
|
5aada48ec0 | ||
|
|
0d7e592885 | ||
|
|
bb595316e3 | ||
|
|
b001d0042c | ||
|
|
101d3ede60 | ||
|
|
c5e9b98608 | ||
|
|
a28590411a | ||
|
|
f016e1013e | ||
|
|
792c4f5a9d | ||
|
|
2019df7c86 | ||
|
|
f61d38ea1d | ||
|
|
8f03dfb07f | ||
|
|
af34d10c04 | ||
|
|
3c2c30c1fa | ||
|
|
32d1cf6b51 | ||
|
|
694dbbbd61 |
13
.github/workflows/ci.yml
vendored
13
.github/workflows/ci.yml
vendored
@@ -1651,10 +1651,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 @@
|
||||
5482b1a125a5c41856f6f49dfd70e2efe9e52a7cc0e2d4c24a56d99adfeda6be config-baseline.json
|
||||
3d686075da4d4f6c6319c3247e93f486a6c48314a28a2961cd4acab7f3fa5389 config-baseline.core.json
|
||||
11839c7a1b858c66075156f0e203aa8367cd8321047684679a18e18b7c8fe1f7 config-baseline.channel.json
|
||||
5c214ab364011fd95735755f9fa4298aa4de8ad81144ae8dd08d969bb7ba318b config-baseline.plugin.json
|
||||
26f9d2986029b924178118308b8662bcf903073b9f55af5ea4695458510c55b7 config-baseline.json
|
||||
efbcd4f99fc3a38b5e1750160e0bbd24835128fd3975165b533bb718debeea89 config-baseline.core.json
|
||||
859b021f65400df22c95ae55b074cf26c83d3a0bfadb3fceeaca522f6ea391ae config-baseline.channel.json
|
||||
74441e331aabb3026784c148d4ee5ce3f489a15ed87ffd9b7ba0c5e2a7bc93be config-baseline.plugin.json
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
e07c1b7a7bc8a6eb25a832961c2367f56d60a1fa54096dda460f8db1e572aa2a plugin-sdk-api-baseline.json
|
||||
34f2af745b9ed47eec90350b2c2a9000566744b8982440feee1c4a405d0a28ca plugin-sdk-api-baseline.jsonl
|
||||
3fd8386b18b9650a1c5c7d42e20a9cccd7f77417aad35b8b1a0afd349f62505d plugin-sdk-api-baseline.json
|
||||
e92bf254ae952cf94a6b352956f784f6eec980711f0ee9e35b5aff0687b9990a 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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/acpx",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"description": "OpenClaw ACP runtime backend",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -26,10 +26,10 @@
|
||||
"minHostVersion": ">=2026.4.25"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22",
|
||||
"openclawVersion": "2026.5.23-alpha.1",
|
||||
"staticAssets": [
|
||||
{
|
||||
"source": "./src/runtime-internals/mcp-proxy.mjs",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/admin-http-rpc",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw admin HTTP RPC endpoint",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/alibaba-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/amazon-bedrock-mantle-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-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.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22",
|
||||
"openclawVersion": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/amazon-bedrock-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-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.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22",
|
||||
"openclawVersion": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/anthropic-vertex-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-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.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22",
|
||||
"openclawVersion": "2026.5.23-alpha.1",
|
||||
"bundledDist": false
|
||||
},
|
||||
"release": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/anthropic-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Anthropic provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/arcee-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Arcee provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/azure-speech",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Azure Speech plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/bonjour",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/brave-plugin",
|
||||
"version": "2026.5.22"
|
||||
"version": "2026.5.23-alpha.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/brave-plugin",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"description": "OpenClaw Brave plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -21,10 +21,10 @@
|
||||
"allowInvalidConfigRecovery": true
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22"
|
||||
"openclawVersion": "2026.5.23-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/browser-plugin",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw browser tool plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/byteplus-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw BytePlus provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/canvas-plugin",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Canvas plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/cerebras-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Cerebras provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/chutes-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Chutes.ai provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/clickclack",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw ClickClack channel plugin",
|
||||
"type": "module",
|
||||
@@ -18,7 +18,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/cloudflare-ai-gateway-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/codex",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-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.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22"
|
||||
"openclawVersion": "2026.5.23-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -79,6 +79,7 @@ import { createCodexTestModel } from "./test-support.js";
|
||||
import {
|
||||
buildContextEngineBinding,
|
||||
buildTurnCollaborationMode,
|
||||
buildThreadStartParams,
|
||||
buildThreadResumeParams,
|
||||
buildTurnStartParams,
|
||||
startOrResumeThread,
|
||||
@@ -192,6 +193,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: {
|
||||
@@ -1037,69 +1054,65 @@ describe("runCodexAppServerAttempt", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it("starts active OpenClaw sandbox turns with Codex native execution disabled", async () => {
|
||||
const restoreSandboxBackend = registerSandboxBackend("codex-test-sandbox", async () => ({
|
||||
id: "codex-test-sandbox",
|
||||
runtimeId: "codex-test-runtime",
|
||||
runtimeLabel: "Codex Test Sandbox",
|
||||
workdir: "/workspace",
|
||||
buildExecSpec: async () => ({
|
||||
argv: ["true"],
|
||||
env: {},
|
||||
stdinMode: "pipe-closed" as const,
|
||||
}),
|
||||
runShellCommand: async () => ({
|
||||
stdout: Buffer.alloc(0),
|
||||
stderr: Buffer.alloc(0),
|
||||
code: 0,
|
||||
}),
|
||||
}));
|
||||
try {
|
||||
testing.setOpenClawCodingToolsFactoryForTests(() => [
|
||||
createRuntimeDynamicTool("exec"),
|
||||
createRuntimeDynamicTool("process"),
|
||||
createRuntimeDynamicTool("message"),
|
||||
]);
|
||||
const sessionFile = path.join(tempDir, "session.jsonl");
|
||||
const workspaceDir = path.join(tempDir, "workspace");
|
||||
const params = createParams(sessionFile, workspaceDir);
|
||||
params.disableTools = false;
|
||||
params.runtimePlan = createCodexRuntimePlanFixture();
|
||||
params.config = {
|
||||
agents: {
|
||||
defaults: {
|
||||
sandbox: {
|
||||
mode: "all",
|
||||
backend: "codex-test-sandbox",
|
||||
scope: "session",
|
||||
},
|
||||
},
|
||||
},
|
||||
} as never;
|
||||
const { requests, waitForMethod, completeTurn } = createStartedThreadHarness();
|
||||
|
||||
const run = runCodexAppServerAttempt(params, {
|
||||
pluginConfig: { appServer: { mode: "yolo" } },
|
||||
});
|
||||
await waitForMethod("turn/start");
|
||||
await completeTurn({ threadId: "thread-1", turnId: "turn-1" });
|
||||
await run;
|
||||
|
||||
const startRequest = requests.find((request) => request.method === "thread/start");
|
||||
const startParams = startRequest?.params as Record<string, unknown> | undefined;
|
||||
const startConfig = startParams?.config as Record<string, unknown> | undefined;
|
||||
const dynamicTools = 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(dynamicTools?.map((tool) => tool.name)).toEqual([
|
||||
"message",
|
||||
"sandbox_exec",
|
||||
"sandbox_process",
|
||||
]);
|
||||
} finally {
|
||||
restoreSandboxBackend();
|
||||
it("builds active OpenClaw sandbox turns with Codex native execution disabled", async () => {
|
||||
testing.setOpenClawCodingToolsFactoryForTests(() => [
|
||||
createRuntimeDynamicTool("exec"),
|
||||
createRuntimeDynamicTool("process"),
|
||||
createRuntimeDynamicTool("message"),
|
||||
]);
|
||||
const sessionFile = path.join(tempDir, "session.jsonl");
|
||||
const workspaceDir = path.join(tempDir, "workspace");
|
||||
const params = createParams(sessionFile, workspaceDir);
|
||||
params.disableTools = false;
|
||||
params.runtimePlan = createCodexRuntimePlanFixture();
|
||||
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,
|
||||
sandbox: {
|
||||
enabled: true,
|
||||
backendId: "docker",
|
||||
docker: { binds: ["/tmp/openclaw-data:/data:rw"] },
|
||||
} as never,
|
||||
nativeToolSurfaceEnabled: false,
|
||||
runAbortController,
|
||||
sessionAgentId: "main",
|
||||
pluginConfig: { appServer: { mode: "yolo" } },
|
||||
onYieldDetected: () => undefined,
|
||||
});
|
||||
const toolBridge = createCodexDynamicToolBridge({
|
||||
tools: dynamicTools,
|
||||
signal: runAbortController.signal,
|
||||
});
|
||||
const appServer = resolveCodexAppServerRuntimeOptions({
|
||||
pluginConfig: { appServer: { mode: "yolo" } },
|
||||
env: {},
|
||||
requirementsToml: null,
|
||||
});
|
||||
const startParams = buildThreadStartParams(params, {
|
||||
cwd: workspaceDir,
|
||||
dynamicTools: toolBridge.specs,
|
||||
appServer,
|
||||
nativeCodeModeEnabled: false,
|
||||
nativeCodeModeOnlyEnabled: false,
|
||||
environmentSelection: [],
|
||||
});
|
||||
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",
|
||||
]);
|
||||
});
|
||||
|
||||
it("routes native Codex execution through an OpenClaw sandbox exec-server when opted in", async () => {
|
||||
@@ -1130,20 +1143,11 @@ 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",
|
||||
},
|
||||
},
|
||||
},
|
||||
} as never;
|
||||
params.config = createCodexSandboxTestConfig();
|
||||
const { requests, waitForMethod, completeTurn } = createStartedThreadHarness();
|
||||
|
||||
const run = runCodexAppServerAttempt(params, {
|
||||
startupTimeoutFloorMs: 180_000,
|
||||
pluginConfig: {
|
||||
appServer: {
|
||||
mode: "yolo",
|
||||
@@ -1151,7 +1155,7 @@ describe("runCodexAppServerAttempt", () => {
|
||||
},
|
||||
},
|
||||
});
|
||||
await waitForMethod("turn/start");
|
||||
await waitForMethod("turn/start", 180_000);
|
||||
await completeTurn({ threadId: "thread-1", turnId: "turn-1" });
|
||||
await run;
|
||||
|
||||
@@ -1200,7 +1204,7 @@ describe("runCodexAppServerAttempt", () => {
|
||||
} finally {
|
||||
restoreSandboxBackend();
|
||||
}
|
||||
});
|
||||
}, 240_000);
|
||||
|
||||
it("closes the sandbox exec-server release path used by turn/start failure cleanup", async () => {
|
||||
const sessionFile = path.join(tempDir, "session.jsonl");
|
||||
|
||||
@@ -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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw ComfyUI provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/copilot-proxy",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Copilot Proxy provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/deepgram-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Deepgram media-understanding provider",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/deepinfra-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw DeepInfra provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/deepseek-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/diagnostics-otel",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"description": "OpenClaw diagnostics OpenTelemetry exporter",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -34,10 +34,10 @@
|
||||
"minHostVersion": ">=2026.4.25"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22"
|
||||
"openclawVersion": "2026.5.23-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@openclaw/diagnostics-prometheus",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/diagnostics-prometheus",
|
||||
"version": "2026.5.22"
|
||||
"version": "2026.5.23-alpha.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/diagnostics-prometheus",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"description": "OpenClaw diagnostics Prometheus exporter",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -21,10 +21,10 @@
|
||||
"minHostVersion": ">=2026.4.25"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22"
|
||||
"openclawVersion": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/diffs",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"dependencies": {
|
||||
"@pierre/diffs": "1.2.1",
|
||||
"@pierre/theme": "1.0.3",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/diffs",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"description": "OpenClaw diff viewer plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -31,10 +31,10 @@
|
||||
"minHostVersion": ">=2026.4.30"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22",
|
||||
"openclawVersion": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/discord",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/discord",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"description": "OpenClaw Discord channel plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -21,7 +21,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
@@ -65,10 +65,10 @@
|
||||
"allowInvalidConfigRecovery": true
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22"
|
||||
"openclawVersion": "2026.5.23-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/document-extract-plugin",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw local document extraction plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/duckduckgo-plugin",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw DuckDuckGo plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/elevenlabs-speech",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw ElevenLabs speech plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/exa-plugin",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Exa plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/fal-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/feishu",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"dependencies": {
|
||||
"@larksuiteoapi/node-sdk": "1.65.0",
|
||||
"typebox": "1.1.38",
|
||||
"zod": "4.4.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/feishu",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
@@ -48,10 +48,10 @@
|
||||
"minHostVersion": ">=2026.4.25"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22"
|
||||
"openclawVersion": "2026.5.23-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/file-transfer",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Firecrawl plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/fireworks-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Fireworks provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/github-copilot-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/google-meet",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"dependencies": {
|
||||
"commander": "14.0.3",
|
||||
"typebox": "1.1.38"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/google-meet",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"description": "OpenClaw Google Meet participant plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -16,7 +16,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
@@ -33,10 +33,10 @@
|
||||
"minHostVersion": ">=2026.4.20"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22"
|
||||
"openclawVersion": "2026.5.23-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/google-plugin",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/googlechat",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"dependencies": {
|
||||
"gaxios": "7.1.4",
|
||||
"google-auth-library": "10.6.2",
|
||||
"zod": "4.4.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/googlechat",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"description": "OpenClaw Google Chat channel plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -17,7 +17,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
@@ -75,10 +75,10 @@
|
||||
"minHostVersion": ">=2026.4.10"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22"
|
||||
"openclawVersion": "2026.5.23-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/gradium-speech",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Gradium speech plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/groq-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Groq media-understanding provider",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/huggingface-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Hugging Face provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/image-generation-core",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw image generation runtime package",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/imessage",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22"
|
||||
"openclawVersion": "2026.5.23-alpha.1"
|
||||
}
|
||||
},
|
||||
"pluginInspector": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/inworld-speech",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Inworld speech plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/irc",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"description": "OpenClaw IRC channel plugin",
|
||||
"type": "module",
|
||||
"devDependencies": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/kilocode-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Kilo Gateway provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/kimi-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/line",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"dependencies": {
|
||||
"@line/bot-sdk": "11.0.0",
|
||||
"zod": "4.4.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/line",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"description": "OpenClaw LINE channel plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -16,7 +16,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
@@ -46,10 +46,10 @@
|
||||
"minHostVersion": ">=2026.4.10"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22"
|
||||
"openclawVersion": "2026.5.23-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/litellm-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw LiteLLM provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/llm-task",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw JSON-only LLM task plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/lmstudio-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/lobster",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"dependencies": {
|
||||
"@clawdbot/lobster": "2026.4.6",
|
||||
"ajv": "8.20.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/lobster",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22"
|
||||
"openclawVersion": "2026.5.23-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# Changelog
|
||||
|
||||
## 2026.5.23-alpha.1
|
||||
|
||||
### Changes
|
||||
|
||||
- Version alignment with core OpenClaw release numbers.
|
||||
|
||||
## 2026.5.22
|
||||
|
||||
### 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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/matrix",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/matrix",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"description": "OpenClaw Matrix channel plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -22,7 +22,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
@@ -87,10 +87,10 @@
|
||||
"allowInvalidConfigRecovery": true
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22"
|
||||
"openclawVersion": "2026.5.23-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/mattermost",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"description": "OpenClaw Mattermost channel plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -16,7 +16,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/media-understanding-core",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw media understanding runtime package",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/meeting-notes",
|
||||
"version": "2026.5.21",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw meeting notes plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/memory-core",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw core memory search plugin",
|
||||
"type": "module",
|
||||
@@ -14,7 +14,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.22"
|
||||
"openclaw": ">=2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/memory-lancedb",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"dependencies": {
|
||||
"@lancedb/lancedb": "0.29.0",
|
||||
"apache-arrow": "18.1.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/memory-lancedb",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22"
|
||||
"openclawVersion": "2026.5.23-alpha.1"
|
||||
},
|
||||
"release": {
|
||||
"publishToClawHub": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/memory-wiki",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw persistent wiki plugin",
|
||||
"type": "module",
|
||||
@@ -14,7 +14,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/microsoft-foundry",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Microsoft Foundry provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/microsoft-speech",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Microsoft speech plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/migrate-claude",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "Claude to OpenClaw migration provider",
|
||||
"type": "module",
|
||||
@@ -9,7 +9,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/migrate-hermes",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "Hermes to OpenClaw migration provider",
|
||||
"type": "module",
|
||||
@@ -12,7 +12,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/minimax-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw MiniMax provider and OAuth plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/mistral-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"private": true,
|
||||
"description": "OpenClaw Mistral provider plugin",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/moonshot-provider",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/msteams",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-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.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/msteams",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"description": "OpenClaw Microsoft Teams channel plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -22,7 +22,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
@@ -58,10 +58,10 @@
|
||||
"minHostVersion": ">=2026.4.10"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22"
|
||||
"openclawVersion": "2026.5.23-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.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openclaw/nextcloud-talk",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"dependencies": {
|
||||
"zod": "4.4.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openclaw/nextcloud-talk",
|
||||
"version": "2026.5.22",
|
||||
"version": "2026.5.23-alpha.1",
|
||||
"description": "OpenClaw Nextcloud Talk channel plugin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -12,7 +12,7 @@
|
||||
"openclaw": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.5.22"
|
||||
"openclaw": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
@@ -44,10 +44,10 @@
|
||||
"minHostVersion": ">=2026.4.10"
|
||||
},
|
||||
"compat": {
|
||||
"pluginApi": ">=2026.5.22"
|
||||
"pluginApi": ">=2026.5.23-alpha.1"
|
||||
},
|
||||
"build": {
|
||||
"openclawVersion": "2026.5.22"
|
||||
"openclawVersion": "2026.5.23-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