mirror of
https://github.com/simstudioai/sim.git
synced 2026-04-06 03:00:16 -04:00
* feat(okta): add complete Okta identity management integration Add 18 Okta Management API tools covering user lifecycle (list, get, create, update, activate, deactivate, suspend, unsuspend, reset password, delete) and group management (list, get, create, update, delete, add/remove members, list members). Includes block with conditional UI, icon, registry entries, and generated docs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs(okta): add manual description section to generated docs Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(okta): address PR review — SSRF prevention, safe response parsing, consistent sendEmail - Add validateOktaDomain() to prevent SSRF via user-supplied domain param - Fix 9 tools to check response.ok before calling response.json() - Make sendEmail query param explicit in deactivate_user and delete_user Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(okta): only forward boolean switches when explicitly true Switch subBlocks default to OFF (false), which was being forwarded to tools and overriding their default-true behavior for sendEmail and activate params. Now only forward these when explicitly toggled ON. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(okta): use nullish coalescing for boolean switch defaults Block now forwards sendEmail/activate values as-is (including false). Tools use ?? operator so: explicit true/false from switches are respected, undefined (programmatic calls) still defaults to true. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(okta): prevent silent data loss in update operations - update_group: always include description in PUT body (defaults to '') since PUT replaces the full profile object - update_user: use !== undefined checks so empty strings can clear fields via Okta's POST partial update - block: allow empty strings through passthrough loop and use !== undefined for groupDescription mapping Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * refactor(okta): move validateOktaDomain to centralized input-validation - Moved validateOktaDomain from tools/okta/types.ts to lib/core/security/input-validation.ts alongside other validation utils - Added .trim() to handle copy-paste whitespace in domain input - Updated all 18 tool files to import from the new location Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
352 lines
7.3 KiB
TypeScript
352 lines
7.3 KiB
TypeScript
// Auto-generated file - do not edit manually
|
|
// Generated by scripts/generate-docs.ts
|
|
// Maps block types to their icon component references
|
|
|
|
import type { ComponentType, SVGProps } from 'react'
|
|
import {
|
|
A2AIcon,
|
|
AhrefsIcon,
|
|
AirtableIcon,
|
|
AirweaveIcon,
|
|
AlgoliaIcon,
|
|
AmplitudeIcon,
|
|
ApifyIcon,
|
|
ApolloIcon,
|
|
ArxivIcon,
|
|
AsanaIcon,
|
|
AshbyIcon,
|
|
AttioIcon,
|
|
AzureIcon,
|
|
BoxCompanyIcon,
|
|
BrainIcon,
|
|
BrandfetchIcon,
|
|
BrowserUseIcon,
|
|
CalComIcon,
|
|
CalendlyIcon,
|
|
CirclebackIcon,
|
|
ClayIcon,
|
|
ClerkIcon,
|
|
CloudflareIcon,
|
|
ConfluenceIcon,
|
|
CursorIcon,
|
|
DatabricksIcon,
|
|
DatadogIcon,
|
|
DevinIcon,
|
|
DiscordIcon,
|
|
DocumentIcon,
|
|
DocuSignIcon,
|
|
DropboxIcon,
|
|
DsPyIcon,
|
|
DubIcon,
|
|
DuckDuckGoIcon,
|
|
DynamoDBIcon,
|
|
ElasticsearchIcon,
|
|
ElevenLabsIcon,
|
|
EnrichSoIcon,
|
|
EvernoteIcon,
|
|
ExaAIIcon,
|
|
EyeIcon,
|
|
FathomIcon,
|
|
FirecrawlIcon,
|
|
FirefliesIcon,
|
|
GammaIcon,
|
|
GithubIcon,
|
|
GitLabIcon,
|
|
GmailIcon,
|
|
GongIcon,
|
|
GoogleAdsIcon,
|
|
GoogleBigQueryIcon,
|
|
GoogleBooksIcon,
|
|
GoogleCalendarIcon,
|
|
GoogleContactsIcon,
|
|
GoogleDocsIcon,
|
|
GoogleDriveIcon,
|
|
GoogleFormsIcon,
|
|
GoogleGroupsIcon,
|
|
GoogleIcon,
|
|
GoogleMapsIcon,
|
|
GoogleMeetIcon,
|
|
GooglePagespeedIcon,
|
|
GoogleSheetsIcon,
|
|
GoogleSlidesIcon,
|
|
GoogleTasksIcon,
|
|
GoogleTranslateIcon,
|
|
GoogleVaultIcon,
|
|
GrafanaIcon,
|
|
GrainIcon,
|
|
GreenhouseIcon,
|
|
GreptileIcon,
|
|
HexIcon,
|
|
HubspotIcon,
|
|
HuggingFaceIcon,
|
|
HunterIOIcon,
|
|
ImageIcon,
|
|
IncidentioIcon,
|
|
InfisicalIcon,
|
|
IntercomIcon,
|
|
JinaAIIcon,
|
|
JiraIcon,
|
|
JiraServiceManagementIcon,
|
|
KalshiIcon,
|
|
LangsmithIcon,
|
|
LemlistIcon,
|
|
LinearIcon,
|
|
LinkedInIcon,
|
|
LinkupIcon,
|
|
LoopsIcon,
|
|
LumaIcon,
|
|
MailchimpIcon,
|
|
MailgunIcon,
|
|
MailServerIcon,
|
|
Mem0Icon,
|
|
MicrosoftDataverseIcon,
|
|
MicrosoftExcelIcon,
|
|
MicrosoftOneDriveIcon,
|
|
MicrosoftPlannerIcon,
|
|
MicrosoftSharepointIcon,
|
|
MicrosoftTeamsIcon,
|
|
MistralIcon,
|
|
MongoDBIcon,
|
|
MySQLIcon,
|
|
Neo4jIcon,
|
|
NotionIcon,
|
|
ObsidianIcon,
|
|
OktaIcon,
|
|
OnePasswordIcon,
|
|
OpenAIIcon,
|
|
OutlookIcon,
|
|
PackageSearchIcon,
|
|
PagerDutyIcon,
|
|
ParallelIcon,
|
|
PerplexityIcon,
|
|
PineconeIcon,
|
|
PipedriveIcon,
|
|
PolymarketIcon,
|
|
PostgresIcon,
|
|
PosthogIcon,
|
|
PulseIcon,
|
|
QdrantIcon,
|
|
RDSIcon,
|
|
RedditIcon,
|
|
RedisIcon,
|
|
ReductoIcon,
|
|
ResendIcon,
|
|
RevenueCatIcon,
|
|
S3Icon,
|
|
SalesforceIcon,
|
|
SearchIcon,
|
|
SendgridIcon,
|
|
SentryIcon,
|
|
SerperIcon,
|
|
ServiceNowIcon,
|
|
SftpIcon,
|
|
ShopifyIcon,
|
|
SimilarwebIcon,
|
|
SlackIcon,
|
|
SmtpIcon,
|
|
SQSIcon,
|
|
SshIcon,
|
|
STTIcon,
|
|
StagehandIcon,
|
|
StripeIcon,
|
|
SupabaseIcon,
|
|
TavilyIcon,
|
|
TelegramIcon,
|
|
TextractIcon,
|
|
TinybirdIcon,
|
|
TranslateIcon,
|
|
TrelloIcon,
|
|
TTSIcon,
|
|
TwilioIcon,
|
|
TypeformIcon,
|
|
UpstashIcon,
|
|
VercelIcon,
|
|
VideoIcon,
|
|
WealthboxIcon,
|
|
WebflowIcon,
|
|
WhatsAppIcon,
|
|
WikipediaIcon,
|
|
WordpressIcon,
|
|
WorkdayIcon,
|
|
xIcon,
|
|
YouTubeIcon,
|
|
ZendeskIcon,
|
|
ZepIcon,
|
|
ZoomIcon,
|
|
} from '@/components/icons'
|
|
|
|
type IconComponent = ComponentType<SVGProps<SVGSVGElement>>
|
|
|
|
export const blockTypeToIconMap: Record<string, IconComponent> = {
|
|
a2a: A2AIcon,
|
|
ahrefs: AhrefsIcon,
|
|
airtable: AirtableIcon,
|
|
airweave: AirweaveIcon,
|
|
algolia: AlgoliaIcon,
|
|
amplitude: AmplitudeIcon,
|
|
apify: ApifyIcon,
|
|
apollo: ApolloIcon,
|
|
arxiv: ArxivIcon,
|
|
asana: AsanaIcon,
|
|
ashby: AshbyIcon,
|
|
attio: AttioIcon,
|
|
box: BoxCompanyIcon,
|
|
brandfetch: BrandfetchIcon,
|
|
browser_use: BrowserUseIcon,
|
|
calcom: CalComIcon,
|
|
calendly: CalendlyIcon,
|
|
circleback: CirclebackIcon,
|
|
clay: ClayIcon,
|
|
clerk: ClerkIcon,
|
|
cloudflare: CloudflareIcon,
|
|
confluence_v2: ConfluenceIcon,
|
|
cursor_v2: CursorIcon,
|
|
databricks: DatabricksIcon,
|
|
datadog: DatadogIcon,
|
|
devin: DevinIcon,
|
|
discord: DiscordIcon,
|
|
docusign: DocuSignIcon,
|
|
dropbox: DropboxIcon,
|
|
dspy: DsPyIcon,
|
|
dub: DubIcon,
|
|
duckduckgo: DuckDuckGoIcon,
|
|
dynamodb: DynamoDBIcon,
|
|
elasticsearch: ElasticsearchIcon,
|
|
elevenlabs: ElevenLabsIcon,
|
|
enrich: EnrichSoIcon,
|
|
evernote: EvernoteIcon,
|
|
exa: ExaAIIcon,
|
|
fathom: FathomIcon,
|
|
file_v3: DocumentIcon,
|
|
firecrawl: FirecrawlIcon,
|
|
fireflies_v2: FirefliesIcon,
|
|
gamma: GammaIcon,
|
|
github_v2: GithubIcon,
|
|
gitlab: GitLabIcon,
|
|
gmail_v2: GmailIcon,
|
|
gong: GongIcon,
|
|
google_ads: GoogleAdsIcon,
|
|
google_bigquery: GoogleBigQueryIcon,
|
|
google_books: GoogleBooksIcon,
|
|
google_calendar_v2: GoogleCalendarIcon,
|
|
google_contacts: GoogleContactsIcon,
|
|
google_docs: GoogleDocsIcon,
|
|
google_drive: GoogleDriveIcon,
|
|
google_forms: GoogleFormsIcon,
|
|
google_groups: GoogleGroupsIcon,
|
|
google_maps: GoogleMapsIcon,
|
|
google_meet: GoogleMeetIcon,
|
|
google_pagespeed: GooglePagespeedIcon,
|
|
google_search: GoogleIcon,
|
|
google_sheets_v2: GoogleSheetsIcon,
|
|
google_slides_v2: GoogleSlidesIcon,
|
|
google_tasks: GoogleTasksIcon,
|
|
google_translate: GoogleTranslateIcon,
|
|
google_vault: GoogleVaultIcon,
|
|
grafana: GrafanaIcon,
|
|
grain: GrainIcon,
|
|
greenhouse: GreenhouseIcon,
|
|
greptile: GreptileIcon,
|
|
hex: HexIcon,
|
|
hubspot: HubspotIcon,
|
|
huggingface: HuggingFaceIcon,
|
|
hunter: HunterIOIcon,
|
|
image_generator: ImageIcon,
|
|
imap: MailServerIcon,
|
|
incidentio: IncidentioIcon,
|
|
infisical: InfisicalIcon,
|
|
intercom_v2: IntercomIcon,
|
|
jina: JinaAIIcon,
|
|
jira: JiraIcon,
|
|
jira_service_management: JiraServiceManagementIcon,
|
|
kalshi_v2: KalshiIcon,
|
|
knowledge: PackageSearchIcon,
|
|
langsmith: LangsmithIcon,
|
|
lemlist: LemlistIcon,
|
|
linear: LinearIcon,
|
|
linkedin: LinkedInIcon,
|
|
linkup: LinkupIcon,
|
|
loops: LoopsIcon,
|
|
luma: LumaIcon,
|
|
mailchimp: MailchimpIcon,
|
|
mailgun: MailgunIcon,
|
|
mem0: Mem0Icon,
|
|
memory: BrainIcon,
|
|
microsoft_ad: AzureIcon,
|
|
microsoft_dataverse: MicrosoftDataverseIcon,
|
|
microsoft_excel_v2: MicrosoftExcelIcon,
|
|
microsoft_planner: MicrosoftPlannerIcon,
|
|
microsoft_teams: MicrosoftTeamsIcon,
|
|
mistral_parse_v3: MistralIcon,
|
|
mongodb: MongoDBIcon,
|
|
mysql: MySQLIcon,
|
|
neo4j: Neo4jIcon,
|
|
notion_v2: NotionIcon,
|
|
obsidian: ObsidianIcon,
|
|
okta: OktaIcon,
|
|
onedrive: MicrosoftOneDriveIcon,
|
|
onepassword: OnePasswordIcon,
|
|
openai: OpenAIIcon,
|
|
outlook: OutlookIcon,
|
|
pagerduty: PagerDutyIcon,
|
|
parallel_ai: ParallelIcon,
|
|
perplexity: PerplexityIcon,
|
|
pinecone: PineconeIcon,
|
|
pipedrive: PipedriveIcon,
|
|
polymarket: PolymarketIcon,
|
|
postgresql: PostgresIcon,
|
|
posthog: PosthogIcon,
|
|
pulse_v2: PulseIcon,
|
|
qdrant: QdrantIcon,
|
|
rds: RDSIcon,
|
|
reddit: RedditIcon,
|
|
redis: RedisIcon,
|
|
reducto_v2: ReductoIcon,
|
|
resend: ResendIcon,
|
|
revenuecat: RevenueCatIcon,
|
|
s3: S3Icon,
|
|
salesforce: SalesforceIcon,
|
|
search: SearchIcon,
|
|
sendgrid: SendgridIcon,
|
|
sentry: SentryIcon,
|
|
serper: SerperIcon,
|
|
servicenow: ServiceNowIcon,
|
|
sftp: SftpIcon,
|
|
sharepoint: MicrosoftSharepointIcon,
|
|
shopify: ShopifyIcon,
|
|
similarweb: SimilarwebIcon,
|
|
slack: SlackIcon,
|
|
smtp: SmtpIcon,
|
|
sqs: SQSIcon,
|
|
ssh: SshIcon,
|
|
stagehand: StagehandIcon,
|
|
stripe: StripeIcon,
|
|
stt_v2: STTIcon,
|
|
supabase: SupabaseIcon,
|
|
tavily: TavilyIcon,
|
|
telegram: TelegramIcon,
|
|
textract_v2: TextractIcon,
|
|
tinybird: TinybirdIcon,
|
|
translate: TranslateIcon,
|
|
trello: TrelloIcon,
|
|
tts: TTSIcon,
|
|
twilio_sms: TwilioIcon,
|
|
twilio_voice: TwilioIcon,
|
|
typeform: TypeformIcon,
|
|
upstash: UpstashIcon,
|
|
vercel: VercelIcon,
|
|
video_generator_v2: VideoIcon,
|
|
vision_v2: EyeIcon,
|
|
wealthbox: WealthboxIcon,
|
|
webflow: WebflowIcon,
|
|
whatsapp: WhatsAppIcon,
|
|
wikipedia: WikipediaIcon,
|
|
wordpress: WordpressIcon,
|
|
workday: WorkdayIcon,
|
|
x: xIcon,
|
|
youtube: YouTubeIcon,
|
|
zendesk: ZendeskIcon,
|
|
zep: ZepIcon,
|
|
zoom: ZoomIcon,
|
|
}
|