//#region src/agui-types.d.ts
type AGUIEventType = "RUN_STARTED" | "RUN_FINISHED" | "RUN_ERROR" | "STEP_STARTED" | "STEP_FINISHED" | "TEXT_MESSAGE_START" | "TEXT_MESSAGE_CONTENT" | "TEXT_MESSAGE_END" | "TEXT_MESSAGE_CHUNK" | "TOOL_CALL_START" | "TOOL_CALL_ARGS" | "TOOL_CALL_END" | "TOOL_CALL_CHUNK" | "TOOL_CALL_RESULT" | "STATE_SNAPSHOT" | "STATE_DELTA" | "MESSAGES_SNAPSHOT" | "ACTIVITY_SNAPSHOT" | "ACTIVITY_DELTA" | "REASONING_START" | "REASONING_MESSAGE_START" | "REASONING_MESSAGE_CONTENT" | "REASONING_MESSAGE_END" | "REASONING_MESSAGE_CHUNK" | "REASONING_END" | "REASONING_ENCRYPTED_VALUE" | "RAW" | "CUSTOM" | "THINKING_START" | "THINKING_END" | "THINKING_TEXT_MESSAGE_START" | "THINKING_TEXT_MESSAGE_CONTENT" | "THINKING_TEXT_MESSAGE_END";
interface AGUIBaseEvent {
  type: AGUIEventType;
  timestamp?: number;
  rawEvent?: unknown;
}
interface AGUIRunStartedEvent extends AGUIBaseEvent {
  type: "RUN_STARTED";
  threadId: string;
  runId: string;
  parentRunId?: string;
  input?: AGUIRunAgentInput;
}
interface AGUIRunFinishedEvent extends AGUIBaseEvent {
  type: "RUN_FINISHED";
  threadId: string;
  runId: string;
  result?: unknown;
  outcome?: AGUIRunFinishedOutcome;
}
interface AGUIRunErrorEvent extends AGUIBaseEvent {
  type: "RUN_ERROR";
  message: string;
  code?: string;
}
interface AGUIStepStartedEvent extends AGUIBaseEvent {
  type: "STEP_STARTED";
  stepName: string;
}
interface AGUIStepFinishedEvent extends AGUIBaseEvent {
  type: "STEP_FINISHED";
  stepName: string;
}
type AGUITextMessageRole = "developer" | "system" | "assistant" | "user";
type AGUIMessageRole = "developer" | "system" | "assistant" | "user" | "tool" | "activity" | "reasoning";
interface AGUITextMessageStartEvent extends AGUIBaseEvent {
  type: "TEXT_MESSAGE_START";
  messageId: string;
  role: AGUITextMessageRole;
  name?: string;
}
interface AGUITextMessageContentEvent extends AGUIBaseEvent {
  type: "TEXT_MESSAGE_CONTENT";
  messageId: string;
  delta: string;
}
interface AGUITextMessageEndEvent extends AGUIBaseEvent {
  type: "TEXT_MESSAGE_END";
  messageId: string;
}
interface AGUITextMessageChunkEvent extends AGUIBaseEvent {
  type: "TEXT_MESSAGE_CHUNK";
  messageId?: string;
  role?: AGUITextMessageRole;
  delta?: string;
  name?: string;
}
interface AGUIToolCallStartEvent extends AGUIBaseEvent {
  type: "TOOL_CALL_START";
  toolCallId: string;
  toolCallName: string;
  parentMessageId?: string;
}
interface AGUIToolCallArgsEvent extends AGUIBaseEvent {
  type: "TOOL_CALL_ARGS";
  toolCallId: string;
  delta: string;
}
interface AGUIToolCallEndEvent extends AGUIBaseEvent {
  type: "TOOL_CALL_END";
  toolCallId: string;
}
interface AGUIToolCallChunkEvent extends AGUIBaseEvent {
  type: "TOOL_CALL_CHUNK";
  toolCallId?: string;
  toolCallName?: string;
  parentMessageId?: string;
  delta?: string;
}
interface AGUIToolCallResultEvent extends AGUIBaseEvent {
  type: "TOOL_CALL_RESULT";
  messageId: string;
  toolCallId: string;
  content: string;
  role?: "tool";
}
interface AGUIStateSnapshotEvent extends AGUIBaseEvent {
  type: "STATE_SNAPSHOT";
  snapshot: unknown;
}
interface AGUIStateDeltaEvent extends AGUIBaseEvent {
  type: "STATE_DELTA";
  delta: unknown[];
}
interface AGUIMessagesSnapshotEvent extends AGUIBaseEvent {
  type: "MESSAGES_SNAPSHOT";
  messages: AGUIMessage[];
}
interface AGUIActivitySnapshotEvent extends AGUIBaseEvent {
  type: "ACTIVITY_SNAPSHOT";
  messageId: string;
  activityType: string;
  content: Record<string, unknown>;
  replace?: boolean;
}
interface AGUIActivityDeltaEvent extends AGUIBaseEvent {
  type: "ACTIVITY_DELTA";
  messageId: string;
  activityType: string;
  patch: unknown[];
}
interface AGUIReasoningStartEvent extends AGUIBaseEvent {
  type: "REASONING_START";
  messageId: string;
}
interface AGUIReasoningMessageStartEvent extends AGUIBaseEvent {
  type: "REASONING_MESSAGE_START";
  messageId: string;
  role: "reasoning";
}
interface AGUIReasoningMessageContentEvent extends AGUIBaseEvent {
  type: "REASONING_MESSAGE_CONTENT";
  messageId: string;
  delta: string;
}
interface AGUIReasoningMessageEndEvent extends AGUIBaseEvent {
  type: "REASONING_MESSAGE_END";
  messageId: string;
}
interface AGUIReasoningMessageChunkEvent extends AGUIBaseEvent {
  type: "REASONING_MESSAGE_CHUNK";
  messageId?: string;
  delta?: string;
}
interface AGUIReasoningEndEvent extends AGUIBaseEvent {
  type: "REASONING_END";
  messageId: string;
}
type AGUIReasoningEncryptedValueSubtype = "tool-call" | "message";
interface AGUIReasoningEncryptedValueEvent extends AGUIBaseEvent {
  type: "REASONING_ENCRYPTED_VALUE";
  subtype: AGUIReasoningEncryptedValueSubtype;
  entityId: string;
  encryptedValue: string;
}
interface AGUIRawEvent extends AGUIBaseEvent {
  type: "RAW";
  event: unknown;
  source?: string;
}
interface AGUICustomEvent extends AGUIBaseEvent {
  type: "CUSTOM";
  name: string;
  value: unknown;
}
interface AGUIThinkingStartEvent extends AGUIBaseEvent {
  type: "THINKING_START";
  title?: string;
}
interface AGUIThinkingEndEvent extends AGUIBaseEvent {
  type: "THINKING_END";
}
interface AGUIThinkingTextMessageStartEvent extends AGUIBaseEvent {
  type: "THINKING_TEXT_MESSAGE_START";
}
interface AGUIThinkingTextMessageContentEvent extends AGUIBaseEvent {
  type: "THINKING_TEXT_MESSAGE_CONTENT";
  delta: string;
}
interface AGUIThinkingTextMessageEndEvent extends AGUIBaseEvent {
  type: "THINKING_TEXT_MESSAGE_END";
}
type AGUIEvent = AGUIRunStartedEvent | AGUIRunFinishedEvent | AGUIRunErrorEvent | AGUIStepStartedEvent | AGUIStepFinishedEvent | AGUITextMessageStartEvent | AGUITextMessageContentEvent | AGUITextMessageEndEvent | AGUITextMessageChunkEvent | AGUIToolCallStartEvent | AGUIToolCallArgsEvent | AGUIToolCallEndEvent | AGUIToolCallChunkEvent | AGUIToolCallResultEvent | AGUIStateSnapshotEvent | AGUIStateDeltaEvent | AGUIMessagesSnapshotEvent | AGUIActivitySnapshotEvent | AGUIActivityDeltaEvent | AGUIReasoningStartEvent | AGUIReasoningMessageStartEvent | AGUIReasoningMessageContentEvent | AGUIReasoningMessageEndEvent | AGUIReasoningMessageChunkEvent | AGUIReasoningEndEvent | AGUIReasoningEncryptedValueEvent | AGUIRawEvent | AGUICustomEvent | AGUIThinkingStartEvent | AGUIThinkingEndEvent | AGUIThinkingTextMessageStartEvent | AGUIThinkingTextMessageContentEvent | AGUIThinkingTextMessageEndEvent;
interface AGUIInterrupt {
  id: string;
  reason: string;
  message?: string;
  toolCallId?: string;
  responseSchema?: Record<string, unknown>;
  expiresAt?: string;
  metadata?: Record<string, unknown>;
}
interface AGUIResumeEntry {
  interruptId: string;
  status: "resolved" | "cancelled";
  payload?: unknown;
}
type AGUIRunFinishedOutcome = {
  type: "success";
} | {
  type: "interrupt";
  interrupts: AGUIInterrupt[];
};
interface AGUIRunAgentInput {
  threadId: string;
  runId: string;
  parentRunId?: string;
  state?: unknown;
  messages?: AGUIMessage[];
  tools?: AGUIToolDefinition[];
  context?: Array<{
    description: string;
    value: string;
  }>;
  forwardedProps?: unknown;
  resume?: AGUIResumeEntry[];
}
interface AGUIToolCall {
  id: string;
  type: "function";
  function: {
    name: string;
    arguments: string;
  };
  encryptedValue?: string;
}
interface AGUIMessage {
  id: string;
  role: AGUIMessageRole;
  content?: string;
  name?: string;
  encryptedValue?: string;
  error?: string;
  toolCallId?: string;
  toolCalls?: AGUIToolCall[];
}
interface AGUIToolDefinition {
  name: string;
  description: string;
  parameters?: unknown;
  metadata?: Record<string, unknown>;
}
interface AGUIFixtureMatch {
  message?: string | RegExp;
  toolName?: string;
  stateKey?: string;
  predicate?: (input: AGUIRunAgentInput) => boolean;
}
interface AGUIFixture {
  match: AGUIFixtureMatch;
  events: AGUIEvent[];
  delayMs?: number;
}
interface AGUIMockOptions {
  port?: number;
  host?: string;
  logLevel?: string;
}
interface AGUIRecordConfig {
  upstream: string;
  fixturePath?: string;
  proxyOnly?: boolean;
}
//# sourceMappingURL=agui-types.d.ts.map
//#endregion
export { AGUIActivityDeltaEvent, AGUIActivitySnapshotEvent, AGUIBaseEvent, AGUICustomEvent, AGUIEvent, AGUIEventType, AGUIFixture, AGUIFixtureMatch, AGUIInterrupt, AGUIMessage, AGUIMessageRole, AGUIMessagesSnapshotEvent, AGUIMockOptions, AGUIRawEvent, AGUIReasoningEncryptedValueEvent, AGUIReasoningEncryptedValueSubtype, AGUIReasoningEndEvent, AGUIReasoningMessageChunkEvent, AGUIReasoningMessageContentEvent, AGUIReasoningMessageEndEvent, AGUIReasoningMessageStartEvent, AGUIReasoningStartEvent, AGUIRecordConfig, AGUIResumeEntry, AGUIRunAgentInput, AGUIRunErrorEvent, AGUIRunFinishedEvent, AGUIRunFinishedOutcome, AGUIRunStartedEvent, AGUIStateDeltaEvent, AGUIStateSnapshotEvent, AGUIStepFinishedEvent, AGUIStepStartedEvent, AGUITextMessageChunkEvent, AGUITextMessageContentEvent, AGUITextMessageEndEvent, AGUITextMessageRole, AGUITextMessageStartEvent, AGUIThinkingEndEvent, AGUIThinkingStartEvent, AGUIThinkingTextMessageContentEvent, AGUIThinkingTextMessageEndEvent, AGUIThinkingTextMessageStartEvent, AGUIToolCall, AGUIToolCallArgsEvent, AGUIToolCallChunkEvent, AGUIToolCallEndEvent, AGUIToolCallResultEvent, AGUIToolCallStartEvent, AGUIToolDefinition };
//# sourceMappingURL=agui-types.d.ts.map