UNPKG

@gguf/claw

Version:

Multi-channel AI gateway with extensible messaging integrations

46 lines (45 loc) 1.93 kB
import type { AgentSession } from "@mariozechner/pi-coding-agent"; import type { ReasoningLevel, VerboseLevel } from "../auto-reply/thinking.js"; import type { OpenClawConfig } from "../config/types.openclaw.js"; import type { HookRunner } from "../plugins/hooks.js"; import type { BlockReplyChunking } from "./pi-embedded-block-chunker.js"; import type { BlockReplyPayload } from "./pi-embedded-payloads.js"; export type ToolResultFormat = "markdown" | "plain"; export type SubscribeEmbeddedPiSessionParams = { session: AgentSession; runId: string; hookRunner?: HookRunner; verboseLevel?: VerboseLevel; reasoningMode?: ReasoningLevel; toolResultFormat?: ToolResultFormat; shouldEmitToolResult?: () => boolean; shouldEmitToolOutput?: () => boolean; onToolResult?: (payload: { text?: string; mediaUrls?: string[]; }) => void | Promise<void>; onReasoningStream?: (payload: { text?: string; mediaUrls?: string[]; }) => void | Promise<void>; /** Called when a thinking/reasoning block ends (</think> tag processed). */ onReasoningEnd?: () => void | Promise<void>; onBlockReply?: (payload: BlockReplyPayload) => void | Promise<void>; /** Flush pending block replies (e.g., before tool execution to preserve message boundaries). */ onBlockReplyFlush?: () => void | Promise<void>; blockReplyBreak?: "text_end" | "message_end"; blockReplyChunking?: BlockReplyChunking; onPartialReply?: (payload: { text?: string; mediaUrls?: string[]; }) => void | Promise<void>; onAssistantMessageStart?: () => void | Promise<void>; onAgentEvent?: (evt: { stream: string; data: Record<string, unknown>; }) => void | Promise<void>; enforceFinalTag?: boolean; config?: OpenClawConfig; sessionKey?: string; }; export type { BlockReplyChunking } from "./pi-embedded-block-chunker.js";