phonic
Version:
[](https://buildwithfern.com?utm_source=github&utm_medium=github&utm_campaign=readme&utm_source=https%3A%2F%2Fgithub.com%2FPhonic-Co%2Fphonic-node) [ • 1.67 kB
text/typescript
import type * as Phonic from "../index.mjs";
/**
* Inline WebSocket tool definition for this conversation. Inline tools are not persisted to your workspace; they are executed by your connected WebSocket application when Phonic sends a `tool_call` message.
*/
export interface InlineWebSocketTool {
type: "custom_websocket";
tool_schema: Phonic.OpenAiTool;
/** Whether the assistant waits for the tool output before continuing. */
execution_mode?: InlineWebSocketTool.ExecutionMode | undefined;
/** Timeout in milliseconds for the client to send a `tool_call_output` message. */
tool_call_output_timeout_ms?: number | undefined;
/** When true, forces the assistant to speak before executing the tool. */
require_speech_before_tool_call?: boolean | undefined;
/** When true, waits for the assistant's speech to finish before sending the tool call. */
wait_for_speech_before_tool_call?: boolean | undefined;
/** When true, prevents the assistant from speaking after executing the tool. */
forbid_speech_after_tool_call?: boolean | undefined;
/** When true, allows the assistant to call another tool after this tool. */
allow_tool_chaining?: boolean | undefined;
/** For async tools, when true, the assistant waits for the response and speaks when it arrives. */
wait_for_response?: boolean | undefined;
}
export declare namespace InlineWebSocketTool {
/** Whether the assistant waits for the tool output before continuing. */
const ExecutionMode: {
readonly Sync: "sync";
readonly Async: "async";
};
type ExecutionMode = (typeof ExecutionMode)[keyof typeof ExecutionMode];
}