Tulip Logo IconTulip
Reference

Types

Important public types for agents, tools, chat parts, MCP content, and client renderers.

Agent types

Important types are exported from @tulip-systems/ai/agents/server:

  • AgentSettings
  • CreatedAgent

Most apps do not need to name these directly unless they are creating wrappers around agent setup.

Tool types

Important server-side tool types:

  • TulipToolDefinition
  • TulipToolSet
  • ToolContext
  • ToolConfirmation
  • ToolAudit
  • ToolDisplay

Important client-side tool types:

  • ToolClientDefinition
  • ToolClientSource

Chat types

Chat types include:

  • ChatPart
  • ToolChatPart
  • streaming-related types from chat/server

These are useful when custom-rendering message parts or building higher-level chat components.

MCP types

MCP types describe content blocks returned by helpers such as text(), json(), resource(), and table().

Guidance

  • Prefer exported package types over internal source paths.
  • Use import type in client tool renderers when referencing server tools.
  • Let defineToolClient<typeof serverTool>() infer tool names where possible.
  • Keep app-specific schemas in the app; only generic AI abstractions belong in the package.

On this page