Skip to content

Commit af82820

Browse files
authored
v0.5.61: webhook improvements, workflow controls, react query for deployment status, chat fixes, reducto and pulse OCR, linear fixes
2 parents 4372841 + fd23220 commit af82820

File tree

405 files changed

+58584
-10637
lines changed

Some content is hidden

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

405 files changed

+58584
-10637
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<a href="https://sim.ai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/sim.ai-6F3DFA" alt="Sim.ai"></a>
1111
<a href="https://discord.gg/Hr4UWYEcTT" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/Discord-Join%20Server-5865F2?logo=discord&logoColor=white" alt="Discord"></a>
1212
<a href="https://x.com/simdotai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/twitter/follow/simstudioai?style=social" alt="Twitter"></a>
13-
<a href="https://docs.sim.ai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/Docs-6F3DFA.svg" alt="Documentation"></a>
13+
<a href="https://docs.sim.ai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/Docs-6F3DFA.svg" alt="Documentation"></a> <a href="https://deepwiki.com/simstudioai/sim" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/DeepWiki-1E90FF.svg" alt="DeepWiki"></a>
1414
</p>
1515

1616
<p align="center">

apps/docs/components/icons.tsx

Lines changed: 346 additions & 0 deletions
Large diffs are not rendered by default.

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,11 @@ import {
8484
PolymarketIcon,
8585
PostgresIcon,
8686
PosthogIcon,
87+
PulseIcon,
8788
QdrantIcon,
8889
RDSIcon,
8990
RedditIcon,
91+
ReductoIcon,
9092
ResendIcon,
9193
S3Icon,
9294
SalesforceIcon,
@@ -208,9 +210,11 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
208210
polymarket: PolymarketIcon,
209211
postgresql: PostgresIcon,
210212
posthog: PosthogIcon,
213+
pulse: PulseIcon,
211214
qdrant: QdrantIcon,
212215
rds: RDSIcon,
213216
reddit: RedditIcon,
217+
reducto: ReductoIcon,
214218
resend: ResendIcon,
215219
s3: S3Icon,
216220
salesforce: SalesforceIcon,
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"pages": ["index", "basics", "api", "form", "logging", "costs"]
2+
"pages": ["index", "basics", "api", "logging", "costs"]
33
}

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

Lines changed: 58 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -36,43 +36,47 @@ Connect Google Vault to create exports, list exports, and manage holds within ma
3636

3737
### `google_vault_create_matters_export`
3838

39+
Create an export in a matter
40+
3941
#### Input
4042

4143
| Parameter | Type | Required | Description |
4244
| --------- | ---- | -------- | ----------- |
45+
| `matterId` | string | Yes | The matter ID |
46+
| `exportName` | string | Yes | Name for the export \(avoid special characters\) |
47+
| `corpus` | string | Yes | Data corpus to export \(MAIL, DRIVE, GROUPS, HANGOUTS_CHAT, VOICE\) |
48+
| `accountEmails` | string | No | Comma-separated list of user emails to scope export |
49+
| `orgUnitId` | string | No | Organization unit ID to scope export \(alternative to emails\) |
50+
| `startTime` | string | No | Start time for date filtering \(ISO 8601 format, e.g., 2024-01-01T00:00:00Z\) |
51+
| `endTime` | string | No | End time for date filtering \(ISO 8601 format, e.g., 2024-12-31T23:59:59Z\) |
52+
| `terms` | string | No | Search query terms to filter exported content |
4353

4454
#### Output
4555

4656
| Parameter | Type | Description |
4757
| --------- | ---- | ----------- |
48-
| `matters` | json | Array of matter objects \(for list_matters\) |
49-
| `exports` | json | Array of export objects \(for list_matters_export\) |
50-
| `holds` | json | Array of hold objects \(for list_matters_holds\) |
51-
| `matter` | json | Created matter object \(for create_matters\) |
52-
| `export` | json | Created export object \(for create_matters_export\) |
53-
| `hold` | json | Created hold object \(for create_matters_holds\) |
54-
| `file` | json | Downloaded export file \(UserFile\) from execution files |
55-
| `nextPageToken` | string | Token for fetching next page of results \(for list operations\) |
58+
| `export` | json | Created export object |
5659

