Skip to content

Commit eed91bc

Browse files
committed
Merge branch 'staging' into improvement/copilot-usage-limit
2 parents 287f9fb + 2a7f51a commit eed91bc

File tree

239 files changed

+16585
-3361
lines changed

Some content is hidden

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

239 files changed

+16585
-3361
lines changed

.github/workflows/test-build.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,19 @@ jobs:
4848
ENCRYPTION_KEY: '7cf672e460e430c1fba707575c2b0e2ad5a99dddf9b7b7e3b5646e630861db1c' # dummy key for CI only
4949
run: bun run test
5050

51+
- name: Check schema and migrations are in sync
52+
working-directory: packages/db
53+
run: |
54+
bunx drizzle-kit generate --config=./drizzle.config.ts
55+
if [ -n "$(git status --porcelain ./migrations)" ]; then
56+
echo "❌ Schema and migrations are out of sync!"
57+
echo "Run 'cd packages/db && bunx drizzle-kit generate' and commit the new migrations."
58+
git status --porcelain ./migrations
59+
git diff ./migrations
60+
exit 1
61+
fi
62+
echo "✅ Schema and migrations are in sync"
63+
5164
- name: Build application
5265
env:
5366
NODE_OPTIONS: '--no-warnings'

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,7 @@ DATABASE_URL="postgresql://postgres:your_password@localhost:5432/simstudio"
188188

189189
Then run the migrations:
190190
```bash
191+
cd packages/db # Required so drizzle picks correct .env file
191192
bunx drizzle-kit migrate --config=./drizzle.config.ts
192193
```
193194

apps/docs/app/[lang]/not-found.tsx

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { DocsBody, DocsPage } from 'fumadocs-ui/page'
2+
3+
export const metadata = {
4+
title: 'Page Not Found',
5+
}
6+
7+
export default function NotFound() {
8+
return (
9+
<DocsPage>
10+
<DocsBody>
11+
<div className='flex min-h-[60vh] flex-col items-center justify-center text-center'>
12+
<h1 className='mb-4 bg-gradient-to-b from-[#8357FF] to-[#6F3DFA] bg-clip-text font-bold text-8xl text-transparent'>
13+
404
14+
</h1>
15+
<h2 className='mb-2 font-semibold text-2xl text-foreground'>Page Not Found</h2>
16+
<p className='text-muted-foreground'>
17+
The page you're looking for doesn't exist or has been moved.
18+
</p>
19+
</div>
20+
</DocsBody>
21+
</DocsPage>
22+
)
23+
}

apps/docs/components/icons.tsx

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2452,6 +2452,56 @@ export const GeminiIcon = (props: SVGProps<SVGSVGElement>) => (
24522452
</svg>
24532453
)
24542454

2455+
export const VertexIcon = (props: SVGProps<SVGSVGElement>) => (
2456+
<svg
2457+
{...props}
2458+
id='standard_product_icon'
2459+
xmlns='http://www.w3.org/2000/svg'
2460+
version='1.1'
2461+
viewBox='0 0 512 512'
2462+
>
2463+
<g id='bounding_box'>
2464+
<rect width='512' height='512' fill='none' />
2465+
</g>
2466+
<g id='art'>
2467+
<path
2468+
d='M128,244.99c-8.84,0-16-7.16-16-16v-95.97c0-8.84,7.16-16,16-16s16,7.16,16,16v95.97c0,8.84-7.16,16-16,16Z'
2469+
fill='#ea4335'
2470+
/>
2471+
<path
2472+
d='M256,458c-2.98,0-5.97-.83-8.59-2.5l-186-122c-7.46-4.74-9.65-14.63-4.91-22.09,4.75-7.46,14.64-9.65,22.09-4.91l177.41,116.53,177.41-116.53c7.45-4.74,17.34-2.55,22.09,4.91,4.74,7.46,2.55,17.34-4.91,22.09l-186,122c-2.62,1.67-5.61,2.5-8.59,2.5Z'
2473+
fill='#fbbc04'
2474+
/>
2475+
<path
2476+
d='M256,388.03c-8.84,0-16-7.16-16-16v-73.06c0-8.84,7.16-16,16-16s16,7.16,16,16v73.06c0,8.84-7.16,16-16,16Z'
2477+
fill='#34a853'
2478+
/>
2479+
<circle cx='128' cy='70' r='16' fill='#ea4335' />
2480+
<circle cx='128' cy='292' r='16' fill='#ea4335' />
2481+
<path
2482+
d='M384.23,308.01c-8.82,0-15.98-7.14-16-15.97l-.23-94.01c-.02-8.84,7.13-16.02,15.97-16.03h.04c8.82,0,15.98,7.14,16,15.97l.23,94.01c.02,8.84-7.13,16.02-15.97,16.03h-.04Z'
2483+
fill='#4285f4'
2484+
/>
2485+
<circle cx='384' cy='70' r='16' fill='#4285f4' />
2486+
<circle cx='384' cy='134' r='16' fill='#4285f4' />
2487+
<path
2488+
d='M320,220.36c-8.84,0-16-7.16-16-16v-103.02c0-8.84,7.16-16,16-16s16,7.16,16,16v103.02c0,8.84-7.16,16-16,16Z'
2489+
fill='#fbbc04'
2490+
/>
2491+
<circle cx='256' cy='171' r='16' fill='#34a853' />
2492+
<circle cx='256' cy='235' r='16' fill='#34a853' />
2493+
<circle cx='320' cy='265' r='16' fill='#fbbc04' />
2494+
<circle cx='320' cy='329' r='16' fill='#fbbc04' />
2495+
<path
2496+
d='M192,217.36c-8.84,0-16-7.16-16-16v-100.02c0-8.84,7.16-16,16-16s16,7.16,16,16v100.02c0,8.84-7.16,16-16,16Z'
2497+
fill='#fbbc04'
2498+
/>
2499+
<circle cx='192' cy='265' r='16' fill='#fbbc04' />
2500+
<circle cx='192' cy='329' r='16' fill='#fbbc04' />
2501+
</g>
2502+
</svg>
2503+
)
2504+
24552505
export const CerebrasIcon = (props: SVGProps<SVGSVGElement>) => (
24562506
<svg
24572507
{...props}
@@ -3335,6 +3385,21 @@ export function SalesforceIcon(props: SVGProps<SVGSVGElement>) {
33353385
)
33363386
}
33373387

