mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 20:11:37 +00:00
fix(skills): warn when bundled dir missing
This commit is contained in:
@@ -29,6 +29,7 @@ Docs: https://docs.openclaw.ai
|
|||||||
- Onboarding: keep TUI flow exclusive (skip completion prompt + background Web UI seed); completion prompt now handled by install/update.
|
- Onboarding: keep TUI flow exclusive (skip completion prompt + background Web UI seed); completion prompt now handled by install/update.
|
||||||
- TUI: block onboarding output while TUI is active and restore terminal state on exit.
|
- TUI: block onboarding output while TUI is active and restore terminal state on exit.
|
||||||
- CLI/Zsh completion: cache scripts in state dir and escape option descriptions to avoid invalid option errors.
|
- CLI/Zsh completion: cache scripts in state dir and escape option descriptions to avoid invalid option errors.
|
||||||
|
- fix(ui): resolve Control UI asset path correctly.
|
||||||
- Docs: finish renaming the QMD memory docs to reference the OpenClaw state dir.
|
- Docs: finish renaming the QMD memory docs to reference the OpenClaw state dir.
|
||||||
- Tests: stub SSRF DNS pinning in web auto-reply + Gemini video coverage. (#6619) Thanks @joshp123.
|
- Tests: stub SSRF DNS pinning in web auto-reply + Gemini video coverage. (#6619) Thanks @joshp123.
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
import { loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
|
import { loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
|
||||||
|
import { createSubsystemLogger } from "../../logging/subsystem.js";
|
||||||
import { resolveBundledSkillsDir, type BundledSkillsResolveOptions } from "./bundled-dir.js";
|
import { resolveBundledSkillsDir, type BundledSkillsResolveOptions } from "./bundled-dir.js";
|
||||||
|
|
||||||
|
const skillsLogger = createSubsystemLogger("skills");
|
||||||
|
let hasWarnedMissingBundledDir = false;
|
||||||
|
|
||||||
export type BundledSkillsContext = {
|
export type BundledSkillsContext = {
|
||||||
dir?: string;
|
dir?: string;
|
||||||
names: Set<string>;
|
names: Set<string>;
|
||||||
@@ -12,6 +16,12 @@ export function resolveBundledSkillsContext(
|
|||||||
const dir = resolveBundledSkillsDir(opts);
|
const dir = resolveBundledSkillsDir(opts);
|
||||||
const names = new Set<string>();
|
const names = new Set<string>();
|
||||||
if (!dir) {
|
if (!dir) {
|
||||||
|
if (!hasWarnedMissingBundledDir) {
|
||||||
|
hasWarnedMissingBundledDir = true;
|
||||||
|
skillsLogger.warn(
|
||||||
|
"Bundled skills directory could not be resolved; built-in skills may be missing.",
|
||||||
|
);
|
||||||
|
}
|
||||||
return { dir, names };
|
return { dir, names };
|
||||||
}
|
}
|
||||||
const result = loadSkillsFromDir({ dir, source: "openclaw-bundled" });
|
const result = loadSkillsFromDir({ dir, source: "openclaw-bundled" });
|
||||||
|
|||||||
Reference in New Issue
Block a user