5760
### `google_vault_list_matters_export`
5861

62+
List exports for a matter
63+
5964
#### Input
6065

6166
| Parameter | Type | Required | Description |
6267
| --------- | ---- | -------- | ----------- |
68+
| `matterId` | string | Yes | The matter ID |
69+
| `pageSize` | number | No | Number of exports to return per page |
70+
| `pageToken` | string | No | Token for pagination |
71+
| `exportId` | string | No | Optional export ID to fetch a specific export |
6372

6473
#### Output
6574

6675
| Parameter | Type | Description |
6776
| --------- | ---- | ----------- |
68-
| `matters` | json | Array of matter objects \(for list_matters\) |
69-
| `exports` | json | Array of export objects \(for list_matters_export\) |
70-
| `holds` | json | Array of hold objects \(for list_matters_holds\) |
71-
| `matter` | json | Created matter object \(for create_matters\) |
72-
| `export` | json | Created export object \(for create_matters_export\) |
73-
| `hold` | json | Created hold object \(for create_matters_holds\) |
74-
| `file` | json | Downloaded export file \(UserFile\) from execution files |
75-
| `nextPageToken` | string | Token for fetching next page of results \(for list operations\) |
77+
| `exports` | json | Array of export objects |
78+
| `export` | json | Single export object \(when exportId is provided\) |
79+
| `nextPageToken` | string | Token for fetching next page of results |
7680

7781
### `google_vault_download_export_file`
7882

@@ -82,10 +86,10 @@ Download a single file from a Google Vault export (GCS object)
8286

8387
| Parameter | Type | Required | Description |
8488
| --------- | ---- | -------- | ----------- |
85-
| `matterId` | string | Yes | No description |
86-
| `bucketName` | string | Yes | No description |
87-
| `objectName` | string | Yes | No description |
88-
| `fileName` | string | No | No description |
89+
| `matterId` | string | Yes | The matter ID |
90+
| `bucketName` | string | Yes | GCS bucket name from cloudStorageSink.files.bucketName |
91+
| `objectName` | string | Yes | GCS object name from cloudStorageSink.files.objectName |
92+
| `fileName` | string | No | Optional filename override for the downloaded file |
8993

9094
#### Output
9195

@@ -95,82 +99,84 @@ Download a single file from a Google Vault export (GCS object)
9599

96100
### `google_vault_create_matters_holds`
97101

102+
Create a hold in a matter
103+
98104
#### Input
99105

100106
| Parameter | Type | Required | Description |
101107
| --------- | ---- | -------- | ----------- |
108+
| `matterId` | string | Yes | The matter ID |
109+
| `holdName` | string | Yes | Name for the hold |
110+
| `corpus` | string | Yes | Data corpus to hold \(MAIL, DRIVE, GROUPS, HANGOUTS_CHAT, VOICE\) |
111+
| `accountEmails` | string | No | Comma-separated list of user emails to put on hold |
112+
| `orgUnitId` | string | No | Organization unit ID to put on hold \(alternative to accounts\) |
113+
| `terms` | string | No | Search terms to filter held content \(for MAIL and GROUPS corpus\) |
114+
| `startTime` | string | No | Start time for date filtering \(ISO 8601 format, for MAIL and GROUPS corpus\) |
115+
| `endTime` | string | No | End time for date filtering \(ISO 8601 format, for MAIL and GROUPS corpus\) |
116+
| `includeSharedDrives` | boolean | No | Include files in shared drives \(for DRIVE corpus\) |
102117

103118
#### Output
104119

