mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-10 17:04:58 +00:00
refactor: harden outbound, matrix bootstrap, and plugin entry resolution
This commit is contained in:
@@ -148,6 +148,18 @@ export type OpenClawPackageManifest = {
|
||||
install?: PluginPackageInstall;
|
||||
};
|
||||
|
||||
export const DEFAULT_PLUGIN_ENTRY_CANDIDATES = [
|
||||
"index.ts",
|
||||
"index.js",
|
||||
"index.mjs",
|
||||
"index.cjs",
|
||||
] as const;
|
||||
|
||||
export type PackageExtensionResolution =
|
||||
| { status: "ok"; entries: string[] }
|
||||
| { status: "missing"; entries: [] }
|
||||
| { status: "empty"; entries: [] };
|
||||
|
||||
export type ManifestKey = typeof MANIFEST_KEY;
|
||||
|
||||
export type PackageManifest = {
|
||||
@@ -164,3 +176,19 @@ export function getPackageManifestMetadata(
|
||||
}
|
||||
return manifest[MANIFEST_KEY];
|
||||
}
|
||||
|
||||
export function resolvePackageExtensionEntries(
|
||||
manifest: PackageManifest | undefined,
|
||||
): PackageExtensionResolution {
|
||||
const raw = getPackageManifestMetadata(manifest)?.extensions;
|
||||
if (!Array.isArray(raw)) {
|
||||
return { status: "missing", entries: [] };
|
||||
}
|
||||
const entries = raw
|
||||
.map((entry) => (typeof entry === "string" ? entry.trim() : ""))
|
||||
.filter(Boolean);
|
||||
if (entries.length === 0) {
|
||||
return { status: "empty", entries: [] };
|
||||
}
|
||||
return { status: "ok", entries };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user