Skip to content
Open
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
FROM node:24-alpine AS node-runtime

FROM oven/bun:1.3.14-alpine

COPY --from=node-runtime /usr/local/bin/node /usr/local/bin/node

# Install necessary packages for development
RUN apk add --no-cache \
git \
Expand All @@ -15,6 +19,7 @@ RUN apk add --no-cache \
zsh \
zsh-vcs \
ca-certificates \
libstdc++ \
shadow

# Create a non-root user with matching UID/GID
Expand Down Expand Up @@ -44,4 +49,4 @@ WORKDIR /workspace
# Expose the ports we're interested in
EXPOSE 3000
EXPOSE 3001
EXPOSE 3002
EXPOSE 3002
10 changes: 9 additions & 1 deletion apps/docs/components/icons.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9276,7 +9276,7 @@ export function NewRelicIcon(props: SVGProps<SVGSVGElement>) {
)
}

export function NetSuiteIcon(props: SVGProps<SVGSVGElement>) {
function OracleOvalMark(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} viewBox='0 0 93.9 59.4' xmlns='http://www.w3.org/2000/svg'>
<path
Expand All @@ -9287,6 +9287,14 @@ export function NetSuiteIcon(props: SVGProps<SVGSVGElement>) {
)
}

export function NetSuiteIcon(props: SVGProps<SVGSVGElement>) {
return <OracleOvalMark {...props} />
}

export function OracleDatabaseIcon(props: SVGProps<SVGSVGElement>) {
return <OracleOvalMark {...props} />
}

export function WizaIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} viewBox='0 0 51 49' fill='none' xmlns='http://www.w3.org/2000/svg'>
Expand Down
2 changes: 2 additions & 0 deletions apps/docs/components/ui/icon-mapping.ts
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,7 @@ import {
OktaIcon,
OnePasswordIcon,
OpenAIIcon,
OracleDatabaseIcon,
OutlookIcon,
PackageSearchIcon,
PagerDutyIcon,
Expand Down Expand Up @@ -480,6 +481,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
onedrive: MicrosoftOneDriveIcon,
onepassword: OnePasswordIcon,
openai: OpenAIIcon,
oracledb: OracleDatabaseIcon,
outlook: OutlookIcon,
pagerduty: PagerDutyIcon,
parallel_ai: ParallelIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/docs/content/docs/integrations/meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,7 @@
"onedrive",
"onepassword",
"openai",
"oracledb",
"outlook",
"pagerduty",
"parallel_ai",
Expand Down
263 changes: 263 additions & 0 deletions apps/docs/content/docs/integrations/oracledb.mdx

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions apps/sim/app/(landing)/integrations/(shell)/[slug]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ const AUTH_STEP: Record<AuthType, (name: string) => string> = {
`Connect your ${name} account with one-click OAuth, with no credentials to copy.`,
'api-key': (name) =>
`Paste your ${name} API key to authenticate. You can find it in your ${name} account settings.`,
none: () => 'No authentication is needed, so the block works as soon as you drop it in.',
none: () => 'Configure the block directly; no separate account connection is needed.',
}

/** Human-readable catalog refresh date for the visible last-updated line. */
Expand Down Expand Up @@ -503,7 +503,7 @@ export default async function IntegrationPage({ params }: { params: Promise<{ sl
? `${name} connects with one-click OAuth.`
: authType === 'api-key'
? `${name} connects with an API key.`
: `${name} requires no authentication.`}{' '}
: `${name} is configured directly in its workflow block.`}{' '}
Free to start at sim.ai.
</p>

Expand Down Expand Up @@ -658,7 +658,7 @@ export default async function IntegrationPage({ params }: { params: Promise<{ sl
? `Open your workspace, drag ${articleFor(name)} ${name} block onto the workflow builder, and connect your account with one-click OAuth.`
: authType === 'api-key'
? `Open your workspace, drag ${articleFor(name)} ${name} block onto the workflow builder, and paste in your ${name} API key.`
: `Open your workspace, drag ${articleFor(name)} ${name} block onto the workflow builder. No authentication is needed.`,
: `Open your workspace, drag ${articleFor(name)} ${name} block onto the workflow builder, and configure its inputs directly. No separate account connection is needed.`,
},
{
step: '03',
Expand Down
Loading
Loading