105120
| Parameter | Type | Description |
106121
| --------- | ---- | ----------- |
107-
| `matters` | json | Array of matter objects \(for list_matters\) |
108-
| `exports` | json | Array of export objects \(for list_matters_export\) |
109-
| `holds` | json | Array of hold objects \(for list_matters_holds\) |
110-
| `matter` | json | Created matter object \(for create_matters\) |
111-
| `export` | json | Created export object \(for create_matters_export\) |
112-
| `hold` | json | Created hold object \(for create_matters_holds\) |
113-
| `file` | json | Downloaded export file \(UserFile\) from execution files |
114-
| `nextPageToken` | string | Token for fetching next page of results \(for list operations\) |
122+
| `hold` | json | Created hold object |
115123

116124
### `google_vault_list_matters_holds`
117125

126+
List holds for a matter
127+
118128
#### Input
119129

120130
| Parameter | Type | Required | Description |
121131
| --------- | ---- | -------- | ----------- |
132+
| `matterId` | string | Yes | The matter ID |
133+
| `pageSize` | number | No | Number of holds to return per page |
134+
| `pageToken` | string | No | Token for pagination |
135+
| `holdId` | string | No | Optional hold ID to fetch a specific hold |
122136

123137
#### Output
124138

125139
| Parameter | Type | Description |
126140
| --------- | ---- | ----------- |
127-
| `matters` | json | Array of matter objects \(for list_matters\) |
128-
| `exports` | json | Array of export objects \(for list_matters_export\) |
129-
| `holds` | json | Array of hold objects \(for list_matters_holds\) |
130-
| `matter` | json | Created matter object \(for create_matters\) |
131-
| `export` | json | Created export object \(for create_matters_export\) |
132-
| `hold` | json | Created hold object \(for create_matters_holds\) |
133-
| `file` | json | Downloaded export file \(UserFile\) from execution files |
134-
| `nextPageToken` | string | Token for fetching next page of results \(for list operations\) |
141+
| `holds` | json | Array of hold objects |
142+
| `hold` | json | Single hold object \(when holdId is provided\) |
143+
| `nextPageToken` | string | Token for fetching next page of results |
135144

136145
### `google_vault_create_matters`
137146

147+
Create a new matter in Google Vault
148+
138149
#### Input
139150

140151
| Parameter | Type | Required | Description |
141152
| --------- | ---- | -------- | ----------- |
153+
| `name` | string | Yes | Name for the new matter |
154+
| `description` | string | No | Optional description for the matter |
142155

143156
#### Output
144157

145158
| Parameter | Type | Description |
146159
| --------- | ---- | ----------- |
147-
| `matters` | json | Array of matter objects \(for list_matters\) |
148-
| `exports` | json | Array of export objects \(for list_matters_export\) |
149-
| `holds` | json | Array of hold objects \(for list_matters_holds\) |
150-
| `matter` | json | Created matter object \(for create_matters\) |
151-
| `export` | json | Created export object \(for create_matters_export\) |
152-
| `hold` | json | Created hold object \(for create_matters_holds\) |
153-
| `file` | json | Downloaded export file \(UserFile\) from execution files |
154-
| `nextPageToken` | string | Token for fetching next page of results \(for list operations\) |
160+
| `matter` | json | Created matter object |
155161

156162
### `google_vault_list_matters`
157163

164+
List matters, or get a specific matter if matterId is provided
165+
158166
#### Input
159167

160168
| Parameter | Type | Required | Description |
161169
| --------- | ---- | -------- | ----------- |
170+
| `pageSize` | number | No | Number of matters to return per page |
171+
| `pageToken` | string | No | Token for pagination |
172+
| `matterId` | string | No | Optional matter ID to fetch a specific matter |
162173

163174
#### Output
164175

