diff --git a/docs/app/docs/[[...slug]]/page.tsx b/docs/app/docs/[[...slug]]/page.tsx index 99818c0e3e..31eb27a4aa 100644 --- a/docs/app/docs/[[...slug]]/page.tsx +++ b/docs/app/docs/[[...slug]]/page.tsx @@ -1,7 +1,7 @@ import { notFound } from 'next/navigation' -import defaultMdxComponents from 'fumadocs-ui/mdx' import { DocsBody, DocsDescription, DocsPage, DocsTitle } from 'fumadocs-ui/page' import { source } from '@/lib/source' +import mdxComponents from '@/components/mdx-components' export const dynamic = 'force-static' @@ -33,7 +33,7 @@ export default async function Page(props: { params: Promise<{ slug?: string[] }> {page.data.title} {page.data.description} - + ) diff --git a/docs/app/layout.tsx b/docs/app/layout.tsx index eee6ea8c18..7ce4918919 100644 --- a/docs/app/layout.tsx +++ b/docs/app/layout.tsx @@ -16,3 +16,22 @@ export default function Layout({ children }: { children: ReactNode }) { ) } + +export const metadata = { + title: 'Sim Studio', + description: 'Drag and drop agents to create workflows. Powered by Simplicity', + manifest: '/favicon/site.webmanifest', + icons: { + icon: [ + { url: '/favicon/favicon-16x16.png', sizes: '16x16', type: 'image/png' }, + { url: '/favicon/favicon-32x32.png', sizes: '32x32', type: 'image/png' }, + ], + apple: '/favicon/apple-touch-icon.png', + shortcut: '/favicon/favicon.ico', + }, + appleWebApp: { + capable: true, + statusBarStyle: 'default', + title: 'Sim Studio Docs', + }, +} diff --git a/docs/components/mdx-components.tsx b/docs/components/mdx-components.tsx new file mode 100644 index 0000000000..a19f5c268f --- /dev/null +++ b/docs/components/mdx-components.tsx @@ -0,0 +1,10 @@ +import defaultMdxComponents from 'fumadocs-ui/mdx' +import { ThemeImage } from './ui/theme-image' + +// Extend the default MDX components with our custom components +const mdxComponents = { + ...defaultMdxComponents, + ThemeImage +} + +export default mdxComponents \ No newline at end of file diff --git a/docs/components/ui/theme-image.tsx b/docs/components/ui/theme-image.tsx new file mode 100644 index 0000000000..27d4fbcc45 --- /dev/null +++ b/docs/components/ui/theme-image.tsx @@ -0,0 +1,54 @@ +'use client' + +import { useTheme } from 'next-themes' +import Image from 'next/image' +import { useEffect, useState } from 'react' + +interface ThemeImageProps { + lightSrc: string + darkSrc: string + alt: string + width?: number + height?: number + className?: string +} + +export function ThemeImage({ + lightSrc, + darkSrc, + alt, + width = 600, + height = 400, + className = 'rounded-lg border border-border my-6' +}: ThemeImageProps) { + const { resolvedTheme } = useTheme() + const [imageSrc, setImageSrc] = useState(lightSrc) + const [mounted, setMounted] = useState(false) + + // Wait until component is mounted to avoid hydration mismatch + useEffect(() => { + setMounted(true) + }, []) + + useEffect(() => { + if (mounted) { + setImageSrc(resolvedTheme === 'dark' ? darkSrc : lightSrc) + } + }, [resolvedTheme, lightSrc, darkSrc, mounted]) + + if (!mounted) { + return null + } + + return ( +
+ {alt} +
+ ) +} \ No newline at end of file diff --git a/docs/content/docs/blocks/agent.mdx b/docs/content/docs/blocks/agent.mdx index b47fbc6e58..cb2a11670b 100644 --- a/docs/content/docs/blocks/agent.mdx +++ b/docs/content/docs/blocks/agent.mdx @@ -6,9 +6,18 @@ description: Create powerful AI agents using any LLM provider import { Callout } from 'fumadocs-ui/components/callout' import { Tabs, Tab } from 'fumadocs-ui/components/tabs' import { Steps, Step } from 'fumadocs-ui/components/steps' +import { ThemeImage } from '@/components/ui/theme-image' The Agent block is a fundamental component in Sim Studio that allows you to create powerful AI agents using various LLM providers. These agents can process inputs based on customizable system prompts and utilize integrated tools to enhance their capabilities. + + Agent blocks serve as interfaces to Large Language Models, enabling your workflow to leverage state-of-the-art AI capabilities. @@ -56,10 +65,11 @@ The user prompt or context is the specific input or question that the agent shou Choose from a variety of LLM providers: -- OpenAI (GPT-3.5, GPT-4) -- Anthropic (Claude) -- Google (Gemini) -- Mistral AI +- OpenAI (GPT-4o, o1, o3-mini) +- Anthropic (Claude 3.7 Sonnet) +- Google (Gemini 2.5 Pro, Gemini 2.0 Flash) +- Groq, Cerebras +- Ollama Local Models - And more ### Temperature @@ -86,13 +96,34 @@ Your API key for the selected LLM provider. This is securely stored and used for ### Tools -Integrate specialized tools to enhance the agent's capabilities. Tools can be: +Integrate specialized tools to enhance the agent's capabilities. You can add tools to your agent by: -- Search engines for retrieving information -- Document processors for working with files -- Database connectors for data retrieval -- API clients for external service integration -- And many more +1. Clicking the Tools section in the Agent configuration +2. Selecting from the tools dropdown menu +3. Choosing an existing tool or creating a new one + + + +Available tools include: + +- **Confluence**: Access and query Confluence knowledge bases +- **Evaluator**: Use evaluation metrics to assess content +- **GitHub**: Interact with GitHub repositories and issues +- **Gmail**: Process and respond to emails +- **Firecrawl**: Web search and content retrieval +- And many, many more pre-built integrations + +You can also create custom tools to meet specific requirements for your agent's capabilities. + + + Tools significantly expand what your agent can do, allowing it to access external systems, retrieve information, and take actions beyond simple text generation. + ### Response Format @@ -114,6 +145,8 @@ Define a structured format for the agent's response when needed, using JSON or o
  • Model: The model used for generation
  • Tokens: Usage statistics (prompt, completion, total)
  • Tool Calls: Details of any tools used during processing
  • +
  • Cost: Cost of the response
  • +
  • Usage: Usage statistics (prompt, completion, total)
  • @@ -140,19 +173,7 @@ tools: ## Best Practices -### Be specific in system prompts - -Clearly define the agent's role, tone, and limitations. The more specific your instructions are, the better the agent will be able to fulfill its intended purpose. - -### Choose the right temperature setting - -- Use lower temperature settings (0-0.3) when accuracy is important -- Increase temperature (0.7-2.0) for more creative or varied responses - -### Combine with Evaluator blocks - -Use Evaluator blocks to assess agent responses and ensure quality. This allows you to create feedback loops and implement quality control measures. - -### Leverage tools effectively - -Integrate tools that complement the agent's purpose and enhance its capabilities. Be selective about which tools you provide to avoid overwhelming the agent. \ No newline at end of file +- **Be specific in system prompts**: Clearly define the agent's role, tone, and limitations. The more specific your instructions are, the better the agent will be able to fulfill its intended purpose. +- **Choose the right temperature setting**: Use lower temperature settings (0-0.3) when accuracy is important, or increase temperature (0.7-2.0) for more creative or varied responses +- **Combine with Evaluator blocks**: Use Evaluator blocks to assess agent responses and ensure quality. This allows you to create feedback loops and implement quality control measures. +- **Leverage tools effectively**: Integrate tools that complement the agent's purpose and enhance its capabilities. Be selective about which tools you provide to avoid overwhelming the agent. \ No newline at end of file diff --git a/docs/content/docs/blocks/api.mdx b/docs/content/docs/blocks/api.mdx index 41ea0feb20..d7b780ee0c 100644 --- a/docs/content/docs/blocks/api.mdx +++ b/docs/content/docs/blocks/api.mdx @@ -1,9 +1,22 @@ --- title: API -description: Connect to external services through HTTP requests +description: Connect to external services through API endpoints --- -The API block allows you to connect to any external API or web service through HTTP requests. It supports all standard HTTP methods and provides full customization of request parameters, making it a versatile tool for integrating external services into your workflows. +import { Callout } from 'fumadocs-ui/components/callout' +import { Tabs, Tab } from 'fumadocs-ui/components/tabs' +import { Steps, Step } from 'fumadocs-ui/components/steps' +import { ThemeImage } from '@/components/ui/theme-image' + +The API block enables you to connect your workflow to external services through HTTP requests. It supports various methods like GET, POST, PUT, DELETE, and PATCH, allowing you to interact with virtually any API endpoint. + + ## Overview diff --git a/docs/content/docs/blocks/condition.mdx b/docs/content/docs/blocks/condition.mdx index 247ccf50a9..9e4cdeefbb 100644 --- a/docs/content/docs/blocks/condition.mdx +++ b/docs/content/docs/blocks/condition.mdx @@ -1,15 +1,24 @@ --- title: Condition -description: Branch workflow execution based on boolean expressions +description: Create conditional logic and branching in your workflows --- import { Callout } from 'fumadocs-ui/components/callout' import { Tabs, Tab } from 'fumadocs-ui/components/tabs' import { Steps, Step } from 'fumadocs-ui/components/steps' import { Files, Folder, File } from 'fumadocs-ui/components/files' +import { ThemeImage } from '@/components/ui/theme-image' The Condition block allows you to branch your workflow execution path based on boolean expressions. It evaluates conditions and routes the workflow accordingly, enabling you to create dynamic, responsive workflows with different execution paths. + + Condition blocks enable deterministic decision-making without requiring an LLM, making them ideal for straightforward branching logic. @@ -146,16 +155,6 @@ conditions: path: "improvement_feedback_block" ``` -## Key Points from the Documentation - -According to the [Fumadocs Files component documentation](https://fumadocs.vercel.app/docs/ui/components/files): - -1. The `File` component requires a `name` prop (string) -2. The `File` component can optionally have an `icon` prop (ReactNode) -3. The components must be used in the correct hierarchy: `` wrapping `` and/or `` components - -Make sure you're following this structure in your MDX files to avoid errors with the Files component. - ## Best Practices ### Order conditions correctly diff --git a/docs/content/docs/blocks/evaluator.mdx b/docs/content/docs/blocks/evaluator.mdx index 7c54894939..9454c404f0 100644 --- a/docs/content/docs/blocks/evaluator.mdx +++ b/docs/content/docs/blocks/evaluator.mdx @@ -3,7 +3,16 @@ title: Evaluator description: Assess content quality using customizable evaluation metrics --- -The Evaluator block allows you to assess content quality using customizable evaluation metrics and scoring criteria. It enables you to create objective evaluation frameworks with numeric scoring to measure performance across multiple dimensions. +import { Callout } from 'fumadocs-ui/components/callout' +import { Tabs, Tab } from 'fumadocs-ui/components/tabs' +import { Steps, Step } from 'fumadocs-ui/components/steps' +import { ThemeImage } from '@/components/ui/theme-image' + +The Evaluator block allows you to assess the quality of content using customizable evaluation metrics. This is particularly useful for evaluating AI-generated text, ensuring outputs meet specific criteria, and building quality-control mechanisms into your workflows. + + + The Evaluator block images will be added soon. Currently, the block uses standard evaluation metrics to assess content quality. + ## Overview @@ -44,10 +53,11 @@ The content to be evaluated. This can be: Choose an LLM provider to perform the evaluation: -- OpenAI (GPT-3.5, GPT-4) -- Anthropic (Claude) -- Google (Gemini) -- Mistral AI +- OpenAI (GPT-4o, o1, o3-mini) +- Anthropic (Claude 3.7 Sonnet) +- Google (Gemini 2.5 Pro, Gemini 2.0 Flash) +- Groq, Cerebras +- Ollama Local Models - And more The chosen model should have strong reasoning capabilities to provide accurate evaluations. diff --git a/docs/content/docs/blocks/function.mdx b/docs/content/docs/blocks/function.mdx index 0ba01a946a..9340f9cdeb 100644 --- a/docs/content/docs/blocks/function.mdx +++ b/docs/content/docs/blocks/function.mdx @@ -1,9 +1,22 @@ --- title: Function -description: Execute custom JavaScript or TypeScript code within your workflow +description: Execute custom JavaScript or TypeScript code in your workflows --- -The Function block allows you to execute custom JavaScript or TypeScript code within your workflow. This enables you to implement complex logic, transform data, or create custom functionality that extends beyond the capabilities of other blocks. +import { Callout } from 'fumadocs-ui/components/callout' +import { Tabs, Tab } from 'fumadocs-ui/components/tabs' +import { Steps, Step } from 'fumadocs-ui/components/steps' +import { ThemeImage } from '@/components/ui/theme-image' + +The Function block allows you to write and execute custom JavaScript or TypeScript code directly within your workflow. This powerful feature enables you to implement complex logic, data transformations, and integration with external libraries. + + ## Overview diff --git a/docs/content/docs/blocks/router.mdx b/docs/content/docs/blocks/router.mdx index 8a4377efd4..249f8a4695 100644 --- a/docs/content/docs/blocks/router.mdx +++ b/docs/content/docs/blocks/router.mdx @@ -1,12 +1,24 @@ --- -title: Router Block +title: Router description: Route workflow execution based on specific conditions or logic --- -# Router Block +import { Callout } from 'fumadocs-ui/components/callout' +import { Tabs, Tab } from 'fumadocs-ui/components/tabs' +import { Steps, Step } from 'fumadocs-ui/components/steps' +import { ThemeImage } from '@/components/ui/theme-image' The Router block is a powerful component in Sim Studio that intelligently routes workflow execution based on content analysis, user input, or predefined conditions. It acts as a decision-making junction in your workflow, directing the flow to different paths based on various criteria. + + + ## Overview The Router block uses LLMs to analyze input content and determine the most appropriate next step in your workflow. This allows for: @@ -47,10 +59,11 @@ The possible destination blocks that the Router can select from. The Router will Choose an LLM provider to power the routing decision: -- OpenAI (GPT-3.5, GPT-4) -- Anthropic (Claude) -- Google (Gemini) -- Mistral AI +- OpenAI (GPT-4o, o1, o3-mini) +- Anthropic (Claude 3.7 Sonnet) +- Google (Gemini 2.5 Pro, Gemini 2.0 Flash) +- Groq, Cerebras +- Ollama Local Models - And more Select a model with strong reasoning capabilities for more accurate routing decisions. diff --git a/docs/content/docs/connections/accessing-data.mdx b/docs/content/docs/connections/accessing-data.mdx index 16c7cb6a5e..fda7fec93c 100644 --- a/docs/content/docs/connections/accessing-data.mdx +++ b/docs/content/docs/connections/accessing-data.mdx @@ -6,8 +6,6 @@ description: Techniques for accessing and manipulating data from connected block import { Callout } from 'fumadocs-ui/components/callout' import { Files, Folder, File } from 'fumadocs-ui/components/files' -## Accessing Connected Data - Once blocks are connected, you can access data from source blocks in destination blocks using connection tags and various data access techniques. ## Basic Data Access diff --git a/docs/content/docs/connections/best-practices.mdx b/docs/content/docs/connections/best-practices.mdx index c3caec1a12..9d77cdd651 100644 --- a/docs/content/docs/connections/best-practices.mdx +++ b/docs/content/docs/connections/best-practices.mdx @@ -6,10 +6,6 @@ description: Recommended patterns for effective connection management import { Callout } from 'fumadocs-ui/components/callout' import { Steps, Step } from 'fumadocs-ui/components/steps' -## Connection Best Practices - -Following these best practices will help you create more maintainable, efficient, and reliable workflows with connections. - ## Workflow Organization ### Organize Your Connections diff --git a/docs/content/docs/connections/data-structure.mdx b/docs/content/docs/connections/data-structure.mdx index b409ce9dd7..ac0658fda6 100644 --- a/docs/content/docs/connections/data-structure.mdx +++ b/docs/content/docs/connections/data-structure.mdx @@ -6,8 +6,6 @@ description: Understanding the data structure of different block outputs import { Tabs, Tab } from 'fumadocs-ui/components/tabs' import { Callout } from 'fumadocs-ui/components/callout' -## Connection Data Structure - When you connect blocks, the output data structure from the source block determines what values are available in the destination block. Each block type produces a specific output structure that you can reference in downstream blocks. @@ -29,7 +27,9 @@ Different block types produce different output structures. Here's what you can e "completion": 85, "total": 205 }, - "toolCalls": [...] + "toolCalls": [...], + "cost": [...], + "usage": [...] } ``` @@ -42,6 +42,8 @@ Different block types produce different output structures. Here's what you can e - **completion**: Number of tokens in the completion - **total**: Total tokens used - **toolCalls**: Array of tool calls made by the agent (if any) + - **cost**: Array of cost objects for each tool call (if any) + - **usage**: Token usage statistics for the entire response ```json diff --git a/docs/content/docs/connections/tags.mdx b/docs/content/docs/connections/tags.mdx index 2ab7daf095..e53b7aa7c5 100644 --- a/docs/content/docs/connections/tags.mdx +++ b/docs/content/docs/connections/tags.mdx @@ -5,8 +5,6 @@ description: Using connection tags to reference data between blocks import { Callout } from 'fumadocs-ui/components/callout' -## Connection Tags - Connection tags are visual representations of the data available from connected blocks. They provide an easy way to reference outputs from previous blocks in your workflow.
    diff --git a/docs/content/docs/execution/advanced.mdx b/docs/content/docs/execution/advanced.mdx index 4095124d83..15f21bc4ee 100644 --- a/docs/content/docs/execution/advanced.mdx +++ b/docs/content/docs/execution/advanced.mdx @@ -7,8 +7,6 @@ import { Callout } from 'fumadocs-ui/components/callout' import { Tabs, Tab } from 'fumadocs-ui/components/tabs' import { Accordion, Accordions } from 'fumadocs-ui/components/accordion' -# Advanced Execution Features - Sim Studio provides several advanced features that give you more control over workflow execution, error handling, and performance optimization. ## Error Handling diff --git a/docs/content/docs/execution/basics.mdx b/docs/content/docs/execution/basics.mdx index edc8e17eb6..3a6a3f3b35 100644 --- a/docs/content/docs/execution/basics.mdx +++ b/docs/content/docs/execution/basics.mdx @@ -9,8 +9,6 @@ import { Files, Folder, File } from 'fumadocs-ui/components/files' import { Callout } from 'fumadocs-ui/components/callout' import { AgentIcon, ApiIcon, ConditionalIcon, CodeIcon, ChartBarIcon, ConnectIcon } from '@/components/icons' -# Execution Basics - When you run a workflow in Sim Studio, the execution engine follows a systematic process to ensure blocks are executed in the correct order and data flows properly between them. ## Execution Flow diff --git a/docs/content/docs/execution/index.mdx b/docs/content/docs/execution/index.mdx index 8b37005061..67bf561df7 100644 --- a/docs/content/docs/execution/index.mdx +++ b/docs/content/docs/execution/index.mdx @@ -11,8 +11,6 @@ import { Tab, Tabs } from 'fumadocs-ui/components/tabs' import { AgentIcon, ApiIcon, ConditionalIcon, CodeIcon, ChartBarIcon, ConnectIcon, GmailIcon, PerplexityIcon, NotionIcon, ExaAIIcon, FirecrawlIcon, SlackIcon } from '@/components/icons' import { Callout } from 'fumadocs-ui/components/callout' -# Workflow Execution - Sim Studio provides a powerful execution engine that brings your workflows to life. Understanding how execution works will help you design more effective workflows and troubleshoot any issues that arise.
    diff --git a/docs/content/docs/execution/loops.mdx b/docs/content/docs/execution/loops.mdx index 638dfc332e..cd895aea74 100644 --- a/docs/content/docs/execution/loops.mdx +++ b/docs/content/docs/execution/loops.mdx @@ -7,8 +7,6 @@ import { Callout } from 'fumadocs-ui/components/callout' import { Steps, Step } from 'fumadocs-ui/components/steps' import { Tabs, Tab } from 'fumadocs-ui/components/tabs' -# Loops - Loops are a powerful feature in Sim Studio that allow you to create iterative processes, implement feedback mechanisms, and build more sophisticated workflows.
    diff --git a/docs/content/docs/meta.json b/docs/content/docs/meta.json index ee4331486c..1f7aa64efd 100644 --- a/docs/content/docs/meta.json +++ b/docs/content/docs/meta.json @@ -1,4 +1,4 @@ { "title": "Sim Studio Documentation", - "pages": ["introduction", "getting-started", "blocks", "tools", "connections", "execution"] + "pages": ["introduction", "getting-started", "blocks", "variables", "tools", "connections", "execution"] } diff --git a/docs/content/docs/variables/index.mdx b/docs/content/docs/variables/index.mdx new file mode 100644 index 0000000000..d2f55ff1f2 --- /dev/null +++ b/docs/content/docs/variables/index.mdx @@ -0,0 +1,137 @@ +--- +title: Variables +description: Store and share data across your workflow with global variables +--- + +import { Callout } from 'fumadocs-ui/components/callout' +import { Tabs, Tab } from 'fumadocs-ui/components/tabs' +import { Steps, Step } from 'fumadocs-ui/components/steps' +import { ThemeImage } from '@/components/ui/theme-image' + +Variables in Sim Studio act as a global store for data that can be accessed and modified by any block in your workflow. They provide a powerful way to share information between different parts of your workflow, maintain state, and create more dynamic applications. + + + + + Variables allow you to store and share data across your entire workflow, making it easy to maintain state and create complex, interconnected systems. + + +## Overview + +The Variables feature serves as a central data store for your workflow, enabling you to: + + + + Store global data: Create variables that persist throughout workflow execution + + + Share information between blocks: Access the same data from any block in your workflow + + + Maintain workflow state: Keep track of important values as your workflow runs + + + Create dynamic workflows: Build more flexible systems that can adapt based on stored values + + + +## Creating Variables + +You can create and manage variables from the Variables panel in the sidebar. Each variable has: + +- **Name**: A unique identifier used to reference the variable +- **Value**: The data stored in the variable (supports various data types) +- **Description** (optional): A note explaining the variable's purpose + +## Accessing Variables + +Variables can be accessed from any block in your workflow using the variable dropdown. Simply: + +1. Type `<` in any text field within a block +2. Browse the dropdown menu to select from available variables +3. Select the variable you want to use + + + + + You can also drag the connection tag into a field to open the variable dropdown and access available variables. + + +## Variable Types + +Variables in Sim Studio can store various types of data: + + + + ``` + "Hello, World!" + ``` +

    Text variables store strings of characters. They're useful for storing messages, names, and other text data.

    +
    + + ``` + 42 + ``` +

    Number variables store numeric values that can be used in calculations or comparisons.

    +
    + + ``` + true + ``` +

    Boolean variables store true/false values, perfect for flags and condition checks.

    +
    + + ```json + { + "name": "John", + "age": 30, + "city": "New York" + } + ``` +

    Object variables store structured data with properties and values.

    +
    + + ```json + [1, 2, 3, "four", "five"] + ``` +

    Array variables store ordered collections of items.

    +
    +
    + +## Using Variables in Blocks + +When you access a variable from a block, you can: + +- **Read its value**: Use the variable's current value in your block's logic +- **Modify it**: Update the variable's value based on your block's processing +- **Use it in expressions**: Include variables in expressions and calculations + +## Variable Scope + +Variables in Sim Studio have global scope, meaning: + +- They are accessible from any block in your workflow +- Any block can modify them +- Changes to variables persist throughout workflow execution +- Variables maintain their values between runs, unless explicitly reset + +## Best Practices + +- **Use Descriptive Names**: Choose variable names that clearly indicate what the variable represents. For example, use `userPreferences` instead of `up`. +- **Document Your Variables**: Add descriptions to your variables to help other team members understand their purpose and usage. +- **Consider Variable Scope**: Remember that variables are global and can be modified by any block. Design your workflow with this in mind to prevent unexpected behavior. +- **Initialize Variables Early**: Set up and initialize your variables at the beginning of your workflow to ensure they're available when needed. +- **Handle Missing Variables**: Always consider the case where a variable might not yet exist or might have an unexpected value. Add appropriate validation in your blocks. +- **Limit Variable Count**: Keep the number of variables manageable. Too many variables can make your workflow difficult to understand and maintain. \ No newline at end of file diff --git a/docs/content/docs/variables/meta.json b/docs/content/docs/variables/meta.json new file mode 100644 index 0000000000..50a6a53f97 --- /dev/null +++ b/docs/content/docs/variables/meta.json @@ -0,0 +1,4 @@ +{ + "title": "Variables", + "pages": ["index"] +} \ No newline at end of file diff --git a/docs/public/favicon/android-chrome-192x192.png b/docs/public/favicon/android-chrome-192x192.png new file mode 100644 index 0000000000..fb64742df3 Binary files /dev/null and b/docs/public/favicon/android-chrome-192x192.png differ diff --git a/docs/public/favicon/android-chrome-512x512.png b/docs/public/favicon/android-chrome-512x512.png new file mode 100644 index 0000000000..74138d0430 Binary files /dev/null and b/docs/public/favicon/android-chrome-512x512.png differ diff --git a/docs/public/favicon/apple-touch-icon.png b/docs/public/favicon/apple-touch-icon.png new file mode 100644 index 0000000000..df95b36c70 Binary files /dev/null and b/docs/public/favicon/apple-touch-icon.png differ diff --git a/docs/public/favicon/favicon-16x16.png b/docs/public/favicon/favicon-16x16.png new file mode 100644 index 0000000000..c6351b1881 Binary files /dev/null and b/docs/public/favicon/favicon-16x16.png differ diff --git a/docs/public/favicon/favicon-32x32.png b/docs/public/favicon/favicon-32x32.png new file mode 100644 index 0000000000..7b280256d0 Binary files /dev/null and b/docs/public/favicon/favicon-32x32.png differ diff --git a/docs/public/favicon/favicon.ico b/docs/public/favicon/favicon.ico new file mode 100644 index 0000000000..9768444154 Binary files /dev/null and b/docs/public/favicon/favicon.ico differ diff --git a/docs/public/favicon/site.webmanifest b/docs/public/favicon/site.webmanifest new file mode 100644 index 0000000000..23d3b7fd49 --- /dev/null +++ b/docs/public/favicon/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "Sim Studio", + "short_name": "Sim Studio", + "icons": [ + { + "src": "/favicon/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/favicon/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/docs/public/static/dark/agent-dark.png b/docs/public/static/dark/agent-dark.png new file mode 100644 index 0000000000..8b610d99e7 Binary files /dev/null and b/docs/public/static/dark/agent-dark.png differ diff --git a/docs/public/static/dark/api-dark.png b/docs/public/static/dark/api-dark.png new file mode 100644 index 0000000000..83c45bc3aa Binary files /dev/null and b/docs/public/static/dark/api-dark.png differ diff --git a/docs/public/static/dark/condition-dark.png b/docs/public/static/dark/condition-dark.png new file mode 100644 index 0000000000..ce2f40291f Binary files /dev/null and b/docs/public/static/dark/condition-dark.png differ diff --git a/docs/public/static/dark/function-dark.png b/docs/public/static/dark/function-dark.png new file mode 100644 index 0000000000..b694d25f15 Binary files /dev/null and b/docs/public/static/dark/function-dark.png differ diff --git a/docs/public/static/dark/router-dark.png b/docs/public/static/dark/router-dark.png new file mode 100644 index 0000000000..455b34dd2d Binary files /dev/null and b/docs/public/static/dark/router-dark.png differ diff --git a/docs/public/static/dark/tooldropdown-dark.png b/docs/public/static/dark/tooldropdown-dark.png new file mode 100644 index 0000000000..d2627306a1 Binary files /dev/null and b/docs/public/static/dark/tooldropdown-dark.png differ diff --git a/docs/public/static/dark/variabledropdown-dark.png b/docs/public/static/dark/variabledropdown-dark.png new file mode 100644 index 0000000000..7ec3f9cbd0 Binary files /dev/null and b/docs/public/static/dark/variabledropdown-dark.png differ diff --git a/docs/public/static/dark/variables-dark.png b/docs/public/static/dark/variables-dark.png new file mode 100644 index 0000000000..fc0f5a6865 Binary files /dev/null and b/docs/public/static/dark/variables-dark.png differ diff --git a/docs/public/static/light/agent-light.png b/docs/public/static/light/agent-light.png new file mode 100644 index 0000000000..9c26c14548 Binary files /dev/null and b/docs/public/static/light/agent-light.png differ diff --git a/docs/public/static/light/api-light.png b/docs/public/static/light/api-light.png new file mode 100644 index 0000000000..ac87a4fa02 Binary files /dev/null and b/docs/public/static/light/api-light.png differ diff --git a/docs/public/static/light/condition-light.png b/docs/public/static/light/condition-light.png new file mode 100644 index 0000000000..78e625c8a7 Binary files /dev/null and b/docs/public/static/light/condition-light.png differ diff --git a/docs/public/static/light/function-light.png b/docs/public/static/light/function-light.png new file mode 100644 index 0000000000..691882e1c0 Binary files /dev/null and b/docs/public/static/light/function-light.png differ diff --git a/docs/public/static/light/router-light.png b/docs/public/static/light/router-light.png new file mode 100644 index 0000000000..98ed6d0911 Binary files /dev/null and b/docs/public/static/light/router-light.png differ diff --git a/docs/public/static/light/tooldropdown-light.png b/docs/public/static/light/tooldropdown-light.png new file mode 100644 index 0000000000..b55a1ba50c Binary files /dev/null and b/docs/public/static/light/tooldropdown-light.png differ diff --git a/docs/public/static/light/variabledropdown-light.png b/docs/public/static/light/variabledropdown-light.png new file mode 100644 index 0000000000..e13229a85d Binary files /dev/null and b/docs/public/static/light/variabledropdown-light.png differ diff --git a/docs/public/static/light/variables-light.png b/docs/public/static/light/variables-light.png new file mode 100644 index 0000000000..a61182c704 Binary files /dev/null and b/docs/public/static/light/variables-light.png differ