//#region src/observability/base.d.ts
/**
 * Base event structure for all observability events
 */
type BaseEvent<
  T extends string,
  Payload extends Record<string, unknown> = {}
> = {
  type: T;
  /**
   * The unique identifier for the event
   */
  id: string;
  /**
   * The message to display in the logs for this event, should the implementation choose to display
   * a human-readable message.
   */
  displayMessage: string;
  /**
   * The payload of the event
   */
  payload: Payload & Record<string, unknown>;
  /**
   * The timestamp of the event in milliseconds since epoch
   */
  timestamp: number;
};
//#endregion
//#region src/observability/mcp.d.ts
/**
 * MCP-specific observability events
 * These track the lifecycle of MCP connections and operations
 */
type MCPObservabilityEvent =
  | BaseEvent<
      "mcp:client:preconnect",
      {
        serverId: string;
      }
    >
  | BaseEvent<
      "mcp:client:connect",
      {
        url: string;
        transport: string;
        state: string;
        error?: string;
      }
    >
  | BaseEvent<
      "mcp:client:authorize",
      {
        serverId: string;
        authUrl: string;
        clientId?: string;
      }
    >
  | BaseEvent<"mcp:client:discover", {}>;
//#endregion
export { BaseEvent as n, MCPObservabilityEvent as t };
//# sourceMappingURL=mcp-BwPscEiF.d.ts.map
