chore(deps): update TypeScript and dependencies

This commit is contained in:
Peter Steinberger
2026-07-09 15:37:03 +01:00
parent 4ca805e983
commit 43cf413d1c
15 changed files with 473 additions and 325 deletions
+1
View File
@@ -6,6 +6,7 @@ node_modules
artifacts/
.proof/
.cache/
.vite-temp/
.data/
bin/docs-list
dist
+4
View File
@@ -7,6 +7,10 @@
- Web: organization publishers can upload durable PNG, JPEG, or WebP logos from settings instead of relying on hotlinked image URLs.
- Web/API: make default skill and plugin discovery freshness-aware, add seven-day trending views for both catalogs, and use verified status plus usage as search tie-breakers within direct matches.
### Fixes
- CLI: accept npm 12's package-keyed `npm pack --json` output when building ClawPacks while retaining compatibility with earlier npm array output.
## 0.23.1 - 2026-06-29
### Changes
+373 -245
View File
File diff suppressed because it is too large Load Diff
+36 -35
View File
@@ -85,33 +85,33 @@
"@fontsource/noto-sans-sc": "5.2.9",
"@monaco-editor/react": "4.7.0",
"@openclaw/plugin-inspector": "0.3.17",
"@radix-ui/react-avatar": "1.2.0",
"@radix-ui/react-dialog": "1.1.17",
"@radix-ui/react-dropdown-menu": "2.1.18",
"@radix-ui/react-label": "2.1.10",
"@radix-ui/react-select": "2.3.1",
"@radix-ui/react-separator": "1.1.10",
"@radix-ui/react-avatar": "1.2.2",
"@radix-ui/react-dialog": "1.1.19",
"@radix-ui/react-dropdown-menu": "2.1.20",
"@radix-ui/react-label": "2.1.11",
"@radix-ui/react-select": "2.3.3",
"@radix-ui/react-separator": "1.1.11",
"@radix-ui/react-slot": "1.3.0",
"@radix-ui/react-toggle-group": "1.1.13",
"@radix-ui/react-tooltip": "1.2.10",
"@radix-ui/react-toggle-group": "1.1.15",
"@radix-ui/react-tooltip": "1.2.12",
"@react-email/components": "^1.0.12",
"@react-email/render": "^2.0.9",
"@react-email/render": "^2.0.10",
"@resvg/resvg-wasm": "2.6.2",
"@shikijs/rehype": "4.2.0",
"@tanstack/react-router": "1.170.16",
"@tanstack/react-start": "1.168.26",
"@shikijs/rehype": "4.3.1",
"@tanstack/react-router": "1.170.17",
"@tanstack/react-start": "1.168.27",
"@vercel/analytics": "2.0.1",
"@vercel/speed-insights": "2.0.0",
"class-variance-authority": "0.7.1",
"clawhub-schema": "workspace:0.0.2",
"clsx": "2.1.1",
"convex": "1.41.0",
"convex-helpers": "0.1.119",
"convex": "1.42.1",
"convex-helpers": "0.1.120",
"fflate": "0.8.3",
"h3": "2.0.1-rc.22",
"h3": "2.0.1-rc.23",
"ignore": "7.0.5",
"lucide-react": "1.21.0",
"mermaid": "^11.15.0",
"lucide-react": "1.24.0",
"mermaid": "^11.16.0",
"mime": "4.1.0",
"monaco-editor": "0.55.1",
"pino": "10.3.1",
@@ -121,13 +121,13 @@
"rehype-raw": "7.0.0",
"rehype-sanitize": "6.0.0",
"remark-gfm": "4.0.1",
"resend": "6.14.0",
"resend": "6.17.2",
"semver": "7.8.5",
"sharp": "0.34.5",
"shiki": "4.2.0",
"sharp": "0.35.3",
"shiki": "4.3.1",
"sonner": "2.0.7",
"tailwind-merge": "3.6.0",
"tailwindcss": "4.3.1",
"tailwindcss": "4.3.2",
"tw-animate-css": "1.4.0",
"unified": "11.0.5",
"unist-util-visit": "5.1.0",
@@ -136,29 +136,30 @@
},
"devDependencies": {
"@faker-js/faker": "^10.5.0",
"@playwright/test": "^1.61.0",
"@react-email/ui": "^6.6.4",
"@tailwindcss/vite": "^4.3.1",
"@tanstack/devtools-vite": "0.8.0",
"@playwright/test": "^1.61.1",
"@react-email/ui": "^6.6.9",
"@tailwindcss/vite": "^4.3.2",
"@tanstack/devtools-vite": "0.8.1",
"@testing-library/dom": "10.4.1",
"@testing-library/react": "16.3.2",
"@types/node": "26.0.0",
"@types/node": "26.1.1",
"@types/react": "19.2.17",
"@types/react-dom": "19.2.3",
"@types/semver": "7.7.1",
"@vitejs/plugin-react": "6.0.2",
"@vitest/coverage-v8": "4.1.9",
"@typescript/native": "npm:typescript@7.0.2",
"@vitejs/plugin-react": "6.0.3",
"@vitest/coverage-v8": "4.1.10",
"jsdom": "29.1.1",
"nitro": "3.0.260429-beta",
"nitro": "3.0.260610-beta",
"only-allow": "1.2.2",
"oxfmt": "0.56.0",
"oxlint": "1.71.0",
"oxlint-tsgolint": "0.23.0",
"react-email": "^6.6.4",
"oxfmt": "0.58.0",
"oxlint": "1.73.0",
"oxlint-tsgolint": "0.24.0",
"react-email": "^6.6.9",
"typescript": "6.0.3",
"undici": "7.28.0",
"vite": "8.0.16",
"vitest": "4.1.9"
"vite": "8.1.4",
"vitest": "4.1.10"
},
"overrides": {
"ast-v8-to-istanbul": "1.0.4",
+4 -3
View File
@@ -29,8 +29,8 @@
"verify": "bun run test && bun run typecheck && bun run test:artifact"
},
"dependencies": {
"@clack/prompts": "1.6.0",
"arktype": "2.2.1",
"@clack/prompts": "1.7.0",
"arktype": "2.2.3",
"commander": "15.0.0",
"fflate": "0.8.3",
"ignore": "7.0.5",
@@ -42,7 +42,8 @@
"undici": "7.28.0"
},
"devDependencies": {
"@types/node": "26.0.0",
"@types/node": "26.1.1",
"@typescript/native": "npm:typescript@7.0.2",
"typescript": "6.0.3"
},
"engines": {
+1 -1
View File
@@ -10,7 +10,7 @@ const distDir = resolve(packageRoot, "dist");
await rm(distDir, { recursive: true, force: true });
const tscBin = require.resolve("typescript/bin/tsc");
const tscBin = resolve(dirname(require.resolve("@typescript/native/package.json")), "bin/tsc");
const result = spawnSync(process.execPath, [tscBin, "-p", "tsconfig.json"], {
cwd: packageRoot,
stdio: "inherit",
+1 -1
View File
@@ -6,7 +6,7 @@ import { fileURLToPath } from "node:url";
const require = createRequire(import.meta.url);
const packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..");
const tscBin = require.resolve("typescript/bin/tsc");
const tscBin = resolve(dirname(require.resolve("@typescript/native/package.json")), "bin/tsc");
const result = spawnSync(process.execPath, [tscBin, "-p", "tsconfig.json", "--noEmit"], {
cwd: packageRoot,
stdio: "inherit",
@@ -37,8 +37,12 @@ describe("packed admin CLI", () => {
npm_config_ignore_scripts: "false",
},
});
const metadata = JSON.parse(output) as Array<{ filename?: string }>;
const filename = metadata[0]?.filename;
const metadata = JSON.parse(output) as
| Array<{ filename?: string }>
| Record<string, { filename?: string }>;
const filename = Array.isArray(metadata)
? metadata[0]?.filename
: Object.values(metadata)[0]?.filename;
expect(filename).toBeTruthy();
const tarballPath = join(packDir, filename!);
+4 -3
View File
@@ -37,9 +37,9 @@
"verify:build": "tsc -p tsconfig.json --noEmit"
},
"dependencies": {
"@clack/prompts": "1.6.0",
"@clack/prompts": "1.7.0",
"@openclaw/plugin-inspector": "0.3.17",
"arktype": "2.2.1",
"arktype": "2.2.3",
"commander": "15.0.0",
"fflate": "0.8.3",
"ignore": "7.0.5",
@@ -51,7 +51,8 @@
"undici": "7.28.0"
},
"devDependencies": {
"@types/node": "26.0.0",
"@types/node": "26.1.1",
"@typescript/native": "npm:typescript@7.0.2",
"typescript": "6.0.3"
},
"engines": {
+1 -1
View File
@@ -10,7 +10,7 @@ const distDir = resolve(packageRoot, "dist");
await rm(distDir, { recursive: true, force: true });
const tscBin = require.resolve("typescript/bin/tsc");
const tscBin = resolve(dirname(require.resolve("@typescript/native/package.json")), "bin/tsc");
const result = spawnSync(process.execPath, [tscBin, "-p", "tsconfig.json"], {
cwd: packageRoot,
stdio: "inherit",
+11 -4
View File
@@ -844,14 +844,21 @@ async function createClawPackFromFolder(options: {
fail((result.stderr || result.stdout || "npm pack failed").trim());
}
let npmOutput: Array<{ filename?: string }> = [];
let npmOutput: unknown;
try {
npmOutput = JSON.parse(result.stdout) as Array<{ filename?: string }>;
npmOutput = JSON.parse(result.stdout) as unknown;
} catch {
fail("npm pack did not return JSON output");
}
const filename = npmOutput[0]?.filename;
if (!filename) fail("npm pack did not return a tarball filename");
const npmEntry = Array.isArray(npmOutput)
? npmOutput[0]
: isPlainRecord(npmOutput)
? Object.values(npmOutput)[0]
: undefined;
const filename = isPlainRecord(npmEntry) ? npmEntry["filename"] : undefined;
if (typeof filename !== "string" || !filename) {
fail("npm pack did not return a tarball filename");
}
const packPath = resolve(options.packDestination, filename);
const bytes = new Uint8Array(await readFile(packPath));
+21 -21
View File
@@ -9,7 +9,7 @@ export declare function getPackageScopeOwnerMismatch(name: string, ownerHandle:
} | null;
export declare const PackageFamilySchema: import("arktype/internal/variants/string.ts").StringType<"skill" | "code-plugin" | "bundle-plugin", {}>;
export type PackageFamily = (typeof PackageFamilySchema)[inferred];
export declare const PackageChannelSchema: import("arktype/internal/variants/string.ts").StringType<"community" | "official" | "private", {}>;
export declare const PackageChannelSchema: import("arktype/internal/variants/string.ts").StringType<"official" | "community" | "private", {}>;
export type PackageChannel = (typeof PackageChannelSchema)[inferred];
export declare const PackageVerificationTierSchema: import("arktype/internal/variants/string.ts").StringType<"structural" | "source-linked" | "provenance-verified" | "rebuild-verified", {}>;
export type PackageVerificationTier = (typeof PackageVerificationTierSchema)[inferred];
@@ -91,9 +91,9 @@ export declare const PackageAppealFinalActionSchema: import("arktype/internal/va
export type PackageAppealFinalAction = (typeof PackageAppealFinalActionSchema)[inferred];
export declare const PackageAppealListStatusSchema: import("arktype/internal/variants/string.ts").StringType<"open" | "all" | "accepted" | "rejected", {}>;
export type PackageAppealListStatus = (typeof PackageAppealListStatusSchema)[inferred];
export declare const PackageOfficialMigrationPhaseSchema: import("arktype/internal/variants/string.ts").StringType<"published" | "planned" | "clawpack-ready" | "legacy-zip-only" | "metadata-ready" | "blocked" | "ready-for-openclaw", {}>;
export declare const PackageOfficialMigrationPhaseSchema: import("arktype/internal/variants/string.ts").StringType<"blocked" | "published" | "planned" | "clawpack-ready" | "legacy-zip-only" | "metadata-ready" | "ready-for-openclaw", {}>;
export type PackageOfficialMigrationPhase = (typeof PackageOfficialMigrationPhaseSchema)[inferred];
export declare const PackageOfficialMigrationListPhaseSchema: import("arktype/internal/variants/string.ts").StringType<"all" | "published" | "planned" | "clawpack-ready" | "legacy-zip-only" | "metadata-ready" | "blocked" | "ready-for-openclaw", {}>;
export declare const PackageOfficialMigrationListPhaseSchema: import("arktype/internal/variants/string.ts").StringType<"blocked" | "all" | "published" | "planned" | "clawpack-ready" | "legacy-zip-only" | "metadata-ready" | "ready-for-openclaw", {}>;
export type PackageOfficialMigrationListPhase = (typeof PackageOfficialMigrationListPhaseSchema)[inferred];
export declare const PackageArtifactSummarySchema: import("arktype/internal/variants/object.ts").ObjectType<{
kind: "legacy-zip" | "npm-pack";
@@ -265,7 +265,7 @@ export declare const PackagePublishMetadataSchema: import("arktype/internal/vari
displayName?: string | undefined;
ownerHandle?: string | undefined;
manualOverrideReason?: string | undefined;
channel?: "community" | "official" | "private" | undefined;
channel?: "official" | "community" | "private" | undefined;
tags?: string[] | undefined;
categories?: string[] | undefined;
topics?: string[] | undefined;
@@ -312,7 +312,7 @@ export declare const ServerPackagePublishRequestSchema: import("arktype/internal
displayName?: string | undefined;
ownerHandle?: string | undefined;
manualOverrideReason?: string | undefined;
channel?: "community" | "official" | "private" | undefined;
channel?: "official" | "community" | "private" | undefined;
tags?: string[] | undefined;
categories?: string[] | undefined;
topics?: string[] | undefined;
@@ -336,7 +336,7 @@ export declare const PackageListItemSchema: import("arktype/internal/variants/ob
name: string;
displayName: string;
family: "skill" | "code-plugin" | "bundle-plugin";
channel: "community" | "official" | "private";
channel: "official" | "community" | "private";
isOfficial: boolean;
createdAt: number;
updatedAt: number;
@@ -361,7 +361,7 @@ export declare const ApiV1PackageListResponseSchema: import("arktype/internal/va
name: string;
displayName: string;
family: "skill" | "code-plugin" | "bundle-plugin";
channel: "community" | "official" | "private";
channel: "official" | "community" | "private";
isOfficial: boolean;
createdAt: number;
updatedAt: number;
@@ -390,7 +390,7 @@ export declare const ApiV1PackageSearchResponseSchema: import("arktype/internal/
name: string;
displayName: string;
family: "skill" | "code-plugin" | "bundle-plugin";
channel: "community" | "official" | "private";
channel: "official" | "community" | "private";
isOfficial: boolean;
createdAt: number;
updatedAt: number;
@@ -417,7 +417,7 @@ export declare const ApiV1PackageResponseSchema: import("arktype/internal/varian
name: string;
displayName: string;
family: "skill" | "code-plugin" | "bundle-plugin";
channel: "community" | "official" | "private";
channel: "official" | "community" | "private";
isOfficial: boolean;
createdAt: number;
updatedAt: number;
@@ -843,7 +843,7 @@ export declare const ApiV1PackageModerationStatusResponseSchema: import("arktype
name: string;
displayName: string;
family: "skill" | "code-plugin" | "bundle-plugin";
channel: "community" | "official" | "private";
channel: "official" | "community" | "private";
isOfficial: boolean;
reportCount: number;
lastReportedAt?: number | null | undefined;
@@ -897,7 +897,7 @@ export declare const ApiV1PackageTransferResponseSchema: import("arktype/interna
packageId: string;
name: string;
ownerUserId: string;
channel: "community" | "official" | "private";
channel: "official" | "community" | "private";
isOfficial: boolean;
ownerPublisherId?: string | undefined;
}, {}>;
@@ -914,7 +914,7 @@ export declare const PackageRepairNamePackageSchema: import("arktype/internal/va
packageId: string;
name: string;
ownerUserId: string;
channel: "community" | "official" | "private";
channel: "official" | "community" | "private";
runtimeId?: string | null | undefined;
ownerPublisherId?: string | null | undefined;
softDeletedAt?: number | null | undefined;
@@ -935,7 +935,7 @@ export declare const ApiV1PackageRepairNameResponseSchema: import("arktype/inter
packageId: string;
name: string;
ownerUserId: string;
channel: "community" | "official" | "private";
channel: "official" | "community" | "private";
runtimeId?: string | null | undefined;
ownerPublisherId?: string | null | undefined;
softDeletedAt?: number | null | undefined;
@@ -944,7 +944,7 @@ export declare const ApiV1PackageRepairNameResponseSchema: import("arktype/inter
packageId: string;
name: string;
ownerUserId: string;
channel: "community" | "official" | "private";
channel: "official" | "community" | "private";
runtimeId?: string | null | undefined;
ownerPublisherId?: string | null | undefined;
softDeletedAt?: number | null | undefined;
@@ -979,7 +979,7 @@ export declare const ApiV1PackageRepairRuntimeIdResponseSchema: import("arktype/
packageId: string;
name: string;
ownerUserId: string;
channel: "community" | "official" | "private";
channel: "official" | "community" | "private";
runtimeId?: string | null | undefined;
ownerPublisherId?: string | null | undefined;
softDeletedAt?: number | null | undefined;
@@ -999,7 +999,7 @@ export declare const PackageOfficialMigrationUpsertRequestSchema: import("arktyp
sourceRepo?: string | undefined;
sourcePath?: string | undefined;
sourceCommit?: string | undefined;
phase?: "published" | "planned" | "clawpack-ready" | "legacy-zip-only" | "metadata-ready" | "blocked" | "ready-for-openclaw" | undefined;
phase?: "blocked" | "published" | "planned" | "clawpack-ready" | "legacy-zip-only" | "metadata-ready" | "ready-for-openclaw" | undefined;
blockers?: string[] | undefined;
hostTargetsComplete?: boolean | undefined;
scanClean?: boolean | undefined;
@@ -1012,7 +1012,7 @@ export declare const PackageOfficialMigrationItemSchema: import("arktype/interna
migrationId: string;
bundledPluginId: string;
packageName: string;
phase: "published" | "planned" | "clawpack-ready" | "legacy-zip-only" | "metadata-ready" | "blocked" | "ready-for-openclaw";
phase: "blocked" | "published" | "planned" | "clawpack-ready" | "legacy-zip-only" | "metadata-ready" | "ready-for-openclaw";
blockers: string[];
hostTargetsComplete: boolean;
scanClean: boolean;
@@ -1033,7 +1033,7 @@ export declare const ApiV1PackageOfficialMigrationListResponseSchema: import("ar
migrationId: string;
bundledPluginId: string;
packageName: string;
phase: "published" | "planned" | "clawpack-ready" | "legacy-zip-only" | "metadata-ready" | "blocked" | "ready-for-openclaw";
phase: "blocked" | "published" | "planned" | "clawpack-ready" | "legacy-zip-only" | "metadata-ready" | "ready-for-openclaw";
blockers: string[];
hostTargetsComplete: boolean;
scanClean: boolean;
@@ -1058,7 +1058,7 @@ export declare const ApiV1PackageOfficialMigrationResponseSchema: import("arktyp
migrationId: string;
bundledPluginId: string;
packageName: string;
phase: "published" | "planned" | "clawpack-ready" | "legacy-zip-only" | "metadata-ready" | "blocked" | "ready-for-openclaw";
phase: "blocked" | "published" | "planned" | "clawpack-ready" | "legacy-zip-only" | "metadata-ready" | "ready-for-openclaw";
blockers: string[];
hostTargetsComplete: boolean;
scanClean: boolean;
@@ -1075,7 +1075,7 @@ export declare const ApiV1PackageOfficialMigrationResponseSchema: import("arktyp
};
}, {}>;
export type ApiV1PackageOfficialMigrationResponse = (typeof ApiV1PackageOfficialMigrationResponseSchema)[inferred];
export declare const PackageModerationQueueStatusSchema: import("arktype/internal/variants/string.ts").StringType<"open" | "all" | "blocked" | "manual", {}>;
export declare const PackageModerationQueueStatusSchema: import("arktype/internal/variants/string.ts").StringType<"open" | "blocked" | "all" | "manual", {}>;
export type PackageModerationQueueStatus = (typeof PackageModerationQueueStatusSchema)[inferred];
export declare const ApiV1PackageModerationQueueResponseSchema: import("arktype/internal/variants/object.ts").ObjectType<{
items: {
@@ -1084,7 +1084,7 @@ export declare const ApiV1PackageModerationQueueResponseSchema: import("arktype/
name: string;
displayName: string;
family: "skill" | "code-plugin" | "bundle-plugin";
channel: "community" | "official" | "private";
channel: "official" | "community" | "private";
isOfficial: boolean;
version: string;
createdAt: number;
+2 -2
View File
@@ -673,7 +673,7 @@ export declare const ApiV1SkillVersionListResponseSchema: import("arktype/intern
nextCursor: string | null;
}, {}>;
export declare const SecurityStatusSchema: import("arktype/internal/variants/object.ts").ObjectType<{
status: "clean" | "suspicious" | "malicious" | "pending" | "error";
status: "error" | "clean" | "suspicious" | "malicious" | "pending";
hasWarnings: boolean;
checkedAt: number | null;
model: string | null;
@@ -687,7 +687,7 @@ export declare const ApiV1SkillVersionResponseSchema: import("arktype/internal/v
license?: "MIT-0" | null | undefined;
files?: unknown;
security?: {
status: "clean" | "suspicious" | "malicious" | "pending" | "error";
status: "error" | "clean" | "suspicious" | "malicious" | "pending";
hasWarnings: boolean;
checkedAt: number | null;
model: string | null;
+2 -1
View File
@@ -30,9 +30,10 @@
"prepublishOnly": "npm run build"
},
"dependencies": {
"arktype": "2.2.1"
"arktype": "2.2.3"
},
"devDependencies": {
"@typescript/native": "npm:typescript@7.0.2",
"typescript": "6.0.3"
}
}
+6 -6
View File
@@ -451,12 +451,12 @@ code {
}
.app-shell:has(
.skill-detail-page,
.plugin-detail-page,
.security-audit-page,
.publisher-profile-route,
.dashboard-route
)::before {
.skill-detail-page,
.plugin-detail-page,
.security-audit-page,
.publisher-profile-route,
.dashboard-route
)::before {
position: absolute;
top: 0;
right: 0;