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) [ • 3.57 kB
text/typescript
export interface ConversationItem {
/** The conversation item ID. */
id: string;
/** Index of the item in the conversation. */
item_idx: number;
/** Who spoke in this turn. */
role: ConversationItem.Role;
/** Live transcript of this turn. `null` when the turn has been redacted. */
live_transcript: string | null;
/** Post-call processed transcript. */
post_call_transcript: string | null;
/** The redacted transcript of this turn. `null` when the turn is not redacted. */
redacted_transcript?: (string | null) | undefined;
/** Duration of this turn in milliseconds. */
duration_ms: number;
/** When this turn started. */
started_at: string;
/** Voice ID used (assistant only). */
voice_id?: string | undefined;
/** Audio speed used (assistant only). */
audio_speed?: number | undefined;
/** System prompt used for this assistant turn. */
system_prompt?: string | undefined;
/** Tool calls made by the assistant. */
tool_calls?: ConversationItem.ToolCalls.Item[] | undefined;
}
export declare namespace ConversationItem {
/** Who spoke in this turn. */
const Role: {
readonly User: "user";
readonly Assistant: "assistant";
};
type Role = (typeof Role)[keyof typeof Role];
type ToolCalls = ToolCalls.Item[];
namespace ToolCalls {
interface Item {
/** The tool call ID. */
id: string;
tool: Item.Tool;
/** The integration associated with the tool, if any. */
integration?: (string | null) | undefined;
/** HTTP method for webhook tool calls. */
endpoint_method?: (string | null) | undefined;
/** URL for webhook tool calls. */
endpoint_url?: (string | null) | undefined;
/** Headers for webhook tool calls. */
endpoint_headers?: (Record<string, string | null> | null) | undefined;
/** Timeout in milliseconds for webhook tool calls. */
endpoint_timeout_ms?: (number | null) | undefined;
/** When the webhook endpoint was called (null on error). */
endpoint_called_at?: (string | null) | undefined;
/** Query parameters for webhook tool calls (null on error or when no params). */
query_params?: (Record<string, unknown> | null) | undefined;
/** HTTP response status code for webhook tool calls (null on error). */
response_status_code?: (number | null) | undefined;
/** Timeout in milliseconds for websocket tool calls. */
tool_call_output_timeout_ms?: (number | null) | undefined;
/** The request body sent to the tool. Can be any JSON-serializable value. */
request_body: Item.RequestBody | null;
/** The response body received from the tool. */
response_body: Record<string, unknown> | null;
/** Whether the tool call timed out. */
timed_out: boolean | null;
/** Error message if the tool call failed. */
error_message: string | null;
}
namespace Item {
interface Tool {
/** The tool ID. */
id: string;
/** The tool name. */
name: string;
}
/**
* The request body sent to the tool. Can be any JSON-serializable value.
*/
type RequestBody = Record<string, unknown> | unknown[] | string | number | boolean;
}
}
}