3388+
export function ServiceNowIcon(props: SVGProps<SVGSVGElement>) {
3389+
return (
3390+
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='0 0 71.1 63.6'>
3391+
<path
3392+
fillRule='evenodd'
3393+
clipRule='evenodd'
3394+
fill='#62D84E'
3395+
d='M35.8,0C16.1,0,0,15.9,0,35.6c0,9.8,4,19.3,11.2,26c2.5,2.4,6.4,2.6,9.2,0.5c9-6.7,21.4-6.7,30.4,0
3396+
c2.8,2.1,6.7,1.9,9.2-0.5C74.3,48,74.9,25.4,61.3,11.1C54.7,4.1,45.4,0.1,35.8,0 M35.6,53.5C26,53.8,18,46.2,17.8,36.7
3397+
c0-0.3,0-0.6,0-0.9c0-9.8,8-17.8,17.8-17.8s17.8,8,17.8,17.8c0.3,9.6-7.3,17.5-16.8,17.8C36.2,53.5,35.9,53.5,35.6,53.5'
3398+
/>
3399+
</svg>
3400+
)
3401+
}
3402+
33383403
export function ApolloIcon(props: SVGProps<SVGSVGElement>) {
33393404
return (
33403405
<svg

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

Lines changed: 94 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ import {
8585
SendgridIcon,
8686
SentryIcon,
8787
SerperIcon,
88+
ServiceNowIcon,
8889
SftpIcon,
8990
ShopifyIcon,
9091
SlackIcon,
@@ -119,116 +120,117 @@ import {
119120
type IconComponent = ComponentType<SVGProps<SVGSVGElement>>
120121

121122
export const blockTypeToIconMap: Record<string, IconComponent> = {
122-
calendly: CalendlyIcon,
123-
mailchimp: MailchimpIcon,
124-
postgresql: PostgresIcon,
125-
twilio_voice: TwilioIcon,
126-
elasticsearch: ElasticsearchIcon,
127-
rds: RDSIcon,
128-
translate: TranslateIcon,
129-
dynamodb: DynamoDBIcon,
130-
wordpress: WordpressIcon,
131-
tavily: TavilyIcon,
123+
zoom: ZoomIcon,
124+
zep: ZepIcon,
132125
zendesk: ZendeskIcon,
133126
youtube: YouTubeIcon,
134-
supabase: SupabaseIcon,
135-
vision: EyeIcon,
136-
zoom: ZoomIcon,
137-
confluence: ConfluenceIcon,
138-
arxiv: ArxivIcon,
139-
webflow: WebflowIcon,
140-
pinecone: PineconeIcon,
141-
apollo: ApolloIcon,
127+
x: xIcon,
128+
wordpress: WordpressIcon,
129+
wikipedia: WikipediaIcon,
142130
whatsapp: WhatsAppIcon,
131+
webflow: WebflowIcon,
132+
wealthbox: WealthboxIcon,
133+
vision: EyeIcon,
134+
video_generator: VideoIcon,
143135
typeform: TypeformIcon,
144-
qdrant: QdrantIcon,
145-
shopify: ShopifyIcon,
146-
asana: AsanaIcon,
136+
twilio_voice: TwilioIcon,
137+
twilio_sms: TwilioIcon,
138+
tts: TTSIcon,
139+
trello: TrelloIcon,
140+
translate: TranslateIcon,
141+
thinking: BrainIcon,
142+
telegram: TelegramIcon,
143+
tavily: TavilyIcon,
144+
supabase: SupabaseIcon,
145+
stt: STTIcon,
146+
stripe: StripeIcon,
147+
stagehand: StagehandIcon,
148+
ssh: SshIcon,
147149
sqs: SQSIcon,
148-
apify: ApifyIcon,
149-
memory: BrainIcon,
150-
gitlab: GitLabIcon,
151-
polymarket: PolymarketIcon,
150+
spotify: SpotifyIcon,
151+
smtp: SmtpIcon,
152+
slack: SlackIcon,
153+
shopify: ShopifyIcon,
154+
sharepoint: MicrosoftSharepointIcon,
155+
sftp: SftpIcon,
156+
servicenow: ServiceNowIcon,
152157
serper: SerperIcon,
153-
linear: LinearIcon,
154-
exa: ExaAIIcon,
155-
telegram: TelegramIcon,
158+
sentry: SentryIcon,
159+
sendgrid: SendgridIcon,
160+
search: SearchIcon,
156161
salesforce: SalesforceIcon,
157-
hubspot: HubspotIcon,
158-
hunter: HunterIOIcon,
159-
linkup: LinkupIcon,
160-
mongodb: MongoDBIcon,
161-
airtable: AirtableIcon,
162-
discord: DiscordIcon,
163-
ahrefs: AhrefsIcon,
164-
neo4j: Neo4jIcon,
165-
tts: TTSIcon,
166-
jina: JinaAIIcon,
167-
google_docs: GoogleDocsIcon,
168-
perplexity: PerplexityIcon,
169-
google_search: GoogleIcon,
170-
x: xIcon,
171-
kalshi: KalshiIcon,
172-
google_calendar: GoogleCalendarIcon,
173-
zep: ZepIcon,
162+
s3: S3Icon,
163+
resend: ResendIcon,
164+
reddit: RedditIcon,
165+
rds: RDSIcon,
166+
qdrant: QdrantIcon,
174167
posthog: PosthogIcon,
175-
grafana: GrafanaIcon,
176-
google_slides: GoogleSlidesIcon,
177-
microsoft_planner: MicrosoftPlannerIcon,
178-
thinking: BrainIcon,
168+
postgresql: PostgresIcon,
169+
polymarket: PolymarketIcon,
179170
pipedrive: PipedriveIcon,
180-
dropbox: DropboxIcon,
181-
stagehand: StagehandIcon,
182-
google_forms: GoogleFormsIcon,
183-
file: DocumentIcon,
184-
mistral_parse: MistralIcon,
185-
gmail: GmailIcon,
186-
openai: OpenAIIcon,
171+
pinecone: PineconeIcon,
172+
perplexity: PerplexityIcon,
173+
parallel_ai: ParallelIcon,
187174
outlook: OutlookIcon,
188-
incidentio: IncidentioIcon,
175+
openai: OpenAIIcon,
189176
onedrive: MicrosoftOneDriveIcon,
190-
resend: ResendIcon,
191-
google_vault: GoogleVaultIcon,
192-
sharepoint: MicrosoftSharepointIcon,
193-
huggingface: HuggingFaceIcon,
194-
sendgrid: SendgridIcon,
195-
video_generator: VideoIcon,
196-
smtp: SmtpIcon,
197-
google_groups: GoogleGroupsIcon,
198-
mailgun: MailgunIcon,
199-
clay: ClayIcon,
200-
jira: JiraIcon,
201-
search: SearchIcon,
202-
linkedin: LinkedInIcon,
203-
wealthbox: WealthboxIcon,
204177
notion: NotionIcon,
205-
elevenlabs: ElevenLabsIcon,
178+
neo4j: Neo4jIcon,
179+
mysql: MySQLIcon,
180+
mongodb: MongoDBIcon,
181+
mistral_parse: MistralIcon,
206182
microsoft_teams: MicrosoftTeamsIcon,
207-
github: GithubIcon,
208-
sftp: SftpIcon,
209-
ssh: SshIcon,
210-
google_drive: GoogleDriveIcon,
211-
sentry: SentryIcon,
212-
reddit: RedditIcon,
213-
parallel_ai: ParallelIcon,
214-
spotify: SpotifyIcon,
215-
stripe: StripeIcon,
216-
s3: S3Icon,
217-
trello: TrelloIcon,
183+
microsoft_planner: MicrosoftPlannerIcon,
184+
microsoft_excel: MicrosoftExcelIcon,
185+
memory: BrainIcon,
218186
mem0: Mem0Icon,
187+
mailgun: MailgunIcon,
188+
mailchimp: MailchimpIcon,
189+
linkup: LinkupIcon,
190+
linkedin: LinkedInIcon,
191+
linear: LinearIcon,
219192
knowledge: PackageSearchIcon,
193+
kalshi: KalshiIcon,
194+
jira: JiraIcon,
195+
jina: JinaAIIcon,
220196
intercom: IntercomIcon,
221-
twilio_sms: TwilioIcon,
222-
duckduckgo: DuckDuckGoIcon,
223-
slack: SlackIcon,
224-
datadog: DatadogIcon,
225-
microsoft_excel: MicrosoftExcelIcon,
197+
incidentio: IncidentioIcon,
226198
image_generator: ImageIcon,
199+
hunter: HunterIOIcon,
200+
huggingface: HuggingFaceIcon,
201+
hubspot: HubspotIcon,
202+
grafana: GrafanaIcon,
203+
google_vault: GoogleVaultIcon,
204+
google_slides: GoogleSlidesIcon,
227205
google_sheets: GoogleSheetsIcon,
228-
wikipedia: WikipediaIcon,
229-
cursor: CursorIcon,
206+
google_groups: GoogleGroupsIcon,
207+
google_forms: GoogleFormsIcon,
208+
google_drive: GoogleDriveIcon,
209+
google_docs: GoogleDocsIcon,
210+
google_calendar: GoogleCalendarIcon,
211+
google_search: GoogleIcon,
212+
gmail: GmailIcon,
213+
gitlab: GitLabIcon,
214+
github: GithubIcon,
230215
firecrawl: FirecrawlIcon,
231-
mysql: MySQLIcon,
216+
file: DocumentIcon,
217+
exa: ExaAIIcon,
218+
elevenlabs: ElevenLabsIcon,
219+
elasticsearch: ElasticsearchIcon,
220+
dynamodb: DynamoDBIcon,
221+
duckduckgo: DuckDuckGoIcon,
222+
dropbox: DropboxIcon,
223+
discord: DiscordIcon,
224+
datadog: DatadogIcon,
225+
cursor: CursorIcon,
226+
confluence: ConfluenceIcon,
227+
clay: ClayIcon,
228+
calendly: CalendlyIcon,
232229
browser_use: BrowserUseIcon,
233-
stt: STTIcon,
230+
asana: AsanaIcon,
231+
arxiv: ArxivIcon,
232+
apollo: ApolloIcon,
233+
apify: ApifyIcon,
234+
airtable: AirtableIcon,
235+
ahrefs: AhrefsIcon,
234236
}

apps/docs/content/docs/de/connections/data-structure.mdx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,26 +111,24 @@ Verschiedene Blocktypen erzeugen unterschiedliche Ausgabestrukturen. Hier ist, w
111111

112112
```json
113113
{
114-
"content": "Original content passed through",
115114
"conditionResult": true,
116115
"selectedPath": {
117116
"blockId": "2acd9007-27e8-4510-a487-73d3b825e7c1",
118117
"blockType": "agent",
119118
"blockTitle": "Follow-up Agent"
120119
},
121-
"selectedConditionId": "condition-1"
120+
"selectedOption": "condition-1"
122121
}
123122
```
124123

125124
### Ausgabefelder des Condition-Blocks
126125

127-
- **content**: Der ursprüngliche, durchgeleitete Inhalt
128126
- **conditionResult**: Boolesches Ergebnis der Bedingungsauswertung
129127
- **selectedPath**: Informationen über den ausgewählten Pfad
130128
- **blockId**: ID des nächsten Blocks im ausgewählten Pfad
131129
- **blockType**: Typ des nächsten Blocks
132130
- **blockTitle**: Titel des nächsten Blocks
133-
- **selectedConditionId**: ID der ausgewählten Bedingung
131+
- **selectedOption**: ID der ausgewählten Bedingung
134132

135133
</Tab>
136134
<Tab>

0 commit comments

Comments
 (0)