Skip to main content

Core Types

type ChatMode =
  | "auto" | "fast" | "think" | "image" | "video"
  | "code" | "research" | "roast" | "genui";

type PersonaInput = "theo" | "none" | { system_prompt: string };
Additional domain-specific modes are available for specialized use cases. Contact us or check the API for the full list.

Request/Response Types

TypeUsed ByDescription
CompletionRequesttheo.complete()Completion request body
CompletionResponsetheo.complete()Completion response
StreamEventtheo.stream()SSE event (meta, token, tool, done, error)
ImageRequesttheo.images()Image generation request
ImageResponsetheo.images()Image generation response
VideoRequesttheo.video()Video generation request
CodeRequesttheo.code()Code generation request
CodeResponsetheo.code()Code generation response
ResearchRequesttheo.research()Research request
DocumentRequesttheo.documents()Document generation request
DocumentResponsetheo.documents()Document generation response
TtsRequesttheo.tts()TTS request
SttResponsetheo.stt()STT response
AsyncJobResponsetheo.video(), theo.research()Async job creation response
JobStatustheo.job(), theo.waitForJob()Job polling response
HealthResponsetheo.health()System health response
ModelInfotheo.models()Model registry entry

Skill Types

TypeDescription
SkillManifestInputInput to defineSkill()
SkillManifestValidated output of defineSkill()
SkillCategory"productivity", "domain", "integration", "automation", "creative"
SkillPermission"read:conversations", "read:artifacts", "write:artifacts", etc.
SkillTriggerType"manual", "keyword", "event", "schedule"
SkillToolInputTool definition within a skill manifest
SkillTriggerInputTrigger configuration

E.V.I. Types

TypeDescription
EviConfigConfiguration for theo.evi()
TheoProjectConfigConfiguration for theo.config.ts
TheoConfigClient constructor options