Files
openclaw/src/agents/bash-tools.exec-host-node.types.ts
Josh Avant 5d1e649aea fix: route mobile exec approvals to reviewer device (#95175)
* fix: route mobile exec approvals to reviewer device

* fix: surface iOS approval events in foreground

* fix: forward codex approval reviewer device

* test: harden approval reviewer device contract

* test: cover reviewer approval fallback resolvers
2026-06-21 08:47:52 -05:00

45 lines
1.5 KiB
TypeScript

/**
* Node-host exec command parameter contracts.
* Centralizes the full host/runtime boundary so node exec callers and handlers
* cannot drift on approval, routing, env, or timeout fields.
*/
import type { ExecAsk, ExecSecurity } from "../infra/exec-approvals.js";
import type { ExecAutoReviewer } from "../infra/exec-auto-review.js";
import type { ExecElevatedDefaults } from "./bash-tools.exec-types.js";
/** Full parameter bundle for Node-hosted exec command execution. */
export type ExecuteNodeHostCommandParams = {
command: string;
workdir: string | undefined;
env: Record<string, string>;
requestedEnv?: Record<string, string>;
requestedNode?: string;
boundNode?: string;
sessionKey?: string;
/** Session UUID active when the approval was requested; pins the followup. */
sessionId?: string;
/** Session-store template, so the direct/denied followup can detect a rebind. */
sessionStore?: string;
bashElevated?: ExecElevatedDefaults;
approvalReviewerDeviceId?: string;
turnSourceChannel?: string;
turnSourceTo?: string;
turnSourceAccountId?: string;
turnSourceThreadId?: string | number;
trigger?: string;
agentId?: string;
security: ExecSecurity;
ask: ExecAsk;
autoReview?: boolean;
autoReviewer?: ExecAutoReviewer;
strictInlineEval?: boolean;
commandHighlighting?: boolean;
timeoutSec?: number;
defaultTimeoutSec: number;
approvalRunningNoticeMs: number;
warnings: string[];
notifySessionKey?: string;
notifyOnExit?: boolean;
trustedSafeBinDirs?: ReadonlySet<string>;
};