import type { ImageContent } from "@mariozechner/pi-ai"; import type { ReplyPayload } from "../../../auto-reply/reply-payload.js"; import type { ReplyOperation } from "../../../auto-reply/reply/reply-run-registry.js"; import type { ReasoningLevel, ThinkLevel, VerboseLevel } from "../../../auto-reply/thinking.js"; import type { OpenClawConfig } from "../../../config/types.openclaw.js"; import type { PromptImageOrderEntry } from "../../../media/prompt-image-order.js"; import type { CommandQueueEnqueueFn } from "../../../process/command-queue.types.js"; import type { InputProvenance } from "../../../sessions/input-provenance.js"; import type { ExecElevatedDefaults, ExecToolDefaults } from "../../bash-tools.exec-types.js"; import type { AgentStreamParams, ClientToolDefinition } from "../../command/shared-types.js"; import type { AgentInternalEvent } from "../../internal-events.js"; import type { BlockReplyPayload } from "../../pi-embedded-payloads.js"; import type {
BlockReplyChunking,
ToolResultFormat,
} from "../../pi-embedded-subscribe.shared-types.js"; import type { SkillSnapshot } from "../../skills.js";
export type { ClientToolDefinition } from "../../command/shared-types.js";
export type RunEmbeddedPiAgentParams = {
sessionId: string;
sessionKey?: string; /** Session-like key for sandbox and tool-policy resolution. Defaults to sessionKey. */
sandboxSessionKey?: string;
agentId?: string;
messageChannel?: string;
messageProvider?: string;
agentAccountId?: string; /** What initiated this agent run: "user", "heartbeat", "cron", "memory", "overflow", or "manual". */
trigger?: EmbeddedRunTrigger; /** Relative workspace path that memory-triggered writes are allowed to append to. */
memoryFlushWritePath?: string; /** Delivery target for topic/thread routing. */
messageTo?: string; /** Thread/topic identifier for routing replies to the originating thread. */
messageThreadId?: string | number; /** Group id for channel-level tool policy resolution. */
groupId?: string | null; /** Group channel label (e.g. #general) for channel-level tool policy resolution. */
groupChannel?: string | null; /** Group space label (e.g. guild/team id) for channel-level tool policy resolution. */
groupSpace?: string | null; /** Trusted provider role ids for the requester in this group turn. */
memberRoleIds?: string[]; /** Parent session key for subagent policy inheritance. */
spawnedBy?: string | null; /** Whether workspaceDir points at the canonical agent workspace for bootstrap purposes. */
isCanonicalWorkspace?: boolean;
senderId?: string | null;
senderName?: string | null;
senderUsername?: string | null;
senderE164?: string | null; /** Whether the sender is an owner (required for owner-only tools). */
senderIsOwner?: boolean; /** Current channel ID for auto-threading (Slack). */
currentChannelId?: string; /** Current thread timestamp for auto-threading (Slack). */
currentThreadTs?: string; /** Current inbound message id for action fallbacks (e.g. Telegram react). */
currentMessageId?: string | number; /** Reply-to mode for Slack auto-threading. */
replyToMode?: "off" | "first" | "all" | "batched"; /** Mutable ref to track if a reply was sent (for "first" mode). */
hasRepliedRef?: { value: boolean }; /** Require explicit message tool targets (no implicit last-route sends). */
requireExplicitMessageTarget?: boolean; /** If true, omit the message tool from the tool list. */
disableMessageTool?: boolean; /** Keep the message tool available even when a narrow profile would omit it. */
forceMessageTool?: boolean; /** Allow runtime plugins for this run to late-bind the gateway subagent. */
allowGatewaySubagentBinding?: boolean;
sessionFile: string;
workspaceDir: string;
agentDir?: string;
config?: OpenClawConfig;
skillsSnapshot?: SkillSnapshot;
prompt: string; /** User-visible prompt body to persist instead of runtime-enriched prompt text. */
transcriptPrompt?: string;
images?: ImageContent[];
imageOrder?: PromptImageOrderEntry[]; /** Optional client-provided tools (OpenResponses hosted tools). */
clientTools?: ClientToolDefinition[]; /** Disable built-in tools for this run (LLM-only mode). */
disableTools?: boolean;
provider?: string;
model?: string; /** Session-pinned embedded harness id. Prevents runtime hot-switching. */
agentHarnessId?: string;
authProfileId?: string;
authProfileIdSource?: "auto" | "user";
thinkLevel?: ThinkLevel;
fastMode?: boolean;
verboseLevel?: VerboseLevel;
reasoningLevel?: ReasoningLevel;
toolResultFormat?: ToolResultFormat; /** If true, suppress tool error warning payloads for this run (including mutating tools). */
suppressToolErrorWarnings?: boolean; /** Bootstrap context mode for workspace file injection. */
bootstrapContextMode?: "full" | "lightweight"; /** Run kind hint for context mode behavior. */
bootstrapContextRunKind?: "default" | "heartbeat" | "cron"; /** Optional tool allow-list; when set, only these tools are sent to the model. */
toolsAllow?: string[]; /** Seen bootstrap truncation warning signatures for this session (once mode dedupe). */
bootstrapPromptWarningSignaturesSeen?: string[]; /** Last shown bootstrap truncation warning signature for this session. */
bootstrapPromptWarningSignature?: string;
execOverrides?: Pick<
ExecToolDefaults, "host" | "security" | "ask" | "node" | "notifyOnExit" | "notifyOnExitEmptySuccess"
>;
bashElevated?: ExecElevatedDefaults;
timeoutMs: number;
runId: string;
abortSignal?: AbortSignal;
replyOperation?: ReplyOperation;
shouldEmitToolResult?: () => boolean;
shouldEmitToolOutput?: () => boolean;
onPartialReply?: (payload: { text?: string; mediaUrls?: string[] }) => void | Promise<void>;
onAssistantMessageStart?: () => void | Promise<void>;
onBlockReply?: (payload: BlockReplyPayload) => void | Promise<void>;
onBlockReplyFlush?: () => void | Promise<void>;
blockReplyBreak?: "text_end" | "message_end";
blockReplyChunking?: BlockReplyChunking;
onReasoningStream?: (payload: { text?: string; mediaUrls?: string[] }) => void | Promise<void>;
onReasoningEnd?: () => void | Promise<void>;
onToolResult?: (payload: ReplyPayload) => void | Promise<void>;
onAgentEvent?: (evt: { stream: string; data: Record<string, unknown> }) => void;
lane?: string;
enqueue?: CommandQueueEnqueueFn;
extraSystemPrompt?: string;
internalEvents?: AgentInternalEvent[];
inputProvenance?: InputProvenance;
streamParams?: AgentStreamParams;
ownerNumbers?: string[];
enforceFinalTag?: boolean;
silentExpected?: boolean; /** * Allow a single run attempt even when all auth profiles are in cooldown, * but only for inferred transient cooldowns like `rate_limit` or `overloaded`. * * This is used by model fallback when trying sibling models on providers * where transient service pressure is often model-scoped.
*/
allowTransientCooldownProbe?: boolean; /** * Dispose bundled MCP runtimes when the overall run ends instead of preserving * the session-scoped cache. Intended for one-shot local CLI runs that must * exit promptly after emitting the final JSON result.
*/
cleanupBundleMcpOnRunEnd?: boolean;
};
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.12Bemerkung:
(Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-06-05)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.