fix: normalize xurl installer kind to node (#21585) (thanks @santiagomed)
This commit is contained in:
@@ -118,6 +118,7 @@ Docs: https://docs.openclaw.ai
|
||||
- Docker: pin base images to SHA256 digests in Docker builds to prevent mutable tag drift. (#7734) Thanks @coygeek.
|
||||
- Docker: run build steps as the `node` user and use `COPY --chown` to avoid recursive ownership changes, trimming image size and layer churn. Thanks @huntharo.
|
||||
- Config/Memory: restore schema help/label metadata for hybrid `mmr` and `temporalDecay` settings so configuration surfaces show correct names and guidance. (#18786) Thanks @rodrigouroz.
|
||||
- Skills/xurl: fix installer metadata to use `kind: "node"` for npm distribution so `openclaw skills` exposes the npm install path correctly. (#21585) Thanks @santiagomed.
|
||||
- Skills/SonosCLI: add troubleshooting guidance for `sonos discover` failures on macOS direct mode (`sendto: no route to host`) and sandbox network restrictions (`bind: operation not permitted`). (#21316) Thanks @huntharo.
|
||||
- macOS/Build: default release packaging to `BUNDLE_ID=ai.openclaw.mac` in `scripts/package-mac-dist.sh`, so Sparkle feed URL is retained and auto-update no longer fails with an empty appcast feed. (#19750) thanks @loganprit.
|
||||
- Signal/Outbound: preserve case for Base64 group IDs during outbound target normalization so cross-context routing and policy checks no longer break when group IDs include uppercase characters. (#5578) Thanks @heyhudson.
|
||||
|
||||
@@ -18,7 +18,7 @@ metadata:
|
||||
},
|
||||
{
|
||||
"id": "npm",
|
||||
"kind": "npm",
|
||||
"kind": "node",
|
||||
"package": "@xdevplatform/xurl",
|
||||
"bins": ["xurl"],
|
||||
"label": "Install xurl (npm)",
|
||||
|
||||
21
src/agents/skills.xurl-frontmatter.e2e.test.ts
Normal file
21
src/agents/skills.xurl-frontmatter.e2e.test.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import fs from "node:fs";
|
||||
import path from "node:path";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { parseFrontmatter, resolveOpenClawMetadata } from "./skills/frontmatter.js";
|
||||
|
||||
describe("skills/xurl frontmatter", () => {
|
||||
it("exposes a node installer for npm distribution", () => {
|
||||
const skillPath = path.join(process.cwd(), "skills", "xurl", "SKILL.md");
|
||||
const raw = fs.readFileSync(skillPath, "utf-8");
|
||||
const frontmatter = parseFrontmatter(raw);
|
||||
const metadata = resolveOpenClawMetadata(frontmatter);
|
||||
const install = metadata?.install ?? [];
|
||||
|
||||
expect(
|
||||
install.some(
|
||||
(spec) =>
|
||||
spec.kind === "node" && spec.package === "@xdevplatform/xurl" && spec.id === "npm",
|
||||
),
|
||||
).toBe(true);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user