Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
64 changes: 64 additions & 0 deletions apps/docs/components/icons.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3126,6 +3126,36 @@ export function AzureIcon(props: SVGProps<SVGSVGElement>) {
)
}

export function AzureDevOpsIcon(props: SVGProps<SVGSVGElement>) {
const id = useId()
const gradientId = `azure_devops_gradient_${id}`
return (
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128' {...props}>
<defs>
<linearGradient
id={gradientId}
gradientUnits='userSpaceOnUse'
x1='9'
y1='16.97'
x2='9'
y2='1.03'
gradientTransform='scale(7.11111)'
>
<stop offset='0' stopColor='#0078d4' />
<stop offset='.16' stopColor='#1380da' />
<stop offset='.53' stopColor='#3c91e5' />
<stop offset='.82' stopColor='#559cec' />
<stop offset='1' stopColor='#5ea0ef' />
</linearGradient>
</defs>
<path
fill={`url(#${gradientId})`}
d='M120.89 28.445v69.262l-28.445 23.324-44.09-16.07v15.93L23.395 88.25l72.746 5.688V31.574ZM96.64 31.93 55.82 7.11v16.285L18.348 34.418 7.109 48.852v32.785l16.075 7.11V46.718Zm0 0'
/>
</svg>
)
}

export const GroqIcon = (props: SVGProps<SVGSVGElement>) => (
<svg
{...props}
Expand Down Expand Up @@ -6928,6 +6958,14 @@ export function HexIcon(props: SVGProps<SVGSVGElement>) {
)
}

export function RailwayIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} xmlns='http://www.w3.org/2000/svg' fill='#0B0D0E' viewBox='0 0 24 24'>
<path d='M.113 10.27A13 13 0 0 0 0 11.48h18.23a2.3 2.3 0 0 0-.235-.347c-3.117-4.027-4.793-3.677-7.19-3.78-.8-.034-1.34-.048-4.524-.048-1.704 0-3.555.005-5.358.01-.234.63-.459 1.24-.567 1.737h9.342v1.216H.113zm18.26 2.426H.009q.029.488.094.961h16.955c.754 0 1.179-.429 1.315-.96zm-17.318 4.28s2.81 6.902 10.93 7.024c4.855 0 9.027-2.883 10.92-7.024H1.056zM11.988 0C7.5 0 3.593 2.466 1.531 6.108l4.75-.005v-.002c3.71 0 3.849.016 4.573.047l.448.016c1.563.052 3.485.22 4.996 1.364.82.621 2.007 1.99 2.712 2.965.654.902.842 1.94.396 2.934-.408.914-1.289 1.458-2.353 1.458H.391s.099.42.249.886h22.748A12 12 0 0 0 24 12.005C24 5.377 18.621 0 11.988 0' />
</svg>
)
}

export function BigQueryIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' {...props}>
Expand All @@ -6950,3 +6988,29 @@ export function SnowflakeIcon(props: SVGProps<SVGSVGElement>) {
</svg>
)
}

export function NewRelicIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} viewBox='0 0 159.36 159.36' xmlns='http://www.w3.org/2000/svg'>
<polygon
fill='#46B978'
points='79.68 .19 18.89 35.29 45.38 50.58 79.68 30.77 122.04 55.23 122.04 104.13 87.73 123.94 87.73 154.52 148.52 119.42 148.52 39.94 79.68 .19'
/>
<polygon
fill='#46B978'
points='53.2 94.97 53.2 143.88 79.68 159.17 79.68 79.68 10.84 39.94 10.84 70.51 53.2 94.97'
/>
</svg>
)
}