165176
| Parameter | Type | Description |
166177
| --------- | ---- | ----------- |
167-
| `matters` | json | Array of matter objects \(for list_matters\) |
168-
| `exports` | json | Array of export objects \(for list_matters_export\) |
169-
| `holds` | json | Array of hold objects \(for list_matters_holds\) |
170-
| `matter` | json | Created matter object \(for create_matters\) |
171-
| `export` | json | Created export object \(for create_matters_export\) |
172-
| `hold` | json | Created hold object \(for create_matters_holds\) |
173-
| `file` | json | Downloaded export file \(UserFile\) from execution files |
174-
| `nextPageToken` | string | Token for fetching next page of results \(for list operations\) |
178+
| `matters` | json | Array of matter objects |
179+
| `matter` | json | Single matter object \(when matterId is provided\) |
180+
| `nextPageToken` | string | Token for fetching next page of results |
175181

176182

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,11 @@
7979
"polymarket",
8080
"postgresql",
8181
"posthog",
82+
"pulse",
8283
"qdrant",
8384
"rds",
8485
"reddit",
86+
"reducto",
8587
"resend",
8688
"s3",
8789
"salesforce",
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
title: Pulse
3+
description: Extract text from documents using Pulse OCR
4+
---
5+
6+
import { BlockInfoCard } from "@/components/ui/block-info-card"
7+
8+
<BlockInfoCard
9+
type="pulse"
10+
color="#E0E0E0"
11+
/>
12+
13+
{/* MANUAL-CONTENT-START:intro */}
14+
The [Pulse](https://www.pulseapi.com/) tool enables seamless extraction of text and structured content from a wide variety of documents—including PDFs, images, and Office files—using state-of-the-art OCR (Optical Character Recognition) powered by Pulse. Designed for automated agentic workflows, Pulse Parser makes it easy to unlock valuable information trapped in unstructured documents and integrate the extracted content directly into your workflow.
15+
16+
With Pulse, you can:
17+
18+
- **Extract text from documents**: Quickly convert scanned PDFs, images, and Office documents to usable text, markdown, or JSON.
19+
- **Process documents by URL or upload**: Simply provide a file URL or use upload to extract text from local documents or remote resources.
20+
- **Flexible output formats**: Choose between markdown, plain text, or JSON representations of the extracted content for downstream processing.
21+
- **Selective page processing**: Specify a range of pages to process, reducing processing time and cost when you only need part of a document.
22+
- **Figure and table extraction**: Optionally extract figures and tables, with automatic caption and description generation for populated context.
23+
- **Get processing insights**: Receive detailed metadata on each job, including file type, page count, processing time, and more.
24+
- **Integration-ready responses**: Incorporate extracted content into research, workflow automation, or data analysis pipelines.
25+
26+
Ideal for automating tedious document review, enabling content summarization, research, and more, Pulse Parser brings real-world documents into the digital workflow era.
27+
28+
If you need accurate, scalable, and developer-friendly document parsing capabilities—across formats, languages, and layouts—Pulse empowers your agents to read the world.
29+
{/* MANUAL-CONTENT-END */}
30+
31+
32+
## Usage Instructions
33+
34+
Integrate Pulse into the workflow. Extract text from PDF documents, images, and Office files via URL or upload.
35+
36+
37+
38+
## Tools
39+
40+
### `pulse_parser`
41+
42+
Parse documents (PDF, images, Office docs) using Pulse OCR API
43+
44+
#### Input
45+
46+
| Parameter | Type | Required | Description |
47+
| --------- | ---- | -------- | ----------- |
48+
| `filePath` | string | Yes | URL to a document to be processed |
49+
| `fileUpload` | object | No | File upload data from file-upload component |
50+
| `pages` | string | No | Page range to process \(1-indexed, e.g., "1-2,5"\) |
51+
| `extractFigure` | boolean | No | Enable figure extraction from the document |
52+
| `figureDescription` | boolean | No | Generate descriptions/captions for extracted figures |
53+
| `returnHtml` | boolean | No | Include HTML in the response |
54+
| `chunking` | string | No | Chunking strategies \(comma-separated: semantic, header, page, recursive\) |
55+
| `chunkSize` | number | No | Maximum characters per chunk when chunking is enabled |
56+
| `apiKey` | string | Yes | Pulse API key |
57+
58+
#### Output
59+
60+
| Parameter | Type | Description |
61+
| --------- | ---- | ----------- |
62+
| `markdown` | string | Extracted content in markdown format |
63+
| `page_count` | number | Number of pages in the document |
64+
| `job_id` | string | Unique job identifier |
65+
| `bounding_boxes` | json | Bounding box layout information |
66+
| `extraction_url` | string | URL for extraction results \(for large documents\) |
67+
| `html` | string | HTML content if requested |
68+
| `structured_output` | json | Structured output if schema was provided |
69+
| `chunks` | json | Chunked content if chunking was enabled |
70+
| `figures` | json | Extracted figures if figure extraction was enabled |
71+
72+
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
title: Reducto
3+
description: Extract text from PDF documents
4+
---
5+
6+
import { BlockInfoCard } from "@/components/ui/block-info-card"
7+
8+
<BlockInfoCard
9+
type="reducto"
10+
color="#5c0c5c"
11+
/>
12+
13+
{/* MANUAL-CONTENT-START:intro */}
14+
The [Reducto](https://reducto.ai/) tool enables fast and accurate extraction of text and data from PDF documents via OCR (Optical Character Recognition). Reducto is designed for agent workflows, making it easy to process uploaded or linked PDFs and transform their contents into ready-to-use information.
15+
16+
With the Reducto tool, you can:
17+
18+
- **Extract text and tables from PDFs**: Quickly convert scanned or digital PDFs to text, markdown, or structured JSON.
19+
- **Parse PDFs from uploads or URLs**: Process documents either by uploading a PDF or specifying a direct URL.
20+
- **Customize output formatting**: Choose your preferred output format—markdown, plain text, or JSON—and specify table formats as markdown or HTML.
21+
- **Select specific pages**: Optionally extract content from particular pages to optimize processing and focus on what matters.
22+
- **Receive detailed processing metadata**: Alongside extracted content, get job details, processing times, source file info, page counts, and OCR usage stats for audit and automation.
23+
24+
Whether you’re automating workflow steps, extracting business-critical information, or unlocking archival documents for search and analysis, Reducto’s OCR parser gives you structured, actionable data from even the most complex PDFs.
25+
26+
Looking for reliable and scalable PDF parsing? Reducto is optimized for developer and agent use—providing accuracy, speed, and flexibility for modern document understanding.
27+
{/* MANUAL-CONTENT-END */}
28+
29+
30+
## Usage Instructions
31+
32+
Integrate Reducto Parse into the workflow. Can extract text from uploaded PDF documents, or from a URL.
33+
34+
35+
36+
## Tools
37+
38+
### `reducto_parser`
39+
40+
Parse PDF documents using Reducto OCR API
41+
42+
#### Input
43+
44+
| Parameter | Type | Required | Description |
45+
| --------- | ---- | -------- | ----------- |
46+
| `filePath` | string | Yes | URL to a PDF document to be processed |
47+
| `fileUpload` | object | No | File upload data from file-upload component |
48+
| `pages` | array | No | Specific pages to process \(1-indexed page numbers\) |
49+
| `tableOutputFormat` | string | No | Table output format \(html or markdown\). Defaults to markdown. |
50+
| `apiKey` | string | Yes | Reducto API key \(REDUCTO_API_KEY\) |
51+
52+
#### Output
53+
54+
| Parameter | Type | Description |
55+
| --------- | ---- | ----------- |
56+
| `job_id` | string | Unique identifier for the processing job |
57+
| `duration` | number | Processing time in seconds |
58+
| `usage` | json | Resource consumption data |
59+
| `result` | json | Parsed document content with chunks and blocks |
60+
| `pdf_url` | string | Storage URL of converted PDF |
61+
| `studio_link` | string | Link to Reducto studio interface |
62+
63+

0 commit comments

Comments
 (0)