Skip to main content

SRE Components Reference

The Smyth Runtime Environment (SRE) provides over 40 production-ready components, building blocks you can combine to create robust AI agents.
Each component encapsulates a reusable function, like calling a language model, fetching web data, or filtering JSON.

How to use components

You can add and connect components visually in Studio or programmatically in the SDK Guide.
Most agents are built by wiring together multiple components in a workflow.

AI & LLM Components

Direct access to cutting-edge AI models and multimodal processing.

Component List:

  • GenAILLM — Unified LLM interface (OpenAI, Anthropic, Google, etc.)
  • VisionLLM — Image analysis and understanding
  • MultimodalLLM — Text, image, audio together
  • LLMAssistant — Multi-turn conversational assistant
  • HuggingFace — Hugging Face models
  • ImageGenerator — Text-to-image generation

Example:

const llm = SDK.GenAILLM({ model: 'gpt-4', prompt: 'Summarize this article' }, agent);
const vision = SDK.VisionLLM({ image: imageBuffer }, agent);

External Integrations

Connect your agents to live web data and APIs.

Component List:

  • APICall — HTTP(S) API requests, OAuth support
  • WebSearch — Live search via web engines
  • WebScrape — Website content extraction
  • ZapierAction — Zapier triggers/automations
  • MCPClient — Model Context Protocol client (advanced integration)

Example:

const search = SDK.WebSearch({ query: 'SmythOS news', maxResults: 5 }, agent);
const api = SDK.APICall({
url: 'https://api.example.com/data',
method: 'GET'
}, agent);

Data Processing Components

Clean, index, filter, and classify your data before using it in workflows.

Component List:

  • DataSourceIndexer — Index a batch of documents
  • DataSourceLookup — Fast search/lookup from index
  • DataSourceCleaner — Data normalization/cleaning
  • JSONFilter — Extract/filter from JSON structures
  • Classifier — Classify data by custom rules or AI

Example:

const indexer = SDK.DataSourceIndexer({ documents: myDocs }, agent);
const classifier = SDK.Classifier({ classes: ['finance', 'tech', 'health'] }, agent);
classifier.in({ Input: llm.out.Reply });

Logic & Control Flow

Control agent workflow logic: branching, iteration, asynchronicity.

Component List:

  • LogicAND, LogicOR, LogicXOR — Boolean logic
  • LogicAtLeast, LogicAtMost — Threshold-based logic
  • ForEach — Iterate over a list or array
  • Async, Await — Asynchronous workflow handling

Example:

const forEach = SDK.ForEach({ items: [1,2,3] }, agent);
// Process each item in the array through a step in your workflow

Storage & File Operations

Store, retrieve, and execute code or files inside your agent’s environment.

Component List:

  • FileStore — Read/write files (local/S3)
  • Code — Execute code snippets dynamically
  • ServerlessCode — Serverless compute (cloud function-style)

Example:

const fileStore = SDK.FileStore({ filename: 'output.txt', content: 'Hello world' }, agent);
const code = SDK.Code({ language: 'python', source: 'print("Hi")' }, agent);

System Integration

Integrate agents with system or plugin-level functionality.

Component List:

  • ComputerUse — Automate computer/system tasks
  • GPTPlugin — Use OpenAI-compatible plugins
  • APIEndpoint — Create custom HTTP endpoints in the agent

Example:

const endpoint = SDK.APIEndpoint({ path: '/report', handler: async (req) => ({ ok: true }) }, agent);

nt Summary Table

A complete overview of all available components, organized by category.

CategoryComponent NameDescription
AI & LLMGenAILLMUnified interface for multiple LLMs
VisionLLMAnalyze and understand images
MultimodalLLMProcess text, image, and audio
LLMAssistantConversational AI assistant
HuggingFaceHugging Face model APIs
ImageGeneratorGenerate images from text
External IntegrationAPICallHTTP requests (OAuth support)
WebSearchReal-time web search
WebScrapeExtract website content
ZapierActionZapier automations
MCPClientModel Context Protocol client
Data ProcessingDataSourceIndexerIndex documents for lookup
DataSourceLookupRetrieve from indexed sources
DataSourceCleanerClean and normalize input
JSONFilterManipulate JSON data
ClassifierCategorize content into classes
Logic & Control FlowLogicAND, LogicOR, LogicXORBoolean operations
LogicAtLeast, LogicAtMostConditional logic by threshold
ForEachIterate over lists
Async, AwaitManage async steps
Storage & FilesFileStoreFile operations (read, write)
CodeExecute custom code
ServerlessCodeRun serverless functions
System IntegrationComputerUseAutomate system-level tasks
GPTPluginOpenAI plugin integration
APIEndpointCustom API endpoints

How to Add and Use Components

You can add components to your agent either:

  import { SDK } from 'smyth-runtime';
const agent = new SDK.Agent({ name: 'FileBot', model: 'gpt-4' });
const fileStore = SDK.FileStore({ filename: 'log.txt', content: 'Test' }, agent);

See the Building Agents guide for more advanced patterns.

What's Next?

  • Building Agents: Combine these components into agent workflows.
  • SDK Guide: Programmatically add and configure components.
  • Architecture: See how these components fit into the overall SRE system.