mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-14 18:51:04 +00:00
48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
import type {
|
|
SandboxBrowserSettings,
|
|
SandboxDockerSettings,
|
|
SandboxPruneSettings,
|
|
SandboxSshSettings,
|
|
} from "./types.sandbox.js";
|
|
|
|
export type AgentModelConfig =
|
|
| string
|
|
| {
|
|
/** Primary model (provider/model). */
|
|
primary?: string;
|
|
/** Per-agent model fallbacks (provider/model). */
|
|
fallbacks?: string[];
|
|
};
|
|
|
|
export type AgentEmbeddedHarnessConfig = {
|
|
/** Embedded harness id: "auto", "pi", or a registered plugin harness id. */
|
|
runtime?: string;
|
|
/** Fallback when no plugin harness matches or an auto-selected plugin harness fails. */
|
|
fallback?: "pi" | "none";
|
|
};
|
|
|
|
export type AgentSandboxConfig = {
|
|
mode?: "off" | "non-main" | "all";
|
|
/** Sandbox runtime backend id. Default: "docker". */
|
|
backend?: string;
|
|
/** Agent workspace access inside the sandbox. */
|
|
workspaceAccess?: "none" | "ro" | "rw";
|
|
/**
|
|
* Session tools visibility for sandboxed sessions.
|
|
* - "spawned": only allow session tools to target sessions spawned from this session (default)
|
|
* - "all": allow session tools to target any session
|
|
*/
|
|
sessionToolsVisibility?: "spawned" | "all";
|
|
/** Container/workspace scope for sandbox isolation. */
|
|
scope?: "session" | "agent" | "shared";
|
|
workspaceRoot?: string;
|
|
/** Docker-specific sandbox settings. */
|
|
docker?: SandboxDockerSettings;
|
|
/** SSH-specific sandbox settings. */
|
|
ssh?: SandboxSshSettings;
|
|
/** Optional sandboxed browser settings. */
|
|
browser?: SandboxBrowserSettings;
|
|
/** Auto-prune sandbox settings. */
|
|
prune?: SandboxPruneSettings;
|
|
};
|