export function WizaIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} viewBox='0 0 51 49' fill='none' xmlns='http://www.w3.org/2000/svg'>
<path
fill='#FFFFFF'
d='m50.3 33.6-9.3-3.5c-2.9-10.4-9.6-20.8-17.1-29.4-1.4-1.5-4.4-0.7-4.2 1.9 0.4 6-0.4 13.3-4.4 20.5-0.9 1.6 1.4 3.3 2.9 1.6 3.2-3.3 5.3-9.1 6.3-15.2 3.9 5.4 9.2 13.8 11.2 22.9 0.2 0.9 0.8 1.6 1.6 1.9l6.2 2.3c-4.1 3.3-9.6 6-17.7 6-7.1 0-13.2-2.3-18.5-6l3.6-2.5c3.5 2 7.5 3.5 12.5 3.6 2.5 0 5-0.2 7.3-0.9 2-0.5 1.6-3.2-0.3-3-4 0.5-10.3 0.3-17.1-4.3-0.8-0.5-1.9-0.6-2.7-0.2l-9.2 4.3c-1.4 0.6-2.1 3.1-0.5 4.3 4.7 3.8 12.4 10.1 24.2 10.1 11.9 0 20.4-4.3 25.8-10.1 1.2-1.2 1.2-3.5-0.6-4.3z'
/>
</svg>
)
}
13 changes: 13 additions & 0 deletions apps/docs/components/ui/icon-mapping.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import {
AshbyIcon,
AthenaIcon,
AttioIcon,
AzureDevOpsIcon,
AzureIcon,
BoxCompanyIcon,
BrainIcon,
Expand Down Expand Up @@ -127,6 +128,7 @@ import {
MongoDBIcon,
MySQLIcon,
Neo4jIcon,
NewRelicIcon,
NotionIcon,
ObsidianIcon,
OktaIcon,
Expand All @@ -148,6 +150,7 @@ import {
PulseIcon,
QdrantIcon,
QuiverIcon,
RailwayIcon,
RDSIcon,
RedditIcon,
RedisIcon,
Expand Down Expand Up @@ -197,6 +200,7 @@ import {
WebflowIcon,
WhatsAppIcon,
WikipediaIcon,
WizaIcon,
WordpressIcon,
WorkdayIcon,
xIcon,
Expand Down Expand Up @@ -225,6 +229,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
ashby: AshbyIcon,
athena: AthenaIcon,
attio: AttioIcon,
azure_devops: AzureDevOpsIcon,
box: BoxCompanyIcon,
brandfetch: BrandfetchIcon,
brightdata: BrightDataIcon,
Expand Down Expand Up @@ -263,6 +268,8 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
extend_v2: ExtendIcon,
fathom: FathomIcon,
file: DocumentIcon,
file_v2: DocumentIcon,
file_v3: DocumentIcon,
file_v4: DocumentIcon,
findymail: FindymailIcon,
firecrawl: FirecrawlIcon,
Expand Down Expand Up @@ -308,6 +315,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
iam: IAMIcon,
identity_center: IdentityCenterIcon,
image_generator: ImageIcon,
image_generator_v2: ImageIcon,
imap: MailServerIcon,
incidentio: IncidentioIcon,
infisical: InfisicalIcon,
Expand Down Expand Up @@ -340,11 +348,13 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
microsoft_planner: MicrosoftPlannerIcon,
microsoft_teams: MicrosoftTeamsIcon,
mistral_parse: MistralIcon,
mistral_parse_v2: MistralIcon,
mistral_parse_v3: MistralIcon,
monday: MondayIcon,
mongodb: MongoDBIcon,
mysql: MySQLIcon,
neo4j: Neo4jIcon,
new_relic: NewRelicIcon,
notion: NotionIcon,
notion_v2: NotionIcon,
obsidian: ObsidianIcon,
Expand All @@ -368,6 +378,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
pulse_v2: PulseIcon,
qdrant: QdrantIcon,
quiver: QuiverIcon,
railway: RailwayIcon,
rds: RDSIcon,
reddit: RedditIcon,
redis: RedisIcon,
Expand Down Expand Up @@ -420,12 +431,14 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
vercel: VercelIcon,
video_generator: VideoIcon,
video_generator_v2: VideoIcon,
video_generator_v3: VideoIcon,
vision: EyeIcon,
vision_v2: EyeIcon,
wealthbox: WealthboxIcon,
webflow: WebflowIcon,
whatsapp: WhatsAppIcon,
wikipedia: WikipediaIcon,
wiza: WizaIcon,
wordpress: WordpressIcon,
workday: WorkdayIcon,
x: xIcon,
Expand Down
4 changes: 2 additions & 2 deletions apps/docs/content/docs/en/blocks/function.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ const file = <readfile.file>;
const base64 = await sim.files.readBase64(file);
```

`sim.files.readBase64(file)`, `sim.files.readText(file)`, `sim.files.readBase64Chunk(file, { offset, length })`, and `sim.files.readTextChunk(file, { offset, length })` read from server-side execution storage under memory caps. `sim.values.read(ref)` can explicitly read a large execution value reference. These helpers are available only in JavaScript functions without imports. JavaScript with imports, Python, and shell do not support these lazy helpers yet.
`sim.files.readBase64(file)`, `sim.files.readText(file)`, `sim.files.readBase64Chunk(file, { offset, length })`, and `sim.files.readTextChunk(file, { offset, length })` read from server-side execution storage under memory caps. `sim.values.read(ref)` explicitly reads a large execution value reference, and `sim.values.readArray(ref)` reads a manifest-backed large array. These helpers are available only in JavaScript functions without imports. JavaScript with imports, Python, and shell do not support these lazy helpers yet.

Very large full reads can still fail by design; use chunk helpers or return a file when you need to handle more data.

Expand Down Expand Up @@ -228,7 +228,7 @@ return { name: file.name, chunk: firstMegabyteBase64 };

Chunk `offset` and `length` are byte-based. For Unicode text, a chunk can split a multi-byte character at the boundary; use text chunks for approximate text processing and prefer smaller structured references when exact parsing matters.

Avoid passing a full large object into a Function block when you only need one field. For example, prefer `<api.data.customerId>` over `<api.data>` when the API response is large. If a JavaScript Function without imports references a large execution value, Sim automatically reads it through `sim.values.read(...)` at runtime under memory caps.
Avoid passing a full large object into a Function block when you only need one field. For example, prefer `<api.data.customerId>` over `<api.data>` when the API response is large. If a JavaScript Function without imports references a whole large execution value, Sim automatically rewrites it to `sim.values.read(...)` at runtime under memory caps. If the value is a manifest-backed array, Sim rewrites it to `sim.values.readArray(...)` so array variables can stay compact between blocks.

For large generated data, write the result to a file or table with `outputPath`, `outputSandboxPath`, or `outputTable` instead of returning the entire payload inline.

Expand Down
2 changes: 1 addition & 1 deletion apps/docs/content/docs/en/execution/api-deployment.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ Workflow execution responses are capped by platform request and response limits.
}
```

The `version` field is part of the external API contract. Treat the reference as an opaque placeholder for a value that could not be safely embedded in the response. `id`, `key`, and `executionId` are not fetch URLs; `key` points to execution-scoped server storage. Use `selectedOutputs` to request a smaller nested field, reduce the data passed between blocks, or return the data from a Response block when your workflow intentionally owns the HTTP response body. File outputs are metadata-first; request `.base64` only when you need inline file content. JavaScript Function blocks can explicitly read large files or value refs with the `sim.files` and `sim.values` helpers under memory caps.
The `version` field is part of the external API contract. Treat the reference as an opaque placeholder for a value that could not be safely embedded in the response. `id`, `key`, and `executionId` are not fetch URLs; `key` points to execution-scoped server storage. Use `selectedOutputs` to request a smaller nested field, reduce the data passed between blocks, or return the data from a Response block when your workflow intentionally owns the HTTP response body. File outputs are metadata-first; request `.base64` only when you need inline file content. JavaScript Function blocks can explicitly read large files, value refs, and manifest-backed arrays with the `sim.files` and `sim.values` helpers under memory caps.

### Asynchronous

Expand Down
Loading
Loading