Skip to content

Commit 0ce0f98

Browse files
waleedlatif1icecrasher321emir-karabeg
authored
v0.5.65: gemini updates, textract integration, ui updates (#2909)
* fix(google): wrap primitive tool responses for Gemini API compatibility (#2900) * fix(canonical): copilot path + update parent (#2901) * fix(rss): add top-level title, link, pubDate fields to RSS trigger output (#2902) * fix(rss): add top-level title, link, pubDate fields to RSS trigger output * fix(imap): add top-level fields to IMAP trigger output * improvement(browseruse): add profile id param (#2903) * improvement(browseruse): add profile id param * make request a stub since we have directExec * improvement(executor): upgraded abort controller to handle aborts for loops and parallels (#2880) * improvement(executor): upgraded abort controller to handle aborts for loops and parallels * comments * improvement(files): update execution for passing base64 strings (#2906) * progress * improvement(execution): update execution for passing base64 strings * fix types * cleanup comments * path security vuln * reject promise correctly * fix redirect case * remove proxy routes * fix tests * use ipaddr * feat(tools): added textract, added v2 for mistral, updated tag dropdown (#2904) * feat(tools): added textract * cleanup * ack pr comments * reorder * removed upload for textract async version * fix additional fields dropdown in editor, update parser to leave validation to be done on the server * added mistral v2, files v2, and finalized textract * updated the rest of the old file patterns, updated mistral outputs for v2 * updated tag dropdown to parse non-operation fields as well * updated extension finder * cleanup * added description for inputs to workflow * use helper for internal route check * fix tag dropdown merge conflict change * remove duplicate code --------- Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai> * fix(ui): change add inputs button to match output selector (#2907) * fix(canvas): removed invite to workspace from canvas popover (#2908) * fix(canvas): removed invite to workspace * removed unused props * fix(copilot): legacy tool display names (#2911) * fix(a2a): canonical merge (#2912) * fix canonical merge * fix empty array case * fix(change-detection): copilot diffs have extra field (#2913) * improvement(logs): improved logs ui bugs, added subflow disable UI (#2910) * improvement(logs): improved logs ui bugs, added subflow disable UI * added duplicate to action bar for subflows * feat(broadcast): email v0.5 (#2905) --------- Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com> Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai> Co-authored-by: Emir Karabeg <78010029+emir-karabeg@users.noreply.github.com>
2 parents dff1c9d + 294b168 commit 0ce0f98

File tree

168 files changed

+6634
-1554
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

168 files changed

+6634
-1554
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
</p>
1515

1616
<p align="center">
17-
<a href="https://deepwiki.com/simstudioai/sim" target="_blank" rel="noopener noreferrer"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a> <a href="https://cursor.com/link/prompt?text=Help%20me%20set%20up%20Sim%20Studio%20locally.%20Follow%20these%20steps%3A%0A%0A1.%20First%2C%20verify%20Docker%20is%20installed%20and%20running%3A%0A%20%20%20docker%20--version%0A%20%20%20docker%20info%0A%0A2.%20Clone%20the%20repository%3A%0A%20%20%20git%20clone%20https%3A%2F%2Fgithub.com%2Fsimstudioai%2Fsim.git%0A%20%20%20cd%20sim%0A%0A3.%20Start%20the%20services%20with%20Docker%20Compose%3A%0A%20%20%20docker%20compose%20-f%20docker-compose.prod.yml%20up%20-d%0A%0A4.%20Wait%20for%20all%20containers%20to%20be%20healthy%20(this%20may%20take%201-2%20minutes)%3A%0A%20%20%20docker%20compose%20-f%20docker-compose.prod.yml%20ps%0A%0A5.%20Verify%20the%20app%20is%20accessible%20at%20http%3A%2F%2Flocalhost%3A3000%0A%0AIf%20there%20are%20any%20errors%2C%20help%20me%20troubleshoot%20them.%20Common%20issues%3A%0A-%20Port%203000%2C%203002%2C%20or%205432%20already%20in%20use%0A-%20Docker%20not%20running%0A-%20Insufficient%20memory%20(needs%2012GB%2B%20RAM)%0A%0AFor%20local%20AI%20models%20with%20Ollama%2C%20use%20this%20instead%20of%20step%203%3A%0A%20%20%20docker%20compose%20-f%20docker-compose.ollama.yml%20--profile%20setup%20up%20-d"><img src="https://img.shields.io/badge/Set%20Up%20with-Cursor-000000?logo=cursor&logoColor=white" alt="Set Up with Cursor"></a>
17+
<a href="https://deepwiki.com/simstudioai/sim" target="_blank" rel="noopener noreferrer"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a> <a href="https://cursor.com/link/prompt?text=Help%20me%20set%20up%20Sim%20locally.%20Follow%20these%20steps%3A%0A%0A1.%20First%2C%20verify%20Docker%20is%20installed%20and%20running%3A%0A%20%20%20docker%20--version%0A%20%20%20docker%20info%0A%0A2.%20Clone%20the%20repository%3A%0A%20%20%20git%20clone%20https%3A%2F%2Fgithub.com%2Fsimstudioai%2Fsim.git%0A%20%20%20cd%20sim%0A%0A3.%20Start%20the%20services%20with%20Docker%20Compose%3A%0A%20%20%20docker%20compose%20-f%20docker-compose.prod.yml%20up%20-d%0A%0A4.%20Wait%20for%20all%20containers%20to%20be%20healthy%20(this%20may%20take%201-2%20minutes)%3A%0A%20%20%20docker%20compose%20-f%20docker-compose.prod.yml%20ps%0A%0A5.%20Verify%20the%20app%20is%20accessible%20at%20http%3A%2F%2Flocalhost%3A3000%0A%0AIf%20there%20are%20any%20errors%2C%20help%20me%20troubleshoot%20them.%20Common%20issues%3A%0A-%20Port%203000%2C%203002%2C%20or%205432%20already%20in%20use%0A-%20Docker%20not%20running%0A-%20Insufficient%20memory%20(needs%2012GB%2B%20RAM)%0A%0AFor%20local%20AI%20models%20with%20Ollama%2C%20use%20this%20instead%20of%20step%203%3A%0A%20%20%20docker%20compose%20-f%20docker-compose.ollama.yml%20--profile%20setup%20up%20-d"><img src="https://img.shields.io/badge/Set%20Up%20with-Cursor-000000?logo=cursor&logoColor=white" alt="Set Up with Cursor"></a>
1818
</p>
1919

2020
### Build Workflows with Ease

apps/docs/components/icons.tsx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4093,6 +4093,23 @@ export function SQSIcon(props: SVGProps<SVGSVGElement>) {
40934093
)
40944094
}
40954095

4096+
export function TextractIcon(props: SVGProps<SVGSVGElement>) {
4097+
return (
4098+
<svg
4099+
{...props}
4100+
viewBox='10 14 60 52'
4101+
version='1.1'
4102+
xmlns='http://www.w3.org/2000/svg'
4103+
xmlnsXlink='http://www.w3.org/1999/xlink'
4104+
>
4105+
<path
4106+
d='M22.0624102,50 C24.3763895,53.603 28.4103535,56 33.0003125,56 C40.1672485,56 45.9991964,50.168 45.9991964,43 C45.9991964,35.832 40.1672485,30 33.0003125,30 C27.6033607,30 22.9664021,33.307 21.0024196,38 L23.2143999,38 C25.0393836,34.444 28.7363506,32 33.0003125,32 C39.0652583,32 43.9992143,36.935 43.9992143,43 C43.9992143,49.065 39.0652583,54 33.0003125,54 C29.5913429,54 26.5413702,52.441 24.5213882,50 L22.0624102,50 Z M37.0002768,45 L37.0002768,43 L41.9992321,43 C41.9992321,38.038 37.9622682,34 33.0003125,34 C28.0373568,34 23.9993929,38.038 23.9993929,43 L28.9993482,43 L28.9993482,45 L24.2313908,45 C25.1443826,49.002 28.7253507,52 33.0003125,52 C35.1362934,52 37.0992759,51.249 38.6442621,50 L34.0003036,50 L34.0003036,48 L40.4782457,48 C41.0812403,47.102 41.5202364,46.087 41.7682342,45 L37.0002768,45 Z M21.0024196,48 L23.2143999,48 C22.4434068,46.498 22.0004107,44.801 22.0004107,43 C22.0004107,41.959 22.1554093,40.955 22.4264069,40 L20.3634253,40 C20.1344274,40.965 19.9994286,41.966 19.9994286,43 C19.9994286,44.771 20.3584254,46.46 21.0024196,48 L21.0024196,48 Z M19.7434309,50 L17.0004554,50 L17.0004554,48 L18.8744386,48 C18.5344417,47.04 18.2894438,46.038 18.1494451,45 L15.4144695,45 L16.707458,46.293 L15.2924706,47.707 L12.2924974,44.707 C11.9025009,44.316 11.9025009,43.684 12.2924974,43.293 L15.2924706,40.293 L16.707458,41.707 L15.4144695,43 L18.0004464,43 C18.0004464,41.973 18.1044455,40.97 18.3024437,40 L17.0004554,40 L17.0004554,38 L18.8744386,38 C20.9404202,32.184 26.4833707,28 33.0003125,28 C37.427273,28 41.4002375,29.939 44.148213,33 L59.0000804,33 L59.0000804,35 L45.6661994,35 C47.1351863,37.318 47.9991786,40.058 47.9991786,43 L59.0000804,43 L59.0000804,45 L47.8501799,45 C46.8681887,52.327 40.5912447,58 33.0003125,58 C27.2563638,58 22.2624084,54.752 19.7434309,50 L19.7434309,50 Z M37.0002768,39 C37.0002768,38.448 36.5522808,38 36.0002857,38 L29.9993482,38 C29.4473442,38 28.9993482,38.448 28.9993482,39 L28.9993482,41 L31.0003304,41 L31.0003304,40 L32.0003214,40 L32.0003214,43 L31.0003304,43 L31.0003304,45 L35.0002946,45 L35.0002946,43 L34.0003036,43 L34.0003036,40 L35.0002946,40 L35.0002946,41 L37.0002768,41 L37.0002768,39 Z M49.0001696,40 L59.0000804,40 L59.0000804,38 L49.0001696,38 L49.0001696,40 Z M49.0001696,50 L59.0000804,50 L59.0000804,48 L49.0001696,48 L49.0001696,50 Z M57.0000982,27 L60.5850662,27 L57.0000982,23.414 L57.0000982,27 Z M63.7070383,27.293 C63.8940367,27.48 64.0000357,27.735 64.0000357,28 L64.0000357,63 C64.0000357,63.552 63.5520397,64 63.0000446,64 L32.0003304,64 C31.4473264,64 31.0003304,63.552 31.0003304,63 L31.0003304,59 L33.0003125,59 L33.0003125,62 L62.0000536,62 L62.0000536,29 L56.0001071,29 C55.4471121,29 55.0001161,28.552 55.0001161,28 L55.0001161,22 L33.0003125,22 L33.0003125,27 L31.0003304,27 L31.0003304,21 C31.0003304,20.448 31.4473264,20 32.0003304,20 L56.0001071,20 C56.2651048,20 56.5191025,20.105 56.7071008,20.293 L63.7070383,27.293 Z M68,24.166 L68,61 C68,61.552 67.552004,62 67.0000089,62 L65.0000268,62 L65.0000268,60 L66.0000179,60 L66.0000179,24.612 L58.6170838,18 L36.0002857,18 L36.0002857,19 L34.0003036,19 L34.0003036,17 C34.0003036,16.448 34.4472996,16 35.0003036,16 L59.0000804,16 C59.2460782,16 59.483076,16.091 59.6660744,16.255 L67.666003,23.42 C67.8780011,23.61 68,23.881 68,24.166 L68,24.166 Z'
4107+
fill='currentColor'
4108+
/>
4109+
</svg>
4110+
)
4111+
}
4112+
40964113
export function McpIcon(props: SVGProps<SVGSVGElement>) {
40974114
return (
40984115
<svg

apps/docs/components/ui/icon-mapping.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ import {
110110
SupabaseIcon,
111111
TavilyIcon,
112112
TelegramIcon,
113+
TextractIcon,
113114
TinybirdIcon,
114115
TranslateIcon,
115116
TrelloIcon,
@@ -143,7 +144,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
143144
calendly: CalendlyIcon,
144145
circleback: CirclebackIcon,
145146
clay: ClayIcon,
146-
confluence: ConfluenceIcon,
147+
confluence_v2: ConfluenceIcon,
147148
cursor_v2: CursorIcon,
148149
datadog: DatadogIcon,
149150
discord: DiscordIcon,
@@ -153,7 +154,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
153154
elasticsearch: ElasticsearchIcon,
154155
elevenlabs: ElevenLabsIcon,
155156
exa: ExaAIIcon,
156-
file: DocumentIcon,
157+
file_v2: DocumentIcon,
157158
firecrawl: FirecrawlIcon,
158159
fireflies: FirefliesIcon,
159160
github_v2: GithubIcon,
@@ -195,7 +196,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
195196
microsoft_excel_v2: MicrosoftExcelIcon,
196197
microsoft_planner: MicrosoftPlannerIcon,
197198
microsoft_teams: MicrosoftTeamsIcon,
198-
mistral_parse: MistralIcon,
199+
mistral_parse_v2: MistralIcon,
199200
mongodb: MongoDBIcon,
200201
mysql: MySQLIcon,
201202
neo4j: Neo4jIcon,
@@ -237,14 +238,15 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
237238
supabase: SupabaseIcon,
238239
tavily: TavilyIcon,
239240
telegram: TelegramIcon,
241+
textract: TextractIcon,
240242
tinybird: TinybirdIcon,
241243
translate: TranslateIcon,
242244
trello: TrelloIcon,
243245
tts: TTSIcon,
244246
twilio_sms: TwilioIcon,
245247
twilio_voice: TwilioIcon,
246248
typeform: TypeformIcon,
247-
video_generator: VideoIcon,
249+
video_generator_v2: VideoIcon,
248250
vision: EyeIcon,
249251
wealthbox: WealthboxIcon,
250252
webflow: WebflowIcon,

apps/docs/content/docs/en/tools/confluence.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description: Interact with Confluence
66
import { BlockInfoCard } from "@/components/ui/block-info-card"
77

88
<BlockInfoCard
9-
type="confluence"
9+
type="confluence_v2"
1010
color="#E0E0E0"
1111
/>
1212

apps/docs/content/docs/en/tools/file.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description: Read and parse multiple files
66
import { BlockInfoCard } from "@/components/ui/block-info-card"
77

88
<BlockInfoCard
9-
type="file"
9+
type="file_v2"
1010
color="#40916C"
1111
/>
1212

@@ -48,7 +48,7 @@ Parse one or more uploaded files or files from URLs (text, PDF, CSV, images, etc
4848

4949
| Parameter | Type | Description |
5050
| --------- | ---- | ----------- |
51-
| `files` | array | Array of parsed files |
52-
| `combinedContent` | string | Combined content of all parsed files |
51+
| `files` | array | Array of parsed files with content, metadata, and file properties |
52+
| `combinedContent` | string | All file contents merged into a single text string |
5353

5454

apps/docs/content/docs/en/tools/meta.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@
106106
"supabase",
107107
"tavily",
108108
"telegram",
109+
"textract",
109110
"tinybird",
110111
"translate",
111112
"trello",

apps/docs/content/docs/en/tools/mistral_parse.mdx

Lines changed: 33 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description: Extract text from PDF documents
66
import { BlockInfoCard } from "@/components/ui/block-info-card"
77

88
<BlockInfoCard
9-
type="mistral_parse"
9+
type="mistral_parse_v2"
1010
color="#000000"
1111
/>
1212

@@ -54,18 +54,37 @@ Parse PDF documents using Mistral OCR API
5454

5555
| Parameter | Type | Description |
5656
| --------- | ---- | ----------- |
57-
| `success` | boolean | Whether the PDF was parsed successfully |
58-
| `content` | string | Extracted content in the requested format \(markdown, text, or JSON\) |
59-
| `metadata` | object | Processing metadata including jobId, fileType, pageCount, and usage info |
60-
|`jobId` | string | Unique job identifier |
61-
|`fileType` | string | File type \(e.g., pdf\) |
62-
|`fileName` | string | Original file name |
63-
|`source` | string | Source type \(url\) |
64-
|`pageCount` | number | Number of pages processed |
65-
|`model` | string | Mistral model used |
66-
|`resultType` | string | Output format \(markdown, text, json\) |
67-
|`processedAt` | string | Processing timestamp |
68-
|`sourceUrl` | string | Source URL if applicable |
69-
|`usageInfo` | object | Usage statistics from OCR processing |
57+
| `pages` | array | Array of page objects from Mistral OCR |
58+
|`index` | number | Page index \(zero-based\) |
59+
|`markdown` | string | Extracted markdown content |
60+
|`images` | array | Images extracted from this page with bounding boxes |
61+
|`id` | string | Image identifier \(e.g., img-0.jpeg\) |
62+
|`top_left_x` | number | Top-left X coordinate in pixels |
63+
|`top_left_y` | number | Top-left Y coordinate in pixels |
64+
|`bottom_right_x` | number | Bottom-right X coordinate in pixels |
65+
|`bottom_right_y` | number | Bottom-right Y coordinate in pixels |
66+
|`image_base64` | string | Base64-encoded image data \(when include_image_base64=true\) |
67+
|`id` | string | Image identifier \(e.g., img-0.jpeg\) |
68+
|`top_left_x` | number | Top-left X coordinate in pixels |
69+
|`top_left_y` | number | Top-left Y coordinate in pixels |
70+
|`bottom_right_x` | number | Bottom-right X coordinate in pixels |
71+
|`bottom_right_y` | number | Bottom-right Y coordinate in pixels |
72+
|`image_base64` | string | Base64-encoded image data \(when include_image_base64=true\) |
73+
|`dimensions` | object | Page dimensions |
74+
|`dpi` | number | Dots per inch |
75+
|`height` | number | Page height in pixels |
76+
|`width` | number | Page width in pixels |
77+
|`dpi` | number | Dots per inch |
78+
|`height` | number | Page height in pixels |
79+
|`width` | number | Page width in pixels |
80+
|`tables` | array | Extracted tables as HTML/markdown \(when table_format is set\). Referenced via placeholders like \[tbl-0.html\] |
81+
|`hyperlinks` | array | Array of URL strings detected in the page \(e.g., \[ |
82+
|`header` | string | Page header content \(when extract_header=true\) |
83+
|`footer` | string | Page footer content \(when extract_footer=true\) |
84+
| `model` | string | Mistral OCR model identifier \(e.g., mistral-ocr-latest\) |
85+
| `usage_info` | object | Usage and processing statistics |
86+
|`pages_processed` | number | Total number of pages processed |
87+
|`doc_size_bytes` | number | Document file size in bytes |
88+
| `document_annotation` | string | Structured annotation data as JSON string \(when applicable\) |
7089

7190

apps/docs/content/docs/en/tools/s3.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ Upload a file to an AWS S3 bucket
5858
| Parameter | Type | Description |
5959
| --------- | ---- | ----------- |
6060
| `url` | string | URL of the uploaded S3 object |
61+
| `uri` | string | S3 URI of the uploaded object \(s3://bucket/key\) |
6162
| `metadata` | object | Upload metadata including ETag and location |
6263

6364
### `s3_get_object`
@@ -149,6 +150,7 @@ Copy an object within or between AWS S3 buckets
149150
| Parameter | Type | Description |
150151
| --------- | ---- | ----------- |
151152
| `url` | string | URL of the copied S3 object |
153+
| `uri` | string | S3 URI of the copied object \(s3://bucket/key\) |
152154
| `metadata` | object | Copy operation metadata |
153155

154156

0 commit comments

Comments
 (0)