mirror of
https://github.com/simstudioai/sim.git
synced 2026-01-09 15:07:55 -05:00
chore(biome): removed prettier, added biome (#407)
* chore: replace prettier with biome and add linting * chore: update devcontainer settings to use biome for linting and remove eslint, prettier * chore: update docker-compose to use Postgres 17-alpine and standardize quotes * chore: fixed more BUT disabled most rules due to limit * added additional rules, fixed linting & ts errors * added additional rules * rebased & linted * fixed oauth * updated biome & minor modifications --------- Co-authored-by: Aditya Tripathi <aditya@climactic.co>
This commit is contained in:
@@ -10,14 +10,8 @@
|
||||
"settings": {
|
||||
"editor.formatOnSave": true,
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": true
|
||||
},
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"[typescript]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
},
|
||||
"[typescriptreact]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
"source.fixAll.biome": "explicit",
|
||||
"source.organizeImports.biome": "explicit"
|
||||
},
|
||||
"terminal.integrated.defaultProfile.linux": "bash",
|
||||
"terminal.integrated.profiles.linux": {
|
||||
@@ -29,13 +23,11 @@
|
||||
"terminal.integrated.shellIntegration.enabled": true
|
||||
},
|
||||
"extensions": [
|
||||
"dbaeumer.vscode-eslint",
|
||||
"esbenp.prettier-vscode",
|
||||
"biomejs.biome",
|
||||
"bradlc.vscode-tailwindcss",
|
||||
"ms-vscode.vscode-typescript-next",
|
||||
"github.copilot",
|
||||
"github.copilot-chat",
|
||||
"rvest.vs-code-prettier-eslint",
|
||||
"mikestead.dotenv",
|
||||
"dsznajder.es7-react-js-snippets",
|
||||
"steoates.autoimport",
|
||||
@@ -55,7 +47,7 @@
|
||||
"features": {
|
||||
"ghcr.io/devcontainers/features/git:1": {},
|
||||
"ghcr.io/prulloac/devcontainer-features/bun:1": {
|
||||
"version": "latest"
|
||||
}
|
||||
"version": "latest"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
app:
|
||||
build:
|
||||
@@ -20,12 +18,12 @@ services:
|
||||
db:
|
||||
condition: service_healthy
|
||||
ports:
|
||||
- '3000:3000'
|
||||
- '3001:3001'
|
||||
- "3000:3000"
|
||||
- "3001:3001"
|
||||
working_dir: /workspace
|
||||
|
||||
db:
|
||||
image: postgres:16
|
||||
image: postgres:17-alpine
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- postgres-data:/var/lib/postgresql/data
|
||||
@@ -34,9 +32,9 @@ services:
|
||||
- POSTGRES_PASSWORD=postgres
|
||||
- POSTGRES_DB=simstudio
|
||||
ports:
|
||||
- '5432:5432'
|
||||
- "5432:5432"
|
||||
healthcheck:
|
||||
test: ['CMD-SHELL', 'pg_isready -U postgres']
|
||||
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
38
.prettierrc
38
.prettierrc
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"semi": false,
|
||||
"singleQuote": true,
|
||||
"tabWidth": 2,
|
||||
"trailingComma": "es5",
|
||||
"printWidth": 100,
|
||||
"bracketSpacing": true,
|
||||
"arrowParens": "always",
|
||||
"endOfLine": "lf",
|
||||
"useTabs": false,
|
||||
"quoteProps": "as-needed",
|
||||
"jsxSingleQuote": false,
|
||||
"bracketSameLine": false,
|
||||
"htmlWhitespaceSensitivity": "css",
|
||||
"vueIndentScriptAndStyle": false,
|
||||
"embeddedLanguageFormatting": "auto",
|
||||
"singleAttributePerLine": false,
|
||||
"plugins": ["prettier-plugin-tailwindcss", "@trivago/prettier-plugin-sort-imports"],
|
||||
"importOrder": [
|
||||
"^(.*)/__test-utils__/mock-dependencies$",
|
||||
"^(vitest|jest)$",
|
||||
"^(react/(.*)$)|^(react$)",
|
||||
"^(next/(.*)$)|^(next$)",
|
||||
"<THIRD_PARTY_MODULES>",
|
||||
"^@/components/(.*)$",
|
||||
"^@/lib/(.*)$",
|
||||
"^@/stores/(.*)$",
|
||||
"^@/hooks/(.*)$",
|
||||
"^@/utils/(.*)$",
|
||||
"^@/types/(.*)$",
|
||||
"^@/styles/(.*)$",
|
||||
"^@/(.*)$",
|
||||
"^[./]"
|
||||
],
|
||||
"importOrderSortSpecifiers": true,
|
||||
"importOrderCaseInsensitive": true,
|
||||
"importOrderParserPlugins": ["typescript", "jsx", "decorators-legacy"]
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
import { notFound } from 'next/navigation'
|
||||
import { DocsBody, DocsDescription, DocsPage, DocsTitle } from 'fumadocs-ui/page'
|
||||
import { notFound } from 'next/navigation'
|
||||
import mdxComponents from '@/components/mdx-components'
|
||||
import { source } from '@/lib/source'
|
||||
|
||||
@@ -19,7 +19,7 @@ export default async function Page(props: { params: Promise<{ slug?: string[] }>
|
||||
tableOfContent={{
|
||||
style: 'clerk',
|
||||
enabled: true,
|
||||
header: <div className="mb-2 text-sm font-medium">On this page</div>,
|
||||
header: <div className='mb-2 font-medium text-sm'>On this page</div>,
|
||||
single: false,
|
||||
}}
|
||||
article={{
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
import type { ReactNode } from 'react'
|
||||
import Link from 'next/link'
|
||||
import { DocsLayout } from 'fumadocs-ui/layouts/docs'
|
||||
import { ExternalLink, GithubIcon } from 'lucide-react'
|
||||
import Link from 'next/link'
|
||||
import { source } from '@/lib/source'
|
||||
|
||||
const GitHubLink = () => (
|
||||
<div className="fixed bottom-4 right-4 z-50">
|
||||
<div className='fixed right-4 bottom-4 z-50'>
|
||||
<Link
|
||||
href="https://github.com/simstudioai/sim"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-8 h-8 rounded-full bg-background border border-border hover:bg-muted transition-colors"
|
||||
href='https://github.com/simstudioai/sim'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className='flex h-8 w-8 items-center justify-center rounded-full border border-border bg-background transition-colors hover:bg-muted'
|
||||
>
|
||||
<GithubIcon className="h-4 w-4" />
|
||||
<GithubIcon className='h-4 w-4' />
|
||||
</Link>
|
||||
</div>
|
||||
)
|
||||
@@ -23,13 +23,13 @@ export default function Layout({ children }: { children: ReactNode }) {
|
||||
<DocsLayout
|
||||
tree={source.pageTree}
|
||||
nav={{
|
||||
title: <div className="flex items-center font-medium">Sim Studio</div>,
|
||||
title: <div className='flex items-center font-medium'>Sim Studio</div>,
|
||||
}}
|
||||
links={[
|
||||
{
|
||||
text: 'Visit Sim Studio',
|
||||
url: 'https://simstudio.ai',
|
||||
icon: <ExternalLink className="h-4 w-4" />,
|
||||
icon: <ExternalLink className='h-4 w-4' />,
|
||||
},
|
||||
]}
|
||||
sidebar={{
|
||||
@@ -43,4 +43,4 @@ export default function Layout({ children }: { children: ReactNode }) {
|
||||
<GitHubLink />
|
||||
</>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
@import 'tailwindcss';
|
||||
@import 'fumadocs-ui/css/neutral.css';
|
||||
@import 'fumadocs-ui/css/preset.css';
|
||||
@import "tailwindcss";
|
||||
@import "fumadocs-ui/css/neutral.css";
|
||||
@import "fumadocs-ui/css/preset.css";
|
||||
:root {
|
||||
--color-fd-primary: #802fff; /* Purple from control-bar component */
|
||||
}
|
||||
|
||||
@@ -11,8 +11,8 @@ export const baseOptions: BaseLayoutProps = {
|
||||
nav: {
|
||||
title: (
|
||||
<>
|
||||
<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" aria-label="Logo">
|
||||
<circle cx={12} cy={12} r={12} fill="currentColor" />
|
||||
<svg width='24' height='24' xmlns='http://www.w3.org/2000/svg' aria-label='Logo'>
|
||||
<circle cx={12} cy={12} r={12} fill='currentColor' />
|
||||
</svg>
|
||||
My App
|
||||
</>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { ReactNode } from 'react'
|
||||
import { Inter } from 'next/font/google'
|
||||
import { RootProvider } from 'fumadocs-ui/provider'
|
||||
import { Inter } from 'next/font/google'
|
||||
import './global.css'
|
||||
|
||||
const inter = Inter({
|
||||
@@ -9,8 +9,8 @@ const inter = Inter({
|
||||
|
||||
export default function Layout({ children }: { children: ReactNode }) {
|
||||
return (
|
||||
<html lang="en" className={inter.className} suppressHydrationWarning>
|
||||
<body className="flex flex-col min-h-screen">
|
||||
<html lang='en' className={inter.className} suppressHydrationWarning>
|
||||
<body className='flex min-h-screen flex-col'>
|
||||
<RootProvider>{children}</RootProvider>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
|
||||
'use client'
|
||||
|
||||
import * as React from 'react'
|
||||
import type * as React from 'react'
|
||||
|
||||
interface BlockInfoCardProps {
|
||||
type: string
|
||||
@@ -16,16 +16,16 @@ export function BlockInfoCard({
|
||||
iconSvg,
|
||||
}: BlockInfoCardProps): React.ReactNode {
|
||||
return (
|
||||
<div className="mb-6 rounded-lg overflow-hidden border border-border">
|
||||
<div className="flex items-center justify-center p-6">
|
||||
<div className='mb-6 overflow-hidden rounded-lg border border-border'>
|
||||
<div className='flex items-center justify-center p-6'>
|
||||
<div
|
||||
className="h-20 w-20 rounded-lg flex items-center justify-center"
|
||||
className='flex h-20 w-20 items-center justify-center rounded-lg'
|
||||
style={{ backgroundColor: color }}
|
||||
>
|
||||
{iconSvg ? (
|
||||
<div className="w-10 h-10 text-white" dangerouslySetInnerHTML={{ __html: iconSvg }} />
|
||||
<div className='h-10 w-10 text-white' dangerouslySetInnerHTML={{ __html: iconSvg }} />
|
||||
) : (
|
||||
<div className="text-xl font-mono opacity-70">{type.substring(0, 2)}</div>
|
||||
<div className='font-mono text-xl opacity-70'>{type.substring(0, 2)}</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -39,27 +39,27 @@ const BlockFeature = ({
|
||||
const content = (
|
||||
<>
|
||||
{index < itemsPerRow && (
|
||||
<div className="opacity-0 group-hover/feature:opacity-100 transition duration-200 absolute inset-0 h-full w-full bg-gradient-to-t from-neutral-100 dark:from-neutral-800 to-transparent pointer-events-none" />
|
||||
<div className='pointer-events-none absolute inset-0 h-full w-full bg-gradient-to-t from-neutral-100 to-transparent opacity-0 transition duration-200 group-hover/feature:opacity-100 dark:from-neutral-800' />
|
||||
)}
|
||||
{index >= itemsPerRow && (
|
||||
<div className="opacity-0 group-hover/feature:opacity-100 transition duration-200 absolute inset-0 h-full w-full bg-gradient-to-b from-neutral-100 dark:from-neutral-800 to-transparent pointer-events-none" />
|
||||
<div className='pointer-events-none absolute inset-0 h-full w-full bg-gradient-to-b from-neutral-100 to-transparent opacity-0 transition duration-200 group-hover/feature:opacity-100 dark:from-neutral-800' />
|
||||
)}
|
||||
<div
|
||||
className="mb-4 relative z-10 px-10 text-neutral-500 group-hover/feature:text-[color:var(--block-color,#8b5cf6)] dark:text-neutral-400 dark:group-hover/feature:text-[color:var(--block-color,#a78bfa)] transition-colors duration-200"
|
||||
className='relative z-10 mb-4 px-10 text-neutral-500 transition-colors duration-200 group-hover/feature:text-[color:var(--block-color,#8b5cf6)] dark:text-neutral-400 dark:group-hover/feature:text-[color:var(--block-color,#a78bfa)]'
|
||||
style={blockColor}
|
||||
>
|
||||
{icon}
|
||||
</div>
|
||||
<div className="text-lg font-bold mb-2 relative z-10 px-10">
|
||||
<div className='relative z-10 mb-2 px-10 font-bold text-lg'>
|
||||
<div
|
||||
className="absolute left-0 inset-y-0 h-6 group-hover/feature:h-8 w-1 rounded-tr-full rounded-br-full bg-neutral-300 dark:bg-neutral-700 group-hover/feature:bg-[color:var(--block-color,#8b5cf6)] transition-all duration-200 origin-center"
|
||||
className='absolute inset-y-0 left-0 h-6 w-1 origin-center rounded-tr-full rounded-br-full bg-neutral-300 transition-all duration-200 group-hover/feature:h-8 group-hover/feature:bg-[color:var(--block-color,#8b5cf6)] dark:bg-neutral-700'
|
||||
style={blockColor}
|
||||
/>
|
||||
<span className="group-hover/feature:translate-x-2 transition duration-200 inline-block text-neutral-800 dark:text-neutral-100">
|
||||
<span className='inline-block text-neutral-800 transition duration-200 group-hover/feature:translate-x-2 dark:text-neutral-100'>
|
||||
{title}
|
||||
</span>
|
||||
</div>
|
||||
<p className="text-sm text-neutral-600 dark:text-neutral-300 max-w-xs relative z-10 px-10">
|
||||
<p className='relative z-10 max-w-xs px-10 text-neutral-600 text-sm dark:text-neutral-300'>
|
||||
{description}
|
||||
</p>
|
||||
</>
|
||||
@@ -89,42 +89,42 @@ export function BlockTypes() {
|
||||
title: 'Agent',
|
||||
description:
|
||||
'Create powerful AI agents using any LLM provider with customizable system prompts and tool integrations.',
|
||||
icon: <AgentIcon className="w-6 h-6" />,
|
||||
icon: <AgentIcon className='h-6 w-6' />,
|
||||
href: '/blocks/agent',
|
||||
},
|
||||
{
|
||||
title: 'API',
|
||||
description:
|
||||
'Connect to any external API with support for all standard HTTP methods and customizable request parameters.',
|
||||
icon: <ApiIcon className="w-6 h-6" />,
|
||||
icon: <ApiIcon className='h-6 w-6' />,
|
||||
href: '/blocks/api',
|
||||
},
|
||||
{
|
||||
title: 'Condition',
|
||||
description:
|
||||
'Add a condition to the workflow to branch the execution path based on a boolean expression.',
|
||||
icon: <ConditionalIcon className="w-6 h-6" />,
|
||||
icon: <ConditionalIcon className='h-6 w-6' />,
|
||||
href: '/blocks/condition',
|
||||
},
|
||||
{
|
||||
title: 'Function',
|
||||
description:
|
||||
'Execute custom JavaScript or TypeScript code within your workflow to transform data or implement complex logic.',
|
||||
icon: <CodeIcon className="w-6 h-6" />,
|
||||
icon: <CodeIcon className='h-6 w-6' />,
|
||||
href: '/blocks/function',
|
||||
},
|
||||
{
|
||||
title: 'Router',
|
||||
description:
|
||||
'Intelligently direct workflow execution to different paths based on input analysis.',
|
||||
icon: <ConnectIcon className="w-6 h-6" />,
|
||||
icon: <ConnectIcon className='h-6 w-6' />,
|
||||
href: '/blocks/router',
|
||||
},
|
||||
{
|
||||
title: 'Evaluator',
|
||||
description:
|
||||
'Assess content using customizable evaluation metrics and scoring criteria across multiple dimensions.',
|
||||
icon: <ChartBarIcon className="w-6 h-6" />,
|
||||
icon: <ChartBarIcon className='h-6 w-6' />,
|
||||
href: '/blocks/evaluator',
|
||||
},
|
||||
]
|
||||
@@ -133,7 +133,7 @@ export function BlockTypes() {
|
||||
const itemsPerRow = 3 // For large screens
|
||||
|
||||
return (
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 relative z-10 py-10 max-w-7xl mx-auto">
|
||||
<div className='relative z-10 mx-auto grid max-w-7xl grid-cols-1 py-10 md:grid-cols-2 lg:grid-cols-3'>
|
||||
{features.map((feature, index) => (
|
||||
<BlockFeature
|
||||
key={feature.title}
|
||||
|
||||
@@ -54,7 +54,7 @@ export function Features() {
|
||||
},
|
||||
]
|
||||
return (
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 relative z-20 py-10 max-w-7xl mx-auto">
|
||||
<div className='relative z-20 mx-auto grid max-w-7xl grid-cols-1 py-10 md:grid-cols-2 lg:grid-cols-4'>
|
||||
{features.map((feature, index) => (
|
||||
<Feature key={feature.title} {...feature} index={index} />
|
||||
))}
|
||||
@@ -76,25 +76,25 @@ export const Feature = ({
|
||||
return (
|
||||
<div
|
||||
className={cn(
|
||||
'flex flex-col lg:border-r py-5 relative group/feature dark:border-neutral-800',
|
||||
'group/feature relative flex flex-col py-5 lg:border-r dark:border-neutral-800',
|
||||
(index === 0 || index === 4) && 'lg:border-l dark:border-neutral-800',
|
||||
index < 4 && 'lg:border-b dark:border-neutral-800'
|
||||
)}
|
||||
>
|
||||
{index < 4 && (
|
||||
<div className="opacity-0 group-hover/feature:opacity-100 transition duration-200 absolute inset-0 h-full w-full bg-gradient-to-t from-neutral-100 dark:from-neutral-800 to-transparent pointer-events-none" />
|
||||
<div className='pointer-events-none absolute inset-0 h-full w-full bg-gradient-to-t from-neutral-100 to-transparent opacity-0 transition duration-200 group-hover/feature:opacity-100 dark:from-neutral-800' />
|
||||
)}
|
||||
{index >= 4 && (
|
||||
<div className="opacity-0 group-hover/feature:opacity-100 transition duration-200 absolute inset-0 h-full w-full bg-gradient-to-b from-neutral-100 dark:from-neutral-800 to-transparent pointer-events-none" />
|
||||
<div className='pointer-events-none absolute inset-0 h-full w-full bg-gradient-to-b from-neutral-100 to-transparent opacity-0 transition duration-200 group-hover/feature:opacity-100 dark:from-neutral-800' />
|
||||
)}
|
||||
<div className="mb-4 relative z-10 px-10 text-neutral-600 dark:text-neutral-400">{icon}</div>
|
||||
<div className="text-lg font-bold mb-2 relative z-10 px-10">
|
||||
<div className="absolute left-0 inset-y-0 h-6 group-hover/feature:h-8 w-1 rounded-tr-full rounded-br-full bg-neutral-300 dark:bg-neutral-700 group-hover/feature:bg-purple-500 transition-all duration-200 origin-center" />
|
||||
<span className="group-hover/feature:translate-x-2 transition duration-200 inline-block text-neutral-800 dark:text-neutral-100">
|
||||
<div className='relative z-10 mb-4 px-10 text-neutral-600 dark:text-neutral-400'>{icon}</div>
|
||||
<div className='relative z-10 mb-2 px-10 font-bold text-lg'>
|
||||
<div className='absolute inset-y-0 left-0 h-6 w-1 origin-center rounded-tr-full rounded-br-full bg-neutral-300 transition-all duration-200 group-hover/feature:h-8 group-hover/feature:bg-purple-500 dark:bg-neutral-700' />
|
||||
<span className='inline-block text-neutral-800 transition duration-200 group-hover/feature:translate-x-2 dark:text-neutral-100'>
|
||||
{title}
|
||||
</span>
|
||||
</div>
|
||||
<p className="text-sm text-neutral-600 dark:text-neutral-300 max-w-xs relative z-10 px-10">
|
||||
<p className='relative z-10 max-w-xs px-10 text-neutral-600 text-sm dark:text-neutral-300'>
|
||||
{description}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -41,7 +41,7 @@ export function ThemeImage({
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="flex justify-center">
|
||||
<div className='flex justify-center'>
|
||||
<Image src={imageSrc} alt={alt} width={width} height={height} className={className} />
|
||||
</div>
|
||||
)
|
||||
|
||||
@@ -3,9 +3,9 @@ title: Airtable
|
||||
description: Read, create, and update Airtable
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="airtable"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
@@ -13,30 +13,30 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
|
||||
|
||||
|
||||
viewBox="0 -20.5 256 256"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlnsXlink="http://www.w3.org/1999/xlink"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
viewBox='0 -20.5 256 256'
|
||||
version='1.1'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
xmlnsXlink='http://www.w3.org/1999/xlink'
|
||||
preserveAspectRatio='xMidYMid'
|
||||
>
|
||||
<g>
|
||||
<path
|
||||
d="M114.25873,2.70101695 L18.8604023,42.1756384 C13.5552723,44.3711638 13.6102328,51.9065311 18.9486282,54.0225085 L114.746142,92.0117514 C123.163769,95.3498757 132.537419,95.3498757 140.9536,92.0117514 L236.75256,54.0225085 C242.08951,51.9065311 242.145916,44.3711638 236.83934,42.1756384 L141.442459,2.70101695 C132.738459,-0.900338983 122.961284,-0.900338983 114.25873,2.70101695"
|
||||
fill="#FFBF00"
|
||||
></path>
|
||||
d='M114.25873,2.70101695 L18.8604023,42.1756384 C13.5552723,44.3711638 13.6102328,51.9065311 18.9486282,54.0225085 L114.746142,92.0117514 C123.163769,95.3498757 132.537419,95.3498757 140.9536,92.0117514 L236.75256,54.0225085 C242.08951,51.9065311 242.145916,44.3711638 236.83934,42.1756384 L141.442459,2.70101695 C132.738459,-0.900338983 122.961284,-0.900338983 114.25873,2.70101695'
|
||||
fill='#FFBF00'
|
||||
/>
|
||||
<path
|
||||
d="M136.349071,112.756863 L136.349071,207.659101 C136.349071,212.173089 140.900664,215.263892 145.096461,213.600615 L251.844122,172.166219 C254.281184,171.200072 255.879376,168.845451 255.879376,166.224705 L255.879376,71.3224678 C255.879376,66.8084791 251.327783,63.7176768 247.131986,65.3809537 L140.384325,106.815349 C137.94871,107.781496 136.349071,110.136118 136.349071,112.756863"
|
||||
fill="#26B5F8"
|
||||
></path>
|
||||
d='M136.349071,112.756863 L136.349071,207.659101 C136.349071,212.173089 140.900664,215.263892 145.096461,213.600615 L251.844122,172.166219 C254.281184,171.200072 255.879376,168.845451 255.879376,166.224705 L255.879376,71.3224678 C255.879376,66.8084791 251.327783,63.7176768 247.131986,65.3809537 L140.384325,106.815349 C137.94871,107.781496 136.349071,110.136118 136.349071,112.756863'
|
||||
fill='#26B5F8'
|
||||
/>
|
||||
<path
|
||||
d="M111.422771,117.65355 L79.742409,132.949912 L76.5257763,134.504714 L9.65047684,166.548104 C5.4112904,168.593211 0.000578531073,165.503855 0.000578531073,160.794612 L0.000578531073,71.7210757 C0.000578531073,70.0173017 0.874160452,68.5463864 2.04568588,67.4384994 C2.53454463,66.9481944 3.08848814,66.5446689 3.66412655,66.2250305 C5.26231864,65.2661153 7.54173107,65.0101153 9.47981017,65.7766689 L110.890522,105.957098 C116.045234,108.002206 116.450206,115.225166 111.422771,117.65355"
|
||||
fill="#ED3049"
|
||||
></path>
|
||||
d='M111.422771,117.65355 L79.742409,132.949912 L76.5257763,134.504714 L9.65047684,166.548104 C5.4112904,168.593211 0.000578531073,165.503855 0.000578531073,160.794612 L0.000578531073,71.7210757 C0.000578531073,70.0173017 0.874160452,68.5463864 2.04568588,67.4384994 C2.53454463,66.9481944 3.08848814,66.5446689 3.66412655,66.2250305 C5.26231864,65.2661153 7.54173107,65.0101153 9.47981017,65.7766689 L110.890522,105.957098 C116.045234,108.002206 116.450206,115.225166 111.422771,117.65355'
|
||||
fill='#ED3049'
|
||||
/>
|
||||
<path
|
||||
d="M111.422771,117.65355 L79.742409,132.949912 L2.04568588,67.4384994 C2.53454463,66.9481944 3.08848814,66.5446689 3.66412655,66.2250305 C5.26231864,65.2661153 7.54173107,65.0101153 9.47981017,65.7766689 L110.890522,105.957098 C116.045234,108.002206 116.450206,115.225166 111.422771,117.65355"
|
||||
fillOpacity="0.25"
|
||||
fill="#000000"
|
||||
></path>
|
||||
d='M111.422771,117.65355 L79.742409,132.949912 L2.04568588,67.4384994 C2.53454463,66.9481944 3.08848814,66.5446689 3.66412655,66.2250305 C5.26231864,65.2661153 7.54173107,65.0101153 9.47981017,65.7766689 L110.890522,105.957098 C116.045234,108.002206 116.450206,115.225166 111.422771,117.65355'
|
||||
fillOpacity='0.25'
|
||||
fill='#000000'
|
||||
/>
|
||||
</g>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -54,9 +54,12 @@ With Airtable, you can:
|
||||
In Sim Studio, the Airtable integration enables your agents to interact with your Airtable bases programmatically. This allows for seamless data operations like retrieving information, creating new records, and updating existing data - all within your agent workflows. Use Airtable as a dynamic data source or destination for your agents, enabling them to access and manipulate structured information as part of their decision-making and task execution processes.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Integrate Airtable functionality to manage table records. List, get, create,
|
||||
Integrate Airtable functionality to manage table records. List, get, create,
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
@@ -66,20 +69,20 @@ Read records from an Airtable table
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------------- | ------ | -------- | ----------------------------------- |
|
||||
| `accessToken` | string | Yes | OAuth access token |
|
||||
| `baseId` | string | Yes | ID of the Airtable base |
|
||||
| `tableId` | string | Yes | ID of the table |
|
||||
| `maxRecords` | number | No | Maximum number of records to return |
|
||||
| `filterFormula` | string | No | Formula to filter records \(e.g., |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | OAuth access token |
|
||||
| `baseId` | string | Yes | ID of the Airtable base |
|
||||
| `tableId` | string | Yes | ID of the table |
|
||||
| `maxRecords` | number | No | Maximum number of records to return |
|
||||
| `filterFormula` | string | No | Formula to filter records \(e.g., |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| -------------- | ------ |
|
||||
| `records` | string |
|
||||
| `metadata` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `records` | string |
|
||||
| `metadata` | string |
|
||||
| `totalRecords` | string |
|
||||
|
||||
### `airtable_get_record`
|
||||
@@ -88,18 +91,18 @@ Retrieve a single record from an Airtable table by its ID
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ---------------------------- |
|
||||
| `accessToken` | string | Yes | OAuth access token |
|
||||
| `baseId` | string | Yes | ID of the Airtable base |
|
||||
| `tableId` | string | Yes | ID or name of the table |
|
||||
| `recordId` | string | Yes | ID of the record to retrieve |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | OAuth access token |
|
||||
| `baseId` | string | Yes | ID of the Airtable base |
|
||||
| `tableId` | string | Yes | ID or name of the table |
|
||||
| `recordId` | string | Yes | ID of the record to retrieve |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| `record` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `record` | string |
|
||||
| `metadata` | string |
|
||||
|
||||
### `airtable_create_records`
|
||||
@@ -108,17 +111,17 @@ Write new records to an Airtable table
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ----------------------- |
|
||||
| `accessToken` | string | Yes | OAuth access token |
|
||||
| `baseId` | string | Yes | ID of the Airtable base |
|
||||
| `tableId` | string | Yes | ID or name of the table |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | OAuth access token |
|
||||
| `baseId` | string | Yes | ID of the Airtable base |
|
||||
| `tableId` | string | Yes | ID or name of the table |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| `records` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `records` | string |
|
||||
| `metadata` | string |
|
||||
|
||||
### `airtable_update_record`
|
||||
@@ -127,20 +130,20 @@ Update an existing record in an Airtable table by ID
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | --------------------------------------------------------- |
|
||||
| `accessToken` | string | Yes | OAuth access token |
|
||||
| `baseId` | string | Yes | ID of the Airtable base |
|
||||
| `tableId` | string | Yes | ID or name of the table |
|
||||
| `recordId` | string | Yes | ID of the record to update |
|
||||
| `fields` | json | Yes | An object containing the field names and their new values |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | OAuth access token |
|
||||
| `baseId` | string | Yes | ID of the Airtable base |
|
||||
| `tableId` | string | Yes | ID or name of the table |
|
||||
| `recordId` | string | Yes | ID of the record to update |
|
||||
| `fields` | json | Yes | An object containing the field names and their new values |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------------- | ------ |
|
||||
| `record` | string |
|
||||
| `metadata` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `record` | string |
|
||||
| `metadata` | string |
|
||||
| `updatedFields` | string |
|
||||
|
||||
### `airtable_update_multiple_records`
|
||||
@@ -149,36 +152,41 @@ Update multiple existing records in an Airtable table
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ----------------------- |
|
||||
| `accessToken` | string | Yes | OAuth access token |
|
||||
| `baseId` | string | Yes | ID of the Airtable base |
|
||||
| `tableId` | string | Yes | ID or name of the table |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | OAuth access token |
|
||||
| `baseId` | string | Yes | ID of the Airtable base |
|
||||
| `tableId` | string | Yes | ID or name of the table |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ------------------ | ------ |
|
||||
| `records` | string |
|
||||
| `metadata` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `records` | string |
|
||||
| `metadata` | string |
|
||||
| `updatedRecordIds` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ------------ | ------ | ------------------------ |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `records` | json | records of the response |
|
||||
| ↳ `record` | json | record of the response |
|
||||
| ↳ `metadata` | json | metadata of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `records` | json | records of the response |
|
||||
| ↳ `record` | json | record of the response |
|
||||
| ↳ `metadata` | json | metadata of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,30 +3,30 @@ title: Autoblocks
|
||||
description: Manage and use versioned prompts with Autoblocks
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="autoblocks"
|
||||
color="#0D2929"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlnsXlink="http://www.w3.org/1999/xlink"
|
||||
x="0px"
|
||||
y="0px"
|
||||
version='1.1'
|
||||
id='Layer_1'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
xmlnsXlink='http://www.w3.org/1999/xlink'
|
||||
x='0px'
|
||||
y='0px'
|
||||
|
||||
viewBox="0 0 1250 1250"
|
||||
enableBackground="new 0 0 1250 1250"
|
||||
xmlSpace="preserve"
|
||||
viewBox='0 0 1250 1250'
|
||||
enableBackground='new 0 0 1250 1250'
|
||||
xmlSpace='preserve'
|
||||
>
|
||||
<path
|
||||
fill="#FFFFFF"
|
||||
opacity="1.000000"
|
||||
stroke="none"
|
||||
d="
|
||||
fill='#FFFFFF'
|
||||
opacity='1.000000'
|
||||
stroke='none'
|
||||
d='
|
||||
M671.222290,1079.959839
|
||||
C671.176025,1077.962891 671.089233,1075.965820 671.089111,1073.968872
|
||||
C671.082825,918.318481 671.062683,762.668091 671.192322,607.017761
|
||||
@@ -52,13 +52,13 @@ M671.222290,1079.959839
|
||||
C782.578491,1017.306641 746.954346,1037.809570 711.333679,1058.318848
|
||||
C698.839661,1065.512573 686.367554,1072.744629 673.219116,1079.994141
|
||||
C672.109314,1080.006104 671.665771,1079.982910 671.222290,1079.959839
|
||||
z"
|
||||
z'
|
||||
/>
|
||||
<path
|
||||
fill="#FFFFFF"
|
||||
opacity="1.000000"
|
||||
stroke="none"
|
||||
d="
|
||||
fill='#FFFFFF'
|
||||
opacity='1.000000'
|
||||
stroke='none'
|
||||
d='
|
||||
M684.421631,400.605865
|
||||
C600.749390,352.376038 517.388306,304.342010 433.717010,256.129181
|
||||
C455.858643,243.338989 477.724731,230.689346 499.608948,218.071136
|
||||
@@ -79,13 +79,13 @@ M684.421631,400.605865
|
||||
C829.014954,484.959839 811.879517,474.190002 794.417969,464.012421
|
||||
C774.549316,452.431854 754.597900,440.993225 734.670959,429.512817
|
||||
C718.033508,419.927551 701.379517,410.370911 684.421631,400.605865
|
||||
z"
|
||||
z'
|
||||
/>
|
||||
<path
|
||||
fill="#FFFFFF"
|
||||
opacity="1.000000"
|
||||
stroke="none"
|
||||
d="
|
||||
fill='#FFFFFF'
|
||||
opacity='1.000000'
|
||||
stroke='none'
|
||||
d='
|
||||
M398.927063,451.754761
|
||||
C400.510162,450.940521 401.764893,450.328430 403.700867,449.383972
|
||||
C403.700867,452.154175 403.700897,454.096252 403.700897,456.038330
|
||||
@@ -104,7 +104,7 @@ M398.927063,451.754761
|
||||
C251.315567,739.849976 251.312408,640.200073 251.234558,540.550232
|
||||
C251.232254,537.601685 252.346344,536.241150 254.806610,534.827820
|
||||
C302.775909,507.271362 350.680695,479.602600 398.927063,451.754761
|
||||
z"
|
||||
z'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -123,10 +123,13 @@ With Autoblocks, you can:
|
||||
Autoblocks integrates seamlessly with your existing AI workflows in Sim Studio, providing a structured approach to prompt engineering that improves consistency and reduces errors.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Collaborate on prompts with type safety, autocomplete, and backwards-incompatibility protection. Autoblocks prompt management allows product teams to collaborate while maintaining excellent developer experience.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `autoblocks_prompt_manager`
|
||||
@@ -135,43 +138,48 @@ Manage and render prompts using Autoblocks prompt management system
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------------- | ------- | -------- | ------------------------------------------------------- |
|
||||
| `promptId` | string | Yes | The ID of the prompt to retrieve |
|
||||
| `version` | string | Yes | Version strategy \(latest or specific\) |
|
||||
| `specificVersion` | string | No | Specific version to use \(e.g., |
|
||||
| `templateParams` | object | No | Parameters to render the template with |
|
||||
| `apiKey` | string | Yes | Autoblocks API key |
|
||||
| `enableABTesting` | boolean | No | Whether to enable A/B testing between versions |
|
||||
| `abTestConfig` | object | No | Configuration for A/B testing between versions |
|
||||
| `environment` | string | Yes | Environment to use \(production, staging, development\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `promptId` | string | Yes | The ID of the prompt to retrieve |
|
||||
| `version` | string | Yes | Version strategy \(latest or specific\) |
|
||||
| `specificVersion` | string | No | Specific version to use \(e.g., |
|
||||
| `templateParams` | object | No | Parameters to render the template with |
|
||||
| `apiKey` | string | Yes | Autoblocks API key |
|
||||
| `enableABTesting` | boolean | No | Whether to enable A/B testing between versions |
|
||||
| `abTestConfig` | object | No | Configuration for A/B testing between versions |
|
||||
| `environment` | string | Yes | Environment to use \(production, staging, development\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------------- | ------ |
|
||||
| `promptId` | string |
|
||||
| `version` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `promptId` | string |
|
||||
| `version` | string |
|
||||
| `renderedPrompt` | string |
|
||||
| `templates` | string |
|
||||
| `templates` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ---------- | ------ | -------- | ------------------------------------------ |
|
||||
| `promptId` | string | Yes | Prompt ID - Enter the Autoblocks prompt ID |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `promptId` | string | Yes | Prompt ID - Enter the Autoblocks prompt ID |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ------------------ | ------ | ------------------------------ |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `promptId` | string | promptId of the response |
|
||||
| ↳ `version` | string | version of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `promptId` | string | promptId of the response |
|
||||
| ↳ `version` | string | version of the response |
|
||||
| ↳ `renderedPrompt` | string | renderedPrompt of the response |
|
||||
| ↳ `templates` | json | templates of the response |
|
||||
| ↳ `templates` | json | templates of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,24 +3,24 @@ title: Browser Use
|
||||
description: Run browser automation tasks
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="browser_use"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
version="1.0"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
version='1.0'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
|
||||
|
||||
viewBox="0 0 150 150"
|
||||
preserveAspectRatio="xMidYMid meet"
|
||||
viewBox='0 0 150 150'
|
||||
preserveAspectRatio='xMidYMid meet'
|
||||
>
|
||||
<g transform="translate(0,150) scale(0.05,-0.05)" fill="#000000" stroke="none">
|
||||
<g transform='translate(0,150) scale(0.05,-0.05)' fill='#000000' stroke='none'>
|
||||
<path
|
||||
d="M786 2713 c-184 -61 -353 -217 -439 -405 -76 -165 -65 -539 19 -666
|
||||
d='M786 2713 c-184 -61 -353 -217 -439 -405 -76 -165 -65 -539 19 -666
|
||||
l57 -85 -48 -124 c-203 -517 -79 -930 346 -1155 159 -85 441 -71 585 28 l111
|
||||
77 196 -76 c763 -293 1353 304 1051 1063 -77 191 -77 189 -14 282 163 239 97
|
||||
660 -140 893 -235 231 -528 256 -975 83 l-96 -37 -121 67 c-144 79 -383 103
|
||||
@@ -34,7 +34,7 @@ l57 -85 -48 -124 c-203 -517 -79 -930 346 -1155 159 -85 441 -71 585 28 l111
|
||||
-583 1052 117 -106 239 -366 585 -504 671 l-72 44 98 45 c150 68 169 63 305
|
||||
-82z m-329 -310 c161 -184 163 -160 -30 -338 -188 -173 -180 -173 -386 19
|
||||
-163 153 -163 157 7 324 218 213 219 213 409 -5z m354 -375 c92 -239 -179
|
||||
-462 -377 -309 l-46 35 186 163 c211 186 209 185 237 111z"
|
||||
-462 -377 -309 l-46 35 186 163 c211 186 209 185 237 111z'
|
||||
/>
|
||||
</g>
|
||||
</svg>`}
|
||||
@@ -54,10 +54,13 @@ With BrowserUse, you can:
|
||||
In Sim Studio, the BrowserUse integration allows your agents to interact with the web as if they were human users. This enables scenarios like research, data collection, form submission, and web testing - all through simple natural language instructions. Your agents can gather information from websites, interact with web applications, and perform actions that would typically require manual browsing, expanding their capabilities to include the entire web as a resource.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Execute browser automation tasks with BrowserUse to navigate the web, scrape data, and perform actions as if a real user was interacting with the browser. The task runs asynchronously and the block will poll for completion before returning results.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `browser_use_run_task`
|
||||
@@ -66,40 +69,45 @@ Runs a browser automation task using BrowserUse
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------------- | ------- | -------- | --------------------------------------------------------------- |
|
||||
| `task` | string | Yes | What should the browser agent do |
|
||||
| `variables` | json | No | Optional variables to use as secrets \(format: \{key: value\}\) |
|
||||
| `save_browser_data` | boolean | No | Whether to save browser data |
|
||||
| `model` | string | No | LLM model to use \(default: gpt-4o\) |
|
||||
| `apiKey` | string | Yes | API key for BrowserUse API |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `task` | string | Yes | What should the browser agent do |
|
||||
| `variables` | json | No | Optional variables to use as secrets \(format: \{key: value\}\) |
|
||||
| `save_browser_data` | boolean | No | Whether to save browser data |
|
||||
| `model` | string | No | LLM model to use \(default: gpt-4o\) |
|
||||
| `apiKey` | string | Yes | API key for BrowserUse API |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| `id` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `id` | string |
|
||||
| `success` | string |
|
||||
| `output` | string |
|
||||
| `steps` | string |
|
||||
| `output` | string |
|
||||
| `steps` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | --------------------------------------------------- |
|
||||
| `task` | string | Yes | Task - Describe what the browser agent should do... |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `task` | string | Yes | Task - Describe what the browser agent should do... |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ----------- | ------- | ----------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `id` | string | id of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `id` | string | id of the response |
|
||||
| ↳ `success` | boolean | success of the response |
|
||||
| ↳ `output` | any | output of the response |
|
||||
| ↳ `steps` | json | steps of the response |
|
||||
| ↳ `output` | any | output of the response |
|
||||
| ↳ `steps` | json | steps of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,17 +3,17 @@ title: Clay
|
||||
description: Populate Clay workbook
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="clay"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400">
|
||||
iconSvg={`<svg className="block-icon" xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'>
|
||||
<path
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="#41B9FD"
|
||||
d=" M225.000000,1.000000 C227.042313,1.000000 229.084641,1.000000 231.903046,1.237045
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
fill='#41B9FD'
|
||||
d=' M225.000000,1.000000 C227.042313,1.000000 229.084641,1.000000 231.903046,1.237045
|
||||
C233.981308,1.648251 235.283447,1.974177 236.585678,1.974532 C276.426849,1.985374 316.268005,1.964254 356.349304,2.036658
|
||||
C356.713806,2.242061 356.838165,2.358902 357.013062,2.696568 C357.361633,3.243123 357.659729,3.568854 358.029053,3.919451
|
||||
C358.100250,3.944317 358.064270,4.090822 358.043335,4.397895 C358.300018,5.454089 358.577637,6.203210 358.919647,7.420082
|
||||
@@ -90,12 +90,12 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
C160.335373,16.929420 160.935471,16.717543 161.932648,16.610218 C166.284805,15.022083 170.239853,13.329394 174.481018,11.497526
|
||||
C175.179947,11.265512 175.592758,11.172676 176.284058,11.232684 C181.045059,9.931384 185.527557,8.477241 190.283020,6.942632
|
||||
C190.929428,6.798172 191.302902,6.734176 192.106628,6.758037 C200.661499,5.630559 208.799301,4.494970 216.903397,3.155535
|
||||
C219.646088,2.702227 222.303574,1.733297 225.000000,1.000000 z"
|
||||
C219.646088,2.702227 222.303574,1.733297 225.000000,1.000000 z'
|
||||
/>
|
||||
<path
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="#CF207F"
|
||||
d=" M139.359467,113.684723 C140.046402,112.896461 140.733337,112.108200 141.935272,111.074768
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
fill='#CF207F'
|
||||
d=' M139.359467,113.684723 C140.046402,112.896461 140.733337,112.108200 141.935272,111.074768
|
||||
C142.614975,110.526917 142.779678,110.224220 142.944397,109.921524 C142.944397,109.921532 143.176773,109.554497 143.635193,109.340279
|
||||
C145.124252,107.866608 146.154877,106.607147 147.185501,105.347694 C147.185501,105.347694 147.485733,105.074348 147.925735,104.915680
|
||||
C148.538528,104.456520 148.711319,104.156021 148.884109,103.855530 C149.041901,103.578056 149.247330,103.342041 149.974884,103.098984
|
||||
@@ -151,12 +151,12 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
C135.450775,286.986084 120.418205,262.047058 113.761909,231.918289 C110.147652,215.558807 109.790779,198.967697 111.782127,182.339249
|
||||
C113.832611,165.216965 118.597160,148.944382 127.160858,133.886154 C130.497955,128.018265 133.867905,122.169083 137.222885,116.311386
|
||||
C137.222885,116.311386 137.227158,116.228470 137.540863,116.214661 C138.211945,116.106445 138.569351,116.012032 139.062988,115.851028
|
||||
C139.427094,115.546883 139.469406,115.275383 139.372986,114.756676 C139.495758,114.250427 139.475632,113.964195 139.359467,113.684723 z"
|
||||
C139.427094,115.546883 139.469406,115.275383 139.372986,114.756676 C139.495758,114.250427 139.475632,113.964195 139.359467,113.684723 z'
|
||||
/>
|
||||
<path
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="#FFC947"
|
||||
d=" M200.266830,145.969620 C200.457306,145.841385 200.647766,145.713150 201.270264,145.275589
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
fill='#FFC947'
|
||||
d=' M200.266830,145.969620 C200.457306,145.841385 200.647766,145.713150 201.270264,145.275589
|
||||
C201.994553,144.826004 202.149918,144.593887 202.168381,144.269897 C202.168381,144.269897 202.241974,144.338730 202.627762,144.274597
|
||||
C206.081650,142.583710 209.149765,140.956970 212.217880,139.330231 C212.400635,139.302734 212.583405,139.275208 213.260132,139.131683
|
||||
C214.191147,138.779388 214.628204,138.543121 215.065262,138.306854 C215.065262,138.306870 215.200439,138.347610 215.615753,138.262543
|
||||
@@ -166,7 +166,7 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
C189.032700,245.092545 189.048599,244.976334 188.932205,244.635071 C178.652054,231.033371 175.024597,215.782471 175.030136,199.385284
|
||||
C175.034317,187.007950 178.389404,175.448639 183.294250,164.239044 C183.294250,164.239044 183.188980,163.991821 183.536774,163.962189
|
||||
C186.888184,159.951889 189.891830,155.971222 192.895477,151.990555 C192.895477,151.990555 192.993607,151.991669 193.307098,151.842606
|
||||
C195.835999,149.785568 198.051407,147.877594 200.266830,145.969620 z"
|
||||
C195.835999,149.785568 198.051407,147.877594 200.266830,145.969620 z'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -195,10 +195,13 @@ With Clay, you can:
|
||||
In Sim Studio, the Clay integration allows your agents to push structured data into Clay tables via webhooks. This makes it easy to collect, enrich, and manage dynamic outputs such as leads, research summaries, or action items—all in a collaborative, spreadsheet-like interface. Your agents can populate rows in real time, enabling asynchronous workflows where AI-generated insights are captured, reviewed, and used by your team. Whether you're automating research, enriching CRM data, or tracking operational outcomes, Clay becomes a living data layer that interacts intelligently with your agents. By connecting Sim Studio with Clay, you gain a powerful way to operationalize agent results, loop over datasets with precision, and maintain a clean, auditable record of AI-driven work.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Populate Clay workbook with data using a JSON or plain text. Enables direct communication and notifications with channel confirmation.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `clay_populate`
|
||||
@@ -207,32 +210,37 @@ Populate Clay with data from a JSON file. Enables direct communication and notif
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------ | ------ | -------- | ---------------------------------- |
|
||||
| `webhookURL` | string | Yes | The webhook URL to populate |
|
||||
| `data` | json | Yes | The data to populate |
|
||||
| `authToken` | string | No | Optional auth token for WebhookURL |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `webhookURL` | string | Yes | The webhook URL to populate |
|
||||
| `data` | json | Yes | The data to populate |
|
||||
| `authToken` | string | No | Optional auth token for WebhookURL |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| `data` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `data` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | --------------------------------------- |
|
||||
| `authToken` | string | Yes | Auth Token - Enter your Clay Auth token |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `authToken` | string | Yes | Auth Token - Enter your Clay Auth token |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ---------- | ------ | -------------------- |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `data` | any | data of the response |
|
||||
| ↳ `data` | any | data of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ title: Confluence
|
||||
description: Interact with Confluence
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="confluence"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
@@ -13,15 +13,15 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
|
||||
|
||||
|
||||
viewBox="0 3 21 24"
|
||||
focusable="false"
|
||||
fill="none"
|
||||
aria-hidden="true"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox='0 3 21 24'
|
||||
focusable='false'
|
||||
fill='none'
|
||||
aria-hidden='true'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<path
|
||||
fill="#1868DB"
|
||||
d="M20.602 20.234c-6.584-3.183-8.507-3.66-11.281-3.66-3.255 0-6.03 1.355-8.507 5.16l-.407.622c-.333.513-.407.696-.407.915s.111.403.518.659l4.18 2.598c.221.146.406.22.591.22.222 0 .37-.11.592-.44l.666-1.024c1.035-1.574 1.96-2.086 3.144-2.086 1.035 0 2.256.293 3.772 1.025l4.365 2.049c.444.22.925.11 1.146-.403l2.072-4.537c.222-.512.074-.842-.444-1.098M1.406 12.22c6.583 3.184 8.507 3.66 11.28 3.66 3.256 0 6.03-1.354 8.508-5.16l.407-.622c.332-.512.406-.695.406-.915s-.11-.402-.518-.658L17.31 5.927c-.222-.147-.407-.22-.592-.22-.222 0-.37.11-.592.44l-.665 1.024c-1.036 1.573-1.96 2.086-3.144 2.086-1.036 0-2.257-.293-3.773-1.025L4.18 6.183c-.444-.22-.925-.11-1.147.402L.962 11.123c-.222.512-.074.841.444 1.098"
|
||||
fill='#1868DB'
|
||||
d='M20.602 20.234c-6.584-3.183-8.507-3.66-11.281-3.66-3.255 0-6.03 1.355-8.507 5.16l-.407.622c-.333.513-.407.696-.407.915s.111.403.518.659l4.18 2.598c.221.146.406.22.591.22.222 0 .37-.11.592-.44l.666-1.024c1.035-1.574 1.96-2.086 3.144-2.086 1.035 0 2.256.293 3.772 1.025l4.365 2.049c.444.22.925.11 1.146-.403l2.072-4.537c.222-.512.074-.842-.444-1.098M1.406 12.22c6.583 3.184 8.507 3.66 11.28 3.66 3.256 0 6.03-1.354 8.508-5.16l.407-.622c.332-.512.406-.695.406-.915s-.11-.402-.518-.658L17.31 5.927c-.222-.147-.407-.22-.592-.22-.222 0-.37.11-.592.44l-.665 1.024c-1.036 1.573-1.96 2.086-3.144 2.086-1.036 0-2.257-.293-3.773-1.025L4.18 6.183c-.444-.22-.925-.11-1.147.402L.962 11.123c-.222.512-.074.841.444 1.098'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -40,10 +40,13 @@ With Confluence, you can:
|
||||
In Sim Studio, the Confluence integration enables your agents to access and leverage your organization's knowledge base. Agents can retrieve information from Confluence pages, search for specific content, and even update documentation when needed. This allows your workflows to incorporate the collective knowledge stored in your Confluence instance, making it possible to build agents that can reference internal documentation, follow established procedures, and maintain up-to-date information resources as part of their operations.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Connect to Confluence workspaces to retrieve and search documentation. Access page content, metadata, and integrate Confluence documentation into your workflows.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `confluence_retrieve`
|
||||
@@ -52,21 +55,21 @@ Retrieve content from Confluence pages using the Confluence API.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ------------------------------------------------------------------------------------------- |
|
||||
| `accessToken` | string | Yes | OAuth access token for Confluence |
|
||||
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
|
||||
| `pageId` | string | Yes | Confluence page ID to retrieve |
|
||||
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | OAuth access token for Confluence |
|
||||
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
|
||||
| `pageId` | string | Yes | Confluence page ID to retrieve |
|
||||
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| `ts` | string |
|
||||
| `pageId` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `ts` | string |
|
||||
| `pageId` | string |
|
||||
| `content` | string |
|
||||
| `title` | string |
|
||||
| `title` | string |
|
||||
|
||||
### `confluence_update`
|
||||
|
||||
@@ -74,45 +77,50 @@ Update a Confluence page using the Confluence API.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ------------------------------------------------------------------------------------------- |
|
||||
| `accessToken` | string | Yes | OAuth access token for Confluence |
|
||||
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
|
||||
| `pageId` | string | Yes | Confluence page ID to update |
|
||||
| `title` | string | No | New title for the page |
|
||||
| `content` | string | No | New content for the page in Confluence storage format |
|
||||
| `version` | number | No | Version number of the page \(required for preventing conflicts\) |
|
||||
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | OAuth access token for Confluence |
|
||||
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
|
||||
| `pageId` | string | Yes | Confluence page ID to update |
|
||||
| `title` | string | No | New title for the page |
|
||||
| `content` | string | No | New content for the page in Confluence storage format |
|
||||
| `version` | number | No | Version number of the page \(required for preventing conflicts\) |
|
||||
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| `ts` | string |
|
||||
| `pageId` | string |
|
||||
| `title` | string |
|
||||
| `body` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `ts` | string |
|
||||
| `pageId` | string |
|
||||
| `title` | string |
|
||||
| `body` | string |
|
||||
| `success` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ----------- | ------- | ----------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `ts` | string | ts of the response |
|
||||
| ↳ `pageId` | string | pageId of the response |
|
||||
| ↳ `content` | string | content of the response |
|
||||
| ↳ `title` | string | title of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `ts` | string | ts of the response |
|
||||
| ↳ `pageId` | string | pageId of the response |
|
||||
| ↳ `content` | string | content of the response |
|
||||
| ↳ `title` | string | title of the response |
|
||||
| ↳ `success` | boolean | success of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
- Category: `tools`
|
||||
|
||||
@@ -3,9 +3,9 @@ title: Discord
|
||||
description: Interact with Discord
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="discord"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
@@ -13,18 +13,18 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
|
||||
|
||||
|
||||
viewBox="0 -28.5 256 256"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlnsXlink="http://www.w3.org/1999/xlink"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
viewBox='0 -28.5 256 256'
|
||||
version='1.1'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
xmlnsXlink='http://www.w3.org/1999/xlink'
|
||||
preserveAspectRatio='xMidYMid'
|
||||
>
|
||||
<g>
|
||||
<path
|
||||
d="M216.856339,16.5966031 C200.285002,8.84328665 182.566144,3.2084988 164.041564,0 C161.766523,4.11318106 159.108624,9.64549908 157.276099,14.0464379 C137.583995,11.0849896 118.072967,11.0849896 98.7430163,14.0464379 C96.9108417,9.64549908 94.1925838,4.11318106 91.8971895,0 C73.3526068,3.2084988 55.6133949,8.86399117 39.0420583,16.6376612 C5.61752293,67.146514 -3.4433191,116.400813 1.08711069,164.955721 C23.2560196,181.510915 44.7403634,191.567697 65.8621325,198.148576 C71.0772151,190.971126 75.7283628,183.341335 79.7352139,175.300261 C72.104019,172.400575 64.7949724,168.822202 57.8887866,164.667963 C59.7209612,163.310589 61.5131304,161.891452 63.2445898,160.431257 C105.36741,180.133187 151.134928,180.133187 192.754523,160.431257 C194.506336,161.891452 196.298154,163.310589 198.110326,164.667963 C191.183787,168.842556 183.854737,172.420929 176.223542,175.320965 C180.230393,183.341335 184.861538,190.991831 190.096624,198.16893 C211.238746,191.588051 232.743023,181.531619 254.911949,164.955721 C260.227747,108.668201 245.831087,59.8662432 216.856339,16.5966031 Z M85.4738752,135.09489 C72.8290281,135.09489 62.4592217,123.290155 62.4592217,108.914901 C62.4592217,94.5396472 72.607595,82.7145587 85.4738752,82.7145587 C98.3405064,82.7145587 108.709962,94.5189427 108.488529,108.914901 C108.508531,123.290155 98.3405064,135.09489 85.4738752,135.09489 Z M170.525237,135.09489 C157.88039,135.09489 147.510584,123.290155 147.510584,108.914901 C147.510584,94.5396472 157.658606,82.7145587 170.525237,82.7145587 C183.391518,82.7145587 193.761324,94.5189427 193.539891,108.914901 C193.539891,123.290155 183.391518,135.09489 170.525237,135.09489 Z"
|
||||
fill="#5865F2"
|
||||
fillRule="nonzero"
|
||||
></path>
|
||||
d='M216.856339,16.5966031 C200.285002,8.84328665 182.566144,3.2084988 164.041564,0 C161.766523,4.11318106 159.108624,9.64549908 157.276099,14.0464379 C137.583995,11.0849896 118.072967,11.0849896 98.7430163,14.0464379 C96.9108417,9.64549908 94.1925838,4.11318106 91.8971895,0 C73.3526068,3.2084988 55.6133949,8.86399117 39.0420583,16.6376612 C5.61752293,67.146514 -3.4433191,116.400813 1.08711069,164.955721 C23.2560196,181.510915 44.7403634,191.567697 65.8621325,198.148576 C71.0772151,190.971126 75.7283628,183.341335 79.7352139,175.300261 C72.104019,172.400575 64.7949724,168.822202 57.8887866,164.667963 C59.7209612,163.310589 61.5131304,161.891452 63.2445898,160.431257 C105.36741,180.133187 151.134928,180.133187 192.754523,160.431257 C194.506336,161.891452 196.298154,163.310589 198.110326,164.667963 C191.183787,168.842556 183.854737,172.420929 176.223542,175.320965 C180.230393,183.341335 184.861538,190.991831 190.096624,198.16893 C211.238746,191.588051 232.743023,181.531619 254.911949,164.955721 C260.227747,108.668201 245.831087,59.8662432 216.856339,16.5966031 Z M85.4738752,135.09489 C72.8290281,135.09489 62.4592217,123.290155 62.4592217,108.914901 C62.4592217,94.5396472 72.607595,82.7145587 85.4738752,82.7145587 C98.3405064,82.7145587 108.709962,94.5189427 108.488529,108.914901 C108.508531,123.290155 98.3405064,135.09489 85.4738752,135.09489 Z M170.525237,135.09489 C157.88039,135.09489 147.510584,123.290155 147.510584,108.914901 C147.510584,94.5396472 157.658606,82.7145587 170.525237,82.7145587 C183.391518,82.7145587 193.761324,94.5189427 193.539891,108.914901 C193.539891,123.290155 183.391518,135.09489 170.525237,135.09489 Z'
|
||||
fill='#5865F2'
|
||||
fillRule='nonzero'
|
||||
/>
|
||||
</g>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -52,12 +52,15 @@ Discord components in Sim Studio use efficient lazy loading, only fetching data
|
||||
3. Create a bot and copy your bot token
|
||||
4. Under "Privileged Gateway Intents", enable the **Message Content Intent** to read message content
|
||||
5. Invite your bot to your servers with appropriate permissions
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Connect to Discord to send messages, manage channels, and interact with servers. Automate notifications, community management, and integrate Discord into your workflows.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `discord_send_message`
|
||||
@@ -66,17 +69,17 @@ Send a message to a Discord channel
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | --------------------------------------------- |
|
||||
| `botToken` | string | Yes | The bot token for authentication |
|
||||
| `channelId` | string | Yes | The Discord channel ID to send the message to |
|
||||
| `content` | string | No | The text content of the message |
|
||||
| `serverId` | string | Yes | The Discord server ID \(guild ID\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `botToken` | string | Yes | The bot token for authentication |
|
||||
| `channelId` | string | Yes | The Discord channel ID to send the message to |
|
||||
| `content` | string | No | The text content of the message |
|
||||
| `serverId` | string | Yes | The Discord server ID \(guild ID\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `message` | string |
|
||||
|
||||
### `discord_get_messages`
|
||||
@@ -85,16 +88,16 @@ Retrieve messages from a Discord channel
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ---------------------------------------------------------------- |
|
||||
| `botToken` | string | Yes | The bot token for authentication |
|
||||
| `channelId` | string | Yes | The Discord channel ID to retrieve messages from |
|
||||
| `limit` | number | No | Maximum number of messages to retrieve \(default: 10, max: 100\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `botToken` | string | Yes | The bot token for authentication |
|
||||
| `channelId` | string | Yes | The Discord channel ID to retrieve messages from |
|
||||
| `limit` | number | No | Maximum number of messages to retrieve \(default: 10, max: 100\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `message` | string |
|
||||
|
||||
### `discord_get_server`
|
||||
@@ -103,15 +106,15 @@ Retrieve information about a Discord server (guild)
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ---------- | ------ | -------- | ---------------------------------- |
|
||||
| `botToken` | string | Yes | The bot token for authentication |
|
||||
| `serverId` | string | Yes | The Discord server ID \(guild ID\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `botToken` | string | Yes | The bot token for authentication |
|
||||
| `serverId` | string | Yes | The Discord server ID \(guild ID\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `message` | string |
|
||||
|
||||
### `discord_get_user`
|
||||
@@ -120,32 +123,37 @@ Retrieve information about a Discord user
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ---------- | ------ | -------- | ------------------------------------ |
|
||||
| `botToken` | string | Yes | Discord bot token for authentication |
|
||||
| `userId` | string | Yes | The Discord user ID |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `botToken` | string | Yes | Discord bot token for authentication |
|
||||
| `userId` | string | Yes | The Discord user ID |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `message` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ----------- | ------ | ----------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `message` | string | message of the response |
|
||||
| ↳ `data` | any | data of the response |
|
||||
| ↳ `data` | any | data of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ title: File
|
||||
description: Read and parse multiple files
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="dropdown"
|
||||
color="#40916C"
|
||||
icon={true}
|
||||
@@ -13,22 +13,22 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
|
||||
|
||||
|
||||
viewBox="0 0 23 28"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox='0 0 23 28'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<path
|
||||
d="M8 15.2H15.2M8 20H11.6M2 4.4V23.6C2 24.2365 2.25286 24.847 2.70294 25.2971C3.15303 25.7471 3.76348 26 4.4 26H18.8C19.4365 26 20.047 25.7471 20.4971 25.2971C20.9471 24.847 21.2 24.2365 21.2 23.6V9.6104C21.2 9.29067 21.136 8.97417 21.012 8.67949C20.8879 8.38481 20.7062 8.11789 20.4776 7.8944L15.1496 2.684C14.7012 2.24559 14.0991 2.00008 13.472 2H4.4C3.76348 2 3.15303 2.25286 2.70294 2.70294C2.25286 3.15303 2 3.76348 2 4.4Z"
|
||||
stroke="currentColor"
|
||||
strokeWidth="2.25"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
d='M8 15.2H15.2M8 20H11.6M2 4.4V23.6C2 24.2365 2.25286 24.847 2.70294 25.2971C3.15303 25.7471 3.76348 26 4.4 26H18.8C19.4365 26 20.047 25.7471 20.4971 25.2971C20.9471 24.847 21.2 24.2365 21.2 23.6V9.6104C21.2 9.29067 21.136 8.97417 21.012 8.67949C20.8879 8.38481 20.7062 8.11789 20.4776 7.8944L15.1496 2.684C14.7012 2.24559 14.0991 2.00008 13.472 2H4.4C3.76348 2 3.15303 2.25286 2.70294 2.70294C2.25286 3.15303 2 3.76348 2 4.4Z'
|
||||
stroke='currentColor'
|
||||
strokeWidth='2.25'
|
||||
strokeLinecap='round'
|
||||
strokeLinejoin='round'
|
||||
/>
|
||||
<path
|
||||
d="M14 2V6.8C14 7.43652 14.2529 8.04697 14.7029 8.49706C15.153 8.94714 15.7635 9.2 16.4 9.2H21.2"
|
||||
stroke="currentColor"
|
||||
strokeWidth="2.25"
|
||||
strokeLinejoin="round"
|
||||
d='M14 2V6.8C14 7.43652 14.2529 8.04697 14.7029 8.49706C15.153 8.94714 15.7635 9.2 16.4 9.2H21.2'
|
||||
stroke='currentColor'
|
||||
strokeWidth='2.25'
|
||||
strokeLinejoin='round'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -47,9 +47,16 @@ With the File Parser, you can:
|
||||
The File Parser tool is particularly useful for scenarios where your agents need to work with document content, such as analyzing reports, extracting data from spreadsheets, or processing text from various document sources. It simplifies the process of making document content available to your agents, allowing them to work with information stored in files just as easily as with direct text input.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Upload and extract contents from structured file formats including PDFs, CSV spreadsheets, and Word documents (DOCX).
|
||||
Upload and extract contents from structured file formats including PDFs, CSV spreadsheets, and Word documents (DOCX). ${
|
||||
shouldEnableURLInput
|
||||
? 'You can either provide a URL to a file or upload files directly. '
|
||||
: 'Upload files directly. '
|
||||
}Specialized parsers extract text and metadata from each format. You can upload multiple files at once and access them individually or as a combined document.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
@@ -59,27 +66,32 @@ Parse one or more uploaded files or files from URLs (text, PDF, CSV, images, etc
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ---------- | ------ | -------- | ----------------------------------------------------------------------- |
|
||||
| `filePath` | string | Yes | Path to the file\(s\). Can be a single path, URL, or an array of paths. |
|
||||
| `fileType` | string | No | Type of file to parse \(auto-detected if not specified\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `filePath` | string | Yes | Path to the file\(s\). Can be a single path, URL, or an array of paths. |
|
||||
| `fileType` | string | No | Type of file to parse \(auto-detected if not specified\) |
|
||||
|
||||
#### Output
|
||||
|
||||
This tool does not produce any outputs.
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
No configuration parameters required.
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ------------------- | ------ | ------------------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `files` | json | files of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `files` | json | files of the response |
|
||||
| ↳ `combinedContent` | string | combinedContent of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
- Category: `tools`
|
||||
|
||||
@@ -3,22 +3,22 @@ title: ElevenLabs
|
||||
description: Convert TTS using ElevenLabs
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="elevenlabs"
|
||||
color="#181C1E"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
|
||||
|
||||
viewBox="0 0 876 876"
|
||||
fill="none"
|
||||
viewBox='0 0 876 876'
|
||||
fill='none'
|
||||
>
|
||||
<path d="M498 138H618V738H498V138Z" fill="currentColor" />
|
||||
<path d="M258 138H378V738H258V138Z" fill="currentColor" />
|
||||
<path d='M498 138H618V738H498V138Z' fill='currentColor' />
|
||||
<path d='M258 138H378V738H258V138Z' fill='currentColor' />
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
@@ -36,10 +36,13 @@ With ElevenLabs, you can:
|
||||
In Sim Studio, the ElevenLabs integration enables your agents to convert text to lifelike speech, enhancing the interactivity and engagement of your applications. This is particularly valuable for creating voice assistants, generating audio content, developing accessible applications, or building conversational interfaces that feel more human. The integration allows you to seamlessly incorporate ElevenLabs' advanced speech synthesis capabilities into your agent workflows, bridging the gap between text-based AI and natural human communication.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Generate realistic speech from text using ElevenLabs voices.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `elevenlabs_tts`
|
||||
@@ -48,34 +51,39 @@ Convert TTS using ElevenLabs voices
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | ---------------------------------------------------------------- |
|
||||
| `apiKey` | string | Yes | Your ElevenLabs API key |
|
||||
| `text` | string | Yes | The text to convert to speech |
|
||||
| `voiceId` | string | Yes | The ID of the voice to use |
|
||||
| `modelId` | string | No | The ID of the model to use \(defaults to eleven_monolingual_v1\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Your ElevenLabs API key |
|
||||
| `text` | string | Yes | The text to convert to speech |
|
||||
| `voiceId` | string | Yes | The ID of the voice to use |
|
||||
| `modelId` | string | No | The ID of the model to use \(defaults to eleven_monolingual_v1\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `audioUrl` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | ------------------------------------------ |
|
||||
| `text` | string | Yes | Text - Enter the text to convert to speech |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `text` | string | Yes | Text - Enter the text to convert to speech |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ------------ | ------ | ------------------------ |
|
||||
| `response` | object | Output from response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `audioUrl` | string | audioUrl of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
- Category: `tools`
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -3,32 +3,32 @@ title: Firecrawl
|
||||
description: Scrape website content
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="firecrawl"
|
||||
color="#181C1E"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" viewBox="0 0 642 600" xmlns="http://www.w3.org/2000/svg" >
|
||||
iconSvg={`<svg className="block-icon" viewBox='0 0 642 600' xmlns='http://www.w3.org/2000/svg' >
|
||||
<path
|
||||
d="M301 63C299 91 303 122 298 149C295 158 289 165 283 169C274 172 266 170 261 167C253 176 248 183 244 191C230 226 226 263 226 301C216 310 203 317 192 310C179 295 175 277 174 259C161 273 153 288 146 304C141 321 138 336 137 352C140 372 145 388 152 402C161 421 174 435 187 449C181 462 165 453 157 450C158 454 161 458 165 461C195 490 231 500 268 509C240 494 211 471 195 442C179 413 172 378 180 344C191 353 200 362 211 364C223 365 232 361 236 353C247 274 299 214 323 143C322 136 327 140 329 142C354 165 367 191 375 218C387 254 381 294 379 329C393 345 413 334 424 329C429 342 432 352 429 362C427 378 417 388 413 400C422 407 433 403 440 400C432 423 419 442 404 460C383 483 358 501 335 512C379 502 420 491 449 459C443 458 427 464 428 452C443 437 464 423 472 403C482 383 485 362 484 339C482 307 472 280 458 254C459 267 452 276 445 284C434 289 426 279 424 272C415 247 424 220 418 198C415 179 405 165 397 150C370 114 336 86 303 64"
|
||||
fill="rgb(253,76,31)"
|
||||
d='M301 63C299 91 303 122 298 149C295 158 289 165 283 169C274 172 266 170 261 167C253 176 248 183 244 191C230 226 226 263 226 301C216 310 203 317 192 310C179 295 175 277 174 259C161 273 153 288 146 304C141 321 138 336 137 352C140 372 145 388 152 402C161 421 174 435 187 449C181 462 165 453 157 450C158 454 161 458 165 461C195 490 231 500 268 509C240 494 211 471 195 442C179 413 172 378 180 344C191 353 200 362 211 364C223 365 232 361 236 353C247 274 299 214 323 143C322 136 327 140 329 142C354 165 367 191 375 218C387 254 381 294 379 329C393 345 413 334 424 329C429 342 432 352 429 362C427 378 417 388 413 400C422 407 433 403 440 400C432 423 419 442 404 460C383 483 358 501 335 512C379 502 420 491 449 459C443 458 427 464 428 452C443 437 464 423 472 403C482 383 485 362 484 339C482 307 472 280 458 254C459 267 452 276 445 284C434 289 426 279 424 272C415 247 424 220 418 198C415 179 405 165 397 150C370 114 336 86 303 64'
|
||||
fill='rgb(253,76,31)'
|
||||
/>
|
||||
<path
|
||||
d="M324 141C303 214 249 273 244 354C235 359 229 364 223 366C205 367 193 357 182 347C180 350 179 353 180 357C178 374 178 390 182 403C185 421 193 434 200 448C212 465 227 480 243 491C258 500 269 513 285 512C284 508 257 485 252 468C241 450 235 433 233 414C241 415 254 420 263 412C260 387 265 363 273 343C281 323 293 306 310 295C317 289 324 285 330 282C328 307 328 331 329 355C330 368 332 379 338 389C358 394 376 384 388 370C383 386 377 401 371 415C376 414 381 411 385 408C383 421 380 431 376 441C366 467 356 491 334 510C358 499 381 483 400 461C418 442 430 423 440 403C432 404 421 410 413 404C414 386 428 377 427 360C429 349 428 340 424 332C413 336 404 341 392 339C386 338 381 334 379 330C380 292 385 248 371 214C366 195 358 180 349 165C341 155 333 145 323 140"
|
||||
fill="rgb(254,156,69)"
|
||||
d='M324 141C303 214 249 273 244 354C235 359 229 364 223 366C205 367 193 357 182 347C180 350 179 353 180 357C178 374 178 390 182 403C185 421 193 434 200 448C212 465 227 480 243 491C258 500 269 513 285 512C284 508 257 485 252 468C241 450 235 433 233 414C241 415 254 420 263 412C260 387 265 363 273 343C281 323 293 306 310 295C317 289 324 285 330 282C328 307 328 331 329 355C330 368 332 379 338 389C358 394 376 384 388 370C383 386 377 401 371 415C376 414 381 411 385 408C383 421 380 431 376 441C366 467 356 491 334 510C358 499 381 483 400 461C418 442 430 423 440 403C432 404 421 410 413 404C414 386 428 377 427 360C429 349 428 340 424 332C413 336 404 341 392 339C386 338 381 334 379 330C380 292 385 248 371 214C366 195 358 180 349 165C341 155 333 145 323 140'
|
||||
fill='rgb(254,156,69)'
|
||||
/>
|
||||
<path
|
||||
d="M330 284C309 293 289 311 279 332C267 356 261 383 265 411C256 420 242 418 235 412C237 438 245 459 258 479C269 493 281 507 295 513C288 495 265 472 265 446C272 447 281 454 288 444C296 425 303 407 309 388C317 406 321 427 336 443C346 449 358 446 363 438C355 464 348 489 334 511C344 501 352 491 357 480C370 457 379 435 385 412C380 411 376 416 371 418C376 401 382 386 387 371C379 382 369 388 358 391C348 394 337 392 334 383C324 353 328 316 330 285"
|
||||
fill="rgb(254,220,87)"
|
||||
d='M330 284C309 293 289 311 279 332C267 356 261 383 265 411C256 420 242 418 235 412C237 438 245 459 258 479C269 493 281 507 295 513C288 495 265 472 265 446C272 447 281 454 288 444C296 425 303 407 309 388C317 406 321 427 336 443C346 449 358 446 363 438C355 464 348 489 334 511C344 501 352 491 357 480C370 457 379 435 385 412C380 411 376 416 371 418C376 401 382 386 387 371C379 382 369 388 358 391C348 394 337 392 334 383C324 353 328 316 330 285'
|
||||
fill='rgb(254,220,87)'
|
||||
/>
|
||||
<path
|
||||
d="M311 389C303 407 297 426 289 445C282 454 273 450 268 445C267 472 285 492 302 512C299 514 297 514 294 514C297 514 299 514 301 514C314 515 325 512 334 513C341 495 355 467 362 443C357 446 351 448 344 447C337 446 334 441 330 438C320 422 316 406 311 391"
|
||||
fill="rgb(251,250,202)"
|
||||
d='M311 389C303 407 297 426 289 445C282 454 273 450 268 445C267 472 285 492 302 512C299 514 297 514 294 514C297 514 299 514 301 514C314 515 325 512 334 513C341 495 355 467 362 443C357 446 351 448 344 447C337 446 334 441 330 438C320 422 316 406 311 391'
|
||||
fill='rgb(251,250,202)'
|
||||
/>
|
||||
<path
|
||||
d="M187 163C188 181 167 187 164 203C158 215 158 228 159 241C172 233 183 221 188 209C193 194 192 178 188 166"
|
||||
fill="rgb(253,76,31)"
|
||||
d='M187 163C188 181 167 187 164 203C158 215 158 228 159 241C172 233 183 221 188 209C193 194 192 178 188 166'
|
||||
fill='rgb(253,76,31)'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -48,10 +48,13 @@ With Firecrawl in Sim Studio, you can:
|
||||
The Firecrawl integration allows your agents to access and process web content programmatically without leaving the Sim Studio environment. This enables scenarios like research, content aggregation, data extraction, and information analysis from across the web. Your agents can gather information from websites, extract structured data, and use that information to make decisions or generate insights - all without having to navigate the complexities of raw HTML parsing or browser automation. Simply configure the Firecrawl block with your API key, provide the target URL, and your agents can immediately begin working with web content in a clean, structured format.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Extract content from any website with advanced web scraping capabilities and content filtering. Retrieve clean, structured data from web pages with options to focus on main content.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `firecrawl_scrape`
|
||||
@@ -60,36 +63,41 @@ Extract structured content from web pages with comprehensive metadata support. C
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------------- | ------ | -------- | ------------------------------ |
|
||||
| `apiKey` | string | Yes | Firecrawl API key |
|
||||
| `url` | string | Yes | The URL to scrape content from |
|
||||
| `scrapeOptions` | json | No | Options for content scraping |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Firecrawl API key |
|
||||
| `url` | string | Yes | The URL to scrape content from |
|
||||
| `scrapeOptions` | json | No | Options for content scraping |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `markdown` | string |
|
||||
| `html` | string |
|
||||
| `html` | string |
|
||||
| `metadata` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | -------------------------------------- |
|
||||
| `apiKey` | string | Yes | API Key - Enter your Firecrawl API key |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | API Key - Enter your Firecrawl API key |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ------------ | ------ | ------------------------ |
|
||||
| `response` | object | Output from response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `markdown` | string | markdown of the response |
|
||||
| ↳ `html` | any | html of the response |
|
||||
| ↳ `metadata` | json | metadata of the response |
|
||||
| ↳ `html` | any | html of the response |
|
||||
| ↳ `metadata` | json | metadata of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,16 +3,16 @@ title: GitHub
|
||||
description: Interact with GitHub
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="github"
|
||||
color="#181C1E"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" viewBox="0 0 26 26" xmlns="http://www.w3.org/2000/svg">
|
||||
iconSvg={`<svg className="block-icon" viewBox='0 0 26 26' xmlns='http://www.w3.org/2000/svg'>
|
||||
<path
|
||||
d="M13 0C11.2928 0 9.60235 0.336255 8.02511 0.989566C6.44788 1.64288 5.01477 2.60045 3.80761 3.80761C1.36964 6.24558 0 9.55219 0 13C0 18.746 3.731 23.621 8.892 25.35C9.542 25.454 9.75 25.051 9.75 24.7V22.503C6.149 23.283 5.382 20.761 5.382 20.761C4.784 19.253 3.939 18.85 3.939 18.85C2.756 18.044 4.03 18.07 4.03 18.07C5.33 18.161 6.019 19.409 6.019 19.409C7.15 21.385 9.061 20.8 9.802 20.488C9.919 19.643 10.257 19.071 10.621 18.746C7.735 18.421 4.706 17.303 4.706 12.35C4.706 10.907 5.2 9.75 6.045 8.827C5.915 8.502 5.46 7.15 6.175 5.395C6.175 5.395 7.267 5.044 9.75 6.721C10.777 6.435 11.895 6.292 13 6.292C14.105 6.292 15.223 6.435 16.25 6.721C18.733 5.044 19.825 5.395 19.825 5.395C20.54 7.15 20.085 8.502 19.955 8.827C20.8 9.75 21.294 10.907 21.294 12.35C21.294 17.316 18.252 18.408 15.353 18.733C15.821 19.136 16.25 19.929 16.25 21.138V24.7C16.25 25.051 16.458 25.467 17.121 25.35C22.282 23.608 26 18.746 26 13C26 11.2928 25.6637 9.60235 25.0104 8.02511C24.3571 6.44788 23.3995 5.01477 22.1924 3.80761C20.9852 2.60045 19.5521 1.64288 17.9749 0.989566C16.3977 0.336255 14.7072 0 13 0Z"
|
||||
fill="currentColor"
|
||||
d='M13 0C11.2928 0 9.60235 0.336255 8.02511 0.989566C6.44788 1.64288 5.01477 2.60045 3.80761 3.80761C1.36964 6.24558 0 9.55219 0 13C0 18.746 3.731 23.621 8.892 25.35C9.542 25.454 9.75 25.051 9.75 24.7V22.503C6.149 23.283 5.382 20.761 5.382 20.761C4.784 19.253 3.939 18.85 3.939 18.85C2.756 18.044 4.03 18.07 4.03 18.07C5.33 18.161 6.019 19.409 6.019 19.409C7.15 21.385 9.061 20.8 9.802 20.488C9.919 19.643 10.257 19.071 10.621 18.746C7.735 18.421 4.706 17.303 4.706 12.35C4.706 10.907 5.2 9.75 6.045 8.827C5.915 8.502 5.46 7.15 6.175 5.395C6.175 5.395 7.267 5.044 9.75 6.721C10.777 6.435 11.895 6.292 13 6.292C14.105 6.292 15.223 6.435 16.25 6.721C18.733 5.044 19.825 5.395 19.825 5.395C20.54 7.15 20.085 8.502 19.955 8.827C20.8 9.75 21.294 10.907 21.294 12.35C21.294 17.316 18.252 18.408 15.353 18.733C15.821 19.136 16.25 19.929 16.25 21.138V24.7C16.25 25.051 16.458 25.467 17.121 25.35C22.282 23.608 26 18.746 26 13C26 11.2928 25.6637 9.60235 25.0104 8.02511C24.3571 6.44788 23.3995 5.01477 22.1924 3.80761C20.9852 2.60045 19.5521 1.64288 17.9749 0.989566C16.3977 0.336255 14.7072 0 13 0Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -32,10 +32,13 @@ With GitHub, you can:
|
||||
In Sim Studio, the GitHub integration enables your agents to interact directly with GitHub repositories and workflows. This allows for powerful automation scenarios such as code review assistance, pull request management, issue tracking, and repository exploration. Your agents can fetch repository data, analyze code changes, post comments on pull requests, and perform other GitHub operations programmatically. This integration bridges the gap between your AI workflows and your development processes, enabling seamless collaboration between your agents and your development team.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Access GitHub repositories, pull requests, and comments through the GitHub API. Automate code reviews, PR management, and repository interactions within your workflow.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `github_pr`
|
||||
@@ -44,33 +47,33 @@ Fetch PR details including diff and files changed
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------ | ------ | -------- | ------------------- |
|
||||
| `owner` | string | Yes | Repository owner |
|
||||
| `repo` | string | Yes | Repository name |
|
||||
| `pullNumber` | number | Yes | Pull request number |
|
||||
| `apiKey` | string | Yes | GitHub API token |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `owner` | string | Yes | Repository owner |
|
||||
| `repo` | string | Yes | Repository name |
|
||||
| `pullNumber` | number | Yes | Pull request number |
|
||||
| `apiKey` | string | Yes | GitHub API token |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ------------ | ------ |
|
||||
| `metadata` | string |
|
||||
| `title` | string |
|
||||
| `state` | string |
|
||||
| `html_url` | string |
|
||||
| `diff_url` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `metadata` | string |
|
||||
| `title` | string |
|
||||
| `state` | string |
|
||||
| `html_url` | string |
|
||||
| `diff_url` | string |
|
||||
| `created_at` | string |
|
||||
| `updated_at` | string |
|
||||
| `files` | string |
|
||||
| `additions` | string |
|
||||
| `deletions` | string |
|
||||
| `changes` | string |
|
||||
| `patch` | string |
|
||||
| `blob_url` | string |
|
||||
| `raw_url` | string |
|
||||
| `status` | string |
|
||||
| `content` | string |
|
||||
| `files` | string |
|
||||
| `additions` | string |
|
||||
| `deletions` | string |
|
||||
| `changes` | string |
|
||||
| `patch` | string |
|
||||
| `blob_url` | string |
|
||||
| `raw_url` | string |
|
||||
| `status` | string |
|
||||
| `content` | string |
|
||||
|
||||
### `github_comment`
|
||||
|
||||
@@ -78,33 +81,33 @@ Create comments on GitHub PRs
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ---------------------------------------------- |
|
||||
| `owner` | string | Yes | Repository owner |
|
||||
| `repo` | string | Yes | Repository name |
|
||||
| `pullNumber` | number | Yes | Pull request number |
|
||||
| `body` | string | Yes | Comment content |
|
||||
| `path` | string | No | File path for review comment |
|
||||
| `position` | number | No | Line number for review comment |
|
||||
| `apiKey` | string | Yes | GitHub API token |
|
||||
| `commentType` | string | No | Type of comment \(pr_comment or file_comment\) |
|
||||
| `line` | number | No | Line number for review comment |
|
||||
| `side` | string | No | Side of the diff \(LEFT or RIGHT\) |
|
||||
| `commitId` | string | No | The SHA of the commit to comment on |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `owner` | string | Yes | Repository owner |
|
||||
| `repo` | string | Yes | Repository name |
|
||||
| `pullNumber` | number | Yes | Pull request number |
|
||||
| `body` | string | Yes | Comment content |
|
||||
| `path` | string | No | File path for review comment |
|
||||
| `position` | number | No | Line number for review comment |
|
||||
| `apiKey` | string | Yes | GitHub API token |
|
||||
| `commentType` | string | No | Type of comment \(pr_comment or file_comment\) |
|
||||
| `line` | number | No | Line number for review comment |
|
||||
| `side` | string | No | Side of the diff \(LEFT or RIGHT\) |
|
||||
| `commitId` | string | No | The SHA of the commit to comment on |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ------------ | ------ |
|
||||
| `metadata` | string |
|
||||
| `html_url` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `metadata` | string |
|
||||
| `html_url` | string |
|
||||
| `created_at` | string |
|
||||
| `updated_at` | string |
|
||||
| `path` | string |
|
||||
| `line` | string |
|
||||
| `side` | string |
|
||||
| `commit_id` | string |
|
||||
| `content` | string |
|
||||
| `path` | string |
|
||||
| `line` | string |
|
||||
| `side` | string |
|
||||
| `commit_id` | string |
|
||||
| `content` | string |
|
||||
|
||||
### `github_repo_info`
|
||||
|
||||
@@ -112,23 +115,23 @@ Retrieve comprehensive GitHub repository metadata including stars, forks, issues
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | ----------------------------------------- |
|
||||
| `owner` | string | Yes | Repository owner \(user or organization\) |
|
||||
| `repo` | string | Yes | Repository name |
|
||||
| `apiKey` | string | Yes | GitHub Personal Access Token |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `owner` | string | Yes | Repository owner \(user or organization\) |
|
||||
| `repo` | string | Yes | Repository name |
|
||||
| `apiKey` | string | Yes | GitHub Personal Access Token |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ------------- | ------ |
|
||||
| `metadata` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `metadata` | string |
|
||||
| `description` | string |
|
||||
| `stars` | string |
|
||||
| `forks` | string |
|
||||
| `openIssues` | string |
|
||||
| `language` | string |
|
||||
| `content` | string |
|
||||
| `stars` | string |
|
||||
| `forks` | string |
|
||||
| `openIssues` | string |
|
||||
| `language` | string |
|
||||
| `content` | string |
|
||||
|
||||
### `github_latest_commit`
|
||||
|
||||
@@ -136,40 +139,45 @@ Retrieve the latest commit from a GitHub repository
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | ----------------------------------------- |
|
||||
| `owner` | string | Yes | Repository owner \(user or organization\) |
|
||||
| `repo` | string | Yes | Repository name |
|
||||
| `branch` | string | No | Branch name \(defaults to the repository |
|
||||
| `apiKey` | string | Yes | GitHub API token |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `owner` | string | Yes | Repository owner \(user or organization\) |
|
||||
| `repo` | string | Yes | Repository name |
|
||||
| `branch` | string | No | Branch name \(defaults to the repository |
|
||||
| `apiKey` | string | Yes | GitHub API token |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------------- | ------ |
|
||||
| `metadata` | string |
|
||||
| `html_url` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `metadata` | string |
|
||||
| `html_url` | string |
|
||||
| `commit_message` | string |
|
||||
| `author` | string |
|
||||
| `login` | string |
|
||||
| `avatar_url` | string |
|
||||
| `content` | string |
|
||||
| `author` | string |
|
||||
| `login` | string |
|
||||
| `avatar_url` | string |
|
||||
| `content` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ------------ | ------ | ------------------------ |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `content` | string | content of the response |
|
||||
| ↳ `metadata` | json | metadata of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `content` | string | content of the response |
|
||||
| ↳ `metadata` | json | metadata of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,32 +3,32 @@ title: Gmail
|
||||
description: Send Gmail
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="gmail"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 48 48"
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
viewBox='0 0 48 48'
|
||||
|
||||
|
||||
|
||||
>
|
||||
<path fill="#4caf50" d="M45,16.2l-5,2.75l-5,4.75L35,40h7c1.657,0,3-1.343,3-3V16.2z" />
|
||||
<path fill="#1e88e5" d="M3,16.2l3.614,1.71L13,23.7V40H6c-1.657,0-3-1.343-3-3V16.2z" />
|
||||
<path fill='#4caf50' d='M45,16.2l-5,2.75l-5,4.75L35,40h7c1.657,0,3-1.343,3-3V16.2z' />
|
||||
<path fill='#1e88e5' d='M3,16.2l3.614,1.71L13,23.7V40H6c-1.657,0-3-1.343-3-3V16.2z' />
|
||||
<polygon
|
||||
fill="#e53935"
|
||||
points="35,11.2 24,19.45 13,11.2 12,17 13,23.7 24,31.95 35,23.7 36,17"
|
||||
fill='#e53935'
|
||||
points='35,11.2 24,19.45 13,11.2 12,17 13,23.7 24,31.95 35,23.7 36,17'
|
||||
/>
|
||||
<path
|
||||
fill="#c62828"
|
||||
d="M3,12.298V16.2l10,7.5V11.2L9.876,8.859C9.132,8.301,8.228,8,7.298,8h0C4.924,8,3,9.924,3,12.298z"
|
||||
fill='#c62828'
|
||||
d='M3,12.298V16.2l10,7.5V11.2L9.876,8.859C9.132,8.301,8.228,8,7.298,8h0C4.924,8,3,9.924,3,12.298z'
|
||||
/>
|
||||
<path
|
||||
fill="#fbc02d"
|
||||
d="M45,12.298V16.2l-10,7.5V11.2l3.124-2.341C38.868,8.301,39.772,8,40.702,8h0 C43.076,8,45,9.924,45,12.298z"
|
||||
fill='#fbc02d'
|
||||
d='M45,12.298V16.2l-10,7.5V11.2l3.124-2.341C38.868,8.301,39.772,8,40.702,8h0 C43.076,8,45,9.924,45,12.298z'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -48,10 +48,13 @@ With Gmail, you can:
|
||||
In Sim Studio, the Gmail integration enables your agents to send, read, and search emails programmatically. This allows for powerful automation scenarios such as sending notifications, processing incoming messages, extracting information from emails, and managing communication workflows. Your agents can compose and send personalized emails, search for specific messages using Gmail's query syntax, and extract content from emails to use in other parts of your workflow. Coming soon, agents will also be able to listen for new emails in real-time, enabling responsive workflows that can trigger actions based on incoming messages. This integration bridges the gap between your AI workflows and email communications, enabling seamless interaction with one of the world's most widely used communication platforms.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Integrate Gmail functionality to send email messages within your workflow. Automate email communications and process email content using OAuth authentication.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `gmail_send`
|
||||
@@ -60,18 +63,18 @@ Send emails using Gmail
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | -------------------------- |
|
||||
| `accessToken` | string | Yes | Access token for Gmail API |
|
||||
| `to` | string | Yes | Recipient email address |
|
||||
| `subject` | string | Yes | Email subject |
|
||||
| `body` | string | Yes | Email body content |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | Access token for Gmail API |
|
||||
| `to` | string | Yes | Recipient email address |
|
||||
| `subject` | string | Yes | Email subject |
|
||||
| `body` | string | Yes | Email body content |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| `content` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `content` | string |
|
||||
| `metadata` | string |
|
||||
| `threadId` | string |
|
||||
| `labelIds` | string |
|
||||
@@ -82,19 +85,19 @@ Read emails from Gmail
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------- | -------- | -------------------------------------------------------------- |
|
||||
| `accessToken` | string | Yes | Access token for Gmail API |
|
||||
| `messageId` | string | No | ID of the message to read |
|
||||
| `folder` | string | No | Folder/label to read emails from |
|
||||
| `unreadOnly` | boolean | No | Only retrieve unread messages |
|
||||
| `maxResults` | number | No | Maximum number of messages to retrieve \(default: 1, max: 10\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | Access token for Gmail API |
|
||||
| `messageId` | string | No | ID of the message to read |
|
||||
| `folder` | string | No | Folder/label to read emails from |
|
||||
| `unreadOnly` | boolean | No | Only retrieve unread messages |
|
||||
| `maxResults` | number | No | Maximum number of messages to retrieve \(default: 1, max: 10\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| `content` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `content` | string |
|
||||
| `metadata` | string |
|
||||
|
||||
### `gmail_search`
|
||||
@@ -103,29 +106,34 @@ Search emails in Gmail
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ----------------------------------- |
|
||||
| `accessToken` | string | Yes | Access token for Gmail API |
|
||||
| `query` | string | Yes | Search query for emails |
|
||||
| `maxResults` | number | No | Maximum number of results to return |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | Access token for Gmail API |
|
||||
| `query` | string | Yes | Search query for emails |
|
||||
| `maxResults` | number | No | Maximum number of results to return |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `content` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
No configuration parameters required.
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ------------ | ------ | ------------------------ |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `content` | string | content of the response |
|
||||
| ↳ `metadata` | json | metadata of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `content` | string | content of the response |
|
||||
| ↳ `metadata` | json | metadata of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,26 +3,26 @@ title: Google Docs
|
||||
description: Read, write, and create documents
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="google_docs"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 48 48"
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
viewBox='0 0 48 48'
|
||||
|
||||
|
||||
>
|
||||
<path
|
||||
fill="#2196f3"
|
||||
d="M37,45H11c-1.657,0-3-1.343-3-3V6c0-1.657,1.343-3,3-3h19l10,10v29C40,43.657,38.657,45,37,45z"
|
||||
fill='#2196f3'
|
||||
d='M37,45H11c-1.657,0-3-1.343-3-3V6c0-1.657,1.343-3,3-3h19l10,10v29C40,43.657,38.657,45,37,45z'
|
||||
/>
|
||||
<path fill="#bbdefb" d="M40 13L30 13 30 3z" />
|
||||
<path fill="#1565c0" d="M30 13L40 23 40 13z" />
|
||||
<path fill="#e3f2fd" d="M15 23H33V25H15zM15 27H33V29H15zM15 31H33V33H15zM15 35H25V37H15z" />
|
||||
<path fill='#bbdefb' d='M40 13L30 13 30 3z' />
|
||||
<path fill='#1565c0' d='M30 13L40 23 40 13z' />
|
||||
<path fill='#e3f2fd' d='M15 23H33V25H15zM15 27H33V29H15zM15 31H33V33H15zM15 35H25V37H15z' />
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
@@ -78,10 +78,13 @@ With Google Docs, you can:
|
||||
In Sim Studio, the Google Docs integration enables your agents to interact directly with document content programmatically. This allows for powerful automation scenarios such as document creation, content extraction, collaborative editing, and document management. Your agents can read existing documents to extract information, write to documents to update content, and create new documents from scratch. This integration bridges the gap between your AI workflows and document management, enabling seamless interaction with one of the world's most widely used document platforms. By connecting Sim Studio with Google Docs, you can automate document workflows, generate reports, extract insights from documents, and maintain documentation - all through your intelligent agents.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Integrate Google Docs functionality to manage documents. Read content from existing documents, write to documents, and create new documents using OAuth authentication. Supports text content manipulation for document creation and editing.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `google_docs_read`
|
||||
@@ -90,16 +93,16 @@ Read content from a Google Docs document
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ---------------------------------------- |
|
||||
| `accessToken` | string | Yes | The access token for the Google Docs API |
|
||||
| `documentId` | string | Yes | The ID of the document to read |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | The access token for the Google Docs API |
|
||||
| `documentId` | string | Yes | The ID of the document to read |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| `content` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `content` | string |
|
||||
| `metadata` | string |
|
||||
|
||||
### `google_docs_write`
|
||||
@@ -108,18 +111,18 @@ Write or update content in a Google Docs document
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ---------------------------------------- |
|
||||
| `accessToken` | string | Yes | The access token for the Google Docs API |
|
||||
| `documentId` | string | Yes | The ID of the document to write to |
|
||||
| `content` | string | Yes | The content to write to the document |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | The access token for the Google Docs API |
|
||||
| `documentId` | string | Yes | The ID of the document to write to |
|
||||
| `content` | string | Yes | The content to write to the document |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `updatedContent` | string |
|
||||
| `metadata` | string |
|
||||
| `metadata` | string |
|
||||
|
||||
### `google_docs_create`
|
||||
|
||||
@@ -127,36 +130,41 @@ Create a new Google Docs document
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ---------------------------------------------- |
|
||||
| `accessToken` | string | Yes | The access token for the Google Docs API |
|
||||
| `title` | string | Yes | The title of the document to create |
|
||||
| `content` | string | No | The content of the document to create |
|
||||
| `folderId` | string | No | The ID of the folder to create the document in |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | The access token for the Google Docs API |
|
||||
| `title` | string | Yes | The title of the document to create |
|
||||
| `content` | string | No | The content of the document to create |
|
||||
| `folderId` | string | No | The ID of the folder to create the document in |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `metadata` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ------------------ | ------- | ------------------------------ |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `content` | string | content of the response |
|
||||
| ↳ `metadata` | json | metadata of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `content` | string | content of the response |
|
||||
| ↳ `metadata` | json | metadata of the response |
|
||||
| ↳ `updatedContent` | boolean | updatedContent of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
- Category: `tools`
|
||||
|
||||
@@ -3,42 +3,42 @@ title: Google Drive
|
||||
description: Create, upload, and list files
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="google_drive"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 87.3 78"
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
viewBox='0 0 87.3 78'
|
||||
|
||||
|
||||
|
||||
>
|
||||
<path
|
||||
d="m6.6 66.85 3.85 6.65c.8 1.4 1.95 2.5 3.3 3.3l13.75-23.8h-27.5c0 1.55.4 3.1 1.2 4.5z"
|
||||
fill="#0066da"
|
||||
d='m6.6 66.85 3.85 6.65c.8 1.4 1.95 2.5 3.3 3.3l13.75-23.8h-27.5c0 1.55.4 3.1 1.2 4.5z'
|
||||
fill='#0066da'
|
||||
/>
|
||||
<path
|
||||
d="m43.65 25-13.75-23.8c-1.35.8-2.5 1.9-3.3 3.3l-25.4 44a9.06 9.06 0 0 0 -1.2 4.5h27.5z"
|
||||
fill="#00ac47"
|
||||
d='m43.65 25-13.75-23.8c-1.35.8-2.5 1.9-3.3 3.3l-25.4 44a9.06 9.06 0 0 0 -1.2 4.5h27.5z'
|
||||
fill='#00ac47'
|
||||
/>
|
||||
<path
|
||||
d="m73.55 76.8c1.35-.8 2.5-1.9 3.3-3.3l1.6-2.75 7.65-13.25c.8-1.4 1.2-2.95 1.2-4.5h-27.502l5.852 11.5z"
|
||||
fill="#ea4335"
|
||||
d='m73.55 76.8c1.35-.8 2.5-1.9 3.3-3.3l1.6-2.75 7.65-13.25c.8-1.4 1.2-2.95 1.2-4.5h-27.502l5.852 11.5z'
|
||||
fill='#ea4335'
|
||||
/>
|
||||
<path
|
||||
d="m43.65 25 13.75-23.8c-1.35-.8-2.9-1.2-4.5-1.2h-18.5c-1.6 0-3.15.45-4.5 1.2z"
|
||||
fill="#00832d"
|
||||
d='m43.65 25 13.75-23.8c-1.35-.8-2.9-1.2-4.5-1.2h-18.5c-1.6 0-3.15.45-4.5 1.2z'
|
||||
fill='#00832d'
|
||||
/>
|
||||
<path
|
||||
d="m59.8 53h-32.3l-13.75 23.8c1.35.8 2.9 1.2 4.5 1.2h50.8c1.6 0 3.15-.45 4.5-1.2z"
|
||||
fill="#2684fc"
|
||||
d='m59.8 53h-32.3l-13.75 23.8c1.35.8 2.9 1.2 4.5 1.2h50.8c1.6 0 3.15-.45 4.5-1.2z'
|
||||
fill='#2684fc'
|
||||
/>
|
||||
<path
|
||||
d="m73.4 26.5-12.7-22c-.8-1.4-1.95-2.5-3.3-3.3l-13.75 23.8 16.15 28h27.45c0-1.55-.4-3.1-1.2-4.5z"
|
||||
fill="#ffba00"
|
||||
d='m73.4 26.5-12.7-22c-.8-1.4-1.95-2.5-3.3-3.3l-13.75 23.8 16.15 28h27.45c0-1.55-.4-3.1-1.2-4.5z'
|
||||
fill='#ffba00'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -70,10 +70,13 @@ With Google Drive, you can:
|
||||
In Sim Studio, the Google Drive integration enables your agents to interact directly with your cloud storage programmatically. This allows for powerful automation scenarios such as file management, content organization, and document workflows. Your agents can upload new files to specific folders, download existing files to process their contents, and list folder contents to navigate your storage structure. This integration bridges the gap between your AI workflows and your document management system, enabling seamless file operations without manual intervention. By connecting Sim Studio with Google Drive, you can automate file-based workflows, manage documents intelligently, and incorporate cloud storage operations into your agent's capabilities.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Integrate Google Drive functionality to manage files and folders. Upload new files, get content from existing files, create new folders, and list contents of folders using OAuth authentication. Supports file operations with custom MIME types and folder organization.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `google_drive_upload`
|
||||
@@ -82,27 +85,27 @@ Upload a file to Google Drive
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ------------------------------------------ |
|
||||
| `accessToken` | string | Yes | The access token for the Google Drive API |
|
||||
| `fileName` | string | Yes | The name of the file to upload |
|
||||
| `content` | string | Yes | The content of the file to upload |
|
||||
| `mimeType` | string | No | The MIME type of the file to upload |
|
||||
| `folderId` | string | No | The ID of the folder to upload the file to |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | The access token for the Google Drive API |
|
||||
| `fileName` | string | Yes | The name of the file to upload |
|
||||
| `content` | string | Yes | The content of the file to upload |
|
||||
| `mimeType` | string | No | The MIME type of the file to upload |
|
||||
| `folderId` | string | No | The ID of the folder to upload the file to |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------------- | ------ |
|
||||
| `file` | string |
|
||||
| `name` | string |
|
||||
| `mimeType` | string |
|
||||
| `webViewLink` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `file` | string |
|
||||
| `name` | string |
|
||||
| `mimeType` | string |
|
||||
| `webViewLink` | string |
|
||||
| `webContentLink` | string |
|
||||
| `size` | string |
|
||||
| `createdTime` | string |
|
||||
| `modifiedTime` | string |
|
||||
| `parents` | string |
|
||||
| `size` | string |
|
||||
| `createdTime` | string |
|
||||
| `modifiedTime` | string |
|
||||
| `parents` | string |
|
||||
|
||||
### `google_drive_create_folder`
|
||||
|
||||
@@ -110,25 +113,25 @@ Create a new folder in Google Drive
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ------------------------------------------------------- |
|
||||
| `accessToken` | string | Yes | The access token for the Google Drive API |
|
||||
| `fileName` | string | Yes | Name of the folder to create |
|
||||
| `folderId` | string | No | ID of the parent folder \(leave empty for root folder\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | The access token for the Google Drive API |
|
||||
| `fileName` | string | Yes | Name of the folder to create |
|
||||
| `folderId` | string | No | ID of the parent folder \(leave empty for root folder\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------------- | ------ |
|
||||
| `file` | string |
|
||||
| `name` | string |
|
||||
| `mimeType` | string |
|
||||
| `webViewLink` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `file` | string |
|
||||
| `name` | string |
|
||||
| `mimeType` | string |
|
||||
| `webViewLink` | string |
|
||||
| `webContentLink` | string |
|
||||
| `size` | string |
|
||||
| `createdTime` | string |
|
||||
| `modifiedTime` | string |
|
||||
| `parents` | string |
|
||||
| `size` | string |
|
||||
| `createdTime` | string |
|
||||
| `modifiedTime` | string |
|
||||
| `parents` | string |
|
||||
|
||||
### `google_drive_list`
|
||||
|
||||
@@ -136,43 +139,48 @@ List files and folders in Google Drive
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ----------------------------------------- |
|
||||
| `accessToken` | string | Yes | The access token for the Google Drive API |
|
||||
| `folderId` | string | No | The ID of the folder to list files from |
|
||||
| `query` | string | No | A query to filter the files |
|
||||
| `pageSize` | number | No | The number of files to return |
|
||||
| `pageToken` | string | No | The page token to use for pagination |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | The access token for the Google Drive API |
|
||||
| `folderId` | string | No | The ID of the folder to list files from |
|
||||
| `query` | string | No | A query to filter the files |
|
||||
| `pageSize` | number | No | The number of files to return |
|
||||
| `pageToken` | string | No | The page token to use for pagination |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------------- | ------ |
|
||||
| `files` | string |
|
||||
| `name` | string |
|
||||
| `mimeType` | string |
|
||||
| `webViewLink` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `files` | string |
|
||||
| `name` | string |
|
||||
| `mimeType` | string |
|
||||
| `webViewLink` | string |
|
||||
| `webContentLink` | string |
|
||||
| `size` | string |
|
||||
| `createdTime` | string |
|
||||
| `modifiedTime` | string |
|
||||
| `parents` | string |
|
||||
| `size` | string |
|
||||
| `createdTime` | string |
|
||||
| `modifiedTime` | string |
|
||||
| `parents` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ---------- | ------ | --------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `file` | json | file of the response |
|
||||
| ↳ `files` | json | files of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `file` | json | file of the response |
|
||||
| ↳ `files` | json | files of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,28 +3,28 @@ title: Google Search
|
||||
description: Search the web
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="google_search"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" >
|
||||
iconSvg={`<svg className="block-icon" xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' >
|
||||
<path
|
||||
fill="#fbc02d"
|
||||
d="M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12 s5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24s8.955,20,20,20 s20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z"
|
||||
fill='#fbc02d'
|
||||
d='M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12 s5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24s8.955,20,20,20 s20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z'
|
||||
/>
|
||||
<path
|
||||
fill="#e53935"
|
||||
d="M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039 l5.657-5.657C34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z"
|
||||
fill='#e53935'
|
||||
d='M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039 l5.657-5.657C34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z'
|
||||
/>
|
||||
<path
|
||||
fill="#4caf50"
|
||||
d="M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36 c-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z"
|
||||
fill='#4caf50'
|
||||
d='M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36 c-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z'
|
||||
/>
|
||||
<path
|
||||
fill="#1565c0"
|
||||
d="M43.611,20.083L43.595,20L42,20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571 c0.001-0.001,0.002-0.001,0.003-0.002l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z"
|
||||
fill='#1565c0'
|
||||
d='M43.611,20.083L43.595,20L42,20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571 c0.001-0.001,0.002-0.001,0.003-0.002l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -55,10 +55,13 @@ With Google Search, you can:
|
||||
In Sim Studio, the Google Search integration enables your agents to search the web programmatically and incorporate search results into their workflows. This allows for powerful automation scenarios such as research, fact-checking, data gathering, and information synthesis. Your agents can formulate search queries, retrieve relevant results, and extract information from those results to make decisions or generate insights. This integration bridges the gap between your AI workflows and the vast information available on the web, enabling your agents to access up-to-date information from across the internet. By connecting Sim Studio with Google Search, you can create agents that stay informed with the latest information, verify facts, conduct research, and provide users with relevant web content - all without leaving your workflow.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Searches the web using the Google Custom Search API, which provides high-quality search results from the entire internet or a specific site defined by a custom search engine ID.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `google_search`
|
||||
@@ -67,30 +70,34 @@ Search the web with the Custom Search API
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ---------------- | ------ | -------- | ---------------------------------------------------- |
|
||||
| `query` | string | Yes | The search query to execute |
|
||||
| `apiKey` | string | Yes | Google API key |
|
||||
| `searchEngineId` | string | Yes | Custom Search Engine ID |
|
||||
| `num` | string | No | Number of results to return \(default: 10, max: 10\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `query` | string | Yes | The search query to execute |
|
||||
| `apiKey` | string | Yes | Google API key |
|
||||
| `searchEngineId` | string | Yes | Custom Search Engine ID |
|
||||
| `num` | string | No | Number of results to return \(default: 10, max: 10\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ----------------------- | ------ |
|
||||
| `items` | string |
|
||||
| `searchInformation` | string |
|
||||
| `searchTime` | string |
|
||||
| `formattedSearchTime` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `items` | string |
|
||||
| `searchInformation` | string |
|
||||
| `searchTime` | string |
|
||||
| `formattedSearchTime` | string |
|
||||
| `formattedTotalResults` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | -------------------------------------- |
|
||||
| `query` | string | Yes | Search Query - Enter your search query |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `query` | string | Yes | Search Query - Enter your search query |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
|
||||
@@ -3,28 +3,28 @@ title: Google Sheets
|
||||
description: Read, write, and update data
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="google_sheets"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 48 48"
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
viewBox='0 0 48 48'
|
||||
|
||||
|
||||
>
|
||||
<path
|
||||
fill="#43a047"
|
||||
d="M37,45H11c-1.657,0-3-1.343-3-3V6c0-1.657,1.343-3,3-3h19l10,10v29C40,43.657,38.657,45,37,45z"
|
||||
fill='#43a047'
|
||||
d='M37,45H11c-1.657,0-3-1.343-3-3V6c0-1.657,1.343-3,3-3h19l10,10v29C40,43.657,38.657,45,37,45z'
|
||||
/>
|
||||
<path fill="#c8e6c9" d="M40 13L30 13 30 3z" />
|
||||
<path fill="#2e7d32" d="M30 13L40 23 40 13z" />
|
||||
<path fill='#c8e6c9' d='M40 13L30 13 30 3z' />
|
||||
<path fill='#2e7d32' d='M30 13L40 23 40 13z' />
|
||||
<path
|
||||
fill="#e8f5e9"
|
||||
d="M31,23H17h-2v2v2v2v2v2v2v2h18v-2v-2v-2v-2v-2v-2v-2H31z M17,25h4v2h-4V25z M17,29h4v2h-4V29z M17,33h4v2h-4V33z M31,35h-8v-2h8V35z M31,31h-8v-2h8V31z M31,27h-8v-2h8V27z"
|
||||
fill='#e8f5e9'
|
||||
d='M31,23H17h-2v2v2v2v2v2v2v2h18v-2v-2v-2v-2v-2v-2v-2H31z M17,25h4v2h-4V25z M17,29h4v2h-4V29z M17,33h4v2h-4V33z M31,35h-8v-2h8V35z M31,31h-8v-2h8V31z M31,27h-8v-2h8V27z'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -93,10 +93,13 @@ With Google Sheets, you can:
|
||||
In Sim Studio, the Google Sheets integration enables your agents to interact directly with spreadsheet data programmatically. This allows for powerful automation scenarios such as data extraction, analysis, reporting, and management. Your agents can read existing spreadsheets to extract information, write to spreadsheets to update data, and create new spreadsheets from scratch. This integration bridges the gap between your AI workflows and data management, enabling seamless interaction with structured data. By connecting Sim Studio with Google Sheets, you can automate data workflows, generate reports, extract insights from data, and maintain up-to-date information - all through your intelligent agents. The integration supports various data formats and range specifications, making it flexible enough to handle diverse data management needs while maintaining the collaborative and accessible nature of Google Sheets.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Integrate Google Sheets functionality to manage spreadsheet data. Read data from specific ranges, write new data, update existing cells, and append data to the end of sheets using OAuth authentication. Supports various input and output formats for flexible data handling.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `google_sheets_read`
|
||||
@@ -105,17 +108,17 @@ Read data from a Google Sheets spreadsheet
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------------- | ------ | -------- | ------------------------------------------ |
|
||||
| `accessToken` | string | Yes | The access token for the Google Sheets API |
|
||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to read from |
|
||||
| `range` | string | No | The range of cells to read from |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | The access token for the Google Sheets API |
|
||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to read from |
|
||||
| `range` | string | No | The range of cells to read from |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `data` | json |
|
||||
| `data` | json |
|
||||
|
||||
### `google_sheets_write`
|
||||
|
||||
@@ -123,25 +126,25 @@ Write data to a Google Sheets spreadsheet
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------------------- | ------- | -------- | ----------------------------------------------------- |
|
||||
| `accessToken` | string | Yes | The access token for the Google Sheets API |
|
||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to write to |
|
||||
| `range` | string | No | The range of cells to write to |
|
||||
| `values` | array | Yes | The data to write to the spreadsheet |
|
||||
| `valueInputOption` | string | No | The format of the data to write |
|
||||
| `includeValuesInResponse` | boolean | No | Whether to include the written values in the response |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | The access token for the Google Sheets API |
|
||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to write to |
|
||||
| `range` | string | No | The range of cells to write to |
|
||||
| `values` | array | Yes | The data to write to the spreadsheet |
|
||||
| `valueInputOption` | string | No | The format of the data to write |
|
||||
| `includeValuesInResponse` | boolean | No | Whether to include the written values in the response |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------------- | ------ |
|
||||
| `updatedRange` | string |
|
||||
| `updatedRows` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `updatedRange` | string |
|
||||
| `updatedRows` | string |
|
||||
| `updatedColumns` | string |
|
||||
| `updatedCells` | string |
|
||||
| `metadata` | string |
|
||||
| `spreadsheetId` | string |
|
||||
| `updatedCells` | string |
|
||||
| `metadata` | string |
|
||||
| `spreadsheetId` | string |
|
||||
| `spreadsheetUrl` | string |
|
||||
|
||||
### `google_sheets_update`
|
||||
@@ -150,25 +153,25 @@ Update data in a Google Sheets spreadsheet
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------------------- | ------- | -------- | ----------------------------------------------------- |
|
||||
| `accessToken` | string | Yes | The access token for the Google Sheets API |
|
||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to update |
|
||||
| `range` | string | No | The range of cells to update |
|
||||
| `values` | array | Yes | The data to update in the spreadsheet |
|
||||
| `valueInputOption` | string | No | The format of the data to update |
|
||||
| `includeValuesInResponse` | boolean | No | Whether to include the updated values in the response |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | The access token for the Google Sheets API |
|
||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to update |
|
||||
| `range` | string | No | The range of cells to update |
|
||||
| `values` | array | Yes | The data to update in the spreadsheet |
|
||||
| `valueInputOption` | string | No | The format of the data to update |
|
||||
| `includeValuesInResponse` | boolean | No | Whether to include the updated values in the response |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------------- | ------ |
|
||||
| `updatedRange` | string |
|
||||
| `updatedRows` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `updatedRange` | string |
|
||||
| `updatedRows` | string |
|
||||
| `updatedColumns` | string |
|
||||
| `updatedCells` | string |
|
||||
| `metadata` | string |
|
||||
| `spreadsheetId` | string |
|
||||
| `updatedCells` | string |
|
||||
| `metadata` | string |
|
||||
| `spreadsheetId` | string |
|
||||
| `spreadsheetUrl` | string |
|
||||
|
||||
### `google_sheets_append`
|
||||
@@ -177,42 +180,47 @@ Append data to the end of a Google Sheets spreadsheet
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------------------- | ------- | -------- | ------------------------------------------------------ |
|
||||
| `accessToken` | string | Yes | The access token for the Google Sheets API |
|
||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to append to |
|
||||
| `range` | string | No | The range of cells to append after |
|
||||
| `values` | array | Yes | The data to append to the spreadsheet |
|
||||
| `valueInputOption` | string | No | The format of the data to append |
|
||||
| `insertDataOption` | string | No | How to insert the data \(OVERWRITE or INSERT_ROWS\) |
|
||||
| `includeValuesInResponse` | boolean | No | Whether to include the appended values in the response |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | The access token for the Google Sheets API |
|
||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to append to |
|
||||
| `range` | string | No | The range of cells to append after |
|
||||
| `values` | array | Yes | The data to append to the spreadsheet |
|
||||
| `valueInputOption` | string | No | The format of the data to append |
|
||||
| `insertDataOption` | string | No | How to insert the data \(OVERWRITE or INSERT_ROWS\) |
|
||||
| `includeValuesInResponse` | boolean | No | Whether to include the appended values in the response |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `data` | json |
|
||||
| `data` | json |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ------------------ | ------ | ------------------------------ |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `data` | json | data of the response |
|
||||
| ↳ `metadata` | json | metadata of the response |
|
||||
| ↳ `updatedRange` | string | updatedRange of the response |
|
||||
| ↳ `updatedRows` | number | updatedRows of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `data` | json | data of the response |
|
||||
| ↳ `metadata` | json | metadata of the response |
|
||||
| ↳ `updatedRange` | string | updatedRange of the response |
|
||||
| ↳ `updatedRows` | number | updatedRows of the response |
|
||||
| ↳ `updatedColumns` | number | updatedColumns of the response |
|
||||
| ↳ `updatedCells` | number | updatedCells of the response |
|
||||
| ↳ `tableRange` | string | tableRange of the response |
|
||||
| ↳ `updatedCells` | number | updatedCells of the response |
|
||||
| ↳ `tableRange` | string | tableRange of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ title: Guesty
|
||||
description: Interact with Guesty property management system
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="guesty"
|
||||
color="#0051F8"
|
||||
icon={true}
|
||||
@@ -13,13 +13,13 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
|
||||
|
||||
|
||||
viewBox="0 0 101 100"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox='0 0 101 100'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<path
|
||||
d="M56.6019 2.6685C53.2445 0.339792 48.8025 0.308905 45.413 2.5907L44.1323 3.45286C44.1309 3.45379 44.1296 3.45471 44.1282 3.45564L5.37916 29.5416C5.37801 29.5424 5.37687 29.5431 5.37572 29.5439L4.37839 30.2153C1.64126 32.058 0 35.1414 0 38.441V90.0841C0 95.5599 4.4395 100 9.91593 100H67.4737C72.9501 100 77.389 95.5605 77.389 90.0841V49.6765C77.389 46.3038 75.675 43.1622 72.8385 41.3373L56.3027 30.6989C53.0908 28.6325 48.9777 28.5944 45.728 30.6009L28.3986 41.301C25.4732 43.1073 23.6922 46.3001 23.6922 49.7382V75.553H33.3248V51.0025C33.3248 50.1189 33.7823 49.2983 34.5337 48.8337L34.535 48.8329L49.5731 39.5476C50.408 39.0322 51.4645 39.0414 52.29 39.5714L66.5886 48.7705C67.3167 49.24 67.7564 50.0471 67.7564 50.9134V87.8176C67.7564 89.2256 66.6152 90.3674 65.2072 90.3674H12.1824C10.7742 90.3674 9.63262 89.2256 9.63262 87.8176V39.6474C9.63262 38.7995 10.0541 38.0071 10.7571 37.5331L49.5075 11.4463C50.3783 10.8601 51.5192 10.8675 52.3822 11.4646L89.8995 37.4867C89.9007 37.4877 89.9024 37.4886 89.9035 37.4896C90.588 37.9663 90.9959 38.7476 90.9959 39.5819V100H100.629V38.3956C100.629 35.1448 99.0352 32.1005 96.3641 30.2478L95.3969 29.5767C95.3941 29.575 95.3918 29.5733 95.3895 29.5717L56.6019 2.6685Z"
|
||||
fill="currentColor"
|
||||
d='M56.6019 2.6685C53.2445 0.339792 48.8025 0.308905 45.413 2.5907L44.1323 3.45286C44.1309 3.45379 44.1296 3.45471 44.1282 3.45564L5.37916 29.5416C5.37801 29.5424 5.37687 29.5431 5.37572 29.5439L4.37839 30.2153C1.64126 32.058 0 35.1414 0 38.441V90.0841C0 95.5599 4.4395 100 9.91593 100H67.4737C72.9501 100 77.389 95.5605 77.389 90.0841V49.6765C77.389 46.3038 75.675 43.1622 72.8385 41.3373L56.3027 30.6989C53.0908 28.6325 48.9777 28.5944 45.728 30.6009L28.3986 41.301C25.4732 43.1073 23.6922 46.3001 23.6922 49.7382V75.553H33.3248V51.0025C33.3248 50.1189 33.7823 49.2983 34.5337 48.8337L34.535 48.8329L49.5731 39.5476C50.408 39.0322 51.4645 39.0414 52.29 39.5714L66.5886 48.7705C67.3167 49.24 67.7564 50.0471 67.7564 50.9134V87.8176C67.7564 89.2256 66.6152 90.3674 65.2072 90.3674H12.1824C10.7742 90.3674 9.63262 89.2256 9.63262 87.8176V39.6474C9.63262 38.7995 10.0541 38.0071 10.7571 37.5331L49.5075 11.4463C50.3783 10.8601 51.5192 10.8675 52.3822 11.4646L89.8995 37.4867C89.9007 37.4877 89.9024 37.4886 89.9035 37.4896C90.588 37.9663 90.9959 38.7476 90.9959 39.5819V100H100.629V38.3956C100.629 35.1448 99.0352 32.1005 96.3641 30.2478L95.3969 29.5767C95.3941 29.575 95.3918 29.5733 95.3895 29.5717L56.6019 2.6685Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -39,10 +39,13 @@ With Guesty, property managers can:
|
||||
In Sim Studio, the Guesty integration enables your agents to interact directly with your property management system programmatically. This allows for powerful automation scenarios such as reservation management, guest communication, and operational workflows. Your agents can retrieve detailed reservation information by ID, including guest details, booking dates, and property information. They can also search for guests by phone number to access their profiles and booking history. This integration bridges the gap between your AI workflows and your property management operations, enabling seamless handling of hospitality tasks without manual intervention. By connecting Sim Studio with Guesty, you can automate guest communications, streamline check-in processes, manage reservation details, and enhance the overall guest experience through intelligent automation.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Access Guesty property management data including reservations and guest information. Retrieve reservation details by ID or search for guests by phone number.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `guesty_reservation`
|
||||
@@ -51,19 +54,19 @@ Fetch reservation details from Guesty by reservation ID
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------------- | ------ | -------- | ---------------------------------- |
|
||||
| `apiKey` | string | Yes | Your Guesty API token |
|
||||
| `reservationId` | string | Yes | The ID of the reservation to fetch |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Your Guesty API token |
|
||||
| `reservationId` | string | Yes | The ID of the reservation to fetch |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| `id` | string |
|
||||
| `guest` | string |
|
||||
| `email` | string |
|
||||
| `phone` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `id` | string |
|
||||
| `guest` | string |
|
||||
| `email` | string |
|
||||
| `phone` | string |
|
||||
|
||||
### `guesty_guest`
|
||||
|
||||
@@ -71,44 +74,49 @@ Search for guests in Guesty by phone number
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ------------------------------ |
|
||||
| `apiKey` | string | Yes | Your Guesty API token |
|
||||
| `phoneNumber` | string | Yes | The phone number to search for |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Your Guesty API token |
|
||||
| `phoneNumber` | string | Yes | The phone number to search for |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| `guests` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `guests` | string |
|
||||
| `fullName` | string |
|
||||
| `email` | string |
|
||||
| `phone` | string |
|
||||
| `address` | string |
|
||||
| `city` | string |
|
||||
| `country` | string |
|
||||
| `email` | string |
|
||||
| `phone` | string |
|
||||
| `address` | string |
|
||||
| `city` | string |
|
||||
| `country` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | ----------- |
|
||||
| `action` | string | Yes | Action |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `action` | string | Yes | Action |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ------------ | ------ | ------------------------ |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `id` | string | id of the response |
|
||||
| ↳ `guest` | json | guest of the response |
|
||||
| ↳ `checkIn` | string | checkIn of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `id` | string | id of the response |
|
||||
| ↳ `guest` | json | guest of the response |
|
||||
| ↳ `checkIn` | string | checkIn of the response |
|
||||
| ↳ `checkOut` | string | checkOut of the response |
|
||||
| ↳ `status` | string | status of the response |
|
||||
| ↳ `listing` | json | listing of the response |
|
||||
| ↳ `money` | json | money of the response |
|
||||
| ↳ `guests` | json | guests of the response |
|
||||
| ↳ `status` | string | status of the response |
|
||||
| ↳ `listing` | json | listing of the response |
|
||||
| ↳ `money` | json | money of the response |
|
||||
| ↳ `guests` | json | guests of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ title: Image Generator
|
||||
description: Generate images
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="image_generator"
|
||||
color="#4D5FFF"
|
||||
icon={true}
|
||||
@@ -13,17 +13,17 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
|
||||
|
||||
|
||||
viewBox="0 0 26 26"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
stroke="currentColor"
|
||||
strokeWidth="2"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
viewBox='0 0 26 26'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
stroke='currentColor'
|
||||
strokeWidth='2'
|
||||
strokeLinecap='round'
|
||||
strokeLinejoin='round'
|
||||
>
|
||||
<path d="M24.903 10.32C16.0897 9.10933 8.48966 15.6533 9.00033 24.3333M5.66699 7.66667C5.66699 8.37391 5.94794 9.05219 6.44804 9.55228C6.94814 10.0524 7.62641 10.3333 8.33366 10.3333C9.0409 10.3333 9.71918 10.0524 10.2193 9.55228C10.7194 9.05219 11.0003 8.37391 11.0003 7.66667C11.0003 6.95942 10.7194 6.28115 10.2193 5.78105C9.71918 5.28095 9.0409 5 8.33366 5C7.62641 5 6.94814 5.28095 6.44804 5.78105C5.94794 6.28115 5.66699 6.95942 5.66699 7.66667Z" />
|
||||
<path d="M1 14.4213C4.70667 13.908 8.03333 15.6986 9.832 18.5546" />
|
||||
<path d="M1 9.53333C1 6.54667 1 5.05333 1.58133 3.912C2.09265 2.90851 2.90851 2.09265 3.912 1.58133C5.05333 1 6.54667 1 9.53333 1H16.4667C19.4533 1 20.9467 1 22.088 1.58133C23.0915 2.09265 23.9073 2.90851 24.4187 3.912C25 5.05333 25 6.54667 25 9.53333V16.4667C25 19.4533 25 20.9467 24.4187 22.088C23.9073 23.0915 23.0915 23.9073 22.088 24.4187C20.9467 25 19.4533 25 16.4667 25H9.53333C6.54667 25 5.05333 25 3.912 24.4187C2.90851 23.9073 2.09265 23.0915 1.58133 22.088C1 20.9467 1 19.4533 1 16.4667V9.53333Z" />
|
||||
<path d='M24.903 10.32C16.0897 9.10933 8.48966 15.6533 9.00033 24.3333M5.66699 7.66667C5.66699 8.37391 5.94794 9.05219 6.44804 9.55228C6.94814 10.0524 7.62641 10.3333 8.33366 10.3333C9.0409 10.3333 9.71918 10.0524 10.2193 9.55228C10.7194 9.05219 11.0003 8.37391 11.0003 7.66667C11.0003 6.95942 10.7194 6.28115 10.2193 5.78105C9.71918 5.28095 9.0409 5 8.33366 5C7.62641 5 6.94814 5.28095 6.44804 5.78105C5.94794 6.28115 5.66699 6.95942 5.66699 7.66667Z' />
|
||||
<path d='M1 14.4213C4.70667 13.908 8.03333 15.6986 9.832 18.5546' />
|
||||
<path d='M1 9.53333C1 6.54667 1 5.05333 1.58133 3.912C2.09265 2.90851 2.90851 2.09265 3.912 1.58133C5.05333 1 6.54667 1 9.53333 1H16.4667C19.4533 1 20.9467 1 22.088 1.58133C23.0915 2.09265 23.9073 2.90851 24.4187 3.912C25 5.05333 25 6.54667 25 9.53333V16.4667C25 19.4533 25 20.9467 24.4187 22.088C23.9073 23.0915 23.0915 23.9073 22.088 24.4187C20.9467 25 19.4533 25 16.4667 25H9.53333C6.54667 25 5.05333 25 3.912 24.4187C2.90851 23.9073 2.09265 23.0915 1.58133 22.088C1 20.9467 1 19.4533 1 16.4667V9.53333Z' />
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
@@ -43,10 +43,13 @@ With DALL-E, you can:
|
||||
In Sim Studio, the DALL-E integration enables your agents to generate images programmatically as part of their workflows. This allows for powerful automation scenarios such as content creation, visual design, and creative ideation. Your agents can formulate detailed prompts, generate corresponding images, and incorporate these visuals into their outputs or downstream processes. This integration bridges the gap between natural language processing and visual content creation, enabling your agents to communicate not just through text but also through compelling imagery. By connecting Sim Studio with DALL-E, you can create agents that produce visual content on demand, illustrate concepts, generate design assets, and enhance user experiences with rich visual elements - all without requiring human intervention in the creative process.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Create high-quality images using OpenAI
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `openai_image`
|
||||
@@ -55,41 +58,46 @@ Generate images using OpenAI
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------ | ------ | -------- | ----------------------------------------------------------------------- |
|
||||
| `prompt` | string | Yes | A text description of the desired image |
|
||||
| `model` | string | Yes | The model to use \(gpt-image-1 or dall-e-3\) |
|
||||
| `size` | string | Yes | The size of the generated images \(1024x1024, 1024x1792, or 1792x1024\) |
|
||||
| `quality` | string | No | The quality of the image \(standard or hd\) |
|
||||
| `style` | string | No | The style of the image \(vivid or natural\) |
|
||||
| `background` | string | No | The background color, only for gpt-image-1 |
|
||||
| `n` | number | No | The number of images to generate \(1-10\) |
|
||||
| `apiKey` | string | Yes | Your OpenAI API key |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `prompt` | string | Yes | A text description of the desired image |
|
||||
| `model` | string | Yes | The model to use \(gpt-image-1 or dall-e-3\) |
|
||||
| `size` | string | Yes | The size of the generated images \(1024x1024, 1024x1792, or 1792x1024\) |
|
||||
| `quality` | string | No | The quality of the image \(standard or hd\) |
|
||||
| `style` | string | No | The style of the image \(vivid or natural\) |
|
||||
| `background` | string | No | The background color, only for gpt-image-1 |
|
||||
| `n` | number | No | The number of images to generate \(1-10\) |
|
||||
| `apiKey` | string | Yes | Your OpenAI API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| `content` | string |
|
||||
| `image` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `content` | string |
|
||||
| `image` | string |
|
||||
| `metadata` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | ----------- |
|
||||
| `prompt` | string | Yes | |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `prompt` | string | Yes | |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ------------ | ------ | ------------------------ |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `content` | string | content of the response |
|
||||
| ↳ `image` | string | image of the response |
|
||||
| ↳ `metadata` | json | metadata of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `content` | string | content of the response |
|
||||
| ↳ `image` | string | image of the response |
|
||||
| ↳ `metadata` | json | metadata of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ title: Tools
|
||||
description: Powerful tools to enhance your agentic workflows
|
||||
---
|
||||
|
||||
import { Card, Cards } from 'fumadocs-ui/components/card'
|
||||
import { Step, Steps } from 'fumadocs-ui/components/steps'
|
||||
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
|
||||
import { Card, Cards } from "fumadocs-ui/components/card";
|
||||
import { Step, Steps } from "fumadocs-ui/components/steps";
|
||||
import { Tab, Tabs } from "fumadocs-ui/components/tabs";
|
||||
|
||||
Tools are powerful components in Sim Studio that allow your workflows to interact with external services, process data, and perform specialized tasks. They extend the capabilities of your agents and workflows by providing access to various APIs and services.
|
||||
|
||||
@@ -19,14 +19,16 @@ There are two primary ways to use tools in your Sim Studio workflows:
|
||||
|
||||
<Steps>
|
||||
<Step>
|
||||
<strong>As Standalone Blocks</strong>: Tools can be added as individual blocks on the canvas
|
||||
when you need deterministic, direct access to their functionality. This gives you precise
|
||||
control over when and how the tool is called.
|
||||
<strong>As Standalone Blocks</strong>: Tools can be added as individual
|
||||
blocks on the canvas when you need deterministic, direct access to their
|
||||
functionality. This gives you precise control over when and how the tool is
|
||||
called.
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>As Agent Tools</strong>: Tools can be added to Agent blocks by clicking "Add tools" and
|
||||
configuring the required parameters. This allows agents to dynamically choose which tools to use
|
||||
based on the context and requirements of the task.
|
||||
<strong>As Agent Tools</strong>: Tools can be added to Agent blocks by
|
||||
clicking "Add tools" and configuring the required parameters. This allows
|
||||
agents to dynamically choose which tools to use based on the context and
|
||||
requirements of the task.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ title: Jina
|
||||
description: Convert website content into text
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="jina"
|
||||
color="#333333"
|
||||
icon={true}
|
||||
@@ -13,33 +13,33 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
|
||||
|
||||
|
||||
viewBox="0 0 30 14"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox='0 0 30 14'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<path
|
||||
d="M17.1516 5.25628C17.1724 5.25598 17.1932 5.25598 17.2146 5.25569C17.2831 5.2551 17.3514 5.2554 17.4197 5.25598C17.468 5.25569 17.5161 5.25569 17.5644 5.2554C17.6655 5.2554 17.7665 5.25569 17.8679 5.25628C17.9956 5.25686 18.1237 5.25657 18.2514 5.25569C19.3043 5.251 20.25 5.39426 21.0642 6.12112C21.0958 6.14632 21.1275 6.17122 21.1594 6.19612C21.8277 6.7885 22.2088 7.68733 22.2704 8.56624C22.278 8.73762 22.2777 8.90901 22.2768 9.08069C22.2771 9.1346 22.2771 9.1885 22.2771 9.24241C22.2774 9.35432 22.2771 9.46594 22.2768 9.57786C22.2762 9.72083 22.2765 9.8638 22.2771 10.0068C22.2774 10.1178 22.2774 10.2285 22.2771 10.3393C22.2771 10.3923 22.2771 10.445 22.2774 10.4978C22.2774 10.571 22.2771 10.6446 22.2765 10.7181C22.2768 10.7395 22.2771 10.7612 22.2771 10.7831C22.2753 10.9405 22.2408 11.0615 22.1335 11.1789C21.9882 11.292 21.8977 11.3102 21.7163 11.3108C21.6862 11.3108 21.6862 11.3108 21.6551 11.3111C21.5874 11.3114 21.5198 11.3114 21.4521 11.3114C21.4035 11.3114 21.3551 11.3116 21.3065 11.3116C21.1746 11.3122 21.0428 11.3122 20.9107 11.3125C20.8284 11.3125 20.746 11.3125 20.6637 11.3128C20.4059 11.3131 20.1481 11.3134 19.8903 11.3137C19.5926 11.3137 19.2953 11.3143 18.9976 11.3152C18.7676 11.3157 18.5376 11.316 18.3077 11.316C18.1703 11.316 18.0329 11.3163 17.8954 11.3169C17.7663 11.3172 17.6368 11.3172 17.5076 11.3172C17.4601 11.3169 17.4129 11.3172 17.3655 11.3175C17.3007 11.3178 17.2357 11.3178 17.1709 11.3175C17.1349 11.3175 17.0986 11.3175 17.0614 11.3175C16.933 11.3034 16.8343 11.2621 16.7385 11.1748C16.6243 11.0278 16.6067 10.9246 16.6067 10.7436C16.6064 10.7111 16.6064 10.7111 16.6064 10.678C16.6061 10.605 16.6058 10.5321 16.6058 10.4594C16.6055 10.4073 16.6055 10.3551 16.6052 10.303C16.6046 10.1313 16.6043 9.95989 16.604 9.78821C16.6037 9.72932 16.6037 9.67014 16.6037 9.61126C16.6032 9.33382 16.6026 9.05637 16.6023 8.77893C16.602 8.45872 16.6014 8.1385 16.6002 7.81858C16.5994 7.57102 16.5988 7.32346 16.5988 7.07591C16.5988 6.92825 16.5985 6.7803 16.5976 6.63264C16.597 6.49348 16.597 6.35432 16.5973 6.21516C16.5973 6.16419 16.597 6.11321 16.5967 6.06223C16.5929 5.56565 16.5929 5.56565 16.7283 5.3887C16.8583 5.27737 16.9811 5.25657 17.1516 5.25628Z"
|
||||
fill="currentColor"
|
||||
d='M17.1516 5.25628C17.1724 5.25598 17.1932 5.25598 17.2146 5.25569C17.2831 5.2551 17.3514 5.2554 17.4197 5.25598C17.468 5.25569 17.5161 5.25569 17.5644 5.2554C17.6655 5.2554 17.7665 5.25569 17.8679 5.25628C17.9956 5.25686 18.1237 5.25657 18.2514 5.25569C19.3043 5.251 20.25 5.39426 21.0642 6.12112C21.0958 6.14632 21.1275 6.17122 21.1594 6.19612C21.8277 6.7885 22.2088 7.68733 22.2704 8.56624C22.278 8.73762 22.2777 8.90901 22.2768 9.08069C22.2771 9.1346 22.2771 9.1885 22.2771 9.24241C22.2774 9.35432 22.2771 9.46594 22.2768 9.57786C22.2762 9.72083 22.2765 9.8638 22.2771 10.0068C22.2774 10.1178 22.2774 10.2285 22.2771 10.3393C22.2771 10.3923 22.2771 10.445 22.2774 10.4978C22.2774 10.571 22.2771 10.6446 22.2765 10.7181C22.2768 10.7395 22.2771 10.7612 22.2771 10.7831C22.2753 10.9405 22.2408 11.0615 22.1335 11.1789C21.9882 11.292 21.8977 11.3102 21.7163 11.3108C21.6862 11.3108 21.6862 11.3108 21.6551 11.3111C21.5874 11.3114 21.5198 11.3114 21.4521 11.3114C21.4035 11.3114 21.3551 11.3116 21.3065 11.3116C21.1746 11.3122 21.0428 11.3122 20.9107 11.3125C20.8284 11.3125 20.746 11.3125 20.6637 11.3128C20.4059 11.3131 20.1481 11.3134 19.8903 11.3137C19.5926 11.3137 19.2953 11.3143 18.9976 11.3152C18.7676 11.3157 18.5376 11.316 18.3077 11.316C18.1703 11.316 18.0329 11.3163 17.8954 11.3169C17.7663 11.3172 17.6368 11.3172 17.5076 11.3172C17.4601 11.3169 17.4129 11.3172 17.3655 11.3175C17.3007 11.3178 17.2357 11.3178 17.1709 11.3175C17.1349 11.3175 17.0986 11.3175 17.0614 11.3175C16.933 11.3034 16.8343 11.2621 16.7385 11.1748C16.6243 11.0278 16.6067 10.9246 16.6067 10.7436C16.6064 10.7111 16.6064 10.7111 16.6064 10.678C16.6061 10.605 16.6058 10.5321 16.6058 10.4594C16.6055 10.4073 16.6055 10.3551 16.6052 10.303C16.6046 10.1313 16.6043 9.95989 16.604 9.78821C16.6037 9.72932 16.6037 9.67014 16.6037 9.61126C16.6032 9.33382 16.6026 9.05637 16.6023 8.77893C16.602 8.45872 16.6014 8.1385 16.6002 7.81858C16.5994 7.57102 16.5988 7.32346 16.5988 7.07591C16.5988 6.92825 16.5985 6.7803 16.5976 6.63264C16.597 6.49348 16.597 6.35432 16.5973 6.21516C16.5973 6.16419 16.597 6.11321 16.5967 6.06223C16.5929 5.56565 16.5929 5.56565 16.7283 5.3887C16.8583 5.27737 16.9811 5.25657 17.1516 5.25628Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
<path
|
||||
d="M28.4893 5.83187C28.5341 5.86966 28.5786 5.90745 28.6229 5.94554C28.6407 5.95931 28.6586 5.97337 28.6771 5.98773C29.2217 6.42161 29.5281 7.12093 29.6483 7.79124C29.6509 7.83665 29.6524 7.88206 29.6527 7.92777C29.6529 7.96761 29.6529 7.96761 29.6532 8.00804C29.6532 8.03704 29.6535 8.06575 29.6535 8.09534C29.6538 8.12611 29.6538 8.15657 29.6541 8.18821C29.6547 8.28929 29.655 8.39036 29.6553 8.49144C29.6553 8.52601 29.6556 8.56058 29.6556 8.59603C29.6562 8.77884 29.6568 8.96165 29.6571 9.14446C29.6573 9.33314 29.6582 9.52181 29.6594 9.71077C29.6603 9.85579 29.6606 10.0011 29.6606 10.1461C29.6609 10.2159 29.6612 10.2856 29.6617 10.355C29.6623 10.4523 29.6623 10.5498 29.662 10.6471C29.6626 10.6902 29.6626 10.6902 29.6632 10.7341C29.662 10.9002 29.6474 11.0025 29.5311 11.1311C29.3805 11.2661 29.2481 11.265 29.0556 11.2632C29.0257 11.2635 28.9958 11.2638 28.9654 11.2638C28.8669 11.2644 28.7685 11.2641 28.67 11.2638C28.6012 11.2638 28.5323 11.2638 28.4635 11.2641C28.3191 11.2641 28.1746 11.2641 28.0302 11.2635C27.8462 11.2626 27.6625 11.2632 27.4785 11.2638C27.3362 11.2644 27.1938 11.2641 27.0517 11.2638C26.9837 11.2638 26.916 11.2638 26.8484 11.2641C25.9759 11.2667 25.1834 11.0508 24.5488 10.4268C24.5201 10.3981 24.4914 10.3691 24.4627 10.3401C24.4384 10.3155 24.4138 10.2909 24.3889 10.2657C23.8404 9.68851 23.5985 8.90687 23.6087 8.12435C23.6301 7.32191 23.9899 6.59681 24.5506 6.03343C25.6158 5.02562 27.3318 4.91839 28.4893 5.83187Z"
|
||||
fill="currentColor"
|
||||
d='M28.4893 5.83187C28.5341 5.86966 28.5786 5.90745 28.6229 5.94554C28.6407 5.95931 28.6586 5.97337 28.6771 5.98773C29.2217 6.42161 29.5281 7.12093 29.6483 7.79124C29.6509 7.83665 29.6524 7.88206 29.6527 7.92777C29.6529 7.96761 29.6529 7.96761 29.6532 8.00804C29.6532 8.03704 29.6535 8.06575 29.6535 8.09534C29.6538 8.12611 29.6538 8.15657 29.6541 8.18821C29.6547 8.28929 29.655 8.39036 29.6553 8.49144C29.6553 8.52601 29.6556 8.56058 29.6556 8.59603C29.6562 8.77884 29.6568 8.96165 29.6571 9.14446C29.6573 9.33314 29.6582 9.52181 29.6594 9.71077C29.6603 9.85579 29.6606 10.0011 29.6606 10.1461C29.6609 10.2159 29.6612 10.2856 29.6617 10.355C29.6623 10.4523 29.6623 10.5498 29.662 10.6471C29.6626 10.6902 29.6626 10.6902 29.6632 10.7341C29.662 10.9002 29.6474 11.0025 29.5311 11.1311C29.3805 11.2661 29.2481 11.265 29.0556 11.2632C29.0257 11.2635 28.9958 11.2638 28.9654 11.2638C28.8669 11.2644 28.7685 11.2641 28.67 11.2638C28.6012 11.2638 28.5323 11.2638 28.4635 11.2641C28.3191 11.2641 28.1746 11.2641 28.0302 11.2635C27.8462 11.2626 27.6625 11.2632 27.4785 11.2638C27.3362 11.2644 27.1938 11.2641 27.0517 11.2638C26.9837 11.2638 26.916 11.2638 26.8484 11.2641C25.9759 11.2667 25.1834 11.0508 24.5488 10.4268C24.5201 10.3981 24.4914 10.3691 24.4627 10.3401C24.4384 10.3155 24.4138 10.2909 24.3889 10.2657C23.8404 9.68851 23.5985 8.90687 23.6087 8.12435C23.6301 7.32191 23.9899 6.59681 24.5506 6.03343C25.6158 5.02562 27.3318 4.91839 28.4893 5.83187Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
<path
|
||||
d="M8.6422 5.41793C8.7591 5.5858 8.7424 5.76246 8.74093 5.95904C8.74122 5.99566 8.74123 6.03228 8.74123 6.07037C8.74152 6.17086 8.74122 6.27164 8.74093 6.37213C8.74064 6.47818 8.74064 6.58424 8.74064 6.69C8.74093 6.86842 8.74035 7.04713 8.74005 7.22554C8.73947 7.43004 8.73917 7.63482 8.73947 7.83961C8.73947 8.03765 8.73947 8.23599 8.73917 8.43404C8.73888 8.51783 8.73888 8.60133 8.73888 8.68511C8.73947 9.82125 8.63869 10.9436 7.85119 11.8339C7.82951 11.8588 7.80753 11.8837 7.78527 11.9095C7.72023 11.9831 7.65402 12.0551 7.58751 12.1269C7.57199 12.1442 7.55675 12.1618 7.54064 12.1796C6.93712 12.8277 5.99757 13.1886 5.12746 13.2276C5.10197 13.2291 5.07619 13.2302 5.04982 13.2314C4.98771 13.2346 4.92531 13.2373 4.8629 13.2402C4.86085 12.0302 4.86085 10.8203 4.86261 9.61031C4.86291 9.44918 4.8629 9.28804 4.8632 9.12691C4.86349 8.63941 4.86466 8.15191 4.86671 7.6647C4.86789 7.45552 4.86847 7.24634 4.86876 7.03717C4.86876 6.84058 4.86964 6.64371 4.87082 6.44713C4.8714 6.37506 4.8714 6.30299 4.8714 6.23092C4.87111 6.13248 4.87199 6.03404 4.87287 5.9356C4.87257 5.90718 4.87228 5.87877 4.87199 5.84947C4.87521 5.66051 4.91417 5.53306 5.03869 5.38863C5.1673 5.27232 5.31642 5.28756 5.48107 5.28756C5.51066 5.28726 5.54025 5.28697 5.57101 5.28668C5.66886 5.28551 5.76701 5.28521 5.86515 5.28463C5.93341 5.28404 6.00167 5.28345 6.06994 5.28287C6.2132 5.2817 6.35617 5.28082 6.49914 5.27994C6.68253 5.27906 6.86564 5.27759 7.04874 5.27584C7.18996 5.27467 7.33087 5.27349 7.47179 5.27261C7.53947 5.27203 7.60685 5.27174 7.67453 5.27115C7.76886 5.27027 7.86349 5.26998 7.95812 5.26939C7.98566 5.2691 8.01349 5.26881 8.0422 5.26881C8.4632 5.26734 8.4632 5.26734 8.6422 5.41793Z"
|
||||
fill="currentColor"
|
||||
d='M8.6422 5.41793C8.7591 5.5858 8.7424 5.76246 8.74093 5.95904C8.74122 5.99566 8.74123 6.03228 8.74123 6.07037C8.74152 6.17086 8.74122 6.27164 8.74093 6.37213C8.74064 6.47818 8.74064 6.58424 8.74064 6.69C8.74093 6.86842 8.74035 7.04713 8.74005 7.22554C8.73947 7.43004 8.73917 7.63482 8.73947 7.83961C8.73947 8.03765 8.73947 8.23599 8.73917 8.43404C8.73888 8.51783 8.73888 8.60133 8.73888 8.68511C8.73947 9.82125 8.63869 10.9436 7.85119 11.8339C7.82951 11.8588 7.80753 11.8837 7.78527 11.9095C7.72023 11.9831 7.65402 12.0551 7.58751 12.1269C7.57199 12.1442 7.55675 12.1618 7.54064 12.1796C6.93712 12.8277 5.99757 13.1886 5.12746 13.2276C5.10197 13.2291 5.07619 13.2302 5.04982 13.2314C4.98771 13.2346 4.92531 13.2373 4.8629 13.2402C4.86085 12.0302 4.86085 10.8203 4.86261 9.61031C4.86291 9.44918 4.8629 9.28804 4.8632 9.12691C4.86349 8.63941 4.86466 8.15191 4.86671 7.6647C4.86789 7.45552 4.86847 7.24634 4.86876 7.03717C4.86876 6.84058 4.86964 6.64371 4.87082 6.44713C4.8714 6.37506 4.8714 6.30299 4.8714 6.23092C4.87111 6.13248 4.87199 6.03404 4.87287 5.9356C4.87257 5.90718 4.87228 5.87877 4.87199 5.84947C4.87521 5.66051 4.91417 5.53306 5.03869 5.38863C5.1673 5.27232 5.31642 5.28756 5.48107 5.28756C5.51066 5.28726 5.54025 5.28697 5.57101 5.28668C5.66886 5.28551 5.76701 5.28521 5.86515 5.28463C5.93341 5.28404 6.00167 5.28345 6.06994 5.28287C6.2132 5.2817 6.35617 5.28082 6.49914 5.27994C6.68253 5.27906 6.86564 5.27759 7.04874 5.27584C7.18996 5.27467 7.33087 5.27349 7.47179 5.27261C7.53947 5.27203 7.60685 5.27174 7.67453 5.27115C7.76886 5.27027 7.86349 5.26998 7.95812 5.26939C7.98566 5.2691 8.01349 5.26881 8.0422 5.26881C8.4632 5.26734 8.4632 5.26734 8.6422 5.41793Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
<path
|
||||
d="M11.2636 5.26714C11.2897 5.26685 11.3155 5.26685 11.3421 5.26655C11.3705 5.26655 11.3987 5.26626 11.428 5.26626C11.4578 5.26597 11.4877 5.26597 11.5185 5.26567C11.6175 5.26509 11.7165 5.26479 11.8158 5.2645C11.8665 5.26421 11.8665 5.26421 11.9184 5.26421C12.0974 5.26362 12.2767 5.26304 12.456 5.26274C12.6408 5.26245 12.8257 5.26157 13.0109 5.2604C13.1532 5.25952 13.2953 5.25923 13.4377 5.25923C13.506 5.25894 13.5742 5.25864 13.6422 5.25806C13.7377 5.25747 13.8332 5.25747 13.9287 5.25776C13.9569 5.25718 13.985 5.25688 14.0137 5.25659C14.1895 5.25776 14.3278 5.28501 14.4731 5.38872C14.6096 5.55659 14.6231 5.68052 14.6234 5.89233C14.6234 5.91343 14.6237 5.93481 14.6237 5.95679C14.6239 6.02798 14.6237 6.09917 14.6237 6.17036C14.6239 6.22134 14.6239 6.27261 14.6239 6.32358C14.6242 6.46216 14.6245 6.60103 14.6245 6.73989C14.6245 6.85562 14.6245 6.97134 14.6245 7.08735C14.6248 7.36069 14.6248 7.63403 14.6248 7.90708C14.6248 8.18921 14.6251 8.47105 14.6257 8.75288C14.626 8.99487 14.6263 9.23687 14.6263 9.47886C14.6263 9.62358 14.6263 9.76802 14.6266 9.91245C14.6269 10.0487 14.6269 10.1846 14.6266 10.3206C14.6266 10.3704 14.6266 10.4202 14.6269 10.47C14.6272 10.5382 14.6269 10.6065 14.6269 10.6745C14.6269 10.7128 14.6269 10.7509 14.6269 10.7902C14.616 10.9469 14.5935 11.0638 14.4895 11.1839C14.2952 11.3498 14.1092 11.3404 13.8655 11.3401C13.8233 11.3404 13.8233 11.3404 13.7802 11.3404C13.687 11.3407 13.5939 11.3407 13.501 11.341C13.436 11.341 13.3712 11.341 13.3065 11.3413C13.1705 11.3413 13.0346 11.3413 12.8987 11.3413C12.7249 11.3413 12.5509 11.3418 12.3772 11.3421C12.2433 11.3424 12.1091 11.3427 11.9752 11.3427C11.9114 11.3427 11.8472 11.3427 11.783 11.343C11.6934 11.3433 11.6034 11.3433 11.5138 11.343C11.4745 11.3433 11.4745 11.3433 11.4341 11.3436C11.2425 11.3424 11.0609 11.3348 10.9044 11.2132C10.7761 11.0486 10.7412 10.9103 10.7412 10.7035C10.7409 10.6821 10.7409 10.6607 10.7406 10.6387C10.7404 10.5672 10.7406 10.496 10.7409 10.4249C10.7409 10.3736 10.7406 10.322 10.7404 10.2708C10.7401 10.1319 10.7404 9.99272 10.7406 9.85386C10.7406 9.70796 10.7406 9.56235 10.7404 9.41675C10.7404 9.17183 10.7404 8.9272 10.7409 8.68257C10.7412 8.40015 10.7412 8.11743 10.7406 7.83472C10.7404 7.59185 10.7404 7.34897 10.7404 7.1061C10.7406 6.96108 10.7406 6.81636 10.7404 6.67134C10.7401 6.53511 10.7404 6.39858 10.7406 6.26235C10.7409 6.21255 10.7409 6.16245 10.7406 6.11265C10.7404 6.04409 10.7406 5.97583 10.7412 5.90757C10.7412 5.86919 10.7412 5.8311 10.7412 5.79185C10.7582 5.62397 10.7963 5.47515 10.9264 5.36118C11.0421 5.28325 11.1262 5.26802 11.2636 5.26714Z"
|
||||
fill="currentColor"
|
||||
d='M11.2636 5.26714C11.2897 5.26685 11.3155 5.26685 11.3421 5.26655C11.3705 5.26655 11.3987 5.26626 11.428 5.26626C11.4578 5.26597 11.4877 5.26597 11.5185 5.26567C11.6175 5.26509 11.7165 5.26479 11.8158 5.2645C11.8665 5.26421 11.8665 5.26421 11.9184 5.26421C12.0974 5.26362 12.2767 5.26304 12.456 5.26274C12.6408 5.26245 12.8257 5.26157 13.0109 5.2604C13.1532 5.25952 13.2953 5.25923 13.4377 5.25923C13.506 5.25894 13.5742 5.25864 13.6422 5.25806C13.7377 5.25747 13.8332 5.25747 13.9287 5.25776C13.9569 5.25718 13.985 5.25688 14.0137 5.25659C14.1895 5.25776 14.3278 5.28501 14.4731 5.38872C14.6096 5.55659 14.6231 5.68052 14.6234 5.89233C14.6234 5.91343 14.6237 5.93481 14.6237 5.95679C14.6239 6.02798 14.6237 6.09917 14.6237 6.17036C14.6239 6.22134 14.6239 6.27261 14.6239 6.32358C14.6242 6.46216 14.6245 6.60103 14.6245 6.73989C14.6245 6.85562 14.6245 6.97134 14.6245 7.08735C14.6248 7.36069 14.6248 7.63403 14.6248 7.90708C14.6248 8.18921 14.6251 8.47105 14.6257 8.75288C14.626 8.99487 14.6263 9.23687 14.6263 9.47886C14.6263 9.62358 14.6263 9.76802 14.6266 9.91245C14.6269 10.0487 14.6269 10.1846 14.6266 10.3206C14.6266 10.3704 14.6266 10.4202 14.6269 10.47C14.6272 10.5382 14.6269 10.6065 14.6269 10.6745C14.6269 10.7128 14.6269 10.7509 14.6269 10.7902C14.616 10.9469 14.5935 11.0638 14.4895 11.1839C14.2952 11.3498 14.1092 11.3404 13.8655 11.3401C13.8233 11.3404 13.8233 11.3404 13.7802 11.3404C13.687 11.3407 13.5939 11.3407 13.501 11.341C13.436 11.341 13.3712 11.341 13.3065 11.3413C13.1705 11.3413 13.0346 11.3413 12.8987 11.3413C12.7249 11.3413 12.5509 11.3418 12.3772 11.3421C12.2433 11.3424 12.1091 11.3427 11.9752 11.3427C11.9114 11.3427 11.8472 11.3427 11.783 11.343C11.6934 11.3433 11.6034 11.3433 11.5138 11.343C11.4745 11.3433 11.4745 11.3433 11.4341 11.3436C11.2425 11.3424 11.0609 11.3348 10.9044 11.2132C10.7761 11.0486 10.7412 10.9103 10.7412 10.7035C10.7409 10.6821 10.7409 10.6607 10.7406 10.6387C10.7404 10.5672 10.7406 10.496 10.7409 10.4249C10.7409 10.3736 10.7406 10.322 10.7404 10.2708C10.7401 10.1319 10.7404 9.99272 10.7406 9.85386C10.7406 9.70796 10.7406 9.56235 10.7404 9.41675C10.7404 9.17183 10.7404 8.9272 10.7409 8.68257C10.7412 8.40015 10.7412 8.11743 10.7406 7.83472C10.7404 7.59185 10.7404 7.34897 10.7404 7.1061C10.7406 6.96108 10.7406 6.81636 10.7404 6.67134C10.7401 6.53511 10.7404 6.39858 10.7406 6.26235C10.7409 6.21255 10.7409 6.16245 10.7406 6.11265C10.7404 6.04409 10.7406 5.97583 10.7412 5.90757C10.7412 5.86919 10.7412 5.8311 10.7412 5.79185C10.7582 5.62397 10.7963 5.47515 10.9264 5.36118C11.0421 5.28325 11.1262 5.26802 11.2636 5.26714Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
<path
|
||||
d="M3.58833 9.8857C3.97827 10.2715 4.18628 10.7596 4.20093 11.3066C4.18452 11.8662 3.96245 12.3628 3.56226 12.7527C3.194 13.0776 2.70064 13.2692 2.20523 13.2466C2.18326 13.2446 2.16158 13.2425 2.13902 13.2402C2.11031 13.2376 2.08159 13.2349 2.05201 13.232C1.51617 13.1658 1.08199 12.9168 0.732767 12.5078C0.370071 12.0132 0.294193 11.4762 0.364505 10.8783C0.476126 10.3738 0.798392 9.944 1.23081 9.66598C1.99693 9.22125 2.9148 9.30006 3.58833 9.8857Z"
|
||||
fill="currentColor"
|
||||
d='M3.58833 9.8857C3.97827 10.2715 4.18628 10.7596 4.20093 11.3066C4.18452 11.8662 3.96245 12.3628 3.56226 12.7527C3.194 13.0776 2.70064 13.2692 2.20523 13.2466C2.18326 13.2446 2.16158 13.2425 2.13902 13.2402C2.11031 13.2376 2.08159 13.2349 2.05201 13.232C1.51617 13.1658 1.08199 12.9168 0.732767 12.5078C0.370071 12.0132 0.294193 11.4762 0.364505 10.8783C0.476126 10.3738 0.798392 9.944 1.23081 9.66598C1.99693 9.22125 2.9148 9.30006 3.58833 9.8857Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
<path
|
||||
d="M12.6714 0.74873C12.6995 0.748437 12.7273 0.748145 12.756 0.747559C13.2318 0.749609 13.693 0.952637 14.0349 1.28105C14.3838 1.6335 14.5947 2.0791 14.6 2.57627C14.5965 3.14111 14.4632 3.62246 14.063 4.04111C13.6912 4.40293 13.2008 4.59365 12.686 4.60859C12.1434 4.59453 11.6864 4.40234 11.2941 4.02969C10.9086 3.62305 10.7357 3.13232 10.7466 2.57598C10.7659 2.08145 10.9883 1.60625 11.3384 1.25791C11.7245 0.919824 12.1578 0.742578 12.6714 0.74873Z"
|
||||
fill="currentColor"
|
||||
d='M12.6714 0.74873C12.6995 0.748437 12.7273 0.748145 12.756 0.747559C13.2318 0.749609 13.693 0.952637 14.0349 1.28105C14.3838 1.6335 14.5947 2.0791 14.6 2.57627C14.5965 3.14111 14.4632 3.62246 14.063 4.04111C13.6912 4.40293 13.2008 4.59365 12.686 4.60859C12.1434 4.59453 11.6864 4.40234 11.2941 4.02969C10.9086 3.62305 10.7357 3.13232 10.7466 2.57598C10.7659 2.08145 10.9883 1.60625 11.3384 1.25791C11.7245 0.919824 12.1578 0.742578 12.6714 0.74873Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -60,10 +60,13 @@ With the Jina AI integration in Sim Studio, you can:
|
||||
This integration is particularly valuable for building agents that need to gather and process information from the web, conduct research, or analyze online content as part of their workflow.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Transform web content into clean, readable text using Jina AI
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `jina_read_url`
|
||||
@@ -72,31 +75,36 @@ Extract and process web content into clean, LLM-friendly text using Jina AI Read
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | --------------------------------------- |
|
||||
| `url` | string | Yes | The URL to read and convert to markdown |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `url` | string | Yes | The URL to read and convert to markdown |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `content` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | --------------------------------------- |
|
||||
| `url` | string | Yes | URL - Enter URL to extract content from |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `url` | string | Yes | URL - Enter URL to extract content from |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ----------- | ------ | ----------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `content` | string | content of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
- Category: `tools`
|
||||
|
||||
@@ -3,24 +3,24 @@ title: Jira
|
||||
description: Interact with Jira
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="jira"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 30 30"
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
viewBox='0 0 30 30'
|
||||
|
||||
|
||||
focusable="false"
|
||||
aria-hidden="true"
|
||||
focusable='false'
|
||||
aria-hidden='true'
|
||||
>
|
||||
<path
|
||||
fill="#1868DB"
|
||||
d="M11.034 21.99h-2.22c-3.346 0-5.747-2.05-5.747-5.052h11.932c.619 0 1.019.44 1.019 1.062v12.007c-2.983 0-4.984-2.416-4.984-5.784zm5.893-5.967h-2.219c-3.347 0-5.748-2.013-5.748-5.015h11.933c.618 0 1.055.402 1.055 1.025V24.04c-2.983 0-5.02-2.416-5.02-5.784zm5.93-5.93h-2.219c-3.347 0-5.748-2.05-5.748-5.052h11.933c.618 0 1.018.439 1.018 1.025v12.007c-2.983 0-4.984-2.416-4.984-5.784z"
|
||||
fill='#1868DB'
|
||||
d='M11.034 21.99h-2.22c-3.346 0-5.747-2.05-5.747-5.052h11.932c.619 0 1.019.44 1.019 1.062v12.007c-2.983 0-4.984-2.416-4.984-5.784zm5.893-5.967h-2.219c-3.347 0-5.748-2.013-5.748-5.015h11.933c.618 0 1.055.402 1.055 1.025V24.04c-2.983 0-5.02-2.416-5.02-5.784zm5.93-5.93h-2.219c-3.347 0-5.748-2.05-5.748-5.052h11.933c.618 0 1.018.439 1.018 1.025v12.007c-2.983 0-4.984-2.416-4.984-5.784z'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -40,10 +40,13 @@ Key features of Jira include:
|
||||
In Sim Studio, the Jira integration allows your agents to seamlessly interact with your project management workflow. This creates opportunities for automated issue creation, updates, and tracking as part of your AI workflows. The integration enables agents to create, retrieve, and update Jira issues programmatically, facilitating automated project management tasks and ensuring that important information is properly tracked and documented. By connecting Sim Studio with Jira, you can build intelligent agents that maintain project visibility while automating routine project management tasks, enhancing team productivity and ensuring consistent project tracking.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Connect to Jira workspaces to read, write, and update issues. Access content, metadata, and integrate Jira documentation into your workflows.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `jira_retrieve`
|
||||
@@ -52,24 +55,24 @@ Retrieve detailed information about a specific Jira issue
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | --------------------------------------------------------------------------------------- |
|
||||
| `accessToken` | string | Yes | OAuth access token for Jira |
|
||||
| `domain` | string | Yes | Your Jira domain \(e.g., yourcompany.atlassian.net\) |
|
||||
| `projectId` | string | No | Jira project ID to retrieve issues from. If not provided, all issues will be retrieved. |
|
||||
| `issueKey` | string | Yes | Jira issue key to retrieve \(e.g., PROJ-123\) |
|
||||
| `cloudId` | string | No | Jira Cloud ID for the instance. If not provided, it will be fetched using the domain. |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | OAuth access token for Jira |
|
||||
| `domain` | string | Yes | Your Jira domain \(e.g., yourcompany.atlassian.net\) |
|
||||
| `projectId` | string | No | Jira project ID to retrieve issues from. If not provided, all issues will be retrieved. |
|
||||
| `issueKey` | string | Yes | Jira issue key to retrieve \(e.g., PROJ-123\) |
|
||||
| `cloudId` | string | No | Jira Cloud ID for the instance. If not provided, it will be fetched using the domain. |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ------------- | ------ |
|
||||
| `ts` | string |
|
||||
| `issueKey` | string |
|
||||
| `summary` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `ts` | string |
|
||||
| `issueKey` | string |
|
||||
| `summary` | string |
|
||||
| `description` | string |
|
||||
| `created` | string |
|
||||
| `updated` | string |
|
||||
| `created` | string |
|
||||
| `updated` | string |
|
||||
|
||||
### `jira_update`
|
||||
|
||||
@@ -77,27 +80,27 @@ Update a Jira issue
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ------------------------------------------------------------------------------------- |
|
||||
| `accessToken` | string | Yes | OAuth access token for Jira |
|
||||
| `domain` | string | Yes | Your Jira domain \(e.g., yourcompany.atlassian.net\) |
|
||||
| `projectId` | string | No | Jira project ID to update issues in. If not provided, all issues will be retrieved. |
|
||||
| `issueKey` | string | Yes | Jira issue key to update |
|
||||
| `summary` | string | No | New summary for the issue |
|
||||
| `description` | string | No | New description for the issue |
|
||||
| `status` | string | No | New status for the issue |
|
||||
| `priority` | string | No | New priority for the issue |
|
||||
| `assignee` | string | No | New assignee for the issue |
|
||||
| `cloudId` | string | No | Jira Cloud ID for the instance. If not provided, it will be fetched using the domain. |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | OAuth access token for Jira |
|
||||
| `domain` | string | Yes | Your Jira domain \(e.g., yourcompany.atlassian.net\) |
|
||||
| `projectId` | string | No | Jira project ID to update issues in. If not provided, all issues will be retrieved. |
|
||||
| `issueKey` | string | Yes | Jira issue key to update |
|
||||
| `summary` | string | No | New summary for the issue |
|
||||
| `description` | string | No | New description for the issue |
|
||||
| `status` | string | No | New status for the issue |
|
||||
| `priority` | string | No | New priority for the issue |
|
||||
| `assignee` | string | No | New assignee for the issue |
|
||||
| `cloudId` | string | No | Jira Cloud ID for the instance. If not provided, it will be fetched using the domain. |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| `ts` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `ts` | string |
|
||||
| `issueKey` | string |
|
||||
| `summary` | string |
|
||||
| `success` | string |
|
||||
| `summary` | string |
|
||||
| `success` | string |
|
||||
|
||||
### `jira_write`
|
||||
|
||||
@@ -105,27 +108,27 @@ Write a Jira issue
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ------------------------------------------------------------------------------------- |
|
||||
| `accessToken` | string | Yes | OAuth access token for Jira |
|
||||
| `domain` | string | Yes | Your Jira domain \(e.g., yourcompany.atlassian.net\) |
|
||||
| `projectId` | string | Yes | Project ID for the issue |
|
||||
| `summary` | string | Yes | Summary for the issue |
|
||||
| `description` | string | No | Description for the issue |
|
||||
| `priority` | string | No | Priority for the issue |
|
||||
| `assignee` | string | No | Assignee for the issue |
|
||||
| `cloudId` | string | No | Jira Cloud ID for the instance. If not provided, it will be fetched using the domain. |
|
||||
| `issueType` | string | Yes | Type of issue to create \(e.g., Task, Story, Bug, Sub-task\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | OAuth access token for Jira |
|
||||
| `domain` | string | Yes | Your Jira domain \(e.g., yourcompany.atlassian.net\) |
|
||||
| `projectId` | string | Yes | Project ID for the issue |
|
||||
| `summary` | string | Yes | Summary for the issue |
|
||||
| `description` | string | No | Description for the issue |
|
||||
| `priority` | string | No | Priority for the issue |
|
||||
| `assignee` | string | No | Assignee for the issue |
|
||||
| `cloudId` | string | No | Jira Cloud ID for the instance. If not provided, it will be fetched using the domain. |
|
||||
| `issueType` | string | Yes | Type of issue to create \(e.g., Task, Story, Bug, Sub-task\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| `ts` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `ts` | string |
|
||||
| `issueKey` | string |
|
||||
| `summary` | string |
|
||||
| `success` | string |
|
||||
| `url` | string |
|
||||
| `summary` | string |
|
||||
| `success` | string |
|
||||
| `url` | string |
|
||||
|
||||
### `jira_bulk_read`
|
||||
|
||||
@@ -133,40 +136,45 @@ Retrieve multiple Jira issues in bulk
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ---------------------------------------------------- |
|
||||
| `accessToken` | string | Yes | OAuth access token for Jira |
|
||||
| `domain` | string | Yes | Your Jira domain \(e.g., yourcompany.atlassian.net\) |
|
||||
| `projectId` | string | Yes | Jira project ID |
|
||||
| `cloudId` | string | No | Jira cloud ID |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | OAuth access token for Jira |
|
||||
| `domain` | string | Yes | Your Jira domain \(e.g., yourcompany.atlassian.net\) |
|
||||
| `projectId` | string | Yes | Jira project ID |
|
||||
| `cloudId` | string | No | Jira cloud ID |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ----- |
|
||||
| `issues` | array |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `issues` | array |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| --------------- | ------- | --------------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `ts` | string | ts of the response |
|
||||
| ↳ `issueKey` | string | issueKey of the response |
|
||||
| ↳ `summary` | string | summary of the response |
|
||||
| ↳ `description` | string | description of the response |
|
||||
| ↳ `created` | string | created of the response |
|
||||
| ↳ `updated` | string | updated of the response |
|
||||
| ↳ `success` | boolean | success of the response |
|
||||
| ↳ `url` | string | url of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `ts` | string | ts of the response |
|
||||
| ↳ `issueKey` | string | issueKey of the response |
|
||||
| ↳ `summary` | string | summary of the response |
|
||||
| ↳ `description` | string | description of the response |
|
||||
| ↳ `created` | string | created of the response |
|
||||
| ↳ `updated` | string | updated of the response |
|
||||
| ↳ `success` | boolean | success of the response |
|
||||
| ↳ `url` | string | url of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -3,33 +3,33 @@ title: Memory
|
||||
description: Add memory store
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="memory"
|
||||
color="#F64F9E"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
|
||||
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
strokeWidth="2"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
viewBox='0 0 24 24'
|
||||
fill='none'
|
||||
stroke='currentColor'
|
||||
strokeWidth='2'
|
||||
strokeLinecap='round'
|
||||
strokeLinejoin='round'
|
||||
>
|
||||
<path d="M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z" />
|
||||
<path d="M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z" />
|
||||
<path d="M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4" />
|
||||
<path d="M17.599 6.5a3 3 0 0 0 .399-1.375" />
|
||||
<path d="M6.003 5.125A3 3 0 0 0 6.401 6.5" />
|
||||
<path d="M3.477 10.896a4 4 0 0 1 .585-.396" />
|
||||
<path d="M19.938 10.5a4 4 0 0 1 .585.396" />
|
||||
<path d="M6 18a4 4 0 0 1-1.967-.516" />
|
||||
<path d="M19.967 17.484A4 4 0 0 1 18 18" />
|
||||
<path d='M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z' />
|
||||
<path d='M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z' />
|
||||
<path d='M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4' />
|
||||
<path d='M17.599 6.5a3 3 0 0 0 .399-1.375' />
|
||||
<path d='M6.003 5.125A3 3 0 0 0 6.401 6.5' />
|
||||
<path d='M3.477 10.896a4 4 0 0 1 .585-.396' />
|
||||
<path d='M19.938 10.5a4 4 0 0 1 .585.396' />
|
||||
<path d='M6 18a4 4 0 0 1-1.967-.516' />
|
||||
<path d='M19.967 17.484A4 4 0 0 1 18 18' />
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
@@ -37,6 +37,8 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
|
||||
Create persistent storage for data that needs to be accessed across multiple workflow steps. Store and retrieve information throughout your workflow execution to maintain context and state.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `memory_add`
|
||||
@@ -45,18 +47,18 @@ Add a new memory to the database or append to existing memory with the same ID.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | -------------------------------------------------------------------------------------------------------- |
|
||||
| `id` | string | Yes | Identifier for the memory. If a memory with this ID already exists, the new data will be appended to it. |
|
||||
| `type` | string | Yes | Type of memory \(agent or raw\) |
|
||||
| `role` | string | No | Role for agent memory \(user, assistant, or system\) |
|
||||
| `content` | string | No | Content for agent memory |
|
||||
| `rawData` | json | No | Raw data to store \(JSON format\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `id` | string | Yes | Identifier for the memory. If a memory with this ID already exists, the new data will be appended to it. |
|
||||
| `type` | string | Yes | Type of memory \(agent or raw\) |
|
||||
| `role` | string | No | Role for agent memory \(user, assistant, or system\) |
|
||||
| `content` | string | No | Content for agent memory |
|
||||
| `rawData` | json | No | Raw data to store \(JSON format\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `memories` | string |
|
||||
|
||||
### `memory_get`
|
||||
@@ -65,16 +67,16 @@ Retrieve a specific memory by its ID
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | ------------------------------------- |
|
||||
| `id` | string | Yes | Identifier for the memory to retrieve |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `id` | string | Yes | Identifier for the memory to retrieve |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `memories` | string |
|
||||
| `message` | string |
|
||||
| `message` | string |
|
||||
|
||||
### `memory_get_all`
|
||||
|
||||
@@ -87,9 +89,9 @@ Retrieve all memories from the database
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| `message` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `message` | string |
|
||||
| `memories` | string |
|
||||
|
||||
### `memory_delete`
|
||||
@@ -98,31 +100,36 @@ Delete a specific memory by its ID
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | ----------------------------------- |
|
||||
| `id` | string | Yes | Identifier for the memory to delete |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `id` | string | Yes | Identifier for the memory to delete |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `message` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ------------ | ------ | ------------------------ |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `memories` | any | memories of the response |
|
||||
| ↳ `id` | string | id of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `memories` | any | memories of the response |
|
||||
| ↳ `id` | string | id of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -46,4 +46,4 @@
|
||||
"x",
|
||||
"youtube"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,16 +3,16 @@ title: Notion
|
||||
description: Manage Notion pages
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="notion"
|
||||
color="#181C1E"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" >
|
||||
iconSvg={`<svg className="block-icon" xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50' >
|
||||
<path
|
||||
d="M31.494141 5.1503906L5.9277344 7.0019531A1.0001 1.0001 0 005.9042969 7.0039062A1.0001 1.0001 0 005.8652344 7.0097656A1.0001 1.0001 0 005.7929688 7.0214844A1.0001 1.0001 0 005.7636719 7.0292969A1.0001 1.0001 0 005.7304688 7.0371094A1.0001 1.0001 0 005.6582031 7.0605469A1.0001 1.0001 0 005.6113281 7.0800781A1.0001 1.0001 0 005.5839844 7.0917969A1.0001 1.0001 0 005.4335938 7.1777344A1.0001 1.0001 0 005.4082031 7.1933594A1.0001 1.0001 0 005.3476562 7.2421875A1.0001 1.0001 0 005.3359375 7.2539062A1.0001 1.0001 0 005.2871094 7.2988281A1.0001 1.0001 0 005.2578125 7.3320312A1.0001 1.0001 0 005.2148438 7.3828125A1.0001 1.0001 0 005.1992188 7.4023438A1.0001 1.0001 0 005.15625 7.4648438A1.0001 1.0001 0 005.1445312 7.484375A1.0001 1.0001 0 005.1074219 7.5488281A1.0001 1.0001 0 005.09375 7.5761719A1.0001 1.0001 0 005.0644531 7.6484375A1.0001 1.0001 0 005.0605469 7.65625A1.0001 1.0001 0 005.015625 7.8300781A1.0001 1.0001 0 005.0097656 7.8613281A1.0001 1.0001 0 005.0019531 7.9414062A1.0001 1.0001 0 005.0019531 7.9453125A1.0001 1.0001 0 005 8L5 33.738281C5 34.76391 5.3151542 35.766862 5.9042969 36.607422A1.0001 1.0001 0 005.953125 36.671875L12.126953 44.101562A1.0001 1.0001 0 0012.359375 44.382812L12.75 44.851562A1.0006635 1.0006635 0 0012.917969 45.011719C13.50508 45.581386 14.317167 45.917563 15.193359 45.861328L42.193359 44.119141C43.762433 44.017718 45 42.697027 45 41.125L45 15.132812C45 14.209354 44.565523 13.390672 43.904297 12.839844A1.0008168 1.0008168 0 0043.748047 12.695312L43.263672 12.337891A1.0001 1.0001 0 0043.0625 12.189453L34.824219 6.1132812C33.865071 5.4054876 32.682705 5.0641541 31.494141 5.1503906zM31.638672 7.1445312C32.352108 7.0927682 33.061867 7.29845 33.636719 7.7226562L39.767578 12.246094L14.742188 13.884766C13.880567 13.941006 13.037689 13.622196 12.425781 13.011719L12.423828 13.011719L8.2539062 8.8398438L31.638672 7.1445312zM7 10.414062L11.011719 14.425781L12 15.414062L12 40.818359L7.5390625 35.449219C7.1899317 34.947488 7 34.351269 7 33.738281L7 10.414062zM41.935547 14.134766C42.526748 14.096822 43 14.54116 43 15.132812L43 41.125C43 41.660973 42.59938 42.08847 42.064453 42.123047L15.064453 43.865234C14.770856 43.884078 14.506356 43.783483 14.314453 43.605469A1.0006635 1.0006635 0 0014.3125 43.603516C14.3125 43.603516 14.310547 43.601562 14.310547 43.601562C14.306465 43.597733 14.304796 43.59179 14.300781 43.587891A1.0006635 1.0006635 0 0014.289062 43.572266C14.112238 43.393435 14 43.149431 14 42.867188L14 16.875C14 16.337536 14.39999 15.911571 14.935547 15.876953L41.935547 14.134766zM38.496094 19L33.421875 19.28125C32.647875 19.36125 31.746094 19.938 31.746094 20.875L33.996094 21.0625L33.996094 31.753906L26.214844 19.751953L20.382812 20.080078C19.291812 20.160078 18.994141 20.970953 18.994141 22.001953L21.244141 22.001953L21.244141 37.566406C21.244141 37.566406 20.191844 37.850406 19.839844 37.941406C19.091844 38.134406 18.994141 38.784906 18.994141 39.253906C18.994141 39.253906 22.746656 39.065547 24.472656 38.935547C26.431656 38.785547 26.496094 37.472656 26.496094 37.472656L24.246094 37.003906L24.246094 25.470703C24.246094 25.470703 29.965844 34.660328 31.714844 37.361328C32.537844 38.630328 33.152375 38.878906 34.234375 38.878906C35.122375 38.878906 35.962141 38.616594 36.994141 38.058594L36.994141 20.697266C36.994141 20.697266 37.184203 20.687141 37.783203 20.494141C38.466203 20.273141 38.496094 19.656 38.496094 19z"
|
||||
fill="currentColor"
|
||||
d='M31.494141 5.1503906L5.9277344 7.0019531A1.0001 1.0001 0 005.9042969 7.0039062A1.0001 1.0001 0 005.8652344 7.0097656A1.0001 1.0001 0 005.7929688 7.0214844A1.0001 1.0001 0 005.7636719 7.0292969A1.0001 1.0001 0 005.7304688 7.0371094A1.0001 1.0001 0 005.6582031 7.0605469A1.0001 1.0001 0 005.6113281 7.0800781A1.0001 1.0001 0 005.5839844 7.0917969A1.0001 1.0001 0 005.4335938 7.1777344A1.0001 1.0001 0 005.4082031 7.1933594A1.0001 1.0001 0 005.3476562 7.2421875A1.0001 1.0001 0 005.3359375 7.2539062A1.0001 1.0001 0 005.2871094 7.2988281A1.0001 1.0001 0 005.2578125 7.3320312A1.0001 1.0001 0 005.2148438 7.3828125A1.0001 1.0001 0 005.1992188 7.4023438A1.0001 1.0001 0 005.15625 7.4648438A1.0001 1.0001 0 005.1445312 7.484375A1.0001 1.0001 0 005.1074219 7.5488281A1.0001 1.0001 0 005.09375 7.5761719A1.0001 1.0001 0 005.0644531 7.6484375A1.0001 1.0001 0 005.0605469 7.65625A1.0001 1.0001 0 005.015625 7.8300781A1.0001 1.0001 0 005.0097656 7.8613281A1.0001 1.0001 0 005.0019531 7.9414062A1.0001 1.0001 0 005.0019531 7.9453125A1.0001 1.0001 0 005 8L5 33.738281C5 34.76391 5.3151542 35.766862 5.9042969 36.607422A1.0001 1.0001 0 005.953125 36.671875L12.126953 44.101562A1.0001 1.0001 0 0012.359375 44.382812L12.75 44.851562A1.0006635 1.0006635 0 0012.917969 45.011719C13.50508 45.581386 14.317167 45.917563 15.193359 45.861328L42.193359 44.119141C43.762433 44.017718 45 42.697027 45 41.125L45 15.132812C45 14.209354 44.565523 13.390672 43.904297 12.839844A1.0008168 1.0008168 0 0043.748047 12.695312L43.263672 12.337891A1.0001 1.0001 0 0043.0625 12.189453L34.824219 6.1132812C33.865071 5.4054876 32.682705 5.0641541 31.494141 5.1503906zM31.638672 7.1445312C32.352108 7.0927682 33.061867 7.29845 33.636719 7.7226562L39.767578 12.246094L14.742188 13.884766C13.880567 13.941006 13.037689 13.622196 12.425781 13.011719L12.423828 13.011719L8.2539062 8.8398438L31.638672 7.1445312zM7 10.414062L11.011719 14.425781L12 15.414062L12 40.818359L7.5390625 35.449219C7.1899317 34.947488 7 34.351269 7 33.738281L7 10.414062zM41.935547 14.134766C42.526748 14.096822 43 14.54116 43 15.132812L43 41.125C43 41.660973 42.59938 42.08847 42.064453 42.123047L15.064453 43.865234C14.770856 43.884078 14.506356 43.783483 14.314453 43.605469A1.0006635 1.0006635 0 0014.3125 43.603516C14.3125 43.603516 14.310547 43.601562 14.310547 43.601562C14.306465 43.597733 14.304796 43.59179 14.300781 43.587891A1.0006635 1.0006635 0 0014.289062 43.572266C14.112238 43.393435 14 43.149431 14 42.867188L14 16.875C14 16.337536 14.39999 15.911571 14.935547 15.876953L41.935547 14.134766zM38.496094 19L33.421875 19.28125C32.647875 19.36125 31.746094 19.938 31.746094 20.875L33.996094 21.0625L33.996094 31.753906L26.214844 19.751953L20.382812 20.080078C19.291812 20.160078 18.994141 20.970953 18.994141 22.001953L21.244141 22.001953L21.244141 37.566406C21.244141 37.566406 20.191844 37.850406 19.839844 37.941406C19.091844 38.134406 18.994141 38.784906 18.994141 39.253906C18.994141 39.253906 22.746656 39.065547 24.472656 38.935547C26.431656 38.785547 26.496094 37.472656 26.496094 37.472656L24.246094 37.003906L24.246094 25.470703C24.246094 25.470703 29.965844 34.660328 31.714844 37.361328C32.537844 38.630328 33.152375 38.878906 34.234375 38.878906C35.122375 38.878906 35.962141 38.616594 36.994141 38.058594L36.994141 20.697266C36.994141 20.697266 37.184203 20.687141 37.783203 20.494141C38.466203 20.273141 38.496094 19.656 38.496094 19z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -32,10 +32,13 @@ With Notion, you can:
|
||||
In Sim Studio, the Notion integration enables your agents to interact directly with your Notion workspace programmatically. This allows for powerful automation scenarios such as knowledge management, content creation, and information retrieval. Your agents can read existing Notion pages to extract information, write to pages to update content, and create new pages from scratch. This integration bridges the gap between your AI workflows and your knowledge base, enabling seamless documentation and information management. By connecting Sim Studio with Notion, you can automate documentation processes, maintain up-to-date information repositories, generate reports, and organize information intelligently - all through your intelligent agents.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Integrate with Notion to read content from pages, write new content, and create new pages.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `notion_read`
|
||||
@@ -44,20 +47,20 @@ Read content from a Notion page
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | --------------------------------- |
|
||||
| `pageId` | string | Yes | The ID of the Notion page to read |
|
||||
| `accessToken` | string | Yes | Notion OAuth access token |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `pageId` | string | Yes | The ID of the Notion page to read |
|
||||
| `accessToken` | string | Yes | Notion OAuth access token |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------------- | ------ |
|
||||
| `content` | string |
|
||||
| `metadata` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `content` | string |
|
||||
| `metadata` | string |
|
||||
| `lastEditedTime` | string |
|
||||
| `createdTime` | string |
|
||||
| `url` | string |
|
||||
| `createdTime` | string |
|
||||
| `url` | string |
|
||||
|
||||
### `notion_write`
|
||||
|
||||
@@ -65,16 +68,16 @@ Append content to a Notion page
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ---------------------------------------------- |
|
||||
| `pageId` | string | Yes | The ID of the Notion page to append content to |
|
||||
| `content` | string | Yes | The content to append to the page |
|
||||
| `accessToken` | string | Yes | Notion OAuth access token |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `pageId` | string | Yes | The ID of the Notion page to append content to |
|
||||
| `content` | string | Yes | The content to append to the page |
|
||||
| `accessToken` | string | Yes | Notion OAuth access token |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `content` | string |
|
||||
|
||||
### `notion_create_page`
|
||||
@@ -83,36 +86,41 @@ Create a new page in Notion
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ------------------------------------------------------------------ |
|
||||
| `parentType` | string | Yes | Type of parent: |
|
||||
| `parentId` | string | Yes | ID of the parent page or database |
|
||||
| `title` | string | No | Title of the page \(required for parent pages, not for databases\) |
|
||||
| `properties` | json | No | JSON object of properties for database pages |
|
||||
| `content` | string | No | Optional content to add to the page upon creation |
|
||||
| `accessToken` | string | Yes | Notion OAuth access token |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `parentType` | string | Yes | Type of parent: |
|
||||
| `parentId` | string | Yes | ID of the parent page or database |
|
||||
| `title` | string | No | Title of the page \(required for parent pages, not for databases\) |
|
||||
| `properties` | json | No | JSON object of properties for database pages |
|
||||
| `content` | string | No | Optional content to add to the page upon creation |
|
||||
| `accessToken` | string | Yes | Notion OAuth access token |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `content` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ------------ | ------ | ------------------------ |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `content` | string | content of the response |
|
||||
| ↳ `metadata` | any | metadata of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `content` | string | content of the response |
|
||||
| ↳ `metadata` | any | metadata of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ title: Embeddings
|
||||
description: Generate Open AI embeddings
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="openai"
|
||||
color="#10a37f"
|
||||
icon={true}
|
||||
@@ -13,13 +13,13 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
|
||||
|
||||
|
||||
viewBox="0 0 24 24"
|
||||
role="img"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox='0 0 24 24'
|
||||
role='img'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<path
|
||||
d="M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"
|
||||
fill="currentColor"
|
||||
d='M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -40,10 +40,13 @@ With OpenAI, you can:
|
||||
In Sim Studio, the OpenAI integration enables your agents to leverage these powerful AI capabilities programmatically as part of their workflows. This allows for sophisticated automation scenarios that combine natural language understanding, content generation, and semantic analysis. Your agents can generate vector embeddings from text, which are numerical representations that capture semantic meaning, enabling advanced search, classification, and recommendation systems. Additionally, through the DALL-E integration, agents can create images from text descriptions, opening up possibilities for visual content generation. This integration bridges the gap between your workflow automation and state-of-the-art AI capabilities, enabling your agents to understand context, generate relevant content, and make intelligent decisions based on semantic understanding. By connecting Sim Studio with OpenAI, you can create agents that process information more intelligently, generate creative content, and deliver more personalized experiences to users.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Convert text into numerical vector representations using OpenAI
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `openai_embeddings`
|
||||
@@ -52,39 +55,44 @@ Generate embeddings from text using OpenAI
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------------- | ------ | -------- | -------------------------------------- |
|
||||
| `apiKey` | string | Yes | OpenAI API key |
|
||||
| `input` | string | Yes | Text to generate embeddings for |
|
||||
| `model` | string | No | Model to use for embeddings |
|
||||
| `encoding_format` | string | No | The format to return the embeddings in |
|
||||
| `user` | string | No | A unique identifier for the end-user |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | OpenAI API key |
|
||||
| `input` | string | Yes | Text to generate embeddings for |
|
||||
| `model` | string | No | Model to use for embeddings |
|
||||
| `encoding_format` | string | No | The format to return the embeddings in |
|
||||
| `user` | string | No | A unique identifier for the end-user |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| -------------- | ------ |
|
||||
| `embeddings` | string |
|
||||
| `model` | string |
|
||||
| `usage` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `embeddings` | string |
|
||||
| `model` | string |
|
||||
| `usage` | string |
|
||||
| `total_tokens` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | -------------------------------------------------- |
|
||||
| `input` | string | Yes | Input Text - Enter text to generate embeddings for |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `input` | string | Yes | Input Text - Enter text to generate embeddings for |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| -------------- | ------ | -------------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `embeddings` | json | embeddings of the response |
|
||||
| ↳ `model` | string | model of the response |
|
||||
| ↳ `usage` | json | usage of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `embeddings` | json | embeddings of the response |
|
||||
| ↳ `model` | string | model of the response |
|
||||
| ↳ `usage` | json | usage of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,17 +3,17 @@ title: Perplexity
|
||||
description: Use Perplexity AI chat models
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="perplexity"
|
||||
color="#20808D"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" >
|
||||
iconSvg={`<svg className="block-icon" viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' >
|
||||
<path
|
||||
d="M19.785 0v7.272H22.5V17.62h-2.935V24l-7.037-6.194v6.145h-1.091v-6.152L4.392 24v-6.465H1.5V7.188h2.884V0l7.053 6.494V.19h1.09v6.49L19.786 0zm-7.257 9.044v7.319l5.946 5.234V14.44l-5.946-5.397zm-1.099-.08l-5.946 5.398v7.235l5.946-5.234V8.965zm8.136 7.58h1.844V8.349H13.46l6.105 5.54v2.655zm-8.982-8.28H2.59v8.195h1.8v-2.576l6.192-5.62zM5.475 2.476v4.71h5.115l-5.115-4.71zm13.219 0l-5.115 4.71h5.115v-4.71z"
|
||||
fill="currentColor"
|
||||
fillRule="nonzero"
|
||||
d='M19.785 0v7.272H22.5V17.62h-2.935V24l-7.037-6.194v6.145h-1.091v-6.152L4.392 24v-6.465H1.5V7.188h2.884V0l7.053 6.494V.19h1.09v6.49L19.786 0zm-7.257 9.044v7.319l5.946 5.234V14.44l-5.946-5.397zm-1.099-.08l-5.946 5.398v7.235l5.946-5.234V8.965zm8.136 7.58h1.844V8.349H13.46l6.105 5.54v2.655zm-8.982-8.28H2.59v8.195h1.8v-2.576l6.192-5.62zM5.475 2.476v4.71h5.115l-5.115-4.71zm13.219 0l-5.115 4.71h5.115v-4.71z'
|
||||
fill='currentColor'
|
||||
fillRule='nonzero'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -34,10 +34,13 @@ With Perplexity AI, you can:
|
||||
In Sim Studio, the Perplexity integration enables your agents to leverage these powerful AI capabilities programmatically as part of their workflows. This allows for sophisticated automation scenarios that combine natural language understanding, real-time information retrieval, and content generation. Your agents can formulate queries, receive comprehensive answers with citations, and incorporate this information into their decision-making processes or outputs. This integration bridges the gap between your workflow automation and access to current, reliable information, enabling your agents to make more informed decisions and provide more accurate responses. By connecting Sim Studio with Perplexity, you can create agents that stay current with the latest information, provide well-researched answers, and deliver more valuable insights to users - all without requiring manual research or information gathering.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Generate completions using Perplexity AI models with real-time knowledge and search capabilities. Create responses, answer questions, and generate content with customizable parameters.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `perplexity_chat`
|
||||
@@ -46,40 +49,45 @@ Generate completions using Perplexity AI chat models
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ---------------------------------------------------------- |
|
||||
| `apiKey` | string | Yes | Perplexity API key |
|
||||
| `model` | string | Yes | Model to use for chat completions \(e.g., sonar, mistral\) |
|
||||
| `messages` | array | Yes | Array of message objects with role and content |
|
||||
| `max_tokens` | number | No | Maximum number of tokens to generate |
|
||||
| `temperature` | number | No | Sampling temperature between 0 and 1 |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Perplexity API key |
|
||||
| `model` | string | Yes | Model to use for chat completions \(e.g., sonar, mistral\) |
|
||||
| `messages` | array | Yes | Array of message objects with role and content |
|
||||
| `max_tokens` | number | No | Maximum number of tokens to generate |
|
||||
| `temperature` | number | No | Sampling temperature between 0 and 1 |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ------------------- | ------ |
|
||||
| `content` | string |
|
||||
| `model` | string |
|
||||
| `usage` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `content` | string |
|
||||
| `model` | string |
|
||||
| `usage` | string |
|
||||
| `completion_tokens` | string |
|
||||
| `total_tokens` | string |
|
||||
| `total_tokens` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | --------------------------------------- |
|
||||
| `prompt` | string | Yes | User Prompt - Enter your prompt here... |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `prompt` | string | Yes | User Prompt - Enter your prompt here... |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ----------- | ------ | ----------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `content` | string | content of the response |
|
||||
| ↳ `model` | string | model of the response |
|
||||
| ↳ `usage` | json | usage of the response |
|
||||
| ↳ `model` | string | model of the response |
|
||||
| ↳ `usage` | json | usage of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ title: Pinecone
|
||||
description: Use Pinecone vector database
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="pinecone"
|
||||
color="#0D1117"
|
||||
icon={true}
|
||||
@@ -13,15 +13,15 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
|
||||
|
||||
|
||||
viewBox="0 0 256 288"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlnsXlink="http://www.w3.org/1999/xlink"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
viewBox='0 0 256 288'
|
||||
version='1.1'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
xmlnsXlink='http://www.w3.org/1999/xlink'
|
||||
preserveAspectRatio='xMidYMid'
|
||||
>
|
||||
<path
|
||||
d="M108.633615,254.43629 C117.713862,254.43629 125.074857,261.797284 125.074857,270.877532 C125.074857,279.957779 117.713862,287.318774 108.633615,287.318774 C99.5533677,287.318774 92.1923728,279.957779 92.1923728,270.877532 C92.1923728,261.797284 99.5533677,254.43629 108.633615,254.43629 Z M199.849665,224.438339 L216.09705,229.252379 L203.199913,272.780219 C202.072982,276.58361 198.458049,279.095992 194.500389,278.826397 L190.516677,278.552973 L190.419263,278.633409 L149.02918,275.728903 L150.180842,258.822508 L177.989056,260.709686 L159.783784,234.447622 L173.709616,224.792379 L191.938895,251.08702 L199.849665,224.438339 Z M23.0126771,194.347476 L39.9158866,195.544979 L37.935897,223.348728 L64.1501315,205.120082 L73.8271476,219.030793 L47.578736,237.278394 L74.3707554,245.173037 L69.5818063,261.427835 L25.8485266,248.543243 C22.0304448,247.418369 19.5101155,243.787479 19.7913963,239.817092 L23.0126771,194.347476 Z M132.151306,170.671396 L162.658679,207.503468 L148.909247,218.891886 L130.753266,196.972134 L124.866941,230.673893 L107.280249,227.599613 L113.172232,193.845272 L88.7296311,208.256891 L79.6674587,192.874434 L120.745504,168.674377 C124.522104,166.449492 129.355297,167.295726 132.151306,170.671396 Z M217.504528,145.960198 L232.744017,137.668804 L254.94482,178.473633 C256.889641,182.048192 256.088221,186.494171 253.017682,189.164674 L249.876622,191.878375 L217.826246,219.77131 L206.441034,206.680621 L227.988588,187.934494 L195.893546,182.152609 L198.972402,165.078949 L231.044844,170.857793 L217.504528,145.960198 Z M37.7821805,103.299272 L49.2622123,116.306888 L28.0106317,135.050179 L60.1668233,140.664193 L57.1863573,157.755303 L24.9947229,152.136967 L38.822104,177.134576 L23.6411026,185.532577 L1.08439616,144.756992 C-0.885025494,141.196884 -0.115545265,136.746375 2.93488097,134.054184 L37.7821805,103.299272 Z M146.476311,89.8796828 L176.88045,126.612847 L163.1271,137.996532 L144.975445,116.067101 L139.08912,149.778947 L121.502428,146.704666 L127.374238,113.081452 L103.025237,127.354817 L93.9976317,111.952048 L131.398812,90.0233663 L131.435631,89.880899 L131.600545,89.9023265 L135.085833,87.870141 C138.861877,85.6569913 143.68556,86.5079996 146.476311,89.8796828 Z M185.655786,71.8143168 L192.305535,55.7902703 L235.318239,73.6399229 C239.072486,75.1978811 241.2415,79.1537636 240.536356,83.1568091 L239.820231,87.1385839 L232.47517,128.919545 L215.389188,125.909819 L220.312646,97.9413879 L191.776157,113.7129 L183.390302,98.5251862 L211.981072,82.7408038 L185.655786,71.8143168 Z M103.71696,40.2373824 L104.456513,57.5706533 L76.0432671,58.785006 L97.4730368,83.2749086 L84.4165529,94.6993319 L62.9507932,70.1728358 L57.949673,98.1737132 L40.8716575,95.1191088 L49.0561498,49.3603563 C49.771444,45.3612115 53.1664633,42.3942036 57.2253811,42.2210231 L61.246149,42.0411642 L61.3363168,41.9758 L103.71696,40.2373824 Z M161.838155,3.27194826 L192.104824,40.2369789 L178.291207,51.5474574 L160.327329,29.6043227 L154.268381,63.2715157 L136.697231,60.1096121 L142.766468,26.3665075 L118.24002,40.7062765 L109.232678,25.2916494 L150.427675,1.21987397 C154.218286,-0.995121237 159.056796,-0.124957814 161.838155,3.27194826 Z"
|
||||
fill="currentColor"
|
||||
d='M108.633615,254.43629 C117.713862,254.43629 125.074857,261.797284 125.074857,270.877532 C125.074857,279.957779 117.713862,287.318774 108.633615,287.318774 C99.5533677,287.318774 92.1923728,279.957779 92.1923728,270.877532 C92.1923728,261.797284 99.5533677,254.43629 108.633615,254.43629 Z M199.849665,224.438339 L216.09705,229.252379 L203.199913,272.780219 C202.072982,276.58361 198.458049,279.095992 194.500389,278.826397 L190.516677,278.552973 L190.419263,278.633409 L149.02918,275.728903 L150.180842,258.822508 L177.989056,260.709686 L159.783784,234.447622 L173.709616,224.792379 L191.938895,251.08702 L199.849665,224.438339 Z M23.0126771,194.347476 L39.9158866,195.544979 L37.935897,223.348728 L64.1501315,205.120082 L73.8271476,219.030793 L47.578736,237.278394 L74.3707554,245.173037 L69.5818063,261.427835 L25.8485266,248.543243 C22.0304448,247.418369 19.5101155,243.787479 19.7913963,239.817092 L23.0126771,194.347476 Z M132.151306,170.671396 L162.658679,207.503468 L148.909247,218.891886 L130.753266,196.972134 L124.866941,230.673893 L107.280249,227.599613 L113.172232,193.845272 L88.7296311,208.256891 L79.6674587,192.874434 L120.745504,168.674377 C124.522104,166.449492 129.355297,167.295726 132.151306,170.671396 Z M217.504528,145.960198 L232.744017,137.668804 L254.94482,178.473633 C256.889641,182.048192 256.088221,186.494171 253.017682,189.164674 L249.876622,191.878375 L217.826246,219.77131 L206.441034,206.680621 L227.988588,187.934494 L195.893546,182.152609 L198.972402,165.078949 L231.044844,170.857793 L217.504528,145.960198 Z M37.7821805,103.299272 L49.2622123,116.306888 L28.0106317,135.050179 L60.1668233,140.664193 L57.1863573,157.755303 L24.9947229,152.136967 L38.822104,177.134576 L23.6411026,185.532577 L1.08439616,144.756992 C-0.885025494,141.196884 -0.115545265,136.746375 2.93488097,134.054184 L37.7821805,103.299272 Z M146.476311,89.8796828 L176.88045,126.612847 L163.1271,137.996532 L144.975445,116.067101 L139.08912,149.778947 L121.502428,146.704666 L127.374238,113.081452 L103.025237,127.354817 L93.9976317,111.952048 L131.398812,90.0233663 L131.435631,89.880899 L131.600545,89.9023265 L135.085833,87.870141 C138.861877,85.6569913 143.68556,86.5079996 146.476311,89.8796828 Z M185.655786,71.8143168 L192.305535,55.7902703 L235.318239,73.6399229 C239.072486,75.1978811 241.2415,79.1537636 240.536356,83.1568091 L239.820231,87.1385839 L232.47517,128.919545 L215.389188,125.909819 L220.312646,97.9413879 L191.776157,113.7129 L183.390302,98.5251862 L211.981072,82.7408038 L185.655786,71.8143168 Z M103.71696,40.2373824 L104.456513,57.5706533 L76.0432671,58.785006 L97.4730368,83.2749086 L84.4165529,94.6993319 L62.9507932,70.1728358 L57.949673,98.1737132 L40.8716575,95.1191088 L49.0561498,49.3603563 C49.771444,45.3612115 53.1664633,42.3942036 57.2253811,42.2210231 L61.246149,42.0411642 L61.3363168,41.9758 L103.71696,40.2373824 Z M161.838155,3.27194826 L192.104824,40.2369789 L178.291207,51.5474574 L160.327329,29.6043227 L154.268381,63.2715157 L136.697231,60.1096121 L142.766468,26.3665075 L118.24002,40.7062765 L109.232678,25.2916494 L150.427675,1.21987397 C154.218286,-0.995121237 159.056796,-0.124957814 161.838155,3.27194826 Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -42,10 +42,13 @@ With Pinecone, you can:
|
||||
In Sim Studio, the Pinecone integration enables your agents to leverage vector search capabilities programmatically as part of their workflows. This allows for sophisticated automation scenarios that combine natural language processing with semantic search and retrieval. Your agents can generate embeddings from text, store these vectors in Pinecone indexes, and perform similarity searches to find the most relevant information. This integration bridges the gap between your AI workflows and vector search infrastructure, enabling more intelligent information retrieval based on semantic meaning rather than exact keyword matching. By connecting Sim Studio with Pinecone, you can create agents that understand context, retrieve relevant information from large datasets, and deliver more accurate and personalized responses to users - all without requiring complex infrastructure management or specialized knowledge of vector databases.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Store, search, and retrieve vector embeddings using Pinecone
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `pinecone_generate_embeddings`
|
||||
@@ -54,20 +57,20 @@ Generate embeddings from text using Pinecone
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | ----------------------------------------------- |
|
||||
| `apiKey` | string | Yes | Pinecone API key |
|
||||
| `model` | string | Yes | Model to use for generating embeddings |
|
||||
| `inputs` | array | Yes | Array of text inputs to generate embeddings for |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Pinecone API key |
|
||||
| `model` | string | Yes | Model to use for generating embeddings |
|
||||
| `inputs` | array | Yes | Array of text inputs to generate embeddings for |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ------------- | ------ |
|
||||
| `data` | string |
|
||||
| `model` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `data` | string |
|
||||
| `model` | string |
|
||||
| `vector_type` | string |
|
||||
| `usage` | string |
|
||||
| `usage` | string |
|
||||
|
||||
### `pinecone_upsert_text`
|
||||
|
||||
@@ -75,17 +78,17 @@ Insert or update text records in a Pinecone index
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | --------------------------------------------------------------------------------------- |
|
||||
| `apiKey` | string | Yes | Pinecone API key |
|
||||
| `indexHost` | string | Yes | Full Pinecone index host URL |
|
||||
| `namespace` | string | Yes | Namespace to upsert records into |
|
||||
| `records` | array | Yes | Record or array of records to upsert, each containing \_id, text, and optional metadata |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Pinecone API key |
|
||||
| `indexHost` | string | Yes | Full Pinecone index host URL |
|
||||
| `namespace` | string | Yes | Namespace to upsert records into |
|
||||
| `records` | array | Yes | Record or array of records to upsert, each containing _id, text, and optional metadata |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ------------ | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `statusText` | string |
|
||||
|
||||
### `pinecone_search_text`
|
||||
@@ -94,23 +97,23 @@ Search for similar text in a Pinecone index
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ------------------------------- |
|
||||
| `apiKey` | string | Yes | Pinecone API key |
|
||||
| `indexHost` | string | Yes | Full Pinecone index host URL |
|
||||
| `namespace` | string | No | Namespace to search in |
|
||||
| `searchQuery` | string | Yes | Text to search for |
|
||||
| `topK` | string | No | Number of results to return |
|
||||
| `fields` | array | No | Fields to return in the results |
|
||||
| `filter` | object | No | Filter to apply to the search |
|
||||
| `rerank` | object | No | Reranking parameters |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Pinecone API key |
|
||||
| `indexHost` | string | Yes | Full Pinecone index host URL |
|
||||
| `namespace` | string | No | Namespace to search in |
|
||||
| `searchQuery` | string | Yes | Text to search for |
|
||||
| `topK` | string | No | Number of results to return |
|
||||
| `fields` | array | No | Fields to return in the results |
|
||||
| `filter` | object | No | Filter to apply to the search |
|
||||
| `rerank` | object | No | Reranking parameters |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| `matches` | string |
|
||||
| `score` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `matches` | string |
|
||||
| `score` | string |
|
||||
| `metadata` | string |
|
||||
|
||||
### `pinecone_search_vector`
|
||||
@@ -119,24 +122,24 @@ Search for similar vectors in a Pinecone index
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------------- | ------- | -------- | --------------------------------- |
|
||||
| `apiKey` | string | Yes | Pinecone API key |
|
||||
| `indexHost` | string | Yes | Full Pinecone index host URL |
|
||||
| `namespace` | string | No | Namespace to search in |
|
||||
| `vector` | array | Yes | Vector to search for |
|
||||
| `topK` | number | No | Number of results to return |
|
||||
| `filter` | object | No | Filter to apply to the search |
|
||||
| `includeValues` | boolean | No | Include vector values in response |
|
||||
| `includeMetadata` | boolean | No | Include metadata in response |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Pinecone API key |
|
||||
| `indexHost` | string | Yes | Full Pinecone index host URL |
|
||||
| `namespace` | string | No | Namespace to search in |
|
||||
| `vector` | array | Yes | Vector to search for |
|
||||
| `topK` | number | No | Number of results to return |
|
||||
| `filter` | object | No | Filter to apply to the search |
|
||||
| `includeValues` | boolean | No | Include vector values in response |
|
||||
| `includeMetadata` | boolean | No | Include metadata in response |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| `matches` | string |
|
||||
| `score` | string |
|
||||
| `values` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `matches` | string |
|
||||
| `score` | string |
|
||||
| `values` | string |
|
||||
| `metadata` | string |
|
||||
|
||||
### `pinecone_fetch`
|
||||
@@ -145,42 +148,47 @@ Fetch vectors by ID from a Pinecone index
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ------------------------------- |
|
||||
| `apiKey` | string | Yes | Pinecone API key |
|
||||
| `indexHost` | string | Yes | Full Pinecone index host URL |
|
||||
| `ids` | array | Yes | Array of vector IDs to fetch |
|
||||
| `namespace` | string | No | Namespace to fetch vectors from |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Pinecone API key |
|
||||
| `indexHost` | string | Yes | Full Pinecone index host URL |
|
||||
| `ids` | array | Yes | Array of vector IDs to fetch |
|
||||
| `namespace` | string | No | Namespace to fetch vectors from |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| `matches` | string |
|
||||
| `values` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `matches` | string |
|
||||
| `values` | string |
|
||||
| `metadata` | string |
|
||||
| `score` | string |
|
||||
| `id` | string |
|
||||
| `score` | string |
|
||||
| `id` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ----------------- | ------ | ----------------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `matches` | any | matches of the response |
|
||||
| ↳ `upsertedCount` | any | upsertedCount of the response |
|
||||
| ↳ `data` | any | data of the response |
|
||||
| ↳ `model` | any | model of the response |
|
||||
| ↳ `vector_type` | any | vector_type of the response |
|
||||
| ↳ `usage` | any | usage of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `matches` | any | matches of the response |
|
||||
| ↳ `upsertedCount` | any | upsertedCount of the response |
|
||||
| ↳ `data` | any | data of the response |
|
||||
| ↳ `model` | any | model of the response |
|
||||
| ↳ `vector_type` | any | vector_type of the response |
|
||||
| ↳ `usage` | any | usage of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ title: Reddit
|
||||
description: Access Reddit data and content
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="reddit"
|
||||
color="#FF5700"
|
||||
icon={true}
|
||||
@@ -13,14 +13,14 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
|
||||
|
||||
|
||||
viewBox="0 0 50 50"
|
||||
fill="#FFFFFF"
|
||||
role="img"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox='0 0 50 50'
|
||||
fill='#FFFFFF'
|
||||
role='img'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<path
|
||||
d="M 29 3 C 26.894531 3 24.433594 4.652344 24.0625 12.03125 C 24.375 12.023438 24.683594 12 25 12 C 25.351563 12 25.714844 12.019531 26.0625 12.03125 C 26.300781 7.597656 27.355469 5 29 5 C 29.703125 5 30.101563 5.382813 30.84375 6.1875 C 31.710938 7.128906 32.84375 8.351563 35.0625 8.8125 C 35.027344 8.550781 35 8.269531 35 8 C 35 7.578125 35.042969 7.179688 35.125 6.78125 C 33.75 6.40625 33.023438 5.613281 32.3125 4.84375 C 31.519531 3.984375 30.609375 3 29 3 Z M 41 4 C 38.792969 4 37 5.796875 37 8 C 37 10.203125 38.792969 12 41 12 C 43.207031 12 45 10.203125 45 8 C 45 5.796875 43.207031 4 41 4 Z M 25 14 C 12.867188 14 3 20.179688 3 29 C 3 37.820313 12.867188 45 25 45 C 37.132813 45 47 37.820313 47 29 C 47 20.179688 37.132813 14 25 14 Z M 7.5 14.9375 C 6.039063 14.9375 4.652344 15.535156 3.59375 16.59375 C 1.871094 18.316406 1.515625 20.792969 2.5 22.84375 C 4.011719 19.917969 6.613281 17.421875 9.96875 15.5625 C 9.207031 15.175781 8.363281 14.9375 7.5 14.9375 Z M 42.5 14.9375 C 41.636719 14.9375 40.792969 15.175781 40.03125 15.5625 C 43.386719 17.421875 45.988281 19.917969 47.5 22.84375 C 48.484375 20.792969 48.128906 18.316406 46.40625 16.59375 C 45.347656 15.535156 43.960938 14.9375 42.5 14.9375 Z M 17 23 C 18.65625 23 20 24.34375 20 26 C 20 27.65625 18.65625 29 17 29 C 15.34375 29 14 27.65625 14 26 C 14 24.34375 15.34375 23 17 23 Z M 33 23 C 34.65625 23 36 24.34375 36 26 C 36 27.65625 34.65625 29 33 29 C 31.34375 29 30 27.65625 30 26 C 30 24.34375 31.34375 23 33 23 Z M 16.0625 34 C 16.3125 34.042969 16.558594 34.183594 16.71875 34.40625 C 16.824219 34.554688 19.167969 37.6875 25 37.6875 C 30.910156 37.6875 33.257813 34.46875 33.28125 34.4375 C 33.597656 33.988281 34.234375 33.867188 34.6875 34.1875 C 35.136719 34.503906 35.222656 35.109375 34.90625 35.5625 C 34.789063 35.730469 31.9375 39.6875 25 39.6875 C 18.058594 39.6875 15.210938 35.730469 15.09375 35.5625 C 14.777344 35.109375 14.859375 34.503906 15.3125 34.1875 C 15.539063 34.027344 15.8125 33.957031 16.0625 34 Z"
|
||||
fill="currentColor"
|
||||
d='M 29 3 C 26.894531 3 24.433594 4.652344 24.0625 12.03125 C 24.375 12.023438 24.683594 12 25 12 C 25.351563 12 25.714844 12.019531 26.0625 12.03125 C 26.300781 7.597656 27.355469 5 29 5 C 29.703125 5 30.101563 5.382813 30.84375 6.1875 C 31.710938 7.128906 32.84375 8.351563 35.0625 8.8125 C 35.027344 8.550781 35 8.269531 35 8 C 35 7.578125 35.042969 7.179688 35.125 6.78125 C 33.75 6.40625 33.023438 5.613281 32.3125 4.84375 C 31.519531 3.984375 30.609375 3 29 3 Z M 41 4 C 38.792969 4 37 5.796875 37 8 C 37 10.203125 38.792969 12 41 12 C 43.207031 12 45 10.203125 45 8 C 45 5.796875 43.207031 4 41 4 Z M 25 14 C 12.867188 14 3 20.179688 3 29 C 3 37.820313 12.867188 45 25 45 C 37.132813 45 47 37.820313 47 29 C 47 20.179688 37.132813 14 25 14 Z M 7.5 14.9375 C 6.039063 14.9375 4.652344 15.535156 3.59375 16.59375 C 1.871094 18.316406 1.515625 20.792969 2.5 22.84375 C 4.011719 19.917969 6.613281 17.421875 9.96875 15.5625 C 9.207031 15.175781 8.363281 14.9375 7.5 14.9375 Z M 42.5 14.9375 C 41.636719 14.9375 40.792969 15.175781 40.03125 15.5625 C 43.386719 17.421875 45.988281 19.917969 47.5 22.84375 C 48.484375 20.792969 48.128906 18.316406 46.40625 16.59375 C 45.347656 15.535156 43.960938 14.9375 42.5 14.9375 Z M 17 23 C 18.65625 23 20 24.34375 20 26 C 20 27.65625 18.65625 29 17 29 C 15.34375 29 14 27.65625 14 26 C 14 24.34375 15.34375 23 17 23 Z M 33 23 C 34.65625 23 36 24.34375 36 26 C 36 27.65625 34.65625 29 33 29 C 31.34375 29 30 27.65625 30 26 C 30 24.34375 31.34375 23 33 23 Z M 16.0625 34 C 16.3125 34.042969 16.558594 34.183594 16.71875 34.40625 C 16.824219 34.554688 19.167969 37.6875 25 37.6875 C 30.910156 37.6875 33.257813 34.46875 33.28125 34.4375 C 33.597656 33.988281 34.234375 33.867188 34.6875 34.1875 C 35.136719 34.503906 35.222656 35.109375 34.90625 35.5625 C 34.789063 35.730469 31.9375 39.6875 25 39.6875 C 18.058594 39.6875 15.210938 35.730469 15.09375 35.5625 C 14.777344 35.109375 14.859375 34.503906 15.3125 34.1875 C 15.539063 34.027344 15.8125 33.957031 16.0625 34 Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -41,10 +41,13 @@ With Reddit, you can:
|
||||
In Sim Studio, the Reddit integration enables your agents to programmatically access and analyze content from Reddit's vast ecosystem. This allows for powerful automation scenarios such as trend monitoring, content aggregation, and sentiment analysis. Your agents can retrieve popular posts from specific subreddits, extract valuable information, and incorporate these insights into their workflows. This integration bridges the gap between social media monitoring and your AI workflows, enabling more informed decision-making based on public discussions and trending topics. By connecting Sim Studio with Reddit, you can create agents that stay on top of relevant conversations, identify emerging trends, gather diverse perspectives, and deliver timely insights - all without requiring manual browsing of countless Reddit threads.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Access Reddit data to retrieve posts and comments from any subreddit. Get post titles, content, authors, scores, comments and more.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `reddit_hot_posts`
|
||||
@@ -53,17 +56,17 @@ Fetch the most popular (hot) posts from a specified subreddit.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------------------------------------------------------------------- |
|
||||
| `subreddit` | string | Yes | The name of the subreddit to fetch posts from \(without the r/ prefix\) |
|
||||
| `limit` | number | No | Maximum number of posts to return \(default: 10, max: 100\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `subreddit` | string | Yes | The name of the subreddit to fetch posts from \(without the r/ prefix\) |
|
||||
| `limit` | number | No | Maximum number of posts to return \(default: 10, max: 100\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ----------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `subreddit` | string |
|
||||
| `posts` | string |
|
||||
| `posts` | string |
|
||||
|
||||
### `reddit_get_posts`
|
||||
|
||||
@@ -71,19 +74,19 @@ Fetch posts from a subreddit with different sorting options
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------------------------------------------------------------------- |
|
||||
| `subreddit` | string | Yes | The name of the subreddit to fetch posts from \(without the r/ prefix\) |
|
||||
| `sort` | string | No | Sort method for posts: |
|
||||
| `limit` | number | No | Maximum number of posts to return \(default: 10, max: 100\) |
|
||||
| `time` | string | No | Time filter for |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `subreddit` | string | Yes | The name of the subreddit to fetch posts from \(without the r/ prefix\) |
|
||||
| `sort` | string | No | Sort method for posts: |
|
||||
| `limit` | number | No | Maximum number of posts to return \(default: 10, max: 100\) |
|
||||
| `time` | string | No | Time filter for |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ----------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `subreddit` | string |
|
||||
| `posts` | string |
|
||||
| `posts` | string |
|
||||
|
||||
### `reddit_get_comments`
|
||||
|
||||
@@ -91,42 +94,47 @@ Fetch comments from a specific Reddit post
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------------------------------------------------------------- |
|
||||
| `postId` | string | Yes | The ID of the Reddit post to fetch comments from |
|
||||
| `subreddit` | string | Yes | The subreddit where the post is located \(without the r/ prefix\) |
|
||||
| `sort` | string | No | Sort method for comments: |
|
||||
| `limit` | number | No | Maximum number of comments to return \(default: 50, max: 100\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `postId` | string | Yes | The ID of the Reddit post to fetch comments from |
|
||||
| `subreddit` | string | Yes | The subreddit where the post is located \(without the r/ prefix\) |
|
||||
| `sort` | string | No | Sort method for comments: |
|
||||
| `limit` | number | No | Maximum number of comments to return \(default: 50, max: 100\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ------------- | ------ |
|
||||
| `post` | string |
|
||||
| `title` | string |
|
||||
| `author` | string |
|
||||
| `selftext` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `post` | string |
|
||||
| `title` | string |
|
||||
| `author` | string |
|
||||
| `selftext` | string |
|
||||
| `created_utc` | string |
|
||||
| `score` | string |
|
||||
| `permalink` | string |
|
||||
| `score` | string |
|
||||
| `permalink` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | ----------- |
|
||||
| `action` | string | Yes | Action |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `action` | string | Yes | Action |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ------------- | ------ | ------------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `subreddit` | string | subreddit of the response |
|
||||
| ↳ `posts` | json | posts of the response |
|
||||
| ↳ `post` | json | post of the response |
|
||||
| ↳ `comments` | json | comments of the response |
|
||||
| ↳ `posts` | json | posts of the response |
|
||||
| ↳ `post` | json | post of the response |
|
||||
| ↳ `comments` | json | comments of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,42 +3,42 @@ title: S3
|
||||
description: View S3 files
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="s3"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
|
||||
preserveAspectRatio="xMidYMid"
|
||||
viewBox="0 0 256 310"
|
||||
preserveAspectRatio='xMidYMid'
|
||||
viewBox='0 0 256 310'
|
||||
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<path d="m20.624 53.686-20.624 10.314v181.02l20.624 10.254.124-.149v-201.297z" fill="#8c3123" />
|
||||
<path d="m131 229-110.376 26.274v-201.588l110.376 25.701z" fill="#e05243" />
|
||||
<path d="m81.178 187.866 46.818 5.96.294-.678.263-76.77-.557-.6-46.818 5.874z" fill="#8c3123" />
|
||||
<path d='m20.624 53.686-20.624 10.314v181.02l20.624 10.254.124-.149v-201.297z' fill='#8c3123' />
|
||||
<path d='m131 229-110.376 26.274v-201.588l110.376 25.701z' fill='#e05243' />
|
||||
<path d='m81.178 187.866 46.818 5.96.294-.678.263-76.77-.557-.6-46.818 5.874z' fill='#8c3123' />
|
||||
<path
|
||||
d="m127.996 229.295 107.371 26.035.169-.269-.003-201.195-.17-.18-107.367 25.996z"
|
||||
fill="#8c3123"
|
||||
d='m127.996 229.295 107.371 26.035.169-.269-.003-201.195-.17-.18-107.367 25.996z'
|
||||
fill='#8c3123'
|
||||
/>
|
||||
<path d="m174.827 187.866-46.831 5.96v-78.048l46.831 5.874z" fill="#e05243" />
|
||||
<path d="m174.827 89.631-46.831 8.535-46.818-8.535 46.759-12.256z" fill="#5e1f18" />
|
||||
<path d="m174.827 219.801-46.831-8.591-46.818 8.591 46.761 13.053z" fill="#f2b0a9" />
|
||||
<path d='m174.827 187.866-46.831 5.96v-78.048l46.831 5.874z' fill='#e05243' />
|
||||
<path d='m174.827 89.631-46.831 8.535-46.818-8.535 46.759-12.256z' fill='#5e1f18' />
|
||||
<path d='m174.827 219.801-46.831-8.591-46.818 8.591 46.761 13.053z' fill='#f2b0a9' />
|
||||
<path
|
||||
d="m81.178 89.631 46.818-11.586.379-.117v-77.615l-.379-.313-46.818 23.413z"
|
||||
fill="#8c3123"
|
||||
d='m81.178 89.631 46.818-11.586.379-.117v-77.615l-.379-.313-46.818 23.413z'
|
||||
fill='#8c3123'
|
||||
/>
|
||||
<path d="m174.827 89.631-46.831-11.586v-78.045l46.831 23.413z" fill="#e05243" />
|
||||
<path d='m174.827 89.631-46.831-11.586v-78.045l46.831 23.413z' fill='#e05243' />
|
||||
<path
|
||||
d="m127.996 309.428-46.823-23.405v-66.217l46.823 11.582.689.783-.187 75.906z"
|
||||
fill="#8c3123"
|
||||
d='m127.996 309.428-46.823-23.405v-66.217l46.823 11.582.689.783-.187 75.906z'
|
||||
fill='#8c3123'
|
||||
/>
|
||||
<g fill="#e05243">
|
||||
<path d="m127.996 309.428 46.827-23.405v-66.217l-46.827 11.582z" />
|
||||
<path d="m235.367 53.686 20.633 10.314v181.02l-20.633 10.31z" />
|
||||
<g fill='#e05243'>
|
||||
<path d='m127.996 309.428 46.827-23.405v-66.217l-46.827 11.582z' />
|
||||
<path d='m235.367 53.686 20.633 10.314v181.02l-20.633 10.31z' />
|
||||
</g>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -47,6 +47,8 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
|
||||
Retrieve and view files from Amazon S3 buckets using presigned URLs.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `s3_get_object`
|
||||
@@ -55,37 +57,42 @@ Retrieve an object from an AWS S3 bucket
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------------- | ------ | -------- | -------------------------------------------------------------------------------- |
|
||||
| `accessKeyId` | string | Yes | Your AWS Access Key ID |
|
||||
| `secretAccessKey` | string | Yes | Your AWS Secret Access Key |
|
||||
| `s3Uri` | string | Yes | S3 Object URL \(e.g., https://bucket-name.s3.region.amazonaws.com/path/to/file\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessKeyId` | string | Yes | Your AWS Access Key ID |
|
||||
| `secretAccessKey` | string | Yes | Your AWS Secret Access Key |
|
||||
| `s3Uri` | string | Yes | S3 Object URL \(e.g., https://bucket-name.s3.region.amazonaws.com/path/to/file\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| -------------- | ------ |
|
||||
| `metadata` | string |
|
||||
| `size` | string |
|
||||
| `name` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `metadata` | string |
|
||||
| `size` | string |
|
||||
| `name` | string |
|
||||
| `lastModified` | string |
|
||||
| `url` | string |
|
||||
| `url` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | -------------------------------------------- |
|
||||
| `accessKeyId` | string | Yes | Access Key ID - Enter your AWS Access Key ID |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessKeyId` | string | Yes | Access Key ID - Enter your AWS Access Key ID |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ------------ | ------ | ------------------------ |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `url` | string | url of the response |
|
||||
| ↳ `metadata` | json | metadata of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `url` | string | url of the response |
|
||||
| ↳ `metadata` | json | metadata of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,60 +3,60 @@ title: Serper
|
||||
description: Search the web using Serper
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="serper"
|
||||
color="#2B3543"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" viewBox="0 0 654 600" xmlns="http://www.w3.org/2000/svg" >
|
||||
iconSvg={`<svg className="block-icon" viewBox='0 0 654 600' xmlns='http://www.w3.org/2000/svg' >
|
||||
<path
|
||||
d="M324 38C356 37 389 36 417 47C452 56 484 72 509 94C539 118 561 145 577 176C593 205 601 238 606 271C610 343 590 403 552 452C528 482 499 507 467 523C438 539 404 547 372 552C297 556 235 534 184 492C133 449 103 392 93 330C93 292 89 255 102 224C112 189 128 158 149 132C194 78 255 46 322 38"
|
||||
fill="rgb(71,97,118)"
|
||||
d='M324 38C356 37 389 36 417 47C452 56 484 72 509 94C539 118 561 145 577 176C593 205 601 238 606 271C610 343 590 403 552 452C528 482 499 507 467 523C438 539 404 547 372 552C297 556 235 534 184 492C133 449 103 392 93 330C93 292 89 255 102 224C112 189 128 158 149 132C194 78 255 46 322 38'
|
||||
fill='rgb(71,97,118)'
|
||||
/>
|
||||
<path
|
||||
d="M326 39C286 43 250 55 217 75C185 94 156 120 137 150C100 204 87 266 95 336C107 402 142 462 198 502C249 538 309 556 378 551C415 545 449 533 477 516C511 497 535 472 557 445C592 393 611 333 605 265C595 196 563 140 511 95C484 73 452 57 419 48C390 38 359 38 327 39"
|
||||
fill="rgb(71,97,119)"
|
||||
d='M326 39C286 43 250 55 217 75C185 94 156 120 137 150C100 204 87 266 95 336C107 402 142 462 198 502C249 538 309 556 378 551C415 545 449 533 477 516C511 497 535 472 557 445C592 393 611 333 605 265C595 196 563 140 511 95C484 73 452 57 419 48C390 38 359 38 327 39'
|
||||
fill='rgb(71,97,119)'
|
||||
/>
|
||||
<path
|
||||
d="M342 40C407 42 465 61 513 103C541 126 562 155 576 184C592 217 600 251 600 288C602 357 579 416 535 465C510 493 478 515 445 528C416 541 385 546 352 546C284 548 225 523 178 481C130 436 103 379 96 313C94 244 113 186 151 138C179 103 209 80 245 64C276 50 307 44 340 41"
|
||||
fill="rgb(71,97,119)"
|
||||
d='M342 40C407 42 465 61 513 103C541 126 562 155 576 184C592 217 600 251 600 288C602 357 579 416 535 465C510 493 478 515 445 528C416 541 385 546 352 546C284 548 225 523 178 481C130 436 103 379 96 313C94 244 113 186 151 138C179 103 209 80 245 64C276 50 307 44 340 41'
|
||||
fill='rgb(71,97,119)'
|
||||
/>
|
||||
<path
|
||||
d="M344 42C309 44 277 51 247 64C209 81 180 103 153 136C114 186 95 244 96 312C104 379 131 435 177 480C225 522 284 547 351 546C385 545 416 540 443 528C478 514 509 492 533 466C578 416 601 357 600 289C599 251 591 217 576 187C561 156 541 127 515 105C466 63 409 44 346 41"
|
||||
fill="rgb(71,97,118)"
|
||||
d='M344 42C309 44 277 51 247 64C209 81 180 103 153 136C114 186 95 244 96 312C104 379 131 435 177 480C225 522 284 547 351 546C385 545 416 540 443 528C478 514 509 492 533 466C578 416 601 357 600 289C599 251 591 217 576 187C561 156 541 127 515 105C466 63 409 44 346 41'
|
||||
fill='rgb(71,97,118)'
|
||||
/>
|
||||
<path
|
||||
d="M327 81C378 78 423 89 462 114C511 144 546 196 557 248C567 306 559 363 530 406C498 457 448 492 395 503C338 513 282 506 239 477C192 450 156 402 143 351C126 296 137 235 163 190C198 130 258 89 325 82"
|
||||
fill="rgb(44,56,71)"
|
||||
d='M327 81C378 78 423 89 462 114C511 144 546 196 557 248C567 306 559 363 530 406C498 457 448 492 395 503C338 513 282 506 239 477C192 450 156 402 143 351C126 296 137 235 163 190C198 130 258 89 325 82'
|
||||
fill='rgb(44,56,71)'
|
||||
/>
|
||||
<path
|
||||
d="M329 83C260 89 199 129 165 189C138 235 127 296 144 349C157 401 193 449 237 475C282 505 338 512 393 503C448 491 497 457 529 408C558 363 566 306 557 250C545 196 511 145 464 116C424 91 380 79 330 82"
|
||||
fill="rgb(43,55,70)"
|
||||
d='M329 83C260 89 199 129 165 189C138 235 127 296 144 349C157 401 193 449 237 475C282 505 338 512 393 503C448 491 497 457 529 408C558 363 566 306 557 250C545 196 511 145 464 116C424 91 380 79 330 82'
|
||||
fill='rgb(43,55,70)'
|
||||
/>
|
||||
<path
|
||||
d="M334 87C381 83 423 94 458 117C510 148 544 201 554 258C562 317 551 370 521 412C487 460 440 491 385 500C331 507 281 499 241 473C191 444 157 394 145 339C136 284 143 227 171 186C207 129 265 91 332 87"
|
||||
fill="rgb(41,53,67)"
|
||||
d='M334 87C381 83 423 94 458 117C510 148 544 201 554 258C562 317 551 370 521 412C487 460 440 491 385 500C331 507 281 499 241 473C191 444 157 394 145 339C136 284 143 227 171 186C207 129 265 91 332 87'
|
||||
fill='rgb(41,53,67)'
|
||||
/>
|
||||
<path
|
||||
d="M335 88C267 90 208 129 173 184C144 227 137 284 145 338C158 393 191 443 240 471C281 498 331 506 384 500C439 490 487 459 519 413C550 370 561 317 554 259C543 201 509 149 460 119C424 96 383 85 337 88"
|
||||
fill="rgb(41,53,67)"
|
||||
d='M335 88C267 90 208 129 173 184C144 227 137 284 145 338C158 393 191 443 240 471C281 498 331 506 384 500C439 490 487 459 519 413C550 370 561 317 554 259C543 201 509 149 460 119C424 96 383 85 337 88'
|
||||
fill='rgb(41,53,67)'
|
||||
/>
|
||||
<path
|
||||
d="M347 166C361 164 373 169 387 168C412 180 437 193 447 221C449 232 443 243 434 248C403 245 398 204 365 207C338 206 315 210 297 228C294 238 289 257 303 260C337 280 382 276 417 292C436 300 448 314 455 330C457 349 462 373 449 385C435 408 413 418 391 427C361 429 328 436 304 421C280 413 260 392 250 370C246 356 255 343 268 343C293 360 316 398 356 389C382 390 409 380 416 357C389 295 298 335 260 276C246 256 248 233 258 214C279 184 309 167 346 167"
|
||||
fill="rgb(121,172,205)"
|
||||
d='M347 166C361 164 373 169 387 168C412 180 437 193 447 221C449 232 443 243 434 248C403 245 398 204 365 207C338 206 315 210 297 228C294 238 289 257 303 260C337 280 382 276 417 292C436 300 448 314 455 330C457 349 462 373 449 385C435 408 413 418 391 427C361 429 328 436 304 421C280 413 260 392 250 370C246 356 255 343 268 343C293 360 316 398 356 389C382 390 409 380 416 357C389 295 298 335 260 276C246 256 248 233 258 214C279 184 309 167 346 167'
|
||||
fill='rgb(121,172,205)'
|
||||
/>
|
||||
<path
|
||||
d="M349 168C312 167 280 183 259 212C249 233 247 256 260 274C299 334 390 294 422 354C409 381 382 391 357 389C316 399 293 361 272 342C255 344 247 356 251 368C260 391 280 412 302 420C328 435 361 428 389 428C412 417 434 407 447 386C461 373 456 349 456 332C428 270 351 289 304 262C288 258 293 239 295 229C314 209 338 204 363 204C398 203 403 244 431 249C443 242 448 232 449 222C436 193 412 181 388 172C374 170 363 166 350 167"
|
||||
fill="rgb(125,177,211)"
|
||||
d='M349 168C312 167 280 183 259 212C249 233 247 256 260 274C299 334 390 294 422 354C409 381 382 391 357 389C316 399 293 361 272 342C255 344 247 356 251 368C260 391 280 412 302 420C328 435 361 428 389 428C412 417 434 407 447 386C461 373 456 349 456 332C428 270 351 289 304 262C288 258 293 239 295 229C314 209 338 204 363 204C398 203 403 244 431 249C443 242 448 232 449 222C436 193 412 181 388 172C374 170 363 166 350 167'
|
||||
fill='rgb(125,177,211)'
|
||||
/>
|
||||
<path
|
||||
d="M349 169C386 169 425 185 441 220C444 231 441 240 432 243C409 237 402 209 380 206C347 200 314 201 293 226C290 238 286 256 297 262C332 283 375 281 411 295C431 304 446 317 452 337C455 360 452 383 434 396C415 415 391 421 366 426C338 430 316 422 295 413C276 402 261 385 254 366C254 353 261 343 275 348C290 381 325 398 360 394C388 395 411 382 420 360C425 342 413 334 404 327C359 304 298 318 265 276C253 254 255 235 261 214C280 187 314 173 346 170"
|
||||
fill="rgb(137,195,233)"
|
||||
d='M349 169C386 169 425 185 441 220C444 231 441 240 432 243C409 237 402 209 380 206C347 200 314 201 293 226C290 238 286 256 297 262C332 283 375 281 411 295C431 304 446 317 452 337C455 360 452 383 434 396C415 415 391 421 366 426C338 430 316 422 295 413C276 402 261 385 254 366C254 353 261 343 275 348C290 381 325 398 360 394C388 395 411 382 420 360C425 342 413 334 404 327C359 304 298 318 265 276C253 254 255 235 261 214C280 187 314 173 346 170'
|
||||
fill='rgb(137,195,233)'
|
||||
/>
|
||||
<path
|
||||
d="M349 171C316 173 281 187 263 214C256 235 254 254 266 273C300 316 359 304 401 325C413 333 426 342 422 358C412 382 388 396 363 395C326 399 290 382 278 348C262 345 254 353 253 365C261 384 277 401 292 411C316 421 338 429 365 426C390 420 415 414 432 398C451 383 454 360 453 338C445 317 430 305 413 296C375 282 332 284 299 264C285 257 288 239 291 228C304 212 319 205 336 202C378 193 403 213 423 244C438 244 443 232 441 222C425 186 388 171 352 170"
|
||||
fill="rgb(139,198,236)"
|
||||
d='M349 171C316 173 281 187 263 214C256 235 254 254 266 273C300 316 359 304 401 325C413 333 426 342 422 358C412 382 388 396 363 395C326 399 290 382 278 348C262 345 254 353 253 365C261 384 277 401 292 411C316 421 338 429 365 426C390 420 415 414 432 398C451 383 454 360 453 338C445 317 430 305 413 296C375 282 332 284 299 264C285 257 288 239 291 228C304 212 319 205 336 202C378 193 403 213 423 244C438 244 443 232 441 222C425 186 388 171 352 170'
|
||||
fill='rgb(139,198,236)'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -75,10 +75,13 @@ With Serper, you can:
|
||||
In Sim Studio, the Serper integration enables your agents to leverage the power of web search as part of their workflows. This allows for sophisticated automation scenarios that require up-to-date information from the internet. Your agents can formulate search queries, retrieve relevant results, and use this information to make decisions or provide responses. This integration bridges the gap between your workflow automation and the vast knowledge available on the web, enabling your agents to access real-time information without manual intervention. By connecting Sim Studio with Serper, you can create agents that stay current with the latest information, provide more accurate responses, and deliver more value to users.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Access real-time web search results with Serper
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `serper_search`
|
||||
@@ -87,35 +90,40 @@ A powerful web search tool that provides access to Google search results through
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | -------------------------------- |
|
||||
| `query` | string | Yes | The search query |
|
||||
| `apiKey` | string | Yes | Serper API Key |
|
||||
| `num` | number | No | Number of results to return |
|
||||
| `gl` | string | No | Country code for search results |
|
||||
| `hl` | string | No | Language code for search results |
|
||||
| `type` | string | No | Type of search to perform |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `query` | string | Yes | The search query |
|
||||
| `apiKey` | string | Yes | Serper API Key |
|
||||
| `num` | number | No | Number of results to return |
|
||||
| `gl` | string | No | Country code for search results |
|
||||
| `hl` | string | No | Language code for search results |
|
||||
| `type` | string | No | Type of search to perform |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `searchResults` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | ----------------------------------------- |
|
||||
| `query` | string | Yes | Search Query - Enter your search query... |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `query` | string | Yes | Search Query - Enter your search query... |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ----------------- | ------ | ----------------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `searchResults` | json | searchResults of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `searchResults` | json | searchResults of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,29 +3,29 @@ title: Slack
|
||||
description: Send a message to Slack
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="slack"
|
||||
color="#611f69"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg" >
|
||||
iconSvg={`<svg className="block-icon" viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg' >
|
||||
<g>
|
||||
<path
|
||||
d="M53.8412698,161.320635 C53.8412698,176.152381 41.8539683,188.139683 27.0222222,188.139683 C12.1904762,188.139683 0.203174603,176.152381 0.203174603,161.320635 C0.203174603,146.488889 12.1904762,134.501587 27.0222222,134.501587 L53.8412698,134.501587 L53.8412698,161.320635 Z M67.2507937,161.320635 C67.2507937,146.488889 79.2380952,134.501587 94.0698413,134.501587 C108.901587,134.501587 120.888889,146.488889 120.888889,161.320635 L120.888889,228.368254 C120.888889,243.2 108.901587,255.187302 94.0698413,255.187302 C79.2380952,255.187302 67.2507937,243.2 67.2507937,228.368254 L67.2507937,161.320635 Z"
|
||||
fill="#E01E5A"
|
||||
d='M53.8412698,161.320635 C53.8412698,176.152381 41.8539683,188.139683 27.0222222,188.139683 C12.1904762,188.139683 0.203174603,176.152381 0.203174603,161.320635 C0.203174603,146.488889 12.1904762,134.501587 27.0222222,134.501587 L53.8412698,134.501587 L53.8412698,161.320635 Z M67.2507937,161.320635 C67.2507937,146.488889 79.2380952,134.501587 94.0698413,134.501587 C108.901587,134.501587 120.888889,146.488889 120.888889,161.320635 L120.888889,228.368254 C120.888889,243.2 108.901587,255.187302 94.0698413,255.187302 C79.2380952,255.187302 67.2507937,243.2 67.2507937,228.368254 L67.2507937,161.320635 Z'
|
||||
fill='#E01E5A'
|
||||
/>
|
||||
<path
|
||||
d="M94.0698413,53.6380952 C79.2380952,53.6380952 67.2507937,41.6507937 67.2507937,26.8190476 C67.2507937,11.9873016 79.2380952,-7.10542736e-15 94.0698413,-7.10542736e-15 C108.901587,-7.10542736e-15 120.888889,11.9873016 120.888889,26.8190476 L120.888889,53.6380952 L94.0698413,53.6380952 Z M94.0698413,67.2507937 C108.901587,67.2507937 120.888889,79.2380952 120.888889,94.0698413 C120.888889,108.901587 108.901587,120.888889 94.0698413,120.888889 L26.8190476,120.888889 C11.9873016,120.888889 0,108.901587 0,94.0698413 C0,79.2380952 11.9873016,67.2507937 26.8190476,67.2507937 L94.0698413,67.2507937 Z"
|
||||
fill="#36C5F0"
|
||||
d='M94.0698413,53.6380952 C79.2380952,53.6380952 67.2507937,41.6507937 67.2507937,26.8190476 C67.2507937,11.9873016 79.2380952,-7.10542736e-15 94.0698413,-7.10542736e-15 C108.901587,-7.10542736e-15 120.888889,11.9873016 120.888889,26.8190476 L120.888889,53.6380952 L94.0698413,53.6380952 Z M94.0698413,67.2507937 C108.901587,67.2507937 120.888889,79.2380952 120.888889,94.0698413 C120.888889,108.901587 108.901587,120.888889 94.0698413,120.888889 L26.8190476,120.888889 C11.9873016,120.888889 0,108.901587 0,94.0698413 C0,79.2380952 11.9873016,67.2507937 26.8190476,67.2507937 L94.0698413,67.2507937 Z'
|
||||
fill='#36C5F0'
|
||||
/>
|
||||
<path
|
||||
d="M201.549206,94.0698413 C201.549206,79.2380952 213.536508,67.2507937 228.368254,67.2507937 C243.2,67.2507937 255.187302,79.2380952 255.187302,94.0698413 C255.187302,108.901587 243.2,120.888889 228.368254,120.888889 L201.549206,120.888889 L201.549206,94.0698413 Z M188.139683,94.0698413 C188.139683,108.901587 176.152381,120.888889 161.320635,120.888889 C146.488889,120.888889 134.501587,108.901587 134.501587,94.0698413 L134.501587,26.8190476 C134.501587,11.9873016 146.488889,-1.42108547e-14 161.320635,-1.42108547e-14 C176.152381,-1.42108547e-14 188.139683,11.9873016 188.139683,26.8190476 L188.139683,94.0698413 Z"
|
||||
fill="#2EB67D"
|
||||
d='M201.549206,94.0698413 C201.549206,79.2380952 213.536508,67.2507937 228.368254,67.2507937 C243.2,67.2507937 255.187302,79.2380952 255.187302,94.0698413 C255.187302,108.901587 243.2,120.888889 228.368254,120.888889 L201.549206,120.888889 L201.549206,94.0698413 Z M188.139683,94.0698413 C188.139683,108.901587 176.152381,120.888889 161.320635,120.888889 C146.488889,120.888889 134.501587,108.901587 134.501587,94.0698413 L134.501587,26.8190476 C134.501587,11.9873016 146.488889,-1.42108547e-14 161.320635,-1.42108547e-14 C176.152381,-1.42108547e-14 188.139683,11.9873016 188.139683,26.8190476 L188.139683,94.0698413 Z'
|
||||
fill='#2EB67D'
|
||||
/>
|
||||
<path
|
||||
d="M161.320635,201.549206 C176.152381,201.549206 188.139683,213.536508 188.139683,228.368254 C188.139683,243.2 176.152381,255.187302 161.320635,255.187302 C146.488889,255.187302 134.501587,243.2 134.501587,228.368254 L134.501587,201.549206 L161.320635,201.549206 Z M161.320635,188.139683 C146.488889,188.139683 134.501587,176.152381 134.501587,161.320635 C134.501587,146.488889 146.488889,134.501587 161.320635,134.501587 L228.571429,134.501587 C243.403175,134.501587 255.390476,146.488889 255.390476,161.320635 C255.390476,176.152381 243.403175,188.139683 228.571429,188.139683 L161.320635,188.139683 Z"
|
||||
fill="#ECB22E"
|
||||
d='M161.320635,201.549206 C176.152381,201.549206 188.139683,213.536508 188.139683,228.368254 C188.139683,243.2 176.152381,255.187302 161.320635,255.187302 C146.488889,255.187302 134.501587,243.2 134.501587,228.368254 L134.501587,201.549206 L161.320635,201.549206 Z M161.320635,188.139683 C146.488889,188.139683 134.501587,176.152381 134.501587,161.320635 C134.501587,146.488889 146.488889,134.501587 161.320635,134.501587 L228.571429,134.501587 C243.403175,134.501587 255.390476,146.488889 255.390476,161.320635 C255.390476,176.152381 243.403175,188.139683 228.571429,188.139683 L161.320635,188.139683 Z'
|
||||
fill='#ECB22E'
|
||||
/>
|
||||
</g>
|
||||
</svg>`}
|
||||
@@ -53,10 +53,13 @@ With Slack, you can:
|
||||
In Sim Studio, the Slack integration enables your agents to programmatically send messages to any Slack channel or user as part of their workflows. This allows for powerful automation scenarios such as sending notifications, alerts, updates, and reports directly to your team's communication hub. Your agents can deliver timely information, share results from processes they've completed, or alert team members when attention is needed. This integration bridges the gap between your AI workflows and your team's communication, ensuring everyone stays informed without manual intervention. By connecting Sim Studio with Slack, you can create agents that keep your team updated with relevant information at the right time, enhance collaboration by sharing insights automatically, and reduce the need for manual status updates - all while leveraging your existing Slack workspace where your team already communicates.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Send messages to any Slack channel using OAuth authentication. Integrate automated notifications and alerts into your workflow to keep your team informed.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `slack_message`
|
||||
@@ -65,35 +68,40 @@ Send messages to Slack channels or users through the Slack API. Enables direct c
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | --------------------------------------- |
|
||||
| `apiKey` | string | Yes | Your Slack API token |
|
||||
| `channel` | string | Yes | Target Slack channel \(e.g., #general\) |
|
||||
| `text` | string | Yes | Message text to send |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Your Slack API token |
|
||||
| `channel` | string | Yes | Target Slack channel \(e.g., #general\) |
|
||||
| `text` | string | Yes | Message text to send |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| `ts` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `ts` | string |
|
||||
| `channel` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | ------------------------------------------ |
|
||||
| `apiKey` | string | Yes | OAuth Token - Enter your Slack OAuth token |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | OAuth Token - Enter your Slack OAuth token |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ----------- | ------ | ----------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `ts` | string | ts of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `ts` | string | ts of the response |
|
||||
| ↳ `channel` | string | channel of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
- Category: `tools`
|
||||
|
||||
@@ -3,9 +3,9 @@ title: Stagehand Extract
|
||||
description: Extract data from websites
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="stagehand"
|
||||
color="#FFC83C"
|
||||
icon={true}
|
||||
@@ -13,165 +13,165 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
|
||||
|
||||
|
||||
viewBox="0 0 108 159"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox='0 0 108 159'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<path
|
||||
d="M15 26C22.8234 31.822 23.619 41.405 25.3125 50.3867C25.8461 53.1914 26.4211 55.9689 27.0625 58.75C27.7987 61.9868 28.4177 65.2319 29 68.5C29.332 70.3336 29.6653 72.1669 30 74C30.1418 74.7863 30.2836 75.5727 30.4297 76.3828C31.8011 83.2882 33.3851 90.5397 39.4375 94.75C40.3405 95.3069 40.3405 95.3069 41.2617 95.875C43.8517 97.5512 45.826 99.826 48 102C50.6705 102.89 52.3407 103.143 55.0898 103.211C55.8742 103.239 56.6586 103.268 57.4668 103.297C59.1098 103.349 60.7531 103.393 62.3965 103.43C65.8896 103.567 68.4123 103.705 71.5664 105.289C73 107 73 107 73 111C73.66 111 74.32 111 75 111C74.0759 106.912 74.0759 106.912 71.4766 103.828C67.0509 102.348 62.3634 102.64 57.7305 102.609C52.3632 102.449 49.2783 101.537 45 98C41.8212 94.0795 41.5303 90.9791 42 86C44.9846 83.0154 48.2994 83.6556 52.3047 83.6289C53.139 83.6199 53.9734 83.6108 54.833 83.6015C56.6067 83.587 58.3805 83.5782 60.1543 83.5745C62.8304 83.5627 65.5041 83.5137 68.1797 83.4629C81.1788 83.34 91.8042 85.3227 102 94C106.37 100.042 105.483 106.273 104.754 113.406C103.821 119.026 101.968 124.375 100.125 129.75C99.8806 130.471 99.6361 131.193 99.3843 131.936C97.7783 136.447 95.9466 140.206 93 144C92.34 144 91.68 144 91 144C91 144.66 91 145.32 91 146C79.0816 156.115 63.9798 156.979 49 156C36.6394 154.226 26.7567 148.879 19 139C11.0548 125.712 11.6846 105.465 11.3782 90.4719C11.0579 77.4745 8.03411 64.8142 5.4536 52.1135C5.04373 50.0912 4.64233 48.0673 4.24218 46.043C4.00354 44.8573 3.7649 43.6716 3.51903 42.45C2.14425 33.3121 2.14425 33.3121 4.87499 29.125C8.18297 25.817 10.3605 25.4542 15 26Z"
|
||||
fill="#FDFDFD"
|
||||
d='M15 26C22.8234 31.822 23.619 41.405 25.3125 50.3867C25.8461 53.1914 26.4211 55.9689 27.0625 58.75C27.7987 61.9868 28.4177 65.2319 29 68.5C29.332 70.3336 29.6653 72.1669 30 74C30.1418 74.7863 30.2836 75.5727 30.4297 76.3828C31.8011 83.2882 33.3851 90.5397 39.4375 94.75C40.3405 95.3069 40.3405 95.3069 41.2617 95.875C43.8517 97.5512 45.826 99.826 48 102C50.6705 102.89 52.3407 103.143 55.0898 103.211C55.8742 103.239 56.6586 103.268 57.4668 103.297C59.1098 103.349 60.7531 103.393 62.3965 103.43C65.8896 103.567 68.4123 103.705 71.5664 105.289C73 107 73 107 73 111C73.66 111 74.32 111 75 111C74.0759 106.912 74.0759 106.912 71.4766 103.828C67.0509 102.348 62.3634 102.64 57.7305 102.609C52.3632 102.449 49.2783 101.537 45 98C41.8212 94.0795 41.5303 90.9791 42 86C44.9846 83.0154 48.2994 83.6556 52.3047 83.6289C53.139 83.6199 53.9734 83.6108 54.833 83.6015C56.6067 83.587 58.3805 83.5782 60.1543 83.5745C62.8304 83.5627 65.5041 83.5137 68.1797 83.4629C81.1788 83.34 91.8042 85.3227 102 94C106.37 100.042 105.483 106.273 104.754 113.406C103.821 119.026 101.968 124.375 100.125 129.75C99.8806 130.471 99.6361 131.193 99.3843 131.936C97.7783 136.447 95.9466 140.206 93 144C92.34 144 91.68 144 91 144C91 144.66 91 145.32 91 146C79.0816 156.115 63.9798 156.979 49 156C36.6394 154.226 26.7567 148.879 19 139C11.0548 125.712 11.6846 105.465 11.3782 90.4719C11.0579 77.4745 8.03411 64.8142 5.4536 52.1135C5.04373 50.0912 4.64233 48.0673 4.24218 46.043C4.00354 44.8573 3.7649 43.6716 3.51903 42.45C2.14425 33.3121 2.14425 33.3121 4.87499 29.125C8.18297 25.817 10.3605 25.4542 15 26Z'
|
||||
fill='#FDFDFD'
|
||||
/>
|
||||
<path
|
||||
d="M91 0.999996C94.8466 2.96604 96.2332 5.08365 97.6091 9.03564C99.203 14.0664 99.4412 18.7459 99.4414 23.9922C99.4538 24.9285 99.4663 25.8647 99.4791 26.8294C99.5049 28.8198 99.5247 30.8103 99.539 32.8008C99.5785 37.9693 99.6682 43.1369 99.7578 48.3047C99.7747 49.3188 99.7917 50.3328 99.8091 51.3776C99.9603 59.6066 100.323 67.7921 100.937 76C101.012 77.0582 101.087 78.1163 101.164 79.2065C101.646 85.1097 102.203 90.3442 105.602 95.3672C107.492 98.9262 107.45 102.194 107.375 106.125C107.366 106.881 107.356 107.638 107.346 108.417C107.18 114.639 106.185 120.152 104 126C103.636 126.996 103.273 127.993 102.898 129.02C98.2182 141.022 92.6784 149.349 80.7891 155.062C67.479 160.366 49.4234 159.559 36 155C32.4272 153.286 29.2162 151.308 26 149C25.0719 148.361 24.1437 147.721 23.1875 147.062C8.32968 133.054 9.60387 109.231 8.73413 90.3208C8.32766 81.776 7.51814 73.4295 5.99999 65C5.82831 64.0338 5.65662 63.0675 5.47973 62.072C4.98196 59.3363 4.46395 56.6053 3.93749 53.875C3.76412 52.9572 3.59074 52.0394 3.4121 51.0938C2.75101 47.6388 2.11387 44.3416 0.999995 41C0.505898 36.899 0.0476353 32.7768 2.04687 29.0469C4.91881 25.5668 6.78357 24.117 11.25 23.6875C15.8364 24.0697 17.5999 24.9021 21 28C24.7763 34.3881 26.047 41.2626 27.1875 48.5C27.5111 50.4693 27.8377 52.4381 28.168 54.4062C28.3733 55.695 28.3733 55.695 28.5828 57.0098C28.8087 58.991 28.8087 58.991 30 60C30.3171 59.4947 30.6342 58.9894 30.9609 58.4688C33.1122 55.4736 34.7097 53.3284 38.3789 52.3945C44.352 52.203 48.1389 53.6183 53 57C53.0928 56.1338 53.0928 56.1338 53.1875 55.25C54.4089 51.8676 55.9015 50.8075 59 49C63.8651 48.104 66.9348 48.3122 71.1487 51.0332C72.0896 51.6822 73.0305 52.3313 74 53C73.9686 51.2986 73.9686 51.2986 73.9365 49.5627C73.8636 45.3192 73.818 41.0758 73.7803 36.8318C73.7603 35.0016 73.733 33.1715 73.6982 31.3415C73.6492 28.6976 73.6269 26.0545 73.6094 23.4102C73.5887 22.6035 73.5681 21.7969 73.5468 20.9658C73.5441 13.8444 75.5121 7.83341 80.25 2.4375C83.9645 0.495841 86.8954 0.209055 91 0.999996ZM3.99999 30C1.56925 34.8615 3.215 40.9393 4.24218 46.043C4.37061 46.6927 4.49905 47.3424 4.63137 48.0118C5.03968 50.0717 5.45687 52.1296 5.87499 54.1875C11.1768 80.6177 11.1768 80.6177 11.4375 93.375C11.7542 120.78 11.7542 120.78 23.5625 144.375C28.5565 149.002 33.5798 151.815 40 154C40.6922 154.244 41.3844 154.487 42.0977 154.738C55.6463 158.576 72.4909 156.79 84.8086 150.316C87.0103 148.994 89.0458 147.669 91 146C91 145.34 91 144.68 91 144C91.66 144 92.32 144 93 144C97.1202 138.98 99.3206 133.053 101.25 126.937C101.505 126.174 101.76 125.41 102.023 124.623C104.94 115.65 107.293 104.629 103.625 95.625C96.3369 88.3369 86.5231 83.6919 76.1988 83.6088C74.9905 83.6226 74.9905 83.6226 73.7578 83.6367C72.9082 83.6362 72.0586 83.6357 71.1833 83.6352C69.4034 83.6375 67.6235 83.6472 65.8437 83.6638C63.1117 83.6876 60.3806 83.6843 57.6484 83.6777C55.9141 83.6833 54.1797 83.6904 52.4453 83.6992C51.6277 83.6983 50.81 83.6974 49.9676 83.6964C45.5122 83.571 45.5122 83.571 42 86C41.517 90.1855 41.733 92.4858 43.6875 96.25C46.4096 99.4871 48.6807 101.674 53.0105 102.282C55.3425 102.411 57.6645 102.473 60 102.5C69.8847 102.612 69.8847 102.612 74 106C74.8125 108.687 74.8125 108.688 75 111C74.34 111 73.68 111 73 111C72.8969 110.216 72.7937 109.432 72.6875 108.625C72.224 105.67 72.224 105.67 69 104C65.2788 103.745 61.5953 103.634 57.8672 103.609C51.1596 103.409 46.859 101.691 41.875 97C41.2562 96.34 40.6375 95.68 40 95C39.175 94.4637 38.35 93.9275 37.5 93.375C30.9449 87.1477 30.3616 77.9789 29.4922 69.418C29.1557 66.1103 29.1557 66.1103 28.0352 63.625C26.5234 59.7915 26.1286 55.8785 25.5625 51.8125C23.9233 38.3 23.9233 38.3 17 27C11.7018 24.3509 7.9915 26.1225 3.99999 30Z"
|
||||
fill="#1F1F1F"
|
||||
d='M91 0.999996C94.8466 2.96604 96.2332 5.08365 97.6091 9.03564C99.203 14.0664 99.4412 18.7459 99.4414 23.9922C99.4538 24.9285 99.4663 25.8647 99.4791 26.8294C99.5049 28.8198 99.5247 30.8103 99.539 32.8008C99.5785 37.9693 99.6682 43.1369 99.7578 48.3047C99.7747 49.3188 99.7917 50.3328 99.8091 51.3776C99.9603 59.6066 100.323 67.7921 100.937 76C101.012 77.0582 101.087 78.1163 101.164 79.2065C101.646 85.1097 102.203 90.3442 105.602 95.3672C107.492 98.9262 107.45 102.194 107.375 106.125C107.366 106.881 107.356 107.638 107.346 108.417C107.18 114.639 106.185 120.152 104 126C103.636 126.996 103.273 127.993 102.898 129.02C98.2182 141.022 92.6784 149.349 80.7891 155.062C67.479 160.366 49.4234 159.559 36 155C32.4272 153.286 29.2162 151.308 26 149C25.0719 148.361 24.1437 147.721 23.1875 147.062C8.32968 133.054 9.60387 109.231 8.73413 90.3208C8.32766 81.776 7.51814 73.4295 5.99999 65C5.82831 64.0338 5.65662 63.0675 5.47973 62.072C4.98196 59.3363 4.46395 56.6053 3.93749 53.875C3.76412 52.9572 3.59074 52.0394 3.4121 51.0938C2.75101 47.6388 2.11387 44.3416 0.999995 41C0.505898 36.899 0.0476353 32.7768 2.04687 29.0469C4.91881 25.5668 6.78357 24.117 11.25 23.6875C15.8364 24.0697 17.5999 24.9021 21 28C24.7763 34.3881 26.047 41.2626 27.1875 48.5C27.5111 50.4693 27.8377 52.4381 28.168 54.4062C28.3733 55.695 28.3733 55.695 28.5828 57.0098C28.8087 58.991 28.8087 58.991 30 60C30.3171 59.4947 30.6342 58.9894 30.9609 58.4688C33.1122 55.4736 34.7097 53.3284 38.3789 52.3945C44.352 52.203 48.1389 53.6183 53 57C53.0928 56.1338 53.0928 56.1338 53.1875 55.25C54.4089 51.8676 55.9015 50.8075 59 49C63.8651 48.104 66.9348 48.3122 71.1487 51.0332C72.0896 51.6822 73.0305 52.3313 74 53C73.9686 51.2986 73.9686 51.2986 73.9365 49.5627C73.8636 45.3192 73.818 41.0758 73.7803 36.8318C73.7603 35.0016 73.733 33.1715 73.6982 31.3415C73.6492 28.6976 73.6269 26.0545 73.6094 23.4102C73.5887 22.6035 73.5681 21.7969 73.5468 20.9658C73.5441 13.8444 75.5121 7.83341 80.25 2.4375C83.9645 0.495841 86.8954 0.209055 91 0.999996ZM3.99999 30C1.56925 34.8615 3.215 40.9393 4.24218 46.043C4.37061 46.6927 4.49905 47.3424 4.63137 48.0118C5.03968 50.0717 5.45687 52.1296 5.87499 54.1875C11.1768 80.6177 11.1768 80.6177 11.4375 93.375C11.7542 120.78 11.7542 120.78 23.5625 144.375C28.5565 149.002 33.5798 151.815 40 154C40.6922 154.244 41.3844 154.487 42.0977 154.738C55.6463 158.576 72.4909 156.79 84.8086 150.316C87.0103 148.994 89.0458 147.669 91 146C91 145.34 91 144.68 91 144C91.66 144 92.32 144 93 144C97.1202 138.98 99.3206 133.053 101.25 126.937C101.505 126.174 101.76 125.41 102.023 124.623C104.94 115.65 107.293 104.629 103.625 95.625C96.3369 88.3369 86.5231 83.6919 76.1988 83.6088C74.9905 83.6226 74.9905 83.6226 73.7578 83.6367C72.9082 83.6362 72.0586 83.6357 71.1833 83.6352C69.4034 83.6375 67.6235 83.6472 65.8437 83.6638C63.1117 83.6876 60.3806 83.6843 57.6484 83.6777C55.9141 83.6833 54.1797 83.6904 52.4453 83.6992C51.6277 83.6983 50.81 83.6974 49.9676 83.6964C45.5122 83.571 45.5122 83.571 42 86C41.517 90.1855 41.733 92.4858 43.6875 96.25C46.4096 99.4871 48.6807 101.674 53.0105 102.282C55.3425 102.411 57.6645 102.473 60 102.5C69.8847 102.612 69.8847 102.612 74 106C74.8125 108.687 74.8125 108.688 75 111C74.34 111 73.68 111 73 111C72.8969 110.216 72.7937 109.432 72.6875 108.625C72.224 105.67 72.224 105.67 69 104C65.2788 103.745 61.5953 103.634 57.8672 103.609C51.1596 103.409 46.859 101.691 41.875 97C41.2562 96.34 40.6375 95.68 40 95C39.175 94.4637 38.35 93.9275 37.5 93.375C30.9449 87.1477 30.3616 77.9789 29.4922 69.418C29.1557 66.1103 29.1557 66.1103 28.0352 63.625C26.5234 59.7915 26.1286 55.8785 25.5625 51.8125C23.9233 38.3 23.9233 38.3 17 27C11.7018 24.3509 7.9915 26.1225 3.99999 30Z'
|
||||
fill='#1F1F1F'
|
||||
/>
|
||||
<path
|
||||
d="M89.0976 2.53906C91 3 91 3 93.4375 5.3125C96.1586 9.99276 96.178 14.1126 96.2461 19.3828C96.2778 21.1137 96.3098 22.8446 96.342 24.5754C96.3574 25.4822 96.3728 26.3889 96.3887 27.3232C96.6322 41.3036 96.9728 55.2117 98.3396 69.1353C98.9824 75.7746 99.0977 82.3308 99 89C96.5041 88.0049 94.0126 87.0053 91.5351 85.9648C90.3112 85.4563 90.3112 85.4563 89.0625 84.9375C87.8424 84.4251 87.8424 84.4251 86.5976 83.9023C83.7463 82.9119 80.9774 82.4654 78 82C76.7702 65.9379 75.7895 49.8907 75.7004 33.7775C75.6919 32.3138 75.6783 30.8501 75.6594 29.3865C75.5553 20.4082 75.6056 12.1544 80.6875 4.4375C83.6031 2.62508 85.7 2.37456 89.0976 2.53906Z"
|
||||
fill="#FBFBFB"
|
||||
d='M89.0976 2.53906C91 3 91 3 93.4375 5.3125C96.1586 9.99276 96.178 14.1126 96.2461 19.3828C96.2778 21.1137 96.3098 22.8446 96.342 24.5754C96.3574 25.4822 96.3728 26.3889 96.3887 27.3232C96.6322 41.3036 96.9728 55.2117 98.3396 69.1353C98.9824 75.7746 99.0977 82.3308 99 89C96.5041 88.0049 94.0126 87.0053 91.5351 85.9648C90.3112 85.4563 90.3112 85.4563 89.0625 84.9375C87.8424 84.4251 87.8424 84.4251 86.5976 83.9023C83.7463 82.9119 80.9774 82.4654 78 82C76.7702 65.9379 75.7895 49.8907 75.7004 33.7775C75.6919 32.3138 75.6783 30.8501 75.6594 29.3865C75.5553 20.4082 75.6056 12.1544 80.6875 4.4375C83.6031 2.62508 85.7 2.37456 89.0976 2.53906Z'
|
||||
fill='#FBFBFB'
|
||||
/>
|
||||
<path
|
||||
d="M97 13C97.99 13.495 97.99 13.495 99 14C99.0297 15.8781 99.0297 15.8781 99.0601 17.7942C99.4473 46.9184 99.4473 46.9184 100.937 76C101.012 77.0574 101.087 78.1149 101.164 79.2043C101.646 85.1082 102.203 90.3434 105.602 95.3672C107.492 98.9262 107.45 102.194 107.375 106.125C107.366 106.881 107.356 107.638 107.346 108.417C107.18 114.639 106.185 120.152 104 126C103.636 126.996 103.273 127.993 102.898 129.02C98.2182 141.022 92.6784 149.349 80.7891 155.062C67.479 160.366 49.4234 159.559 36 155C32.4272 153.286 29.2162 151.308 26 149C24.6078 148.041 24.6078 148.041 23.1875 147.062C13.5484 137.974 10.832 124.805 9.99999 112C9.91815 101.992 10.4358 91.9898 11 82C11.33 82 11.66 82 12 82C12.0146 82.6118 12.0292 83.2236 12.0442 83.854C11.5946 115.845 11.5946 115.845 24.0625 143.875C28.854 148.273 33.89 150.868 40 153C40.6935 153.245 41.387 153.49 42.1016 153.742C56.9033 157.914 73.8284 155.325 87 148C88.3301 147.327 89.6624 146.658 91 146C91 145.34 91 144.68 91 144C91.66 144 92.32 144 93 144C100.044 130.286 105.786 114.602 104 99C102.157 94.9722 100.121 93.0631 96.3125 90.875C95.5042 90.398 94.696 89.9211 93.8633 89.4297C85.199 85.1035 78.1558 84.4842 68.5 84.3125C67.2006 84.2783 65.9012 84.2442 64.5625 84.209C61.3751 84.127 58.1879 84.0577 55 84C55 83.67 55 83.34 55 83C58.9087 82.7294 62.8179 82.4974 66.7309 82.2981C68.7007 82.1902 70.6688 82.0535 72.6367 81.916C82.854 81.4233 90.4653 83.3102 99 89C98.8637 87.6094 98.8637 87.6094 98.7246 86.1907C96.96 67.8915 95.697 49.7051 95.75 31.3125C95.751 30.5016 95.7521 29.6908 95.7532 28.8554C95.7901 15.4198 95.7901 15.4198 97 13Z"
|
||||
fill="#262114"
|
||||
d='M97 13C97.99 13.495 97.99 13.495 99 14C99.0297 15.8781 99.0297 15.8781 99.0601 17.7942C99.4473 46.9184 99.4473 46.9184 100.937 76C101.012 77.0574 101.087 78.1149 101.164 79.2043C101.646 85.1082 102.203 90.3434 105.602 95.3672C107.492 98.9262 107.45 102.194 107.375 106.125C107.366 106.881 107.356 107.638 107.346 108.417C107.18 114.639 106.185 120.152 104 126C103.636 126.996 103.273 127.993 102.898 129.02C98.2182 141.022 92.6784 149.349 80.7891 155.062C67.479 160.366 49.4234 159.559 36 155C32.4272 153.286 29.2162 151.308 26 149C24.6078 148.041 24.6078 148.041 23.1875 147.062C13.5484 137.974 10.832 124.805 9.99999 112C9.91815 101.992 10.4358 91.9898 11 82C11.33 82 11.66 82 12 82C12.0146 82.6118 12.0292 83.2236 12.0442 83.854C11.5946 115.845 11.5946 115.845 24.0625 143.875C28.854 148.273 33.89 150.868 40 153C40.6935 153.245 41.387 153.49 42.1016 153.742C56.9033 157.914 73.8284 155.325 87 148C88.3301 147.327 89.6624 146.658 91 146C91 145.34 91 144.68 91 144C91.66 144 92.32 144 93 144C100.044 130.286 105.786 114.602 104 99C102.157 94.9722 100.121 93.0631 96.3125 90.875C95.5042 90.398 94.696 89.9211 93.8633 89.4297C85.199 85.1035 78.1558 84.4842 68.5 84.3125C67.2006 84.2783 65.9012 84.2442 64.5625 84.209C61.3751 84.127 58.1879 84.0577 55 84C55 83.67 55 83.34 55 83C58.9087 82.7294 62.8179 82.4974 66.7309 82.2981C68.7007 82.1902 70.6688 82.0535 72.6367 81.916C82.854 81.4233 90.4653 83.3102 99 89C98.8637 87.6094 98.8637 87.6094 98.7246 86.1907C96.96 67.8915 95.697 49.7051 95.75 31.3125C95.751 30.5016 95.7521 29.6908 95.7532 28.8554C95.7901 15.4198 95.7901 15.4198 97 13Z'
|
||||
fill='#262114'
|
||||
/>
|
||||
<path
|
||||
d="M68 51C72.86 54.06 74.644 56.5072 76 62C76.249 65.2763 76.2347 68.5285 76.1875 71.8125C76.1868 72.6833 76.1862 73.554 76.1855 74.4512C76.1406 80.8594 76.1406 80.8594 75 82C73.5113 82.0867 72.0185 82.107 70.5273 82.0976C69.6282 82.0944 68.7291 82.0912 67.8027 82.0879C66.8572 82.0795 65.9117 82.0711 64.9375 82.0625C63.9881 82.058 63.0387 82.0535 62.0605 82.0488C59.707 82.037 57.3535 82.0205 55 82C53.6352 77.2188 53.738 72.5029 53.6875 67.5625C53.6585 66.6208 53.6295 65.6792 53.5996 64.709C53.5591 60.2932 53.5488 57.7378 55.8945 53.9023C59.5767 50.5754 63.1766 50.211 68 51Z"
|
||||
fill="#F8F8F8"
|
||||
d='M68 51C72.86 54.06 74.644 56.5072 76 62C76.249 65.2763 76.2347 68.5285 76.1875 71.8125C76.1868 72.6833 76.1862 73.554 76.1855 74.4512C76.1406 80.8594 76.1406 80.8594 75 82C73.5113 82.0867 72.0185 82.107 70.5273 82.0976C69.6282 82.0944 68.7291 82.0912 67.8027 82.0879C66.8572 82.0795 65.9117 82.0711 64.9375 82.0625C63.9881 82.058 63.0387 82.0535 62.0605 82.0488C59.707 82.037 57.3535 82.0205 55 82C53.6352 77.2188 53.738 72.5029 53.6875 67.5625C53.6585 66.6208 53.6295 65.6792 53.5996 64.709C53.5591 60.2932 53.5488 57.7378 55.8945 53.9023C59.5767 50.5754 63.1766 50.211 68 51Z'
|
||||
fill='#F8F8F8'
|
||||
/>
|
||||
<path
|
||||
d="M46 55C48.7557 57.1816 50.4359 58.8718 52 62C52.0837 63.5215 52.1073 65.0466 52.0977 66.5703C52.0944 67.4662 52.0912 68.3621 52.0879 69.2852C52.0795 70.2223 52.0711 71.1595 52.0625 72.125C52.058 73.0699 52.0535 74.0148 52.0488 74.9883C52.037 77.3256 52.0206 79.6628 52 82C50.9346 82.1992 50.9346 82.1992 49.8477 82.4023C48.9286 82.5789 48.0094 82.7555 47.0625 82.9375C46.146 83.1115 45.2294 83.2855 44.2852 83.4648C42.0471 83.7771 42.0471 83.7771 41 85C40.7692 86.3475 40.5885 87.7038 40.4375 89.0625C40.2931 90.3619 40.1487 91.6613 40 93C37 92 37 92 35.8672 90.1094C35.5398 89.3308 35.2123 88.5522 34.875 87.75C34.5424 86.9817 34.2098 86.2134 33.8672 85.4219C31.9715 80.1277 31.7884 75.065 31.75 69.5C31.7294 68.7536 31.7087 68.0073 31.6875 67.2383C31.6551 62.6607 32.0474 59.7266 35 56C38.4726 54.2637 42.2119 54.3981 46 55Z"
|
||||
fill="#FAFAFA"
|
||||
d='M46 55C48.7557 57.1816 50.4359 58.8718 52 62C52.0837 63.5215 52.1073 65.0466 52.0977 66.5703C52.0944 67.4662 52.0912 68.3621 52.0879 69.2852C52.0795 70.2223 52.0711 71.1595 52.0625 72.125C52.058 73.0699 52.0535 74.0148 52.0488 74.9883C52.037 77.3256 52.0206 79.6628 52 82C50.9346 82.1992 50.9346 82.1992 49.8477 82.4023C48.9286 82.5789 48.0094 82.7555 47.0625 82.9375C46.146 83.1115 45.2294 83.2855 44.2852 83.4648C42.0471 83.7771 42.0471 83.7771 41 85C40.7692 86.3475 40.5885 87.7038 40.4375 89.0625C40.2931 90.3619 40.1487 91.6613 40 93C37 92 37 92 35.8672 90.1094C35.5398 89.3308 35.2123 88.5522 34.875 87.75C34.5424 86.9817 34.2098 86.2134 33.8672 85.4219C31.9715 80.1277 31.7884 75.065 31.75 69.5C31.7294 68.7536 31.7087 68.0073 31.6875 67.2383C31.6551 62.6607 32.0474 59.7266 35 56C38.4726 54.2637 42.2119 54.3981 46 55Z'
|
||||
fill='#FAFAFA'
|
||||
/>
|
||||
<path
|
||||
d="M97 13C97.66 13.33 98.32 13.66 99 14C99.0297 15.8781 99.0297 15.8781 99.0601 17.7942C99.4473 46.9184 99.4473 46.9184 100.937 76C101.012 77.0574 101.087 78.1149 101.164 79.2043C101.566 84.1265 102.275 88.3364 104 93C103.625 95.375 103.625 95.375 103 97C102.361 96.2781 101.721 95.5563 101.062 94.8125C94.4402 88.1902 85.5236 84.8401 76.2891 84.5859C75.0451 84.5473 73.8012 84.5086 72.5195 84.4688C71.2343 84.4378 69.9491 84.4069 68.625 84.375C66.6624 84.317 66.6624 84.317 64.6601 84.2578C61.4402 84.1638 58.2203 84.0781 55 84C55 83.67 55 83.34 55 83C58.9087 82.7294 62.8179 82.4974 66.7309 82.2981C68.7007 82.1902 70.6688 82.0535 72.6367 81.916C82.854 81.4233 90.4653 83.3102 99 89C98.9091 88.0729 98.8182 87.1458 98.7246 86.1907C96.96 67.8915 95.697 49.7051 95.75 31.3125C95.751 30.5016 95.7521 29.6908 95.7532 28.8554C95.7901 15.4198 95.7901 15.4198 97 13Z"
|
||||
fill="#423B28"
|
||||
d='M97 13C97.66 13.33 98.32 13.66 99 14C99.0297 15.8781 99.0297 15.8781 99.0601 17.7942C99.4473 46.9184 99.4473 46.9184 100.937 76C101.012 77.0574 101.087 78.1149 101.164 79.2043C101.566 84.1265 102.275 88.3364 104 93C103.625 95.375 103.625 95.375 103 97C102.361 96.2781 101.721 95.5563 101.062 94.8125C94.4402 88.1902 85.5236 84.8401 76.2891 84.5859C75.0451 84.5473 73.8012 84.5086 72.5195 84.4688C71.2343 84.4378 69.9491 84.4069 68.625 84.375C66.6624 84.317 66.6624 84.317 64.6601 84.2578C61.4402 84.1638 58.2203 84.0781 55 84C55 83.67 55 83.34 55 83C58.9087 82.7294 62.8179 82.4974 66.7309 82.2981C68.7007 82.1902 70.6688 82.0535 72.6367 81.916C82.854 81.4233 90.4653 83.3102 99 89C98.9091 88.0729 98.8182 87.1458 98.7246 86.1907C96.96 67.8915 95.697 49.7051 95.75 31.3125C95.751 30.5016 95.7521 29.6908 95.7532 28.8554C95.7901 15.4198 95.7901 15.4198 97 13Z'
|
||||
fill='#423B28'
|
||||
/>
|
||||
<path
|
||||
d="M91 0.999996C94.3999 3.06951 96.8587 5.11957 98 9C97.625 12.25 97.625 12.25 97 15C95.804 12.6081 94.6146 10.2139 93.4375 7.8125C92.265 5.16236 92.265 5.16236 91 4C88.074 3.7122 85.8483 3.51695 83 4C79.1128 7.37574 78.178 11.0991 77 16C76.8329 18.5621 76.7615 21.1317 76.7695 23.6992C76.77 24.4155 76.7704 25.1318 76.7709 25.8698C76.7739 27.3783 76.7817 28.8868 76.7942 30.3953C76.8123 32.664 76.8147 34.9324 76.8144 37.2012C76.8329 44.6001 77.0765 51.888 77.7795 59.259C78.1413 63.7564 78.1068 68.2413 78.0625 72.75C78.058 73.6498 78.0535 74.5495 78.0488 75.4766C78.0373 77.6511 78.0193 79.8255 78 82C78.99 82.495 78.99 82.495 80 83C68.78 83.33 57.56 83.66 46 84C46.495 83.01 46.495 83.01 47 82C52.9349 80.7196 58.8909 80.8838 64.9375 80.9375C65.9075 80.942 66.8775 80.9465 67.8769 80.9512C70.2514 80.9629 72.6256 80.9793 75 81C75.0544 77.9997 75.0939 75.0005 75.125 72C75.1418 71.1608 75.1585 70.3216 75.1758 69.457C75.2185 63.9475 74.555 59.2895 73 54C73.66 54 74.32 54 75 54C74.9314 53.2211 74.8629 52.4422 74.7922 51.6396C74.1158 43.5036 73.7568 35.4131 73.6875 27.25C73.644 25.5194 73.644 25.5194 73.5996 23.7539C73.5376 15.3866 74.6189 8.85069 80.25 2.4375C83.9433 0.506911 86.9162 0.173322 91 0.999996Z"
|
||||
fill="#131311"
|
||||
d='M91 0.999996C94.3999 3.06951 96.8587 5.11957 98 9C97.625 12.25 97.625 12.25 97 15C95.804 12.6081 94.6146 10.2139 93.4375 7.8125C92.265 5.16236 92.265 5.16236 91 4C88.074 3.7122 85.8483 3.51695 83 4C79.1128 7.37574 78.178 11.0991 77 16C76.8329 18.5621 76.7615 21.1317 76.7695 23.6992C76.77 24.4155 76.7704 25.1318 76.7709 25.8698C76.7739 27.3783 76.7817 28.8868 76.7942 30.3953C76.8123 32.664 76.8147 34.9324 76.8144 37.2012C76.8329 44.6001 77.0765 51.888 77.7795 59.259C78.1413 63.7564 78.1068 68.2413 78.0625 72.75C78.058 73.6498 78.0535 74.5495 78.0488 75.4766C78.0373 77.6511 78.0193 79.8255 78 82C78.99 82.495 78.99 82.495 80 83C68.78 83.33 57.56 83.66 46 84C46.495 83.01 46.495 83.01 47 82C52.9349 80.7196 58.8909 80.8838 64.9375 80.9375C65.9075 80.942 66.8775 80.9465 67.8769 80.9512C70.2514 80.9629 72.6256 80.9793 75 81C75.0544 77.9997 75.0939 75.0005 75.125 72C75.1418 71.1608 75.1585 70.3216 75.1758 69.457C75.2185 63.9475 74.555 59.2895 73 54C73.66 54 74.32 54 75 54C74.9314 53.2211 74.8629 52.4422 74.7922 51.6396C74.1158 43.5036 73.7568 35.4131 73.6875 27.25C73.644 25.5194 73.644 25.5194 73.5996 23.7539C73.5376 15.3866 74.6189 8.85069 80.25 2.4375C83.9433 0.506911 86.9162 0.173322 91 0.999996Z'
|
||||
fill='#131311'
|
||||
/>
|
||||
<path
|
||||
d="M15 24C20.2332 26.3601 22.1726 29.3732 24.1875 34.5195C26.8667 42.6988 27.2651 50.4282 27 59C26.67 59 26.34 59 26 59C25.8945 58.436 25.7891 57.8721 25.6804 57.291C25.1901 54.6926 24.6889 52.0963 24.1875 49.5C24.0218 48.6131 23.8562 47.7262 23.6855 46.8125C21.7568 35.5689 21.7568 35.5689 15 27C12.0431 26.2498 12.0431 26.2498 8.99999 27C5.97965 28.9369 5.97965 28.9369 3.99999 32C3.67226 36.9682 4.31774 41.4911 5.27733 46.3594C5.40814 47.0304 5.53894 47.7015 5.67371 48.3929C5.94892 49.7985 6.22723 51.2035 6.50854 52.6079C6.93887 54.7569 7.35989 56.9075 7.77929 59.0586C9.09359 66.104 9.09359 66.104 11 73C11.0836 75.2109 11.1073 77.4243 11.0976 79.6367C11.0944 80.9354 11.0912 82.2342 11.0879 83.5723C11.0795 84.944 11.0711 86.3158 11.0625 87.6875C11.0575 89.071 11.0529 90.4544 11.0488 91.8379C11.037 95.2253 11.0206 98.6126 11 102C8.54975 99.5498 8.73228 98.8194 8.65624 95.4492C8.62812 94.53 8.60001 93.6108 8.57104 92.6638C8.54759 91.6816 8.52415 90.6994 8.49999 89.6875C8.20265 81.3063 7.58164 73.2485 5.99999 65C5.67135 63.2175 5.34327 61.435 5.01562 59.6523C4.31985 55.9098 3.62013 52.1681 2.90233 48.4297C2.75272 47.6484 2.60311 46.867 2.44897 46.062C1.99909 43.8187 1.99909 43.8187 0.999995 41C0.505898 36.899 0.0476353 32.7768 2.04687 29.0469C6.06003 24.1839 8.81126 23.4843 15 24Z"
|
||||
fill="#2A2311"
|
||||
d='M15 24C20.2332 26.3601 22.1726 29.3732 24.1875 34.5195C26.8667 42.6988 27.2651 50.4282 27 59C26.67 59 26.34 59 26 59C25.8945 58.436 25.7891 57.8721 25.6804 57.291C25.1901 54.6926 24.6889 52.0963 24.1875 49.5C24.0218 48.6131 23.8562 47.7262 23.6855 46.8125C21.7568 35.5689 21.7568 35.5689 15 27C12.0431 26.2498 12.0431 26.2498 8.99999 27C5.97965 28.9369 5.97965 28.9369 3.99999 32C3.67226 36.9682 4.31774 41.4911 5.27733 46.3594C5.40814 47.0304 5.53894 47.7015 5.67371 48.3929C5.94892 49.7985 6.22723 51.2035 6.50854 52.6079C6.93887 54.7569 7.35989 56.9075 7.77929 59.0586C9.09359 66.104 9.09359 66.104 11 73C11.0836 75.2109 11.1073 77.4243 11.0976 79.6367C11.0944 80.9354 11.0912 82.2342 11.0879 83.5723C11.0795 84.944 11.0711 86.3158 11.0625 87.6875C11.0575 89.071 11.0529 90.4544 11.0488 91.8379C11.037 95.2253 11.0206 98.6126 11 102C8.54975 99.5498 8.73228 98.8194 8.65624 95.4492C8.62812 94.53 8.60001 93.6108 8.57104 92.6638C8.54759 91.6816 8.52415 90.6994 8.49999 89.6875C8.20265 81.3063 7.58164 73.2485 5.99999 65C5.67135 63.2175 5.34327 61.435 5.01562 59.6523C4.31985 55.9098 3.62013 52.1681 2.90233 48.4297C2.75272 47.6484 2.60311 46.867 2.44897 46.062C1.99909 43.8187 1.99909 43.8187 0.999995 41C0.505898 36.899 0.0476353 32.7768 2.04687 29.0469C6.06003 24.1839 8.81126 23.4843 15 24Z'
|
||||
fill='#2A2311'
|
||||
/>
|
||||
<path
|
||||
d="M11 82C11.33 82 11.66 82 12 82C12.0146 82.6118 12.0292 83.2236 12.0442 83.854C11.5946 115.845 11.5946 115.845 24.0625 143.875C30.0569 149.404 36.9894 152.617 45 154C42 156 42 156 39.4375 156C29.964 153.244 20.8381 146.677 16 138C8.26993 120.062 9.92611 101.014 11 82Z"
|
||||
fill="#272214"
|
||||
d='M11 82C11.33 82 11.66 82 12 82C12.0146 82.6118 12.0292 83.2236 12.0442 83.854C11.5946 115.845 11.5946 115.845 24.0625 143.875C30.0569 149.404 36.9894 152.617 45 154C42 156 42 156 39.4375 156C29.964 153.244 20.8381 146.677 16 138C8.26993 120.062 9.92611 101.014 11 82Z'
|
||||
fill='#272214'
|
||||
/>
|
||||
<path
|
||||
d="M68 49C70.3478 50.1116 71.9703 51.3346 74 53C73.34 53.66 72.68 54.32 72 55C71.505 54.505 71.01 54.01 70.5 53.5C67.6718 51.8031 65.3662 51.5622 62.0976 51.4062C58.4026 52.4521 57.1992 53.8264 55 57C54.3826 61.2861 54.5302 65.4938 54.6875 69.8125C54.7101 70.9823 54.7326 72.1521 54.7559 73.3574C54.8147 76.2396 54.8968 79.1191 55 82C54.01 82 53.02 82 52 82C51.9854 81.4203 51.9708 80.8407 51.9558 80.2434C51.881 77.5991 51.7845 74.9561 51.6875 72.3125C51.6649 71.4005 51.6424 70.4885 51.6191 69.5488C51.4223 64.6292 51.2621 60.9548 48 57C45.6603 55.8302 44.1661 55.8339 41.5625 55.8125C40.78 55.7983 39.9976 55.7841 39.1914 55.7695C36.7079 55.8591 36.7079 55.8591 34 58C32.7955 60.5518 32.7955 60.5518 32 63C31.34 63 30.68 63 30 63C30.2839 59.6879 31.0332 57.9518 32.9375 55.1875C36.7018 52.4987 38.9555 52.3484 43.4844 52.5586C47.3251 53.2325 49.8148 54.7842 53 57C53.0928 56.1338 53.0928 56.1338 53.1875 55.25C55.6091 48.544 61.7788 47.8649 68 49Z"
|
||||
fill="#1F1A0F"
|
||||
d='M68 49C70.3478 50.1116 71.9703 51.3346 74 53C73.34 53.66 72.68 54.32 72 55C71.505 54.505 71.01 54.01 70.5 53.5C67.6718 51.8031 65.3662 51.5622 62.0976 51.4062C58.4026 52.4521 57.1992 53.8264 55 57C54.3826 61.2861 54.5302 65.4938 54.6875 69.8125C54.7101 70.9823 54.7326 72.1521 54.7559 73.3574C54.8147 76.2396 54.8968 79.1191 55 82C54.01 82 53.02 82 52 82C51.9854 81.4203 51.9708 80.8407 51.9558 80.2434C51.881 77.5991 51.7845 74.9561 51.6875 72.3125C51.6649 71.4005 51.6424 70.4885 51.6191 69.5488C51.4223 64.6292 51.2621 60.9548 48 57C45.6603 55.8302 44.1661 55.8339 41.5625 55.8125C40.78 55.7983 39.9976 55.7841 39.1914 55.7695C36.7079 55.8591 36.7079 55.8591 34 58C32.7955 60.5518 32.7955 60.5518 32 63C31.34 63 30.68 63 30 63C30.2839 59.6879 31.0332 57.9518 32.9375 55.1875C36.7018 52.4987 38.9555 52.3484 43.4844 52.5586C47.3251 53.2325 49.8148 54.7842 53 57C53.0928 56.1338 53.0928 56.1338 53.1875 55.25C55.6091 48.544 61.7788 47.8649 68 49Z'
|
||||
fill='#1F1A0F'
|
||||
/>
|
||||
<path
|
||||
d="M99 60C99.33 60 99.66 60 100 60C100.05 60.7865 100.1 61.573 100.152 62.3833C100.385 65.9645 100.63 69.5447 100.875 73.125C100.954 74.3625 101.032 75.6 101.113 76.875C101.197 78.0738 101.281 79.2727 101.367 80.5078C101.44 81.6075 101.514 82.7073 101.589 83.8403C102.013 87.1 102.94 89.8988 104 93C103.625 95.375 103.625 95.375 103 97C102.361 96.2781 101.721 95.5563 101.062 94.8125C94.4402 88.1902 85.5236 84.8401 76.2891 84.5859C74.4231 84.5279 74.4231 84.5279 72.5195 84.4688C71.2343 84.4378 69.9491 84.4069 68.625 84.375C67.3166 84.3363 66.0082 84.2977 64.6601 84.2578C61.4402 84.1638 58.2203 84.0781 55 84C55 83.67 55 83.34 55 83C58.9087 82.7294 62.8179 82.4974 66.7309 82.2981C68.7007 82.1902 70.6688 82.0535 72.6367 81.916C82.854 81.4233 90.4653 83.3102 99 89C98.9162 87.912 98.8324 86.8241 98.7461 85.7031C98.1266 77.012 97.9127 68.6814 99 60Z"
|
||||
fill="#332E22"
|
||||
d='M99 60C99.33 60 99.66 60 100 60C100.05 60.7865 100.1 61.573 100.152 62.3833C100.385 65.9645 100.63 69.5447 100.875 73.125C100.954 74.3625 101.032 75.6 101.113 76.875C101.197 78.0738 101.281 79.2727 101.367 80.5078C101.44 81.6075 101.514 82.7073 101.589 83.8403C102.013 87.1 102.94 89.8988 104 93C103.625 95.375 103.625 95.375 103 97C102.361 96.2781 101.721 95.5563 101.062 94.8125C94.4402 88.1902 85.5236 84.8401 76.2891 84.5859C74.4231 84.5279 74.4231 84.5279 72.5195 84.4688C71.2343 84.4378 69.9491 84.4069 68.625 84.375C67.3166 84.3363 66.0082 84.2977 64.6601 84.2578C61.4402 84.1638 58.2203 84.0781 55 84C55 83.67 55 83.34 55 83C58.9087 82.7294 62.8179 82.4974 66.7309 82.2981C68.7007 82.1902 70.6688 82.0535 72.6367 81.916C82.854 81.4233 90.4653 83.3102 99 89C98.9162 87.912 98.8324 86.8241 98.7461 85.7031C98.1266 77.012 97.9127 68.6814 99 60Z'
|
||||
fill='#332E22'
|
||||
/>
|
||||
<path
|
||||
d="M15 24C20.2332 26.3601 22.1726 29.3732 24.1875 34.5195C26.8667 42.6988 27.2651 50.4282 27 59C26.67 59 26.34 59 26 59C25.8945 58.436 25.7891 57.8721 25.6804 57.291C25.1901 54.6926 24.6889 52.0963 24.1875 49.5C24.0218 48.6131 23.8562 47.7262 23.6855 46.8125C21.7568 35.5689 21.7568 35.5689 15 27C12.0431 26.2498 12.0431 26.2498 8.99999 27C5.2818 29.7267 4.15499 31.2727 3.18749 35.8125C3.12562 36.8644 3.06374 37.9163 2.99999 39C2.33999 39 1.67999 39 0.999992 39C0.330349 31.2321 0.330349 31.2321 3.37499 27.5625C7.31431 23.717 9.51597 23.543 15 24Z"
|
||||
fill="#1D180A"
|
||||
d='M15 24C20.2332 26.3601 22.1726 29.3732 24.1875 34.5195C26.8667 42.6988 27.2651 50.4282 27 59C26.67 59 26.34 59 26 59C25.8945 58.436 25.7891 57.8721 25.6804 57.291C25.1901 54.6926 24.6889 52.0963 24.1875 49.5C24.0218 48.6131 23.8562 47.7262 23.6855 46.8125C21.7568 35.5689 21.7568 35.5689 15 27C12.0431 26.2498 12.0431 26.2498 8.99999 27C5.2818 29.7267 4.15499 31.2727 3.18749 35.8125C3.12562 36.8644 3.06374 37.9163 2.99999 39C2.33999 39 1.67999 39 0.999992 39C0.330349 31.2321 0.330349 31.2321 3.37499 27.5625C7.31431 23.717 9.51597 23.543 15 24Z'
|
||||
fill='#1D180A'
|
||||
/>
|
||||
<path
|
||||
d="M91 0.999996C94.3999 3.06951 96.8587 5.11957 98 9C97.625 12.25 97.625 12.25 97 15C95.804 12.6081 94.6146 10.2139 93.4375 7.8125C92.265 5.16236 92.265 5.16236 91 4C85.4345 3.33492 85.4345 3.33491 80.6875 5.75C78.5543 9.85841 77.6475 13.9354 76.7109 18.4531C76.4763 19.2936 76.2417 20.1341 76 21C75.34 21.33 74.68 21.66 74 22C73.5207 15.4102 74.5846 10.6998 78 5C81.755 0.723465 85.5463 -0.103998 91 0.999996Z"
|
||||
fill="#16130D"
|
||||
d='M91 0.999996C94.3999 3.06951 96.8587 5.11957 98 9C97.625 12.25 97.625 12.25 97 15C95.804 12.6081 94.6146 10.2139 93.4375 7.8125C92.265 5.16236 92.265 5.16236 91 4C85.4345 3.33492 85.4345 3.33491 80.6875 5.75C78.5543 9.85841 77.6475 13.9354 76.7109 18.4531C76.4763 19.2936 76.2417 20.1341 76 21C75.34 21.33 74.68 21.66 74 22C73.5207 15.4102 74.5846 10.6998 78 5C81.755 0.723465 85.5463 -0.103998 91 0.999996Z'
|
||||
fill='#16130D'
|
||||
/>
|
||||
<path
|
||||
d="M42 93C42.5569 93.7631 43.1137 94.5263 43.6875 95.3125C46.4238 98.4926 48.7165 100.679 53.0105 101.282C55.3425 101.411 57.6646 101.473 60 101.5C70.6207 101.621 70.6207 101.621 75 106C75.0406 107.666 75.0427 109.334 75 111C74.34 111 73.68 111 73 111C72.7112 110.196 72.4225 109.391 72.125 108.562C71.2674 105.867 71.2674 105.867 69 105C65.3044 104.833 61.615 104.703 57.916 104.658C52.1631 104.454 48.7484 103.292 44 100C41.5625 97.25 41.5625 97.25 40 95C40.66 95 41.32 95 42 95C42 94.34 42 93.68 42 93Z"
|
||||
fill="#2B2B2B"
|
||||
d='M42 93C42.5569 93.7631 43.1137 94.5263 43.6875 95.3125C46.4238 98.4926 48.7165 100.679 53.0105 101.282C55.3425 101.411 57.6646 101.473 60 101.5C70.6207 101.621 70.6207 101.621 75 106C75.0406 107.666 75.0427 109.334 75 111C74.34 111 73.68 111 73 111C72.7112 110.196 72.4225 109.391 72.125 108.562C71.2674 105.867 71.2674 105.867 69 105C65.3044 104.833 61.615 104.703 57.916 104.658C52.1631 104.454 48.7484 103.292 44 100C41.5625 97.25 41.5625 97.25 40 95C40.66 95 41.32 95 42 95C42 94.34 42 93.68 42 93Z'
|
||||
fill='#2B2B2B'
|
||||
/>
|
||||
<path
|
||||
d="M11 82C11.33 82 11.66 82 12 82C12.1682 86.6079 12.3287 91.216 12.4822 95.8245C12.5354 97.3909 12.5907 98.9574 12.6482 100.524C12.7306 102.78 12.8055 105.036 12.8789 107.293C12.9059 107.989 12.933 108.685 12.9608 109.402C13.0731 113.092 12.9015 116.415 12 120C11.67 120 11.34 120 11 120C9.63778 112.17 10.1119 104.4 10.4375 96.5C10.4908 95.0912 10.5436 93.6823 10.5957 92.2734C10.7247 88.8487 10.8596 85.4243 11 82Z"
|
||||
fill="#4D483B"
|
||||
d='M11 82C11.33 82 11.66 82 12 82C12.1682 86.6079 12.3287 91.216 12.4822 95.8245C12.5354 97.3909 12.5907 98.9574 12.6482 100.524C12.7306 102.78 12.8055 105.036 12.8789 107.293C12.9059 107.989 12.933 108.685 12.9608 109.402C13.0731 113.092 12.9015 116.415 12 120C11.67 120 11.34 120 11 120C9.63778 112.17 10.1119 104.4 10.4375 96.5C10.4908 95.0912 10.5436 93.6823 10.5957 92.2734C10.7247 88.8487 10.8596 85.4243 11 82Z'
|
||||
fill='#4D483B'
|
||||
/>
|
||||
<path
|
||||
d="M43.4844 52.5586C47.3251 53.2325 49.8148 54.7842 53 57C52 59 52 59 50 60C49.5256 59.34 49.0512 58.68 48.5625 58C45.2656 55.4268 43.184 55.5955 39.1211 55.6641C36.7043 55.8955 36.7043 55.8955 34 58C32.7955 60.5518 32.7955 60.5518 32 63C31.34 63 30.68 63 30 63C30.2839 59.6879 31.0332 57.9518 32.9375 55.1875C36.7018 52.4987 38.9555 52.3484 43.4844 52.5586Z"
|
||||
fill="#221F16"
|
||||
d='M43.4844 52.5586C47.3251 53.2325 49.8148 54.7842 53 57C52 59 52 59 50 60C49.5256 59.34 49.0512 58.68 48.5625 58C45.2656 55.4268 43.184 55.5955 39.1211 55.6641C36.7043 55.8955 36.7043 55.8955 34 58C32.7955 60.5518 32.7955 60.5518 32 63C31.34 63 30.68 63 30 63C30.2839 59.6879 31.0332 57.9518 32.9375 55.1875C36.7018 52.4987 38.9555 52.3484 43.4844 52.5586Z'
|
||||
fill='#221F16'
|
||||
/>
|
||||
<path
|
||||
d="M76 73C76.33 73 76.66 73 77 73C77 75.97 77 78.94 77 82C78.485 82.495 78.485 82.495 80 83C68.78 83.33 57.56 83.66 46 84C46.33 83.34 46.66 82.68 47 82C52.9349 80.7196 58.8909 80.8838 64.9375 80.9375C65.9075 80.942 66.8775 80.9465 67.8769 80.9512C70.2514 80.9629 72.6256 80.9793 75 81C75.33 78.36 75.66 75.72 76 73Z"
|
||||
fill="#040404"
|
||||
d='M76 73C76.33 73 76.66 73 77 73C77 75.97 77 78.94 77 82C78.485 82.495 78.485 82.495 80 83C68.78 83.33 57.56 83.66 46 84C46.33 83.34 46.66 82.68 47 82C52.9349 80.7196 58.8909 80.8838 64.9375 80.9375C65.9075 80.942 66.8775 80.9465 67.8769 80.9512C70.2514 80.9629 72.6256 80.9793 75 81C75.33 78.36 75.66 75.72 76 73Z'
|
||||
fill='#040404'
|
||||
/>
|
||||
<path
|
||||
d="M27 54C27.33 54 27.66 54 28 54C28.33 56.97 28.66 59.94 29 63C29.99 63 30.98 63 32 63C32 66.96 32 70.92 32 75C31.01 74.67 30.02 74.34 29 74C28.8672 73.2523 28.7344 72.5047 28.5977 71.7344C28.421 70.7495 28.2444 69.7647 28.0625 68.75C27.8885 67.7755 27.7144 66.8009 27.5352 65.7969C27.0533 63.087 27.0533 63.087 26.4062 60.8125C25.8547 58.3515 26.3956 56.4176 27 54Z"
|
||||
fill="#434039"
|
||||
d='M27 54C27.33 54 27.66 54 28 54C28.33 56.97 28.66 59.94 29 63C29.99 63 30.98 63 32 63C32 66.96 32 70.92 32 75C31.01 74.67 30.02 74.34 29 74C28.8672 73.2523 28.7344 72.5047 28.5977 71.7344C28.421 70.7495 28.2444 69.7647 28.0625 68.75C27.8885 67.7755 27.7144 66.8009 27.5352 65.7969C27.0533 63.087 27.0533 63.087 26.4062 60.8125C25.8547 58.3515 26.3956 56.4176 27 54Z'
|
||||
fill='#434039'
|
||||
/>
|
||||
<path
|
||||
d="M78 5C78.99 5.33 79.98 5.66 81 6C80.3194 6.92812 80.3194 6.92812 79.625 7.875C77.7233 11.532 77.1555 14.8461 76.5273 18.8906C76.3533 19.5867 76.1793 20.2828 76 21C75.34 21.33 74.68 21.66 74 22C73.5126 15.2987 74.9229 10.9344 78 5Z"
|
||||
fill="#2A2313"
|
||||
d='M78 5C78.99 5.33 79.98 5.66 81 6C80.3194 6.92812 80.3194 6.92812 79.625 7.875C77.7233 11.532 77.1555 14.8461 76.5273 18.8906C76.3533 19.5867 76.1793 20.2828 76 21C75.34 21.33 74.68 21.66 74 22C73.5126 15.2987 74.9229 10.9344 78 5Z'
|
||||
fill='#2A2313'
|
||||
/>
|
||||
<path
|
||||
d="M12 115C12.99 115.495 12.99 115.495 14 116C14.5334 118.483 14.9326 120.864 15.25 123.375C15.3531 124.061 15.4562 124.747 15.5625 125.453C16.0763 129.337 16.2441 130.634 14 134C12.6761 127.57 11.752 121.571 12 115Z"
|
||||
fill="#2F2C22"
|
||||
d='M12 115C12.99 115.495 12.99 115.495 14 116C14.5334 118.483 14.9326 120.864 15.25 123.375C15.3531 124.061 15.4562 124.747 15.5625 125.453C16.0763 129.337 16.2441 130.634 14 134C12.6761 127.57 11.752 121.571 12 115Z'
|
||||
fill='#2F2C22'
|
||||
/>
|
||||
<path
|
||||
d="M104 95C107 98 107 98 107.363 101.031C107.347 102.176 107.33 103.321 107.312 104.5C107.309 105.645 107.305 106.789 107.301 107.969C107 111 107 111 105 114C104.67 107.73 104.34 101.46 104 95Z"
|
||||
fill="#120F05"
|
||||
d='M104 95C107 98 107 98 107.363 101.031C107.347 102.176 107.33 103.321 107.312 104.5C107.309 105.645 107.305 106.789 107.301 107.969C107 111 107 111 105 114C104.67 107.73 104.34 101.46 104 95Z'
|
||||
fill='#120F05'
|
||||
/>
|
||||
<path
|
||||
d="M56 103C58.6048 102.919 61.2071 102.86 63.8125 102.812C64.5505 102.787 65.2885 102.762 66.0488 102.736C71.4975 102.662 71.4975 102.662 74 104.344C75.374 106.619 75.2112 108.396 75 111C74.34 111 73.68 111 73 111C72.7112 110.196 72.4225 109.391 72.125 108.562C71.2674 105.867 71.2674 105.867 69 105C66.7956 104.77 64.5861 104.589 62.375 104.438C61.1865 104.354 59.998 104.27 58.7734 104.184C57.4006 104.093 57.4006 104.093 56 104C56 103.67 56 103.34 56 103Z"
|
||||
fill="#101010"
|
||||
d='M56 103C58.6048 102.919 61.2071 102.86 63.8125 102.812C64.5505 102.787 65.2885 102.762 66.0488 102.736C71.4975 102.662 71.4975 102.662 74 104.344C75.374 106.619 75.2112 108.396 75 111C74.34 111 73.68 111 73 111C72.7112 110.196 72.4225 109.391 72.125 108.562C71.2674 105.867 71.2674 105.867 69 105C66.7956 104.77 64.5861 104.589 62.375 104.438C61.1865 104.354 59.998 104.27 58.7734 104.184C57.4006 104.093 57.4006 104.093 56 104C56 103.67 56 103.34 56 103Z'
|
||||
fill='#101010'
|
||||
/>
|
||||
<path
|
||||
d="M23 40C23.66 40 24.32 40 25 40C27.3084 46.3482 27.1982 52.2948 27 59C26.67 59 26.34 59 26 59C25.01 52.73 24.02 46.46 23 40Z"
|
||||
fill="#191409"
|
||||
d='M23 40C23.66 40 24.32 40 25 40C27.3084 46.3482 27.1982 52.2948 27 59C26.67 59 26.34 59 26 59C25.01 52.73 24.02 46.46 23 40Z'
|
||||
fill='#191409'
|
||||
/>
|
||||
<path
|
||||
d="M47 83C46.3606 83.3094 45.7212 83.6187 45.0625 83.9375C41.9023 87.0977 42.181 90.6833 42 95C41.01 94.67 40.02 94.34 39 94C39.3463 85.7409 39.3463 85.7409 41.875 82.875C44 82 44 82 47 83Z"
|
||||
fill="#171717"
|
||||
d='M47 83C46.3606 83.3094 45.7212 83.6187 45.0625 83.9375C41.9023 87.0977 42.181 90.6833 42 95C41.01 94.67 40.02 94.34 39 94C39.3463 85.7409 39.3463 85.7409 41.875 82.875C44 82 44 82 47 83Z'
|
||||
fill='#171717'
|
||||
/>
|
||||
<path
|
||||
d="M53 61C53.33 61 53.66 61 54 61C54.33 67.93 54.66 74.86 55 82C54.01 82 53.02 82 52 82C52.33 75.07 52.66 68.14 53 61Z"
|
||||
fill="#444444"
|
||||
d='M53 61C53.33 61 53.66 61 54 61C54.33 67.93 54.66 74.86 55 82C54.01 82 53.02 82 52 82C52.33 75.07 52.66 68.14 53 61Z'
|
||||
fill='#444444'
|
||||
/>
|
||||
<path
|
||||
d="M81 154C78.6696 156.33 77.8129 156.39 74.625 156.75C73.4687 156.897 73.4687 156.897 72.2891 157.047C69.6838 156.994 68.2195 156.317 66 155C67.7478 154.635 69.4984 154.284 71.25 153.938C72.7118 153.642 72.7118 153.642 74.2031 153.34C76.8681 153.016 78.4887 153.145 81 154Z"
|
||||
fill="#332F23"
|
||||
d='M81 154C78.6696 156.33 77.8129 156.39 74.625 156.75C73.4687 156.897 73.4687 156.897 72.2891 157.047C69.6838 156.994 68.2195 156.317 66 155C67.7478 154.635 69.4984 154.284 71.25 153.938C72.7118 153.642 72.7118 153.642 74.2031 153.34C76.8681 153.016 78.4887 153.145 81 154Z'
|
||||
fill='#332F23'
|
||||
/>
|
||||
<path
|
||||
d="M19 28C19.66 28 20.32 28 21 28C21.6735 29.4343 22.3386 30.8726 23 32.3125C23.5569 33.5133 23.5569 33.5133 24.125 34.7383C25 37 25 37 25 40C22 39 22 39 21.0508 37.2578C20.8071 36.554 20.5635 35.8502 20.3125 35.125C20.0611 34.4263 19.8098 33.7277 19.5508 33.0078C19 31 19 31 19 28Z"
|
||||
fill="#282213"
|
||||
d='M19 28C19.66 28 20.32 28 21 28C21.6735 29.4343 22.3386 30.8726 23 32.3125C23.5569 33.5133 23.5569 33.5133 24.125 34.7383C25 37 25 37 25 40C22 39 22 39 21.0508 37.2578C20.8071 36.554 20.5635 35.8502 20.3125 35.125C20.0611 34.4263 19.8098 33.7277 19.5508 33.0078C19 31 19 31 19 28Z'
|
||||
fill='#282213'
|
||||
/>
|
||||
<path
|
||||
d="M102 87C104.429 93.2857 104.429 93.2857 103 97C100.437 94.75 100.437 94.75 98 92C98.0625 89.75 98.0625 89.75 99 88C101 87 101 87 102 87Z"
|
||||
fill="#37301F"
|
||||
d='M102 87C104.429 93.2857 104.429 93.2857 103 97C100.437 94.75 100.437 94.75 98 92C98.0625 89.75 98.0625 89.75 99 88C101 87 101 87 102 87Z'
|
||||
fill='#37301F'
|
||||
/>
|
||||
<path
|
||||
d="M53 56C53.33 56 53.66 56 54 56C53.67 62.27 53.34 68.54 53 75C52.67 75 52.34 75 52 75C51.7788 72.2088 51.5726 69.4179 51.375 66.625C51.3105 65.8309 51.2461 65.0369 51.1797 64.2188C51.0394 62.1497 51.0124 60.0737 51 58C51.66 57.34 52.32 56.68 53 56Z"
|
||||
fill="#030303"
|
||||
d='M53 56C53.33 56 53.66 56 54 56C53.67 62.27 53.34 68.54 53 75C52.67 75 52.34 75 52 75C51.7788 72.2088 51.5726 69.4179 51.375 66.625C51.3105 65.8309 51.2461 65.0369 51.1797 64.2188C51.0394 62.1497 51.0124 60.0737 51 58C51.66 57.34 52.32 56.68 53 56Z'
|
||||
fill='#030303'
|
||||
/>
|
||||
<path
|
||||
d="M100 129C100.33 129 100.66 129 101 129C100.532 133.776 99.7567 137.045 97 141C96.34 140.67 95.68 140.34 95 140C96.65 136.37 98.3 132.74 100 129Z"
|
||||
fill="#1E1A12"
|
||||
d='M100 129C100.33 129 100.66 129 101 129C100.532 133.776 99.7567 137.045 97 141C96.34 140.67 95.68 140.34 95 140C96.65 136.37 98.3 132.74 100 129Z'
|
||||
fill='#1E1A12'
|
||||
/>
|
||||
<path
|
||||
d="M15 131C17.7061 132.353 17.9618 133.81 19.125 136.562C19.4782 137.389 19.8314 138.215 20.1953 139.066C20.4609 139.704 20.7264 140.343 21 141C20.01 141 19.02 141 18 141C15.9656 137.27 15 135.331 15 131Z"
|
||||
fill="#1C1912"
|
||||
d='M15 131C17.7061 132.353 17.9618 133.81 19.125 136.562C19.4782 137.389 19.8314 138.215 20.1953 139.066C20.4609 139.704 20.7264 140.343 21 141C20.01 141 19.02 141 18 141C15.9656 137.27 15 135.331 15 131Z'
|
||||
fill='#1C1912'
|
||||
/>
|
||||
<path
|
||||
d="M63 49C69.4 49.4923 69.4 49.4923 72.4375 52.0625C73.2109 53.0216 73.2109 53.0216 74 54C70.8039 54 69.5828 53.4533 66.8125 52C66.0971 51.6288 65.3816 51.2575 64.6445 50.875C64.1018 50.5863 63.5591 50.2975 63 50C63 49.67 63 49.34 63 49Z"
|
||||
fill="#13110C"
|
||||
d='M63 49C69.4 49.4923 69.4 49.4923 72.4375 52.0625C73.2109 53.0216 73.2109 53.0216 74 54C70.8039 54 69.5828 53.4533 66.8125 52C66.0971 51.6288 65.3816 51.2575 64.6445 50.875C64.1018 50.5863 63.5591 50.2975 63 50C63 49.67 63 49.34 63 49Z'
|
||||
fill='#13110C'
|
||||
/>
|
||||
<path
|
||||
d="M0.999992 39C1.98999 39 2.97999 39 3.99999 39C5.24999 46.625 5.24999 46.625 2.99999 50C2.33999 46.37 1.67999 42.74 0.999992 39Z"
|
||||
fill="#312C1E"
|
||||
d='M0.999992 39C1.98999 39 2.97999 39 3.99999 39C5.24999 46.625 5.24999 46.625 2.99999 50C2.33999 46.37 1.67999 42.74 0.999992 39Z'
|
||||
fill='#312C1E'
|
||||
/>
|
||||
<path
|
||||
d="M94 5C94.66 5 95.32 5 96 5C97.8041 7.75924 98.0127 8.88972 97.625 12.25C97.4187 13.1575 97.2125 14.065 97 15C95.1161 11.7345 94.5071 8.71888 94 5Z"
|
||||
fill="#292417"
|
||||
d='M94 5C94.66 5 95.32 5 96 5C97.8041 7.75924 98.0127 8.88972 97.625 12.25C97.4187 13.1575 97.2125 14.065 97 15C95.1161 11.7345 94.5071 8.71888 94 5Z'
|
||||
fill='#292417'
|
||||
/>
|
||||
<path
|
||||
d="M20 141C23.3672 142.393 24.9859 143.979 27 147C24.625 146.812 24.625 146.812 22 146C20.6875 143.438 20.6875 143.438 20 141Z"
|
||||
fill="#373328"
|
||||
d='M20 141C23.3672 142.393 24.9859 143.979 27 147C24.625 146.812 24.625 146.812 22 146C20.6875 143.438 20.6875 143.438 20 141Z'
|
||||
fill='#373328'
|
||||
/>
|
||||
<path
|
||||
d="M86 83C86.33 83.99 86.66 84.98 87 86C83.37 85.34 79.74 84.68 76 84C80.3553 81.8223 81.4663 81.9696 86 83Z"
|
||||
fill="#2F2F2F"
|
||||
d='M86 83C86.33 83.99 86.66 84.98 87 86C83.37 85.34 79.74 84.68 76 84C80.3553 81.8223 81.4663 81.9696 86 83Z'
|
||||
fill='#2F2F2F'
|
||||
/>
|
||||
<path
|
||||
d="M42 93C46 97.625 46 97.625 46 101C44.02 99.35 42.04 97.7 40 96C40.66 95.67 41.32 95.34 42 95C42 94.34 42 93.68 42 93Z"
|
||||
fill="#232323"
|
||||
d='M42 93C46 97.625 46 97.625 46 101C44.02 99.35 42.04 97.7 40 96C40.66 95.67 41.32 95.34 42 95C42 94.34 42 93.68 42 93Z'
|
||||
fill='#232323'
|
||||
/>
|
||||
<path
|
||||
d="M34 55C34.66 55.33 35.32 55.66 36 56C35.5256 56.7838 35.0512 57.5675 34.5625 58.375C33.661 59.8895 32.7882 61.4236 32 63C31.34 63 30.68 63 30 63C30.4983 59.3125 31.1007 57.3951 34 55Z"
|
||||
fill="#110F0A"
|
||||
d='M34 55C34.66 55.33 35.32 55.66 36 56C35.5256 56.7838 35.0512 57.5675 34.5625 58.375C33.661 59.8895 32.7882 61.4236 32 63C31.34 63 30.68 63 30 63C30.4983 59.3125 31.1007 57.3951 34 55Z'
|
||||
fill='#110F0A'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -188,10 +188,13 @@ With Stagehand, you can:
|
||||
In Sim Studio, the Stagehand integration enables your agents to extract structured data from webpages using Browserbase and OpenAI. This allows for powerful automation scenarios such as data extraction, data analysis, and data integration. Your agents can extract structured data from webpages, save the extracted data to a database, and automate workflows to extract data from webpages. This integration bridges the gap between your AI workflows and your data management system, enabling seamless data extraction and integration. By connecting Sim Studio with Stagehand, you can automate data extraction processes, maintain up-to-date information repositories, generate reports, and organize information intelligently - all through your intelligent agents.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Use Stagehand to extract structured data from webpages using Browserbase and OpenAI.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `stagehand_extract`
|
||||
@@ -200,33 +203,38 @@ Extract structured data from a webpage using Stagehand
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | --------------------------------------------------------- |
|
||||
| `instruction` | string | Yes | Instructions for extraction |
|
||||
| `schema` | json | Yes | JSON schema defining the structure of the data to extract |
|
||||
| `apiKey` | string | Yes | OpenAI API key for extraction \(required by Stagehand\) |
|
||||
| `url` | string | Yes | URL of the webpage to extract data from |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `instruction` | string | Yes | Instructions for extraction |
|
||||
| `schema` | json | Yes | JSON schema defining the structure of the data to extract |
|
||||
| `apiKey` | string | Yes | OpenAI API key for extraction \(required by Stagehand\) |
|
||||
| `url` | string | Yes | URL of the webpage to extract data from |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `data` | json |
|
||||
| `data` | json |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | ------------------------------------------------------- |
|
||||
| `url` | string | Yes | URL - Enter the URL of the website to extract data from |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `url` | string | Yes | URL - Enter the URL of the website to extract data from |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ---------- | ------ | -------------------- |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `data` | json | data of the response |
|
||||
| ↳ `data` | json | data of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ title: Stagehand Agent
|
||||
description: Autonomous web browsing agent
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="stagehand_agent"
|
||||
color="#FFC83C"
|
||||
icon={true}
|
||||
@@ -13,165 +13,165 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
|
||||
|
||||
|
||||
viewBox="0 0 108 159"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox='0 0 108 159'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<path
|
||||
d="M15 26C22.8234 31.822 23.619 41.405 25.3125 50.3867C25.8461 53.1914 26.4211 55.9689 27.0625 58.75C27.7987 61.9868 28.4177 65.2319 29 68.5C29.332 70.3336 29.6653 72.1669 30 74C30.1418 74.7863 30.2836 75.5727 30.4297 76.3828C31.8011 83.2882 33.3851 90.5397 39.4375 94.75C40.3405 95.3069 40.3405 95.3069 41.2617 95.875C43.8517 97.5512 45.826 99.826 48 102C50.6705 102.89 52.3407 103.143 55.0898 103.211C55.8742 103.239 56.6586 103.268 57.4668 103.297C59.1098 103.349 60.7531 103.393 62.3965 103.43C65.8896 103.567 68.4123 103.705 71.5664 105.289C73 107 73 107 73 111C73.66 111 74.32 111 75 111C74.0759 106.912 74.0759 106.912 71.4766 103.828C67.0509 102.348 62.3634 102.64 57.7305 102.609C52.3632 102.449 49.2783 101.537 45 98C41.8212 94.0795 41.5303 90.9791 42 86C44.9846 83.0154 48.2994 83.6556 52.3047 83.6289C53.139 83.6199 53.9734 83.6108 54.833 83.6015C56.6067 83.587 58.3805 83.5782 60.1543 83.5745C62.8304 83.5627 65.5041 83.5137 68.1797 83.4629C81.1788 83.34 91.8042 85.3227 102 94C106.37 100.042 105.483 106.273 104.754 113.406C103.821 119.026 101.968 124.375 100.125 129.75C99.8806 130.471 99.6361 131.193 99.3843 131.936C97.7783 136.447 95.9466 140.206 93 144C92.34 144 91.68 144 91 144C91 144.66 91 145.32 91 146C79.0816 156.115 63.9798 156.979 49 156C36.6394 154.226 26.7567 148.879 19 139C11.0548 125.712 11.6846 105.465 11.3782 90.4719C11.0579 77.4745 8.03411 64.8142 5.4536 52.1135C5.04373 50.0912 4.64233 48.0673 4.24218 46.043C4.00354 44.8573 3.7649 43.6716 3.51903 42.45C2.14425 33.3121 2.14425 33.3121 4.87499 29.125C8.18297 25.817 10.3605 25.4542 15 26Z"
|
||||
fill="#FDFDFD"
|
||||
d='M15 26C22.8234 31.822 23.619 41.405 25.3125 50.3867C25.8461 53.1914 26.4211 55.9689 27.0625 58.75C27.7987 61.9868 28.4177 65.2319 29 68.5C29.332 70.3336 29.6653 72.1669 30 74C30.1418 74.7863 30.2836 75.5727 30.4297 76.3828C31.8011 83.2882 33.3851 90.5397 39.4375 94.75C40.3405 95.3069 40.3405 95.3069 41.2617 95.875C43.8517 97.5512 45.826 99.826 48 102C50.6705 102.89 52.3407 103.143 55.0898 103.211C55.8742 103.239 56.6586 103.268 57.4668 103.297C59.1098 103.349 60.7531 103.393 62.3965 103.43C65.8896 103.567 68.4123 103.705 71.5664 105.289C73 107 73 107 73 111C73.66 111 74.32 111 75 111C74.0759 106.912 74.0759 106.912 71.4766 103.828C67.0509 102.348 62.3634 102.64 57.7305 102.609C52.3632 102.449 49.2783 101.537 45 98C41.8212 94.0795 41.5303 90.9791 42 86C44.9846 83.0154 48.2994 83.6556 52.3047 83.6289C53.139 83.6199 53.9734 83.6108 54.833 83.6015C56.6067 83.587 58.3805 83.5782 60.1543 83.5745C62.8304 83.5627 65.5041 83.5137 68.1797 83.4629C81.1788 83.34 91.8042 85.3227 102 94C106.37 100.042 105.483 106.273 104.754 113.406C103.821 119.026 101.968 124.375 100.125 129.75C99.8806 130.471 99.6361 131.193 99.3843 131.936C97.7783 136.447 95.9466 140.206 93 144C92.34 144 91.68 144 91 144C91 144.66 91 145.32 91 146C79.0816 156.115 63.9798 156.979 49 156C36.6394 154.226 26.7567 148.879 19 139C11.0548 125.712 11.6846 105.465 11.3782 90.4719C11.0579 77.4745 8.03411 64.8142 5.4536 52.1135C5.04373 50.0912 4.64233 48.0673 4.24218 46.043C4.00354 44.8573 3.7649 43.6716 3.51903 42.45C2.14425 33.3121 2.14425 33.3121 4.87499 29.125C8.18297 25.817 10.3605 25.4542 15 26Z'
|
||||
fill='#FDFDFD'
|
||||
/>
|
||||
<path
|
||||
d="M91 0.999996C94.8466 2.96604 96.2332 5.08365 97.6091 9.03564C99.203 14.0664 99.4412 18.7459 99.4414 23.9922C99.4538 24.9285 99.4663 25.8647 99.4791 26.8294C99.5049 28.8198 99.5247 30.8103 99.539 32.8008C99.5785 37.9693 99.6682 43.1369 99.7578 48.3047C99.7747 49.3188 99.7917 50.3328 99.8091 51.3776C99.9603 59.6066 100.323 67.7921 100.937 76C101.012 77.0582 101.087 78.1163 101.164 79.2065C101.646 85.1097 102.203 90.3442 105.602 95.3672C107.492 98.9262 107.45 102.194 107.375 106.125C107.366 106.881 107.356 107.638 107.346 108.417C107.18 114.639 106.185 120.152 104 126C103.636 126.996 103.273 127.993 102.898 129.02C98.2182 141.022 92.6784 149.349 80.7891 155.062C67.479 160.366 49.4234 159.559 36 155C32.4272 153.286 29.2162 151.308 26 149C25.0719 148.361 24.1437 147.721 23.1875 147.062C8.32968 133.054 9.60387 109.231 8.73413 90.3208C8.32766 81.776 7.51814 73.4295 5.99999 65C5.82831 64.0338 5.65662 63.0675 5.47973 62.072C4.98196 59.3363 4.46395 56.6053 3.93749 53.875C3.76412 52.9572 3.59074 52.0394 3.4121 51.0938C2.75101 47.6388 2.11387 44.3416 0.999995 41C0.505898 36.899 0.0476353 32.7768 2.04687 29.0469C4.91881 25.5668 6.78357 24.117 11.25 23.6875C15.8364 24.0697 17.5999 24.9021 21 28C24.7763 34.3881 26.047 41.2626 27.1875 48.5C27.5111 50.4693 27.8377 52.4381 28.168 54.4062C28.3733 55.695 28.3733 55.695 28.5828 57.0098C28.8087 58.991 28.8087 58.991 30 60C30.3171 59.4947 30.6342 58.9894 30.9609 58.4688C33.1122 55.4736 34.7097 53.3284 38.3789 52.3945C44.352 52.203 48.1389 53.6183 53 57C53.0928 56.1338 53.0928 56.1338 53.1875 55.25C54.4089 51.8676 55.9015 50.8075 59 49C63.8651 48.104 66.9348 48.3122 71.1487 51.0332C72.0896 51.6822 73.0305 52.3313 74 53C73.9686 51.2986 73.9686 51.2986 73.9365 49.5627C73.8636 45.3192 73.818 41.0758 73.7803 36.8318C73.7603 35.0016 73.733 33.1715 73.6982 31.3415C73.6492 28.6976 73.6269 26.0545 73.6094 23.4102C73.5887 22.6035 73.5681 21.7969 73.5468 20.9658C73.5441 13.8444 75.5121 7.83341 80.25 2.4375C83.9645 0.495841 86.8954 0.209055 91 0.999996ZM3.99999 30C1.56925 34.8615 3.215 40.9393 4.24218 46.043C4.37061 46.6927 4.49905 47.3424 4.63137 48.0118C5.03968 50.0717 5.45687 52.1296 5.87499 54.1875C11.1768 80.6177 11.1768 80.6177 11.4375 93.375C11.7542 120.78 11.7542 120.78 23.5625 144.375C28.5565 149.002 33.5798 151.815 40 154C40.6922 154.244 41.3844 154.487 42.0977 154.738C55.6463 158.576 72.4909 156.79 84.8086 150.316C87.0103 148.994 89.0458 147.669 91 146C91 145.34 91 144.68 91 144C91.66 144 92.32 144 93 144C97.1202 138.98 99.3206 133.053 101.25 126.937C101.505 126.174 101.76 125.41 102.023 124.623C104.94 115.65 107.293 104.629 103.625 95.625C96.3369 88.3369 86.5231 83.6919 76.1988 83.6088C74.9905 83.6226 74.9905 83.6226 73.7578 83.6367C72.9082 83.6362 72.0586 83.6357 71.1833 83.6352C69.4034 83.6375 67.6235 83.6472 65.8437 83.6638C63.1117 83.6876 60.3806 83.6843 57.6484 83.6777C55.9141 83.6833 54.1797 83.6904 52.4453 83.6992C51.6277 83.6983 50.81 83.6974 49.9676 83.6964C45.5122 83.571 45.5122 83.571 42 86C41.517 90.1855 41.733 92.4858 43.6875 96.25C46.4096 99.4871 48.6807 101.674 53.0105 102.282C55.3425 102.411 57.6645 102.473 60 102.5C69.8847 102.612 69.8847 102.612 74 106C74.8125 108.687 74.8125 108.688 75 111C74.34 111 73.68 111 73 111C72.8969 110.216 72.7937 109.432 72.6875 108.625C72.224 105.67 72.224 105.67 69 104C65.2788 103.745 61.5953 103.634 57.8672 103.609C51.1596 103.409 46.859 101.691 41.875 97C41.2562 96.34 40.6375 95.68 40 95C39.175 94.4637 38.35 93.9275 37.5 93.375C30.9449 87.1477 30.3616 77.9789 29.4922 69.418C29.1557 66.1103 29.1557 66.1103 28.0352 63.625C26.5234 59.7915 26.1286 55.8785 25.5625 51.8125C23.9233 38.3 23.9233 38.3 17 27C11.7018 24.3509 7.9915 26.1225 3.99999 30Z"
|
||||
fill="#1F1F1F"
|
||||
d='M91 0.999996C94.8466 2.96604 96.2332 5.08365 97.6091 9.03564C99.203 14.0664 99.4412 18.7459 99.4414 23.9922C99.4538 24.9285 99.4663 25.8647 99.4791 26.8294C99.5049 28.8198 99.5247 30.8103 99.539 32.8008C99.5785 37.9693 99.6682 43.1369 99.7578 48.3047C99.7747 49.3188 99.7917 50.3328 99.8091 51.3776C99.9603 59.6066 100.323 67.7921 100.937 76C101.012 77.0582 101.087 78.1163 101.164 79.2065C101.646 85.1097 102.203 90.3442 105.602 95.3672C107.492 98.9262 107.45 102.194 107.375 106.125C107.366 106.881 107.356 107.638 107.346 108.417C107.18 114.639 106.185 120.152 104 126C103.636 126.996 103.273 127.993 102.898 129.02C98.2182 141.022 92.6784 149.349 80.7891 155.062C67.479 160.366 49.4234 159.559 36 155C32.4272 153.286 29.2162 151.308 26 149C25.0719 148.361 24.1437 147.721 23.1875 147.062C8.32968 133.054 9.60387 109.231 8.73413 90.3208C8.32766 81.776 7.51814 73.4295 5.99999 65C5.82831 64.0338 5.65662 63.0675 5.47973 62.072C4.98196 59.3363 4.46395 56.6053 3.93749 53.875C3.76412 52.9572 3.59074 52.0394 3.4121 51.0938C2.75101 47.6388 2.11387 44.3416 0.999995 41C0.505898 36.899 0.0476353 32.7768 2.04687 29.0469C4.91881 25.5668 6.78357 24.117 11.25 23.6875C15.8364 24.0697 17.5999 24.9021 21 28C24.7763 34.3881 26.047 41.2626 27.1875 48.5C27.5111 50.4693 27.8377 52.4381 28.168 54.4062C28.3733 55.695 28.3733 55.695 28.5828 57.0098C28.8087 58.991 28.8087 58.991 30 60C30.3171 59.4947 30.6342 58.9894 30.9609 58.4688C33.1122 55.4736 34.7097 53.3284 38.3789 52.3945C44.352 52.203 48.1389 53.6183 53 57C53.0928 56.1338 53.0928 56.1338 53.1875 55.25C54.4089 51.8676 55.9015 50.8075 59 49C63.8651 48.104 66.9348 48.3122 71.1487 51.0332C72.0896 51.6822 73.0305 52.3313 74 53C73.9686 51.2986 73.9686 51.2986 73.9365 49.5627C73.8636 45.3192 73.818 41.0758 73.7803 36.8318C73.7603 35.0016 73.733 33.1715 73.6982 31.3415C73.6492 28.6976 73.6269 26.0545 73.6094 23.4102C73.5887 22.6035 73.5681 21.7969 73.5468 20.9658C73.5441 13.8444 75.5121 7.83341 80.25 2.4375C83.9645 0.495841 86.8954 0.209055 91 0.999996ZM3.99999 30C1.56925 34.8615 3.215 40.9393 4.24218 46.043C4.37061 46.6927 4.49905 47.3424 4.63137 48.0118C5.03968 50.0717 5.45687 52.1296 5.87499 54.1875C11.1768 80.6177 11.1768 80.6177 11.4375 93.375C11.7542 120.78 11.7542 120.78 23.5625 144.375C28.5565 149.002 33.5798 151.815 40 154C40.6922 154.244 41.3844 154.487 42.0977 154.738C55.6463 158.576 72.4909 156.79 84.8086 150.316C87.0103 148.994 89.0458 147.669 91 146C91 145.34 91 144.68 91 144C91.66 144 92.32 144 93 144C97.1202 138.98 99.3206 133.053 101.25 126.937C101.505 126.174 101.76 125.41 102.023 124.623C104.94 115.65 107.293 104.629 103.625 95.625C96.3369 88.3369 86.5231 83.6919 76.1988 83.6088C74.9905 83.6226 74.9905 83.6226 73.7578 83.6367C72.9082 83.6362 72.0586 83.6357 71.1833 83.6352C69.4034 83.6375 67.6235 83.6472 65.8437 83.6638C63.1117 83.6876 60.3806 83.6843 57.6484 83.6777C55.9141 83.6833 54.1797 83.6904 52.4453 83.6992C51.6277 83.6983 50.81 83.6974 49.9676 83.6964C45.5122 83.571 45.5122 83.571 42 86C41.517 90.1855 41.733 92.4858 43.6875 96.25C46.4096 99.4871 48.6807 101.674 53.0105 102.282C55.3425 102.411 57.6645 102.473 60 102.5C69.8847 102.612 69.8847 102.612 74 106C74.8125 108.687 74.8125 108.688 75 111C74.34 111 73.68 111 73 111C72.8969 110.216 72.7937 109.432 72.6875 108.625C72.224 105.67 72.224 105.67 69 104C65.2788 103.745 61.5953 103.634 57.8672 103.609C51.1596 103.409 46.859 101.691 41.875 97C41.2562 96.34 40.6375 95.68 40 95C39.175 94.4637 38.35 93.9275 37.5 93.375C30.9449 87.1477 30.3616 77.9789 29.4922 69.418C29.1557 66.1103 29.1557 66.1103 28.0352 63.625C26.5234 59.7915 26.1286 55.8785 25.5625 51.8125C23.9233 38.3 23.9233 38.3 17 27C11.7018 24.3509 7.9915 26.1225 3.99999 30Z'
|
||||
fill='#1F1F1F'
|
||||
/>
|
||||
<path
|
||||
d="M89.0976 2.53906C91 3 91 3 93.4375 5.3125C96.1586 9.99276 96.178 14.1126 96.2461 19.3828C96.2778 21.1137 96.3098 22.8446 96.342 24.5754C96.3574 25.4822 96.3728 26.3889 96.3887 27.3232C96.6322 41.3036 96.9728 55.2117 98.3396 69.1353C98.9824 75.7746 99.0977 82.3308 99 89C96.5041 88.0049 94.0126 87.0053 91.5351 85.9648C90.3112 85.4563 90.3112 85.4563 89.0625 84.9375C87.8424 84.4251 87.8424 84.4251 86.5976 83.9023C83.7463 82.9119 80.9774 82.4654 78 82C76.7702 65.9379 75.7895 49.8907 75.7004 33.7775C75.6919 32.3138 75.6783 30.8501 75.6594 29.3865C75.5553 20.4082 75.6056 12.1544 80.6875 4.4375C83.6031 2.62508 85.7 2.37456 89.0976 2.53906Z"
|
||||
fill="#FBFBFB"
|
||||
d='M89.0976 2.53906C91 3 91 3 93.4375 5.3125C96.1586 9.99276 96.178 14.1126 96.2461 19.3828C96.2778 21.1137 96.3098 22.8446 96.342 24.5754C96.3574 25.4822 96.3728 26.3889 96.3887 27.3232C96.6322 41.3036 96.9728 55.2117 98.3396 69.1353C98.9824 75.7746 99.0977 82.3308 99 89C96.5041 88.0049 94.0126 87.0053 91.5351 85.9648C90.3112 85.4563 90.3112 85.4563 89.0625 84.9375C87.8424 84.4251 87.8424 84.4251 86.5976 83.9023C83.7463 82.9119 80.9774 82.4654 78 82C76.7702 65.9379 75.7895 49.8907 75.7004 33.7775C75.6919 32.3138 75.6783 30.8501 75.6594 29.3865C75.5553 20.4082 75.6056 12.1544 80.6875 4.4375C83.6031 2.62508 85.7 2.37456 89.0976 2.53906Z'
|
||||
fill='#FBFBFB'
|
||||
/>
|
||||
<path
|
||||
d="M97 13C97.99 13.495 97.99 13.495 99 14C99.0297 15.8781 99.0297 15.8781 99.0601 17.7942C99.4473 46.9184 99.4473 46.9184 100.937 76C101.012 77.0574 101.087 78.1149 101.164 79.2043C101.646 85.1082 102.203 90.3434 105.602 95.3672C107.492 98.9262 107.45 102.194 107.375 106.125C107.366 106.881 107.356 107.638 107.346 108.417C107.18 114.639 106.185 120.152 104 126C103.636 126.996 103.273 127.993 102.898 129.02C98.2182 141.022 92.6784 149.349 80.7891 155.062C67.479 160.366 49.4234 159.559 36 155C32.4272 153.286 29.2162 151.308 26 149C24.6078 148.041 24.6078 148.041 23.1875 147.062C13.5484 137.974 10.832 124.805 9.99999 112C9.91815 101.992 10.4358 91.9898 11 82C11.33 82 11.66 82 12 82C12.0146 82.6118 12.0292 83.2236 12.0442 83.854C11.5946 115.845 11.5946 115.845 24.0625 143.875C28.854 148.273 33.89 150.868 40 153C40.6935 153.245 41.387 153.49 42.1016 153.742C56.9033 157.914 73.8284 155.325 87 148C88.3301 147.327 89.6624 146.658 91 146C91 145.34 91 144.68 91 144C91.66 144 92.32 144 93 144C100.044 130.286 105.786 114.602 104 99C102.157 94.9722 100.121 93.0631 96.3125 90.875C95.5042 90.398 94.696 89.9211 93.8633 89.4297C85.199 85.1035 78.1558 84.4842 68.5 84.3125C67.2006 84.2783 65.9012 84.2442 64.5625 84.209C61.3751 84.127 58.1879 84.0577 55 84C55 83.67 55 83.34 55 83C58.9087 82.7294 62.8179 82.4974 66.7309 82.2981C68.7007 82.1902 70.6688 82.0535 72.6367 81.916C82.854 81.4233 90.4653 83.3102 99 89C98.8637 87.6094 98.8637 87.6094 98.7246 86.1907C96.96 67.8915 95.697 49.7051 95.75 31.3125C95.751 30.5016 95.7521 29.6908 95.7532 28.8554C95.7901 15.4198 95.7901 15.4198 97 13Z"
|
||||
fill="#262114"
|
||||
d='M97 13C97.99 13.495 97.99 13.495 99 14C99.0297 15.8781 99.0297 15.8781 99.0601 17.7942C99.4473 46.9184 99.4473 46.9184 100.937 76C101.012 77.0574 101.087 78.1149 101.164 79.2043C101.646 85.1082 102.203 90.3434 105.602 95.3672C107.492 98.9262 107.45 102.194 107.375 106.125C107.366 106.881 107.356 107.638 107.346 108.417C107.18 114.639 106.185 120.152 104 126C103.636 126.996 103.273 127.993 102.898 129.02C98.2182 141.022 92.6784 149.349 80.7891 155.062C67.479 160.366 49.4234 159.559 36 155C32.4272 153.286 29.2162 151.308 26 149C24.6078 148.041 24.6078 148.041 23.1875 147.062C13.5484 137.974 10.832 124.805 9.99999 112C9.91815 101.992 10.4358 91.9898 11 82C11.33 82 11.66 82 12 82C12.0146 82.6118 12.0292 83.2236 12.0442 83.854C11.5946 115.845 11.5946 115.845 24.0625 143.875C28.854 148.273 33.89 150.868 40 153C40.6935 153.245 41.387 153.49 42.1016 153.742C56.9033 157.914 73.8284 155.325 87 148C88.3301 147.327 89.6624 146.658 91 146C91 145.34 91 144.68 91 144C91.66 144 92.32 144 93 144C100.044 130.286 105.786 114.602 104 99C102.157 94.9722 100.121 93.0631 96.3125 90.875C95.5042 90.398 94.696 89.9211 93.8633 89.4297C85.199 85.1035 78.1558 84.4842 68.5 84.3125C67.2006 84.2783 65.9012 84.2442 64.5625 84.209C61.3751 84.127 58.1879 84.0577 55 84C55 83.67 55 83.34 55 83C58.9087 82.7294 62.8179 82.4974 66.7309 82.2981C68.7007 82.1902 70.6688 82.0535 72.6367 81.916C82.854 81.4233 90.4653 83.3102 99 89C98.8637 87.6094 98.8637 87.6094 98.7246 86.1907C96.96 67.8915 95.697 49.7051 95.75 31.3125C95.751 30.5016 95.7521 29.6908 95.7532 28.8554C95.7901 15.4198 95.7901 15.4198 97 13Z'
|
||||
fill='#262114'
|
||||
/>
|
||||
<path
|
||||
d="M68 51C72.86 54.06 74.644 56.5072 76 62C76.249 65.2763 76.2347 68.5285 76.1875 71.8125C76.1868 72.6833 76.1862 73.554 76.1855 74.4512C76.1406 80.8594 76.1406 80.8594 75 82C73.5113 82.0867 72.0185 82.107 70.5273 82.0976C69.6282 82.0944 68.7291 82.0912 67.8027 82.0879C66.8572 82.0795 65.9117 82.0711 64.9375 82.0625C63.9881 82.058 63.0387 82.0535 62.0605 82.0488C59.707 82.037 57.3535 82.0205 55 82C53.6352 77.2188 53.738 72.5029 53.6875 67.5625C53.6585 66.6208 53.6295 65.6792 53.5996 64.709C53.5591 60.2932 53.5488 57.7378 55.8945 53.9023C59.5767 50.5754 63.1766 50.211 68 51Z"
|
||||
fill="#F8F8F8"
|
||||
d='M68 51C72.86 54.06 74.644 56.5072 76 62C76.249 65.2763 76.2347 68.5285 76.1875 71.8125C76.1868 72.6833 76.1862 73.554 76.1855 74.4512C76.1406 80.8594 76.1406 80.8594 75 82C73.5113 82.0867 72.0185 82.107 70.5273 82.0976C69.6282 82.0944 68.7291 82.0912 67.8027 82.0879C66.8572 82.0795 65.9117 82.0711 64.9375 82.0625C63.9881 82.058 63.0387 82.0535 62.0605 82.0488C59.707 82.037 57.3535 82.0205 55 82C53.6352 77.2188 53.738 72.5029 53.6875 67.5625C53.6585 66.6208 53.6295 65.6792 53.5996 64.709C53.5591 60.2932 53.5488 57.7378 55.8945 53.9023C59.5767 50.5754 63.1766 50.211 68 51Z'
|
||||
fill='#F8F8F8'
|
||||
/>
|
||||
<path
|
||||
d="M46 55C48.7557 57.1816 50.4359 58.8718 52 62C52.0837 63.5215 52.1073 65.0466 52.0977 66.5703C52.0944 67.4662 52.0912 68.3621 52.0879 69.2852C52.0795 70.2223 52.0711 71.1595 52.0625 72.125C52.058 73.0699 52.0535 74.0148 52.0488 74.9883C52.037 77.3256 52.0206 79.6628 52 82C50.9346 82.1992 50.9346 82.1992 49.8477 82.4023C48.9286 82.5789 48.0094 82.7555 47.0625 82.9375C46.146 83.1115 45.2294 83.2855 44.2852 83.4648C42.0471 83.7771 42.0471 83.7771 41 85C40.7692 86.3475 40.5885 87.7038 40.4375 89.0625C40.2931 90.3619 40.1487 91.6613 40 93C37 92 37 92 35.8672 90.1094C35.5398 89.3308 35.2123 88.5522 34.875 87.75C34.5424 86.9817 34.2098 86.2134 33.8672 85.4219C31.9715 80.1277 31.7884 75.065 31.75 69.5C31.7294 68.7536 31.7087 68.0073 31.6875 67.2383C31.6551 62.6607 32.0474 59.7266 35 56C38.4726 54.2637 42.2119 54.3981 46 55Z"
|
||||
fill="#FAFAFA"
|
||||
d='M46 55C48.7557 57.1816 50.4359 58.8718 52 62C52.0837 63.5215 52.1073 65.0466 52.0977 66.5703C52.0944 67.4662 52.0912 68.3621 52.0879 69.2852C52.0795 70.2223 52.0711 71.1595 52.0625 72.125C52.058 73.0699 52.0535 74.0148 52.0488 74.9883C52.037 77.3256 52.0206 79.6628 52 82C50.9346 82.1992 50.9346 82.1992 49.8477 82.4023C48.9286 82.5789 48.0094 82.7555 47.0625 82.9375C46.146 83.1115 45.2294 83.2855 44.2852 83.4648C42.0471 83.7771 42.0471 83.7771 41 85C40.7692 86.3475 40.5885 87.7038 40.4375 89.0625C40.2931 90.3619 40.1487 91.6613 40 93C37 92 37 92 35.8672 90.1094C35.5398 89.3308 35.2123 88.5522 34.875 87.75C34.5424 86.9817 34.2098 86.2134 33.8672 85.4219C31.9715 80.1277 31.7884 75.065 31.75 69.5C31.7294 68.7536 31.7087 68.0073 31.6875 67.2383C31.6551 62.6607 32.0474 59.7266 35 56C38.4726 54.2637 42.2119 54.3981 46 55Z'
|
||||
fill='#FAFAFA'
|
||||
/>
|
||||
<path
|
||||
d="M97 13C97.66 13.33 98.32 13.66 99 14C99.0297 15.8781 99.0297 15.8781 99.0601 17.7942C99.4473 46.9184 99.4473 46.9184 100.937 76C101.012 77.0574 101.087 78.1149 101.164 79.2043C101.566 84.1265 102.275 88.3364 104 93C103.625 95.375 103.625 95.375 103 97C102.361 96.2781 101.721 95.5563 101.062 94.8125C94.4402 88.1902 85.5236 84.8401 76.2891 84.5859C75.0451 84.5473 73.8012 84.5086 72.5195 84.4688C71.2343 84.4378 69.9491 84.4069 68.625 84.375C66.6624 84.317 66.6624 84.317 64.6601 84.2578C61.4402 84.1638 58.2203 84.0781 55 84C55 83.67 55 83.34 55 83C58.9087 82.7294 62.8179 82.4974 66.7309 82.2981C68.7007 82.1902 70.6688 82.0535 72.6367 81.916C82.854 81.4233 90.4653 83.3102 99 89C98.9091 88.0729 98.8182 87.1458 98.7246 86.1907C96.96 67.8915 95.697 49.7051 95.75 31.3125C95.751 30.5016 95.7521 29.6908 95.7532 28.8554C95.7901 15.4198 95.7901 15.4198 97 13Z"
|
||||
fill="#423B28"
|
||||
d='M97 13C97.66 13.33 98.32 13.66 99 14C99.0297 15.8781 99.0297 15.8781 99.0601 17.7942C99.4473 46.9184 99.4473 46.9184 100.937 76C101.012 77.0574 101.087 78.1149 101.164 79.2043C101.566 84.1265 102.275 88.3364 104 93C103.625 95.375 103.625 95.375 103 97C102.361 96.2781 101.721 95.5563 101.062 94.8125C94.4402 88.1902 85.5236 84.8401 76.2891 84.5859C75.0451 84.5473 73.8012 84.5086 72.5195 84.4688C71.2343 84.4378 69.9491 84.4069 68.625 84.375C66.6624 84.317 66.6624 84.317 64.6601 84.2578C61.4402 84.1638 58.2203 84.0781 55 84C55 83.67 55 83.34 55 83C58.9087 82.7294 62.8179 82.4974 66.7309 82.2981C68.7007 82.1902 70.6688 82.0535 72.6367 81.916C82.854 81.4233 90.4653 83.3102 99 89C98.9091 88.0729 98.8182 87.1458 98.7246 86.1907C96.96 67.8915 95.697 49.7051 95.75 31.3125C95.751 30.5016 95.7521 29.6908 95.7532 28.8554C95.7901 15.4198 95.7901 15.4198 97 13Z'
|
||||
fill='#423B28'
|
||||
/>
|
||||
<path
|
||||
d="M91 0.999996C94.3999 3.06951 96.8587 5.11957 98 9C97.625 12.25 97.625 12.25 97 15C95.804 12.6081 94.6146 10.2139 93.4375 7.8125C92.265 5.16236 92.265 5.16236 91 4C88.074 3.7122 85.8483 3.51695 83 4C79.1128 7.37574 78.178 11.0991 77 16C76.8329 18.5621 76.7615 21.1317 76.7695 23.6992C76.77 24.4155 76.7704 25.1318 76.7709 25.8698C76.7739 27.3783 76.7817 28.8868 76.7942 30.3953C76.8123 32.664 76.8147 34.9324 76.8144 37.2012C76.8329 44.6001 77.0765 51.888 77.7795 59.259C78.1413 63.7564 78.1068 68.2413 78.0625 72.75C78.058 73.6498 78.0535 74.5495 78.0488 75.4766C78.0373 77.6511 78.0193 79.8255 78 82C78.99 82.495 78.99 82.495 80 83C68.78 83.33 57.56 83.66 46 84C46.495 83.01 46.495 83.01 47 82C52.9349 80.7196 58.8909 80.8838 64.9375 80.9375C65.9075 80.942 66.8775 80.9465 67.8769 80.9512C70.2514 80.9629 72.6256 80.9793 75 81C75.0544 77.9997 75.0939 75.0005 75.125 72C75.1418 71.1608 75.1585 70.3216 75.1758 69.457C75.2185 63.9475 74.555 59.2895 73 54C73.66 54 74.32 54 75 54C74.9314 53.2211 74.8629 52.4422 74.7922 51.6396C74.1158 43.5036 73.7568 35.4131 73.6875 27.25C73.644 25.5194 73.644 25.5194 73.5996 23.7539C73.5376 15.3866 74.6189 8.85069 80.25 2.4375C83.9433 0.506911 86.9162 0.173322 91 0.999996Z"
|
||||
fill="#131311"
|
||||
d='M91 0.999996C94.3999 3.06951 96.8587 5.11957 98 9C97.625 12.25 97.625 12.25 97 15C95.804 12.6081 94.6146 10.2139 93.4375 7.8125C92.265 5.16236 92.265 5.16236 91 4C88.074 3.7122 85.8483 3.51695 83 4C79.1128 7.37574 78.178 11.0991 77 16C76.8329 18.5621 76.7615 21.1317 76.7695 23.6992C76.77 24.4155 76.7704 25.1318 76.7709 25.8698C76.7739 27.3783 76.7817 28.8868 76.7942 30.3953C76.8123 32.664 76.8147 34.9324 76.8144 37.2012C76.8329 44.6001 77.0765 51.888 77.7795 59.259C78.1413 63.7564 78.1068 68.2413 78.0625 72.75C78.058 73.6498 78.0535 74.5495 78.0488 75.4766C78.0373 77.6511 78.0193 79.8255 78 82C78.99 82.495 78.99 82.495 80 83C68.78 83.33 57.56 83.66 46 84C46.495 83.01 46.495 83.01 47 82C52.9349 80.7196 58.8909 80.8838 64.9375 80.9375C65.9075 80.942 66.8775 80.9465 67.8769 80.9512C70.2514 80.9629 72.6256 80.9793 75 81C75.0544 77.9997 75.0939 75.0005 75.125 72C75.1418 71.1608 75.1585 70.3216 75.1758 69.457C75.2185 63.9475 74.555 59.2895 73 54C73.66 54 74.32 54 75 54C74.9314 53.2211 74.8629 52.4422 74.7922 51.6396C74.1158 43.5036 73.7568 35.4131 73.6875 27.25C73.644 25.5194 73.644 25.5194 73.5996 23.7539C73.5376 15.3866 74.6189 8.85069 80.25 2.4375C83.9433 0.506911 86.9162 0.173322 91 0.999996Z'
|
||||
fill='#131311'
|
||||
/>
|
||||
<path
|
||||
d="M15 24C20.2332 26.3601 22.1726 29.3732 24.1875 34.5195C26.8667 42.6988 27.2651 50.4282 27 59C26.67 59 26.34 59 26 59C25.8945 58.436 25.7891 57.8721 25.6804 57.291C25.1901 54.6926 24.6889 52.0963 24.1875 49.5C24.0218 48.6131 23.8562 47.7262 23.6855 46.8125C21.7568 35.5689 21.7568 35.5689 15 27C12.0431 26.2498 12.0431 26.2498 8.99999 27C5.97965 28.9369 5.97965 28.9369 3.99999 32C3.67226 36.9682 4.31774 41.4911 5.27733 46.3594C5.40814 47.0304 5.53894 47.7015 5.67371 48.3929C5.94892 49.7985 6.22723 51.2035 6.50854 52.6079C6.93887 54.7569 7.35989 56.9075 7.77929 59.0586C9.09359 66.104 9.09359 66.104 11 73C11.0836 75.2109 11.1073 77.4243 11.0976 79.6367C11.0944 80.9354 11.0912 82.2342 11.0879 83.5723C11.0795 84.944 11.0711 86.3158 11.0625 87.6875C11.0575 89.071 11.0529 90.4544 11.0488 91.8379C11.037 95.2253 11.0206 98.6126 11 102C8.54975 99.5498 8.73228 98.8194 8.65624 95.4492C8.62812 94.53 8.60001 93.6108 8.57104 92.6638C8.54759 91.6816 8.52415 90.6994 8.49999 89.6875C8.20265 81.3063 7.58164 73.2485 5.99999 65C5.67135 63.2175 5.34327 61.435 5.01562 59.6523C4.31985 55.9098 3.62013 52.1681 2.90233 48.4297C2.75272 47.6484 2.60311 46.867 2.44897 46.062C1.99909 43.8187 1.99909 43.8187 0.999995 41C0.505898 36.899 0.0476353 32.7768 2.04687 29.0469C6.06003 24.1839 8.81126 23.4843 15 24Z"
|
||||
fill="#2A2311"
|
||||
d='M15 24C20.2332 26.3601 22.1726 29.3732 24.1875 34.5195C26.8667 42.6988 27.2651 50.4282 27 59C26.67 59 26.34 59 26 59C25.8945 58.436 25.7891 57.8721 25.6804 57.291C25.1901 54.6926 24.6889 52.0963 24.1875 49.5C24.0218 48.6131 23.8562 47.7262 23.6855 46.8125C21.7568 35.5689 21.7568 35.5689 15 27C12.0431 26.2498 12.0431 26.2498 8.99999 27C5.97965 28.9369 5.97965 28.9369 3.99999 32C3.67226 36.9682 4.31774 41.4911 5.27733 46.3594C5.40814 47.0304 5.53894 47.7015 5.67371 48.3929C5.94892 49.7985 6.22723 51.2035 6.50854 52.6079C6.93887 54.7569 7.35989 56.9075 7.77929 59.0586C9.09359 66.104 9.09359 66.104 11 73C11.0836 75.2109 11.1073 77.4243 11.0976 79.6367C11.0944 80.9354 11.0912 82.2342 11.0879 83.5723C11.0795 84.944 11.0711 86.3158 11.0625 87.6875C11.0575 89.071 11.0529 90.4544 11.0488 91.8379C11.037 95.2253 11.0206 98.6126 11 102C8.54975 99.5498 8.73228 98.8194 8.65624 95.4492C8.62812 94.53 8.60001 93.6108 8.57104 92.6638C8.54759 91.6816 8.52415 90.6994 8.49999 89.6875C8.20265 81.3063 7.58164 73.2485 5.99999 65C5.67135 63.2175 5.34327 61.435 5.01562 59.6523C4.31985 55.9098 3.62013 52.1681 2.90233 48.4297C2.75272 47.6484 2.60311 46.867 2.44897 46.062C1.99909 43.8187 1.99909 43.8187 0.999995 41C0.505898 36.899 0.0476353 32.7768 2.04687 29.0469C6.06003 24.1839 8.81126 23.4843 15 24Z'
|
||||
fill='#2A2311'
|
||||
/>
|
||||
<path
|
||||
d="M11 82C11.33 82 11.66 82 12 82C12.0146 82.6118 12.0292 83.2236 12.0442 83.854C11.5946 115.845 11.5946 115.845 24.0625 143.875C30.0569 149.404 36.9894 152.617 45 154C42 156 42 156 39.4375 156C29.964 153.244 20.8381 146.677 16 138C8.26993 120.062 9.92611 101.014 11 82Z"
|
||||
fill="#272214"
|
||||
d='M11 82C11.33 82 11.66 82 12 82C12.0146 82.6118 12.0292 83.2236 12.0442 83.854C11.5946 115.845 11.5946 115.845 24.0625 143.875C30.0569 149.404 36.9894 152.617 45 154C42 156 42 156 39.4375 156C29.964 153.244 20.8381 146.677 16 138C8.26993 120.062 9.92611 101.014 11 82Z'
|
||||
fill='#272214'
|
||||
/>
|
||||
<path
|
||||
d="M68 49C70.3478 50.1116 71.9703 51.3346 74 53C73.34 53.66 72.68 54.32 72 55C71.505 54.505 71.01 54.01 70.5 53.5C67.6718 51.8031 65.3662 51.5622 62.0976 51.4062C58.4026 52.4521 57.1992 53.8264 55 57C54.3826 61.2861 54.5302 65.4938 54.6875 69.8125C54.7101 70.9823 54.7326 72.1521 54.7559 73.3574C54.8147 76.2396 54.8968 79.1191 55 82C54.01 82 53.02 82 52 82C51.9854 81.4203 51.9708 80.8407 51.9558 80.2434C51.881 77.5991 51.7845 74.9561 51.6875 72.3125C51.6649 71.4005 51.6424 70.4885 51.6191 69.5488C51.4223 64.6292 51.2621 60.9548 48 57C45.6603 55.8302 44.1661 55.8339 41.5625 55.8125C40.78 55.7983 39.9976 55.7841 39.1914 55.7695C36.7079 55.8591 36.7079 55.8591 34 58C32.7955 60.5518 32.7955 60.5518 32 63C31.34 63 30.68 63 30 63C30.2839 59.6879 31.0332 57.9518 32.9375 55.1875C36.7018 52.4987 38.9555 52.3484 43.4844 52.5586C47.3251 53.2325 49.8148 54.7842 53 57C53.0928 56.1338 53.0928 56.1338 53.1875 55.25C55.6091 48.544 61.7788 47.8649 68 49Z"
|
||||
fill="#1F1A0F"
|
||||
d='M68 49C70.3478 50.1116 71.9703 51.3346 74 53C73.34 53.66 72.68 54.32 72 55C71.505 54.505 71.01 54.01 70.5 53.5C67.6718 51.8031 65.3662 51.5622 62.0976 51.4062C58.4026 52.4521 57.1992 53.8264 55 57C54.3826 61.2861 54.5302 65.4938 54.6875 69.8125C54.7101 70.9823 54.7326 72.1521 54.7559 73.3574C54.8147 76.2396 54.8968 79.1191 55 82C54.01 82 53.02 82 52 82C51.9854 81.4203 51.9708 80.8407 51.9558 80.2434C51.881 77.5991 51.7845 74.9561 51.6875 72.3125C51.6649 71.4005 51.6424 70.4885 51.6191 69.5488C51.4223 64.6292 51.2621 60.9548 48 57C45.6603 55.8302 44.1661 55.8339 41.5625 55.8125C40.78 55.7983 39.9976 55.7841 39.1914 55.7695C36.7079 55.8591 36.7079 55.8591 34 58C32.7955 60.5518 32.7955 60.5518 32 63C31.34 63 30.68 63 30 63C30.2839 59.6879 31.0332 57.9518 32.9375 55.1875C36.7018 52.4987 38.9555 52.3484 43.4844 52.5586C47.3251 53.2325 49.8148 54.7842 53 57C53.0928 56.1338 53.0928 56.1338 53.1875 55.25C55.6091 48.544 61.7788 47.8649 68 49Z'
|
||||
fill='#1F1A0F'
|
||||
/>
|
||||
<path
|
||||
d="M99 60C99.33 60 99.66 60 100 60C100.05 60.7865 100.1 61.573 100.152 62.3833C100.385 65.9645 100.63 69.5447 100.875 73.125C100.954 74.3625 101.032 75.6 101.113 76.875C101.197 78.0738 101.281 79.2727 101.367 80.5078C101.44 81.6075 101.514 82.7073 101.589 83.8403C102.013 87.1 102.94 89.8988 104 93C103.625 95.375 103.625 95.375 103 97C102.361 96.2781 101.721 95.5563 101.062 94.8125C94.4402 88.1902 85.5236 84.8401 76.2891 84.5859C74.4231 84.5279 74.4231 84.5279 72.5195 84.4688C71.2343 84.4378 69.9491 84.4069 68.625 84.375C67.3166 84.3363 66.0082 84.2977 64.6601 84.2578C61.4402 84.1638 58.2203 84.0781 55 84C55 83.67 55 83.34 55 83C58.9087 82.7294 62.8179 82.4974 66.7309 82.2981C68.7007 82.1902 70.6688 82.0535 72.6367 81.916C82.854 81.4233 90.4653 83.3102 99 89C98.9162 87.912 98.8324 86.8241 98.7461 85.7031C98.1266 77.012 97.9127 68.6814 99 60Z"
|
||||
fill="#332E22"
|
||||
d='M99 60C99.33 60 99.66 60 100 60C100.05 60.7865 100.1 61.573 100.152 62.3833C100.385 65.9645 100.63 69.5447 100.875 73.125C100.954 74.3625 101.032 75.6 101.113 76.875C101.197 78.0738 101.281 79.2727 101.367 80.5078C101.44 81.6075 101.514 82.7073 101.589 83.8403C102.013 87.1 102.94 89.8988 104 93C103.625 95.375 103.625 95.375 103 97C102.361 96.2781 101.721 95.5563 101.062 94.8125C94.4402 88.1902 85.5236 84.8401 76.2891 84.5859C74.4231 84.5279 74.4231 84.5279 72.5195 84.4688C71.2343 84.4378 69.9491 84.4069 68.625 84.375C67.3166 84.3363 66.0082 84.2977 64.6601 84.2578C61.4402 84.1638 58.2203 84.0781 55 84C55 83.67 55 83.34 55 83C58.9087 82.7294 62.8179 82.4974 66.7309 82.2981C68.7007 82.1902 70.6688 82.0535 72.6367 81.916C82.854 81.4233 90.4653 83.3102 99 89C98.9162 87.912 98.8324 86.8241 98.7461 85.7031C98.1266 77.012 97.9127 68.6814 99 60Z'
|
||||
fill='#332E22'
|
||||
/>
|
||||
<path
|
||||
d="M15 24C20.2332 26.3601 22.1726 29.3732 24.1875 34.5195C26.8667 42.6988 27.2651 50.4282 27 59C26.67 59 26.34 59 26 59C25.8945 58.436 25.7891 57.8721 25.6804 57.291C25.1901 54.6926 24.6889 52.0963 24.1875 49.5C24.0218 48.6131 23.8562 47.7262 23.6855 46.8125C21.7568 35.5689 21.7568 35.5689 15 27C12.0431 26.2498 12.0431 26.2498 8.99999 27C5.2818 29.7267 4.15499 31.2727 3.18749 35.8125C3.12562 36.8644 3.06374 37.9163 2.99999 39C2.33999 39 1.67999 39 0.999992 39C0.330349 31.2321 0.330349 31.2321 3.37499 27.5625C7.31431 23.717 9.51597 23.543 15 24Z"
|
||||
fill="#1D180A"
|
||||
d='M15 24C20.2332 26.3601 22.1726 29.3732 24.1875 34.5195C26.8667 42.6988 27.2651 50.4282 27 59C26.67 59 26.34 59 26 59C25.8945 58.436 25.7891 57.8721 25.6804 57.291C25.1901 54.6926 24.6889 52.0963 24.1875 49.5C24.0218 48.6131 23.8562 47.7262 23.6855 46.8125C21.7568 35.5689 21.7568 35.5689 15 27C12.0431 26.2498 12.0431 26.2498 8.99999 27C5.2818 29.7267 4.15499 31.2727 3.18749 35.8125C3.12562 36.8644 3.06374 37.9163 2.99999 39C2.33999 39 1.67999 39 0.999992 39C0.330349 31.2321 0.330349 31.2321 3.37499 27.5625C7.31431 23.717 9.51597 23.543 15 24Z'
|
||||
fill='#1D180A'
|
||||
/>
|
||||
<path
|
||||
d="M91 0.999996C94.3999 3.06951 96.8587 5.11957 98 9C97.625 12.25 97.625 12.25 97 15C95.804 12.6081 94.6146 10.2139 93.4375 7.8125C92.265 5.16236 92.265 5.16236 91 4C85.4345 3.33492 85.4345 3.33491 80.6875 5.75C78.5543 9.85841 77.6475 13.9354 76.7109 18.4531C76.4763 19.2936 76.2417 20.1341 76 21C75.34 21.33 74.68 21.66 74 22C73.5207 15.4102 74.5846 10.6998 78 5C81.755 0.723465 85.5463 -0.103998 91 0.999996Z"
|
||||
fill="#16130D"
|
||||
d='M91 0.999996C94.3999 3.06951 96.8587 5.11957 98 9C97.625 12.25 97.625 12.25 97 15C95.804 12.6081 94.6146 10.2139 93.4375 7.8125C92.265 5.16236 92.265 5.16236 91 4C85.4345 3.33492 85.4345 3.33491 80.6875 5.75C78.5543 9.85841 77.6475 13.9354 76.7109 18.4531C76.4763 19.2936 76.2417 20.1341 76 21C75.34 21.33 74.68 21.66 74 22C73.5207 15.4102 74.5846 10.6998 78 5C81.755 0.723465 85.5463 -0.103998 91 0.999996Z'
|
||||
fill='#16130D'
|
||||
/>
|
||||
<path
|
||||
d="M42 93C42.5569 93.7631 43.1137 94.5263 43.6875 95.3125C46.4238 98.4926 48.7165 100.679 53.0105 101.282C55.3425 101.411 57.6646 101.473 60 101.5C70.6207 101.621 70.6207 101.621 75 106C75.0406 107.666 75.0427 109.334 75 111C74.34 111 73.68 111 73 111C72.7112 110.196 72.4225 109.391 72.125 108.562C71.2674 105.867 71.2674 105.867 69 105C65.3044 104.833 61.615 104.703 57.916 104.658C52.1631 104.454 48.7484 103.292 44 100C41.5625 97.25 41.5625 97.25 40 95C40.66 95 41.32 95 42 95C42 94.34 42 93.68 42 93Z"
|
||||
fill="#2B2B2B"
|
||||
d='M42 93C42.5569 93.7631 43.1137 94.5263 43.6875 95.3125C46.4238 98.4926 48.7165 100.679 53.0105 101.282C55.3425 101.411 57.6646 101.473 60 101.5C70.6207 101.621 70.6207 101.621 75 106C75.0406 107.666 75.0427 109.334 75 111C74.34 111 73.68 111 73 111C72.7112 110.196 72.4225 109.391 72.125 108.562C71.2674 105.867 71.2674 105.867 69 105C65.3044 104.833 61.615 104.703 57.916 104.658C52.1631 104.454 48.7484 103.292 44 100C41.5625 97.25 41.5625 97.25 40 95C40.66 95 41.32 95 42 95C42 94.34 42 93.68 42 93Z'
|
||||
fill='#2B2B2B'
|
||||
/>
|
||||
<path
|
||||
d="M11 82C11.33 82 11.66 82 12 82C12.1682 86.6079 12.3287 91.216 12.4822 95.8245C12.5354 97.3909 12.5907 98.9574 12.6482 100.524C12.7306 102.78 12.8055 105.036 12.8789 107.293C12.9059 107.989 12.933 108.685 12.9608 109.402C13.0731 113.092 12.9015 116.415 12 120C11.67 120 11.34 120 11 120C9.63778 112.17 10.1119 104.4 10.4375 96.5C10.4908 95.0912 10.5436 93.6823 10.5957 92.2734C10.7247 88.8487 10.8596 85.4243 11 82Z"
|
||||
fill="#4D483B"
|
||||
d='M11 82C11.33 82 11.66 82 12 82C12.1682 86.6079 12.3287 91.216 12.4822 95.8245C12.5354 97.3909 12.5907 98.9574 12.6482 100.524C12.7306 102.78 12.8055 105.036 12.8789 107.293C12.9059 107.989 12.933 108.685 12.9608 109.402C13.0731 113.092 12.9015 116.415 12 120C11.67 120 11.34 120 11 120C9.63778 112.17 10.1119 104.4 10.4375 96.5C10.4908 95.0912 10.5436 93.6823 10.5957 92.2734C10.7247 88.8487 10.8596 85.4243 11 82Z'
|
||||
fill='#4D483B'
|
||||
/>
|
||||
<path
|
||||
d="M43.4844 52.5586C47.3251 53.2325 49.8148 54.7842 53 57C52 59 52 59 50 60C49.5256 59.34 49.0512 58.68 48.5625 58C45.2656 55.4268 43.184 55.5955 39.1211 55.6641C36.7043 55.8955 36.7043 55.8955 34 58C32.7955 60.5518 32.7955 60.5518 32 63C31.34 63 30.68 63 30 63C30.2839 59.6879 31.0332 57.9518 32.9375 55.1875C36.7018 52.4987 38.9555 52.3484 43.4844 52.5586Z"
|
||||
fill="#221F16"
|
||||
d='M43.4844 52.5586C47.3251 53.2325 49.8148 54.7842 53 57C52 59 52 59 50 60C49.5256 59.34 49.0512 58.68 48.5625 58C45.2656 55.4268 43.184 55.5955 39.1211 55.6641C36.7043 55.8955 36.7043 55.8955 34 58C32.7955 60.5518 32.7955 60.5518 32 63C31.34 63 30.68 63 30 63C30.2839 59.6879 31.0332 57.9518 32.9375 55.1875C36.7018 52.4987 38.9555 52.3484 43.4844 52.5586Z'
|
||||
fill='#221F16'
|
||||
/>
|
||||
<path
|
||||
d="M76 73C76.33 73 76.66 73 77 73C77 75.97 77 78.94 77 82C78.485 82.495 78.485 82.495 80 83C68.78 83.33 57.56 83.66 46 84C46.33 83.34 46.66 82.68 47 82C52.9349 80.7196 58.8909 80.8838 64.9375 80.9375C65.9075 80.942 66.8775 80.9465 67.8769 80.9512C70.2514 80.9629 72.6256 80.9793 75 81C75.33 78.36 75.66 75.72 76 73Z"
|
||||
fill="#040404"
|
||||
d='M76 73C76.33 73 76.66 73 77 73C77 75.97 77 78.94 77 82C78.485 82.495 78.485 82.495 80 83C68.78 83.33 57.56 83.66 46 84C46.33 83.34 46.66 82.68 47 82C52.9349 80.7196 58.8909 80.8838 64.9375 80.9375C65.9075 80.942 66.8775 80.9465 67.8769 80.9512C70.2514 80.9629 72.6256 80.9793 75 81C75.33 78.36 75.66 75.72 76 73Z'
|
||||
fill='#040404'
|
||||
/>
|
||||
<path
|
||||
d="M27 54C27.33 54 27.66 54 28 54C28.33 56.97 28.66 59.94 29 63C29.99 63 30.98 63 32 63C32 66.96 32 70.92 32 75C31.01 74.67 30.02 74.34 29 74C28.8672 73.2523 28.7344 72.5047 28.5977 71.7344C28.421 70.7495 28.2444 69.7647 28.0625 68.75C27.8885 67.7755 27.7144 66.8009 27.5352 65.7969C27.0533 63.087 27.0533 63.087 26.4062 60.8125C25.8547 58.3515 26.3956 56.4176 27 54Z"
|
||||
fill="#434039"
|
||||
d='M27 54C27.33 54 27.66 54 28 54C28.33 56.97 28.66 59.94 29 63C29.99 63 30.98 63 32 63C32 66.96 32 70.92 32 75C31.01 74.67 30.02 74.34 29 74C28.8672 73.2523 28.7344 72.5047 28.5977 71.7344C28.421 70.7495 28.2444 69.7647 28.0625 68.75C27.8885 67.7755 27.7144 66.8009 27.5352 65.7969C27.0533 63.087 27.0533 63.087 26.4062 60.8125C25.8547 58.3515 26.3956 56.4176 27 54Z'
|
||||
fill='#434039'
|
||||
/>
|
||||
<path
|
||||
d="M78 5C78.99 5.33 79.98 5.66 81 6C80.3194 6.92812 80.3194 6.92812 79.625 7.875C77.7233 11.532 77.1555 14.8461 76.5273 18.8906C76.3533 19.5867 76.1793 20.2828 76 21C75.34 21.33 74.68 21.66 74 22C73.5126 15.2987 74.9229 10.9344 78 5Z"
|
||||
fill="#2A2313"
|
||||
d='M78 5C78.99 5.33 79.98 5.66 81 6C80.3194 6.92812 80.3194 6.92812 79.625 7.875C77.7233 11.532 77.1555 14.8461 76.5273 18.8906C76.3533 19.5867 76.1793 20.2828 76 21C75.34 21.33 74.68 21.66 74 22C73.5126 15.2987 74.9229 10.9344 78 5Z'
|
||||
fill='#2A2313'
|
||||
/>
|
||||
<path
|
||||
d="M12 115C12.99 115.495 12.99 115.495 14 116C14.5334 118.483 14.9326 120.864 15.25 123.375C15.3531 124.061 15.4562 124.747 15.5625 125.453C16.0763 129.337 16.2441 130.634 14 134C12.6761 127.57 11.752 121.571 12 115Z"
|
||||
fill="#2F2C22"
|
||||
d='M12 115C12.99 115.495 12.99 115.495 14 116C14.5334 118.483 14.9326 120.864 15.25 123.375C15.3531 124.061 15.4562 124.747 15.5625 125.453C16.0763 129.337 16.2441 130.634 14 134C12.6761 127.57 11.752 121.571 12 115Z'
|
||||
fill='#2F2C22'
|
||||
/>
|
||||
<path
|
||||
d="M104 95C107 98 107 98 107.363 101.031C107.347 102.176 107.33 103.321 107.312 104.5C107.309 105.645 107.305 106.789 107.301 107.969C107 111 107 111 105 114C104.67 107.73 104.34 101.46 104 95Z"
|
||||
fill="#120F05"
|
||||
d='M104 95C107 98 107 98 107.363 101.031C107.347 102.176 107.33 103.321 107.312 104.5C107.309 105.645 107.305 106.789 107.301 107.969C107 111 107 111 105 114C104.67 107.73 104.34 101.46 104 95Z'
|
||||
fill='#120F05'
|
||||
/>
|
||||
<path
|
||||
d="M56 103C58.6048 102.919 61.2071 102.86 63.8125 102.812C64.5505 102.787 65.2885 102.762 66.0488 102.736C71.4975 102.662 71.4975 102.662 74 104.344C75.374 106.619 75.2112 108.396 75 111C74.34 111 73.68 111 73 111C72.7112 110.196 72.4225 109.391 72.125 108.562C71.2674 105.867 71.2674 105.867 69 105C66.7956 104.77 64.5861 104.589 62.375 104.438C61.1865 104.354 59.998 104.27 58.7734 104.184C57.4006 104.093 57.4006 104.093 56 104C56 103.67 56 103.34 56 103Z"
|
||||
fill="#101010"
|
||||
d='M56 103C58.6048 102.919 61.2071 102.86 63.8125 102.812C64.5505 102.787 65.2885 102.762 66.0488 102.736C71.4975 102.662 71.4975 102.662 74 104.344C75.374 106.619 75.2112 108.396 75 111C74.34 111 73.68 111 73 111C72.7112 110.196 72.4225 109.391 72.125 108.562C71.2674 105.867 71.2674 105.867 69 105C66.7956 104.77 64.5861 104.589 62.375 104.438C61.1865 104.354 59.998 104.27 58.7734 104.184C57.4006 104.093 57.4006 104.093 56 104C56 103.67 56 103.34 56 103Z'
|
||||
fill='#101010'
|
||||
/>
|
||||
<path
|
||||
d="M23 40C23.66 40 24.32 40 25 40C27.3084 46.3482 27.1982 52.2948 27 59C26.67 59 26.34 59 26 59C25.01 52.73 24.02 46.46 23 40Z"
|
||||
fill="#191409"
|
||||
d='M23 40C23.66 40 24.32 40 25 40C27.3084 46.3482 27.1982 52.2948 27 59C26.67 59 26.34 59 26 59C25.01 52.73 24.02 46.46 23 40Z'
|
||||
fill='#191409'
|
||||
/>
|
||||
<path
|
||||
d="M47 83C46.3606 83.3094 45.7212 83.6187 45.0625 83.9375C41.9023 87.0977 42.181 90.6833 42 95C41.01 94.67 40.02 94.34 39 94C39.3463 85.7409 39.3463 85.7409 41.875 82.875C44 82 44 82 47 83Z"
|
||||
fill="#171717"
|
||||
d='M47 83C46.3606 83.3094 45.7212 83.6187 45.0625 83.9375C41.9023 87.0977 42.181 90.6833 42 95C41.01 94.67 40.02 94.34 39 94C39.3463 85.7409 39.3463 85.7409 41.875 82.875C44 82 44 82 47 83Z'
|
||||
fill='#171717'
|
||||
/>
|
||||
<path
|
||||
d="M53 61C53.33 61 53.66 61 54 61C54.33 67.93 54.66 74.86 55 82C54.01 82 53.02 82 52 82C52.33 75.07 52.66 68.14 53 61Z"
|
||||
fill="#444444"
|
||||
d='M53 61C53.33 61 53.66 61 54 61C54.33 67.93 54.66 74.86 55 82C54.01 82 53.02 82 52 82C52.33 75.07 52.66 68.14 53 61Z'
|
||||
fill='#444444'
|
||||
/>
|
||||
<path
|
||||
d="M81 154C78.6696 156.33 77.8129 156.39 74.625 156.75C73.4687 156.897 73.4687 156.897 72.2891 157.047C69.6838 156.994 68.2195 156.317 66 155C67.7478 154.635 69.4984 154.284 71.25 153.938C72.7118 153.642 72.7118 153.642 74.2031 153.34C76.8681 153.016 78.4887 153.145 81 154Z"
|
||||
fill="#332F23"
|
||||
d='M81 154C78.6696 156.33 77.8129 156.39 74.625 156.75C73.4687 156.897 73.4687 156.897 72.2891 157.047C69.6838 156.994 68.2195 156.317 66 155C67.7478 154.635 69.4984 154.284 71.25 153.938C72.7118 153.642 72.7118 153.642 74.2031 153.34C76.8681 153.016 78.4887 153.145 81 154Z'
|
||||
fill='#332F23'
|
||||
/>
|
||||
<path
|
||||
d="M19 28C19.66 28 20.32 28 21 28C21.6735 29.4343 22.3386 30.8726 23 32.3125C23.5569 33.5133 23.5569 33.5133 24.125 34.7383C25 37 25 37 25 40C22 39 22 39 21.0508 37.2578C20.8071 36.554 20.5635 35.8502 20.3125 35.125C20.0611 34.4263 19.8098 33.7277 19.5508 33.0078C19 31 19 31 19 28Z"
|
||||
fill="#282213"
|
||||
d='M19 28C19.66 28 20.32 28 21 28C21.6735 29.4343 22.3386 30.8726 23 32.3125C23.5569 33.5133 23.5569 33.5133 24.125 34.7383C25 37 25 37 25 40C22 39 22 39 21.0508 37.2578C20.8071 36.554 20.5635 35.8502 20.3125 35.125C20.0611 34.4263 19.8098 33.7277 19.5508 33.0078C19 31 19 31 19 28Z'
|
||||
fill='#282213'
|
||||
/>
|
||||
<path
|
||||
d="M102 87C104.429 93.2857 104.429 93.2857 103 97C100.437 94.75 100.437 94.75 98 92C98.0625 89.75 98.0625 89.75 99 88C101 87 101 87 102 87Z"
|
||||
fill="#37301F"
|
||||
d='M102 87C104.429 93.2857 104.429 93.2857 103 97C100.437 94.75 100.437 94.75 98 92C98.0625 89.75 98.0625 89.75 99 88C101 87 101 87 102 87Z'
|
||||
fill='#37301F'
|
||||
/>
|
||||
<path
|
||||
d="M53 56C53.33 56 53.66 56 54 56C53.67 62.27 53.34 68.54 53 75C52.67 75 52.34 75 52 75C51.7788 72.2088 51.5726 69.4179 51.375 66.625C51.3105 65.8309 51.2461 65.0369 51.1797 64.2188C51.0394 62.1497 51.0124 60.0737 51 58C51.66 57.34 52.32 56.68 53 56Z"
|
||||
fill="#030303"
|
||||
d='M53 56C53.33 56 53.66 56 54 56C53.67 62.27 53.34 68.54 53 75C52.67 75 52.34 75 52 75C51.7788 72.2088 51.5726 69.4179 51.375 66.625C51.3105 65.8309 51.2461 65.0369 51.1797 64.2188C51.0394 62.1497 51.0124 60.0737 51 58C51.66 57.34 52.32 56.68 53 56Z'
|
||||
fill='#030303'
|
||||
/>
|
||||
<path
|
||||
d="M100 129C100.33 129 100.66 129 101 129C100.532 133.776 99.7567 137.045 97 141C96.34 140.67 95.68 140.34 95 140C96.65 136.37 98.3 132.74 100 129Z"
|
||||
fill="#1E1A12"
|
||||
d='M100 129C100.33 129 100.66 129 101 129C100.532 133.776 99.7567 137.045 97 141C96.34 140.67 95.68 140.34 95 140C96.65 136.37 98.3 132.74 100 129Z'
|
||||
fill='#1E1A12'
|
||||
/>
|
||||
<path
|
||||
d="M15 131C17.7061 132.353 17.9618 133.81 19.125 136.562C19.4782 137.389 19.8314 138.215 20.1953 139.066C20.4609 139.704 20.7264 140.343 21 141C20.01 141 19.02 141 18 141C15.9656 137.27 15 135.331 15 131Z"
|
||||
fill="#1C1912"
|
||||
d='M15 131C17.7061 132.353 17.9618 133.81 19.125 136.562C19.4782 137.389 19.8314 138.215 20.1953 139.066C20.4609 139.704 20.7264 140.343 21 141C20.01 141 19.02 141 18 141C15.9656 137.27 15 135.331 15 131Z'
|
||||
fill='#1C1912'
|
||||
/>
|
||||
<path
|
||||
d="M63 49C69.4 49.4923 69.4 49.4923 72.4375 52.0625C73.2109 53.0216 73.2109 53.0216 74 54C70.8039 54 69.5828 53.4533 66.8125 52C66.0971 51.6288 65.3816 51.2575 64.6445 50.875C64.1018 50.5863 63.5591 50.2975 63 50C63 49.67 63 49.34 63 49Z"
|
||||
fill="#13110C"
|
||||
d='M63 49C69.4 49.4923 69.4 49.4923 72.4375 52.0625C73.2109 53.0216 73.2109 53.0216 74 54C70.8039 54 69.5828 53.4533 66.8125 52C66.0971 51.6288 65.3816 51.2575 64.6445 50.875C64.1018 50.5863 63.5591 50.2975 63 50C63 49.67 63 49.34 63 49Z'
|
||||
fill='#13110C'
|
||||
/>
|
||||
<path
|
||||
d="M0.999992 39C1.98999 39 2.97999 39 3.99999 39C5.24999 46.625 5.24999 46.625 2.99999 50C2.33999 46.37 1.67999 42.74 0.999992 39Z"
|
||||
fill="#312C1E"
|
||||
d='M0.999992 39C1.98999 39 2.97999 39 3.99999 39C5.24999 46.625 5.24999 46.625 2.99999 50C2.33999 46.37 1.67999 42.74 0.999992 39Z'
|
||||
fill='#312C1E'
|
||||
/>
|
||||
<path
|
||||
d="M94 5C94.66 5 95.32 5 96 5C97.8041 7.75924 98.0127 8.88972 97.625 12.25C97.4187 13.1575 97.2125 14.065 97 15C95.1161 11.7345 94.5071 8.71888 94 5Z"
|
||||
fill="#292417"
|
||||
d='M94 5C94.66 5 95.32 5 96 5C97.8041 7.75924 98.0127 8.88972 97.625 12.25C97.4187 13.1575 97.2125 14.065 97 15C95.1161 11.7345 94.5071 8.71888 94 5Z'
|
||||
fill='#292417'
|
||||
/>
|
||||
<path
|
||||
d="M20 141C23.3672 142.393 24.9859 143.979 27 147C24.625 146.812 24.625 146.812 22 146C20.6875 143.438 20.6875 143.438 20 141Z"
|
||||
fill="#373328"
|
||||
d='M20 141C23.3672 142.393 24.9859 143.979 27 147C24.625 146.812 24.625 146.812 22 146C20.6875 143.438 20.6875 143.438 20 141Z'
|
||||
fill='#373328'
|
||||
/>
|
||||
<path
|
||||
d="M86 83C86.33 83.99 86.66 84.98 87 86C83.37 85.34 79.74 84.68 76 84C80.3553 81.8223 81.4663 81.9696 86 83Z"
|
||||
fill="#2F2F2F"
|
||||
d='M86 83C86.33 83.99 86.66 84.98 87 86C83.37 85.34 79.74 84.68 76 84C80.3553 81.8223 81.4663 81.9696 86 83Z'
|
||||
fill='#2F2F2F'
|
||||
/>
|
||||
<path
|
||||
d="M42 93C46 97.625 46 97.625 46 101C44.02 99.35 42.04 97.7 40 96C40.66 95.67 41.32 95.34 42 95C42 94.34 42 93.68 42 93Z"
|
||||
fill="#232323"
|
||||
d='M42 93C46 97.625 46 97.625 46 101C44.02 99.35 42.04 97.7 40 96C40.66 95.67 41.32 95.34 42 95C42 94.34 42 93.68 42 93Z'
|
||||
fill='#232323'
|
||||
/>
|
||||
<path
|
||||
d="M34 55C34.66 55.33 35.32 55.66 36 56C35.5256 56.7838 35.0512 57.5675 34.5625 58.375C33.661 59.8895 32.7882 61.4236 32 63C31.34 63 30.68 63 30 63C30.4983 59.3125 31.1007 57.3951 34 55Z"
|
||||
fill="#110F0A"
|
||||
d='M34 55C34.66 55.33 35.32 55.66 36 56C35.5256 56.7838 35.0512 57.5675 34.5625 58.375C33.661 59.8895 32.7882 61.4236 32 63C31.34 63 30.68 63 30 63C30.4983 59.3125 31.1007 57.3951 34 55Z'
|
||||
fill='#110F0A'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -192,10 +192,13 @@ With Stagehand, you can:
|
||||
In Sim Studio, the Stagehand integration enables your agents to seamlessly interact with web-based systems as part of their workflows. This allows for sophisticated automation scenarios that bridge the gap between your AI agents and the vast information and functionality available on the web. Your agents can search for information, interact with web applications, extract data from websites, and incorporate these capabilities into their decision-making processes. By connecting Sim Studio with Stagehand, you can create agents that extend beyond API-based integrations to navigate the web just as a human would - filling forms, clicking buttons, reading content, and extracting valuable information to complete their tasks more effectively.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Use Stagehand to create an autonomous web browsing agent that can navigate across websites, perform tasks, and return structured data.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `stagehand_agent`
|
||||
@@ -204,38 +207,43 @@ Run an autonomous web agent to complete tasks and extract structured data
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| -------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------ |
|
||||
| `task` | string | Yes | The task to complete or goal to achieve on the website |
|
||||
| `startUrl` | string | Yes | URL of the webpage to start the agent on |
|
||||
| `outputSchema` | json | No | Optional JSON schema defining the structure of data the agent should return |
|
||||
| `variables` | json | No | Optional variables to substitute in the task \(format: \{key: value\}\). Reference in task using %key% |
|
||||
| `apiKey` | string | Yes | OpenAI API key for agent execution \(required by Stagehand\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `task` | string | Yes | The task to complete or goal to achieve on the website |
|
||||
| `startUrl` | string | Yes | URL of the webpage to start the agent on |
|
||||
| `outputSchema` | json | No | Optional JSON schema defining the structure of data the agent should return |
|
||||
| `variables` | json | No | Optional variables to substitute in the task \(format: \{key: value\}\). Reference in task using %key% |
|
||||
| `apiKey` | string | Yes | OpenAI API key for agent execution \(required by Stagehand\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ------------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `agentResult` | string |
|
||||
| `completed` | string |
|
||||
| `message` | string |
|
||||
| `actions` | string |
|
||||
| `completed` | string |
|
||||
| `message` | string |
|
||||
| `actions` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ---------- | ------ | -------- | --------------------------------------------------- |
|
||||
| `startUrl` | string | Yes | Starting URL - Enter the starting URL for the agent |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `startUrl` | string | Yes | Starting URL - Enter the starting URL for the agent |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| -------------------- | ------ | -------------------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `agentResult` | json | agentResult of the response |
|
||||
| ↳ `structuredOutput` | any | structuredOutput of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `agentResult` | json | agentResult of the response |
|
||||
| ↳ `structuredOutput` | any | structuredOutput of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,48 +3,48 @@ title: Supabase
|
||||
description: Use Supabase database
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="supabase"
|
||||
color="#1C1C1C"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" viewBox="0 0 27 27" xmlns="http://www.w3.org/2000/svg">
|
||||
iconSvg={`<svg className="block-icon" viewBox='0 0 27 27' xmlns='http://www.w3.org/2000/svg'>
|
||||
<path
|
||||
d="M15.4057 26.2606C14.7241 27.1195 13.3394 26.649 13.3242 25.5519L13.083 9.50684H23.8724C25.8262 9.50684 26.9157 11.7636 25.7006 13.2933L15.4057 26.2606Z"
|
||||
fill="url(#paint0_linear)"
|
||||
d='M15.4057 26.2606C14.7241 27.1195 13.3394 26.649 13.3242 25.5519L13.083 9.50684H23.8724C25.8262 9.50684 26.9157 11.7636 25.7006 13.2933L15.4057 26.2606Z'
|
||||
fill='url(#paint0_linear)'
|
||||
/>
|
||||
<path
|
||||
d="M15.4057 26.2606C14.7241 27.1195 13.3394 26.649 13.3242 25.5519L13.083 9.50684H23.8724C25.8262 9.50684 26.9157 11.7636 25.7006 13.2933L15.4057 26.2606Z"
|
||||
fill="url(#paint1_linear)"
|
||||
fillOpacity="0.2"
|
||||
d='M15.4057 26.2606C14.7241 27.1195 13.3394 26.649 13.3242 25.5519L13.083 9.50684H23.8724C25.8262 9.50684 26.9157 11.7636 25.7006 13.2933L15.4057 26.2606Z'
|
||||
fill='url(#paint1_linear)'
|
||||
fillOpacity='0.2'
|
||||
/>
|
||||
<path
|
||||
d="M11.0167 0.443853C11.6983 -0.415083 13.0832 0.0553814 13.0982 1.15237L13.2042 17.1976H2.55005C0.596215 17.1976 -0.493259 14.9408 0.721603 13.4111L11.0167 0.443853Z"
|
||||
fill="#3ECF8E"
|
||||
d='M11.0167 0.443853C11.6983 -0.415083 13.0832 0.0553814 13.0982 1.15237L13.2042 17.1976H2.55005C0.596215 17.1976 -0.493259 14.9408 0.721603 13.4111L11.0167 0.443853Z'
|
||||
fill='#3ECF8E'
|
||||
/>
|
||||
<defs>
|
||||
<linearGradient
|
||||
id="paint0_linear"
|
||||
x1="13.084"
|
||||
y1="13.0655"
|
||||
x2="22.6727"
|
||||
y2="17.087"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id='paint0_linear'
|
||||
x1='13.084'
|
||||
y1='13.0655'
|
||||
x2='22.6727'
|
||||
y2='17.087'
|
||||
gradientUnits='userSpaceOnUse'
|
||||
>
|
||||
<stop stopColor="#249361" />
|
||||
<stop offset="1" stopColor="#3ECF8E" />
|
||||
<stop stopColor='#249361' />
|
||||
<stop offset='1' stopColor='#3ECF8E' />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="paint1_linear"
|
||||
x1="8.83277"
|
||||
y1="7.24485"
|
||||
x2="13.2057"
|
||||
y2="15.477"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id='paint1_linear'
|
||||
x1='8.83277'
|
||||
y1='7.24485'
|
||||
x2='13.2057'
|
||||
y2='15.477'
|
||||
gradientUnits='userSpaceOnUse'
|
||||
>
|
||||
<stop />
|
||||
<stop offset="1" stopOpacity="0" />
|
||||
<stop offset='1' stopOpacity='0' />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>`}
|
||||
@@ -66,10 +66,13 @@ With Supabase, you can:
|
||||
In Sim Studio, the Supabase integration enables your agents to interact with your Supabase projects programmatically. This allows for powerful automation scenarios such as data querying, record creation, user management, and file operations. Your agents can retrieve information from your database, insert new records, update existing data, and leverage Supabase's authentication and storage capabilities as part of their workflows. This integration bridges the gap between your AI workflows and your application's data layer, enabling more sophisticated and data-driven automations. By connecting Sim Studio with Supabase, you can create agents that maintain data consistency across systems, trigger actions based on database changes, perform complex data operations, and build workflows that leverage your application's existing data infrastructure - all without requiring manual intervention or custom code.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Integrate with Supabase to manage your database, authentication, storage, and more. Query data, manage users, and interact with Supabase services directly.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `supabase_query`
|
||||
@@ -78,15 +81,15 @@ Query data from a Supabase table
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ------------------------------------------------------- |
|
||||
| `apiKey` | string | Yes | Your Supabase client anon key |
|
||||
| `projectId` | string | Yes | Your Supabase project ID \(e.g., jdrkgepadsdopsntdlom\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Your Supabase client anon key |
|
||||
| `projectId` | string | Yes | Your Supabase project ID \(e.g., jdrkgepadsdopsntdlom\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `message` | string |
|
||||
| `results` | string |
|
||||
|
||||
@@ -96,33 +99,38 @@ Insert data into a Supabase table
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ------------------------------------------------------- |
|
||||
| `apiKey` | string | Yes | Your Supabase client anon key |
|
||||
| `projectId` | string | Yes | Your Supabase project ID \(e.g., jdrkgepadsdopsntdlom\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Your Supabase client anon key |
|
||||
| `projectId` | string | Yes | Your Supabase project ID \(e.g., jdrkgepadsdopsntdlom\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `message` | string |
|
||||
| `results` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ----------- | ------ | ----------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `message` | string | message of the response |
|
||||
| ↳ `results` | json | results of the response |
|
||||
| ↳ `results` | json | results of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,40 +3,40 @@ title: Tavily
|
||||
description: Search and extract information
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="tavily"
|
||||
color="#0066FF"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" viewBox="0 0 600 600" xmlns="http://www.w3.org/2000/svg" >
|
||||
iconSvg={`<svg className="block-icon" viewBox='0 0 600 600' xmlns='http://www.w3.org/2000/svg' >
|
||||
<path
|
||||
d="M432 291C415 294 418 313 417 326C380 328 342 327 306 328C316 344 312 368 301 381C339 384 377 383 414 384C419 393 415 404 419 412C424 419 431 422 437 421C554 393 539 314 425 290"
|
||||
fill="rgb(248,202,81)"
|
||||
d='M432 291C415 294 418 313 417 326C380 328 342 327 306 328C316 344 312 368 301 381C339 384 377 383 414 384C419 393 415 404 419 412C424 419 431 422 437 421C554 393 539 314 425 290'
|
||||
fill='rgb(248,202,81)'
|
||||
/>
|
||||
<path
|
||||
d="M263 87C260 88 257 89 255 93C237 121 219 147 204 174C203 184 206 191 212 195C222 198 231 196 239 197C241 238 240 277 241 316C257 307 276 309 294 308C296 273 295 234 296 199C309 196 328 200 333 183C314 149 299 103 267 83"
|
||||
fill="rgb(109,164,249)"
|
||||
d='M263 87C260 88 257 89 255 93C237 121 219 147 204 174C203 184 206 191 212 195C222 198 231 196 239 197C241 238 240 277 241 316C257 307 276 309 294 308C296 273 295 234 296 199C309 196 328 200 333 183C314 149 299 103 267 83'
|
||||
fill='rgb(109,164,249)'
|
||||
/>
|
||||
<path
|
||||
d="M314 356L316 354C386 355 457 354 527 355C504 385 469 400 440 421C431 421 424 418 421 411C415 402 420 389 416 383C384 371 284 406 312 358"
|
||||
fill="rgb(250,188,28)"
|
||||
d='M314 356L316 354C386 355 457 354 527 355C504 385 469 400 440 421C431 421 424 418 421 411C415 402 420 389 416 383C384 371 284 406 312 358'
|
||||
fill='rgb(250,188,28)'
|
||||
/>
|
||||
<path
|
||||
d="M314 356C281 405 384 369 410 384C422 388 415 402 421 409C425 417 431 420 437 420C469 400 504 384 529 360C456 355 386 356 317 355"
|
||||
fill="rgb(251,186,23)"
|
||||
d='M314 356C281 405 384 369 410 384C422 388 415 402 421 409C425 417 431 420 437 420C469 400 504 384 529 360C456 355 386 356 317 355'
|
||||
fill='rgb(251,186,23)'
|
||||
/>
|
||||
<path
|
||||
d="M264 325C271 325 290 329 283 339C236 384 186 436 139 482C133 481 133 477 131 474C133 477 133 481 135 482C174 490 213 472 250 466C261 447 246 435 235 426C254 406 271 389 289 372C303 352 287 324 266 326"
|
||||
fill="rgb(251,156,158)"
|
||||
d='M264 325C271 325 290 329 283 339C236 384 186 436 139 482C133 481 133 477 131 474C133 477 133 481 135 482C174 490 213 472 250 466C261 447 246 435 235 426C254 406 271 389 289 372C303 352 287 324 266 326'
|
||||
fill='rgb(251,156,158)'
|
||||
/>
|
||||
<path
|
||||
d="M263 327C260 328 256 328 253 330C233 348 216 367 197 384C188 381 183 371 175 368C166 367 161 369 156 372C148 409 133 447 133 482C173 430 281 366 277 323"
|
||||
fill="rgb(248,56,63)"
|
||||
d='M263 327C260 328 256 328 253 330C233 348 216 367 197 384C188 381 183 371 175 368C166 367 161 369 156 372C148 409 133 447 133 482C173 430 281 366 277 323'
|
||||
fill='rgb(248,56,63)'
|
||||
/>
|
||||
<path
|
||||
d="M258 326C235 341 218 365 198 382C186 376 176 360 161 368L160 369L157 369C149 378 150 391 146 401C150 391 149 379 157 370C174 359 185 376 195 385C219 365 238 337 262 325"
|
||||
fill="rgb(242,165,165)"
|
||||
d='M258 326C235 341 218 365 198 382C186 376 176 360 161 368L160 369L157 369C149 378 150 391 146 401C150 391 149 379 157 370C174 359 185 376 195 385C219 365 238 337 262 325'
|
||||
fill='rgb(242,165,165)'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -55,10 +55,13 @@ With Tavily, you can:
|
||||
In Sim Studio, the Tavily integration enables your agents to search the web and extract information as part of their workflows. This allows for sophisticated automation scenarios that require up-to-date information from the internet. Your agents can formulate search queries, retrieve relevant results, and extract content from specific web pages to inform their decision-making processes. This integration bridges the gap between your workflow automation and the vast knowledge available on the web, enabling your agents to access real-time information without manual intervention. By connecting Sim Studio with Tavily, you can create agents that stay current with the latest information, provide more accurate responses, and deliver more value to users.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Access Tavily
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `tavily_search`
|
||||
@@ -67,20 +70,20 @@ Perform AI-powered web searches using Tavily
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ---------------------------------- |
|
||||
| `query` | string | Yes | The search query to execute |
|
||||
| `max_results` | number | No | Maximum number of results \(1-20\) |
|
||||
| `apiKey` | string | Yes | Tavily API Key |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `query` | string | Yes | The search query to execute |
|
||||
| `max_results` | number | No | Maximum number of results \(1-20\) |
|
||||
| `apiKey` | string | Yes | Tavily API Key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ------------- | ------ |
|
||||
| `query` | string |
|
||||
| `results` | string |
|
||||
| `url` | string |
|
||||
| `snippet` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `query` | string |
|
||||
| `results` | string |
|
||||
| `url` | string |
|
||||
| `snippet` | string |
|
||||
| `raw_content` | string |
|
||||
|
||||
### `tavily_extract`
|
||||
@@ -89,38 +92,43 @@ Extract raw content from multiple web pages simultaneously using Tavily
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------------- | ------ | -------- | ---------------------------------------------------------------------------- |
|
||||
| `urls` | string | Yes | URL or array of URLs to extract content from |
|
||||
| `apiKey` | string | Yes | Tavily API Key |
|
||||
| `extract_depth` | string | No | The depth of extraction \(basic=1 credit/5 URLs, advanced=2 credits/5 URLs\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `urls` | string | Yes | URL or array of URLs to extract content from |
|
||||
| `apiKey` | string | Yes | Tavily API Key |
|
||||
| `extract_depth` | string | No | The depth of extraction \(basic=1 credit/5 URLs, advanced=2 credits/5 URLs\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------------- | ------ |
|
||||
| `results` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `results` | string |
|
||||
| `failed_results` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ----------- | ------ | ----------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `results` | json | results of the response |
|
||||
| ↳ `answer` | any | answer of the response |
|
||||
| ↳ `query` | string | query of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `results` | json | results of the response |
|
||||
| ↳ `answer` | any | answer of the response |
|
||||
| ↳ `query` | string | query of the response |
|
||||
| ↳ `content` | string | content of the response |
|
||||
| ↳ `title` | string | title of the response |
|
||||
| ↳ `url` | string | url of the response |
|
||||
| ↳ `title` | string | title of the response |
|
||||
| ↳ `url` | string | url of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ title: Telegram
|
||||
description: Send a message through Telegram
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="telegram"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
@@ -13,26 +13,26 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
|
||||
|
||||
|
||||
viewBox="-5 0 41 33"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox='-5 0 41 33'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<circle cx="16" cy="16" r="14" fill="url(#paint0_linear_87_7225)" />
|
||||
<circle cx='16' cy='16' r='14' fill='url(#paint0_linear_87_7225)' />
|
||||
<path
|
||||
d="M22.9866 10.2088C23.1112 9.40332 22.3454 8.76755 21.6292 9.082L7.36482 15.3448C6.85123 15.5703 6.8888 16.3483 7.42147 16.5179L10.3631 17.4547C10.9246 17.6335 11.5325 17.541 12.0228 17.2023L18.655 12.6203C18.855 12.4821 19.073 12.7665 18.9021 12.9426L14.1281 17.8646C13.665 18.3421 13.7569 19.1512 14.314 19.5005L19.659 22.8523C20.2585 23.2282 21.0297 22.8506 21.1418 22.1261L22.9866 10.2088Z"
|
||||
fill="white"
|
||||
d='M22.9866 10.2088C23.1112 9.40332 22.3454 8.76755 21.6292 9.082L7.36482 15.3448C6.85123 15.5703 6.8888 16.3483 7.42147 16.5179L10.3631 17.4547C10.9246 17.6335 11.5325 17.541 12.0228 17.2023L18.655 12.6203C18.855 12.4821 19.073 12.7665 18.9021 12.9426L14.1281 17.8646C13.665 18.3421 13.7569 19.1512 14.314 19.5005L19.659 22.8523C20.2585 23.2282 21.0297 22.8506 21.1418 22.1261L22.9866 10.2088Z'
|
||||
fill='white'
|
||||
/>
|
||||
<defs>
|
||||
<linearGradient
|
||||
id="paint0_linear_87_7225"
|
||||
x1="16"
|
||||
y1="2"
|
||||
x2="16"
|
||||
y2="30"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id='paint0_linear_87_7225'
|
||||
x1='16'
|
||||
y1='2'
|
||||
x2='16'
|
||||
y2='30'
|
||||
gradientUnits='userSpaceOnUse'
|
||||
>
|
||||
<stop stopColor="#37BBFE" />
|
||||
<stop offset="1" stopColor="#007DBB" />
|
||||
<stop stopColor='#37BBFE' />
|
||||
<stop offset='1' stopColor='#007DBB' />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>`}
|
||||
@@ -77,10 +77,13 @@ Key features of Telegram include:
|
||||
In Sim Studio, the Telegram integration enables your agents to leverage these powerful messaging capabilities as part of their workflows. This creates opportunities for automated notifications, alerts, and interactive conversations through Telegram's secure messaging platform. The integration allows agents to send messages programmatically to individuals or channels, enabling timely communication and updates. By connecting Sim Studio with Telegram, you can build intelligent agents that engage users through a secure and widely-adopted messaging platform, perfect for delivering notifications, updates, and interactive communications.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Send messages to any Telegram channel using your Bot API key. Integrate automated notifications and alerts into your workflow to keep your team informed.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `telegram_message`
|
||||
@@ -89,34 +92,39 @@ Send messages to Telegram channels or users through the Telegram Bot API. Enable
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ---------- | ------ | -------- | --------------------------- |
|
||||
| `botToken` | string | Yes | Your Telegram Bot API Token |
|
||||
| `chatId` | string | Yes | Target Telegram chat ID |
|
||||
| `text` | string | Yes | Message text to send |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `botToken` | string | Yes | Your Telegram Bot API Token |
|
||||
| `chatId` | string | Yes | Target Telegram chat ID |
|
||||
| `text` | string | Yes | Message text to send |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| `ok` | string |
|
||||
| `date` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `ok` | string |
|
||||
| `date` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ---------- | ------ | -------- | ----------------------------------------- |
|
||||
| `botToken` | string | Yes | Bot Token - Enter your Telegram Bot Token |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `botToken` | string | Yes | Bot Token - Enter your Telegram Bot Token |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ---------- | ------- | ---------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `ok` | boolean | ok of the response |
|
||||
| ↳ `result` | json | result of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `ok` | boolean | ok of the response |
|
||||
| ↳ `result` | json | result of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,33 +3,33 @@ title: Thinking
|
||||
description: Forces model to outline its thought process.
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="thinking"
|
||||
color="#181C1E"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
|
||||
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
strokeWidth="2"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
viewBox='0 0 24 24'
|
||||
fill='none'
|
||||
stroke='currentColor'
|
||||
strokeWidth='2'
|
||||
strokeLinecap='round'
|
||||
strokeLinejoin='round'
|
||||
>
|
||||
<path d="M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z" />
|
||||
<path d="M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z" />
|
||||
<path d="M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4" />
|
||||
<path d="M17.599 6.5a3 3 0 0 0 .399-1.375" />
|
||||
<path d="M6.003 5.125A3 3 0 0 0 6.401 6.5" />
|
||||
<path d="M3.477 10.896a4 4 0 0 1 .585-.396" />
|
||||
<path d="M19.938 10.5a4 4 0 0 1 .585.396" />
|
||||
<path d="M6 18a4 4 0 0 1-1.967-.516" />
|
||||
<path d="M19.967 17.484A4 4 0 0 1 18 18" />
|
||||
<path d='M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z' />
|
||||
<path d='M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z' />
|
||||
<path d='M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4' />
|
||||
<path d='M17.599 6.5a3 3 0 0 0 .399-1.375' />
|
||||
<path d='M6.003 5.125A3 3 0 0 0 6.401 6.5' />
|
||||
<path d='M3.477 10.896a4 4 0 0 1 .585-.396' />
|
||||
<path d='M19.938 10.5a4 4 0 0 1 .585.396' />
|
||||
<path d='M6 18a4 4 0 0 1-1.967-.516' />
|
||||
<path d='M19.967 17.484A4 4 0 0 1 18 18' />
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
@@ -46,10 +46,13 @@ Research has shown that prompting language models to "think step by step" can si
|
||||
In Sim Studio, the Thinking tool creates a structured opportunity for your agents to engage in this kind of deliberate reasoning. By incorporating thinking steps into your workflows, you can help your agents tackle complex tasks more effectively, avoid common reasoning pitfalls, and produce higher-quality outputs. This is particularly valuable for tasks involving multi-step reasoning, complex decision-making, or situations where accuracy is critical.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Adds a step where the model explicitly outlines its thought process before proceeding. This can improve reasoning quality by encouraging step-by-step analysis.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `thinking_tool`
|
||||
@@ -58,31 +61,36 @@ Processes a provided thought/instruction, making it available for subsequent ste
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | ----------------------------------------------------------------------------------- |
|
||||
| `thought` | string | Yes | The thought process or instruction provided by the user in the Thinking Step block. |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `thought` | string | Yes | The thought process or instruction provided by the user in the Thinking Step block. |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------------------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `acknowledgedThought` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | ---------------------------------------------------------------------------------- |
|
||||
| `thought` | string | Yes | Thought Process / Instruction - Describe the step-by-step thinking process here... |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `thought` | string | Yes | Thought Process / Instruction - Describe the step-by-step thinking process here... |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ----------------------- | ------ | ----------------------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `acknowledgedThought` | string | acknowledgedThought of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
- Category: `tools`
|
||||
|
||||
@@ -3,30 +3,30 @@ title: Translate
|
||||
description: Translate text to any language
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="translate"
|
||||
color="#FF4B4B"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
|
||||
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
strokeWidth="2"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
viewBox='0 0 24 24'
|
||||
fill='none'
|
||||
stroke='currentColor'
|
||||
strokeWidth='2'
|
||||
strokeLinecap='round'
|
||||
strokeLinejoin='round'
|
||||
|
||||
>
|
||||
<path d="m5 8 6 6" />
|
||||
<path d="m4 14 6-6 2-3" />
|
||||
<path d="M2 5h12" />
|
||||
<path d="M7 2h1" />
|
||||
<path d="m22 22-5-10-5 10" />
|
||||
<path d="M14 18h6" />
|
||||
<path d='m5 8 6 6' />
|
||||
<path d='m4 14 6-6 2-3' />
|
||||
<path d='M2 5h12' />
|
||||
<path d='M7 2h1' />
|
||||
<path d='m22 22-5-10-5 10' />
|
||||
<path d='M14 18h6' />
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
@@ -43,12 +43,15 @@ With Translate, you can:
|
||||
- **Translate videos**: Translate videos between languages
|
||||
- **Translate speech**: Translate speech between languages
|
||||
- **Translate text**: Translate text between languages
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Convert text between languages while preserving meaning, nuance, and formatting. Utilize powerful language models to produce natural, fluent translations with appropriate cultural adaptations.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `openai_chat`
|
||||
@@ -64,6 +67,7 @@ This tool does not produce any outputs.
|
||||
|
||||
### `anthropic_chat`
|
||||
|
||||
|
||||
### `google_chat`
|
||||
|
||||
#### Input
|
||||
@@ -75,22 +79,27 @@ This tool does not produce any outputs.
|
||||
|
||||
This tool does not produce any outputs.
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | -------------------------------------------------------- |
|
||||
| `context` | string | Yes | Text to Translate - Enter the text you want to translate |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `context` | string | Yes | Text to Translate - Enter the text you want to translate |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ----------- | ------ | ----------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `content` | string | content of the response |
|
||||
| ↳ `model` | string | model of the response |
|
||||
| ↳ `tokens` | any | tokens of the response |
|
||||
| ↳ `model` | string | model of the response |
|
||||
| ↳ `tokens` | any | tokens of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,16 +3,16 @@ title: Twilio SMS
|
||||
description: Send SMS messages
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="twilio_sms"
|
||||
color="#F22F46"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||
iconSvg={`<svg className="block-icon" xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'>
|
||||
<path
|
||||
fill="currentColor"
|
||||
d="M128 0c70.656 0 128 57.344 128 128s-57.344 128-128 128S0 198.656 0 128 57.344 0 128 0zm0 33.792c-52.224 0-94.208 41.984-94.208 94.208S75.776 222.208 128 222.208s94.208-41.984 94.208-94.208S180.224 33.792 128 33.792zm31.744 99.328c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624zm-63.488 0c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624zm63.488-63.488c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624zm-63.488 0c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624z"
|
||||
fill='currentColor'
|
||||
d='M128 0c70.656 0 128 57.344 128 128s-57.344 128-128 128S0 198.656 0 128 57.344 0 128 0zm0 33.792c-52.224 0-94.208 41.984-94.208 94.208S75.776 222.208 128 222.208s94.208-41.984 94.208-94.208S180.224 33.792 128 33.792zm31.744 99.328c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624zm-63.488 0c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624zm63.488-63.488c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624zm-63.488 0c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624z'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -31,10 +31,13 @@ Key features of Twilio SMS include:
|
||||
In Sim Studio, the Twilio SMS integration enables your agents to leverage these powerful messaging capabilities as part of their workflows. This creates opportunities for sophisticated customer engagement scenarios like appointment reminders, verification codes, alerts, and interactive conversations. The integration bridges the gap between your AI workflows and customer communication channels, allowing your agents to deliver timely, relevant information directly to users' mobile devices. By connecting Sim Studio with Twilio SMS, you can build intelligent agents that engage customers through their preferred communication channel, enhancing user experience while automating routine messaging tasks.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Send text messages to single or multiple recipients using the Twilio API.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `twilio_send_sms`
|
||||
@@ -43,39 +46,44 @@ Send text messages to single or multiple recipients using the Twilio API.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| -------------- | ------ | -------- | ----------------------------------------------------------- |
|
||||
| `phoneNumbers` | string | Yes | Phone numbers to send the message to, separated by newlines |
|
||||
| `message` | string | Yes | Message to send |
|
||||
| `accountSid` | string | Yes | Twilio Account SID |
|
||||
| `authToken` | string | Yes | Twilio Auth Token |
|
||||
| `fromNumber` | string | Yes | Twilio phone number to send the message from |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `phoneNumbers` | string | Yes | Phone numbers to send the message to, separated by newlines |
|
||||
| `message` | string | Yes | Message to send |
|
||||
| `accountSid` | string | Yes | Twilio Account SID |
|
||||
| `authToken` | string | Yes | Twilio Auth Token |
|
||||
| `fromNumber` | string | Yes | Twilio phone number to send the message from |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ----------- | ------ |
|
||||
| `success` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `success` | string |
|
||||
| `messageId` | string |
|
||||
| `status` | string |
|
||||
| `status` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| -------------- | ------ | -------- | --------------------------------------------------------------------------------------------------- |
|
||||
| `phoneNumbers` | string | Yes | Recipient Phone Numbers - Enter phone numbers with country code \(one per line, e.g., +1234567890\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `phoneNumbers` | string | Yes | Recipient Phone Numbers - Enter phone numbers with country code \(one per line, e.g., +1234567890\) |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ------------- | ------- | ------------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `success` | boolean | success of the response |
|
||||
| ↳ `messageId` | any | messageId of the response |
|
||||
| ↳ `status` | any | status of the response |
|
||||
| ↳ `error` | any | error of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `success` | boolean | success of the response |
|
||||
| ↳ `messageId` | any | messageId of the response |
|
||||
| ↳ `status` | any | status of the response |
|
||||
| ↳ `error` | any | error of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ title: Typeform
|
||||
description: Interact with Typeform
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="typeform"
|
||||
color="#262627"
|
||||
icon={true}
|
||||
@@ -13,13 +13,13 @@ import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
|
||||
|
||||
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox='0 0 24 24'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<g transform="translate(1, 4)">
|
||||
<rect x="0" y="0" rx="2.5" fill="currentColor" />
|
||||
<rect x="8" y="0" rx="4" fill="currentColor" />
|
||||
<g transform='translate(1, 4)'>
|
||||
<rect x='0' y='0' rx='2.5' fill='currentColor' />
|
||||
<rect x='8' y='0' rx='4' fill='currentColor' />
|
||||
</g>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -37,10 +37,13 @@ With Typeform, you can:
|
||||
In Sim Studio, the Typeform integration enables your agents to programmatically interact with your Typeform data as part of their workflows. Agents can retrieve form responses, process submission data, and incorporate user feedback directly into decision-making processes. This integration is particularly valuable for scenarios like lead qualification, customer feedback analysis, and data-driven personalization. By connecting Sim Studio with Typeform, you can create intelligent automation workflows that transform form responses into actionable insights - analyzing sentiment, categorizing feedback, generating summaries, and even triggering follow-up actions based on specific response patterns.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Access and retrieve responses from your Typeform forms. Integrate form submissions data into your workflow for analysis, storage, or processing.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `typeform_responses`
|
||||
@@ -49,25 +52,25 @@ Retrieve form responses from Typeform
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------------------------------------------------------------- |
|
||||
| `formId` | string | Yes | Typeform form ID |
|
||||
| `apiKey` | string | Yes | Typeform Personal Access Token |
|
||||
| `pageSize` | number | No | Number of responses to retrieve \(default: 25\) |
|
||||
| `since` | string | No | Retrieve responses submitted after this date \(ISO 8601 format\) |
|
||||
| `until` | string | No | Retrieve responses submitted before this date \(ISO 8601 format\) |
|
||||
| `completed` | string | No | Filter by completion status \(true/false\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `formId` | string | Yes | Typeform form ID |
|
||||
| `apiKey` | string | Yes | Typeform Personal Access Token |
|
||||
| `pageSize` | number | No | Number of responses to retrieve \(default: 25\) |
|
||||
| `since` | string | No | Retrieve responses submitted after this date \(ISO 8601 format\) |
|
||||
| `until` | string | No | Retrieve responses submitted before this date \(ISO 8601 format\) |
|
||||
| `completed` | string | No | Filter by completion status \(true/false\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ------------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `total_items` | string |
|
||||
| `answers` | string |
|
||||
| `type` | string |
|
||||
| `hidden` | string |
|
||||
| `calculated` | string |
|
||||
| `variables` | string |
|
||||
| `answers` | string |
|
||||
| `type` | string |
|
||||
| `hidden` | string |
|
||||
| `calculated` | string |
|
||||
| `variables` | string |
|
||||
|
||||
### `typeform_files`
|
||||
|
||||
@@ -75,22 +78,22 @@ Download files uploaded in Typeform responses
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------ | ------- | -------- | ----------------------------------------------------------- |
|
||||
| `formId` | string | Yes | Typeform form ID |
|
||||
| `responseId` | string | Yes | Response ID containing the files |
|
||||
| `fieldId` | string | Yes | Unique ID of the file upload field |
|
||||
| `filename` | string | Yes | Filename of the uploaded file |
|
||||
| `inline` | boolean | No | Whether to request the file with inline Content-Disposition |
|
||||
| `apiKey` | string | Yes | Typeform Personal Access Token |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `formId` | string | Yes | Typeform form ID |
|
||||
| `responseId` | string | Yes | Response ID containing the files |
|
||||
| `fieldId` | string | Yes | Unique ID of the file upload field |
|
||||
| `filename` | string | Yes | Filename of the uploaded file |
|
||||
| `inline` | boolean | No | Whether to request the file with inline Content-Disposition |
|
||||
| `apiKey` | string | Yes | Typeform Personal Access Token |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ------------- | ------ |
|
||||
| `fileUrl` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `fileUrl` | string |
|
||||
| `contentType` | string |
|
||||
| `filename` | string |
|
||||
| `filename` | string |
|
||||
|
||||
### `typeform_insights`
|
||||
|
||||
@@ -98,31 +101,36 @@ Retrieve insights and analytics for Typeform forms
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | ------------------------------ |
|
||||
| `formId` | string | Yes | Typeform form ID |
|
||||
| `apiKey` | string | Yes | Typeform Personal Access Token |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `formId` | string | Yes | Typeform form ID |
|
||||
| `apiKey` | string | Yes | Typeform Personal Access Token |
|
||||
|
||||
#### Output
|
||||
|
||||
This tool does not produce any outputs.
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| --------------- | ------ | --------------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `total_items` | number | total_items of the response |
|
||||
| ↳ `page_count` | number | page_count of the response |
|
||||
| ↳ `items` | json | items of the response |
|
||||
| ↳ `page_count` | number | page_count of the response |
|
||||
| ↳ `items` | json | items of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,29 +3,29 @@ title: Vision
|
||||
description: Analyze images with vision models
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="vision"
|
||||
color="#4D5FFF"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
fill="currentColor"
|
||||
fill='currentColor'
|
||||
|
||||
|
||||
viewBox="0 0 28 23"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox='0 0 28 23'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<path
|
||||
fillRule="evenodd"
|
||||
clipRule="evenodd"
|
||||
d="M13.9999 6.51172C12.7047 6.51172 11.4625 7.02625 10.5466 7.94213C9.63074 8.858 9.11621 10.1002 9.11621 11.3954C9.11621 12.6907 9.63074 13.9329 10.5466 14.8488C11.4625 15.7646 12.7047 16.2792 13.9999 16.2792C15.2952 16.2792 16.5374 15.7646 17.4532 14.8488C18.3691 13.9329 18.8837 12.6907 18.8837 11.3954C18.8837 10.1002 18.3691 8.858 17.4532 7.94213C16.5374 7.02625 15.2952 6.51172 13.9999 6.51172ZM11.0697 11.3954C11.0697 10.6183 11.3784 9.87298 11.9279 9.32345C12.4775 8.77393 13.2228 8.46521 13.9999 8.46521C14.7771 8.46521 15.5224 8.77393 16.0719 9.32345C16.6214 9.87298 16.9302 10.6183 16.9302 11.3954C16.9302 12.1726 16.6214 12.9179 16.0719 13.4674C15.5224 14.017 14.7771 14.3257 13.9999 14.3257C13.2228 14.3257 12.4775 14.017 11.9279 13.4674C11.3784 12.9179 11.0697 12.1726 11.0697 11.3954Z"
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
d='M13.9999 6.51172C12.7047 6.51172 11.4625 7.02625 10.5466 7.94213C9.63074 8.858 9.11621 10.1002 9.11621 11.3954C9.11621 12.6907 9.63074 13.9329 10.5466 14.8488C11.4625 15.7646 12.7047 16.2792 13.9999 16.2792C15.2952 16.2792 16.5374 15.7646 17.4532 14.8488C18.3691 13.9329 18.8837 12.6907 18.8837 11.3954C18.8837 10.1002 18.3691 8.858 17.4532 7.94213C16.5374 7.02625 15.2952 6.51172 13.9999 6.51172ZM11.0697 11.3954C11.0697 10.6183 11.3784 9.87298 11.9279 9.32345C12.4775 8.77393 13.2228 8.46521 13.9999 8.46521C14.7771 8.46521 15.5224 8.77393 16.0719 9.32345C16.6214 9.87298 16.9302 10.6183 16.9302 11.3954C16.9302 12.1726 16.6214 12.9179 16.0719 13.4674C15.5224 14.017 14.7771 14.3257 13.9999 14.3257C13.2228 14.3257 12.4775 14.017 11.9279 13.4674C11.3784 12.9179 11.0697 12.1726 11.0697 11.3954Z'
|
||||
/>
|
||||
<path
|
||||
fillRule="evenodd"
|
||||
clipRule="evenodd"
|
||||
d="M14 0C8.1213 0 4.16093 3.52149 1.86233 6.50772L1.82195 6.56112C1.30102 7.23702 0.82307 7.85823 0.498791 8.59274C0.15107 9.38065 0 10.2389 0 11.3953C0 12.5518 0.15107 13.41 0.498791 14.198C0.824372 14.9325 1.30233 15.555 1.82195 16.2296L1.86363 16.283C4.16093 19.2692 8.1213 22.7907 14 22.7907C19.8787 22.7907 23.8391 19.2692 26.1377 16.283L26.178 16.2296C26.699 15.555 27.1769 14.9325 27.5012 14.198C27.8489 13.41 28 12.5518 28 11.3953C28 10.2389 27.8489 9.38065 27.5012 8.59274C27.1756 7.85823 26.6977 7.23702 26.178 6.56112L26.1364 6.50772C23.8391 3.52149 19.8787 0 14 0ZM3.41209 7.69935C5.53228 4.94233 8.98605 1.95349 14 1.95349C19.014 1.95349 22.4664 4.94233 24.5879 7.69935C25.1609 8.44167 25.4943 8.88447 25.7144 9.38195C25.9202 9.84819 26.0465 10.4173 26.0465 11.3953C26.0465 12.3734 25.9202 12.9425 25.7144 13.4087C25.4943 13.9062 25.1596 14.349 24.5892 15.0913C22.4651 17.8484 19.014 20.8372 14 20.8372C8.98605 20.8372 5.53358 17.8484 3.41209 15.0913C2.83907 14.349 2.50567 13.9062 2.28558 13.4087C2.07981 12.9425 1.95349 12.3734 1.95349 11.3953C1.95349 10.4173 2.07981 9.84819 2.28558 9.38195C2.50567 8.88447 2.84167 8.44167 3.41209 7.69935Z"
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
d='M14 0C8.1213 0 4.16093 3.52149 1.86233 6.50772L1.82195 6.56112C1.30102 7.23702 0.82307 7.85823 0.498791 8.59274C0.15107 9.38065 0 10.2389 0 11.3953C0 12.5518 0.15107 13.41 0.498791 14.198C0.824372 14.9325 1.30233 15.555 1.82195 16.2296L1.86363 16.283C4.16093 19.2692 8.1213 22.7907 14 22.7907C19.8787 22.7907 23.8391 19.2692 26.1377 16.283L26.178 16.2296C26.699 15.555 27.1769 14.9325 27.5012 14.198C27.8489 13.41 28 12.5518 28 11.3953C28 10.2389 27.8489 9.38065 27.5012 8.59274C27.1756 7.85823 26.6977 7.23702 26.178 6.56112L26.1364 6.50772C23.8391 3.52149 19.8787 0 14 0ZM3.41209 7.69935C5.53228 4.94233 8.98605 1.95349 14 1.95349C19.014 1.95349 22.4664 4.94233 24.5879 7.69935C25.1609 8.44167 25.4943 8.88447 25.7144 9.38195C25.9202 9.84819 26.0465 10.4173 26.0465 11.3953C26.0465 12.3734 25.9202 12.9425 25.7144 13.4087C25.4943 13.9062 25.1596 14.349 24.5892 15.0913C22.4651 17.8484 19.014 20.8372 14 20.8372C8.98605 20.8372 5.53358 17.8484 3.41209 15.0913C2.83907 14.349 2.50567 13.9062 2.28558 13.4087C2.07981 12.9425 1.95349 12.3734 1.95349 11.3953C1.95349 10.4173 2.07981 9.84819 2.28558 9.38195C2.50567 8.88447 2.84167 8.44167 3.41209 7.69935Z'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -44,10 +44,13 @@ With Vision, you can:
|
||||
In Sim Studio, the Vision integration enables your agents to analyze images with vision models as part of their workflows. This allows for powerful automation scenarios that require analyzing images with vision models. Your agents can analyze images with vision models, extract text from images, identify objects in images, describe images in detail, and generate images from text. This integration bridges the gap between your AI workflows and your image analysis needs, enabling more sophisticated and image-centric automations. By connecting Sim Studio with Vision, you can create agents that stay current with the latest information, provide more accurate responses, and deliver more value to users - all without requiring manual intervention or custom code.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Process visual content with customizable prompts to extract insights and information from images.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `vision_tool`
|
||||
@@ -56,37 +59,42 @@ Process and analyze images using advanced vision models. Capable of understandin
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ---------- | ------ | -------- | ----------------------------------------------------------- |
|
||||
| `apiKey` | string | Yes | API key for the selected model provider |
|
||||
| `imageUrl` | string | Yes | Publicly accessible image URL |
|
||||
| `model` | string | No | Vision model to use \(gpt-4o, claude-3-opus-20240229, etc\) |
|
||||
| `prompt` | string | No | Custom prompt for image analysis |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | API key for the selected model provider |
|
||||
| `imageUrl` | string | Yes | Publicly accessible image URL |
|
||||
| `model` | string | No | Vision model to use \(gpt-4o, claude-3-opus-20240229, etc\) |
|
||||
| `prompt` | string | No | Custom prompt for image analysis |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `content` | string |
|
||||
| `model` | string |
|
||||
| `tokens` | string |
|
||||
| `model` | string |
|
||||
| `tokens` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ----------- | ------ | ----------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `content` | string | content of the response |
|
||||
| ↳ `model` | any | model of the response |
|
||||
| ↳ `tokens` | any | tokens of the response |
|
||||
| ↳ `model` | any | model of the response |
|
||||
| ↳ `tokens` | any | tokens of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,21 +3,21 @@ title: WhatsApp
|
||||
description: Send WhatsApp messages
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="whatsapp"
|
||||
color="#25D366"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
|
||||
|
||||
fill="currentColor"
|
||||
viewBox="0 0 16 16"
|
||||
fill='currentColor'
|
||||
viewBox='0 0 16 16'
|
||||
>
|
||||
<path d="M13.601 2.326A7.85 7.85 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.9 7.9 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.9 7.9 0 0 0 13.6 2.326zM7.994 14.521a6.6 6.6 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.56 6.56 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592m3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.73.73 0 0 0-.529.247c-.182.198-.691.677-.691 1.654s.71 1.916.81 2.049c.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232" />
|
||||
<path d='M13.601 2.326A7.85 7.85 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.9 7.9 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.9 7.9 0 0 0 13.6 2.326zM7.994 14.521a6.6 6.6 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.56 6.56 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592m3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.73.73 0 0 0-.529.247c-.182.198-.691.677-.691 1.654s.71 1.916.81 2.049c.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232' />
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
@@ -34,10 +34,13 @@ WhatsApp Business API provides organizations with powerful capabilities to:
|
||||
In Sim Studio, the WhatsApp integration enables your agents to leverage these messaging capabilities as part of their workflows. This creates opportunities for sophisticated customer engagement scenarios like appointment reminders, verification codes, alerts, and interactive conversations. The integration bridges the gap between your AI workflows and customer communication channels, allowing your agents to deliver timely, relevant information directly to users' mobile devices. By connecting Sim Studio with WhatsApp, you can build intelligent agents that engage customers through their preferred messaging platform, enhancing user experience while automating routine messaging tasks.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Send messages to WhatsApp users using the WhatsApp Business API. Requires WhatsApp Business API configuration.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `whatsapp_send_message`
|
||||
@@ -46,36 +49,41 @@ Send WhatsApp messages
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------------- | ------ | -------- | ---------------------------------------- |
|
||||
| `phoneNumber` | string | Yes | Recipient phone number with country code |
|
||||
| `message` | string | Yes | Message content to send |
|
||||
| `phoneNumberId` | string | Yes | WhatsApp Business Phone Number ID |
|
||||
| `accessToken` | string | Yes | WhatsApp Business API Access Token |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `phoneNumber` | string | Yes | Recipient phone number with country code |
|
||||
| `message` | string | Yes | Message content to send |
|
||||
| `phoneNumberId` | string | Yes | WhatsApp Business Phone Number ID |
|
||||
| `accessToken` | string | Yes | WhatsApp Business API Access Token |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ----------- | ------ |
|
||||
| `success` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `success` | string |
|
||||
| `messageId` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ----------------------------------------------------------------------------------- |
|
||||
| `phoneNumber` | string | Yes | Recipient Phone Number - Enter phone number with country code \(e.g., +1234567890\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `phoneNumber` | string | Yes | Recipient Phone Number - Enter phone number with country code \(e.g., +1234567890\) |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ------------- | ------- | ------------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `success` | boolean | success of the response |
|
||||
| ↳ `messageId` | any | messageId of the response |
|
||||
| ↳ `error` | any | error of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `success` | boolean | success of the response |
|
||||
| ↳ `messageId` | any | messageId of the response |
|
||||
| ↳ `error` | any | error of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,16 +3,16 @@ title: X
|
||||
description: Interact with X
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="x"
|
||||
color="#000000"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" >
|
||||
iconSvg={`<svg className="block-icon" xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50' >
|
||||
<path
|
||||
d="M 5.9199219 6 L 20.582031 27.375 L 6.2304688 44 L 9.4101562 44 L 21.986328 29.421875 L 31.986328 44 L 44 44 L 28.681641 21.669922 L 42.199219 6 L 39.029297 6 L 27.275391 19.617188 L 17.933594 6 L 5.9199219 6 z M 9.7167969 8 L 16.880859 8 L 40.203125 42 L 33.039062 42 L 9.7167969 8 z"
|
||||
fill="currentColor"
|
||||
d='M 5.9199219 6 L 20.582031 27.375 L 6.2304688 44 L 9.4101562 44 L 21.986328 29.421875 L 31.986328 44 L 44 44 L 28.681641 21.669922 L 42.199219 6 L 39.029297 6 L 27.275391 19.617188 L 17.933594 6 L 5.9199219 6 z M 9.7167969 8 L 16.880859 8 L 40.203125 42 L 33.039062 42 L 9.7167969 8 z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -33,10 +33,13 @@ With the X integration, your agents can:
|
||||
In Sim Studio, the X integration enables sophisticated social media automation scenarios. Your agents can monitor brand mentions and respond appropriately, schedule and publish content based on specific triggers, conduct social listening for market research, or create interactive experiences that span both conversational AI and social media engagement. By connecting Sim Studio with X through OAuth, you can build intelligent agents that maintain a consistent and responsive social media presence while adhering to platform policies and best practices for API usage.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Connect with X to post tweets, read content, search for information, and access user profiles. Integrate social media capabilities into your workflow with comprehensive X platform access.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `x_write`
|
||||
@@ -45,26 +48,26 @@ Post new tweets, reply to tweets, or create polls on X (Twitter)
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ----------------------------------------- |
|
||||
| `accessToken` | string | Yes | X OAuth access token |
|
||||
| `text` | string | Yes | The text content of your tweet |
|
||||
| `replyTo` | string | No | ID of the tweet to reply to |
|
||||
| `mediaIds` | array | No | Array of media IDs to attach to the tweet |
|
||||
| `poll` | object | No | Poll configuration for the tweet |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | X OAuth access token |
|
||||
| `text` | string | Yes | The text content of your tweet |
|
||||
| `replyTo` | string | No | ID of the tweet to reply to |
|
||||
| `mediaIds` | array | No | Array of media IDs to attach to the tweet |
|
||||
| `poll` | object | No | Poll configuration for the tweet |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ----------------- | ------ |
|
||||
| `tweet` | string |
|
||||
| `text` | string |
|
||||
| `createdAt` | string |
|
||||
| `authorId` | string |
|
||||
| `conversationId` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `tweet` | string |
|
||||
| `text` | string |
|
||||
| `createdAt` | string |
|
||||
| `authorId` | string |
|
||||
| `conversationId` | string |
|
||||
| `inReplyToUserId` | string |
|
||||
| `attachments` | string |
|
||||
| `pollId` | string |
|
||||
| `attachments` | string |
|
||||
| `pollId` | string |
|
||||
|
||||
### `x_read`
|
||||
|
||||
@@ -72,17 +75,17 @@ Read tweet details, including replies and conversation context
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ---------------- | ------- | -------- | --------------------------------------- |
|
||||
| `accessToken` | string | Yes | X OAuth access token |
|
||||
| `tweetId` | string | Yes | ID of the tweet to read |
|
||||
| `includeReplies` | boolean | No | Whether to include replies to the tweet |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | X OAuth access token |
|
||||
| `tweetId` | string | Yes | ID of the tweet to read |
|
||||
| `includeReplies` | boolean | No | Whether to include replies to the tweet |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| `tweet` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `tweet` | string |
|
||||
| `context` | string |
|
||||
|
||||
### `x_search`
|
||||
@@ -91,23 +94,23 @@ Search for tweets using keywords, hashtags, or advanced queries
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ------------------------------------------------------------- |
|
||||
| `accessToken` | string | Yes | X OAuth access token |
|
||||
| `query` | string | Yes | Search query \(supports X search operators\) |
|
||||
| `maxResults` | number | No | Maximum number of results to return \(default: 10, max: 100\) |
|
||||
| `startTime` | string | No | Start time for search \(ISO 8601 format\) |
|
||||
| `endTime` | string | No | End time for search \(ISO 8601 format\) |
|
||||
| `sortOrder` | string | No | Sort order for results \(recency or relevancy\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | X OAuth access token |
|
||||
| `query` | string | Yes | Search query \(supports X search operators\) |
|
||||
| `maxResults` | number | No | Maximum number of results to return \(default: 10, max: 100\) |
|
||||
| `startTime` | string | No | Start time for search \(ISO 8601 format\) |
|
||||
| `endTime` | string | No | End time for search \(ISO 8601 format\) |
|
||||
| `sortOrder` | string | No | Sort order for results \(recency or relevancy\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| ---------- | ------ |
|
||||
| `tweets` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `tweets` | string |
|
||||
| `includes` | string |
|
||||
| `media` | string |
|
||||
| `polls` | string |
|
||||
| `media` | string |
|
||||
| `polls` | string |
|
||||
|
||||
### `x_user`
|
||||
|
||||
@@ -115,38 +118,43 @@ Get user profile information
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------- | ------ | -------- | ---------------------------------------- |
|
||||
| `accessToken` | string | Yes | X OAuth access token |
|
||||
| `username` | string | Yes | Username to look up \(without @ symbol\) |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessToken` | string | Yes | X OAuth access token |
|
||||
| `username` | string | Yes | Username to look up \(without @ symbol\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------- | ------ |
|
||||
| `user` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `user` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------- | ------ | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `operation` | string | Yes | Operation |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ---------------- | ------ | ---------------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `tweet` | json | tweet of the response |
|
||||
| ↳ `replies` | any | replies of the response |
|
||||
| ↳ `context` | any | context of the response |
|
||||
| ↳ `tweets` | json | tweets of the response |
|
||||
| ↳ `includes` | any | includes of the response |
|
||||
| ↳ `meta` | json | meta of the response |
|
||||
| ↳ `user` | json | user of the response |
|
||||
| ↳ `recentTweets` | any | recentTweets of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `tweet` | json | tweet of the response |
|
||||
| ↳ `replies` | any | replies of the response |
|
||||
| ↳ `context` | any | context of the response |
|
||||
| ↳ `tweets` | json | tweets of the response |
|
||||
| ↳ `includes` | any | includes of the response |
|
||||
| ↳ `meta` | json | meta of the response |
|
||||
| ↳ `user` | json | user of the response |
|
||||
| ↳ `recentTweets` | any | recentTweets of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -3,23 +3,23 @@ title: YouTube
|
||||
description: Search for videos on YouTube
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from '@/components/ui/block-info-card'
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
<BlockInfoCard
|
||||
type="youtube"
|
||||
color="#FF0000"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
|
||||
viewBox="0 0 28 20"
|
||||
fill="currentColor"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox='0 0 28 20'
|
||||
fill='currentColor'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
|
||||
>
|
||||
<path
|
||||
d="M11.2 14L18.466 9.8L11.2 5.6V14ZM27.384 3.038C27.566 3.696 27.692 4.578 27.776 5.698C27.874 6.818 27.916 7.784 27.916 8.624L28 9.8C28 12.866 27.776 15.12 27.384 16.562C27.034 17.822 26.222 18.634 24.962 18.984C24.304 19.166 23.1 19.292 21.252 19.376C19.432 19.474 17.766 19.516 16.226 19.516L14 19.6C8.134 19.6 4.48 19.376 3.038 18.984C1.778 18.634 0.966 17.822 0.616 16.562C0.434 15.904 0.308 15.022 0.224 13.902C0.126 12.782 0.0839999 11.816 0.0839999 10.976L0 9.8C0 6.734 0.224 4.48 0.616 3.038C0.966 1.778 1.778 0.966 3.038 0.616C3.696 0.434 4.9 0.308 6.748 0.224C8.568 0.126 10.234 0.0839999 11.774 0.0839999L14 0C19.866 0 23.52 0.224 24.962 0.616C26.222 0.966 27.034 1.778 27.384 3.038Z"
|
||||
fill="currentColor"
|
||||
d='M11.2 14L18.466 9.8L11.2 5.6V14ZM27.384 3.038C27.566 3.696 27.692 4.578 27.776 5.698C27.874 6.818 27.916 7.784 27.916 8.624L28 9.8C28 12.866 27.776 15.12 27.384 16.562C27.034 17.822 26.222 18.634 24.962 18.984C24.304 19.166 23.1 19.292 21.252 19.376C19.432 19.474 17.766 19.516 16.226 19.516L14 19.6C8.134 19.6 4.48 19.376 3.038 18.984C1.778 18.634 0.966 17.822 0.616 16.562C0.434 15.904 0.308 15.022 0.224 13.902C0.126 12.782 0.0839999 11.816 0.0839999 10.976L0 9.8C0 6.734 0.224 4.48 0.616 3.038C0.966 1.778 1.778 0.966 3.038 0.616C3.696 0.434 4.9 0.308 6.748 0.224C8.568 0.126 10.234 0.0839999 11.774 0.0839999L14 0C19.866 0 23.52 0.224 24.962 0.616C26.222 0.966 27.034 1.778 27.384 3.038Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
@@ -37,10 +37,13 @@ With YouTube's extensive API capabilities, you can:
|
||||
In Sim Studio, the YouTube integration enables your agents to programmatically search and analyze YouTube content as part of their workflows. This allows for powerful automation scenarios that require up-to-date video information. Your agents can search for instructional videos, research content trends, gather information from educational channels, or monitor specific creators for new uploads. This integration bridges the gap between your AI workflows and the world's largest video repository, enabling more sophisticated and content-aware automations. By connecting Sim Studio with YouTube, you can create agents that stay current with the latest information, provide more accurate responses, and deliver more value to users - all without requiring manual intervention or custom code.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Find relevant videos on YouTube using the YouTube Data API. Search for content with customizable result limits and retrieve structured video metadata for integration into your workflow.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `youtube_search`
|
||||
@@ -49,36 +52,41 @@ Search for videos on YouTube using the YouTube Data API.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------ | ------ | -------- | ---------------------------------- |
|
||||
| `query` | string | Yes | Search query for YouTube videos |
|
||||
| `apiKey` | string | Yes | YouTube API Key |
|
||||
| `maxResults` | number | No | Maximum number of videos to return |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `query` | string | Yes | Search query for YouTube videos |
|
||||
| `apiKey` | string | Yes | YouTube API Key |
|
||||
| `maxResults` | number | No | Maximum number of videos to return |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type |
|
||||
| --------------- | ------ |
|
||||
| `totalResults` | string |
|
||||
| Parameter | Type |
|
||||
| --------- | ---- |
|
||||
| `totalResults` | string |
|
||||
| `nextPageToken` | string |
|
||||
| `items` | string |
|
||||
| `items` | string |
|
||||
|
||||
|
||||
|
||||
## Block Configuration
|
||||
|
||||
### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ------ | -------- | --------------------------------------- |
|
||||
| `apiKey` | string | Yes | YouTube API Key - Enter YouTube API Key |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | YouTube API Key - Enter YouTube API Key |
|
||||
|
||||
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Type | Description |
|
||||
| ---------------- | ------ | ---------------------------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `items` | json | items of the response |
|
||||
| Output | Type | Description |
|
||||
| ------ | ---- | ----------- |
|
||||
| `response` | object | Output from response |
|
||||
| ↳ `items` | json | items of the response |
|
||||
| ↳ `totalResults` | number | totalResults of the response |
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
- Category: `tools`
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
"dev": "next dev --port 3001",
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"postinstall": "fumadocs-mdx"
|
||||
"postinstall": "fumadocs-mdx",
|
||||
"type-check": "tsc --noEmit"
|
||||
},
|
||||
"dependencies": {
|
||||
"@tabler/icons-react": "^3.31.0",
|
||||
|
||||
@@ -98,24 +98,24 @@ export function SocialLoginButtons({
|
||||
|
||||
const githubButton = (
|
||||
<Button
|
||||
variant="outline"
|
||||
className="w-full bg-neutral-900 border-neutral-700 text-white hover:bg-neutral-800 hover:text-white"
|
||||
variant='outline'
|
||||
className='w-full border-neutral-700 bg-neutral-900 text-white hover:bg-neutral-800 hover:text-white'
|
||||
disabled={!githubAvailable || isGithubLoading}
|
||||
onClick={signInWithGithub}
|
||||
>
|
||||
<GithubIcon className="mr-2 h-4 w-4" />
|
||||
<GithubIcon className='mr-2 h-4 w-4' />
|
||||
{isGithubLoading ? 'Connecting...' : 'Continue with GitHub'}
|
||||
</Button>
|
||||
)
|
||||
|
||||
const googleButton = (
|
||||
<Button
|
||||
variant="outline"
|
||||
className="w-full bg-neutral-900 border-neutral-700 text-white hover:bg-neutral-800 hover:text-white"
|
||||
variant='outline'
|
||||
className='w-full border-neutral-700 bg-neutral-900 text-white hover:bg-neutral-800 hover:text-white'
|
||||
disabled={!googleAvailable || isGoogleLoading}
|
||||
onClick={signInWithGoogle}
|
||||
>
|
||||
<GoogleIcon className="mr-2 h-4 w-4" />
|
||||
<GoogleIcon className='mr-2 h-4 w-4' />
|
||||
{isGoogleLoading ? 'Connecting...' : 'Continue with Google'}
|
||||
</Button>
|
||||
)
|
||||
@@ -129,12 +129,12 @@ export function SocialLoginButtons({
|
||||
<TooltipTrigger asChild>
|
||||
<div>{githubButton}</div>
|
||||
</TooltipTrigger>
|
||||
<TooltipContent className="bg-neutral-800 text-white border-neutral-700">
|
||||
<TooltipContent className='border-neutral-700 bg-neutral-800 text-white'>
|
||||
<p>
|
||||
GitHub login requires OAuth credentials to be configured. Add the following
|
||||
environment variables:
|
||||
</p>
|
||||
<ul className="mt-2 text-xs space-y-1 text-neutral-300">
|
||||
<ul className='mt-2 space-y-1 text-neutral-300 text-xs'>
|
||||
<li>• GITHUB_CLIENT_ID</li>
|
||||
<li>• GITHUB_CLIENT_SECRET</li>
|
||||
</ul>
|
||||
@@ -153,12 +153,12 @@ export function SocialLoginButtons({
|
||||
<TooltipTrigger asChild>
|
||||
<div>{googleButton}</div>
|
||||
</TooltipTrigger>
|
||||
<TooltipContent className="bg-neutral-800 text-white border-neutral-700">
|
||||
<TooltipContent className='border-neutral-700 bg-neutral-800 text-white'>
|
||||
<p>
|
||||
Google login requires OAuth credentials to be configured. Add the following
|
||||
environment variables:
|
||||
</p>
|
||||
<ul className="mt-2 text-xs space-y-1 text-neutral-300">
|
||||
<ul className='mt-2 space-y-1 text-neutral-300 text-xs'>
|
||||
<li>• GOOGLE_CLIENT_ID</li>
|
||||
<li>• GOOGLE_CLIENT_SECRET</li>
|
||||
</ul>
|
||||
@@ -169,7 +169,7 @@ export function SocialLoginButtons({
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="grid gap-3">
|
||||
<div className='grid gap-3'>
|
||||
{renderGithubButton()}
|
||||
{renderGoogleButton()}
|
||||
</div>
|
||||
|
||||
@@ -7,33 +7,33 @@ import { NotificationList } from '../w/[id]/components/notifications/notificatio
|
||||
|
||||
export default function AuthLayout({ children }: { children: React.ReactNode }) {
|
||||
return (
|
||||
<main className="min-h-screen bg-[#0C0C0C] text-white relative font-geist-sans flex flex-col">
|
||||
<main className='relative flex min-h-screen flex-col bg-[#0C0C0C] font-geist-sans text-white'>
|
||||
{/* Background pattern */}
|
||||
<GridPattern
|
||||
x={-5}
|
||||
y={-5}
|
||||
className="stroke-[#ababab]/5 absolute inset-0 z-0"
|
||||
className='absolute inset-0 z-0 stroke-[#ababab]/5'
|
||||
width={90}
|
||||
height={90}
|
||||
aria-hidden="true"
|
||||
aria-hidden='true'
|
||||
/>
|
||||
|
||||
{/* Header */}
|
||||
<div className="px-6 pt-9 relative z-10">
|
||||
<div className="max-w-7xl mx-auto">
|
||||
<Link href="/" className="inline-flex">
|
||||
<Image src="/sim.svg" alt="Sim Logo" width={42} height={42} />
|
||||
<div className='relative z-10 px-6 pt-9'>
|
||||
<div className='mx-auto max-w-7xl'>
|
||||
<Link href='/' className='inline-flex'>
|
||||
<Image src='/sim.svg' alt='Sim Logo' width={42} height={42} />
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Content */}
|
||||
<div className="flex-1 flex items-center justify-center px-4 pb-6 relative z-10">
|
||||
<div className="w-full max-w-md">{children}</div>
|
||||
<div className='relative z-10 flex flex-1 items-center justify-center px-4 pb-6'>
|
||||
<div className='w-full max-w-md'>{children}</div>
|
||||
</div>
|
||||
|
||||
{/* Notifications */}
|
||||
<div className="fixed bottom-4 right-4 z-50">
|
||||
<div className='fixed right-4 bottom-4 z-50'>
|
||||
<NotificationList />
|
||||
</div>
|
||||
</main>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
'use client'
|
||||
|
||||
import { useEffect, useState } from 'react'
|
||||
import { Eye, EyeOff } from 'lucide-react'
|
||||
import Link from 'next/link'
|
||||
import { useRouter, useSearchParams } from 'next/navigation'
|
||||
import { Eye, EyeOff } from 'lucide-react'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Dialog, DialogContent, DialogHeader, DialogTitle } from '@/components/ui/dialog'
|
||||
import { Input } from '@/components/ui/input'
|
||||
@@ -47,7 +47,7 @@ export default function LoginPage({
|
||||
const router = useRouter()
|
||||
const searchParams = useSearchParams()
|
||||
const [isLoading, setIsLoading] = useState(false)
|
||||
const [mounted, setMounted] = useState(false)
|
||||
const [_mounted, setMounted] = useState(false)
|
||||
const [showPassword, setShowPassword] = useState(false)
|
||||
const [password, setPassword] = useState('')
|
||||
const [passwordErrors, setPasswordErrors] = useState<string[]>([])
|
||||
@@ -121,11 +121,12 @@ export default function LoginPage({
|
||||
{
|
||||
onError: (ctx) => {
|
||||
console.error('Login error:', ctx.error)
|
||||
let errorMessage: string[] = ['Invalid email or password']
|
||||
const errorMessage: string[] = ['Invalid email or password']
|
||||
|
||||
if (ctx.error.code?.includes('EMAIL_NOT_VERIFIED')) {
|
||||
return
|
||||
} else if (
|
||||
}
|
||||
if (
|
||||
ctx.error.code?.includes('BAD_REQUEST') ||
|
||||
ctx.error.message?.includes('Email and password sign in is not enabled')
|
||||
) {
|
||||
@@ -189,9 +190,9 @@ export default function LoginPage({
|
||||
sessionStorage.setItem('verificationEmail', email)
|
||||
}
|
||||
|
||||
router.push(`/verify`)
|
||||
router.push('/verify')
|
||||
return
|
||||
} catch (verifyErr) {
|
||||
} catch (_verifyErr) {
|
||||
setPasswordErrors(['Failed to send verification code. Please try again later.'])
|
||||
setShowValidationError(true)
|
||||
setIsLoading(false)
|
||||
@@ -255,16 +256,16 @@ export default function LoginPage({
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="space-y-6">
|
||||
<div className="space-y-2 text-center">
|
||||
<h1 className="text-[32px] font-semibold tracking-tight text-white">Sign In</h1>
|
||||
<p className="text-sm text-neutral-400">
|
||||
<div className='space-y-6'>
|
||||
<div className='space-y-2 text-center'>
|
||||
<h1 className='font-semibold text-[32px] text-white tracking-tight'>Sign In</h1>
|
||||
<p className='text-neutral-400 text-sm'>
|
||||
Enter your email below to sign in to your account
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className="flex flex-col gap-6">
|
||||
<div className="bg-neutral-800/50 backdrop-blur-sm border border-neutral-700/40 rounded-xl p-6">
|
||||
<div className='flex flex-col gap-6'>
|
||||
<div className='rounded-xl border border-neutral-700/40 bg-neutral-800/50 p-6 backdrop-blur-sm'>
|
||||
<SocialLoginButtons
|
||||
googleAvailable={googleAvailable}
|
||||
githubAvailable={githubAvailable}
|
||||
@@ -272,53 +273,53 @@ export default function LoginPage({
|
||||
callbackURL={callbackUrl}
|
||||
/>
|
||||
|
||||
<div className="relative py-4 mt-2">
|
||||
<div className="absolute inset-0 flex items-center">
|
||||
<div className="w-full border-t border-neutral-700/50"></div>
|
||||
<div className='relative mt-2 py-4'>
|
||||
<div className='absolute inset-0 flex items-center'>
|
||||
<div className='w-full border-neutral-700/50 border-t' />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form onSubmit={onSubmit} className="space-y-5">
|
||||
<div className="space-y-4">
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="email" className="text-neutral-300">
|
||||
<form onSubmit={onSubmit} className='space-y-5'>
|
||||
<div className='space-y-4'>
|
||||
<div className='space-y-2'>
|
||||
<Label htmlFor='email' className='text-neutral-300'>
|
||||
Email
|
||||
</Label>
|
||||
<Input
|
||||
id="email"
|
||||
name="email"
|
||||
placeholder="Enter your email"
|
||||
id='email'
|
||||
name='email'
|
||||
placeholder='Enter your email'
|
||||
required
|
||||
type="email"
|
||||
autoCapitalize="none"
|
||||
autoComplete="email"
|
||||
autoCorrect="off"
|
||||
className="bg-neutral-900 border-neutral-700 text-white placeholder:text-white/60"
|
||||
type='email'
|
||||
autoCapitalize='none'
|
||||
autoComplete='email'
|
||||
autoCorrect='off'
|
||||
className='border-neutral-700 bg-neutral-900 text-white placeholder:text-white/60'
|
||||
/>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<div className="flex items-center justify-between">
|
||||
<Label htmlFor="password" className="text-neutral-300">
|
||||
<div className='space-y-2'>
|
||||
<div className='flex items-center justify-between'>
|
||||
<Label htmlFor='password' className='text-neutral-300'>
|
||||
Password
|
||||
</Label>
|
||||
<button
|
||||
type="button"
|
||||
type='button'
|
||||
onClick={() => setForgotPasswordOpen(true)}
|
||||
className="text-xs text-neutral-400 hover:text-white transition font-medium"
|
||||
className='font-medium text-neutral-400 text-xs transition hover:text-white'
|
||||
>
|
||||
Forgot password?
|
||||
</button>
|
||||
</div>
|
||||
<div className="relative">
|
||||
<div className='relative'>
|
||||
<Input
|
||||
id="password"
|
||||
name="password"
|
||||
id='password'
|
||||
name='password'
|
||||
required
|
||||
type={showPassword ? 'text' : 'password'}
|
||||
autoCapitalize="none"
|
||||
autoComplete="current-password"
|
||||
autoCorrect="off"
|
||||
placeholder="Enter your password"
|
||||
autoCapitalize='none'
|
||||
autoComplete='current-password'
|
||||
autoCorrect='off'
|
||||
placeholder='Enter your password'
|
||||
value={password}
|
||||
onChange={(e) => {
|
||||
setPassword(e.target.value)
|
||||
@@ -327,19 +328,19 @@ export default function LoginPage({
|
||||
setPasswordErrors([])
|
||||
}
|
||||
}}
|
||||
className="bg-neutral-900 border-neutral-700 text-white pr-10 placeholder:text-white/60"
|
||||
className='border-neutral-700 bg-neutral-900 pr-10 text-white placeholder:text-white/60'
|
||||
/>
|
||||
<button
|
||||
type="button"
|
||||
type='button'
|
||||
onClick={() => setShowPassword(!showPassword)}
|
||||
className="absolute right-3 top-1/2 -translate-y-1/2 text-neutral-400 hover:text-white transition"
|
||||
className='-translate-y-1/2 absolute top-1/2 right-3 text-neutral-400 transition hover:text-white'
|
||||
aria-label={showPassword ? 'Hide password' : 'Show password'}
|
||||
>
|
||||
{showPassword ? <EyeOff size={18} /> : <Eye size={18} />}
|
||||
</button>
|
||||
</div>
|
||||
{showValidationError && passwordErrors.length > 0 && (
|
||||
<div className="text-xs text-red-400 mt-1 space-y-1">
|
||||
<div className='mt-1 space-y-1 text-red-400 text-xs'>
|
||||
{passwordErrors.map((error, index) => (
|
||||
<p key={index}>{error}</p>
|
||||
))}
|
||||
@@ -349,8 +350,8 @@ export default function LoginPage({
|
||||
</div>
|
||||
|
||||
<Button
|
||||
type="submit"
|
||||
className="w-full bg-[#701ffc] hover:bg-[#802FFF] h-11 font-medium text-base text-white shadow-lg shadow-[#701ffc]/20 transition-colors duration-200 flex items-center justify-center gap-2"
|
||||
type='submit'
|
||||
className='flex h-11 w-full items-center justify-center gap-2 bg-[#701ffc] font-medium text-base text-white shadow-[#701ffc]/20 shadow-lg transition-colors duration-200 hover:bg-[#802FFF]'
|
||||
disabled={isLoading}
|
||||
>
|
||||
{isLoading ? 'Signing in...' : 'Sign In'}
|
||||
@@ -358,11 +359,11 @@ export default function LoginPage({
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div className="text-center text-sm">
|
||||
<span className="text-neutral-400">Don't have an account? </span>
|
||||
<div className='text-center text-sm'>
|
||||
<span className='text-neutral-400'>Don't have an account? </span>
|
||||
<Link
|
||||
href={isInviteFlow ? `/signup?invite_flow=true&callbackUrl=${callbackUrl}` : '/signup'}
|
||||
className="text-[#9D54FF] hover:text-[#a66fff] font-medium transition underline-offset-4 hover:underline"
|
||||
className='font-medium text-[#9D54FF] underline-offset-4 transition hover:text-[#a66fff] hover:underline'
|
||||
>
|
||||
Sign up
|
||||
</Link>
|
||||
@@ -370,28 +371,28 @@ export default function LoginPage({
|
||||
</div>
|
||||
|
||||
<Dialog open={forgotPasswordOpen} onOpenChange={setForgotPasswordOpen}>
|
||||
<DialogContent className="bg-neutral-800/90 border border-neutral-700/50 text-white backdrop-blur-sm">
|
||||
<DialogContent className='border border-neutral-700/50 bg-neutral-800/90 text-white backdrop-blur-sm'>
|
||||
<DialogHeader>
|
||||
<DialogTitle className="text-xl font-semibold tracking-tight text-white">
|
||||
<DialogTitle className='font-semibold text-white text-xl tracking-tight'>
|
||||
Reset Password
|
||||
</DialogTitle>
|
||||
</DialogHeader>
|
||||
<div className="space-y-4">
|
||||
<div className="text-sm text-neutral-300">
|
||||
<div className='space-y-4'>
|
||||
<div className='text-neutral-300 text-sm'>
|
||||
Enter your email address and we'll send you a link to reset your password.
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="reset-email" className="text-neutral-300">
|
||||
<div className='space-y-2'>
|
||||
<Label htmlFor='reset-email' className='text-neutral-300'>
|
||||
Email
|
||||
</Label>
|
||||
<Input
|
||||
id="reset-email"
|
||||
id='reset-email'
|
||||
value={forgotPasswordEmail}
|
||||
onChange={(e) => setForgotPasswordEmail(e.target.value)}
|
||||
placeholder="Enter your email"
|
||||
placeholder='Enter your email'
|
||||
required
|
||||
type="email"
|
||||
className="bg-neutral-900 border-neutral-700/80 text-white focus:border-[#802FFF]/70 focus:ring-[#802FFF]/20 placeholder:text-white/60"
|
||||
type='email'
|
||||
className='border-neutral-700/80 bg-neutral-900 text-white placeholder:text-white/60 focus:border-[#802FFF]/70 focus:ring-[#802FFF]/20'
|
||||
/>
|
||||
</div>
|
||||
{resetStatus.type && (
|
||||
@@ -404,9 +405,9 @@ export default function LoginPage({
|
||||
</div>
|
||||
)}
|
||||
<Button
|
||||
type="button"
|
||||
type='button'
|
||||
onClick={handleForgotPassword}
|
||||
className="w-full bg-[#701ffc] hover:bg-[#802FFF] h-11 font-medium text-base text-white shadow-lg shadow-[#701ffc]/20 transition-colors duration-200"
|
||||
className='h-11 w-full bg-[#701ffc] font-medium text-base text-white shadow-[#701ffc]/20 shadow-lg transition-colors duration-200 hover:bg-[#802FFF]'
|
||||
disabled={isSubmittingReset}
|
||||
>
|
||||
{isSubmittingReset ? 'Sending...' : 'Send Reset Link'}
|
||||
|
||||
@@ -82,10 +82,10 @@ function ResetPasswordContent() {
|
||||
}
|
||||
|
||||
return (
|
||||
<main className="flex min-h-screen flex-col items-center justify-center bg-gray-50">
|
||||
<div className="sm:mx-auto sm:w-full sm:max-w-md">
|
||||
<h1 className="text-2xl font-bold text-center mb-8">Sim Studio</h1>
|
||||
<Card className="w-full">
|
||||
<main className='flex min-h-screen flex-col items-center justify-center bg-gray-50'>
|
||||
<div className='sm:mx-auto sm:w-full sm:max-w-md'>
|
||||
<h1 className='mb-8 text-center font-bold text-2xl'>Sim Studio</h1>
|
||||
<Card className='w-full'>
|
||||
<CardHeader>
|
||||
<CardTitle>Reset your password</CardTitle>
|
||||
<CardDescription>Enter a new password for your account</CardDescription>
|
||||
@@ -100,8 +100,8 @@ function ResetPasswordContent() {
|
||||
/>
|
||||
</CardContent>
|
||||
<CardFooter>
|
||||
<p className="text-sm text-gray-500 text-center w-full">
|
||||
<Link href="/login" className="text-primary hover:underline">
|
||||
<p className='w-full text-center text-gray-500 text-sm'>
|
||||
<Link href='/login' className='text-primary hover:underline'>
|
||||
Back to login
|
||||
</Link>
|
||||
</p>
|
||||
@@ -115,7 +115,7 @@ function ResetPasswordContent() {
|
||||
export default function ResetPasswordPage() {
|
||||
return (
|
||||
<Suspense
|
||||
fallback={<div className="flex min-h-screen items-center justify-center">Loading...</div>}
|
||||
fallback={<div className='flex min-h-screen items-center justify-center'>Loading...</div>}
|
||||
>
|
||||
<ResetPasswordContent />
|
||||
</Suspense>
|
||||
|
||||
@@ -33,20 +33,20 @@ export function RequestResetForm({
|
||||
|
||||
return (
|
||||
<form onSubmit={handleSubmit} className={className}>
|
||||
<div className="grid gap-4">
|
||||
<div className="grid gap-2">
|
||||
<Label htmlFor="reset-email">Email</Label>
|
||||
<div className='grid gap-4'>
|
||||
<div className='grid gap-2'>
|
||||
<Label htmlFor='reset-email'>Email</Label>
|
||||
<Input
|
||||
id="reset-email"
|
||||
id='reset-email'
|
||||
value={email}
|
||||
onChange={(e) => onEmailChange(e.target.value)}
|
||||
placeholder="your@email.com"
|
||||
type="email"
|
||||
placeholder='your@email.com'
|
||||
type='email'
|
||||
disabled={isSubmitting}
|
||||
required
|
||||
className="placeholder:text-white/60"
|
||||
className='placeholder:text-white/60'
|
||||
/>
|
||||
<p className="text-sm text-muted-foreground">
|
||||
<p className='text-muted-foreground text-sm'>
|
||||
We'll send a password reset link to this email address.
|
||||
</p>
|
||||
</div>
|
||||
@@ -55,20 +55,20 @@ export function RequestResetForm({
|
||||
{statusType && (
|
||||
<div
|
||||
className={cn(
|
||||
'p-3 rounded-md text-sm border',
|
||||
'rounded-md border p-3 text-sm',
|
||||
statusType === 'success'
|
||||
? 'bg-green-50 text-green-700 border-green-200'
|
||||
: 'bg-red-50 text-red-700 border-red-200'
|
||||
? 'border-green-200 bg-green-50 text-green-700'
|
||||
: 'border-red-200 bg-red-50 text-red-700'
|
||||
)}
|
||||
>
|
||||
{statusMessage}
|
||||
</div>
|
||||
)}
|
||||
|
||||
<Button type="submit" disabled={isSubmitting} className="w-full">
|
||||
<Button type='submit' disabled={isSubmitting} className='w-full'>
|
||||
{isSubmitting ? (
|
||||
<>
|
||||
<Loader2 className="mr-2 h-4 w-4 animate-spin" />
|
||||
<Loader2 className='mr-2 h-4 w-4 animate-spin' />
|
||||
Sending...
|
||||
</>
|
||||
) : (
|
||||
@@ -121,42 +121,42 @@ export function SetNewPasswordForm({
|
||||
|
||||
return (
|
||||
<form onSubmit={handleSubmit} className={className}>
|
||||
<div className="grid gap-4">
|
||||
<div className="grid gap-2">
|
||||
<Label htmlFor="password">New Password</Label>
|
||||
<div className='grid gap-4'>
|
||||
<div className='grid gap-2'>
|
||||
<Label htmlFor='password'>New Password</Label>
|
||||
<Input
|
||||
id="password"
|
||||
type="password"
|
||||
autoCapitalize="none"
|
||||
autoComplete="new-password"
|
||||
autoCorrect="off"
|
||||
id='password'
|
||||
type='password'
|
||||
autoCapitalize='none'
|
||||
autoComplete='new-password'
|
||||
autoCorrect='off'
|
||||
disabled={isSubmitting || !token}
|
||||
value={password}
|
||||
onChange={(e) => setPassword(e.target.value)}
|
||||
required
|
||||
placeholder="Enter new password"
|
||||
className="placeholder:text-white/60"
|
||||
placeholder='Enter new password'
|
||||
className='placeholder:text-white/60'
|
||||
/>
|
||||
</div>
|
||||
<div className="grid gap-2">
|
||||
<Label htmlFor="confirmPassword">Confirm Password</Label>
|
||||
<div className='grid gap-2'>
|
||||
<Label htmlFor='confirmPassword'>Confirm Password</Label>
|
||||
<Input
|
||||
id="confirmPassword"
|
||||
type="password"
|
||||
autoCapitalize="none"
|
||||
autoComplete="new-password"
|
||||
autoCorrect="off"
|
||||
id='confirmPassword'
|
||||
type='password'
|
||||
autoCapitalize='none'
|
||||
autoComplete='new-password'
|
||||
autoCorrect='off'
|
||||
disabled={isSubmitting || !token}
|
||||
value={confirmPassword}
|
||||
onChange={(e) => setConfirmPassword(e.target.value)}
|
||||
required
|
||||
placeholder="Confirm new password"
|
||||
className="placeholder:text-white/60"
|
||||
placeholder='Confirm new password'
|
||||
className='placeholder:text-white/60'
|
||||
/>
|
||||
</div>
|
||||
|
||||
{validationMessage && (
|
||||
<div className="p-3 rounded-md text-sm border bg-red-50 text-red-700 border-red-200">
|
||||
<div className='rounded-md border border-red-200 bg-red-50 p-3 text-red-700 text-sm'>
|
||||
{validationMessage}
|
||||
</div>
|
||||
)}
|
||||
@@ -164,20 +164,20 @@ export function SetNewPasswordForm({
|
||||
{statusType && (
|
||||
<div
|
||||
className={cn(
|
||||
'p-3 rounded-md text-sm border',
|
||||
'rounded-md border p-3 text-sm',
|
||||
statusType === 'success'
|
||||
? 'bg-green-50 text-green-700 border-green-200'
|
||||
: 'bg-red-50 text-red-700 border-red-200'
|
||||
? 'border-green-200 bg-green-50 text-green-700'
|
||||
: 'border-red-200 bg-red-50 text-red-700'
|
||||
)}
|
||||
>
|
||||
{statusMessage}
|
||||
</div>
|
||||
)}
|
||||
|
||||
<Button disabled={isSubmitting || !token} type="submit" className="w-full">
|
||||
<Button disabled={isSubmitting || !token} type='submit' className='w-full'>
|
||||
{isSubmitting ? (
|
||||
<>
|
||||
<Loader2 className="mr-2 h-4 w-4 animate-spin" />
|
||||
<Loader2 className='mr-2 h-4 w-4 animate-spin' />
|
||||
Resetting...
|
||||
</>
|
||||
) : (
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
'use client'
|
||||
|
||||
import { Suspense, useEffect, useState } from 'react'
|
||||
import { Eye, EyeOff } from 'lucide-react'
|
||||
import Link from 'next/link'
|
||||
import { useRouter, useSearchParams } from 'next/navigation'
|
||||
import { Eye, EyeOff } from 'lucide-react'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Input } from '@/components/ui/input'
|
||||
import { Label } from '@/components/ui/label'
|
||||
@@ -186,7 +186,7 @@ function SignupFormContent({
|
||||
{
|
||||
onError: (ctx) => {
|
||||
console.error('Signup error:', ctx.error)
|
||||
let errorMessage: string[] = ['Failed to create account']
|
||||
const errorMessage: string[] = ['Failed to create account']
|
||||
|
||||
if (ctx.error.code?.includes('USER_ALREADY_EXISTS')) {
|
||||
errorMessage.push(
|
||||
@@ -280,14 +280,14 @@ function SignupFormContent({
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="space-y-6">
|
||||
<div className="space-y-2 text-center">
|
||||
<h1 className="text-[32px] font-semibold tracking-tight text-white">Create Account</h1>
|
||||
<p className="text-sm text-neutral-400">Enter your details to create a new account</p>
|
||||
<div className='space-y-6'>
|
||||
<div className='space-y-2 text-center'>
|
||||
<h1 className='font-semibold text-[32px] text-white tracking-tight'>Create Account</h1>
|
||||
<p className='text-neutral-400 text-sm'>Enter your details to create a new account</p>
|
||||
</div>
|
||||
|
||||
<div className="flex flex-col gap-6">
|
||||
<div className="bg-neutral-800/50 backdrop-blur-sm border border-neutral-700/40 rounded-xl p-6">
|
||||
<div className='flex flex-col gap-6'>
|
||||
<div className='rounded-xl border border-neutral-700/40 bg-neutral-800/50 p-6 backdrop-blur-sm'>
|
||||
<SocialLoginButtons
|
||||
githubAvailable={githubAvailable}
|
||||
googleAvailable={googleAvailable}
|
||||
@@ -295,84 +295,84 @@ function SignupFormContent({
|
||||
isProduction={isProduction}
|
||||
/>
|
||||
|
||||
<div className="relative py-4 mt-2">
|
||||
<div className="absolute inset-0 flex items-center">
|
||||
<div className="w-full border-t border-neutral-700/50"></div>
|
||||
<div className='relative mt-2 py-4'>
|
||||
<div className='absolute inset-0 flex items-center'>
|
||||
<div className='w-full border-neutral-700/50 border-t' />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form onSubmit={onSubmit} className="space-y-5">
|
||||
<div className="space-y-4">
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="name" className="text-neutral-300">
|
||||
<form onSubmit={onSubmit} className='space-y-5'>
|
||||
<div className='space-y-4'>
|
||||
<div className='space-y-2'>
|
||||
<Label htmlFor='name' className='text-neutral-300'>
|
||||
Full Name
|
||||
</Label>
|
||||
<Input
|
||||
id="name"
|
||||
name="name"
|
||||
placeholder="Enter your name"
|
||||
id='name'
|
||||
name='name'
|
||||
placeholder='Enter your name'
|
||||
required
|
||||
type="text"
|
||||
autoCapitalize="words"
|
||||
autoComplete="name"
|
||||
className="bg-neutral-900 border-neutral-700 text-white placeholder:text-white/60"
|
||||
type='text'
|
||||
autoCapitalize='words'
|
||||
autoComplete='name'
|
||||
className='border-neutral-700 bg-neutral-900 text-white placeholder:text-white/60'
|
||||
/>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="email" className="text-neutral-300">
|
||||
<div className='space-y-2'>
|
||||
<Label htmlFor='email' className='text-neutral-300'>
|
||||
Email
|
||||
</Label>
|
||||
<Input
|
||||
id="email"
|
||||
name="email"
|
||||
placeholder="Enter your email"
|
||||
id='email'
|
||||
name='email'
|
||||
placeholder='Enter your email'
|
||||
required
|
||||
type="email"
|
||||
autoCapitalize="none"
|
||||
autoComplete="email"
|
||||
autoCorrect="off"
|
||||
type='email'
|
||||
autoCapitalize='none'
|
||||
autoComplete='email'
|
||||
autoCorrect='off'
|
||||
value={email}
|
||||
onChange={handleEmailChange}
|
||||
className={cn(
|
||||
'bg-neutral-900 border-neutral-700 text-white placeholder:text-white/60',
|
||||
'border-neutral-700 bg-neutral-900 text-white placeholder:text-white/60',
|
||||
emailError && 'border-red-500 focus-visible:ring-red-500'
|
||||
)}
|
||||
/>
|
||||
{emailError && (
|
||||
<div className="text-xs text-red-400 mt-1">
|
||||
<div className='mt-1 text-red-400 text-xs'>
|
||||
<p>{emailError}</p>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="password" className="text-neutral-300">
|
||||
<div className='space-y-2'>
|
||||
<Label htmlFor='password' className='text-neutral-300'>
|
||||
Password
|
||||
</Label>
|
||||
<div className="relative">
|
||||
<div className='relative'>
|
||||
<Input
|
||||
id="password"
|
||||
name="password"
|
||||
id='password'
|
||||
name='password'
|
||||
required
|
||||
type={showPassword ? 'text' : 'password'}
|
||||
autoCapitalize="none"
|
||||
autoComplete="new-password"
|
||||
placeholder="Enter your password"
|
||||
autoCorrect="off"
|
||||
autoCapitalize='none'
|
||||
autoComplete='new-password'
|
||||
placeholder='Enter your password'
|
||||
autoCorrect='off'
|
||||
value={password}
|
||||
onChange={handlePasswordChange}
|
||||
className="bg-neutral-900 border-neutral-700 text-white pr-10 placeholder:text-white/60"
|
||||
className='border-neutral-700 bg-neutral-900 pr-10 text-white placeholder:text-white/60'
|
||||
/>
|
||||
<button
|
||||
type="button"
|
||||
type='button'
|
||||
onClick={() => setShowPassword(!showPassword)}
|
||||
className="absolute right-3 top-1/2 -translate-y-1/2 text-neutral-400 hover:text-white transition"
|
||||
className='-translate-y-1/2 absolute top-1/2 right-3 text-neutral-400 transition hover:text-white'
|
||||
aria-label={showPassword ? 'Hide password' : 'Show password'}
|
||||
>
|
||||
{showPassword ? <EyeOff size={18} /> : <Eye size={18} />}
|
||||
</button>
|
||||
</div>
|
||||
{showValidationError && passwordErrors.length > 0 && (
|
||||
<div className="text-xs text-red-400 mt-1 space-y-1">
|
||||
<div className='mt-1 space-y-1 text-red-400 text-xs'>
|
||||
{passwordErrors.map((error, index) => (
|
||||
<p key={index}>{error}</p>
|
||||
))}
|
||||
@@ -382,8 +382,8 @@ function SignupFormContent({
|
||||
</div>
|
||||
|
||||
<Button
|
||||
type="submit"
|
||||
className="w-full bg-[#701ffc] hover:bg-[#802FFF] h-11 font-medium text-base text-white shadow-lg shadow-[#701ffc]/20 transition-colors duration-200 flex items-center justify-center gap-2"
|
||||
type='submit'
|
||||
className='flex h-11 w-full items-center justify-center gap-2 bg-[#701ffc] font-medium text-base text-white shadow-[#701ffc]/20 shadow-lg transition-colors duration-200 hover:bg-[#802FFF]'
|
||||
disabled={isLoading}
|
||||
>
|
||||
{isLoading ? 'Creating account...' : 'Create Account'}
|
||||
@@ -391,11 +391,11 @@ function SignupFormContent({
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div className="text-center text-sm">
|
||||
<span className="text-neutral-400">Already have an account? </span>
|
||||
<div className='text-center text-sm'>
|
||||
<span className='text-neutral-400'>Already have an account? </span>
|
||||
<Link
|
||||
href={isInviteFlow ? `/login?invite_flow=true&callbackUrl=${redirectUrl}` : '/login'}
|
||||
className="text-[#9D54FF] hover:text-[#a66fff] font-medium transition underline-offset-4 hover:underline"
|
||||
className='font-medium text-[#9D54FF] underline-offset-4 transition hover:text-[#a66fff] hover:underline'
|
||||
>
|
||||
Sign in
|
||||
</Link>
|
||||
@@ -416,7 +416,7 @@ export default function SignupPage({
|
||||
}) {
|
||||
return (
|
||||
<Suspense
|
||||
fallback={<div className="h-screen flex items-center justify-center">Loading...</div>}
|
||||
fallback={<div className='flex h-screen items-center justify-center'>Loading...</div>}
|
||||
>
|
||||
<SignupFormContent
|
||||
githubAvailable={githubAvailable}
|
||||
|
||||
@@ -39,7 +39,8 @@ function VerificationForm({
|
||||
if (countdown > 0) {
|
||||
const timer = setTimeout(() => setCountdown(countdown - 1), 1000)
|
||||
return () => clearTimeout(timer)
|
||||
} else if (countdown === 0 && isResendDisabled) {
|
||||
}
|
||||
if (countdown === 0 && isResendDisabled) {
|
||||
setIsResendDisabled(false)
|
||||
}
|
||||
}, [countdown, isResendDisabled])
|
||||
@@ -51,12 +52,12 @@ function VerificationForm({
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="space-y-6">
|
||||
<div className="space-y-2 text-center">
|
||||
<h1 className="text-[32px] font-semibold tracking-tight text-white">
|
||||
<div className='space-y-6'>
|
||||
<div className='space-y-2 text-center'>
|
||||
<h1 className='font-semibold text-[32px] text-white tracking-tight'>
|
||||
{isVerified ? 'Email Verified!' : 'Verify Your Email'}
|
||||
</h1>
|
||||
<p className="text-sm text-neutral-400">
|
||||
<p className='text-neutral-400 text-sm'>
|
||||
{isVerified
|
||||
? 'Your email has been verified. Redirecting to dashboard...'
|
||||
: hasResendKey
|
||||
@@ -68,14 +69,14 @@ function VerificationForm({
|
||||
</div>
|
||||
|
||||
{!isVerified && (
|
||||
<div className="flex flex-col gap-6">
|
||||
<div className="bg-neutral-800/50 backdrop-blur-sm border border-neutral-700/40 rounded-xl p-6">
|
||||
<p className="text-sm text-neutral-400 mb-4">
|
||||
<div className='flex flex-col gap-6'>
|
||||
<div className='rounded-xl border border-neutral-700/40 bg-neutral-800/50 p-6 backdrop-blur-sm'>
|
||||
<p className='mb-4 text-neutral-400 text-sm'>
|
||||
Enter the 6-digit code to verify your account.
|
||||
{hasResendKey ? " If you don't see it in your inbox, check your spam folder." : ''}
|
||||
</p>
|
||||
|
||||
<div className="flex justify-center py-4">
|
||||
<div className='flex justify-center py-4'>
|
||||
<InputOTP
|
||||
maxLength={6}
|
||||
value={otp}
|
||||
@@ -88,27 +89,27 @@ function VerificationForm({
|
||||
<InputOTPGroup>
|
||||
<InputOTPSlot
|
||||
index={0}
|
||||
className="bg-neutral-900 border-neutral-700 text-white"
|
||||
className='border-neutral-700 bg-neutral-900 text-white'
|
||||
/>
|
||||
<InputOTPSlot
|
||||
index={1}
|
||||
className="bg-neutral-900 border-neutral-700 text-white"
|
||||
className='border-neutral-700 bg-neutral-900 text-white'
|
||||
/>
|
||||
<InputOTPSlot
|
||||
index={2}
|
||||
className="bg-neutral-900 border-neutral-700 text-white"
|
||||
className='border-neutral-700 bg-neutral-900 text-white'
|
||||
/>
|
||||
<InputOTPSlot
|
||||
index={3}
|
||||
className="bg-neutral-900 border-neutral-700 text-white"
|
||||
className='border-neutral-700 bg-neutral-900 text-white'
|
||||
/>
|
||||
<InputOTPSlot
|
||||
index={4}
|
||||
className="bg-neutral-900 border-neutral-700 text-white"
|
||||
className='border-neutral-700 bg-neutral-900 text-white'
|
||||
/>
|
||||
<InputOTPSlot
|
||||
index={5}
|
||||
className="bg-neutral-900 border-neutral-700 text-white"
|
||||
className='border-neutral-700 bg-neutral-900 text-white'
|
||||
/>
|
||||
</InputOTPGroup>
|
||||
</InputOTP>
|
||||
@@ -116,30 +117,30 @@ function VerificationForm({
|
||||
|
||||
{/* Error message */}
|
||||
{errorMessage && (
|
||||
<div className="mt-2 mb-4 text-center border border-red-900/20 rounded-md py-2 bg-red-900/10">
|
||||
<p className="text-sm font-medium text-red-400">{errorMessage}</p>
|
||||
<div className='mt-2 mb-4 rounded-md border border-red-900/20 bg-red-900/10 py-2 text-center'>
|
||||
<p className='font-medium text-red-400 text-sm'>{errorMessage}</p>
|
||||
</div>
|
||||
)}
|
||||
|
||||
<Button
|
||||
onClick={verifyCode}
|
||||
className="w-full bg-[#701ffc] hover:bg-[#802FFF] h-11 font-medium text-base text-white shadow-lg shadow-[#701ffc]/20 transition-colors duration-200"
|
||||
className='h-11 w-full bg-[#701ffc] font-medium text-base text-white shadow-[#701ffc]/20 shadow-lg transition-colors duration-200 hover:bg-[#802FFF]'
|
||||
disabled={!isOtpComplete || isLoading}
|
||||
>
|
||||
{isLoading ? 'Verifying...' : 'Verify Email'}
|
||||
</Button>
|
||||
|
||||
{hasResendKey && (
|
||||
<div className="mt-4 text-center">
|
||||
<p className="text-sm text-neutral-400">
|
||||
<div className='mt-4 text-center'>
|
||||
<p className='text-neutral-400 text-sm'>
|
||||
Didn't receive a code?{' '}
|
||||
{countdown > 0 ? (
|
||||
<span>
|
||||
Resend in <span className="font-medium text-neutral-300">{countdown}s</span>
|
||||
Resend in <span className='font-medium text-neutral-300'>{countdown}s</span>
|
||||
</span>
|
||||
) : (
|
||||
<button
|
||||
className="text-[#9D54FF] hover:text-[#a66fff] font-medium transition underline-offset-4 hover:underline"
|
||||
className='font-medium text-[#9D54FF] underline-offset-4 transition hover:text-[#a66fff] hover:underline'
|
||||
onClick={handleResend}
|
||||
disabled={isLoading || isResendDisabled}
|
||||
>
|
||||
@@ -159,10 +160,10 @@ function VerificationForm({
|
||||
// Fallback component while the verification form is loading
|
||||
function VerificationFormFallback() {
|
||||
return (
|
||||
<div className="text-center p-8">
|
||||
<div className="animate-pulse">
|
||||
<div className="h-8 bg-neutral-800 rounded w-48 mx-auto mb-4"></div>
|
||||
<div className="h-4 bg-neutral-800 rounded w-64 mx-auto"></div>
|
||||
<div className='p-8 text-center'>
|
||||
<div className='animate-pulse'>
|
||||
<div className='mx-auto mb-4 h-8 w-48 rounded bg-neutral-800' />
|
||||
<div className='mx-auto h-4 w-64 rounded bg-neutral-800' />
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
@@ -35,61 +35,61 @@ export const BlogCard = ({
|
||||
}: BlogCardProps) => {
|
||||
return (
|
||||
<Link href={href}>
|
||||
<div className="p-8 bg-[#101010] border border-[#606060]/40 rounded-3xl flex flex-col transition-all duration-500 hover:bg-[#202020]">
|
||||
<div className='flex flex-col rounded-3xl border border-[#606060]/40 bg-[#101010] p-8 transition-all duration-500 hover:bg-[#202020]'>
|
||||
{image ? (
|
||||
<Image
|
||||
src={image}
|
||||
alt="Image"
|
||||
alt='Image'
|
||||
width={2000}
|
||||
height={2000}
|
||||
className="w-full h-max aspect-video rounded-xl"
|
||||
className='aspect-video h-max w-full rounded-xl'
|
||||
/>
|
||||
) : (
|
||||
<></>
|
||||
)}
|
||||
{date ? (
|
||||
<p className="text-[#BBBBBB]/70 tracking-tight text-base font-light pb-5">
|
||||
<p className='pb-5 font-light text-[#BBBBBB]/70 text-base tracking-tight'>
|
||||
{date.toLocaleString('en-US', { month: 'long', day: 'numeric', year: 'numeric' })}
|
||||
</p>
|
||||
) : (
|
||||
<></>
|
||||
)}
|
||||
<div className="flex flex-col gap-6">
|
||||
<p className="text-2xl lg:text-3xl font-medium text-white/80 leading-[1.2] tracking-normal max-w-96">
|
||||
<div className='flex flex-col gap-6'>
|
||||
<p className='max-w-96 font-medium text-2xl text-white/80 leading-[1.2] tracking-normal lg:text-3xl'>
|
||||
{title}
|
||||
</p>
|
||||
<p className="text-lg text-white/60 leading-[1.5] font-light">{description}</p>
|
||||
<p className='font-light text-lg text-white/60 leading-[1.5]'>{description}</p>
|
||||
</div>
|
||||
<div className="pt-16 flex flex-col gap-6">
|
||||
<div className="flex gap-4 items-center">
|
||||
<div className='flex flex-col gap-6 pt-16'>
|
||||
<div className='flex items-center gap-4'>
|
||||
{avatar ? (
|
||||
<Image
|
||||
src={avatar}
|
||||
alt="Avatar"
|
||||
alt='Avatar'
|
||||
width={64}
|
||||
height={64}
|
||||
className="w-16 h-16 rounded-full"
|
||||
className='h-16 w-16 rounded-full'
|
||||
/>
|
||||
) : (
|
||||
<></>
|
||||
)}
|
||||
|
||||
<div className="flex flex-col gap-0">
|
||||
<p className="text-xl font-medium text-white/90">{author}</p>
|
||||
<p className="text-base font-normal text-white/60">{authorRole}</p>
|
||||
<div className='flex flex-col gap-0'>
|
||||
<p className='font-medium text-white/90 text-xl'>{author}</p>
|
||||
<p className='font-normal text-base text-white/60'>{authorRole}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="flex gap-5 items-center">
|
||||
<div className='flex items-center gap-5'>
|
||||
<div
|
||||
className="px-2 py-1 rounded-lg"
|
||||
className='rounded-lg px-2 py-1'
|
||||
style={{
|
||||
background: blogConfig[type.toLowerCase() as keyof typeof blogConfig] ?? '#333',
|
||||
}}
|
||||
>
|
||||
<p className="text-white text-base font-light">{type}</p>
|
||||
<p className='font-light text-base text-white'>{type}</p>
|
||||
</div>
|
||||
<p className="font-light text-base text-white/60">{readTime} min-read</p>
|
||||
<p className='font-light text-base text-white/60'>{readTime} min-read</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
'use client'
|
||||
|
||||
import React, { useEffect, useId, useRef, useState } from 'react'
|
||||
import type React from 'react'
|
||||
import { useEffect, useId, useRef, useState } from 'react'
|
||||
import { cn } from '@/lib/utils'
|
||||
|
||||
/**
|
||||
@@ -107,14 +108,14 @@ export function DotPattern({
|
||||
return (
|
||||
<svg
|
||||
ref={containerRef}
|
||||
aria-hidden="true"
|
||||
aria-hidden='true'
|
||||
className={cn('pointer-events-none absolute inset-0 h-full w-full', className)}
|
||||
{...props}
|
||||
>
|
||||
<defs>
|
||||
<radialGradient id={`${id}-gradient`}>
|
||||
<stop offset="0%" stopColor="currentColor" stopOpacity="1" />
|
||||
<stop offset="100%" stopColor="currentColor" stopOpacity="0" />
|
||||
<stop offset='0%' stopColor='currentColor' stopOpacity='1' />
|
||||
<stop offset='100%' stopColor='currentColor' stopOpacity='0' />
|
||||
</radialGradient>
|
||||
</defs>
|
||||
{dots.map((dot, index) => (
|
||||
@@ -124,7 +125,7 @@ export function DotPattern({
|
||||
cy={dot.y}
|
||||
r={cr}
|
||||
fill={glow ? `url(#${id}-gradient)` : 'currentColor'}
|
||||
className="text-neutral-400/80"
|
||||
className='text-neutral-400/80'
|
||||
/>
|
||||
))}
|
||||
</svg>
|
||||
|
||||
@@ -10,17 +10,17 @@ interface GitHubStarsClientProps {
|
||||
export default function GitHubStarsClient({ stars }: GitHubStarsClientProps) {
|
||||
return (
|
||||
<motion.a
|
||||
href="https://github.com/simstudioai/sim"
|
||||
className="flex items-center gap-2 text-white/80 hover:text-white/100 p-1.5 rounded-md transition-colors duration-200"
|
||||
aria-label="GitHub"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href='https://github.com/simstudioai/sim'
|
||||
className='flex items-center gap-2 rounded-md p-1.5 text-white/80 transition-colors duration-200 hover:text-white/100'
|
||||
aria-label='GitHub'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
initial={{ opacity: 0, y: -10 }}
|
||||
animate={{ opacity: 1, y: 0 }}
|
||||
transition={{ duration: 0.3, ease: 'easeOut', delay: 0.3 }}
|
||||
>
|
||||
<GithubIcon className="w-[20px] h-[20px]" />
|
||||
<span className="text-base font-medium">{stars}</span>
|
||||
<GithubIcon className='h-[20px] w-[20px]' />
|
||||
<span className='font-medium text-base'>{stars}</span>
|
||||
</motion.a>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -48,14 +48,14 @@ export default async function GitHubStars() {
|
||||
|
||||
return (
|
||||
<a
|
||||
href="https://github.com/simstudioai/sim"
|
||||
className="flex items-center gap-2 text-white/80 hover:text-white/100 p-1.5 rounded-md transition-colors duration-200"
|
||||
aria-label="GitHub"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href='https://github.com/simstudioai/sim'
|
||||
className='flex items-center gap-2 rounded-md p-1.5 text-white/80 transition-colors duration-200 hover:text-white/100'
|
||||
aria-label='GitHub'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
<GithubIcon className="w-[20px] h-[20px]" />
|
||||
<span className="text-base font-medium">{formattedStars}</span>
|
||||
<GithubIcon className='h-[20px] w-[20px]' />
|
||||
<span className='font-medium text-base'>{formattedStars}</span>
|
||||
</a>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ export function GridPattern({
|
||||
|
||||
return (
|
||||
<svg
|
||||
aria-hidden="true"
|
||||
aria-hidden='true'
|
||||
className={cn(
|
||||
'pointer-events-none absolute inset-0 h-full w-full fill-gray-400/30 stroke-gray-400/30',
|
||||
className
|
||||
@@ -34,16 +34,16 @@ export function GridPattern({
|
||||
{...props}
|
||||
>
|
||||
<defs>
|
||||
<pattern id={id} width={width} height={height} patternUnits="userSpaceOnUse" x={x} y={y}>
|
||||
<path d={`M.5 ${height}V.5H${width}`} fill="none" strokeDasharray={strokeDasharray} />
|
||||
<pattern id={id} width={width} height={height} patternUnits='userSpaceOnUse' x={x} y={y}>
|
||||
<path d={`M.5 ${height}V.5H${width}`} fill='none' strokeDasharray={strokeDasharray} />
|
||||
</pattern>
|
||||
</defs>
|
||||
<rect width="100%" height="100%" strokeWidth={0} fill={`url(#${id})`} />
|
||||
<rect width='100%' height='100%' strokeWidth={0} fill={`url(#${id})`} />
|
||||
{squares && (
|
||||
<svg x={x} y={y} className="overflow-visible">
|
||||
<svg x={x} y={y} className='overflow-visible'>
|
||||
{squares.map(([x, y]) => (
|
||||
<rect
|
||||
strokeWidth="0"
|
||||
strokeWidth='0'
|
||||
key={`${x}-${y}`}
|
||||
width={width - 1}
|
||||
height={height - 1}
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
import React, { memo } from 'react'
|
||||
// Assuming custom icons exist for Sim specific things, otherwise use Lucide
|
||||
|
||||
import type React from 'react'
|
||||
import { memo } from 'react'
|
||||
import {
|
||||
// For header icon
|
||||
ChevronDown,
|
||||
Circle,
|
||||
CodeXml,
|
||||
// For dropdowns
|
||||
Plus,
|
||||
// For Add Tool button
|
||||
PlusIcon,
|
||||
// For header icon
|
||||
Square,
|
||||
} from 'lucide-react'
|
||||
import { Handle, NodeProps, Position } from 'reactflow'
|
||||
// Assuming custom icons exist for Sim specific things, otherwise use Lucide
|
||||
import { Handle, type NodeProps, Position } from 'reactflow'
|
||||
import { AgentIcon, ConnectIcon, SlackIcon, StartIcon } from '@/components/icons'
|
||||
import { CodeBlock } from '@/components/ui/code-block'
|
||||
import { cn } from '@/lib/utils'
|
||||
@@ -54,7 +51,7 @@ export const HeroBlock = memo(({ id, data }: NodeProps) => {
|
||||
const Icon = config.icon
|
||||
const nodeName = config.name
|
||||
const iconBgColor = config.color // Get color from config
|
||||
const horizontalHandles = true // Default to horizontal handles like in workflow-block
|
||||
const _horizontalHandles = true // Default to horizontal handles like in workflow-block
|
||||
|
||||
// Determine if we should show the input handle
|
||||
// Don't show for start blocks, function1 in hero section, or id=function1
|
||||
@@ -63,13 +60,13 @@ export const HeroBlock = memo(({ id, data }: NodeProps) => {
|
||||
|
||||
return (
|
||||
// Apply group relative here for handles
|
||||
<div className="flex flex-col items-center group relative opacity-90">
|
||||
<div className='group relative flex flex-col items-center opacity-90'>
|
||||
{/* Don't show input handle for starter blocks or function1 */}
|
||||
{showInputHandle && (
|
||||
<Handle
|
||||
type="target"
|
||||
type='target'
|
||||
position={Position.Left}
|
||||
id="target"
|
||||
id='target'
|
||||
className={cn(
|
||||
'!w-[7px] !h-5',
|
||||
'!bg-slate-300 dark:!bg-slate-500 !rounded-[2px] !border-none',
|
||||
@@ -82,7 +79,7 @@ export const HeroBlock = memo(({ id, data }: NodeProps) => {
|
||||
transform: 'translateY(-50%)',
|
||||
}}
|
||||
data-nodeid={id}
|
||||
data-handleid="target"
|
||||
data-handleid='target'
|
||||
isConnectable={true}
|
||||
/>
|
||||
)}
|
||||
@@ -90,11 +87,11 @@ export const HeroBlock = memo(({ id, data }: NodeProps) => {
|
||||
{/* Use BlockCard, passing Icon, title, and iconBgColor */}
|
||||
<BlockCard Icon={Icon} iconBgColor={iconBgColor} title={nodeName}>
|
||||
{/* Render type-specific content as children */}
|
||||
<div className="pt-3 text-sm space-y-3">
|
||||
<div className='space-y-3 pt-3 text-sm'>
|
||||
{/* --- Start Block Content --- */}
|
||||
{type === 'start' && (
|
||||
<>
|
||||
<div className="text-base font-medium text-[#7D7D7D]">Start workflow</div>
|
||||
<div className='font-medium text-[#7D7D7D] text-base'>Start workflow</div>
|
||||
<Container>
|
||||
<p>Run Manually</p>
|
||||
<ChevronDown size={14} />
|
||||
@@ -104,38 +101,36 @@ export const HeroBlock = memo(({ id, data }: NodeProps) => {
|
||||
|
||||
{/* --- Function Block Content --- */}
|
||||
{type === 'function' && (
|
||||
<>
|
||||
<div className="text-xs font-medium text-neutral-400 flex items-center gap-1">
|
||||
<CodeBlock
|
||||
code="Write javascript.."
|
||||
className="text-[#7C7C7C] font-geist-mono w-full min-h-32 bg-[#212121] border-[#282828] p-0"
|
||||
/>
|
||||
</div>
|
||||
</>
|
||||
<div className='flex items-center gap-1 font-medium text-neutral-400 text-xs'>
|
||||
<CodeBlock
|
||||
code='Write javascript..'
|
||||
className='min-h-32 w-full border-[#282828] bg-[#212121] p-0 font-geist-mono text-[#7C7C7C]'
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* --- Agent Block Content --- */}
|
||||
{type === 'agent' && (
|
||||
<div className="flex flex-col gap-4">
|
||||
<div className="flex flex-col gap-2">
|
||||
<p className="text-base font-medium text-[#7D7D7D]">Agent</p>
|
||||
<div className='flex flex-col gap-4'>
|
||||
<div className='flex flex-col gap-2'>
|
||||
<p className='font-medium text-[#7D7D7D] text-base'>Agent</p>
|
||||
<Container>Enter System Prompt</Container>
|
||||
</div>
|
||||
<div className="flex flex-col gap-2">
|
||||
<p className="text-base font-medium text-[#7D7D7D]">User Prompts</p>
|
||||
<div className='flex flex-col gap-2'>
|
||||
<p className='font-medium text-[#7D7D7D] text-base'>User Prompts</p>
|
||||
<Container>Enter Context</Container>
|
||||
</div>
|
||||
<div className="flex gap-3 w-full">
|
||||
<div className="flex flex-col w-full gap-2">
|
||||
<p className="text-base font-medium text-[#7D7D7D]">Model</p>
|
||||
<div className='flex w-full gap-3'>
|
||||
<div className='flex w-full flex-col gap-2'>
|
||||
<p className='font-medium text-[#7D7D7D] text-base'>Model</p>
|
||||
<Container>
|
||||
<p>GPT-4o</p>
|
||||
<ChevronDown size={14} />
|
||||
</Container>
|
||||
</div>
|
||||
<div className="flex flex-col w-full gap-2">
|
||||
<p className="text-base font-medium text-[#7D7D7D]">Tools</p>
|
||||
<Container className="justify-center gap-1">
|
||||
<div className='flex w-full flex-col gap-2'>
|
||||
<p className='font-medium text-[#7D7D7D] text-base'>Tools</p>
|
||||
<Container className='justify-center gap-1'>
|
||||
<PlusIcon size={14} />
|
||||
Add Tools
|
||||
</Container>
|
||||
@@ -146,13 +141,13 @@ export const HeroBlock = memo(({ id, data }: NodeProps) => {
|
||||
|
||||
{/* --- Router Block Content --- */}
|
||||
{type === 'router' && (
|
||||
<div className="flex flex-col gap-4">
|
||||
<div className="flex flex-col gap-2">
|
||||
<p className="text-base font-medium text-[#7D7D7D]">Prompt</p>
|
||||
<Container className="min-h-32 items-start">Enter Prompt</Container>
|
||||
<div className='flex flex-col gap-4'>
|
||||
<div className='flex flex-col gap-2'>
|
||||
<p className='font-medium text-[#7D7D7D] text-base'>Prompt</p>
|
||||
<Container className='min-h-32 items-start'>Enter Prompt</Container>
|
||||
</div>
|
||||
<div className="flex flex-col gap-2">
|
||||
<p className="text-base font-medium text-[#7D7D7D]">Model</p>
|
||||
<div className='flex flex-col gap-2'>
|
||||
<p className='font-medium text-[#7D7D7D] text-base'>Model</p>
|
||||
<Container>
|
||||
<p>GPT-4o</p>
|
||||
<ChevronDown size={14} />
|
||||
@@ -163,14 +158,14 @@ export const HeroBlock = memo(({ id, data }: NodeProps) => {
|
||||
|
||||
{/* --- Slack Block Content --- */}
|
||||
{type === 'slack' && (
|
||||
<div className="flex flex-col gap-4">
|
||||
<div className="flex flex-col gap-2">
|
||||
<p className="text-base font-medium text-[#7D7D7D]">Channel</p>
|
||||
<div className='flex flex-col gap-4'>
|
||||
<div className='flex flex-col gap-2'>
|
||||
<p className='font-medium text-[#7D7D7D] text-base'>Channel</p>
|
||||
<Container>Enter Slack channel (#general)</Container>
|
||||
</div>
|
||||
<div className="flex flex-col gap-2">
|
||||
<p className="text-base font-medium text-[#7D7D7D]">Message</p>
|
||||
<Container className="items-start min-h-32">
|
||||
<div className='flex flex-col gap-2'>
|
||||
<p className='font-medium text-[#7D7D7D] text-base'>Message</p>
|
||||
<Container className='min-h-32 items-start'>
|
||||
<p>Enter your alert message</p>
|
||||
</Container>
|
||||
</div>
|
||||
@@ -182,9 +177,9 @@ export const HeroBlock = memo(({ id, data }: NodeProps) => {
|
||||
{/* Output Handle - Don't show for slack1 */}
|
||||
{id !== 'slack1' && (
|
||||
<Handle
|
||||
type="source"
|
||||
type='source'
|
||||
position={Position.Right}
|
||||
id="source"
|
||||
id='source'
|
||||
className={cn(
|
||||
'!w-[7px] !h-5',
|
||||
'!bg-slate-300 dark:!bg-slate-500 !rounded-[2px] !border-none',
|
||||
@@ -197,7 +192,7 @@ export const HeroBlock = memo(({ id, data }: NodeProps) => {
|
||||
transform: 'translateY(-50%)',
|
||||
}}
|
||||
data-nodeid={id}
|
||||
data-handleid="source"
|
||||
data-handleid='source'
|
||||
isConnectable={true}
|
||||
/>
|
||||
)}
|
||||
@@ -209,7 +204,7 @@ const Container = ({ children, className }: { children: React.ReactNode; classNa
|
||||
return (
|
||||
<div
|
||||
className={cn(
|
||||
'flex px-3 py-2 items-center bg-[#212121] border border-[#282828] rounded-xl text-sm text-[#7C7C7C] font-normal justify-between',
|
||||
'flex items-center justify-between rounded-xl border border-[#282828] bg-[#212121] px-3 py-2 font-normal text-[#7C7C7C] text-sm',
|
||||
className
|
||||
)}
|
||||
>
|
||||
@@ -231,18 +226,18 @@ const BlockCard = ({
|
||||
children: React.ReactNode
|
||||
}) => {
|
||||
return (
|
||||
<div className="rounded-xl flex flex-col bg-[#131313] border border-[#333333] w-[280px] min-h-[100px] shadow-[0px_0px_6px_3px_rgba(255,_255,_255,_0.05)]">
|
||||
<div className="border-b border-[#262626] flex items-center gap-2 px-4 pt-4 pb-3">
|
||||
<div className='flex min-h-[100px] w-[280px] flex-col rounded-xl border border-[#333333] bg-[#131313] shadow-[0px_0px_6px_3px_rgba(255,_255,_255,_0.05)]'>
|
||||
<div className='flex items-center gap-2 border-[#262626] border-b px-4 pt-4 pb-3'>
|
||||
{/* Apply background color using inline style */}
|
||||
<div
|
||||
className={`w-6 h-6 rounded flex items-center justify-center`}
|
||||
className={'flex h-6 w-6 items-center justify-center rounded'}
|
||||
style={{ backgroundColor: iconBgColor }} // Use inline style
|
||||
>
|
||||
<Icon className="w-4 h-4 text-white" />
|
||||
<Icon className='h-4 w-4 text-white' />
|
||||
</div>
|
||||
<p className="font-semibold text-base text-neutral-200">{title}</p>
|
||||
<p className='font-semibold text-base text-neutral-200'>{title}</p>
|
||||
</div>
|
||||
<div className="flex-grow p-4 pt-0">{children}</div>
|
||||
<div className='flex-grow p-4 pt-0'>{children}</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { BaseEdge, EdgeProps, getSmoothStepPath } from 'reactflow'
|
||||
import { BaseEdge, type EdgeProps, getSmoothStepPath } from 'reactflow'
|
||||
|
||||
export const HeroEdge = ({
|
||||
id,
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
'use client'
|
||||
|
||||
import React, { useEffect, useMemo } from 'react'
|
||||
import { useEffect, useMemo } from 'react'
|
||||
import { motion } from 'framer-motion'
|
||||
import ReactFlow, {
|
||||
ConnectionLineType,
|
||||
Edge,
|
||||
EdgeTypes,
|
||||
MarkerType,
|
||||
Node,
|
||||
NodeTypes,
|
||||
type Edge,
|
||||
type EdgeTypes,
|
||||
type Node,
|
||||
type NodeTypes,
|
||||
Position,
|
||||
ReactFlowProvider,
|
||||
useEdgesState,
|
||||
useNodesState,
|
||||
useReactFlow,
|
||||
Viewport,
|
||||
type Viewport,
|
||||
} from 'reactflow'
|
||||
import 'reactflow/dist/style.css'
|
||||
|
||||
import { HeroBlock } from './hero-block'
|
||||
import { HeroEdge } from './hero-edge'
|
||||
import { useWindowSize } from './use-window-size'
|
||||
@@ -196,7 +196,7 @@ export function HeroWorkflow() {
|
||||
|
||||
return (
|
||||
<motion.div
|
||||
className="absolute inset-0 flex items-center justify-center overflow-hidden pointer-events-none"
|
||||
className='pointer-events-none absolute inset-0 flex items-center justify-center overflow-hidden'
|
||||
style={{
|
||||
height: '100%',
|
||||
width: '100%',
|
||||
@@ -206,8 +206,8 @@ export function HeroWorkflow() {
|
||||
willChange: 'opacity, transform',
|
||||
}}
|
||||
variants={workflowVariants}
|
||||
initial="hidden"
|
||||
animate="visible"
|
||||
initial='hidden'
|
||||
animate='visible'
|
||||
>
|
||||
<style jsx global>{`
|
||||
.react-flow__edge-path {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ComponentPropsWithoutRef } from 'react'
|
||||
import type { ComponentPropsWithoutRef } from 'react'
|
||||
import { cn } from '@/lib/utils'
|
||||
|
||||
interface MarqueeProps extends ComponentPropsWithoutRef<'div'> {
|
||||
|
||||
@@ -29,11 +29,11 @@ export function OrbitingCircles({
|
||||
<>
|
||||
{path && (
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
version="1.1"
|
||||
className="pointer-events-none absolute inset-0 size-full"
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
version='1.1'
|
||||
className='pointer-events-none absolute inset-0 size-full'
|
||||
>
|
||||
<circle className="stroke-white/10 stroke-1" cx="50%" cy="50%" r={radius} fill="none" />
|
||||
<circle className='stroke-1 stroke-white/10' cx='50%' cy='50%' r={radius} fill='none' />
|
||||
</svg>
|
||||
)}
|
||||
{React.Children.map(children, (child, index) => {
|
||||
@@ -49,7 +49,7 @@ export function OrbitingCircles({
|
||||
} as React.CSSProperties
|
||||
}
|
||||
className={cn(
|
||||
`absolute flex size-[var(--icon-size)] transform-gpu animate-orbit items-center justify-center rounded-full`,
|
||||
'absolute flex size-[var(--icon-size)] transform-gpu animate-orbit items-center justify-center rounded-full',
|
||||
{ '[animation-direction:reverse]': reverse },
|
||||
className
|
||||
)}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
'use client'
|
||||
|
||||
import { useEffect, useState } from 'react'
|
||||
import { AnimatePresence, motion } from 'framer-motion'
|
||||
import { Menu } from 'lucide-react'
|
||||
import Image from 'next/image'
|
||||
import Link from 'next/link'
|
||||
import { useRouter } from 'next/navigation'
|
||||
import { AnimatePresence, motion } from 'framer-motion'
|
||||
import { Menu, X } from 'lucide-react'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import {
|
||||
Sheet,
|
||||
@@ -17,7 +17,7 @@ import {
|
||||
} from '@/components/ui/sheet'
|
||||
import { createLogger } from '@/lib/logs/console-logger'
|
||||
|
||||
const logger = createLogger('NavClient')
|
||||
const _logger = createLogger('NavClient')
|
||||
|
||||
// --- Framer Motion Variants ---
|
||||
const desktopNavContainerVariants = {
|
||||
@@ -126,12 +126,12 @@ const NavLinks = ({
|
||||
{/* Enterprise button with the same action as contact */}
|
||||
{onContactClick &&
|
||||
(mobile ? (
|
||||
<SheetClose asChild key="enterprise">
|
||||
<SheetClose asChild key='enterprise'>
|
||||
<motion.div variants={mobileNavItemVariants}>
|
||||
<Link
|
||||
href="https://form.typeform.com/to/jqCO12pF"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href='https://form.typeform.com/to/jqCO12pF'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className={navItemClass}
|
||||
>
|
||||
Enterprise
|
||||
@@ -139,11 +139,11 @@ const NavLinks = ({
|
||||
</motion.div>
|
||||
</SheetClose>
|
||||
) : (
|
||||
<motion.div variants={mobile ? mobileNavItemVariants : undefined} key="enterprise">
|
||||
<motion.div variants={mobile ? mobileNavItemVariants : undefined} key='enterprise'>
|
||||
<Link
|
||||
href="https://form.typeform.com/to/jqCO12pF"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href='https://form.typeform.com/to/jqCO12pF'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className={navItemClass}
|
||||
>
|
||||
Enterprise
|
||||
@@ -170,7 +170,7 @@ export default function NavClient({
|
||||
const [mounted, setMounted] = useState(false)
|
||||
const [isMobile, setIsMobile] = useState(initialIsMobile ?? false)
|
||||
const [isSheetOpen, setIsSheetOpen] = useState(false)
|
||||
const router = useRouter()
|
||||
const _router = useRouter()
|
||||
|
||||
useEffect(() => {
|
||||
setMounted(true)
|
||||
@@ -185,13 +185,13 @@ export default function NavClient({
|
||||
// until we've measured the viewport
|
||||
if (!mounted) {
|
||||
return (
|
||||
<nav className="absolute top-1 left-0 right-0 z-30 px-4 py-8">
|
||||
<div className="max-w-7xl mx-auto flex justify-between items-center relative">
|
||||
<div className="flex-1">
|
||||
<div className="w-[32px] h-[32px]"></div>
|
||||
<nav className='absolute top-1 right-0 left-0 z-30 px-4 py-8'>
|
||||
<div className='relative mx-auto flex max-w-7xl items-center justify-between'>
|
||||
<div className='flex-1'>
|
||||
<div className='h-[32px] w-[32px]' />
|
||||
</div>
|
||||
<div className="flex-1 flex justify-end">
|
||||
<div className="w-[43px] h-[43px]"></div>
|
||||
<div className='flex flex-1 justify-end'>
|
||||
<div className='h-[43px] w-[43px]' />
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
@@ -199,13 +199,13 @@ export default function NavClient({
|
||||
}
|
||||
|
||||
return (
|
||||
<nav className="absolute top-1 left-0 right-0 z-30 px-4 py-8">
|
||||
<div className="max-w-7xl mx-auto flex justify-between items-center relative">
|
||||
<nav className='absolute top-1 right-0 left-0 z-30 px-4 py-8'>
|
||||
<div className='relative mx-auto flex max-w-7xl items-center justify-between'>
|
||||
{!isMobile && (
|
||||
<div className="flex-1 flex items-center">
|
||||
<div className="inline-block">
|
||||
<Link href="/" className="inline-flex">
|
||||
<Image src="/sim.svg" alt="Sim Logo" width={42} height={42} />
|
||||
<div className='flex flex-1 items-center'>
|
||||
<div className='inline-block'>
|
||||
<Link href='/' className='inline-flex'>
|
||||
<Image src='/sim.svg' alt='Sim Logo' width={42} height={42} />
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
@@ -213,32 +213,32 @@ export default function NavClient({
|
||||
|
||||
{!isMobile && (
|
||||
<motion.div
|
||||
className="flex items-center gap-4 px-2 py-1 bg-neutral-700/50 rounded-lg"
|
||||
className='flex items-center gap-4 rounded-lg bg-neutral-700/50 px-2 py-1'
|
||||
variants={desktopNavContainerVariants}
|
||||
initial="hidden"
|
||||
animate="visible"
|
||||
initial='hidden'
|
||||
animate='visible'
|
||||
>
|
||||
<NavLinks currentPath={currentPath} onContactClick={onContactClick} />
|
||||
</motion.div>
|
||||
)}
|
||||
{isMobile && <div className="flex-1"></div>}
|
||||
{isMobile && <div className='flex-1' />}
|
||||
|
||||
<div className="flex-1 flex justify-end items-center">
|
||||
<div className='flex flex-1 items-center justify-end'>
|
||||
<div className={`flex items-center ${isMobile ? 'gap-2' : 'gap-3'}`}>
|
||||
{!isMobile && (
|
||||
<>
|
||||
<div className="flex items-center">{children}</div>
|
||||
<div className='flex items-center'>{children}</div>
|
||||
<motion.div
|
||||
initial={{ opacity: 0, y: -10 }}
|
||||
animate={{ opacity: 1, y: 0 }}
|
||||
transition={{ duration: 0.3, ease: 'easeOut', delay: 0.4 }}
|
||||
>
|
||||
<Link
|
||||
href="https://form.typeform.com/to/jqCO12pF"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href='https://form.typeform.com/to/jqCO12pF'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
<Button className="bg-[#701ffc] hover:bg-[#802FFF] h-[43px] font-medium text-base py-2 px-6 text-neutral-100 font-geist-sans transition-colors duration-200">
|
||||
<Button className='h-[43px] bg-[#701ffc] px-6 py-2 font-geist-sans font-medium text-base text-neutral-100 transition-colors duration-200 hover:bg-[#802FFF]'>
|
||||
Contact
|
||||
</Button>
|
||||
</Link>
|
||||
@@ -251,36 +251,36 @@ export default function NavClient({
|
||||
<SheetTrigger asChild>
|
||||
<motion.button
|
||||
whileTap={{ scale: 0.95 }}
|
||||
className="p-2 rounded-md text-white hover:bg-neutral-700/50 hover:text-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"
|
||||
className='rounded-md p-2 text-white hover:bg-neutral-700/50 hover:text-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50'
|
||||
>
|
||||
<Menu className="h-6 w-6" />
|
||||
<span className="sr-only">Toggle menu</span>
|
||||
<Menu className='h-6 w-6' />
|
||||
<span className='sr-only'>Toggle menu</span>
|
||||
</motion.button>
|
||||
</SheetTrigger>
|
||||
<AnimatePresence>
|
||||
{isSheetOpen && (
|
||||
<motion.div
|
||||
key="sheet-content"
|
||||
key='sheet-content'
|
||||
variants={mobileSheetContainerVariants}
|
||||
initial="hidden"
|
||||
animate="visible"
|
||||
exit="exit"
|
||||
className="fixed inset-y-0 right-0 z-50"
|
||||
initial='hidden'
|
||||
animate='visible'
|
||||
exit='exit'
|
||||
className='fixed inset-y-0 right-0 z-50'
|
||||
>
|
||||
<SheetContent
|
||||
side="right"
|
||||
className="bg-[#0C0C0C] border-l border-[#181818] text-white w-[280px] sm:w-[320px] pt-6 p-6 flex flex-col h-full shadow-xl [&>button]:hidden"
|
||||
side='right'
|
||||
className='flex h-full w-[280px] flex-col border-[#181818] border-l bg-[#0C0C0C] p-6 pt-6 text-white shadow-xl sm:w-[320px] [&>button]:hidden'
|
||||
onOpenAutoFocus={(e) => e.preventDefault()}
|
||||
onCloseAutoFocus={(e) => e.preventDefault()}
|
||||
>
|
||||
<SheetHeader className="sr-only">
|
||||
<SheetHeader className='sr-only'>
|
||||
<SheetTitle>Navigation Menu</SheetTitle>
|
||||
</SheetHeader>
|
||||
<motion.div
|
||||
className="flex flex-col gap-5 flex-grow"
|
||||
className='flex flex-grow flex-col gap-5'
|
||||
variants={mobileNavItemsContainerVariants}
|
||||
initial="hidden"
|
||||
animate="visible"
|
||||
initial='hidden'
|
||||
animate='visible'
|
||||
>
|
||||
<NavLinks
|
||||
mobile
|
||||
@@ -292,14 +292,14 @@ export default function NavClient({
|
||||
<SheetClose asChild>{children}</SheetClose>
|
||||
</motion.div>
|
||||
)}
|
||||
<motion.div variants={mobileButtonVariants} className="mt-auto pt-6">
|
||||
<motion.div variants={mobileButtonVariants} className='mt-auto pt-6'>
|
||||
<SheetClose asChild>
|
||||
<Link
|
||||
href="https://form.typeform.com/to/jqCO12pF"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href='https://form.typeform.com/to/jqCO12pF'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
<Button className="w-full bg-[#701ffc] hover:bg-[#802FFF] font-medium py-6 text-base text-white shadow-lg shadow-[#701ffc]/20 transition-colors duration-200">
|
||||
<Button className='w-full bg-[#701ffc] py-6 font-medium text-base text-white shadow-[#701ffc]/20 shadow-lg transition-colors duration-200 hover:bg-[#802FFF]'>
|
||||
Contact
|
||||
</Button>
|
||||
</Link>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
'use client'
|
||||
|
||||
import { useEffect, useState } from 'react'
|
||||
import { usePathname } from 'next/navigation'
|
||||
import { AnimatePresence, motion } from 'framer-motion'
|
||||
import { usePathname } from 'next/navigation'
|
||||
import { getFormattedGitHubStars } from '../actions/github'
|
||||
import GitHubStarsClient from './github-stars-client'
|
||||
import NavClient from './nav-client'
|
||||
@@ -43,25 +43,25 @@ export default function NavWrapper({ onOpenTypeformLink }: NavWrapperProps) {
|
||||
|
||||
return (
|
||||
<>
|
||||
<AnimatePresence mode="wait">
|
||||
<AnimatePresence mode='wait'>
|
||||
{!isLoaded ? (
|
||||
<motion.div
|
||||
key="loading"
|
||||
key='loading'
|
||||
initial={{ opacity: 0 }}
|
||||
animate={{ opacity: 0.5 }}
|
||||
exit={{ opacity: 0 }}
|
||||
className="absolute top-1 left-0 right-0 z-30 px-4 py-8"
|
||||
className='absolute top-1 right-0 left-0 z-30 px-4 py-8'
|
||||
>
|
||||
<div className="max-w-7xl mx-auto flex justify-between items-center relative">
|
||||
<div className="flex-1"></div>
|
||||
<div className="flex-1 flex justify-end">
|
||||
<div className="w-[43px] h-[43px]"></div>
|
||||
<div className='relative mx-auto flex max-w-7xl items-center justify-between'>
|
||||
<div className='flex-1' />
|
||||
<div className='flex flex-1 justify-end'>
|
||||
<div className='h-[43px] w-[43px]' />
|
||||
</div>
|
||||
</div>
|
||||
</motion.div>
|
||||
) : (
|
||||
<motion.div
|
||||
key="loaded"
|
||||
key='loaded'
|
||||
initial={{ opacity: 0 }}
|
||||
animate={{ opacity: 1 }}
|
||||
transition={{ duration: 0.3 }}
|
||||
|
||||
@@ -1,21 +1,20 @@
|
||||
'use client'
|
||||
|
||||
import React from 'react'
|
||||
import { motion } from 'framer-motion'
|
||||
import { BlogCard } from '../blog-card'
|
||||
|
||||
function Blogs() {
|
||||
return (
|
||||
<motion.section
|
||||
className="flex flex-col py-20 w-full gap-16 px-8 md:px-16 lg:px-28 xl:px-32"
|
||||
className='flex w-full flex-col gap-16 px-8 py-20 md:px-16 lg:px-28 xl:px-32'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
transition={{ duration: 0.7, delay: 0.01, ease: 'easeOut' }}
|
||||
>
|
||||
<div className="flex flex-col gap-7">
|
||||
<div className='flex flex-col gap-7'>
|
||||
<motion.p
|
||||
className="text-white font-medium tracking-normal text-5xl"
|
||||
className='font-medium text-5xl text-white tracking-normal'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
@@ -26,7 +25,7 @@ function Blogs() {
|
||||
smarter Agents
|
||||
</motion.p>
|
||||
<motion.p
|
||||
className="text-white/60 text-xl tracking-normal max-w-md font-light"
|
||||
className='max-w-md font-light text-white/60 text-xl tracking-normal'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
@@ -36,95 +35,95 @@ function Blogs() {
|
||||
</motion.p>
|
||||
</div>
|
||||
|
||||
<div className="w-full flex flex-col gap-12 md:grid md:grid-cols-2 lg:grid-cols-3 md:grid-rows-1">
|
||||
<div className='flex w-full flex-col gap-12 md:grid md:grid-cols-2 md:grid-rows-1 lg:grid-cols-3'>
|
||||
<motion.div
|
||||
className="flex flex-col gap-12"
|
||||
className='flex flex-col gap-12'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
transition={{ duration: 0.7, delay: 0.18, ease: 'easeOut' }}
|
||||
>
|
||||
<BlogCard
|
||||
href="/blog/test"
|
||||
title="How to Build an Agent in 5 Steps with SimStudio.ai"
|
||||
href='/blog/test'
|
||||
title='How to Build an Agent in 5 Steps with SimStudio.ai'
|
||||
description="Learn how to create a fully functional AI agent using SimStudio.ai's unified API and workflows."
|
||||
date={new Date('25 April 2025')}
|
||||
author="Emir Ayaz"
|
||||
authorRole="Designer"
|
||||
avatar="/static/sim.png"
|
||||
type="Agents"
|
||||
readTime="6"
|
||||
author='Emir Ayaz'
|
||||
authorRole='Designer'
|
||||
avatar='/static/sim.png'
|
||||
type='Agents'
|
||||
readTime='6'
|
||||
/>
|
||||
<BlogCard
|
||||
href="/blog/test"
|
||||
title="How to Build an Agent in 5 Steps with SimStudio.ai"
|
||||
href='/blog/test'
|
||||
title='How to Build an Agent in 5 Steps with SimStudio.ai'
|
||||
description="Learn how to create a fully functional AI agent using SimStudio.ai's unified API and workflows."
|
||||
date={new Date('25 April 2025')}
|
||||
author="Emir Ayaz"
|
||||
authorRole="Designer"
|
||||
avatar="/static/sim.png"
|
||||
type="Agents"
|
||||
readTime="6"
|
||||
author='Emir Ayaz'
|
||||
authorRole='Designer'
|
||||
avatar='/static/sim.png'
|
||||
type='Agents'
|
||||
readTime='6'
|
||||
/>
|
||||
</motion.div>
|
||||
<motion.div
|
||||
className="flex flex-col gap-12"
|
||||
className='flex flex-col gap-12'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
transition={{ duration: 0.7, delay: 0.22, ease: 'easeOut' }}
|
||||
>
|
||||
<BlogCard
|
||||
href="/blog/test"
|
||||
title="How to Build an Agent in 5 Steps with SimStudio.ai"
|
||||
href='/blog/test'
|
||||
title='How to Build an Agent in 5 Steps with SimStudio.ai'
|
||||
description="Learn how to create a fully functional AI agent using SimStudio.ai's unified API and workflows."
|
||||
date={new Date('25 April 2025')}
|
||||
author="Emir Ayaz"
|
||||
authorRole="Designer"
|
||||
avatar="/static/sim.png"
|
||||
type="Agents"
|
||||
readTime="6"
|
||||
image="/static/hero.png"
|
||||
author='Emir Ayaz'
|
||||
authorRole='Designer'
|
||||
avatar='/static/sim.png'
|
||||
type='Agents'
|
||||
readTime='6'
|
||||
image='/static/hero.png'
|
||||
/>
|
||||
<BlogCard
|
||||
href="/blog/test"
|
||||
title="How to Build an Agent in 5 Steps with SimStudio.ai"
|
||||
href='/blog/test'
|
||||
title='How to Build an Agent in 5 Steps with SimStudio.ai'
|
||||
description="Learn how to create a fully functional AI agent using SimStudio.ai's unified API and workflows."
|
||||
author="Emir Ayaz"
|
||||
authorRole="Designer"
|
||||
avatar="/static/sim.png"
|
||||
type="Agents"
|
||||
readTime="6"
|
||||
author='Emir Ayaz'
|
||||
authorRole='Designer'
|
||||
avatar='/static/sim.png'
|
||||
type='Agents'
|
||||
readTime='6'
|
||||
/>
|
||||
</motion.div>
|
||||
<motion.div
|
||||
className="hidden lg:flex flex-col gap-12"
|
||||
className='hidden flex-col gap-12 lg:flex'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
transition={{ duration: 0.7, delay: 0.26, ease: 'easeOut' }}
|
||||
>
|
||||
<BlogCard
|
||||
href="/blog/test"
|
||||
title="How to Build an Agent in 5 Steps with SimStudio.ai"
|
||||
href='/blog/test'
|
||||
title='How to Build an Agent in 5 Steps with SimStudio.ai'
|
||||
description="Learn how to create a fully functional AI agent using SimStudio.ai's unified API and workflows."
|
||||
date={new Date('25 April 2025')}
|
||||
author="Emir Ayaz"
|
||||
authorRole="Designer"
|
||||
avatar="/static/sim.png"
|
||||
type="Agents"
|
||||
readTime="6"
|
||||
author='Emir Ayaz'
|
||||
authorRole='Designer'
|
||||
avatar='/static/sim.png'
|
||||
type='Agents'
|
||||
readTime='6'
|
||||
/>
|
||||
<BlogCard
|
||||
href="/blog/test"
|
||||
title="How to Build an Agent in 5 Steps with SimStudio.ai"
|
||||
href='/blog/test'
|
||||
title='How to Build an Agent in 5 Steps with SimStudio.ai'
|
||||
description="Learn how to create a fully functional AI agent using SimStudio.ai's unified API and workflows."
|
||||
date={new Date('25 April 2025')}
|
||||
author="Emir Ayaz"
|
||||
authorRole="Designer"
|
||||
avatar="/static/sim.png"
|
||||
type="Functions"
|
||||
readTime="6"
|
||||
author='Emir Ayaz'
|
||||
authorRole='Designer'
|
||||
avatar='/static/sim.png'
|
||||
type='Functions'
|
||||
readTime='6'
|
||||
/>
|
||||
</motion.div>
|
||||
</div>
|
||||
|
||||
@@ -1,20 +1,22 @@
|
||||
'use client'
|
||||
|
||||
import React, { useEffect, useState } from 'react'
|
||||
import type React from 'react'
|
||||
import { useEffect, useState } from 'react'
|
||||
import { AnimatePresence, motion } from 'framer-motion'
|
||||
import { CodeXml, WorkflowIcon } from 'lucide-react'
|
||||
import ReactFlow, {
|
||||
ConnectionLineType,
|
||||
Edge,
|
||||
Node,
|
||||
NodeTypes,
|
||||
type Edge,
|
||||
type Node,
|
||||
type NodeTypes,
|
||||
Position,
|
||||
ReactFlowProvider,
|
||||
useEdgesState,
|
||||
useNodesState,
|
||||
} from 'reactflow'
|
||||
import 'reactflow/dist/style.css'
|
||||
import { AgentIcon, ConnectIcon, SlackIcon, StartIcon } from '@/components/icons'
|
||||
|
||||
import { AgentIcon, ConnectIcon, StartIcon } from '@/components/icons'
|
||||
import { cn } from '@/lib/utils'
|
||||
import { DotPattern } from '../dot-pattern'
|
||||
import { HeroBlock } from '../hero-block'
|
||||
@@ -48,8 +50,8 @@ const features: FeaturesArray = [
|
||||
name: 'Agent 1',
|
||||
feature: {
|
||||
icon: (
|
||||
<div className="w-8 h-8 flex items-center justify-center rounded bg-[#7c3aed]">
|
||||
<AgentIcon className="text-white w-5 h-5" />
|
||||
<div className='flex h-8 w-8 items-center justify-center rounded bg-[#7c3aed]'>
|
||||
<AgentIcon className='h-5 w-5 text-white' />
|
||||
</div>
|
||||
),
|
||||
title: 'Agents',
|
||||
@@ -95,8 +97,8 @@ const features: FeaturesArray = [
|
||||
name: 'Custom Workflows',
|
||||
feature: {
|
||||
icon: (
|
||||
<div className="w-8 h-8 flex items-center justify-center rounded bg-[#2563eb]">
|
||||
<StartIcon className="text-white w-5 h-5" />
|
||||
<div className='flex h-8 w-8 items-center justify-center rounded bg-[#2563eb]'>
|
||||
<StartIcon className='h-5 w-5 text-white' />
|
||||
</div>
|
||||
),
|
||||
title: 'Custom Workflows',
|
||||
@@ -142,8 +144,8 @@ const features: FeaturesArray = [
|
||||
name: 'Function 1',
|
||||
feature: {
|
||||
icon: (
|
||||
<div className="w-8 h-8 flex items-center justify-center rounded bg-[#ef4444]">
|
||||
<CodeXml className="text-white w-5 h-5" />
|
||||
<div className='flex h-8 w-8 items-center justify-center rounded bg-[#ef4444]'>
|
||||
<CodeXml className='h-5 w-5 text-white' />
|
||||
</div>
|
||||
),
|
||||
title: 'Custom Functions',
|
||||
@@ -189,8 +191,8 @@ const features: FeaturesArray = [
|
||||
name: 'Router 1',
|
||||
feature: {
|
||||
icon: (
|
||||
<div className="w-8 h-8 flex items-center justify-center rounded bg-[#22c55e]">
|
||||
<ConnectIcon className="text-white w-5 h-5" />
|
||||
<div className='flex h-8 w-8 items-center justify-center rounded bg-[#22c55e]'>
|
||||
<ConnectIcon className='h-5 w-5 text-white' />
|
||||
</div>
|
||||
),
|
||||
title: 'Routers',
|
||||
@@ -248,7 +250,7 @@ function FeaturesFlow({ nodes, edges }: { nodes: Node[]; edges: Edge[] }) {
|
||||
setRfEdges(edges)
|
||||
}, [nodes, edges, setRfNodes, setRfEdges])
|
||||
return (
|
||||
<motion.div className="w-full h-full relative">
|
||||
<motion.div className='relative h-full w-full'>
|
||||
<ReactFlow
|
||||
nodes={rfNodes}
|
||||
edges={rfEdges}
|
||||
@@ -269,7 +271,7 @@ function FeaturesFlow({ nodes, edges }: { nodes: Node[]; edges: Edge[] }) {
|
||||
selectionOnDrag={false}
|
||||
preventScrolling={true}
|
||||
proOptions={{ hideAttribution: true }}
|
||||
className="pointer-events-none"
|
||||
className='pointer-events-none'
|
||||
/>
|
||||
</motion.div>
|
||||
)
|
||||
@@ -281,21 +283,21 @@ function Features() {
|
||||
|
||||
return (
|
||||
<motion.section
|
||||
className="flex flex-col py-20 w-full gap-20 px-8 md:px-0"
|
||||
className='flex w-full flex-col gap-20 px-8 py-20 md:px-0'
|
||||
initial={{ opacity: 0 }}
|
||||
whileInView={{ opacity: 1 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
transition={{ duration: 0.7, ease: 'easeOut' }}
|
||||
>
|
||||
<motion.div
|
||||
className="flex flex-col gap-7 w-full items-center"
|
||||
className='flex w-full flex-col items-center gap-7'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.3 }}
|
||||
transition={{ duration: 0.7, delay: 0.1, ease: 'easeOut' }}
|
||||
>
|
||||
<motion.p
|
||||
className="text-white font-medium tracking-tight text-5xl text-center"
|
||||
className='text-center font-medium text-5xl text-white tracking-tight'
|
||||
initial={{ opacity: 0, y: 30 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.3 }}
|
||||
@@ -304,7 +306,7 @@ function Features() {
|
||||
Powerful tools for Agent success
|
||||
</motion.p>
|
||||
<motion.p
|
||||
className="text-white/60 text-xl tracking-normal max-w-xl text-center font-light"
|
||||
className='max-w-xl text-center font-light text-white/60 text-xl tracking-normal'
|
||||
initial={{ opacity: 0, y: 30 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.3 }}
|
||||
@@ -315,59 +317,59 @@ function Features() {
|
||||
</motion.p>
|
||||
</motion.div>
|
||||
|
||||
<div className="flex w-full">
|
||||
<div className="lg:flex relative w-full hidden">
|
||||
<div className="absolute -top-48 left-0">
|
||||
<div className='flex w-full'>
|
||||
<div className='relative hidden w-full lg:flex'>
|
||||
<div className='-top-48 absolute left-0'>
|
||||
<svg
|
||||
width="1021"
|
||||
height="1126"
|
||||
viewBox="0 0 1021 1126"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width='1021'
|
||||
height='1126'
|
||||
viewBox='0 0 1021 1126'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<g filter="url(#filter0_f_82_4275)">
|
||||
<ellipse cx="342.5" cy="556" rx="278.5" ry="280" fill="#593859" />
|
||||
<g filter='url(#filter0_f_82_4275)'>
|
||||
<ellipse cx='342.5' cy='556' rx='278.5' ry='280' fill='#593859' />
|
||||
</g>
|
||||
<defs>
|
||||
<filter
|
||||
id="filter0_f_82_4275"
|
||||
x="-336"
|
||||
y="-124"
|
||||
width="1357"
|
||||
height="1360"
|
||||
filterUnits="userSpaceOnUse"
|
||||
colorInterpolationFilters="sRGB"
|
||||
id='filter0_f_82_4275'
|
||||
x='-336'
|
||||
y='-124'
|
||||
width='1357'
|
||||
height='1360'
|
||||
filterUnits='userSpaceOnUse'
|
||||
colorInterpolationFilters='sRGB'
|
||||
>
|
||||
<feFlood floodOpacity="0" result="BackgroundImageFix" />
|
||||
<feFlood floodOpacity='0' result='BackgroundImageFix' />
|
||||
<feBlend
|
||||
mode="normal"
|
||||
in="SourceGraphic"
|
||||
in2="BackgroundImageFix"
|
||||
result="shape"
|
||||
mode='normal'
|
||||
in='SourceGraphic'
|
||||
in2='BackgroundImageFix'
|
||||
result='shape'
|
||||
/>
|
||||
<feGaussianBlur stdDeviation="200" result="effect1_foregroundBlur_82_4275" />
|
||||
<feGaussianBlur stdDeviation='200' result='effect1_foregroundBlur_82_4275' />
|
||||
</filter>
|
||||
</defs>
|
||||
</svg>
|
||||
</div>
|
||||
<motion.div
|
||||
className="lg:flex relative w-full hidden flex-col bg-[#0f0f0f] border border-[#606060]/30 rounded-r-3xl min-h-[44rem] z-10 overflow-hidden"
|
||||
className='relative z-10 hidden min-h-[44rem] w-full flex-col overflow-hidden rounded-r-3xl border border-[#606060]/30 bg-[#0f0f0f] lg:flex'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
transition={{ duration: 0.7, delay: 0.2, ease: 'easeOut' }}
|
||||
>
|
||||
<DotPattern className="rounded-r-3xl opacity-20" x={-5} y={-5} />
|
||||
<div className="flex-1 flex items-center justify-center w-full">
|
||||
<DotPattern className='rounded-r-3xl opacity-20' x={-5} y={-5} />
|
||||
<div className='flex w-full flex-1 items-center justify-center'>
|
||||
<ReactFlowProvider>
|
||||
<FeaturesFlow nodes={selectedFeature.nodes} edges={selectedFeature.edges} />
|
||||
</ReactFlowProvider>
|
||||
</div>
|
||||
</motion.div>
|
||||
</div>
|
||||
<div className="w-full flex px-4 md:px-24 lg:px-32 xl:px-48">
|
||||
<div className='flex w-full px-4 md:px-24 lg:px-32 xl:px-48'>
|
||||
<motion.div
|
||||
className="w-full bg-[#0f0f0f] border border-[#606060]/30 rounded-3xl flex flex-col overflow-hidden"
|
||||
className='flex w-full flex-col overflow-hidden rounded-3xl border border-[#606060]/30 bg-[#0f0f0f]'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
@@ -379,7 +381,7 @@ function Features() {
|
||||
<motion.div
|
||||
key={f.feature.title}
|
||||
className={cn(
|
||||
'h-full w-full border-b border-[#222222] flex flex-col justify-center',
|
||||
'flex h-full w-full flex-col justify-center border-[#222222] border-b',
|
||||
isOpen ? f.color : ''
|
||||
)}
|
||||
initial={{ opacity: 0, y: 30 }}
|
||||
@@ -388,41 +390,41 @@ function Features() {
|
||||
transition={{ duration: 0.5, delay: 0.1 + i * 0.08, ease: 'easeInOut' }}
|
||||
>
|
||||
<button
|
||||
className="flex items-center w-full gap-4 px-8 py-6 focus:outline-none transition-colors"
|
||||
className='flex w-full items-center gap-4 px-8 py-6 transition-colors focus:outline-none'
|
||||
onClick={() => setOpen(i)}
|
||||
aria-expanded={isOpen}
|
||||
>
|
||||
{f.feature.icon}
|
||||
<span className="text-xl font-semibold text-white/70">{f.feature.title}</span>
|
||||
<span className='font-semibold text-white/70 text-xl'>{f.feature.title}</span>
|
||||
</button>
|
||||
<AnimatePresence initial={false}>
|
||||
{isOpen && (
|
||||
<motion.div
|
||||
key="content"
|
||||
key='content'
|
||||
initial={{ height: 0, opacity: 0 }}
|
||||
animate={{ height: 'auto', opacity: 1 }}
|
||||
exit={{ height: 0, opacity: 0 }}
|
||||
transition={{ duration: 0.45, ease: 'easeInOut' }}
|
||||
className="px-8 overflow-hidden"
|
||||
className='overflow-hidden px-8'
|
||||
>
|
||||
<motion.div
|
||||
initial={{ opacity: 0, y: 16 }}
|
||||
animate={{ opacity: 1, y: 0 }}
|
||||
exit={{ opacity: 0, y: 16 }}
|
||||
transition={{ duration: 0.35, ease: 'easeInOut' }}
|
||||
className="pb-8"
|
||||
className='pb-8'
|
||||
>
|
||||
{f.feature.bullets.length > 0 && (
|
||||
<ul className="flex flex-col gap-5 mt-2">
|
||||
<ul className='mt-2 flex flex-col gap-5'>
|
||||
{f.feature.bullets.map((b, j) => (
|
||||
<li
|
||||
key={j}
|
||||
className="flex items-start text-white/80 text-lg max-w-sm"
|
||||
className='flex max-w-sm items-start text-lg text-white/80'
|
||||
>
|
||||
<span
|
||||
className={`w-2 h-2 ${bulletColors[i]} inline-block mt-2 mr-2`}
|
||||
className={`h-2 w-2 ${bulletColors[i]} mt-2 mr-2 inline-block`}
|
||||
/>
|
||||
<span className="text-base leading-[1.4] text-white/70 font-light">
|
||||
<span className='font-light text-base text-white/70 leading-[1.4]'>
|
||||
{b}
|
||||
</span>
|
||||
</li>
|
||||
|
||||
@@ -1,39 +1,38 @@
|
||||
'use client'
|
||||
|
||||
import React from 'react'
|
||||
import { motion } from 'framer-motion'
|
||||
import Link from 'next/link'
|
||||
import { useRouter } from 'next/navigation'
|
||||
import { motion } from 'framer-motion'
|
||||
import { DiscordIcon, GithubIcon, xIcon as XIcon } from '@/components/icons'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import useIsMobile from '../hooks/useIsMobile'
|
||||
import useIsMobile from '../hooks/use-is-mobile'
|
||||
|
||||
interface FooterProps {
|
||||
onOpenTypeformLink: () => void
|
||||
}
|
||||
|
||||
function Footer({ onOpenTypeformLink }: FooterProps) {
|
||||
const router = useRouter()
|
||||
const _router = useRouter()
|
||||
const { isMobile, mounted } = useIsMobile()
|
||||
|
||||
if (!mounted) {
|
||||
return <section className="w-full p-4 md:p-9 flex" />
|
||||
return <section className='flex w-full p-4 md:p-9' />
|
||||
}
|
||||
|
||||
// If on mobile, render without animations
|
||||
if (isMobile) {
|
||||
return (
|
||||
<section className="w-full p-4 md:p-9 flex">
|
||||
<div className="bg-[#2B2334] rounded-3xl flex flex-col p-6 sm:p-10 md:p-16 w-full">
|
||||
<div className="flex flex-col w-full h-full md:flex-row justify-between">
|
||||
<section className='flex w-full p-4 md:p-9'>
|
||||
<div className='flex w-full flex-col rounded-3xl bg-[#2B2334] p-6 sm:p-10 md:p-16'>
|
||||
<div className='flex h-full w-full flex-col justify-between md:flex-row'>
|
||||
{/* Left side content */}
|
||||
<div className="flex flex-col justify-between">
|
||||
<p className="max-w-lg leading-[1.1] text-[#B5A1D4] font-light md:text-6xl text-5xl">
|
||||
<div className='flex flex-col justify-between'>
|
||||
<p className='max-w-lg font-light text-5xl text-[#B5A1D4] leading-[1.1] md:text-6xl'>
|
||||
Ready to build AI faster and easier?
|
||||
</p>
|
||||
<div className="mt-4 md:mt-auto pt-4 md:pt-8">
|
||||
<div className='mt-4 pt-4 md:mt-auto md:pt-8'>
|
||||
<Button
|
||||
className="bg-[#B5A1D4] text-[#1C1C1C] w-fit hover:bg-[#bdaecb] transition-colors duration-500"
|
||||
className='w-fit bg-[#B5A1D4] text-[#1C1C1C] transition-colors duration-500 hover:bg-[#bdaecb]'
|
||||
size={'lg'}
|
||||
variant={'secondary'}
|
||||
onClick={onOpenTypeformLink}
|
||||
@@ -44,59 +43,59 @@ function Footer({ onOpenTypeformLink }: FooterProps) {
|
||||
</div>
|
||||
|
||||
{/* Right side content */}
|
||||
<div className="md:w-auto w-full flex flex-col gap-6 md:flex-row md:gap-16 md:items-end mt-8 md:mt-0 md:justify-end relative">
|
||||
<div className='relative mt-8 flex w-full flex-col gap-6 md:mt-0 md:w-auto md:flex-row md:items-end md:justify-end md:gap-16'>
|
||||
{/* See repo button positioned absolutely to align with the top text - desktop only */}
|
||||
<div className="absolute top-0 right-0 md:block hidden">
|
||||
<div className='absolute top-0 right-0 hidden md:block'>
|
||||
<Link
|
||||
href="https://github.com/simstudioai/sim"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href='https://github.com/simstudioai/sim'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
<Button
|
||||
className="bg-[#B5A1D4] text-[#1C1C1C] hover:bg-[#bdaecb] transition-colors duration-500 flex items-center gap-2"
|
||||
className='flex items-center gap-2 bg-[#B5A1D4] text-[#1C1C1C] transition-colors duration-500 hover:bg-[#bdaecb]'
|
||||
size={'lg'}
|
||||
variant={'secondary'}
|
||||
>
|
||||
<GithubIcon className="w-5 h-5" />
|
||||
<GithubIcon className='h-5 w-5' />
|
||||
See repo
|
||||
</Button>
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
{/* Links section - flex row on mobile, part of flex row in md */}
|
||||
<div className="flex flex-row justify-between md:justify-start w-full md:w-auto gap-4 md:gap-16">
|
||||
<div className="flex flex-col gap-2">
|
||||
<div className='flex w-full flex-row justify-between gap-4 md:w-auto md:justify-start md:gap-16'>
|
||||
<div className='flex flex-col gap-2'>
|
||||
<Link
|
||||
href={'https://docs.simstudio.ai/'}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-xl md:text-2xl text-[#9E91AA] font-light hover:text-[#bdaecb] transition-all duration-500"
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className='font-light text-[#9E91AA] text-xl transition-all duration-500 hover:text-[#bdaecb] md:text-2xl'
|
||||
>
|
||||
Docs
|
||||
</Link>
|
||||
<Link
|
||||
href={'https://github.com/simstudioai/sim'}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-xl md:text-2xl text-[#9E91AA] font-light hover:text-[#bdaecb] transition-all duration-500"
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className='font-light text-[#9E91AA] text-xl transition-all duration-500 hover:text-[#bdaecb] md:text-2xl'
|
||||
>
|
||||
Contributors
|
||||
</Link>
|
||||
</div>
|
||||
<div className="flex flex-col gap-2">
|
||||
<div className='flex flex-col gap-2'>
|
||||
<Link
|
||||
href={'/terms'}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-xl md:text-2xl text-[#9E91AA] font-light hover:text-[#bdaecb] transition-all duration-500"
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className='font-light text-[#9E91AA] text-xl transition-all duration-500 hover:text-[#bdaecb] md:text-2xl'
|
||||
>
|
||||
Terms and Conditions
|
||||
</Link>
|
||||
<Link
|
||||
href={'/privacy'}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-xl md:text-2xl text-[#9E91AA] font-light hover:text-[#bdaecb] transition-all duration-500"
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className='font-light text-[#9E91AA] text-xl transition-all duration-500 hover:text-[#bdaecb] md:text-2xl'
|
||||
>
|
||||
Privacy Policy
|
||||
</Link>
|
||||
@@ -104,45 +103,45 @@ function Footer({ onOpenTypeformLink }: FooterProps) {
|
||||
</div>
|
||||
|
||||
{/* Social icons */}
|
||||
<div className="flex md:justify-end items-center mt-4 md:mt-0">
|
||||
<div className="flex gap-4">
|
||||
<div className='mt-4 flex items-center md:mt-0 md:justify-end'>
|
||||
<div className='flex gap-4'>
|
||||
<Link
|
||||
href={'https://github.com/simstudioai/sim'}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex md:hidden text-2xl transition-all duration-500"
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className='flex text-2xl transition-all duration-500 md:hidden'
|
||||
>
|
||||
<svg
|
||||
width="36"
|
||||
height="36"
|
||||
viewBox="0 0 1024 1024"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width='36'
|
||||
height='36'
|
||||
viewBox='0 0 1024 1024'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<path
|
||||
fillRule="evenodd"
|
||||
clipRule="evenodd"
|
||||
d="M8 0C3.58 0 0 3.58 0 8C0 11.54 2.29 14.53 5.47 15.59C5.87 15.66 6.02 15.42 6.02 15.21C6.02 15.02 6.01 14.39 6.01 13.72C4 14.09 3.48 13.23 3.32 12.78C3.23 12.55 2.84 11.84 2.5 11.65C2.22 11.5 1.82 11.13 2.49 11.12C3.12 11.11 3.57 11.7 3.72 11.94C4.44 13.15 5.59 12.81 6.05 12.6C6.12 12.08 6.33 11.73 6.56 11.53C4.78 11.33 2.92 10.64 2.92 7.58C2.92 6.71 3.23 5.99 3.74 5.43C3.66 5.23 3.38 4.41 3.82 3.31C3.82 3.31 4.49 3.1 6.02 4.13C6.66 3.95 7.34 3.86 8.02 3.86C8.7 3.86 9.38 3.95 10.02 4.13C11.55 3.09 12.22 3.31 12.22 3.31C12.66 4.41 12.38 5.23 12.3 5.43C12.81 5.99 13.12 6.7 13.12 7.58C13.12 10.65 11.25 11.33 9.47 11.53C9.76 11.78 10.01 12.26 10.01 13.01C10.01 14.08 10 14.94 10 15.21C10 15.42 10.15 15.67 10.55 15.59C13.71 14.53 16 11.53 16 8C16 3.58 12.42 0 8 0Z"
|
||||
transform="scale(64)"
|
||||
fill="#9E91AA"
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
d='M8 0C3.58 0 0 3.58 0 8C0 11.54 2.29 14.53 5.47 15.59C5.87 15.66 6.02 15.42 6.02 15.21C6.02 15.02 6.01 14.39 6.01 13.72C4 14.09 3.48 13.23 3.32 12.78C3.23 12.55 2.84 11.84 2.5 11.65C2.22 11.5 1.82 11.13 2.49 11.12C3.12 11.11 3.57 11.7 3.72 11.94C4.44 13.15 5.59 12.81 6.05 12.6C6.12 12.08 6.33 11.73 6.56 11.53C4.78 11.33 2.92 10.64 2.92 7.58C2.92 6.71 3.23 5.99 3.74 5.43C3.66 5.23 3.38 4.41 3.82 3.31C3.82 3.31 4.49 3.1 6.02 4.13C6.66 3.95 7.34 3.86 8.02 3.86C8.7 3.86 9.38 3.95 10.02 4.13C11.55 3.09 12.22 3.31 12.22 3.31C12.66 4.41 12.38 5.23 12.3 5.43C12.81 5.99 13.12 6.7 13.12 7.58C13.12 10.65 11.25 11.33 9.47 11.53C9.76 11.78 10.01 12.26 10.01 13.01C10.01 14.08 10 14.94 10 15.21C10 15.42 10.15 15.67 10.55 15.59C13.71 14.53 16 11.53 16 8C16 3.58 12.42 0 8 0Z'
|
||||
transform='scale(64)'
|
||||
fill='#9E91AA'
|
||||
/>
|
||||
</svg>
|
||||
</Link>
|
||||
<Link
|
||||
href={'https://discord.gg/Hr4UWYEcTT'}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-2xl transition-all duration-500"
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className='text-2xl transition-all duration-500'
|
||||
>
|
||||
<DiscordIcon className="fill-[#9E91AA] hover:fill-[#bdaecb] w-9 h-9 md:w-10 md:h-10" />
|
||||
<DiscordIcon className='h-9 w-9 fill-[#9E91AA] hover:fill-[#bdaecb] md:h-10 md:w-10' />
|
||||
</Link>
|
||||
<Link
|
||||
href={'https://x.com/simstudioai'}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-2xl transition-all duration-500"
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className='text-2xl transition-all duration-500'
|
||||
>
|
||||
<XIcon className="w-9 h-9 md:w-10 md:h-10 text-[#9E91AA] hover:text-[#bdaecb] transition-all duration-500" />
|
||||
<XIcon className='h-9 w-9 text-[#9E91AA] transition-all duration-500 hover:text-[#bdaecb] md:h-10 md:w-10' />
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
@@ -155,30 +154,30 @@ function Footer({ onOpenTypeformLink }: FooterProps) {
|
||||
|
||||
return (
|
||||
<motion.section
|
||||
className="w-full p-4 md:p-9 flex"
|
||||
className='flex w-full p-4 md:p-9'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
transition={{ duration: 0.7, delay: 0.05, ease: 'easeOut' }}
|
||||
>
|
||||
<motion.div
|
||||
className="bg-[#2B2334] rounded-3xl flex flex-col p-6 sm:p-10 md:p-16 w-full"
|
||||
className='flex w-full flex-col rounded-3xl bg-[#2B2334] p-6 sm:p-10 md:p-16'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
transition={{ duration: 0.7, delay: 0.1, ease: 'easeOut' }}
|
||||
>
|
||||
<motion.div
|
||||
className="flex flex-col w-full h-full md:flex-row justify-between"
|
||||
className='flex h-full w-full flex-col justify-between md:flex-row'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
transition={{ duration: 0.7, delay: 0.15, ease: 'easeOut' }}
|
||||
>
|
||||
{/* Left side content */}
|
||||
<div className="flex flex-col justify-between">
|
||||
<div className='flex flex-col justify-between'>
|
||||
<motion.p
|
||||
className="max-w-lg leading-[1.1] text-[#B5A1D4] font-light md:text-6xl text-5xl"
|
||||
className='max-w-lg font-light text-5xl text-[#B5A1D4] leading-[1.1] md:text-6xl'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
@@ -187,14 +186,14 @@ function Footer({ onOpenTypeformLink }: FooterProps) {
|
||||
Ready to build AI faster and easier?
|
||||
</motion.p>
|
||||
<motion.div
|
||||
className="mt-4 md:mt-auto pt-4 md:pt-8"
|
||||
className='mt-4 pt-4 md:mt-auto md:pt-8'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
transition={{ duration: 0.7, delay: 0.22, ease: 'easeOut' }}
|
||||
>
|
||||
<Button
|
||||
className="bg-[#B5A1D4] text-[#1C1C1C] w-fit hover:bg-[#bdaecb] transition-colors duration-500"
|
||||
className='w-fit bg-[#B5A1D4] text-[#1C1C1C] transition-colors duration-500 hover:bg-[#bdaecb]'
|
||||
size={'lg'}
|
||||
variant={'secondary'}
|
||||
onClick={onOpenTypeformLink}
|
||||
@@ -206,7 +205,7 @@ function Footer({ onOpenTypeformLink }: FooterProps) {
|
||||
|
||||
{/* Right side content */}
|
||||
<motion.div
|
||||
className="md:w-auto w-full flex flex-col gap-6 md:flex-row md:gap-16 md:items-end mt-8 md:mt-0 md:justify-end relative"
|
||||
className='relative mt-8 flex w-full flex-col gap-6 md:mt-0 md:w-auto md:flex-row md:items-end md:justify-end md:gap-16'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
@@ -214,32 +213,32 @@ function Footer({ onOpenTypeformLink }: FooterProps) {
|
||||
>
|
||||
{/* See repo button positioned absolutely to align with the top text - desktop only */}
|
||||
<motion.div
|
||||
className="absolute top-0 right-0 md:block hidden"
|
||||
className='absolute top-0 right-0 hidden md:block'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
transition={{ duration: 0.7, delay: 0.4, ease: 'easeOut' }}
|
||||
>
|
||||
<Link
|
||||
href="https://github.com/simstudioai/sim"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href='https://github.com/simstudioai/sim'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
<Button
|
||||
className="bg-[#B5A1D4] text-[#1C1C1C] hover:bg-[#bdaecb] transition-colors duration-500 flex items-center gap-2"
|
||||
className='flex items-center gap-2 bg-[#B5A1D4] text-[#1C1C1C] transition-colors duration-500 hover:bg-[#bdaecb]'
|
||||
size={'lg'}
|
||||
variant={'secondary'}
|
||||
>
|
||||
<GithubIcon className="w-5 h-5" />
|
||||
<GithubIcon className='h-5 w-5' />
|
||||
See repo
|
||||
</Button>
|
||||
</Link>
|
||||
</motion.div>
|
||||
|
||||
{/* Links section - flex row on mobile, part of flex row in md */}
|
||||
<div className="flex flex-row justify-between md:justify-start w-full md:w-auto gap-4 md:gap-16">
|
||||
<div className='flex w-full flex-row justify-between gap-4 md:w-auto md:justify-start md:gap-16'>
|
||||
<motion.div
|
||||
className="flex flex-col gap-2"
|
||||
className='flex flex-col gap-2'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
@@ -247,23 +246,23 @@ function Footer({ onOpenTypeformLink }: FooterProps) {
|
||||
>
|
||||
<Link
|
||||
href={'https://docs.simstudio.ai/'}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-xl md:text-2xl text-[#9E91AA] font-light hover:text-[#bdaecb] transition-all duration-500"
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className='font-light text-[#9E91AA] text-xl transition-all duration-500 hover:text-[#bdaecb] md:text-2xl'
|
||||
>
|
||||
Docs
|
||||
</Link>
|
||||
<Link
|
||||
href={'https://github.com/simstudioai/sim'}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-xl md:text-2xl text-[#9E91AA] font-light hover:text-[#bdaecb] transition-all duration-500"
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className='font-light text-[#9E91AA] text-xl transition-all duration-500 hover:text-[#bdaecb] md:text-2xl'
|
||||
>
|
||||
Contributors
|
||||
</Link>
|
||||
</motion.div>
|
||||
<motion.div
|
||||
className="flex flex-col gap-2"
|
||||
className='flex flex-col gap-2'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
@@ -271,17 +270,17 @@ function Footer({ onOpenTypeformLink }: FooterProps) {
|
||||
>
|
||||
<Link
|
||||
href={'/terms'}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-xl md:text-2xl text-[#9E91AA] font-light hover:text-[#bdaecb] transition-all duration-500"
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className='font-light text-[#9E91AA] text-xl transition-all duration-500 hover:text-[#bdaecb] md:text-2xl'
|
||||
>
|
||||
Terms and Conditions
|
||||
</Link>
|
||||
<Link
|
||||
href={'/privacy'}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-xl md:text-2xl text-[#9E91AA] font-light hover:text-[#bdaecb] transition-all duration-500"
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className='font-light text-[#9E91AA] text-xl transition-all duration-500 hover:text-[#bdaecb] md:text-2xl'
|
||||
>
|
||||
Privacy Policy
|
||||
</Link>
|
||||
@@ -290,50 +289,50 @@ function Footer({ onOpenTypeformLink }: FooterProps) {
|
||||
|
||||
{/* Social icons */}
|
||||
<motion.div
|
||||
className="flex md:justify-end items-center mt-4 md:mt-0"
|
||||
className='mt-4 flex items-center md:mt-0 md:justify-end'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
transition={{ duration: 0.7, delay: 0.4, ease: 'easeOut' }}
|
||||
>
|
||||
<div className="flex gap-4">
|
||||
<div className='flex gap-4'>
|
||||
<Link
|
||||
href={'https://github.com/simstudioai/sim'}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex md:hidden text-2xl transition-all duration-500"
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className='flex text-2xl transition-all duration-500 md:hidden'
|
||||
>
|
||||
<svg
|
||||
width="36"
|
||||
height="36"
|
||||
viewBox="0 0 1024 1024"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width='36'
|
||||
height='36'
|
||||
viewBox='0 0 1024 1024'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<path
|
||||
fillRule="evenodd"
|
||||
clipRule="evenodd"
|
||||
d="M8 0C3.58 0 0 3.58 0 8C0 11.54 2.29 14.53 5.47 15.59C5.87 15.66 6.02 15.42 6.02 15.21C6.02 15.02 6.01 14.39 6.01 13.72C4 14.09 3.48 13.23 3.32 12.78C3.23 12.55 2.84 11.84 2.5 11.65C2.22 11.5 1.82 11.13 2.49 11.12C3.12 11.11 3.57 11.7 3.72 11.94C4.44 13.15 5.59 12.81 6.05 12.6C6.12 12.08 6.33 11.73 6.56 11.53C4.78 11.33 2.92 10.64 2.92 7.58C2.92 6.71 3.23 5.99 3.74 5.43C3.66 5.23 3.38 4.41 3.82 3.31C3.82 3.31 4.49 3.1 6.02 4.13C6.66 3.95 7.34 3.86 8.02 3.86C8.7 3.86 9.38 3.95 10.02 4.13C11.55 3.09 12.22 3.31 12.22 3.31C12.66 4.41 12.38 5.23 12.3 5.43C12.81 5.99 13.12 6.7 13.12 7.58C13.12 10.65 11.25 11.33 9.47 11.53C9.76 11.78 10.01 12.26 10.01 13.01C10.01 14.08 10 14.94 10 15.21C10 15.42 10.15 15.67 10.55 15.59C13.71 14.53 16 11.53 16 8C16 3.58 12.42 0 8 0Z"
|
||||
transform="scale(64)"
|
||||
fill="#9E91AA"
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
d='M8 0C3.58 0 0 3.58 0 8C0 11.54 2.29 14.53 5.47 15.59C5.87 15.66 6.02 15.42 6.02 15.21C6.02 15.02 6.01 14.39 6.01 13.72C4 14.09 3.48 13.23 3.32 12.78C3.23 12.55 2.84 11.84 2.5 11.65C2.22 11.5 1.82 11.13 2.49 11.12C3.12 11.11 3.57 11.7 3.72 11.94C4.44 13.15 5.59 12.81 6.05 12.6C6.12 12.08 6.33 11.73 6.56 11.53C4.78 11.33 2.92 10.64 2.92 7.58C2.92 6.71 3.23 5.99 3.74 5.43C3.66 5.23 3.38 4.41 3.82 3.31C3.82 3.31 4.49 3.1 6.02 4.13C6.66 3.95 7.34 3.86 8.02 3.86C8.7 3.86 9.38 3.95 10.02 4.13C11.55 3.09 12.22 3.31 12.22 3.31C12.66 4.41 12.38 5.23 12.3 5.43C12.81 5.99 13.12 6.7 13.12 7.58C13.12 10.65 11.25 11.33 9.47 11.53C9.76 11.78 10.01 12.26 10.01 13.01C10.01 14.08 10 14.94 10 15.21C10 15.42 10.15 15.67 10.55 15.59C13.71 14.53 16 11.53 16 8C16 3.58 12.42 0 8 0Z'
|
||||
transform='scale(64)'
|
||||
fill='#9E91AA'
|
||||
/>
|
||||
</svg>
|
||||
</Link>
|
||||
<Link
|
||||
href={'https://discord.gg/Hr4UWYEcTT'}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-2xl transition-all duration-500"
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className='text-2xl transition-all duration-500'
|
||||
>
|
||||
<DiscordIcon className="fill-[#9E91AA] hover:fill-[#bdaecb] w-9 h-9 md:w-10 md:h-10" />
|
||||
<DiscordIcon className='h-9 w-9 fill-[#9E91AA] hover:fill-[#bdaecb] md:h-10 md:w-10' />
|
||||
</Link>
|
||||
<Link
|
||||
href={'https://x.com/simstudioai'}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-2xl transition-all duration-500"
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
className='text-2xl transition-all duration-500'
|
||||
>
|
||||
<XIcon className="w-9 h-9 md:w-10 md:h-10 text-[#9E91AA] hover:text-[#bdaecb] transition-all duration-500" />
|
||||
<XIcon className='h-9 w-9 text-[#9E91AA] transition-all duration-500 hover:text-[#bdaecb] md:h-10 md:w-10' />
|
||||
</Link>
|
||||
</div>
|
||||
</motion.div>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
'use client'
|
||||
|
||||
import React, { useEffect, useState } from 'react'
|
||||
import { useRouter } from 'next/navigation'
|
||||
import { useEffect, useState } from 'react'
|
||||
import { Command, CornerDownLeft } from 'lucide-react'
|
||||
import { useRouter } from 'next/navigation'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { useSession } from '@/lib/auth-client'
|
||||
import { GridPattern } from '../grid-pattern'
|
||||
@@ -56,17 +56,17 @@ function Hero() {
|
||||
|
||||
const renderActionUI = () => {
|
||||
if (isTransitioning || isPending) {
|
||||
return <div className="h-[56px] md:h-[64px]" />
|
||||
return <div className='h-[56px] md:h-[64px]' />
|
||||
}
|
||||
return (
|
||||
<Button
|
||||
variant={'secondary'}
|
||||
onClick={handleNavigate}
|
||||
className="bg-[#701ffc] font-geist-sans items-center px-7 py-6 text-lg text-neutral-100 font-[420] tracking-normal shadow-lg shadow-[#701ffc]/30 hover:bg-[#802FFF] animate-fade-in"
|
||||
aria-label="Start using the platform"
|
||||
className='animate-fade-in items-center bg-[#701ffc] px-7 py-6 font-[420] font-geist-sans text-lg text-neutral-100 tracking-normal shadow-[#701ffc]/30 shadow-lg hover:bg-[#802FFF]'
|
||||
aria-label='Start using the platform'
|
||||
>
|
||||
<div className="text-[1.15rem]">Start now</div>
|
||||
<div className="flex items-center gap-1 pl-2 opacity-80" aria-hidden="true">
|
||||
<div className='text-[1.15rem]'>Start now</div>
|
||||
<div className='flex items-center gap-1 pl-2 opacity-80' aria-hidden='true'>
|
||||
<Command size={24} />
|
||||
<CornerDownLeft />
|
||||
</div>
|
||||
@@ -76,72 +76,72 @@ function Hero() {
|
||||
|
||||
return (
|
||||
<section
|
||||
className="min-h-screen pt-28 sm:pt-32 md:pt-40 text-white relative border-b border-[#181818] overflow-hidden will-change-[opacity,transform] animation-container"
|
||||
aria-label="Main hero section"
|
||||
className='animation-container relative min-h-screen overflow-hidden border-[#181818] border-b pt-28 text-white will-change-[opacity,transform] sm:pt-32 md:pt-40'
|
||||
aria-label='Main hero section'
|
||||
>
|
||||
<GridPattern
|
||||
x={-5}
|
||||
y={-5}
|
||||
className="stroke-[#ababab]/5 absolute inset-0 z-0"
|
||||
className='absolute inset-0 z-0 stroke-[#ababab]/5'
|
||||
width={90}
|
||||
height={90}
|
||||
aria-hidden="true"
|
||||
aria-hidden='true'
|
||||
/>
|
||||
|
||||
{/* Centered black background behind text and button */}
|
||||
<div
|
||||
className="absolute left-1/2 top-[28%] md:top-[38%] -translate-x-1/2 -translate-y-1/2 w-[95%] md:w-[60%] lg:w-[50%]"
|
||||
aria-hidden="true"
|
||||
className='-translate-x-1/2 -translate-y-1/2 absolute top-[28%] left-1/2 w-[95%] md:top-[38%] md:w-[60%] lg:w-[50%]'
|
||||
aria-hidden='true'
|
||||
>
|
||||
<svg
|
||||
width="100%"
|
||||
height="100%"
|
||||
viewBox="0 0 600 480"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
preserveAspectRatio="xMidYMid meet"
|
||||
aria-hidden="true"
|
||||
className="h-auto aspect-[5/3] md:aspect-auto"
|
||||
width='100%'
|
||||
height='100%'
|
||||
viewBox='0 0 600 480'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
preserveAspectRatio='xMidYMid meet'
|
||||
aria-hidden='true'
|
||||
className='aspect-[5/3] h-auto md:aspect-auto'
|
||||
>
|
||||
<g filter="url(#filter0_b_0_1)">
|
||||
<ellipse cx="300" cy="240" rx="290" ry="220" fill="#0C0C0C" />
|
||||
<g filter='url(#filter0_b_0_1)'>
|
||||
<ellipse cx='300' cy='240' rx='290' ry='220' fill='#0C0C0C' />
|
||||
</g>
|
||||
<defs>
|
||||
<filter
|
||||
id="filter0_b_0_1"
|
||||
x="0"
|
||||
y="10"
|
||||
width="600"
|
||||
height="460"
|
||||
filterUnits="userSpaceOnUse"
|
||||
colorInterpolationFilters="sRGB"
|
||||
id='filter0_b_0_1'
|
||||
x='0'
|
||||
y='10'
|
||||
width='600'
|
||||
height='460'
|
||||
filterUnits='userSpaceOnUse'
|
||||
colorInterpolationFilters='sRGB'
|
||||
>
|
||||
<feGaussianBlur stdDeviation="5" />
|
||||
<feGaussianBlur stdDeviation='5' />
|
||||
</filter>
|
||||
</defs>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<div
|
||||
className="absolute inset-0 z-10 flex items-center justify-center h-full"
|
||||
aria-hidden="true"
|
||||
className='absolute inset-0 z-10 flex h-full items-center justify-center'
|
||||
aria-hidden='true'
|
||||
>
|
||||
<HeroWorkflowProvider />
|
||||
</div>
|
||||
|
||||
<div className="text-center space-y-4 relative z-20 px-4 animation-container">
|
||||
<h1 className="text-[42px] md:text-[68px] leading-[1.10] font-semibold animate-fade-up [animation-delay:200ms] opacity-0 will-change-[opacity,transform] animation-container">
|
||||
<div className='animation-container relative z-20 space-y-4 px-4 text-center'>
|
||||
<h1 className='animation-container animate-fade-up font-semibold text-[42px] leading-[1.10] opacity-0 will-change-[opacity,transform] [animation-delay:200ms] md:text-[68px]'>
|
||||
Build / Deploy
|
||||
<br />
|
||||
Agent Workflows
|
||||
</h1>
|
||||
|
||||
<p className="text-base md:text-xl text-neutral-400/80 font-normal max-w-3xl mx-auto animate-fade-up leading-[1.5] tracking-normal [animation-delay:400ms] opacity-0 will-change-[opacity,transform] animation-container">
|
||||
<p className='animation-container mx-auto max-w-3xl animate-fade-up font-normal text-base text-neutral-400/80 leading-[1.5] tracking-normal opacity-0 will-change-[opacity,transform] [animation-delay:400ms] md:text-xl'>
|
||||
Launch agentic workflows with an open source, <br />
|
||||
user-friendly environment for devs and agents
|
||||
</p>
|
||||
|
||||
<div className="animate-fade-up pt-4 pb-10 [animation-delay:600ms] opacity-0 translate-y-[-10px] will-change-[opacity,transform] animation-container">
|
||||
<div className='animation-container translate-y-[-10px] animate-fade-up pt-4 pb-10 opacity-0 will-change-[opacity,transform] [animation-delay:600ms]'>
|
||||
{renderActionUI()}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,8 @@
|
||||
'use client'
|
||||
|
||||
import React from 'react'
|
||||
import { motion } from 'framer-motion'
|
||||
import { Marquee } from '@/app/(landing)/components/magicui/marquee'
|
||||
import useIsMobile from '../hooks/useIsMobile'
|
||||
import useIsMobile from '../hooks/use-is-mobile'
|
||||
|
||||
const X_TESTIMONIALS = [
|
||||
{
|
||||
@@ -80,20 +79,20 @@ function Testimonials() {
|
||||
|
||||
if (!mounted) {
|
||||
return (
|
||||
<section className="relative flex flex-col py-10 sm:py-12 md:py-16 w-full overflow-hidden" />
|
||||
<section className='relative flex w-full flex-col overflow-hidden py-10 sm:py-12 md:py-16' />
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<section className="relative flex flex-col py-10 sm:py-12 md:py-16 w-full overflow-hidden will-change-[opacity,transform] animation-container">
|
||||
<div className="flex flex-col items-center gap-3 sm:gap-5 pb-6 sm:pb-8 md:pb-10 px-4">
|
||||
<section className='animation-container relative flex w-full flex-col overflow-hidden py-10 will-change-[opacity,transform] sm:py-12 md:py-16'>
|
||||
<div className='flex flex-col items-center gap-3 px-4 pb-6 sm:gap-5 sm:pb-8 md:pb-10'>
|
||||
{isMobile ? (
|
||||
<p className="text-white font-medium tracking-normal text-[42px] md:text-5xl text-center">
|
||||
<p className='text-center font-medium text-[42px] text-white tracking-normal md:text-5xl'>
|
||||
Loved by
|
||||
</p>
|
||||
) : (
|
||||
<motion.p
|
||||
className="text-white font-medium tracking-normal text-5xl text-center"
|
||||
className='text-center font-medium text-5xl text-white tracking-normal'
|
||||
initial={{ opacity: 0, y: 40 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true, amount: 0.2 }}
|
||||
@@ -104,41 +103,41 @@ function Testimonials() {
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div className="flex flex-col space-y-2 sm:space-y-3 mt-0">
|
||||
<div className='mt-0 flex flex-col space-y-2 sm:space-y-3'>
|
||||
{/* First Row of X Posts */}
|
||||
<div className="w-full flex flex-col text-white animate-fade-up [animation-delay:400ms] opacity-0 will-change-[opacity,transform] animation-container">
|
||||
<Marquee className="w-full flex [--duration:40s]" pauseOnHover={true}>
|
||||
<div className='animation-container flex w-full animate-fade-up flex-col text-white opacity-0 will-change-[opacity,transform] [animation-delay:400ms]'>
|
||||
<Marquee className='flex w-full [--duration:40s]' pauseOnHover={true}>
|
||||
{firstRowTestimonials.map((card, index) => (
|
||||
<motion.div
|
||||
key={`first-row-${index}`}
|
||||
className="bg-[#121212] border border-[#333] p-2 sm:p-3 flex flex-col gap-2 rounded-lg cursor-pointer min-w-[280px] sm:min-w-[320px] max-w-[340px] sm:max-w-[380px] mx-0.5"
|
||||
className='mx-0.5 flex min-w-[280px] max-w-[340px] cursor-pointer flex-col gap-2 rounded-lg border border-[#333] bg-[#121212] p-2 sm:min-w-[320px] sm:max-w-[380px] sm:p-3'
|
||||
whileHover={{ scale: 1.02, boxShadow: '0 8px 32px 0 rgba(80, 60, 120, 0.18)' }}
|
||||
transition={{ type: 'spring', stiffness: 300, damping: 20 }}
|
||||
onClick={() =>
|
||||
card.tweetUrl && window.open(card.tweetUrl, '_blank', 'noopener,noreferrer')
|
||||
}
|
||||
>
|
||||
<div className="flex flex-col gap-1">
|
||||
<p className="text-white text-sm sm:text-base font-medium">{card.text}</p>
|
||||
<div className='flex flex-col gap-1'>
|
||||
<p className='font-medium text-sm text-white sm:text-base'>{card.text}</p>
|
||||
</div>
|
||||
<div className="flex justify-between items-center mt-auto">
|
||||
<div className="flex gap-1.5 sm:gap-2 items-center">
|
||||
<div className='mt-auto flex items-center justify-between'>
|
||||
<div className='flex items-center gap-1.5 sm:gap-2'>
|
||||
{card.profileImage && (
|
||||
<img
|
||||
src={card.profileImage}
|
||||
alt={`${card.username} profile`}
|
||||
className="w-6 h-6 sm:w-8 sm:h-8 rounded-full object-cover border border-[#333]"
|
||||
className='h-6 w-6 rounded-full border border-[#333] object-cover sm:h-8 sm:w-8'
|
||||
/>
|
||||
)}
|
||||
<div className="flex items-center">
|
||||
<span className="text-xs sm:text-sm font-medium text-white/80">@</span>
|
||||
<p className="text-xs sm:text-sm font-medium text-white/80">
|
||||
<div className='flex items-center'>
|
||||
<span className='font-medium text-white/80 text-xs sm:text-sm'>@</span>
|
||||
<p className='font-medium text-white/80 text-xs sm:text-sm'>
|
||||
{card.username.replace('@', '')}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex items-center">
|
||||
<p className="text-[10px] sm:text-xs text-white/60">{card.viewCount} views</p>
|
||||
<div className='flex items-center'>
|
||||
<p className='text-[10px] text-white/60 sm:text-xs'>{card.viewCount} views</p>
|
||||
</div>
|
||||
</div>
|
||||
</motion.div>
|
||||
@@ -147,39 +146,39 @@ function Testimonials() {
|
||||
</div>
|
||||
|
||||
{/* Second Row of X Posts */}
|
||||
<div className="w-full flex flex-col text-white animate-fade-up [animation-delay:600ms] opacity-0 will-change-[opacity,transform] animation-container">
|
||||
<Marquee className="w-full flex [--duration:40s]" pauseOnHover={true}>
|
||||
<div className='animation-container flex w-full animate-fade-up flex-col text-white opacity-0 will-change-[opacity,transform] [animation-delay:600ms]'>
|
||||
<Marquee className='flex w-full [--duration:40s]' pauseOnHover={true}>
|
||||
{secondRowTestimonials.map((card, index) => (
|
||||
<motion.div
|
||||
key={`second-row-${index}`}
|
||||
className="bg-[#121212] border border-[#333] p-2 sm:p-3 flex flex-col gap-2 rounded-lg cursor-pointer min-w-[280px] sm:min-w-[320px] max-w-[340px] sm:max-w-[380px] mx-0.5"
|
||||
className='mx-0.5 flex min-w-[280px] max-w-[340px] cursor-pointer flex-col gap-2 rounded-lg border border-[#333] bg-[#121212] p-2 sm:min-w-[320px] sm:max-w-[380px] sm:p-3'
|
||||
whileHover={{ scale: 1.02, boxShadow: '0 8px 32px 0 rgba(80, 60, 120, 0.18)' }}
|
||||
transition={{ type: 'spring', stiffness: 300, damping: 20 }}
|
||||
onClick={() =>
|
||||
card.tweetUrl && window.open(card.tweetUrl, '_blank', 'noopener,noreferrer')
|
||||
}
|
||||
>
|
||||
<div className="flex flex-col gap-1">
|
||||
<p className="text-white text-sm sm:text-base font-medium">{card.text}</p>
|
||||
<div className='flex flex-col gap-1'>
|
||||
<p className='font-medium text-sm text-white sm:text-base'>{card.text}</p>
|
||||
</div>
|
||||
<div className="flex justify-between items-center mt-auto">
|
||||
<div className="flex gap-1.5 sm:gap-2 items-center">
|
||||
<div className='mt-auto flex items-center justify-between'>
|
||||
<div className='flex items-center gap-1.5 sm:gap-2'>
|
||||
{card.profileImage && (
|
||||
<img
|
||||
src={card.profileImage}
|
||||
alt={`${card.username} profile`}
|
||||
className="w-6 h-6 sm:w-8 sm:h-8 rounded-full object-cover border border-[#333]"
|
||||
className='h-6 w-6 rounded-full border border-[#333] object-cover sm:h-8 sm:w-8'
|
||||
/>
|
||||
)}
|
||||
<div className="flex items-center">
|
||||
<span className="text-xs sm:text-sm font-medium text-white/80">@</span>
|
||||
<p className="text-xs sm:text-sm font-medium text-white/80">
|
||||
<div className='flex items-center'>
|
||||
<span className='font-medium text-white/80 text-xs sm:text-sm'>@</span>
|
||||
<p className='font-medium text-white/80 text-xs sm:text-sm'>
|
||||
{card.username.replace('@', '')}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex items-center">
|
||||
<p className="text-[10px] sm:text-xs text-white/60">{card.viewCount} views</p>
|
||||
<div className='flex items-center'>
|
||||
<p className='text-[10px] text-white/60 sm:text-xs'>{card.viewCount} views</p>
|
||||
</div>
|
||||
</div>
|
||||
</motion.div>
|
||||
|
||||
@@ -13,8 +13,8 @@ export default function WaitlistForm() {
|
||||
const [status, setStatus] = useState<'idle' | 'success' | 'error' | 'exists' | 'ratelimited'>(
|
||||
'idle'
|
||||
)
|
||||
const [errorMessage, setErrorMessage] = useState('')
|
||||
const [retryAfter, setRetryAfter] = useState<number | null>(null)
|
||||
const [_errorMessage, setErrorMessage] = useState('')
|
||||
const [_retryAfter, setRetryAfter] = useState<number | null>(null)
|
||||
|
||||
const handleSubmit = async (e: React.FormEvent) => {
|
||||
e.preventDefault()
|
||||
@@ -57,7 +57,7 @@ export default function WaitlistForm() {
|
||||
|
||||
setStatus('success')
|
||||
setEmail('')
|
||||
} catch (error) {
|
||||
} catch (_error) {
|
||||
setStatus('error')
|
||||
setErrorMessage('Please try again')
|
||||
} finally {
|
||||
@@ -70,7 +70,7 @@ export default function WaitlistForm() {
|
||||
if (status === 'success') return 'Joined!'
|
||||
if (status === 'error') return 'Try again'
|
||||
if (status === 'exists') return 'Already joined'
|
||||
if (status === 'ratelimited') return `Try again later`
|
||||
if (status === 'ratelimited') return 'Try again later'
|
||||
return 'Join waitlist'
|
||||
}
|
||||
|
||||
@@ -92,20 +92,20 @@ export default function WaitlistForm() {
|
||||
return (
|
||||
<form
|
||||
onSubmit={handleSubmit}
|
||||
className="flex flex-col gap-3 items-center max-w-lg mx-auto mt-8"
|
||||
className='mx-auto mt-8 flex max-w-lg flex-col items-center gap-3'
|
||||
>
|
||||
<div className="flex w-full gap-3">
|
||||
<div className='flex w-full gap-3'>
|
||||
<Input
|
||||
type="email"
|
||||
placeholder="you@example.com"
|
||||
className="flex-1 text-sm md:text-md lg:text-[16px] bg-[#020817] border-white/20 focus:border-white/30 focus:ring-white/30 rounded-md h-[49px]"
|
||||
type='email'
|
||||
placeholder='you@example.com'
|
||||
className='h-[49px] flex-1 rounded-md border-white/20 bg-[#020817] text-sm focus:border-white/30 focus:ring-white/30 md:text-md lg:text-[16px]'
|
||||
value={email}
|
||||
onChange={(e) => setEmail(e.target.value)}
|
||||
disabled={isSubmitting || status === 'ratelimited'}
|
||||
/>
|
||||
<Button
|
||||
type="submit"
|
||||
className={`rounded-md px-8 h-[48px] text-sm md:text-md ${getButtonStyle()}`}
|
||||
type='submit'
|
||||
className={`h-[48px] rounded-md px-8 text-sm md:text-md ${getButtonStyle()}`}
|
||||
disabled={isSubmitting || status === 'ratelimited'}
|
||||
>
|
||||
{getButtonText()}
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
'use client'
|
||||
|
||||
import NavWrapper from './components/nav-wrapper'
|
||||
import Blogs from './components/sections/blogs'
|
||||
import Features from './components/sections/features'
|
||||
import Footer from './components/sections/footer'
|
||||
import Hero from './components/sections/hero'
|
||||
import Integrations from './components/sections/integrations'
|
||||
@@ -14,7 +12,7 @@ export default function Landing() {
|
||||
}
|
||||
|
||||
return (
|
||||
<main className="bg-[#0C0C0C] relative min-h-screen font-geist-sans">
|
||||
<main className='relative min-h-screen bg-[#0C0C0C] font-geist-sans'>
|
||||
<NavWrapper onOpenTypeformLink={handleOpenTypeformLink} />
|
||||
|
||||
<Hero />
|
||||
|
||||
@@ -11,16 +11,16 @@ export default function PrivacyPolicy() {
|
||||
}
|
||||
|
||||
return (
|
||||
<main className="bg-[#0C0C0C] min-h-screen text-white relative overflow-hidden">
|
||||
<main className='relative min-h-screen overflow-hidden bg-[#0C0C0C] text-white'>
|
||||
{/* Grid pattern background - only covers content area */}
|
||||
<div className="absolute inset-0 bottom-[400px] z-0 overflow-hidden">
|
||||
<div className='absolute inset-0 bottom-[400px] z-0 overflow-hidden'>
|
||||
<GridPattern
|
||||
x={-5}
|
||||
y={-5}
|
||||
className="stroke-[#ababab]/5 absolute inset-0"
|
||||
className='absolute inset-0 stroke-[#ababab]/5'
|
||||
width={90}
|
||||
height={90}
|
||||
aria-hidden="true"
|
||||
aria-hidden='true'
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -29,51 +29,51 @@ export default function PrivacyPolicy() {
|
||||
|
||||
{/* SVG background blur centered behind content */}
|
||||
<div
|
||||
className="absolute left-1/2 top-0 bottom-0 -translate-x-1/2 w-[95%] md:w-[90%] lg:w-[80%] max-w-5xl z-[1] h-full"
|
||||
aria-hidden="true"
|
||||
className='-translate-x-1/2 absolute top-0 bottom-0 left-1/2 z-[1] h-full w-[95%] max-w-5xl md:w-[90%] lg:w-[80%]'
|
||||
aria-hidden='true'
|
||||
>
|
||||
<svg
|
||||
width="100%"
|
||||
height="100%"
|
||||
viewBox="0 0 600 1600"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
preserveAspectRatio="xMidYMid slice"
|
||||
className="h-full w-full"
|
||||
width='100%'
|
||||
height='100%'
|
||||
viewBox='0 0 600 1600'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
preserveAspectRatio='xMidYMid slice'
|
||||
className='h-full w-full'
|
||||
>
|
||||
<g filter="url(#filter0_b_privacy)">
|
||||
<rect width="600" height="1600" rx="0" fill="#0C0C0C" />
|
||||
<g filter='url(#filter0_b_privacy)'>
|
||||
<rect width='600' height='1600' rx='0' fill='#0C0C0C' />
|
||||
</g>
|
||||
<defs>
|
||||
<filter
|
||||
id="filter0_b_privacy"
|
||||
x="-20"
|
||||
y="-20"
|
||||
width="640"
|
||||
height="1640"
|
||||
filterUnits="userSpaceOnUse"
|
||||
colorInterpolationFilters="sRGB"
|
||||
id='filter0_b_privacy'
|
||||
x='-20'
|
||||
y='-20'
|
||||
width='640'
|
||||
height='1640'
|
||||
filterUnits='userSpaceOnUse'
|
||||
colorInterpolationFilters='sRGB'
|
||||
>
|
||||
<feGaussianBlur stdDeviation="7" />
|
||||
<feGaussianBlur stdDeviation='7' />
|
||||
</filter>
|
||||
</defs>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
{/* Content */}
|
||||
<div className="relative z-10">
|
||||
<div className="max-w-4xl mx-auto px-4 py-16 pt-36">
|
||||
<div className="relative px-4 sm:px-8 py-4">
|
||||
<h1 className="text-4xl font-bold mb-8 text-white">Privacy Policy</h1>
|
||||
<div className='relative z-10'>
|
||||
<div className='mx-auto max-w-4xl px-4 py-16 pt-36'>
|
||||
<div className='relative px-4 py-4 sm:px-8'>
|
||||
<h1 className='mb-8 font-bold text-4xl text-white'>Privacy Policy</h1>
|
||||
|
||||
<div className="space-y-8 text-white/80">
|
||||
<div className='space-y-8 text-white/80'>
|
||||
<section>
|
||||
<p className="mb-4">Last Updated: April 22, 2025</p>
|
||||
<p className='mb-4'>Last Updated: April 22, 2025</p>
|
||||
<p>
|
||||
This Privacy Policy describes how your personal information is collected, used,
|
||||
and shared when you visit or use Sim Studio ("the Service", "we", "us", or "our").
|
||||
</p>
|
||||
<p className="mt-4">
|
||||
<p className='mt-4'>
|
||||
By using the Service, you agree to the collection and use of information in
|
||||
accordance with this policy. Unless otherwise defined in this Privacy Policy,
|
||||
terms used in this Privacy Policy have the same meanings as in our Terms of
|
||||
@@ -82,35 +82,35 @@ export default function PrivacyPolicy() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>
|
||||
Interpretation and Definitions
|
||||
</h2>
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Interpretation</h3>
|
||||
<p className="mb-4">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Interpretation</h3>
|
||||
<p className='mb-4'>
|
||||
Under the following conditions, the meanings of words with capitalized first
|
||||
letters are defined. The following definitions have the same meaning whether they
|
||||
are written in singular or plural form.
|
||||
</p>
|
||||
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Definitions</h3>
|
||||
<p className="mb-4">For the purposes of this Privacy Policy:</p>
|
||||
<ul className="list-disc pl-6 space-y-2 mb-4 marker:text-[#B5A1D4]">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Definitions</h3>
|
||||
<p className='mb-4'>For the purposes of this Privacy Policy:</p>
|
||||
<ul className='mb-4 list-disc space-y-2 pl-6 marker:text-[#B5A1D4]'>
|
||||
<li>
|
||||
<span className="text-[#B5A1D4]">Account</span> means a unique account created
|
||||
<span className='text-[#B5A1D4]'>Account</span> means a unique account created
|
||||
for You to access our Service or parts of our Service.
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-[#B5A1D4]">Affiliate</span> means an entity that controls,
|
||||
<span className='text-[#B5A1D4]'>Affiliate</span> means an entity that controls,
|
||||
is controlled by or is under common control with a party, where "control" means
|
||||
ownership of 50% or more of the shares, equity interest or other securities
|
||||
entitled to vote for election of directors or other managing authority.
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-[#B5A1D4]">Application</span> means the software program
|
||||
<span className='text-[#B5A1D4]'>Application</span> means the software program
|
||||
provided by the Company downloaded by You on any electronic device.
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-[#B5A1D4]">Business</span>, for the purpose of the CCPA
|
||||
<span className='text-[#B5A1D4]'>Business</span>, for the purpose of the CCPA
|
||||
(California Consumer Privacy Act), refers to the Company as the legal entity
|
||||
that collects Consumers' personal information and determines the purposes and
|
||||
means of the processing of Consumers' personal information, or on behalf of
|
||||
@@ -119,37 +119,37 @@ export default function PrivacyPolicy() {
|
||||
information, that does business in the State of California.
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-[#B5A1D4]">Company</span> (referred to as either "the
|
||||
<span className='text-[#B5A1D4]'>Company</span> (referred to as either "the
|
||||
Company", "We", "Us" or "Our" in this Agreement) refers to Sim Studio. For the
|
||||
purpose of the GDPR, the Company is the Data Controller.
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-[#B5A1D4]">Cookies</span> are small files that are placed
|
||||
<span className='text-[#B5A1D4]'>Cookies</span> are small files that are placed
|
||||
on Your computer, mobile device or any other device by a website, containing the
|
||||
details of Your browsing history on that website among its many uses.
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-[#B5A1D4]">Country</span> refers to: Quebec, Canada
|
||||
<span className='text-[#B5A1D4]'>Country</span> refers to: Quebec, Canada
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-[#B5A1D4]">Data Controller</span>, for the purposes of the
|
||||
<span className='text-[#B5A1D4]'>Data Controller</span>, for the purposes of the
|
||||
GDPR (General Data Protection Regulation), refers to the Company as the legal
|
||||
person which alone or jointly with others determines the purposes and means of
|
||||
the processing of Personal Data.
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-[#B5A1D4]">Device</span> means any device that can access
|
||||
<span className='text-[#B5A1D4]'>Device</span> means any device that can access
|
||||
the Service such as a computer, a cellphone or a digital tablet.
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-[#B5A1D4]">Do Not Track (DNT)</span> is a concept that has
|
||||
<span className='text-[#B5A1D4]'>Do Not Track (DNT)</span> is a concept that has
|
||||
been promoted by US regulatory authorities, in particular the U.S. Federal Trade
|
||||
Commission (FTC), for the Internet industry to develop and implement a mechanism
|
||||
for allowing internet users to control the tracking of their online activities
|
||||
across websites.
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-[#B5A1D4]">Personal Data</span> is any information that
|
||||
<span className='text-[#B5A1D4]'>Personal Data</span> is any information that
|
||||
relates to an identified or identifiable individual. For the purposes for GDPR,
|
||||
Personal Data means any information relating to You such as a name, an
|
||||
identification number, location data, online identifier or to one or more
|
||||
@@ -160,7 +160,7 @@ export default function PrivacyPolicy() {
|
||||
You.
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-[#B5A1D4]">Sale</span>, for the purpose of the CCPA
|
||||
<span className='text-[#B5A1D4]'>Sale</span>, for the purpose of the CCPA
|
||||
(California Consumer Privacy Act), means selling, renting, releasing,
|
||||
disclosing, disseminating, making available, transferring, or otherwise
|
||||
communicating orally, in writing, or by electronic or other means, a Consumer's
|
||||
@@ -168,11 +168,11 @@ export default function PrivacyPolicy() {
|
||||
valuable consideration.
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-[#B5A1D4]">Service</span> refers to the Application or the
|
||||
<span className='text-[#B5A1D4]'>Service</span> refers to the Application or the
|
||||
Website or both.
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-[#B5A1D4]">Service Provider</span> means any natural or
|
||||
<span className='text-[#B5A1D4]'>Service Provider</span> means any natural or
|
||||
legal person who processes the data on behalf of the Company. It refers to
|
||||
third-party companies or individuals employed by the Company to facilitate the
|
||||
Service, to provide the Service on behalf of the Company, to perform services
|
||||
@@ -181,21 +181,21 @@ export default function PrivacyPolicy() {
|
||||
Processors.
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-[#B5A1D4]">Third-party Social Media Service</span> refers
|
||||
<span className='text-[#B5A1D4]'>Third-party Social Media Service</span> refers
|
||||
to any website or any social network website through which a User can log in or
|
||||
create an account to use the Service.
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-[#B5A1D4]">Usage Data</span> refers to data collected
|
||||
<span className='text-[#B5A1D4]'>Usage Data</span> refers to data collected
|
||||
automatically, either generated by the use of the Service or from the Service
|
||||
infrastructure itself (for example, the duration of a page visit).
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-[#B5A1D4]">Website</span> refers to Sim Studio, accessible
|
||||
<span className='text-[#B5A1D4]'>Website</span> refers to Sim Studio, accessible
|
||||
from simstudio.ai
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-[#B5A1D4]">You</span> means the individual accessing or
|
||||
<span className='text-[#B5A1D4]'>You</span> means the individual accessing or
|
||||
using the Service, or the company, or other legal entity on behalf of which such
|
||||
individual is accessing or using the Service, as applicable. Under GDPR (General
|
||||
Data Protection Regulation), You can be referred to as the Data Subject or as
|
||||
@@ -205,17 +205,17 @@ export default function PrivacyPolicy() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>
|
||||
1. Information We Collect
|
||||
</h2>
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Personal Information</h3>
|
||||
<p className="mb-4">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Personal Information</h3>
|
||||
<p className='mb-4'>
|
||||
While using our Service, we may ask you to provide us with certain personally
|
||||
identifiable information that can be used to contact or identify you (
|
||||
<span className="text-[#B5A1D4]">"Personal Information"</span>). Personally
|
||||
<span className='text-[#B5A1D4]'>"Personal Information"</span>). Personally
|
||||
identifiable information may include, but is not limited to:
|
||||
</p>
|
||||
<ul className="list-disc pl-6 space-y-2 mb-4 marker:text-[#B5A1D4]">
|
||||
<ul className='mb-4 list-disc space-y-2 pl-6 marker:text-[#B5A1D4]'>
|
||||
<li>Email address</li>
|
||||
<li>First name and last name</li>
|
||||
<li>Phone number</li>
|
||||
@@ -223,33 +223,33 @@ export default function PrivacyPolicy() {
|
||||
<li>Cookies and Usage Data</li>
|
||||
</ul>
|
||||
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Usage Data</h3>
|
||||
<p className="mb-4">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Usage Data</h3>
|
||||
<p className='mb-4'>
|
||||
We may also collect information on how the Service is accessed and used (
|
||||
<span className="text-[#B5A1D4]">"Usage Data"</span>). This Usage Data may include
|
||||
<span className='text-[#B5A1D4]'>"Usage Data"</span>). This Usage Data may include
|
||||
information such as your computer's Internet Protocol address (e.g. IP address),
|
||||
browser type, browser version, the pages of our Service that you visit, the time
|
||||
and date of your visit, the time spent on those pages, unique device identifiers
|
||||
and other diagnostic data.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
When You access the Service by or through a mobile device, We may collect certain
|
||||
information automatically, including, but not limited to, the type of mobile
|
||||
device You use, Your mobile device unique ID, the IP address of Your mobile
|
||||
device, Your mobile operating system, the type of mobile Internet browser You use,
|
||||
unique device identifiers and other diagnostic data.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
We may also collect information that Your browser sends whenever You visit our
|
||||
Service or when You access the Service by or through a mobile device.
|
||||
</p>
|
||||
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Tracking & Cookies Data</h3>
|
||||
<p className="mb-4">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Tracking & Cookies Data</h3>
|
||||
<p className='mb-4'>
|
||||
We use cookies and similar tracking technologies to track the activity on our
|
||||
Service and hold certain information.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
Cookies are files with small amount of data which may include an anonymous unique
|
||||
identifier. Cookies are sent to your browser from a website and stored on your
|
||||
device. Tracking technologies also used are beacons, tags, and scripts to collect
|
||||
@@ -263,11 +263,11 @@ export default function PrivacyPolicy() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>
|
||||
2. How We Use Your Information
|
||||
</h2>
|
||||
<p className="mb-4">We use the collected data for various purposes:</p>
|
||||
<ul className="list-disc pl-6 space-y-2 marker:text-[#B5A1D4]">
|
||||
<p className='mb-4'>We use the collected data for various purposes:</p>
|
||||
<ul className='list-disc space-y-2 pl-6 marker:text-[#B5A1D4]'>
|
||||
<li>To provide and maintain our Service</li>
|
||||
<li>To notify you about changes to our Service</li>
|
||||
<li>
|
||||
@@ -290,14 +290,14 @@ export default function PrivacyPolicy() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">3. Transfer Of Data</h2>
|
||||
<p className="mb-4">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>3. Transfer Of Data</h2>
|
||||
<p className='mb-4'>
|
||||
Your information, including Personal Information, may be transferred to — and
|
||||
maintained on — computers located outside of your state, province, country or
|
||||
other governmental jurisdiction where the data protection laws may differ than
|
||||
those from your jurisdiction.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
If you are located outside United States and choose to provide information to us,
|
||||
please note that we transfer the data, including Personal Information, to United
|
||||
States and process it there.
|
||||
@@ -309,28 +309,28 @@ export default function PrivacyPolicy() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">4. Disclosure Of Data</h2>
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>4. Disclosure Of Data</h2>
|
||||
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Business Transactions</h3>
|
||||
<p className="mb-4">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Business Transactions</h3>
|
||||
<p className='mb-4'>
|
||||
If the Company is involved in a merger, acquisition or asset sale, Your Personal
|
||||
Data may be transferred. We will provide notice before Your Personal Data is
|
||||
transferred and becomes subject to a different Privacy Policy.
|
||||
</p>
|
||||
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Law Enforcement</h3>
|
||||
<p className="mb-4">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Law Enforcement</h3>
|
||||
<p className='mb-4'>
|
||||
Under certain circumstances, the Company may be required to disclose Your Personal
|
||||
Data if required to do so by law or in response to valid requests by public
|
||||
authorities (e.g. a court or a government agency).
|
||||
</p>
|
||||
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Legal Requirements</h3>
|
||||
<p className="mb-4">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Legal Requirements</h3>
|
||||
<p className='mb-4'>
|
||||
Sim Studio may disclose your Personal Information in the good faith belief that
|
||||
such action is necessary to:
|
||||
</p>
|
||||
<ul className="list-disc pl-6 space-y-2 marker:text-[#B5A1D4]">
|
||||
<ul className='list-disc space-y-2 pl-6 marker:text-[#B5A1D4]'>
|
||||
<li>To comply with a legal obligation</li>
|
||||
<li>To protect and defend the rights or property of Sim Studio</li>
|
||||
<li>
|
||||
@@ -342,8 +342,8 @@ export default function PrivacyPolicy() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">5. Security Of Data</h2>
|
||||
<p className="mb-4">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>5. Security Of Data</h2>
|
||||
<p className='mb-4'>
|
||||
The security of your data is important to us, but remember that no method of
|
||||
transmission over the Internet, or method of electronic storage is 100% secure.
|
||||
While we strive to use commercially acceptable means to protect your Personal
|
||||
@@ -352,10 +352,10 @@ export default function PrivacyPolicy() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">6. Service Providers</h2>
|
||||
<p className="mb-4">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>6. Service Providers</h2>
|
||||
<p className='mb-4'>
|
||||
We may employ third party companies and individuals to facilitate our Service (
|
||||
<span className="text-[#B5A1D4]">"Service Providers"</span>), to provide the
|
||||
<span className='text-[#B5A1D4]'>"Service Providers"</span>), to provide the
|
||||
Service on our behalf, to perform Service-related services or to assist us in
|
||||
analyzing how our Service is used.
|
||||
</p>
|
||||
@@ -367,20 +367,20 @@ export default function PrivacyPolicy() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">7. Analytics</h2>
|
||||
<p className="mb-4">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>7. Analytics</h2>
|
||||
<p className='mb-4'>
|
||||
We may use third-party Service Providers to monitor and analyze the use of our
|
||||
Service.
|
||||
</p>
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Google Analytics</h3>
|
||||
<p className="mb-4">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Google Analytics</h3>
|
||||
<p className='mb-4'>
|
||||
Google Analytics is a web analytics service offered by Google that tracks and
|
||||
reports website traffic. Google uses the data collected to track and monitor the
|
||||
use of our Service. This data is shared with other Google services. Google may use
|
||||
the collected data to contextualize and personalize the ads of its own advertising
|
||||
network.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
You can opt-out of having made your activity on the Service available to Google
|
||||
Analytics by installing the Google Analytics opt-out browser add-on. The add-on
|
||||
prevents the Google Analytics JavaScript (ga.js, analytics.js, and dc.js) from
|
||||
@@ -390,10 +390,10 @@ export default function PrivacyPolicy() {
|
||||
For more information on the privacy practices of Google, please visit the Google
|
||||
Privacy & Terms web page:{' '}
|
||||
<Link
|
||||
href="https://policies.google.com/privacy?hl=en"
|
||||
className="text-[#B5A1D4] hover:text-[#701ffc]"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href='https://policies.google.com/privacy?hl=en'
|
||||
className='text-[#B5A1D4] hover:text-[#701ffc]'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
https://policies.google.com/privacy
|
||||
</Link>
|
||||
@@ -401,41 +401,41 @@ export default function PrivacyPolicy() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>
|
||||
8. Behavioral Remarketing
|
||||
</h2>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
The Company uses remarketing services to advertise on third party websites to You
|
||||
after You visited our Service. We and Our third-party vendors use cookies to
|
||||
inform, optimize and serve ads based on Your past visits to our Service.
|
||||
</p>
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Google Ads (AdWords)</h3>
|
||||
<p className="mb-4">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Google Ads (AdWords)</h3>
|
||||
<p className='mb-4'>
|
||||
Google Ads remarketing service is provided by Google Inc. You can opt-out of
|
||||
Google Analytics for Display Advertising and customize the Google Display Network
|
||||
ads by visiting the Google Ads Settings page.
|
||||
</p>
|
||||
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Twitter</h3>
|
||||
<p className="mb-4">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Twitter</h3>
|
||||
<p className='mb-4'>
|
||||
Twitter remarketing service is provided by Twitter Inc. You can opt-out from
|
||||
Twitter's interest-based ads by following their instructions.
|
||||
</p>
|
||||
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Facebook</h3>
|
||||
<p className="mb-4">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Facebook</h3>
|
||||
<p className='mb-4'>
|
||||
Facebook remarketing service is provided by Facebook Inc. You can learn more about
|
||||
interest-based advertising from Facebook by visiting their Privacy Policy.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">9. Payments</h2>
|
||||
<p className="mb-4">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>9. Payments</h2>
|
||||
<p className='mb-4'>
|
||||
We may provide paid products and/or services within the Service. In that case, we
|
||||
may use third-party services for payment processing (e.g. payment processors).
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
We will not store or collect Your payment card details. That information is
|
||||
provided directly to Our third-party payment processors whose use of Your personal
|
||||
information is governed by their Privacy Policy. These payment processors adhere
|
||||
@@ -444,21 +444,21 @@ export default function PrivacyPolicy() {
|
||||
Discover. PCI-DSS requirements help ensure the secure handling of payment
|
||||
information.
|
||||
</p>
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>
|
||||
Payment processors we work with:
|
||||
</h3>
|
||||
<ul className="list-disc pl-6 space-y-2 mb-4 marker:text-[#B5A1D4]">
|
||||
<ul className='mb-4 list-disc space-y-2 pl-6 marker:text-[#B5A1D4]'>
|
||||
<li>Stripe</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>
|
||||
10. Google Workspace APIs
|
||||
</h2>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
We want to explicitly affirm that any user data obtained through Google Workspace
|
||||
APIs is <span className="text-[#B5A1D4]">not</span> used to develop, improve, or
|
||||
APIs is <span className='text-[#B5A1D4]'>not</span> used to develop, improve, or
|
||||
train generalized AI and/or machine learning models. We use data obtained through
|
||||
Google Workspace APIs solely for the purpose of providing and improving the
|
||||
specific functionality of our Service for which the API access was granted.
|
||||
@@ -466,10 +466,10 @@ export default function PrivacyPolicy() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>
|
||||
11. Information Collected while Using Google APIs
|
||||
</h2>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
Sim Studio's use and transfer to any other app of information received from Google
|
||||
APIs will adhere to Google API Services User Data Policy, including the Limited
|
||||
Use requirements.
|
||||
@@ -477,8 +477,8 @@ export default function PrivacyPolicy() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">12. Links To Other Sites</h2>
|
||||
<p className="mb-4">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>12. Links To Other Sites</h2>
|
||||
<p className='mb-4'>
|
||||
Our Service may contain links to other sites that are not operated by us. If you
|
||||
click on a third party link, you will be directed to that third party's site. We
|
||||
strongly advise you to review the Privacy Policy of every site you visit.
|
||||
@@ -490,12 +490,12 @@ export default function PrivacyPolicy() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">13. Children's Privacy</h2>
|
||||
<p className="mb-4">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>13. Children's Privacy</h2>
|
||||
<p className='mb-4'>
|
||||
Our Service does not address anyone under the age of 18 (
|
||||
<span className="text-[#B5A1D4]">"Children"</span>).
|
||||
<span className='text-[#B5A1D4]'>"Children"</span>).
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
We do not knowingly collect personally identifiable information from anyone under
|
||||
the age of 18. If you are a parent or guardian and you are aware that your
|
||||
Children has provided us with Personal Information, please contact us. If we
|
||||
@@ -506,14 +506,14 @@ export default function PrivacyPolicy() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>
|
||||
14. Changes To This Privacy Policy
|
||||
</h2>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
We may update our Privacy Policy from time to time. We will notify you of any
|
||||
changes by posting the new Privacy Policy on this page.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
We will let you know via email and/or a prominent notice on our Service, prior to
|
||||
the change becoming effective and update the "Last updated" date at the top of
|
||||
this Privacy Policy.
|
||||
@@ -525,22 +525,22 @@ export default function PrivacyPolicy() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>
|
||||
15. Your Data Protection Rights Under General Data Protection Regulation (GDPR)
|
||||
</h2>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
If you are a resident of the European Economic Area (EEA), you have certain data
|
||||
protection rights. Sim Studio aims to take reasonable steps to allow you to
|
||||
correct, amend, delete, or limit the use of your Personal Information.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
If you wish to be informed what Personal Information we hold about you and if you
|
||||
want it to be removed from our systems, please contact us.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
In certain circumstances, you have the following data protection rights:
|
||||
</p>
|
||||
<ul className="list-disc pl-6 space-y-2 mb-4 marker:text-[#B5A1D4]">
|
||||
<ul className='mb-4 list-disc space-y-2 pl-6 marker:text-[#B5A1D4]'>
|
||||
<li>The right to access, update or to delete the information we have on you.</li>
|
||||
<li>
|
||||
The right of rectification. You have the right to have your information
|
||||
@@ -565,11 +565,11 @@ export default function PrivacyPolicy() {
|
||||
information.
|
||||
</li>
|
||||
</ul>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
Please note that we may ask you to verify your identity before responding to such
|
||||
requests.
|
||||
</p>
|
||||
<p className="mb-4 bg-[#701ffc]/10 p-3 border-l-4 border-[#701ffc]">
|
||||
<p className='mb-4 border-[#701ffc] border-l-4 bg-[#701ffc]/10 p-3'>
|
||||
You have the right to complain to a Data Protection Authority about our collection
|
||||
and use of your Personal Information. For more information, please contact your
|
||||
local data protection authority in the European Economic Area (EEA).
|
||||
@@ -577,30 +577,30 @@ export default function PrivacyPolicy() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>
|
||||
16. California Privacy Rights
|
||||
</h2>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
California Civil Code Section 1798.83, also known as the{' '}
|
||||
<span className="text-[#B5A1D4]">"Shine The Light"</span> law, permits our users
|
||||
<span className='text-[#B5A1D4]'>"Shine The Light"</span> law, permits our users
|
||||
who are California residents to request and obtain from us, once a year and free
|
||||
of charge, information about categories of personal information (if any) we
|
||||
disclosed to third parties for direct marketing purposes and the names and
|
||||
addresses of all third parties with which we shared personal information in the
|
||||
immediately preceding calendar year.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
If you are a California resident and would like to make such a request, please
|
||||
submit your request in writing to us using the contact information provided below.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>
|
||||
17. Vulnerability Disclosure Policy
|
||||
</h2>
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Introduction</h3>
|
||||
<p className="mb-4">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Introduction</h3>
|
||||
<p className='mb-4'>
|
||||
Sim Studio is dedicated to preserving data security by preventing unauthorized
|
||||
disclosure of information. This policy was created to provide security researchers
|
||||
with instructions for conducting vulnerability discovery activities and to provide
|
||||
@@ -610,9 +610,9 @@ export default function PrivacyPolicy() {
|
||||
reporting vulnerabilities identified.
|
||||
</p>
|
||||
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Guidelines</h3>
|
||||
<p className="mb-4">We request that you:</p>
|
||||
<ul className="list-disc pl-6 space-y-2 mb-4 marker:text-[#B5A1D4]">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Guidelines</h3>
|
||||
<p className='mb-4'>We request that you:</p>
|
||||
<ul className='mb-4 list-disc space-y-2 pl-6 marker:text-[#B5A1D4]'>
|
||||
<li>
|
||||
Notify us as soon as possible after you discover a real or potential security
|
||||
issue.
|
||||
@@ -639,38 +639,38 @@ export default function PrivacyPolicy() {
|
||||
<li>Do not submit a high volume of low-quality reports.</li>
|
||||
</ul>
|
||||
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Authorization</h3>
|
||||
<p className="mb-4">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Authorization</h3>
|
||||
<p className='mb-4'>
|
||||
Security research carried out in conformity with this policy is deemed
|
||||
permissible. We'll work with you to swiftly understand and fix the problem, and
|
||||
Sim Studio will not suggest or pursue legal action in connection with your study.
|
||||
</p>
|
||||
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Scope</h3>
|
||||
<p className="mb-4">This policy applies to the following systems and services:</p>
|
||||
<ul className="list-disc pl-6 space-y-2 mb-4 marker:text-[#B5A1D4]">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Scope</h3>
|
||||
<p className='mb-4'>This policy applies to the following systems and services:</p>
|
||||
<ul className='mb-4 list-disc space-y-2 pl-6 marker:text-[#B5A1D4]'>
|
||||
<li>simstudio.ai website</li>
|
||||
<li>Sim Studio web application</li>
|
||||
<li>Sim Studio API services</li>
|
||||
</ul>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
Any service that isn't explicitly specified above, such as related services, is
|
||||
out of scope and isn't allowed to be tested. Vulnerabilities discovered in
|
||||
third-party solutions Sim Studio interacts with are not covered by this policy and
|
||||
should be reported directly to the solution vendor in accordance with their
|
||||
disclosure policy (if any). Before beginning your inquiry, email us at{' '}
|
||||
<Link
|
||||
href="mailto:security@simstudio.ai"
|
||||
className="text-[#B5A1D4] hover:text-[#701ffc]"
|
||||
href='mailto:security@simstudio.ai'
|
||||
className='text-[#B5A1D4] hover:text-[#701ffc]'
|
||||
>
|
||||
security@simstudio.ai
|
||||
</Link>{' '}
|
||||
if you're unsure whether a system or endpoint is in scope.
|
||||
</p>
|
||||
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Types of testing</h3>
|
||||
<p className="mb-4">The following test types are not authorized:</p>
|
||||
<ul className="list-disc pl-6 space-y-2 mb-4 marker:text-[#B5A1D4]">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Types of testing</h3>
|
||||
<p className='mb-4'>The following test types are not authorized:</p>
|
||||
<ul className='mb-4 list-disc space-y-2 pl-6 marker:text-[#B5A1D4]'>
|
||||
<li>Network denial of service (DoS or DDoS) tests</li>
|
||||
<li>
|
||||
Physical testing (e.g., office access, open doors, tailgating), social
|
||||
@@ -679,14 +679,14 @@ export default function PrivacyPolicy() {
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>
|
||||
Reporting a vulnerability
|
||||
</h3>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
To report any security flaws, send an email to{' '}
|
||||
<Link
|
||||
href="mailto:security@simstudio.ai"
|
||||
className="text-[#B5A1D4] hover:text-[#701ffc]"
|
||||
href='mailto:security@simstudio.ai'
|
||||
className='text-[#B5A1D4] hover:text-[#701ffc]'
|
||||
>
|
||||
security@simstudio.ai
|
||||
</Link>
|
||||
@@ -694,12 +694,12 @@ export default function PrivacyPolicy() {
|
||||
and keep you updated on our progress. Reports can be anonymously submitted.
|
||||
</p>
|
||||
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Desirable information</h3>
|
||||
<p className="mb-4">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Desirable information</h3>
|
||||
<p className='mb-4'>
|
||||
In order to process and react to a vulnerability report, we recommend to include
|
||||
the following information:
|
||||
</p>
|
||||
<ul className="list-disc pl-6 space-y-2 mb-4 marker:text-[#B5A1D4]">
|
||||
<ul className='mb-4 list-disc space-y-2 pl-6 marker:text-[#B5A1D4]'>
|
||||
<li>Vulnerability description</li>
|
||||
<li>Place of discovery</li>
|
||||
<li>Potential Impact</li>
|
||||
@@ -708,10 +708,10 @@ export default function PrivacyPolicy() {
|
||||
possible)
|
||||
</li>
|
||||
</ul>
|
||||
<p className="mb-4">If possible, please provide your report in English.</p>
|
||||
<p className='mb-4'>If possible, please provide your report in English.</p>
|
||||
|
||||
<h3 className="text-xl font-medium mb-2 text-[#B5A1D4]">Our commitment</h3>
|
||||
<p className="mb-4">
|
||||
<h3 className='mb-2 font-medium text-[#B5A1D4] text-xl'>Our commitment</h3>
|
||||
<p className='mb-4'>
|
||||
If you choose to give your contact information, we promise to communicate with you
|
||||
in a transparent and timely manner. We will acknowledge receipt of your report
|
||||
within three business days. We will keep you informed on vulnerability
|
||||
@@ -721,12 +721,12 @@ export default function PrivacyPolicy() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">18. Contact Us</h2>
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>18. Contact Us</h2>
|
||||
<p>
|
||||
If you have any questions about this Privacy Policy, please contact us at:{' '}
|
||||
<Link
|
||||
href="mailto:privacy@simstudio.ai"
|
||||
className="text-[#B5A1D4] hover:text-[#701ffc]"
|
||||
href='mailto:privacy@simstudio.ai'
|
||||
className='text-[#B5A1D4] hover:text-[#701ffc]'
|
||||
>
|
||||
privacy@simstudio.ai
|
||||
</Link>
|
||||
@@ -738,7 +738,7 @@ export default function PrivacyPolicy() {
|
||||
</div>
|
||||
|
||||
{/* Footer */}
|
||||
<div className="relative z-20">
|
||||
<div className='relative z-20'>
|
||||
<Footer onOpenTypeformLink={handleOpenTypeformLink} />
|
||||
</div>
|
||||
</main>
|
||||
|
||||
@@ -11,16 +11,16 @@ export default function TermsOfService() {
|
||||
}
|
||||
|
||||
return (
|
||||
<main className="bg-[#0C0C0C] min-h-screen text-white relative overflow-hidden">
|
||||
<main className='relative min-h-screen overflow-hidden bg-[#0C0C0C] text-white'>
|
||||
{/* Grid pattern background */}
|
||||
<div className="absolute inset-0 bottom-[400px] z-0 overflow-hidden">
|
||||
<div className='absolute inset-0 bottom-[400px] z-0 overflow-hidden'>
|
||||
<GridPattern
|
||||
x={-5}
|
||||
y={-5}
|
||||
className="stroke-[#ababab]/5 absolute inset-0"
|
||||
className='absolute inset-0 stroke-[#ababab]/5'
|
||||
width={90}
|
||||
height={90}
|
||||
aria-hidden="true"
|
||||
aria-hidden='true'
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -29,64 +29,64 @@ export default function TermsOfService() {
|
||||
|
||||
{/* background blur */}
|
||||
<div
|
||||
className="absolute left-1/2 top-0 bottom-0 -translate-x-1/2 w-[95%] md:w-[90%] lg:w-[80%] max-w-5xl z-[1] h-full"
|
||||
aria-hidden="true"
|
||||
className='-translate-x-1/2 absolute top-0 bottom-0 left-1/2 z-[1] h-full w-[95%] max-w-5xl md:w-[90%] lg:w-[80%]'
|
||||
aria-hidden='true'
|
||||
>
|
||||
<svg
|
||||
width="100%"
|
||||
height="100%"
|
||||
viewBox="0 0 600 1600"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
preserveAspectRatio="xMidYMid slice"
|
||||
className="h-full w-full"
|
||||
width='100%'
|
||||
height='100%'
|
||||
viewBox='0 0 600 1600'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
preserveAspectRatio='xMidYMid slice'
|
||||
className='h-full w-full'
|
||||
>
|
||||
<g filter="url(#filter0_b_terms)">
|
||||
<rect width="600" height="1600" rx="0" fill="#0C0C0C" />
|
||||
<g filter='url(#filter0_b_terms)'>
|
||||
<rect width='600' height='1600' rx='0' fill='#0C0C0C' />
|
||||
</g>
|
||||
<defs>
|
||||
<filter
|
||||
id="filter0_b_terms"
|
||||
x="-20"
|
||||
y="-20"
|
||||
width="640"
|
||||
height="1640"
|
||||
filterUnits="userSpaceOnUse"
|
||||
colorInterpolationFilters="sRGB"
|
||||
id='filter0_b_terms'
|
||||
x='-20'
|
||||
y='-20'
|
||||
width='640'
|
||||
height='1640'
|
||||
filterUnits='userSpaceOnUse'
|
||||
colorInterpolationFilters='sRGB'
|
||||
>
|
||||
<feGaussianBlur stdDeviation="7" />
|
||||
<feGaussianBlur stdDeviation='7' />
|
||||
</filter>
|
||||
</defs>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
{/* Content */}
|
||||
<div className="relative z-10">
|
||||
<div className="max-w-4xl mx-auto px-4 py-16 pt-36">
|
||||
<div className="relative px-4 sm:px-8 py-4">
|
||||
<h1 className="text-4xl font-bold mb-8 text-white">Terms of Service</h1>
|
||||
<div className='relative z-10'>
|
||||
<div className='mx-auto max-w-4xl px-4 py-16 pt-36'>
|
||||
<div className='relative px-4 py-4 sm:px-8'>
|
||||
<h1 className='mb-8 font-bold text-4xl text-white'>Terms of Service</h1>
|
||||
|
||||
<div className="space-y-8 text-white/80">
|
||||
<div className='space-y-8 text-white/80'>
|
||||
<section>
|
||||
<p className="mb-4">Last Updated: April 20, 2025</p>
|
||||
<p className='mb-4'>Last Updated: April 20, 2025</p>
|
||||
<p>
|
||||
Please read these Terms of Service ("Terms") carefully before using the Sim Studio
|
||||
platform (the "Service") operated by Sim Studio, Inc ("us", "we", or "our").
|
||||
</p>
|
||||
<p className="mt-4">
|
||||
<p className='mt-4'>
|
||||
By accessing or using the Service, you agree to be bound by these Terms. If you
|
||||
disagree with any part of the terms, you may not access the Service.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">1. Accounts</h2>
|
||||
<p className="mb-4">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>1. Accounts</h2>
|
||||
<p className='mb-4'>
|
||||
When you create an account with us, you must provide accurate, complete, and
|
||||
current information. Failure to do so constitutes a breach of the Terms, which may
|
||||
result in immediate termination of your account on our Service.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
You are responsible for safeguarding the password that you use to access the
|
||||
Service and for any activities or actions under your password.
|
||||
</p>
|
||||
@@ -98,8 +98,8 @@ export default function TermsOfService() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">2. Intellectual Property</h2>
|
||||
<p className="mb-4">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>2. Intellectual Property</h2>
|
||||
<p className='mb-4'>
|
||||
The Service and its original content, features, and functionality are and will
|
||||
remain the exclusive property of Sim Studio, Inc and its licensors. The Service is
|
||||
protected by copyright, trademark, and other laws of both the United States and
|
||||
@@ -112,17 +112,17 @@ export default function TermsOfService() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">3. User Content</h2>
|
||||
<p className="mb-4">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>3. User Content</h2>
|
||||
<p className='mb-4'>
|
||||
Our Service allows you to post, link, store, share and otherwise make available
|
||||
certain information, text, graphics, videos, or other material ("User Content").
|
||||
You are responsible for the User Content that you post on or through the Service,
|
||||
including its legality, reliability, and appropriateness.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
By posting User Content on or through the Service, you represent and warrant that:
|
||||
</p>
|
||||
<ul className="list-disc pl-6 space-y-2 mb-4 marker:text-[#B5A1D4]">
|
||||
<ul className='mb-4 list-disc space-y-2 pl-6 marker:text-[#B5A1D4]'>
|
||||
<li>
|
||||
The User Content is yours (you own it) or you have the right to use it and grant
|
||||
us the rights and license as provided in these Terms.
|
||||
@@ -140,9 +140,9 @@ export default function TermsOfService() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">4. Acceptable Use</h2>
|
||||
<p className="mb-4">You agree not to use the Service:</p>
|
||||
<ul className="list-disc pl-6 space-y-2 mb-4 marker:text-[#B5A1D4]">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>4. Acceptable Use</h2>
|
||||
<p className='mb-4'>You agree not to use the Service:</p>
|
||||
<ul className='mb-4 list-disc space-y-2 pl-6 marker:text-[#B5A1D4]'>
|
||||
<li>
|
||||
In any way that violates any applicable national or international law or
|
||||
regulation.
|
||||
@@ -173,8 +173,8 @@ export default function TermsOfService() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">5. Termination</h2>
|
||||
<p className="mb-4">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>5. Termination</h2>
|
||||
<p className='mb-4'>
|
||||
We may terminate or suspend your account immediately, without prior notice or
|
||||
liability, for any reason whatsoever, including without limitation if you breach
|
||||
the Terms.
|
||||
@@ -186,16 +186,16 @@ export default function TermsOfService() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>
|
||||
6. Limitation of Liability
|
||||
</h2>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
In no event shall Sim Studio, Inc, nor its directors, employees, partners, agents,
|
||||
suppliers, or affiliates, be liable for any indirect, incidental, special,
|
||||
consequential or punitive damages, including without limitation, loss of profits,
|
||||
data, use, goodwill, or other intangible losses, resulting from:
|
||||
</p>
|
||||
<ul className="list-disc pl-6 space-y-2 marker:text-[#B5A1D4]">
|
||||
<ul className='list-disc space-y-2 pl-6 marker:text-[#B5A1D4]'>
|
||||
<li>Your access to or use of or inability to access or use the Service;</li>
|
||||
<li>Any conduct or content of any third party on the Service;</li>
|
||||
<li>Any content obtained from the Service; and</li>
|
||||
@@ -208,8 +208,8 @@ export default function TermsOfService() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">7. Disclaimer</h2>
|
||||
<p className="mb-4">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>7. Disclaimer</h2>
|
||||
<p className='mb-4'>
|
||||
Your use of the Service is at your sole risk. The Service is provided on an "AS
|
||||
IS" and "AS AVAILABLE" basis. The Service is provided without warranties of any
|
||||
kind, whether express or implied, including, but not limited to, implied
|
||||
@@ -220,7 +220,7 @@ export default function TermsOfService() {
|
||||
Sim Studio, Inc, its subsidiaries, affiliates, and its licensors do not warrant
|
||||
that:
|
||||
</p>
|
||||
<ul className="list-disc pl-6 space-y-2 mb-4 marker:text-[#B5A1D4]">
|
||||
<ul className='mb-4 list-disc space-y-2 pl-6 marker:text-[#B5A1D4]'>
|
||||
<li>
|
||||
The Service will function uninterrupted, secure or available at any particular
|
||||
time or location;
|
||||
@@ -232,12 +232,12 @@ export default function TermsOfService() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">8. Governing Law</h2>
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>8. Governing Law</h2>
|
||||
<p>
|
||||
These Terms shall be governed and construed in accordance with the laws of the
|
||||
United States, without regard to its conflict of law provisions.
|
||||
</p>
|
||||
<p className="mt-4">
|
||||
<p className='mt-4'>
|
||||
Our failure to enforce any right or provision of these Terms will not be
|
||||
considered a waiver of those rights. If any provision of these Terms is held to be
|
||||
invalid or unenforceable by a court, the remaining provisions of these Terms will
|
||||
@@ -246,16 +246,16 @@ export default function TermsOfService() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">9. Arbitration Agreement</h2>
|
||||
<p className="mb-4">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>9. Arbitration Agreement</h2>
|
||||
<p className='mb-4'>
|
||||
Please read the following arbitration agreement carefully. It requires you to
|
||||
arbitrate disputes with Sim Studio, Inc, its parent companies, subsidiaries,
|
||||
affiliates, successors and assigns and all of their respective officers,
|
||||
directors, employees, agents, and representatives (collectively, the{' '}
|
||||
<span className="text-[#B5A1D4]">"Company Parties"</span>) and limits the manner
|
||||
<span className='text-[#B5A1D4]'>"Company Parties"</span>) and limits the manner
|
||||
in which you can seek relief from the Company Parties.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
You agree that any dispute between you and any of the Company Parties relating to
|
||||
the Site, the Service or these Terms will be resolved by binding arbitration,
|
||||
rather than in court, except that (1) you and the Company Parties may assert
|
||||
@@ -264,23 +264,23 @@ export default function TermsOfService() {
|
||||
Company Parties may seek equitable relief in court for infringement or other
|
||||
misuse of intellectual property rights.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
The Federal Arbitration Act governs the interpretation and enforcement of this
|
||||
Arbitration Agreement. The arbitration will be conducted by JAMS, an established
|
||||
alternative dispute resolution provider.
|
||||
</p>
|
||||
<p className="mb-4 bg-[#701ffc]/10 p-3 border-l-4 border-[#701ffc]">
|
||||
<p className='mb-4 border-[#701ffc] border-l-4 bg-[#701ffc]/10 p-3'>
|
||||
YOU AND COMPANY AGREE THAT EACH OF US MAY BRING CLAIMS AGAINST THE OTHER ONLY ON
|
||||
AN INDIVIDUAL BASIS AND NOT ON A CLASS, REPRESENTATIVE, OR COLLECTIVE BASIS. ONLY
|
||||
INDIVIDUAL RELIEF IS AVAILABLE, AND DISPUTES OF MORE THAN ONE CUSTOMER OR USER
|
||||
CANNOT BE ARBITRATED OR CONSOLIDATED WITH THOSE OF ANY OTHER CUSTOMER OR USER.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<p className='mb-4'>
|
||||
You have the right to opt out of the provisions of this Arbitration Agreement by
|
||||
sending a timely written notice of your decision to opt out to:{' '}
|
||||
<Link
|
||||
href="mailto:legal@simstudio.ai"
|
||||
className="text-[#B5A1D4] hover:text-[#701ffc]"
|
||||
href='mailto:legal@simstudio.ai'
|
||||
className='text-[#B5A1D4] hover:text-[#701ffc]'
|
||||
>
|
||||
legal@simstudio.ai{' '}
|
||||
</Link>
|
||||
@@ -289,14 +289,14 @@ export default function TermsOfService() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">10. Changes to Terms</h2>
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>10. Changes to Terms</h2>
|
||||
<p>
|
||||
We reserve the right, at our sole discretion, to modify or replace these Terms at
|
||||
any time. If a revision is material, we will try to provide at least 30 days'
|
||||
notice prior to any new terms taking effect. What constitutes a material change
|
||||
will be determined at our sole discretion.
|
||||
</p>
|
||||
<p className="mt-4">
|
||||
<p className='mt-4'>
|
||||
By continuing to access or use our Service after those revisions become effective,
|
||||
you agree to be bound by the revised terms. If you do not agree to the new terms,
|
||||
please stop using the Service.
|
||||
@@ -304,14 +304,14 @@ export default function TermsOfService() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">11. Copyright Policy</h2>
|
||||
<p className="mb-4">
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>11. Copyright Policy</h2>
|
||||
<p className='mb-4'>
|
||||
We respect the intellectual property of others and ask that users of our Service
|
||||
do the same. If you believe that one of our users is, through the use of our
|
||||
Service, unlawfully infringing the copyright(s) in a work, please send a notice to
|
||||
our designated Copyright Agent, including the following information:
|
||||
</p>
|
||||
<ul className="list-disc pl-6 space-y-2 mb-4 marker:text-[#B5A1D4]">
|
||||
<ul className='mb-4 list-disc space-y-2 pl-6 marker:text-[#B5A1D4]'>
|
||||
<li>Your physical or electronic signature;</li>
|
||||
<li>
|
||||
Identification of the copyrighted work(s) that you claim to have been infringed;
|
||||
@@ -333,8 +333,8 @@ export default function TermsOfService() {
|
||||
<p>
|
||||
Our Copyright Agent can be reached at:{' '}
|
||||
<Link
|
||||
href="mailto:copyright@simstudio.ai"
|
||||
className="text-[#B5A1D4] hover:text-[#701ffc]"
|
||||
href='mailto:copyright@simstudio.ai'
|
||||
className='text-[#B5A1D4] hover:text-[#701ffc]'
|
||||
>
|
||||
copyright@simstudio.ai
|
||||
</Link>
|
||||
@@ -342,12 +342,12 @@ export default function TermsOfService() {
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-2xl font-semibold mb-4 text-white">12. Contact Us</h2>
|
||||
<h2 className='mb-4 font-semibold text-2xl text-white'>12. Contact Us</h2>
|
||||
<p>
|
||||
If you have any questions about these Terms, please contact us at:{' '}
|
||||
<Link
|
||||
href="mailto:legal@simstudio.ai"
|
||||
className="text-[#B5A1D4] hover:text-[#701ffc]"
|
||||
href='mailto:legal@simstudio.ai'
|
||||
className='text-[#B5A1D4] hover:text-[#701ffc]'
|
||||
>
|
||||
legal@simstudio.ai
|
||||
</Link>
|
||||
@@ -359,7 +359,7 @@ export default function TermsOfService() {
|
||||
</div>
|
||||
|
||||
{/* Footer */}
|
||||
<div className="relative z-20">
|
||||
<div className='relative z-20'>
|
||||
<Footer onOpenTypeformLink={handleOpenTypeformLink} />
|
||||
</div>
|
||||
</main>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { vi } from 'vitest'
|
||||
import { NextRequest } from 'next/server'
|
||||
import { vi } from 'vitest'
|
||||
|
||||
export const sampleWorkflowState = {
|
||||
blocks: {
|
||||
@@ -165,7 +165,7 @@ export const mockDecryptedEnvVars = {
|
||||
}
|
||||
|
||||
export function createMockRequest(
|
||||
method: string = 'GET',
|
||||
method = 'GET',
|
||||
body?: any,
|
||||
headers: Record<string, string> = {}
|
||||
): NextRequest {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { NextRequest, NextResponse } from 'next/server'
|
||||
import { type NextRequest, NextResponse } from 'next/server'
|
||||
import { auth } from '@/lib/auth'
|
||||
import { createLogger } from '@/lib/logs/console-logger'
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ export async function POST(request: Request) {
|
||||
const text = await response.text()
|
||||
console.error('Response text:', text)
|
||||
errorMessage = `Failed to fetch Confluence pages: ${response.status} ${response.statusText}`
|
||||
} catch (textError) {
|
||||
} catch (_textError) {
|
||||
errorMessage = `Failed to fetch Confluence pages: ${response.status} ${response.statusText}`
|
||||
}
|
||||
}
|
||||
@@ -77,14 +77,14 @@ export async function POST(request: Request) {
|
||||
}
|
||||
|
||||
const data = await response.json()
|
||||
console.log('Confluence API response:', JSON.stringify(data, null, 2).substring(0, 300) + '...')
|
||||
console.log('Confluence API response:', `${JSON.stringify(data, null, 2).substring(0, 300)}...`)
|
||||
console.log(`Found ${data.results?.length || 0} pages`)
|
||||
|
||||
if (data.results && data.results.length > 0) {
|
||||
console.log('First few pages:')
|
||||
data.results.slice(0, 3).forEach((page: any) => {
|
||||
for (const page of data.results.slice(0, 3)) {
|
||||
console.log(`- ${page.id}: ${page.title}`)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
return NextResponse.json({
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { NextRequest, NextResponse } from 'next/server'
|
||||
import { eq } from 'drizzle-orm'
|
||||
import { jwtDecode } from 'jwt-decode'
|
||||
import { type NextRequest, NextResponse } from 'next/server'
|
||||
import { getSession } from '@/lib/auth'
|
||||
import { createLogger } from '@/lib/logs/console-logger'
|
||||
import { db } from '@/db'
|
||||
@@ -64,7 +64,7 @@ export async function GET(request: NextRequest) {
|
||||
} else if (decoded.name) {
|
||||
displayName = decoded.name
|
||||
}
|
||||
} catch (error) {
|
||||
} catch (_error) {
|
||||
logger.warn(`[${requestId}] Error decoding ID token`, {
|
||||
accountId: acc.id,
|
||||
})
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { NextRequest, NextResponse } from 'next/server'
|
||||
import { and, eq } from 'drizzle-orm'
|
||||
import { jwtDecode } from 'jwt-decode'
|
||||
import { type NextRequest, NextResponse } from 'next/server'
|
||||
import { getSession } from '@/lib/auth'
|
||||
import { createLogger } from '@/lib/logs/console-logger'
|
||||
import type { OAuthService } from '@/lib/oauth'
|
||||
import { parseProvider } from '@/lib/oauth'
|
||||
import { OAuthService } from '@/lib/oauth'
|
||||
import { db } from '@/db'
|
||||
import { account, user } from '@/db/schema'
|
||||
|
||||
@@ -70,7 +70,7 @@ export async function GET(request: NextRequest) {
|
||||
} else if (decoded.name) {
|
||||
displayName = decoded.name
|
||||
}
|
||||
} catch (error) {
|
||||
} catch (_error) {
|
||||
logger.warn(`[${requestId}] Error decoding ID token`, {
|
||||
accountId: acc.id,
|
||||
})
|
||||
@@ -94,7 +94,7 @@ export async function GET(request: NextRequest) {
|
||||
if (userRecord.length > 0) {
|
||||
displayName = userRecord[0].email
|
||||
}
|
||||
} catch (error) {
|
||||
} catch (_error) {
|
||||
logger.warn(`[${requestId}] Error fetching user email`, {
|
||||
userId: acc.userId,
|
||||
})
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { NextRequest, NextResponse } from 'next/server'
|
||||
import { and, eq, like, or } from 'drizzle-orm'
|
||||
import { type NextRequest, NextResponse } from 'next/server'
|
||||
import { getSession } from '@/lib/auth'
|
||||
import { createLogger } from '@/lib/logs/console-logger'
|
||||
import { db } from '@/db'
|
||||
|
||||
@@ -50,7 +50,7 @@ export async function POST(request: Request) {
|
||||
const errorData = await response.json()
|
||||
logger.error('Error details:', errorData)
|
||||
errorMessage = errorData.message || `Failed to fetch channel (${response.status})`
|
||||
} catch (e) {
|
||||
} catch (_e) {
|
||||
errorMessage = `Failed to fetch channel: ${response.status} ${response.statusText}`
|
||||
}
|
||||
return NextResponse.json({ error: errorMessage }, { status: response.status })
|
||||
@@ -105,7 +105,7 @@ export async function POST(request: Request) {
|
||||
const errorData = await response.json()
|
||||
logger.error('Error details:', errorData)
|
||||
errorMessage = errorData.message || `Failed to fetch channels (${response.status})`
|
||||
} catch (e) {
|
||||
} catch (_e) {
|
||||
errorMessage = `Failed to fetch channels: ${response.status} ${response.statusText}`
|
||||
}
|
||||
return NextResponse.json({ error: errorMessage }, { status: response.status })
|
||||
|
||||
@@ -44,7 +44,7 @@ export async function POST(request: Request) {
|
||||
const errorData = await response.json()
|
||||
logger.error('Error details:', errorData)
|
||||
errorMessage = errorData.message || `Failed to fetch server (${response.status})`
|
||||
} catch (e) {
|
||||
} catch (_e) {
|
||||
errorMessage = `Failed to fetch server: ${response.status} ${response.statusText}`
|
||||
}
|
||||
return NextResponse.json({ error: errorMessage }, { status: response.status })
|
||||
@@ -86,7 +86,7 @@ export async function POST(request: Request) {
|
||||
const errorData = await response.json()
|
||||
logger.error('Error details:', errorData)
|
||||
errorMessage = errorData.message || `Failed to fetch servers (${response.status})`
|
||||
} catch (e) {
|
||||
} catch (_e) {
|
||||
errorMessage = `Failed to fetch servers: ${response.status} ${response.statusText}`
|
||||
}
|
||||
return NextResponse.json({ error: errorMessage }, { status: response.status })
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { NextRequest, NextResponse } from 'next/server'
|
||||
import { eq } from 'drizzle-orm'
|
||||
import { type NextRequest, NextResponse } from 'next/server'
|
||||
import { getSession } from '@/lib/auth'
|
||||
import { createLogger } from '@/lib/logs/console-logger'
|
||||
import { db } from '@/db'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { NextRequest, NextResponse } from 'next/server'
|
||||
import { eq } from 'drizzle-orm'
|
||||
import { type NextRequest, NextResponse } from 'next/server'
|
||||
import { getSession } from '@/lib/auth'
|
||||
import { createLogger } from '@/lib/logs/console-logger'
|
||||
import { db } from '@/db'
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user