From 6081826853e6eb882c3903d462c1a52c37760545 Mon Sep 17 00:00:00 2001 From: Emir Karabeg Date: Thu, 14 May 2026 21:48:06 -0700 Subject: [PATCH] improvement(platform): integration block + connected credential pages, top-level skills route, sidebar+settings polish, integrations taxonomy rework, core block list --- apps/docs/components/icons.tsx | 53 +- apps/docs/components/ui/icon-mapping.ts | 44 - .../docs/en/{tools => blocks}/knowledge.mdx | 0 apps/docs/content/docs/en/blocks/meta.json | 2 + .../docs/en/{tools => blocks}/table.mdx | 0 apps/docs/content/docs/en/tools/a2a.mdx | 212 --- apps/docs/content/docs/en/tools/ahrefs.mdx | 2 +- apps/docs/content/docs/en/tools/airtable.mdx | 2 +- apps/docs/content/docs/en/tools/apify.mdx | 2 +- apps/docs/content/docs/en/tools/arxiv.mdx | 2 +- apps/docs/content/docs/en/tools/asana.mdx | 2 +- .../docs/content/docs/en/tools/brightdata.mdx | 2 +- .../content/docs/en/tools/browser_use.mdx | 80 -- apps/docs/content/docs/en/tools/clay.mdx | 2 +- .../docs/content/docs/en/tools/cloudwatch.mdx | 48 + .../docs/content/docs/en/tools/confluence.mdx | 2 +- apps/docs/content/docs/en/tools/dspy.mdx | 2 +- .../content/docs/en/tools/elasticsearch.mdx | 18 +- apps/docs/content/docs/en/tools/evernote.mdx | 2 +- apps/docs/content/docs/en/tools/file.mdx | 96 -- apps/docs/content/docs/en/tools/github.mdx | 17 - apps/docs/content/docs/en/tools/gitlab.mdx | 2 +- apps/docs/content/docs/en/tools/gmail.mdx | 2 +- .../docs/content/docs/en/tools/google_ads.mdx | 2 +- .../content/docs/en/tools/google_bigquery.mdx | 2 +- .../content/docs/en/tools/google_books.mdx | 2 +- .../content/docs/en/tools/google_calendar.mdx | 2 +- .../content/docs/en/tools/google_contacts.mdx | 2 +- .../content/docs/en/tools/google_docs.mdx | 2 +- .../content/docs/en/tools/google_drive.mdx | 2 +- .../content/docs/en/tools/google_forms.mdx | 2 +- .../content/docs/en/tools/google_maps.mdx | 2 +- .../content/docs/en/tools/google_meet.mdx | 2 +- .../docs/en/tools/google_pagespeed.mdx | 2 +- .../content/docs/en/tools/google_search.mdx | 2 +- .../content/docs/en/tools/google_sheets.mdx | 2 +- .../content/docs/en/tools/google_slides.mdx | 2 +- .../content/docs/en/tools/google_tasks.mdx | 2 +- .../docs/en/tools/google_translate.mdx | 2 +- apps/docs/content/docs/en/tools/grafana.mdx | 2 +- apps/docs/content/docs/en/tools/greptile.mdx | 2 +- apps/docs/content/docs/en/tools/hunter.mdx | 2 +- .../content/docs/en/tools/image_generator.mdx | 68 - .../docs/content/docs/en/tools/incidentio.mdx | 2 +- apps/docs/content/docs/en/tools/intercom.mdx | 19 +- apps/docs/content/docs/en/tools/jira.mdx | 2 +- .../docs/en/tools/jira_service_management.mdx | 2 +- apps/docs/content/docs/en/tools/mailgun.mdx | 2 +- apps/docs/content/docs/en/tools/memory.mdx | 113 -- apps/docs/content/docs/en/tools/meta.json | 19 - .../docs/en/tools/microsoft_dataverse.mdx | 2 +- .../content/docs/en/tools/microsoft_excel.mdx | 2 +- .../docs/en/tools/microsoft_planner.mdx | 2 +- .../content/docs/en/tools/microsoft_teams.mdx | 2 +- apps/docs/content/docs/en/tools/mongodb.mdx | 17 +- apps/docs/content/docs/en/tools/mysql.mdx | 183 --- apps/docs/content/docs/en/tools/neo4j.mdx | 213 --- apps/docs/content/docs/en/tools/onedrive.mdx | 2 +- .../content/docs/en/tools/onepassword.mdx | 2 +- apps/docs/content/docs/en/tools/outlook.mdx | 2 +- .../content/docs/en/tools/parallel_ai.mdx | 2 +- apps/docs/content/docs/en/tools/pinecone.mdx | 17 - .../docs/content/docs/en/tools/postgresql.mdx | 205 --- apps/docs/content/docs/en/tools/posthog.mdx | 2 +- apps/docs/content/docs/en/tools/pulse.mdx | 2 +- apps/docs/content/docs/en/tools/qdrant.mdx | 21 - apps/docs/content/docs/en/tools/redis.mdx | 16 - apps/docs/content/docs/en/tools/s3.mdx | 17 - .../docs/content/docs/en/tools/salesforce.mdx | 2 +- apps/docs/content/docs/en/tools/search.mdx | 54 - apps/docs/content/docs/en/tools/sentry.mdx | 2 +- apps/docs/content/docs/en/tools/sftp.mdx | 184 --- .../docs/content/docs/en/tools/sharepoint.mdx | 2 +- apps/docs/content/docs/en/tools/smtp.mdx | 73 -- apps/docs/content/docs/en/tools/ssh.mdx | 403 ------ apps/docs/content/docs/en/tools/stt.mdx | 212 --- apps/docs/content/docs/en/tools/supabase.mdx | 24 - apps/docs/content/docs/en/tools/telegram.mdx | 2 +- apps/docs/content/docs/en/tools/translate.mdx | 68 - apps/docs/content/docs/en/tools/tts.mdx | 256 ---- apps/docs/content/docs/en/tools/upstash.mdx | 16 - .../content/docs/en/tools/video_generator.mdx | 192 --- apps/docs/content/docs/en/tools/vision.mdx | 60 - apps/docs/content/docs/en/tools/wealthbox.mdx | 2 +- apps/docs/content/docs/en/tools/webflow.mdx | 2 +- apps/docs/content/docs/en/tools/zendesk.mdx | 2 +- .../content/docs/en/triggers/airtable.mdx | 2 +- .../content/docs/en/triggers/confluence.mdx | 2 +- apps/docs/content/docs/en/triggers/gmail.mdx | 2 +- .../docs/en/triggers/google-calendar.mdx | 2 +- .../content/docs/en/triggers/google-drive.mdx | 2 +- .../docs/en/triggers/google-sheets.mdx | 2 +- .../content/docs/en/triggers/google_forms.mdx | 2 +- .../content/docs/en/triggers/intercom.mdx | 2 +- apps/docs/content/docs/en/triggers/jira.mdx | 2 +- .../docs/en/triggers/microsoft-teams.mdx | 2 +- .../docs/content/docs/en/triggers/outlook.mdx | 2 +- .../content/docs/en/triggers/salesforce.mdx | 2 +- .../content/docs/en/triggers/telegram.mdx | 2 +- .../docs/content/docs/en/triggers/webflow.mdx | 2 +- .../(landing)/blog/[slug]/share-button.tsx | 10 +- .../features/components/features-preview.tsx | 2 +- .../landing-preview-home.tsx | 332 +++-- .../landing-preview-logs.tsx | 17 +- .../landing-preview-panel.tsx | 310 +++-- .../landing-preview-sidebar.tsx | 4 +- .../[slug]/components/integration-faq.tsx | 2 +- .../integrations/(shell)/[slug]/page.tsx | 16 +- .../(landing)/integrations/(shell)/page.tsx | 14 +- .../components/integration-card.tsx | 2 +- .../components/integration-grid.tsx | 42 +- .../integrations/data/icon-mapping.ts | 41 - .../app/(landing)/integrations/data/index.ts | 38 + .../integrations/data/integrations.json | 1137 ++++------------ .../integrations/data/templates.ts} | 0 .../app/(landing)/integrations/data/types.ts | 6 +- apps/sim/app/_styles/globals.css | 6 +- apps/sim/app/chat/components/input/input.tsx | 2 +- .../message/components/file-download.tsx | 20 +- .../app/chat/components/message/message.tsx | 99 +- apps/sim/app/playground/page.tsx | 2 - apps/sim/app/sitemap.ts | 4 +- apps/sim/app/templates/[id]/template.tsx | 46 +- .../components/conversation-list-item.tsx | 30 +- .../[workspaceId]/components/index.ts | 1 + .../message-actions/message-actions.tsx | 12 +- .../components/product-tour/index.ts | 2 - .../components/product-tour/nav-tour-steps.ts | 76 -- .../components/product-tour/product-tour.tsx | 60 - .../components/product-tour/tour-shared.tsx | 163 --- .../components/product-tour/use-tour.ts | 236 ---- .../product-tour/workflow-tour-steps.ts | 56 - .../components/product-tour/workflow-tour.tsx | 59 - .../components/resource/resource.tsx | 6 +- .../components/task-status-dot.tsx | 61 + .../components/action-bar/action-bar.tsx | 4 +- .../file-row-context-menu.tsx | 4 +- .../file-viewer/editor-context-menu.tsx | 6 +- .../workspace/[workspaceId]/files/files.tsx | 5 +- .../components/chat-context-kind-registry.tsx | 4 +- .../components/credits-chip/credits-chip.tsx | 34 + .../home/components/credits-chip/index.ts | 1 + .../[workspaceId]/home/components/index.ts | 9 +- .../components/agent-group/agent-group.tsx | 21 +- .../components/agent-group/tool-call-item.tsx | 2 +- .../components/special-tags/special-tags.tsx | 36 +- .../thinking-block/thinking-block.tsx | 4 +- .../message-content/message-content.tsx | 18 +- .../mothership-chat-skeleton.tsx | 2 +- .../mothership-chat/mothership-chat.tsx | 4 +- .../resource-content/resource-content.tsx | 7 +- .../resource-registry/resource-registry.tsx | 8 +- .../components/suggested-actions/index.ts | 1 + .../suggested-actions/suggested-actions.tsx | 297 +++++ .../home/components/template-prompts/index.ts | 3 - .../template-prompts/template-prompts.tsx | 392 ------ .../user-input/components/mic-button.tsx | 4 +- .../components/plus-menu-dropdown.tsx | 12 +- .../user-input/components/send-button.tsx | 7 +- .../home/components/user-input/user-input.tsx | 34 +- .../app/workspace/[workspaceId]/home/home.tsx | 46 +- .../[block]/integration-block-detail.tsx | 138 ++ .../integrations/[block]/page.tsx | 28 + .../components/integration-tabs-header.tsx | 46 + .../components/integrations-showcase.tsx | 119 ++ .../components/showcase-with-explore.tsx | 39 + .../connected-credential-detail.tsx | 693 ++++++++++ .../connected/[credentialId]/page.tsx | 15 + .../fixtures/sample-credentials.ts | 104 ++ .../integrations.tsx} | 1161 +++++++++-------- .../[workspaceId]/integrations/layout.tsx | 3 + .../[workspaceId]/integrations/page.tsx | 8 + .../chunk-context-menu/chunk-context-menu.tsx | 4 +- .../add-connector-modal.tsx | 2 +- .../knowledge-base-context-menu.tsx | 4 +- .../app/workspace/[workspaceId]/layout.tsx | 2 - .../execution-snapshot/execution-snapshot.tsx | 4 +- .../file-download/file-download.tsx | 34 +- .../components/trace-view/trace-view.tsx | 4 +- .../components/log-details/log-details.tsx | 7 +- .../log-row-context-menu.tsx | 4 +- .../app/workspace/[workspaceId]/logs/logs.tsx | 4 +- .../settings/[section]/loading.tsx | 15 - .../[workspaceId]/settings/[section]/page.tsx | 2 - .../settings/[section]/settings.tsx | 212 +-- .../components/admin/admin-skeleton.tsx | 72 - .../settings/components/admin/admin.tsx | 9 - .../components/api-keys/api-key-skeleton.tsx | 56 - .../settings/components/api-keys/api-keys.tsx | 41 +- .../components/byok/byok-skeleton.tsx | 45 - .../settings/components/byok/byok.tsx | 11 +- .../components/copilot/copilot-skeleton.tsx | 14 - .../settings/components/copilot/copilot.tsx | 11 +- .../credential-sets-skeleton.tsx | 41 - .../credential-sets/credential-sets.tsx | 52 +- .../custom-tools/custom-tool-skeleton.tsx | 38 - .../components/custom-tools/custom-tools.tsx | 11 +- .../components/general/general-skeleton.tsx | 63 - .../settings/components/general/general.tsx | 3 +- .../components/inbox/inbox-settings-tab.tsx | 7 +- .../components/inbox/inbox-skeleton.tsx | 84 -- .../components/inbox/inbox-task-list.tsx | 11 +- .../settings/components/inbox/inbox.tsx | 3 +- .../integrations/credential-skeleton.tsx | 22 - .../integrations/integrations-skeleton.tsx | 23 - .../components/integrations/integrations.tsx | 9 - .../components/mcp/components/index.ts | 1 - .../mcp-server-skeleton.tsx | 23 - .../settings/components/mcp/mcp-skeleton.tsx | 21 - .../settings/components/mcp/mcp.tsx | 12 +- .../components/mothership/mothership.tsx | 44 +- .../deleted-item-skeleton.tsx | 17 - .../recently-deleted-skeleton.tsx | 33 - .../recently-deleted/recently-deleted.tsx | 11 +- .../components/secrets/secrets-manager.tsx | 59 +- .../components/secrets/secrets-skeleton.tsx | 49 - .../components/skills/skill-skeleton.tsx | 14 - .../settings/components/skills/skills.tsx | 200 --- .../components/subscription/subscription.tsx | 67 +- .../team-seats-overview.tsx | 27 +- .../team-management/team-management.tsx | 64 +- .../workflow-mcp-servers-skeleton.tsx | 6 - .../workflow-mcp-servers.tsx | 21 +- .../[workspaceId]/settings/navigation.ts | 7 +- .../skills/components/skill-import.tsx | 5 +- .../skills/components/skill-modal.tsx | 2 +- .../skills/components/utils.test.ts | 0 .../skills/components/utils.ts | 0 .../skills/fixtures/sample-skills.ts | 57 + .../workspace/[workspaceId]/skills/layout.tsx | 3 + .../workspace/[workspaceId]/skills/page.tsx | 8 + .../workspace/[workspaceId]/skills/skills.tsx | 238 ++++ .../[workspaceId]/tables/[tableId]/table.tsx | 4 +- .../table-context-menu/table-context-menu.tsx | 7 +- .../components/action-bar/action-bar.tsx | 41 +- .../w/[workflowId]/components/chat/chat.tsx | 43 +- .../components/command-list/command-list.tsx | 1 - .../sub-block/components/code/code.tsx | 9 +- .../components/skill-input/skill-input.tsx | 29 +- .../panel/components/toolbar/toolbar.tsx | 4 +- .../w/[workflowId]/components/panel/panel.tsx | 37 +- .../components/structured-output.tsx | 2 +- .../components/output-panel/output-panel.tsx | 46 +- .../components/terminal/terminal.tsx | 108 +- .../[workflowId]/components/terminal/utils.ts | 2 +- .../workflow-controls/workflow-controls.tsx | 3 +- .../[workspaceId]/w/[workflowId]/layout.tsx | 2 - .../[workspaceId]/w/[workflowId]/workflow.tsx | 6 +- .../collapsed-sidebar-menu.tsx | 251 ++-- .../nav-item-context-menu.tsx | 4 +- .../search-modal/components/command-items.tsx | 34 +- .../components/search-modal/search-modal.tsx | 118 +- .../sidebar/components/search-modal/utils.ts | 6 +- .../settings-sidebar/settings-sidebar.tsx | 267 ++-- .../usage-indicator/usage-indicator.tsx | 16 +- .../components/context-menu/context-menu.tsx | 50 +- .../components/folder-item/folder-item.tsx | 8 +- .../workflow-item/workflow-item.tsx | 8 +- .../workflow-list/workflow-list.tsx | 4 +- .../workspace-header/workspace-header.tsx | 805 +++++------- .../w/components/sidebar/constants.ts | 24 + .../sidebar/hooks/use-workspace-management.ts | 2 +- .../w/components/sidebar/sidebar.tsx | 605 ++++----- .../w/components/sidebar/utils.ts | 13 +- apps/sim/blocks/blocks/a2a.ts | 4 +- apps/sim/blocks/blocks/ahrefs.ts | 2 +- apps/sim/blocks/blocks/airtable.ts | 2 +- apps/sim/blocks/blocks/api.ts | 2 +- apps/sim/blocks/blocks/apify.ts | 2 +- apps/sim/blocks/blocks/arxiv.ts | 2 +- apps/sim/blocks/blocks/asana.ts | 2 +- apps/sim/blocks/blocks/attio.ts | 2 +- apps/sim/blocks/blocks/box.ts | 2 +- apps/sim/blocks/blocks/brightdata.ts | 2 +- apps/sim/blocks/blocks/browser_use.ts | 2 +- apps/sim/blocks/blocks/clay.ts | 2 +- apps/sim/blocks/blocks/cloudflare.ts | 2 +- apps/sim/blocks/blocks/cloudformation.ts | 2 +- apps/sim/blocks/blocks/cloudwatch.ts | 2 +- apps/sim/blocks/blocks/confluence.ts | 2 +- apps/sim/blocks/blocks/cursor.ts | 2 +- apps/sim/blocks/blocks/dagster.ts | 2 +- apps/sim/blocks/blocks/datadog.ts | 2 +- apps/sim/blocks/blocks/devin.ts | 2 +- apps/sim/blocks/blocks/dropbox.ts | 2 +- apps/sim/blocks/blocks/dspy.ts | 2 +- apps/sim/blocks/blocks/dub.ts | 2 +- apps/sim/blocks/blocks/elasticsearch.ts | 2 +- apps/sim/blocks/blocks/evaluator.ts | 2 +- apps/sim/blocks/blocks/evernote.ts | 2 +- apps/sim/blocks/blocks/file.ts | 8 +- apps/sim/blocks/blocks/gamma.ts | 2 +- apps/sim/blocks/blocks/github.ts | 4 +- apps/sim/blocks/blocks/gitlab.ts | 4 +- apps/sim/blocks/blocks/gmail.ts | 2 +- apps/sim/blocks/blocks/google.ts | 2 +- apps/sim/blocks/blocks/google_ads.ts | 2 +- apps/sim/blocks/blocks/google_bigquery.ts | 2 +- apps/sim/blocks/blocks/google_books.ts | 2 +- apps/sim/blocks/blocks/google_calendar.ts | 2 +- apps/sim/blocks/blocks/google_contacts.ts | 2 +- apps/sim/blocks/blocks/google_docs.ts | 2 +- apps/sim/blocks/blocks/google_drive.ts | 4 +- apps/sim/blocks/blocks/google_forms.ts | 2 +- apps/sim/blocks/blocks/google_maps.ts | 4 +- apps/sim/blocks/blocks/google_meet.ts | 2 +- apps/sim/blocks/blocks/google_pagespeed.ts | 2 +- apps/sim/blocks/blocks/google_sheets.ts | 4 +- apps/sim/blocks/blocks/google_slides.ts | 2 +- apps/sim/blocks/blocks/google_tasks.ts | 2 +- apps/sim/blocks/blocks/google_translate.ts | 2 +- apps/sim/blocks/blocks/grafana.ts | 4 +- apps/sim/blocks/blocks/greptile.ts | 4 +- apps/sim/blocks/blocks/hubspot.ts | 2 +- apps/sim/blocks/blocks/hunter.ts | 2 +- apps/sim/blocks/blocks/iam.ts | 2 +- apps/sim/blocks/blocks/image_generator.ts | 2 +- apps/sim/blocks/blocks/incidentio.ts | 4 +- apps/sim/blocks/blocks/intercom.ts | 6 +- apps/sim/blocks/blocks/jira.ts | 2 +- .../blocks/blocks/jira_service_management.ts | 4 +- apps/sim/blocks/blocks/langsmith.ts | 2 +- apps/sim/blocks/blocks/launchdarkly.ts | 2 +- apps/sim/blocks/blocks/mailgun.ts | 2 +- apps/sim/blocks/blocks/mcp.ts | 4 +- apps/sim/blocks/blocks/microsoft_dataverse.ts | 2 +- apps/sim/blocks/blocks/microsoft_excel.ts | 4 +- apps/sim/blocks/blocks/microsoft_planner.ts | 2 +- apps/sim/blocks/blocks/microsoft_teams.ts | 2 +- apps/sim/blocks/blocks/mongodb.ts | 2 +- apps/sim/blocks/blocks/mysql.ts | 4 +- apps/sim/blocks/blocks/neo4j.ts | 2 +- apps/sim/blocks/blocks/onedrive.ts | 4 +- apps/sim/blocks/blocks/onepassword.ts | 2 +- apps/sim/blocks/blocks/outlook.ts | 2 +- apps/sim/blocks/blocks/pagerduty.ts | 2 +- apps/sim/blocks/blocks/parallel.ts | 2 +- apps/sim/blocks/blocks/pipedrive.ts | 2 +- apps/sim/blocks/blocks/postgresql.ts | 2 +- apps/sim/blocks/blocks/posthog.ts | 2 +- apps/sim/blocks/blocks/pulse.ts | 2 +- apps/sim/blocks/blocks/quiver.ts | 2 +- apps/sim/blocks/blocks/revenuecat.ts | 2 +- apps/sim/blocks/blocks/rootly.ts | 2 +- apps/sim/blocks/blocks/s3.ts | 2 +- apps/sim/blocks/blocks/salesforce.ts | 4 +- apps/sim/blocks/blocks/sap_concur.ts | 2 +- apps/sim/blocks/blocks/sap_s4hana.ts | 2 +- apps/sim/blocks/blocks/search.ts | 2 +- apps/sim/blocks/blocks/secrets_manager.ts | 2 +- apps/sim/blocks/blocks/sentry.ts | 4 +- apps/sim/blocks/blocks/servicenow.ts | 2 +- apps/sim/blocks/blocks/sftp.ts | 4 +- apps/sim/blocks/blocks/sharepoint.ts | 2 +- apps/sim/blocks/blocks/shopify.ts | 2 +- apps/sim/blocks/blocks/smtp.ts | 2 +- apps/sim/blocks/blocks/sqs.ts | 2 +- apps/sim/blocks/blocks/ssh.ts | 4 +- apps/sim/blocks/blocks/stripe.ts | 2 +- apps/sim/blocks/blocks/stt.ts | 2 +- apps/sim/blocks/blocks/telegram.ts | 2 +- apps/sim/blocks/blocks/translate.ts | 2 +- apps/sim/blocks/blocks/tts.ts | 2 +- apps/sim/blocks/blocks/vercel.ts | 2 +- apps/sim/blocks/blocks/video_generator.ts | 2 +- apps/sim/blocks/blocks/vision.ts | 2 +- apps/sim/blocks/blocks/wealthbox.ts | 4 +- apps/sim/blocks/blocks/webflow.ts | 4 +- apps/sim/blocks/blocks/wordpress.ts | 2 +- apps/sim/blocks/blocks/zendesk.ts | 4 +- apps/sim/blocks/core.ts | 51 + apps/sim/blocks/registry.ts | 4 +- apps/sim/blocks/types.ts | 41 +- .../emcn/components/button/button.tsx | 1 + .../emcn/components/code/copy-code-button.tsx | 4 +- .../emcn/components/combobox/combobox.tsx | 36 +- .../dropdown-menu/dropdown-menu.tsx | 173 ++- apps/sim/components/emcn/components/index.ts | 2 +- .../emcn/components/popover/popover.tsx | 10 +- .../emcn/components/s-modal/s-modal.tsx | 2 +- .../secret-reveal/secret-reveal.tsx | 10 +- .../emcn/components/tooltip/tooltip.tsx | 2 +- .../components/tour-tooltip/tour-tooltip.tsx | 228 ---- .../emcn/icons/animate/copy.module.css | 74 -- apps/sim/components/emcn/icons/arrow-down.tsx | 2 +- apps/sim/components/emcn/icons/arrow-left.tsx | 2 +- .../sim/components/emcn/icons/arrow-right.tsx | 2 +- .../components/emcn/icons/arrow-up-down.tsx | 2 +- apps/sim/components/emcn/icons/arrow-up.tsx | 2 +- apps/sim/components/emcn/icons/asterisk.tsx | 2 +- apps/sim/components/emcn/icons/bell.tsx | 2 +- apps/sim/components/emcn/icons/book-open.tsx | 2 +- apps/sim/components/emcn/icons/bug.tsx | 2 +- apps/sim/components/emcn/icons/calendar.tsx | 2 +- apps/sim/components/emcn/icons/check.tsx | 2 +- .../components/emcn/icons/chevron-down.tsx | 2 +- .../components/emcn/icons/clipboard-list.tsx | 2 +- apps/sim/components/emcn/icons/clock.tsx | 26 + apps/sim/components/emcn/icons/columns2.tsx | 2 +- apps/sim/components/emcn/icons/columns3.tsx | 2 +- apps/sim/components/emcn/icons/copy.tsx | 52 - apps/sim/components/emcn/icons/credit.tsx | 26 + apps/sim/components/emcn/icons/cursor.tsx | 2 +- apps/sim/components/emcn/icons/database-x.tsx | 2 +- apps/sim/components/emcn/icons/database.tsx | 2 +- apps/sim/components/emcn/icons/download.tsx | 2 +- apps/sim/components/emcn/icons/duplicate.tsx | 18 +- apps/sim/components/emcn/icons/expand.tsx | 8 +- apps/sim/components/emcn/icons/eye.tsx | 22 +- apps/sim/components/emcn/icons/file-x.tsx | 2 +- apps/sim/components/emcn/icons/file.tsx | 2 +- apps/sim/components/emcn/icons/files.tsx | 27 + .../sim/components/emcn/icons/fingerprint.tsx | 2 +- .../sim/components/emcn/icons/folder-plus.tsx | 6 +- apps/sim/components/emcn/icons/hammer.tsx | 2 +- apps/sim/components/emcn/icons/hand.tsx | 8 +- .../sim/components/emcn/icons/help-circle.tsx | 2 +- apps/sim/components/emcn/icons/hex-simple.tsx | 4 +- apps/sim/components/emcn/icons/home.tsx | 2 +- apps/sim/components/emcn/icons/image-up.tsx | 29 + apps/sim/components/emcn/icons/index.ts | 8 +- .../sim/components/emcn/icons/integration.tsx | 9 +- apps/sim/components/emcn/icons/key-square.tsx | 2 +- apps/sim/components/emcn/icons/key.tsx | 2 +- apps/sim/components/emcn/icons/layout.tsx | 2 +- apps/sim/components/emcn/icons/library.tsx | 2 +- apps/sim/components/emcn/icons/link.tsx | 2 +- .../sim/components/emcn/icons/list-filter.tsx | 2 +- apps/sim/components/emcn/icons/loader.tsx | 2 +- apps/sim/components/emcn/icons/lock.tsx | 2 +- apps/sim/components/emcn/icons/log-in.tsx | 2 +- apps/sim/components/emcn/icons/log-out.tsx | 2 +- apps/sim/components/emcn/icons/mail.tsx | 2 +- apps/sim/components/emcn/icons/mic.tsx | 27 + apps/sim/components/emcn/icons/no-wrap.tsx | 2 +- apps/sim/components/emcn/icons/palette.tsx | 2 +- apps/sim/components/emcn/icons/panel-left.tsx | 2 +- apps/sim/components/emcn/icons/paperclip.tsx | 25 + apps/sim/components/emcn/icons/pause.tsx | 2 +- apps/sim/components/emcn/icons/pencil.tsx | 6 +- apps/sim/components/emcn/icons/play.tsx | 2 +- apps/sim/components/emcn/icons/plus.tsx | 2 +- apps/sim/components/emcn/icons/redo.tsx | 4 +- apps/sim/components/emcn/icons/refresh-cw.tsx | 2 +- apps/sim/components/emcn/icons/rocket.tsx | 2 +- apps/sim/components/emcn/icons/rows3.tsx | 2 +- apps/sim/components/emcn/icons/search.tsx | 2 +- apps/sim/components/emcn/icons/send.tsx | 2 +- apps/sim/components/emcn/icons/server.tsx | 2 +- apps/sim/components/emcn/icons/settings.tsx | 2 +- .../components/emcn/icons/shield-check.tsx | 2 +- .../emcn/icons/square-arrow-up-right.tsx | 2 +- apps/sim/components/emcn/icons/table-x.tsx | 2 +- apps/sim/components/emcn/icons/table.tsx | 2 +- apps/sim/components/emcn/icons/tag.tsx | 2 +- apps/sim/components/emcn/icons/task.tsx | 26 + .../sim/components/emcn/icons/thumbs-down.tsx | 2 +- apps/sim/components/emcn/icons/thumbs-up.tsx | 2 +- .../components/emcn/icons/trash-outline.tsx | 2 +- .../components/emcn/icons/type-boolean.tsx | 2 +- apps/sim/components/emcn/icons/type-json.tsx | 2 +- .../sim/components/emcn/icons/type-number.tsx | 2 +- apps/sim/components/emcn/icons/type-text.tsx | 2 +- apps/sim/components/emcn/icons/undo.tsx | 4 +- apps/sim/components/emcn/icons/unlock.tsx | 2 +- apps/sim/components/emcn/icons/upload.tsx | 8 +- apps/sim/components/emcn/icons/user-plus.tsx | 14 +- apps/sim/components/emcn/icons/user.tsx | 2 +- apps/sim/components/emcn/icons/users.tsx | 2 +- apps/sim/components/emcn/icons/workflow-x.tsx | 2 +- apps/sim/components/emcn/icons/wrap.tsx | 2 +- apps/sim/components/emcn/icons/wrench.tsx | 2 +- apps/sim/components/emcn/icons/x.tsx | 2 +- apps/sim/components/emcn/icons/zoom-in.tsx | 8 +- apps/sim/components/emcn/icons/zoom-out.tsx | 6 +- apps/sim/components/icons.tsx | 30 +- .../components/access-control.tsx | 48 +- .../components/audit-logs-skeleton.tsx | 27 - .../ee/audit-logs/components/audit-logs.tsx | 19 +- apps/sim/ee/sso/components/sso-settings.tsx | 23 +- apps/sim/hooks/queries/tasks.ts | 37 +- apps/sim/hooks/queries/workspace.ts | 2 +- apps/sim/lib/posthog/events.ts | 13 - apps/sim/lib/workflows/colors.ts | 75 +- apps/sim/package.json | 1 - apps/sim/stores/modals/search/store.ts | 2 +- apps/sim/tailwind.config.ts | 12 +- bun.lock | 35 +- scripts/generate-docs.ts | 368 ++---- 489 files changed, 5761 insertions(+), 10197 deletions(-) rename apps/docs/content/docs/en/{tools => blocks}/knowledge.mdx (100%) rename apps/docs/content/docs/en/{tools => blocks}/table.mdx (100%) delete mode 100644 apps/docs/content/docs/en/tools/a2a.mdx delete mode 100644 apps/docs/content/docs/en/tools/browser_use.mdx delete mode 100644 apps/docs/content/docs/en/tools/file.mdx delete mode 100644 apps/docs/content/docs/en/tools/image_generator.mdx delete mode 100644 apps/docs/content/docs/en/tools/memory.mdx delete mode 100644 apps/docs/content/docs/en/tools/mysql.mdx delete mode 100644 apps/docs/content/docs/en/tools/neo4j.mdx delete mode 100644 apps/docs/content/docs/en/tools/postgresql.mdx delete mode 100644 apps/docs/content/docs/en/tools/search.mdx delete mode 100644 apps/docs/content/docs/en/tools/sftp.mdx delete mode 100644 apps/docs/content/docs/en/tools/smtp.mdx delete mode 100644 apps/docs/content/docs/en/tools/ssh.mdx delete mode 100644 apps/docs/content/docs/en/tools/stt.mdx delete mode 100644 apps/docs/content/docs/en/tools/translate.mdx delete mode 100644 apps/docs/content/docs/en/tools/tts.mdx delete mode 100644 apps/docs/content/docs/en/tools/video_generator.mdx delete mode 100644 apps/docs/content/docs/en/tools/vision.mdx create mode 100644 apps/sim/app/(landing)/integrations/data/index.ts rename apps/sim/app/{workspace/[workspaceId]/home/components/template-prompts/consts.ts => (landing)/integrations/data/templates.ts} (100%) delete mode 100644 apps/sim/app/workspace/[workspaceId]/components/product-tour/index.ts delete mode 100644 apps/sim/app/workspace/[workspaceId]/components/product-tour/nav-tour-steps.ts delete mode 100644 apps/sim/app/workspace/[workspaceId]/components/product-tour/product-tour.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/components/product-tour/tour-shared.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/components/product-tour/use-tour.ts delete mode 100644 apps/sim/app/workspace/[workspaceId]/components/product-tour/workflow-tour-steps.ts delete mode 100644 apps/sim/app/workspace/[workspaceId]/components/product-tour/workflow-tour.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/components/task-status-dot.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/home/components/credits-chip/credits-chip.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/home/components/credits-chip/index.ts create mode 100644 apps/sim/app/workspace/[workspaceId]/home/components/suggested-actions/index.ts create mode 100644 apps/sim/app/workspace/[workspaceId]/home/components/suggested-actions/suggested-actions.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/home/components/template-prompts/index.ts delete mode 100644 apps/sim/app/workspace/[workspaceId]/home/components/template-prompts/template-prompts.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/integrations/[block]/integration-block-detail.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/integrations/[block]/page.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/integrations/components/integration-tabs-header.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/integrations/components/integrations-showcase.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/integrations/components/showcase-with-explore.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/integrations/connected/[credentialId]/connected-credential-detail.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/integrations/connected/[credentialId]/page.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/integrations/fixtures/sample-credentials.ts rename apps/sim/app/workspace/[workspaceId]/{settings/components/integrations/integrations-manager.tsx => integrations/integrations.tsx} (54%) create mode 100644 apps/sim/app/workspace/[workspaceId]/integrations/layout.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/integrations/page.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/[section]/loading.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/admin/admin-skeleton.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/api-keys/api-key-skeleton.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/byok/byok-skeleton.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/copilot/copilot-skeleton.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/credential-sets/credential-sets-skeleton.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/custom-tools/custom-tool-skeleton.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/general/general-skeleton.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/inbox/inbox-skeleton.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/integrations/credential-skeleton.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/integrations/integrations-skeleton.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/integrations/integrations.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/mcp/components/mcp-server-skeleton/mcp-server-skeleton.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/mcp/mcp-skeleton.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/recently-deleted/deleted-item-skeleton.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/recently-deleted/recently-deleted-skeleton.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/secrets/secrets-skeleton.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/skills/skill-skeleton.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/skills/skills.tsx delete mode 100644 apps/sim/app/workspace/[workspaceId]/settings/components/workflow-mcp-servers/workflow-mcp-servers-skeleton.tsx rename apps/sim/app/workspace/[workspaceId]/{settings/components => }/skills/components/skill-import.tsx (98%) rename apps/sim/app/workspace/[workspaceId]/{settings/components => }/skills/components/skill-modal.tsx (98%) rename apps/sim/app/workspace/[workspaceId]/{settings/components => }/skills/components/utils.test.ts (100%) rename apps/sim/app/workspace/[workspaceId]/{settings/components => }/skills/components/utils.ts (100%) create mode 100644 apps/sim/app/workspace/[workspaceId]/skills/fixtures/sample-skills.ts create mode 100644 apps/sim/app/workspace/[workspaceId]/skills/layout.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/skills/page.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/skills/skills.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/w/components/sidebar/constants.ts create mode 100644 apps/sim/blocks/core.ts delete mode 100644 apps/sim/components/emcn/components/tour-tooltip/tour-tooltip.tsx delete mode 100644 apps/sim/components/emcn/icons/animate/copy.module.css create mode 100644 apps/sim/components/emcn/icons/clock.tsx delete mode 100644 apps/sim/components/emcn/icons/copy.tsx create mode 100644 apps/sim/components/emcn/icons/credit.tsx create mode 100644 apps/sim/components/emcn/icons/files.tsx create mode 100644 apps/sim/components/emcn/icons/image-up.tsx create mode 100644 apps/sim/components/emcn/icons/mic.tsx create mode 100644 apps/sim/components/emcn/icons/paperclip.tsx create mode 100644 apps/sim/components/emcn/icons/task.tsx delete mode 100644 apps/sim/ee/audit-logs/components/audit-logs-skeleton.tsx diff --git a/apps/docs/components/icons.tsx b/apps/docs/components/icons.tsx index 9be42a362eb..dcc5b4dfbec 100644 --- a/apps/docs/components/icons.tsx +++ b/apps/docs/components/icons.tsx @@ -1909,9 +1909,7 @@ export function ConfluenceIcon(props: SVGProps) { return ( Share - + {copied ? 'Copied!' : 'Copy link'} - + Share on X - + Share on LinkedIn diff --git a/apps/sim/app/(landing)/components/features/components/features-preview.tsx b/apps/sim/app/(landing)/components/features/components/features-preview.tsx index 2eab3ef253a..c3fae6f7baf 100644 --- a/apps/sim/app/(landing)/components/features/components/features-preview.tsx +++ b/apps/sim/app/(landing)/components/features/components/features-preview.tsx @@ -762,7 +762,7 @@ function MockFullLogs({ revealedRows }: { revealedRows: number }) { {['Workflow', 'Date', 'Status', 'Cost', 'Trigger', 'Duration'].map((col) => ( - {col} + {col} ))} diff --git a/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-home/landing-preview-home.tsx b/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-home/landing-preview-home.tsx index b6b8f7e1719..924b4b37c64 100644 --- a/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-home/landing-preview-home.tsx +++ b/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-home/landing-preview-home.tsx @@ -1,11 +1,10 @@ 'use client' import { memo, useCallback, useEffect, useRef, useState } from 'react' -import { AnimatePresence, domAnimation, LazyMotion, m } from 'framer-motion' +import { AnimatePresence, motion } from 'framer-motion' import { ArrowUp, Table } from 'lucide-react' import { Blimp, Checkbox, ChevronDown } from '@/components/emcn' import { TypeBoolean, TypeNumber, TypeText } from '@/components/emcn/icons' -import { handleKeyboardActivation } from '@/lib/core/utils/keyboard' import { captureClientEvent } from '@/lib/posthog/client' import { useLandingSubmit } from '@/app/(landing)/components/landing-preview/components/landing-preview-panel/landing-preview-panel' import { EASE_OUT } from '@/app/(landing)/components/landing-preview/components/landing-preview-workflow/workflow-data' @@ -178,183 +177,176 @@ export const LandingPreviewHome = memo(function LandingPreviewHome({ const showToolCall = chatPhase === 'tool-call' || isResponding return ( - -
- {/* Chat area — matches mothership-view layout */} -
-
- {/* User message — rounded bubble, right-aligned */} - -
-

- {AUTO_PROMPT} -

-
-
- - {/* Assistant — no bubble, full-width prose */} - - {showToolCall && ( - + {/* Chat area — matches mothership-view layout */} +
+
+ {/* User message — rounded bubble, right-aligned */} + +
+

+ {AUTO_PROMPT} +

+
+
+ + {/* Assistant — no bubble, full-width prose */} + + {showToolCall && ( + + {/* Agent group header — icon + label + chevron */} + - - {/* Tool call items — collapsible */} -
+ +
+ + Mothership + + -
-
- - } - title='Read Customer Leads' - /> -
+ /> + + + {/* Tool call items — collapsible */} +
+
+
+ + } + title='Read Customer Leads' + />
- - {/* Response prose — full width, no card */} - {isResponding && ( - - - - )} - - )} - -
+
+ + {/* Response prose — full width, no card */} + {isResponding && ( + + + + )} +
+ )} +
- - {/* Resource panel — slides in from right */} - - {showResourcePanel && ( - - - - )} -
- + + {/* Resource panel — slides in from right */} + + {showResourcePanel && ( + + + + )} + +
) } return ( - -
- + + What should we get done? + + + +
textareaRef.current?.focus()} > - What should we get done? - - - -
textareaRef.current?.focus()} - onKeyDown={(event) => { - if (event.target !== event.currentTarget) return - handleKeyboardActivation(event, () => textareaRef.current?.focus()) +