build: update deps except carbon

This commit is contained in:
Peter Steinberger
2026-03-17 20:51:41 -07:00
parent a89cb3e10e
commit fb5ab95e03
14 changed files with 1044 additions and 462 deletions

View File

@@ -8,7 +8,7 @@
"build:viewer": "bun build src/viewer-client.ts --target browser --format esm --minify --outfile assets/viewer-runtime.js"
},
"dependencies": {
"@pierre/diffs": "1.1.0",
"@pierre/diffs": "1.1.1",
"@sinclair/typebox": "0.34.48",
"playwright-core": "1.58.2"
},

View File

@@ -5,7 +5,7 @@
"description": "OpenClaw Google Chat channel plugin",
"type": "module",
"dependencies": {
"google-auth-library": "^10.6.1"
"google-auth-library": "^10.6.2"
},
"peerDependencies": {
"openclaw": ">=2026.3.11"

View File

@@ -4,7 +4,7 @@
"description": "OpenClaw Matrix channel plugin",
"type": "module",
"dependencies": {
"@mariozechner/pi-agent-core": "0.58.0",
"@mariozechner/pi-agent-core": "0.60.0",
"@matrix-org/matrix-sdk-crypto-nodejs": "^0.4.0",
"@vector-im/matrix-bot-sdk": "0.8.0-element.3",
"markdown-it": "14.1.1",

View File

@@ -1 +1,4 @@
import { createAccountListHelpers as createAccountListHelpersFromSdk } from "openclaw/plugin-sdk/matrix";
export * from "openclaw/plugin-sdk/matrix";
export const createAccountListHelpers = createAccountListHelpersFromSdk;

View File

@@ -1,5 +1,5 @@
import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
import { createAccountListHelpers } from "../../runtime-api.js";
import { createAccountListHelpers } from "openclaw/plugin-sdk/matrix";
import { hasConfiguredSecretInput } from "../secret-input.js";
import type { CoreConfig, MatrixConfig } from "../types.js";
import { resolveMatrixConfigForAccount } from "./client.js";

View File

@@ -5,9 +5,9 @@
"description": "OpenClaw LanceDB-backed long-term memory plugin with auto-recall/capture",
"type": "module",
"dependencies": {
"@lancedb/lancedb": "^0.26.2",
"@lancedb/lancedb": "^0.27.0",
"@sinclair/typebox": "0.34.48",
"openai": "^6.29.0"
"openai": "^6.32.0"
},
"openclaw": {
"extensions": [

View File

@@ -4,7 +4,7 @@
"description": "OpenClaw Zalo channel plugin",
"type": "module",
"dependencies": {
"undici": "7.24.1",
"undici": "7.24.4",
"zod": "^4.3.6"
},
"openclaw": {

View File

@@ -617,21 +617,21 @@
},
"dependencies": {
"@agentclientprotocol/sdk": "0.16.1",
"@aws-sdk/client-bedrock": "^3.1009.0",
"@aws-sdk/client-bedrock": "^3.1011.0",
"@buape/carbon": "0.0.0-beta-20260216184201",
"@clack/prompts": "^1.1.0",
"@discordjs/voice": "^0.19.1",
"@discordjs/voice": "^0.19.2",
"@grammyjs/runner": "^2.0.3",
"@grammyjs/transformer-throttler": "^1.2.1",
"@homebridge/ciao": "^1.3.5",
"@lancedb/lancedb": "^0.26.2",
"@lancedb/lancedb": "^0.27.0",
"@larksuiteoapi/node-sdk": "^1.59.0",
"@line/bot-sdk": "^10.6.0",
"@lydell/node-pty": "1.2.0-beta.3",
"@mariozechner/pi-agent-core": "0.58.0",
"@mariozechner/pi-ai": "0.58.0",
"@mariozechner/pi-coding-agent": "0.58.0",
"@mariozechner/pi-tui": "0.58.0",
"@mariozechner/pi-agent-core": "0.60.0",
"@mariozechner/pi-ai": "0.60.0",
"@mariozechner/pi-coding-agent": "0.60.0",
"@mariozechner/pi-tui": "0.60.0",
"@modelcontextprotocol/sdk": "1.27.1",
"@mozilla/readability": "^0.6.0",
"@sinclair/typebox": "0.34.48",
@@ -647,10 +647,10 @@
"discord-api-types": "^0.38.42",
"dotenv": "^17.3.1",
"express": "^5.2.1",
"file-type": "^21.3.2",
"gaxios": "7.1.3",
"file-type": "21.3.3",
"gaxios": "7.1.4",
"grammy": "^1.41.1",
"hono": "4.12.7",
"hono": "4.12.8",
"https-proxy-agent": "^8.0.0",
"ipaddr.js": "^2.3.0",
"jiti": "^2.6.1",
@@ -666,10 +666,10 @@
"playwright-core": "1.58.2",
"qrcode-terminal": "^0.12.0",
"sharp": "^0.34.5",
"sqlite-vec": "0.1.7-alpha.2",
"sqlite-vec": "0.1.7",
"tar": "7.5.11",
"tslog": "^4.10.2",
"undici": "^7.24.1",
"undici": "^7.24.4",
"ws": "^8.19.0",
"yaml": "^2.8.2",
"zod": "^4.3.6"
@@ -683,16 +683,16 @@
"@types/node": "^25.5.0",
"@types/qrcode-terminal": "^0.12.2",
"@types/ws": "^8.18.1",
"@typescript/native-preview": "7.0.0-dev.20260313.1",
"@typescript/native-preview": "7.0.0-dev.20260317.1",
"@vitest/coverage-v8": "^4.1.0",
"jscpd": "4.0.8",
"jsdom": "^28.1.0",
"jsdom": "^29.0.0",
"lit": "^3.3.2",
"oxfmt": "0.40.0",
"oxlint": "^1.55.0",
"oxlint-tsgolint": "^0.16.0",
"oxfmt": "0.41.0",
"oxlint": "^1.56.0",
"oxlint-tsgolint": "^0.17.0",
"signal-utils": "0.21.1",
"tsdown": "0.21.2",
"tsdown": "0.21.4",
"tsx": "^4.21.0",
"typescript": "^5.9.3",
"vitest": "^4.1.0"
@@ -713,12 +713,12 @@
"pnpm": {
"minimumReleaseAge": 2880,
"overrides": {
"hono": "4.12.7",
"hono": "4.12.8",
"@hono/node-server": "1.19.10",
"fast-xml-parser": "5.5.6",
"request": "npm:@cypress/request@3.0.10",
"request-promise": "npm:@cypress/request-promise@5.0.0",
"file-type": "21.3.2",
"file-type": "21.3.3",
"form-data": "2.5.4",
"minimatch": "10.2.4",
"qs": "6.14.2",

1407
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -77,21 +77,12 @@ describe("memory search async sync", () => {
it("waits for in-flight search sync during close", async () => {
const cfg = buildConfig();
let releaseSync = () => {};
const syncGate = new Promise<void>((resolve) => {
releaseSync = () => resolve();
});
embedBatch.mockImplementation(async (input: string[]) => {
await syncGate;
return input.map(() => [0.3, 0.2, 0.1]);
});
manager = await createMemoryManagerOrThrow(cfg);
(manager as unknown as { dirty: boolean }).dirty = true;
await manager.search("hello");
await vi.waitFor(() => {
expect((manager as unknown as { syncing: Promise<void> | null }).syncing).toBeTruthy();
let releaseSync = () => {};
const pendingSync = new Promise<void>((resolve) => {
releaseSync = resolve;
});
(manager as unknown as { syncing: Promise<void> | null }).syncing = pendingSync;
let closed = false;
const closePromise = manager.close().then(() => {

View File

@@ -137,6 +137,12 @@ const LOCAL_EXTENSION_API_BARREL_GUARDS = [
"voice-call",
] as const;
const LOCAL_EXTENSION_API_BARREL_EXCEPTIONS = [
// Direct import avoids a circular init path:
// accounts.ts -> runtime-api.ts -> openclaw/plugin-sdk/matrix -> extensions/matrix/api.ts -> accounts.ts
"extensions/matrix/src/matrix/accounts.ts",
] as const;
function readSource(path: string): string {
return readFileSync(resolve(ROOT_DIR, "..", path), "utf8");
}
@@ -377,6 +383,7 @@ describe("channel import guardrails", () => {
for (const file of collectExtensionFiles(extensionId)) {
const normalized = file.replaceAll("\\", "/");
if (
LOCAL_EXTENSION_API_BARREL_EXCEPTIONS.some((suffix) => normalized.endsWith(suffix)) ||
normalized.endsWith("/api.ts") ||
normalized.includes(".test.") ||
normalized.includes(".spec.") ||

View File

@@ -11,7 +11,7 @@
"dependencies": {
"@lit-labs/signals": "^0.2.0",
"@lit/context": "^1.1.6",
"@noble/ed25519": "3.0.0",
"@noble/ed25519": "3.0.1",
"dompurify": "^3.3.3",
"lit": "^3.3.2",
"marked": "^17.0.4",
@@ -21,7 +21,7 @@
},
"devDependencies": {
"@vitest/browser-playwright": "4.1.0",
"jsdom": "^28.1.0",
"jsdom": "^29.0.0",
"playwright": "^1.58.2",
"vitest": "4.1.0"
}

View File

@@ -25,13 +25,10 @@ function createStorageMock(): Storage {
}
function setTestLocation(params: { protocol: string; host: string; pathname: string }) {
if (typeof window !== "undefined" && window.history?.replaceState) {
window.history.replaceState({}, "", params.pathname);
return;
}
vi.stubGlobal("location", {
protocol: params.protocol,
host: params.host,
hostname: params.host.replace(/:\d+$/, ""),
pathname: params.pathname,
} as Location);
}

View File

@@ -1,4 +1,5 @@
const SETTINGS_KEY_PREFIX = "openclaw.control.settings.v1:";
const LEGACY_SETTINGS_KEY = "openclaw.control.settings.v1";
const LEGACY_TOKEN_SESSION_KEY = "openclaw.control.token.v1";
const TOKEN_SESSION_KEY_PREFIX = "openclaw.control.token.v1:";
const MAX_SCOPED_SESSION_ENTRIES = 10;
@@ -197,7 +198,7 @@ export function loadSettings(): UiSettings {
const raw =
storage?.getItem(scopedKey) ??
storage?.getItem(SETTINGS_KEY_PREFIX + "default") ??
storage?.getItem("openclaw.control.settings.v1");
storage?.getItem(LEGACY_SETTINGS_KEY);
if (!raw) {
return defaults;
}
@@ -308,5 +309,9 @@ function persistSettings(next: UiSettings) {
sessionsByGateway,
...(next.locale ? { locale: next.locale } : {}),
};
storage?.setItem(scopedKey, JSON.stringify(persisted));
const serialized = JSON.stringify(persisted);
storage?.setItem(scopedKey, serialized);
// Keep the legacy unscoped key in sync for older readers and migration tests,
// but never include the session token in persistent storage.
storage?.setItem(LEGACY_SETTINGS_KEY, serialized);
}