Files
openclaw/src/plugins/install.runtime.ts
Peter Steinberger 538605ff44 [codex] Extract filesystem safety primitives (#77918)
* refactor: extract filesystem safety primitives

* refactor: use fs-safe for file access helpers

* refactor: reuse fs-safe for media reads

* refactor: use fs-safe for image reads

* refactor: reuse fs-safe in qqbot media opener

* refactor: reuse fs-safe for local media checks

* refactor: consume cleaner fs-safe api

* refactor: align fs-safe json option names

* fix: preserve fs-safe migration contracts

* refactor: use fs-safe primitive subpaths

* refactor: use grouped fs-safe subpaths

* refactor: align fs-safe api usage

* refactor: adapt private state store api

* chore: refresh proof gate

* refactor: follow fs-safe json api split

* refactor: follow reduced fs-safe surface

* build: default fs-safe python helper off

* fix: preserve fs-safe plugin sdk aliases

* refactor: consolidate fs-safe usage

* refactor: unify fs-safe store usage

* refactor: trim fs-safe temp workspace usage

* refactor: hide low-level fs-safe primitives

* build: use published fs-safe package

* fix: preserve outbound recovery durability after rebase

* chore: refresh pr checks
2026-05-06 02:15:17 +01:00

72 lines
2.3 KiB
TypeScript

import { resolveArchiveKind } from "../infra/archive.js";
import { pathExists, root } from "../infra/fs-safe.js";
import { resolveExistingInstallPath, withExtractedArchiveRoot } from "../infra/install-flow.js";
import {
resolveInstallModeOptions,
resolveTimedInstallModeOptions,
} from "../infra/install-mode-options.js";
import { installPackageDir } from "../infra/install-package-dir.js";
import {
type NpmIntegrityDrift,
type NpmSpecResolution,
resolveArchiveSourcePath,
} from "../infra/install-source-utils.js";
import {
ensureInstallTargetAvailable,
resolveCanonicalInstallTarget,
} from "../infra/install-target.js";
import { readJson } from "../infra/json-files.js";
import {
finalizeNpmSpecArchiveInstall,
installFromNpmSpecArchiveWithInstaller,
} from "../infra/npm-pack-install.js";
import { validateRegistryNpmSpec } from "../infra/npm-registry-spec.js";
import { resolveCompatibilityHostVersion, resolveRuntimeServiceVersion } from "../version.js";
import { detectBundleManifestFormat, loadBundleManifest } from "./bundle-manifest.js";
import {
scanInstalledPackageDependencyTree,
scanBundleInstallSource,
scanFileInstallSource,
scanPackageInstallSource,
} from "./install-security-scan.js";
import {
getPackageManifestMetadata,
loadPluginManifest,
resolvePackageExtensionEntries,
} from "./manifest.js";
import { checkMinHostVersion } from "./min-host-version.js";
import { isPathInside } from "./path-safety.js";
export type { NpmIntegrityDrift, NpmSpecResolution };
export {
checkMinHostVersion,
root,
detectBundleManifestFormat,
ensureInstallTargetAvailable,
pathExists as fileExists,
finalizeNpmSpecArchiveInstall,
getPackageManifestMetadata,
installFromNpmSpecArchiveWithInstaller,
installPackageDir,
isPathInside,
loadBundleManifest,
loadPluginManifest,
readJson as readJsonFile,
resolveArchiveKind,
resolveArchiveSourcePath,
resolveCanonicalInstallTarget,
resolveExistingInstallPath,
resolveInstallModeOptions,
resolvePackageExtensionEntries,
resolveCompatibilityHostVersion,
resolveRuntimeServiceVersion,
resolveTimedInstallModeOptions,
scanInstalledPackageDependencyTree,
scanBundleInstallSource,
scanFileInstallSource,
scanPackageInstallSource,
validateRegistryNpmSpec,
withExtractedArchiveRoot,
};