@tangle-network/agent-integrations 0.60.0 → 0.61.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +1 -0
  2. package/data/bundled-adapter-manifests.json +1 -1
  3. package/dist/{adapters-2U_uJL0-.js → adapters-1X0OwHKR.js} +3924 -107
  4. package/dist/{adapters-2U_uJL0-.js.map → adapters-1X0OwHKR.js.map} +1 -1
  5. package/dist/{bundled-manifest-data-C1BWz3JH.js → bundled-manifest-data-B95Egp-E.js} +5667 -1
  6. package/dist/{bundled-manifest-data-C1BWz3JH.js.map → bundled-manifest-data-B95Egp-E.js.map} +1 -1
  7. package/dist/connectors/adapters/index.d.ts +2 -2
  8. package/dist/connectors/adapters/index.js +2 -2
  9. package/dist/connectors/index.d.ts +3 -3
  10. package/dist/connectors/index.js +3 -3
  11. package/dist/{consumer-7jMvpxze.d.ts → consumer-DYpMLeNG.d.ts} +2 -2
  12. package/dist/{consumer-7jMvpxze.d.ts.map → consumer-DYpMLeNG.d.ts.map} +1 -1
  13. package/dist/consumer.d.ts +1 -1
  14. package/dist/coverage-catalog-DlfNsiGZ.d.ts.map +1 -1
  15. package/dist/coverage-catalog.js +74 -0
  16. package/dist/coverage-catalog.js.map +1 -1
  17. package/dist/{index-CV8QHjTx.d.ts → index-BXhHnxfA.d.ts} +158 -6
  18. package/dist/index-BXhHnxfA.d.ts.map +1 -0
  19. package/dist/{index-DYKld5z9.d.ts → index-Bb---RDI.d.ts} +2 -2
  20. package/dist/{index-DYKld5z9.d.ts.map → index-Bb---RDI.d.ts.map} +1 -1
  21. package/dist/index.d.ts +4 -4
  22. package/dist/index.js +5 -5
  23. package/dist/internal/bundled-manifest-runtime.js +1 -1
  24. package/dist/mcp.d.ts +1 -1
  25. package/dist/mcp.js +1 -1
  26. package/dist/registry.js +1 -1
  27. package/dist/runtime.d.ts +1 -1
  28. package/dist/sandbox.d.ts +1 -1
  29. package/dist/{specs-DKOfbPej.js → specs-CYIGTV23.js} +2 -2
  30. package/dist/{specs-DKOfbPej.js.map → specs-CYIGTV23.js.map} +1 -1
  31. package/dist/specs.js +1 -1
  32. package/dist/{src-DXXonX8Y.js → src-K0pwQmol.js} +3 -3
  33. package/dist/{src-DXXonX8Y.js.map → src-K0pwQmol.js.map} +1 -1
  34. package/docs/amazon-ads.md +23 -0
  35. package/docs/linkedin-ads.md +25 -0
  36. package/docs/meta-ads.md +17 -0
  37. package/docs/microsoft-ads.md +21 -0
  38. package/docs/paid-advertising.md +26 -0
  39. package/docs/pinterest-ads.md +18 -0
  40. package/docs/reddit-ads.md +25 -0
  41. package/docs/snapchat-ads.md +18 -0
  42. package/docs/tiktok-ads.md +25 -0
  43. package/docs/x-ads.md +29 -0
  44. package/package.json +1 -1
  45. package/dist/index-CV8QHjTx.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-catalog.js","names":[],"sources":["../src/coverage-catalog.ts"],"sourcesContent":["import type {\n IntegrationConnector,\n IntegrationConnectorAction,\n IntegrationConnectorCategory,\n IntegrationConnectorTrigger,\n IntegrationProviderKind,\n} from './core-types.js'\n\nexport type IntegrationCoveragePriority = 'tier_0' | 'tier_1' | 'tier_2' | 'long_tail'\n\nexport interface IntegrationCoverageSpec {\n id: string\n title: string\n category: IntegrationConnectorCategory\n auth: IntegrationConnector['auth']\n priority: IntegrationCoveragePriority\n providerKinds: IntegrationProviderKind[]\n domains: string[]\n actionPack: IntegrationActionPack\n scopes?: string[]\n}\n\nexport type IntegrationActionPack =\n | 'email'\n | 'calendar'\n | 'chat'\n | 'crm'\n | 'storage'\n | 'docs'\n | 'database'\n | 'project'\n | 'support'\n | 'marketing'\n | 'sales'\n | 'commerce'\n | 'finance'\n | 'hr'\n | 'dev'\n | 'ai'\n | 'analytics'\n | 'workflow'\n | 'webhook'\n | 'meeting'\n | 'telephony'\n\ntype SpecTuple = [\n id: string,\n title: string,\n category: IntegrationConnectorCategory,\n actionPack: IntegrationActionPack,\n priority: IntegrationCoveragePriority,\n domains: string,\n auth?: IntegrationConnector['auth'],\n]\n\nconst DEFAULT_PROVIDER_KINDS: IntegrationProviderKind[] = ['first_party', 'nango', 'pipedream', 'tangle_catalog', 'custom']\n\nconst COVERAGE_SPECS: SpecTuple[] = [\n ['gmail', 'Gmail', 'email', 'email', 'tier_0', 'email,google,workspace,inbox'],\n ['outlook-mail', 'Outlook Mail', 'email', 'email', 'tier_0', 'email,microsoft,office,inbox'],\n ['google-calendar', 'Google Calendar', 'calendar', 'calendar', 'tier_0', 'calendar,google,workspace,scheduling'],\n ['outlook-calendar', 'Outlook Calendar', 'calendar', 'calendar', 'tier_0', 'calendar,microsoft,office,scheduling'],\n ['slack', 'Slack', 'chat', 'chat', 'tier_0', 'chat,collaboration,internal-comms'],\n ['microsoft-teams', 'Microsoft Teams', 'chat', 'chat', 'tier_0', 'chat,microsoft,collaboration'],\n ['google-drive', 'Google Drive', 'storage', 'storage', 'tier_0', 'files,google,workspace,storage'],\n ['onedrive', 'OneDrive', 'storage', 'storage', 'tier_0', 'files,microsoft,office,storage'],\n ['dropbox', 'Dropbox', 'storage', 'storage', 'tier_1', 'files,storage'],\n ['box', 'Box', 'storage', 'storage', 'tier_1', 'files,enterprise,storage'],\n ['google-docs', 'Google Docs', 'docs', 'docs', 'tier_0', 'docs,google,workspace'],\n ['google-sheets', 'Google Sheets', 'database', 'database', 'tier_0', 'sheets,spreadsheet,google,database'],\n ['google-contacts', 'Google Contacts and Directory', 'crm', 'crm', 'tier_0', 'contacts,people,directory,google,workspace'],\n ['google-slides', 'Google Slides', 'docs', 'docs', 'tier_1', 'slides,presentations,google,workspace'],\n ['googlechat', 'Google Chat', 'chat', 'chat', 'tier_1', 'chat,collaboration,google,workspace'],\n ['google-tasks', 'Google Tasks', 'workflow', 'project', 'tier_1', 'tasks,google,workspace'],\n ['microsoft-excel-365', 'Microsoft Excel 365', 'database', 'database', 'tier_0', 'sheets,spreadsheet,microsoft,office,database'],\n ['notion', 'Notion', 'docs', 'docs', 'tier_0', 'docs,wiki,knowledge'],\n ['airtable', 'Airtable', 'database', 'database', 'tier_0', 'database,spreadsheet,ops'],\n ['baserow', 'Baserow', 'database', 'database', 'tier_1', 'database,spreadsheet,ops,open-source', 'api_key'],\n ['coda', 'Coda', 'docs', 'docs', 'tier_1', 'docs,wiki,ops'],\n ['confluence', 'Confluence', 'docs', 'docs', 'tier_1', 'docs,wiki,atlassian'],\n ['sharepoint', 'SharePoint', 'storage', 'storage', 'tier_1', 'files,microsoft,enterprise'],\n ['microsoft-365-people', 'Microsoft 365 People', 'crm', 'crm', 'tier_0', 'contacts,people,microsoft,office'],\n ['microsoft-365-planner', 'Microsoft Planner', 'workflow', 'project', 'tier_1', 'tasks,planning,microsoft,office'],\n ['microsoft-todo', 'Microsoft To Do', 'workflow', 'project', 'tier_1', 'tasks,microsoft,office'],\n ['microsoft-onenote', 'Microsoft OneNote', 'docs', 'docs', 'tier_1', 'notes,docs,microsoft,office'],\n ['microsoft-dynamics-crm', 'Microsoft Dynamics 365 CRM', 'crm', 'crm', 'tier_0', 'crm,sales,microsoft,dynamics'],\n ['microsoft-dynamics-365-business-central', 'Microsoft Dynamics 365 Business Central', 'workflow', 'finance', 'tier_1', 'erp,finance,microsoft,dynamics'],\n ['microsoft-power-bi', 'Microsoft Power BI', 'database', 'analytics', 'tier_1', 'analytics,reporting,microsoft,office'],\n ['microsoft-forms', 'Microsoft Forms', 'workflow', 'marketing', 'tier_1', 'forms,microsoft,office,commercial-api', 'custom'],\n ['microsoft-word', 'Microsoft Word', 'docs', 'docs', 'tier_1', 'docs,microsoft,office,commercial-api', 'custom'],\n ['hubspot', 'HubSpot', 'crm', 'crm', 'tier_0', 'crm,sales,marketing'],\n ['salesforce', 'Salesforce', 'crm', 'crm', 'tier_0', 'crm,sales,enterprise'],\n ['pipedrive', 'Pipedrive', 'crm', 'crm', 'tier_1', 'crm,sales'],\n ['zoho-crm', 'Zoho CRM', 'crm', 'crm', 'tier_1', 'crm,sales'],\n ['zoho-desk', 'Zoho Desk', 'crm', 'support', 'tier_1', 'support,tickets,crm,zoho'],\n ['zoho-bookings', 'Zoho Bookings', 'calendar', 'calendar', 'tier_1', 'appointments,scheduling,calendar,zoho'],\n ['zoho-books', 'Zoho Books', 'workflow', 'finance', 'tier_1', 'accounting,invoices,finance,zoho'],\n ['zoho-invoice', 'Zoho Invoice', 'workflow', 'finance', 'tier_1', 'invoices,billing,finance,zoho'],\n ['zoho-mail', 'Zoho Mail', 'email', 'email', 'tier_1', 'email,inbox,zoho'],\n ['zoho-campaigns', 'Zoho Campaigns', 'workflow', 'marketing', 'tier_1', 'email-marketing,campaigns,zoho'],\n ['close', 'Close', 'crm', 'crm', 'tier_1', 'crm,sales'],\n ['attio', 'Attio', 'crm', 'crm', 'tier_1', 'crm,sales,startups'],\n ['affinity', 'Affinity', 'crm', 'crm', 'tier_0', 'crm,relationships,private-markets', 'api_key'],\n ['dealcloud', 'DealCloud', 'crm', 'crm', 'tier_0', 'crm,relationships,private-markets,commercial-api', 'custom'],\n ['outreach', 'Outreach', 'crm', 'sales', 'tier_1', 'sales-engagement,sequences,crm'],\n ['salesloft', 'Salesloft', 'crm', 'sales', 'tier_1', 'sales-engagement,cadences,crm'],\n ['zoominfo', 'ZoomInfo', 'crm', 'sales', 'tier_1', 'sales-intelligence,enrichment,gtm'],\n ['demandbase', 'Demandbase', 'crm', 'sales', 'tier_1', 'account-intelligence,abm,gtm'],\n ['linear', 'Linear', 'workflow', 'project', 'tier_0', 'project,engineering,tickets'],\n ['jira', 'Jira', 'workflow', 'project', 'tier_0', 'project,engineering,tickets,atlassian'],\n ['github', 'GitHub', 'workflow', 'dev', 'tier_0', 'code,dev,issues,git'],\n ['gitlab', 'GitLab', 'workflow', 'dev', 'tier_1', 'code,dev,issues,git'],\n ['bitbucket', 'Bitbucket', 'workflow', 'dev', 'tier_2', 'code,dev,git,atlassian'],\n ['asana', 'Asana', 'workflow', 'project', 'tier_1', 'project,tasks'],\n ['trello', 'Trello', 'workflow', 'project', 'tier_1', 'project,tasks,atlassian'],\n ['monday', 'monday.com', 'workflow', 'project', 'tier_1', 'project,tasks,ops'],\n ['clickup', 'ClickUp', 'workflow', 'project', 'tier_1', 'project,tasks,ops'],\n ['basecamp', 'Basecamp', 'workflow', 'project', 'tier_2', 'project,tasks'],\n ['zendesk', 'Zendesk', 'crm', 'support', 'tier_0', 'support,tickets,customer-success'],\n ['intercom', 'Intercom', 'crm', 'support', 'tier_0', 'support,chat,customer-success'],\n ['freshdesk', 'Freshdesk', 'crm', 'support', 'tier_1', 'support,tickets'],\n ['helpscout', 'Help Scout', 'crm', 'support', 'tier_1', 'support,tickets'],\n ['front', 'Front', 'email', 'support', 'tier_1', 'support,email,shared-inbox'],\n ['gorgias', 'Gorgias', 'crm', 'support', 'tier_1', 'support,ecommerce'],\n ['stripe', 'Stripe', 'workflow', 'finance', 'tier_0', 'payments,billing,finance'],\n ['chargebee', 'Chargebee', 'workflow', 'finance', 'tier_1', 'subscriptions,billing,revenue', 'api_key'],\n ['paddle', 'Paddle', 'workflow', 'finance', 'tier_1', 'payments,billing,merchant-of-record', 'api_key'],\n ['quickbooks', 'QuickBooks', 'workflow', 'finance', 'tier_0', 'accounting,finance'],\n ['xero', 'Xero', 'workflow', 'finance', 'tier_1', 'accounting,finance'],\n ['netsuite', 'NetSuite', 'workflow', 'finance', 'tier_1', 'erp,finance,enterprise', 'api_key'],\n ['sage', 'Sage', 'workflow', 'finance', 'tier_2', 'accounting,finance'],\n ['sage-intacct', 'Sage Intacct', 'workflow', 'finance', 'tier_1', 'accounting,erp,finance', 'api_key'],\n ['plaid', 'Plaid', 'workflow', 'finance', 'tier_1', 'banking,finance', 'api_key'],\n ['ramp', 'Ramp', 'workflow', 'finance', 'tier_1', 'cards,expenses,finance', 'api_key'],\n ['brex', 'Brex', 'workflow', 'finance', 'tier_1', 'cards,expenses,finance', 'api_key'],\n ['bill-com', 'BILL', 'workflow', 'finance', 'tier_1', 'accounts-payable,bills,payments', 'api_key'],\n ['avalara', 'Avalara AvaTax', 'workflow', 'finance', 'tier_1', 'tax,sales-tax,compliance,finance', 'api_key'],\n ['taxjar', 'TaxJar', 'workflow', 'finance', 'tier_1', 'tax,sales-tax,compliance,finance', 'api_key'],\n ['shopify', 'Shopify', 'workflow', 'commerce', 'tier_0', 'ecommerce,orders,commerce'],\n ['woocommerce', 'WooCommerce', 'workflow', 'commerce', 'tier_1', 'ecommerce,orders,wordpress'],\n ['bigcommerce', 'BigCommerce', 'workflow', 'commerce', 'tier_1', 'ecommerce,orders'],\n ['amazon-seller-central', 'Amazon Seller Central', 'workflow', 'commerce', 'tier_1', 'marketplace,ecommerce'],\n ['ebay', 'eBay', 'workflow', 'commerce', 'tier_2', 'marketplace,ecommerce'],\n ['etsy', 'Etsy', 'workflow', 'commerce', 'tier_2', 'marketplace,ecommerce'],\n ['mailchimp', 'Mailchimp', 'workflow', 'marketing', 'tier_0', 'email-marketing,marketing'],\n ['klaviyo', 'Klaviyo', 'workflow', 'marketing', 'tier_0', 'email-marketing,ecommerce,marketing'],\n ['marketo', 'Marketo', 'workflow', 'marketing', 'tier_1', 'marketing,enterprise'],\n ['braze', 'Braze', 'workflow', 'marketing', 'tier_1', 'marketing,lifecycle'],\n ['customer-io', 'Customer.io', 'workflow', 'marketing', 'tier_1', 'marketing,lifecycle'],\n ['sendgrid', 'SendGrid', 'email', 'email', 'tier_1', 'email,transactional'],\n ['postmark', 'Postmark', 'email', 'email', 'tier_1', 'email,transactional'],\n ['twilio', 'Twilio', 'chat', 'chat', 'tier_0', 'sms,voice,communications'],\n ['clicksend', 'ClickSend', 'chat', 'telephony', 'tier_1', 'sms,voice,communications,contact-lists', 'api_key'],\n ['open-phone', 'OpenPhone', 'chat', 'telephony', 'tier_0', 'sms,voice,telephony,communications', 'api_key'],\n ['ringcentral', 'RingCentral', 'chat', 'telephony', 'tier_0', 'voice,sms,telephony,communications'],\n ['dialpad', 'Dialpad', 'chat', 'telephony', 'tier_0', 'voice,sms,telephony,communications'],\n ['aircall', 'Aircall', 'chat', 'telephony', 'tier_1', 'voice,telephony,communications', 'api_key'],\n ['phony', 'ph0ny', 'chat', 'chat', 'tier_1', 'voice,telephony,communications', 'api_key'],\n ['discord', 'Discord', 'chat', 'chat', 'tier_1', 'chat,community'],\n ['discourse', 'Discourse', 'chat', 'chat', 'tier_1', 'community,forum,support,knowledge', 'api_key'],\n ['telegram', 'Telegram', 'chat', 'chat', 'tier_1', 'chat,community'],\n ['whatsapp-business', 'WhatsApp Business', 'chat', 'chat', 'tier_1', 'chat,meta,customer-comms'],\n ['facebook-pages', 'Facebook Pages', 'workflow', 'marketing', 'tier_1', 'social,meta,marketing'],\n ['instagram-business', 'Instagram Business', 'workflow', 'marketing', 'tier_1', 'social,meta,marketing'],\n ['linkedin', 'LinkedIn', 'workflow', 'sales', 'tier_1', 'social,sales,gtm'],\n ['x-twitter', 'X / Twitter', 'workflow', 'marketing', 'tier_1', 'social,marketing'],\n ['youtube', 'YouTube', 'storage', 'storage', 'tier_1', 'video,content'],\n ['tiktok', 'TikTok', 'workflow', 'marketing', 'tier_2', 'social,video,marketing'],\n ['google-ads', 'Google Ads', 'workflow', 'marketing', 'tier_0', 'ads,google,marketing,paid-search'],\n ['google-analytics', 'Google Analytics', 'database', 'analytics', 'tier_0', 'analytics,web,marketing'],\n ['mixpanel', 'Mixpanel', 'database', 'analytics', 'tier_1', 'analytics,product'],\n ['amplitude', 'Amplitude', 'database', 'analytics', 'tier_1', 'analytics,product', 'api_key'],\n ['segment', 'Segment', 'database', 'analytics', 'tier_1', 'analytics,cdp'],\n ['snowflake', 'Snowflake', 'database', 'database', 'tier_0', 'warehouse,data'],\n ['bigquery', 'BigQuery', 'database', 'database', 'tier_0', 'warehouse,google,data'],\n ['redshift', 'Redshift', 'database', 'database', 'tier_1', 'warehouse,aws,data', 'custom'],\n ['postgres', 'Postgres', 'database', 'database', 'tier_0', 'database,sql', 'custom'],\n ['mysql', 'MySQL', 'database', 'database', 'tier_1', 'database,sql'],\n ['mongodb', 'MongoDB', 'database', 'database', 'tier_1', 'database,nosql', 'custom'],\n ['supabase', 'Supabase', 'database', 'database', 'tier_1', 'database,postgres'],\n ['firebase', 'Firebase', 'database', 'database', 'tier_1', 'database,google,app'],\n ['redis', 'Redis', 'database', 'database', 'tier_2', 'database,cache', 'custom'],\n ['aws-s3', 'Amazon S3', 'storage', 'storage', 'tier_0', 'files,aws,storage'],\n ['amazon-sns', 'Amazon SNS', 'webhook', 'webhook', 'tier_1', 'events,notifications,aws', 'api_key'],\n ['amazon-sqs', 'Amazon SQS', 'webhook', 'webhook', 'tier_1', 'events,queues,aws', 'api_key'],\n ['aws-lambda', 'AWS Lambda', 'workflow', 'dev', 'tier_1', 'aws,serverless,dev', 'api_key'],\n ['aws-cloudwatch', 'AWS CloudWatch', 'database', 'analytics', 'tier_1', 'aws,logs,observability', 'api_key'],\n ['google-cloud-storage', 'Google Cloud Storage', 'storage', 'storage', 'tier_1', 'files,gcp,storage'],\n ['azure-blob-storage', 'Azure Blob Storage', 'storage', 'storage', 'tier_1', 'files,azure,storage'],\n ['vercel', 'Vercel', 'workflow', 'dev', 'tier_1', 'deployments,dev'],\n ['digital-ocean', 'DigitalOcean', 'workflow', 'dev', 'tier_1', 'cloud,infrastructure,compute,database,storage', 'api_key'],\n ['netlify', 'Netlify', 'workflow', 'dev', 'tier_2', 'deployments,dev'],\n ['cloudflare', 'Cloudflare', 'workflow', 'dev', 'tier_1', 'edge,dev,dns', 'api_key'],\n ['sentry', 'Sentry', 'workflow', 'dev', 'tier_1', 'errors,observability,dev'],\n ['datadog', 'Datadog', 'database', 'analytics', 'tier_1', 'observability,logs,metrics'],\n ['new-relic', 'New Relic', 'database', 'analytics', 'tier_2', 'observability,logs,metrics'],\n ['pagerduty', 'PagerDuty', 'workflow', 'project', 'tier_1', 'incident,on-call'],\n ['opsgenie', 'Opsgenie', 'workflow', 'project', 'tier_2', 'incident,on-call,atlassian'],\n ['okta', 'Okta', 'internal', 'workflow', 'tier_1', 'identity,security', 'api_key'],\n ['auth0', 'Auth0', 'internal', 'workflow', 'tier_1', 'identity,security'],\n ['ping-identity', 'Ping Identity', 'internal', 'workflow', 'tier_1', 'identity,security,provisioning', 'api_key'],\n ['onelogin', 'OneLogin', 'internal', 'workflow', 'tier_1', 'identity,security,provisioning', 'api_key'],\n ['scim', 'SCIM', 'internal', 'workflow', 'tier_1', 'identity,security,provisioning', 'api_key'],\n ['workday', 'Workday', 'workflow', 'hr', 'tier_1', 'hr,finance,enterprise'],\n ['bamboohr', 'BambooHR', 'workflow', 'hr', 'tier_1', 'hr,people'],\n ['greenhouse', 'Greenhouse', 'workflow', 'hr', 'tier_1', 'recruiting,hr'],\n ['lever', 'Lever', 'workflow', 'hr', 'tier_1', 'recruiting,hr'],\n ['gusto', 'Gusto', 'workflow', 'hr', 'tier_1', 'payroll,hr'],\n ['rippling', 'Rippling', 'workflow', 'hr', 'tier_1', 'hr,it,identity'],\n ['adp', 'ADP', 'workflow', 'hr', 'tier_1', 'hr,payroll,workforce'],\n ['paychex', 'Paychex', 'workflow', 'hr', 'tier_1', 'hr,payroll,workforce'],\n ['docusign', 'DocuSign', 'docs', 'docs', 'tier_1', 'contracts,signature,legal'],\n ['adobe-sign', 'Adobe Acrobat Sign', 'docs', 'docs', 'tier_1', 'contracts,signature,legal'],\n ['pandadoc', 'PandaDoc', 'docs', 'docs', 'tier_1', 'contracts,signature,sales'],\n ['hellosign', 'Dropbox Sign', 'docs', 'docs', 'tier_2', 'contracts,signature'],\n ['clio', 'Clio', 'workflow', 'project', 'tier_1', 'legal,practice-management'],\n ['mycase', 'MyCase', 'crm', 'project', 'tier_1', 'legal,practice-management,cases'],\n ['ironclad', 'Ironclad', 'docs', 'docs', 'tier_1', 'legal,contracts'],\n ['lexisnexis', 'LexisNexis', 'docs', 'docs', 'tier_2', 'legal,research'],\n ['calendly', 'Calendly', 'calendar', 'calendar', 'tier_0', 'scheduling,calendar'],\n ['acuity-scheduling', 'Acuity Scheduling', 'calendar', 'calendar', 'tier_1', 'appointments,scheduling,calendar'],\n ['cal-com', 'Cal.com', 'calendar', 'calendar', 'tier_1', 'scheduling,calendar'],\n ['zoom', 'Zoom', 'calendar', 'calendar', 'tier_0', 'meetings,video,calendar'],\n ['granola', 'Granola', 'docs', 'meeting', 'tier_0', 'meetings,notes,transcripts', 'api_key'],\n ['gong', 'Gong', 'docs', 'meeting', 'tier_0', 'meetings,calls,transcripts,sales'],\n ['fathom', 'Fathom', 'docs', 'meeting', 'tier_0', 'meetings,notes,transcripts'],\n ['fireflies-ai', 'Fireflies.ai', 'docs', 'meeting', 'tier_0', 'meetings,notes,transcripts', 'api_key'],\n ['otter', 'Otter.ai', 'docs', 'meeting', 'tier_0', 'meetings,notes,transcripts,commercial-api', 'custom'],\n ['google-meet', 'Google Meet', 'calendar', 'calendar', 'tier_1', 'meetings,google,video'],\n ['microsoft-graph', 'Microsoft Graph', 'internal', 'workflow', 'tier_0', 'microsoft,enterprise,identity'],\n ['openai', 'OpenAI', 'workflow', 'ai', 'tier_0', 'ai,llm'],\n ['anthropic', 'Anthropic', 'workflow', 'ai', 'tier_1', 'ai,llm'],\n ['gemini', 'Google Gemini', 'workflow', 'ai', 'tier_1', 'ai,llm,google'],\n ['huggingface', 'Hugging Face', 'workflow', 'ai', 'tier_1', 'ai,models'],\n ['pinecone', 'Pinecone', 'database', 'database', 'tier_1', 'vector,database,ai'],\n ['weaviate', 'Weaviate', 'database', 'database', 'tier_1', 'vector,database,ai'],\n ['qdrant', 'Qdrant', 'database', 'database', 'tier_1', 'vector,database,ai'],\n ['zapier', 'Zapier', 'workflow', 'workflow', 'tier_1', 'automation,workflow'],\n ['make', 'Make', 'workflow', 'workflow', 'tier_1', 'automation,workflow'],\n ['nango', 'Nango', 'workflow', 'workflow', 'tier_1', 'integration-platform,gateway', 'custom'],\n ['pipedream', 'Pipedream', 'workflow', 'workflow', 'tier_1', 'integration-platform,workflow'],\n ['open-automation-catalog', 'Open Automation Catalog', 'workflow', 'workflow', 'tier_1', 'automation,workflow,open-source'],\n ['actualbudget', 'Actual Budget', 'workflow', 'finance', 'tier_2', 'finance,budgeting,accounting', 'api_key'],\n ['aianswer', 'AI Answer', 'chat', 'ai', 'long_tail', 'ai,answers,chat', 'api_key'],\n ['airparser', 'Airparser', 'docs', 'docs', 'tier_2', 'documents,parsing,extraction', 'api_key'],\n ['anyhook-websocket', 'AnyHook WebSocket', 'webhook', 'webhook', 'long_tail', 'websocket,events,automation', 'api_key'],\n ['apify', 'Apify', 'database', 'workflow', 'tier_2', 'scraping,automation,data', 'api_key'],\n ['ask-handle', 'AskHandle', 'workflow', 'ai', 'long_tail', 'ai,forms,automation', 'api_key'],\n ['bannerbear', 'Bannerbear', 'docs', 'marketing', 'tier_2', 'images,creative,marketing', 'api_key'],\n ['base44', 'Base44', 'workflow', 'dev', 'long_tail', 'apps,automation,dev', 'api_key'],\n ['beehiiv', 'Beehiiv', 'email', 'marketing', 'tier_2', 'newsletter,email,marketing', 'api_key'],\n ['bika', 'Bika.ai', 'docs', 'database', 'long_tail', 'database,workspace,automation', 'api_key'],\n ['buttondown', 'Buttondown', 'email', 'marketing', 'tier_2', 'newsletter,email,marketing', 'api_key'],\n ['camb-ai', 'Camb.AI', 'workflow', 'ai', 'long_tail', 'ai,audio,translation', 'api_key'],\n ['cartloom', 'Cartloom', 'workflow', 'commerce', 'long_tail', 'commerce,checkout,orders', 'api_key'],\n ['chain-aware', 'ChainAware.AI', 'database', 'analytics', 'long_tail', 'blockchain,risk,analytics', 'api_key'],\n ['chaindesk', 'Chaindesk', 'workflow', 'ai', 'long_tail', 'ai,knowledge,chatbot', 'api_key'],\n ['chat-aid', 'Chat Aid', 'workflow', 'ai', 'long_tail', 'ai,chat,knowledge', 'api_key'],\n ['chatsistant', 'Chatsistant', 'chat', 'chat', 'long_tail', 'chat,ai,support', 'api_key'],\n ['claude', 'Anthropic Claude', 'workflow', 'ai', 'tier_1', 'ai,llm,anthropic', 'api_key'],\n ['clearoutphone', 'ClearoutPhone', 'workflow', 'telephony', 'long_tail', 'phone,validation,enrichment', 'api_key'],\n ['clickfunnels', 'ClickFunnels', 'workflow', 'marketing', 'tier_2', 'marketing,funnels,crm', 'api_key'],\n ['cody', 'Cody', 'workflow', 'ai', 'long_tail', 'ai,knowledge,assistant', 'api_key'],\n ['contextual-ai', 'Contextual AI', 'workflow', 'ai', 'tier_2', 'ai,rag,knowledge', 'api_key'],\n ['contiguity', 'Contiguity', 'chat', 'telephony', 'long_tail', 'sms,messaging,communications', 'api_key'],\n ['couchbase', 'Couchbase', 'database', 'database', 'tier_2', 'database,nosql,data', 'api_key'],\n ['dappier', 'Dappier', 'workflow', 'ai', 'long_tail', 'ai,data,search', 'api_key'],\n ['deepgram', 'Deepgram', 'workflow', 'ai', 'tier_2', 'audio,transcription,ai', 'api_key'],\n ['detecting-ai', 'Detecting AI', 'workflow', 'ai', 'long_tail', 'ai,detection,content', 'api_key'],\n ['digital-pilot', 'DigitalPilot', 'database', 'analytics', 'long_tail', 'analytics,marketing,data', 'api_key'],\n ['docsbot', 'DocsBot', 'docs', 'ai', 'long_tail', 'ai,docs,knowledge', 'api_key'],\n ['drip', 'Drip', 'crm', 'marketing', 'tier_2', 'crm,email,marketing', 'api_key'],\n ['echowin', 'Echowin', 'workflow', 'telephony', 'long_tail', 'voice,phone,ai', 'api_key'],\n ['elevenlabs', 'ElevenLabs', 'workflow', 'ai', 'tier_2', 'audio,voice,ai', 'api_key'],\n ['everhour', 'Everhour', 'workflow', 'project', 'tier_2', 'time-tracking,project,work', 'api_key'],\n ['feathery', 'Feathery', 'workflow', 'marketing', 'tier_2', 'forms,marketing,workflow', 'api_key'],\n ['fellow', 'Fellow.ai', 'docs', 'meeting', 'tier_2', 'meetings,notes,collaboration', 'api_key'],\n ['flow-parser', 'FlowParser', 'workflow', 'workflow', 'long_tail', 'parsing,automation,workflow', 'api_key'],\n ['gamma', 'Gamma', 'docs', 'docs', 'tier_2', 'presentations,docs,ai', 'api_key'],\n ['gender-api', 'Gender API', 'database', 'analytics', 'long_tail', 'enrichment,identity,analytics', 'api_key'],\n ['neverbounce', 'NeverBounce', 'crm', 'sales', 'tier_1', 'email,verification,deliverability,enrichment', 'api_key'],\n ['generatebanners', 'GenerateBanners', 'docs', 'marketing', 'long_tail', 'images,banners,marketing', 'api_key'],\n ['giftbit', 'Giftbit', 'workflow', 'commerce', 'long_tail', 'rewards,gift-cards,commerce', 'api_key'],\n ['modelslab', 'ModelsLab', 'workflow', 'ai', 'long_tail', 'images,media,ai', 'api_key'],\n ['webhook', 'Generic Webhook', 'webhook', 'webhook', 'tier_0', 'webhook,http,events', 'none'],\n ['http', 'HTTP / REST / OpenAPI Request', 'workflow', 'webhook', 'tier_0', 'http,api,rest,openapi,webhook', 'none'],\n ['rss', 'RSS', 'webhook', 'webhook', 'tier_1', 'feeds,content', 'none'],\n ['chess-com', 'Chess.com', 'workflow', 'workflow', 'long_tail', 'chess,games,public-data', 'none'],\n ['sftp', 'SFTP', 'storage', 'storage', 'tier_0', 'files,sftp,imports,commercial-api', 'custom'],\n ['csv-files', 'CSV Files', 'database', 'database', 'tier_0', 'files,csv,imports', 'none'],\n ['excel-files', 'Excel Files', 'database', 'database', 'tier_0', 'files,excel,imports', 'none'],\n ['parquet-files', 'Parquet Files', 'database', 'database', 'tier_1', 'files,parquet,imports', 'none'],\n ['duckdb', 'DuckDB', 'database', 'database', 'tier_1', 'database,sql,json,analytics', 'none'],\n ['kafka', 'Apache Kafka', 'webhook', 'webhook', 'tier_1', 'events,streams,kafka', 'custom'],\n ['rabbitmq', 'RabbitMQ', 'webhook', 'webhook', 'tier_1', 'events,queues,rabbitmq', 'custom'],\n ['amazon-eventbridge', 'Amazon EventBridge', 'webhook', 'webhook', 'tier_1', 'events,aws,eventbridge', 'custom'],\n ['google-pubsub', 'Google Pub/Sub', 'webhook', 'webhook', 'tier_1', 'events,google,pubsub', 'custom'],\n ['azure-event-grid', 'Azure Event Grid', 'webhook', 'webhook', 'tier_1', 'events,azure,event-grid', 'custom'],\n ['azure-service-bus', 'Azure Service Bus', 'webhook', 'webhook', 'tier_1', 'events,queues,azure,service-bus', 'custom'],\n ['zapier-transfer', 'Zapier Transfer', 'workflow', 'workflow', 'long_tail', 'automation,migration'],\n ['typeform', 'Typeform', 'workflow', 'marketing', 'tier_1', 'forms,marketing'],\n ['google-forms', 'Google Forms', 'workflow', 'marketing', 'tier_1', 'forms,google'],\n ['jotform', 'Jotform', 'workflow', 'marketing', 'tier_2', 'forms'],\n ['webflow', 'Webflow', 'workflow', 'marketing', 'tier_1', 'cms,website'],\n ['wordpress', 'WordPress', 'workflow', 'marketing', 'tier_1', 'cms,website'],\n ['contentful', 'Contentful', 'docs', 'docs', 'tier_1', 'cms,content'],\n ['sanity', 'Sanity', 'docs', 'docs', 'tier_1', 'cms,content'],\n ['figma', 'Figma', 'docs', 'docs', 'tier_0', 'design,creative'],\n ['canva', 'Canva', 'docs', 'docs', 'tier_1', 'design,creative'],\n ['adobe-creative-cloud', 'Adobe Creative Cloud', 'storage', 'storage', 'tier_1', 'design,creative,files'],\n ['miro', 'Miro', 'docs', 'docs', 'tier_1', 'whiteboard,collaboration'],\n ['figjam', 'FigJam', 'docs', 'docs', 'tier_2', 'whiteboard,design'],\n]\n\nexport function listIntegrationCoverageSpecs(): IntegrationCoverageSpec[] {\n return COVERAGE_SPECS.map(([id, title, category, actionPack, priority, domains, auth = 'oauth2']) => ({\n id,\n title,\n category,\n actionPack,\n priority,\n auth,\n providerKinds: providerKindsFor(auth),\n domains: domains.split(',').map((domain) => domain.trim()).filter(Boolean),\n scopes: scopesFor(id, actionPack),\n }))\n}\n\nexport function buildIntegrationCoverageConnectors(options: {\n providerId?: string\n priorities?: IntegrationCoveragePriority[]\n categories?: IntegrationConnectorCategory[]\n actionPacks?: IntegrationActionPack[]\n} = {}): IntegrationConnector[] {\n const providerId = options.providerId ?? 'coverage'\n return listIntegrationCoverageSpecs()\n .filter((spec) => !options.priorities || options.priorities.includes(spec.priority))\n .filter((spec) => !options.categories || options.categories.includes(spec.category))\n .filter((spec) => !options.actionPacks || options.actionPacks.includes(spec.actionPack))\n .map((spec) => specToConnector(spec, providerId))\n}\n\nexport function integrationCoverageChecklistMarkdown(): string {\n const specs = listIntegrationCoverageSpecs()\n const lines = [\n '# Agent Integrations Coverage Checklist',\n '',\n 'Generated from `listIntegrationCoverageSpecs()`. Catalog presence means the product can plan/request/connect the integration; native adapters and runtime backends execute behind the same provider contract.',\n '',\n '## Summary',\n '',\n `- Total cataloged integrations: ${specs.length}`,\n `- Tier 0: ${specs.filter((spec) => spec.priority === 'tier_0').length}`,\n `- Tier 1: ${specs.filter((spec) => spec.priority === 'tier_1').length}`,\n `- Tier 2: ${specs.filter((spec) => spec.priority === 'tier_2').length}`,\n `- Long tail: ${specs.filter((spec) => spec.priority === 'long_tail').length}`,\n '',\n '## Checklist',\n '',\n ]\n for (const spec of specs) {\n lines.push(`- [ ] ${spec.priority} / ${spec.category} / ${spec.title} (${spec.id}) - ${spec.domains.join(', ')}`)\n }\n return `${lines.join('\\n')}\\n`\n}\n\nfunction specToConnector(spec: IntegrationCoverageSpec, providerId: string): IntegrationConnector {\n const actions = actionPack(spec.actionPack, spec.scopes ?? [])\n return {\n id: spec.id,\n providerId,\n title: spec.title,\n category: spec.category,\n auth: spec.auth,\n scopes: spec.scopes ?? [],\n actions,\n triggers: triggersFor(spec.actionPack, spec.scopes ?? []),\n metadata: {\n source: 'coverage-catalog',\n priority: spec.priority,\n domains: spec.domains,\n providerKinds: spec.providerKinds,\n executable: false,\n },\n }\n}\n\nfunction actionPack(pack: IntegrationActionPack, scopes: string[]): IntegrationConnectorAction[] {\n const readScope = scopes.find((scope) => scope.endsWith('.read')) ?? scopes[0]\n const writeScope = scopes.find((scope) => scope.endsWith('.write')) ?? scopes[1] ?? readScope\n const scope = (value?: string) => value ? [value] : []\n const read = (id: string, title: string, description: string): IntegrationConnectorAction => ({\n id,\n title,\n description,\n risk: 'read',\n requiredScopes: scope(readScope),\n dataClass: dataClassFor(pack),\n inputSchema: objectSchema(),\n })\n const write = (id: string, title: string, description: string): IntegrationConnectorAction => ({\n id,\n title,\n description,\n risk: 'write',\n requiredScopes: scope(writeScope),\n dataClass: dataClassFor(pack),\n approvalRequired: true,\n inputSchema: objectSchema(),\n })\n const destructive = (id: string, title: string, description: string): IntegrationConnectorAction => ({\n id,\n title,\n description,\n risk: 'destructive',\n requiredScopes: scope(writeScope),\n dataClass: dataClassFor(pack),\n approvalRequired: true,\n inputSchema: objectSchema(),\n })\n switch (pack) {\n case 'email': return [read('messages.search', 'Search messages', 'Search messages and threads.'), read('messages.read', 'Read message', 'Read a message by id.'), write('drafts.create', 'Create draft', 'Create an email draft.'), write('messages.send', 'Send message', 'Send or reply to an email message.')]\n case 'calendar': return [read('events.search', 'Search events', 'Search calendar events.'), read('availability.read', 'Read availability', 'Read availability windows.'), write('events.create', 'Create event', 'Create a calendar event.'), write('events.update', 'Update event', 'Update a calendar event.'), destructive('events.cancel', 'Cancel event', 'Cancel a calendar event.')]\n case 'chat': return [read('messages.search', 'Search messages', 'Search channel or direct messages.'), read('channels.list', 'List channels', 'List channels or rooms.'), write('messages.post', 'Send message', 'Send a message to a channel or direct message.'), write('threads.reply', 'Reply in thread', 'Reply to a thread or conversation.')]\n case 'crm': return [read('records.search', 'Search records', 'Search contacts, companies, and deals.'), read('records.read', 'Read record', 'Read a CRM record.'), write('records.upsert', 'Upsert record', 'Create or update a CRM record.'), write('notes.create', 'Create note', 'Add a note or activity.')]\n case 'storage': return [read('files.search', 'Search files', 'Search files and folders.'), read('files.read', 'Read file', 'Read file metadata or content.'), write('files.upload', 'Upload file', 'Upload a file.'), write('files.update', 'Update file', 'Update file metadata or content.')]\n case 'docs': return [read('documents.search', 'Search documents', 'Search documents or pages.'), read('documents.read', 'Read document', 'Read a document.'), write('documents.create', 'Create document', 'Create a document or page.'), write('documents.update', 'Update document', 'Update a document or page.')]\n case 'database': return [read('records.query', 'Query records', 'Query rows, records, or objects.'), read('records.read', 'Read record', 'Read one row, record, or object.'), write('records.upsert', 'Upsert record', 'Create or update a row, record, or object.'), destructive('records.delete', 'Delete record', 'Delete a row, record, or object.')]\n case 'project': return [read('tasks.search', 'Search tasks', 'Search tasks, tickets, or issues.'), read('tasks.read', 'Read task', 'Read a task, ticket, or issue.'), write('tasks.create', 'Create task', 'Create a task, ticket, or issue.'), write('tasks.update', 'Update task', 'Update a task, ticket, or issue.')]\n case 'support': return [read('tickets.search', 'Search tickets', 'Search support tickets or conversations.'), read('customers.read', 'Read customer', 'Read a customer profile.'), write('tickets.reply', 'Reply to ticket', 'Reply to a support ticket.'), write('tickets.update', 'Update ticket', 'Update ticket status, tags, or assignee.')]\n case 'marketing': return [read('contacts.search', 'Search contacts', 'Search marketing contacts or audiences.'), read('campaigns.read', 'Read campaign', 'Read campaign metadata and performance.'), write('contacts.upsert', 'Upsert contact', 'Create or update a contact.'), write('campaigns.create', 'Create campaign', 'Create a campaign draft.')]\n case 'sales': return [read('prospects.search', 'Search prospects', 'Search prospects, leads, or accounts.'), read('activities.read', 'Read activities', 'Read sales activity history.'), write('prospects.upsert', 'Upsert prospect', 'Create or update a prospect.'), write('sequence.enqueue', 'Enroll in sequence', 'Enroll a prospect in a sales sequence.')]\n case 'commerce': return [read('orders.search', 'Search orders', 'Search orders.'), read('customers.read', 'Read customer', 'Read customer and purchase history.'), write('orders.update', 'Update order', 'Update order metadata or fulfillment state.'), write('products.update', 'Update product', 'Update product metadata.')]\n case 'finance': return [read('transactions.search', 'Search transactions', 'Search transactions, invoices, or payments.'), read('accounts.read', 'Read account', 'Read account or customer financial record.'), write('invoices.create', 'Create invoice', 'Create an invoice or payment object.'), write('records.sync', 'Sync record', 'Sync a finance or accounting record.')]\n case 'hr': return [read('people.search', 'Search people', 'Search employees, candidates, or contractors.'), read('people.read', 'Read person', 'Read a person profile.'), write('people.update', 'Update person', 'Update a person profile.'), write('events.create', 'Create HR event', 'Create a recruiting or HR event.')]\n case 'dev': return [read('resources.search', 'Search resources', 'Search issues, repos, deployments, logs, or incidents.'), read('resources.read', 'Read resource', 'Read a developer resource.'), write('resources.create', 'Create resource', 'Create an issue, deployment, incident, or config.'), write('resources.update', 'Update resource', 'Update a developer resource.')]\n case 'ai': return [read('models.list', 'List models', 'List available models or endpoints.'), write('responses.create', 'Create response', 'Create an AI response or job.'), write('embeddings.create', 'Create embeddings', 'Create embeddings or vector jobs.'), read('usage.read', 'Read usage', 'Read usage metadata.')]\n case 'analytics': return [read('reports.query', 'Query reports', 'Query analytics reports.'), read('events.search', 'Search events', 'Search analytics events.'), write('events.track', 'Track event', 'Track an analytics event.'), write('audiences.sync', 'Sync audience', 'Sync an audience or cohort.')]\n case 'workflow': return [read('runs.search', 'Search runs', 'Search workflow runs or jobs.'), read('templates.list', 'List templates', 'List workflow templates.'), write('runs.start', 'Start run', 'Start a workflow run.'), write('webhooks.dispatch', 'Dispatch webhook', 'Dispatch a workflow webhook.')]\n case 'webhook': return [write('requests.send', 'Send request', 'Send an HTTP request or webhook event.'), read('events.search', 'Search events', 'Search received webhook events.'), write('subscriptions.create', 'Create subscription', 'Create a webhook subscription.'), destructive('subscriptions.delete', 'Delete subscription', 'Delete a webhook subscription.')]\n case 'meeting': return [read('meetings.search', 'Search meetings', 'Search meetings and recorded calls.'), read('transcripts.read', 'Read transcript', 'Read a meeting transcript.'), read('summaries.read', 'Read summary', 'Read meeting notes, summaries, and action items.'), write('notes.create', 'Create note', 'Create or attach an approved note to a meeting.')]\n case 'telephony': return [read('calls.search', 'Search calls', 'Search inbound and outbound calls.'), read('recordings.read', 'Read recording', 'Read call recording metadata and transcripts.'), read('messages.search', 'Search messages', 'Search SMS and MMS conversations.'), write('messages.send', 'Send message', 'Send an approved SMS or MMS message.')]\n }\n}\n\nfunction triggersFor(pack: IntegrationActionPack, scopes: string[]): IntegrationConnectorTrigger[] | undefined {\n const readScope = scopes.find((scope) => scope.endsWith('.read')) ?? scopes[0]\n const requiredScopes = readScope ? [readScope] : []\n if (pack === 'email') return [{ id: 'message.received', title: 'Message received', requiredScopes, dataClass: 'private' }]\n if (pack === 'calendar') return [{ id: 'event.changed', title: 'Event changed', requiredScopes, dataClass: 'private' }]\n if (pack === 'chat') return [{ id: 'message.posted', title: 'Message posted', requiredScopes, dataClass: 'private' }]\n if (pack === 'crm') return [\n { id: 'person.changed', title: 'Person changed', requiredScopes, dataClass: 'private' },\n { id: 'company.changed', title: 'Company changed', requiredScopes, dataClass: 'private' },\n { id: 'opportunity.changed', title: 'Opportunity changed', requiredScopes, dataClass: 'private' },\n { id: 'stage.changed', title: 'Stage changed', requiredScopes, dataClass: 'private' },\n { id: 'owner.changed', title: 'Owner changed', requiredScopes, dataClass: 'private' },\n { id: 'record.deleted', title: 'Record deleted', requiredScopes, dataClass: 'private' },\n ]\n if (pack === 'docs') return [\n { id: 'document.changed', title: 'Document changed', requiredScopes, dataClass: 'private' },\n { id: 'document.shared', title: 'Document shared', requiredScopes, dataClass: 'private' },\n ]\n if (pack === 'database') return [{ id: 'record.changed', title: 'Record changed', requiredScopes, dataClass: 'private' }]\n if (pack === 'project') return [\n { id: 'task.changed', title: 'Task changed', requiredScopes, dataClass: 'private' },\n { id: 'task.overdue', title: 'Task overdue', requiredScopes, dataClass: 'private' },\n ]\n if (pack === 'support') return [{ id: 'ticket.changed', title: 'Ticket changed', requiredScopes, dataClass: 'private' }]\n if (pack === 'commerce') return [{ id: 'order.changed', title: 'Order changed', requiredScopes, dataClass: 'sensitive' }]\n if (pack === 'finance') return [{ id: 'transaction.changed', title: 'Transaction changed', requiredScopes, dataClass: 'sensitive' }]\n if (pack === 'workflow' || pack === 'webhook') return [{ id: 'event.received', title: 'Event received', requiredScopes, dataClass: 'internal' }]\n if (pack === 'meeting') return [\n { id: 'meeting.ended', title: 'Meeting ended', requiredScopes, dataClass: 'private' },\n { id: 'transcript.ready', title: 'Transcript ready', requiredScopes, dataClass: 'private' },\n { id: 'summary.ready', title: 'Summary ready', requiredScopes, dataClass: 'private' },\n ]\n if (pack === 'telephony') return [\n { id: 'call.completed', title: 'Call completed', requiredScopes, dataClass: 'private' },\n { id: 'call.missed', title: 'Call missed', requiredScopes, dataClass: 'private' },\n { id: 'recording.ready', title: 'Recording ready', requiredScopes, dataClass: 'private' },\n { id: 'transcript.ready', title: 'Transcript ready', requiredScopes, dataClass: 'private' },\n { id: 'message.received', title: 'Message received', requiredScopes, dataClass: 'private' },\n ]\n return undefined\n}\n\nfunction scopesFor(id: string, pack: IntegrationActionPack): string[] {\n if (pack === 'webhook') return []\n return [`${id}.read`, `${id}.write`]\n}\n\nfunction providerKindsFor(auth: IntegrationConnector['auth']): IntegrationProviderKind[] {\n if (auth === 'none') return ['first_party', 'pipedream', 'tangle_catalog', 'custom']\n return DEFAULT_PROVIDER_KINDS\n}\n\nfunction dataClassFor(pack: IntegrationActionPack): 'public' | 'internal' | 'private' | 'sensitive' {\n if (pack === 'finance' || pack === 'commerce' || pack === 'hr') return 'sensitive'\n if (pack === 'workflow' || pack === 'webhook' || pack === 'dev' || pack === 'analytics') return 'internal'\n return 'private'\n}\n\nfunction objectSchema(): unknown {\n return { type: 'object', additionalProperties: true, properties: {} }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"coverage-catalog.js","names":[],"sources":["../src/coverage-catalog.ts"],"sourcesContent":["import type {\n IntegrationConnector,\n IntegrationConnectorAction,\n IntegrationConnectorCategory,\n IntegrationConnectorTrigger,\n IntegrationProviderKind,\n} from './core-types.js'\n\nexport type IntegrationCoveragePriority = 'tier_0' | 'tier_1' | 'tier_2' | 'long_tail'\n\nexport interface IntegrationCoverageSpec {\n id: string\n title: string\n category: IntegrationConnectorCategory\n auth: IntegrationConnector['auth']\n priority: IntegrationCoveragePriority\n providerKinds: IntegrationProviderKind[]\n domains: string[]\n actionPack: IntegrationActionPack\n scopes?: string[]\n}\n\nexport type IntegrationActionPack =\n | 'email'\n | 'calendar'\n | 'chat'\n | 'crm'\n | 'storage'\n | 'docs'\n | 'database'\n | 'project'\n | 'support'\n | 'marketing'\n | 'sales'\n | 'commerce'\n | 'finance'\n | 'hr'\n | 'dev'\n | 'ai'\n | 'analytics'\n | 'workflow'\n | 'webhook'\n | 'meeting'\n | 'telephony'\n\ntype SpecTuple = [\n id: string,\n title: string,\n category: IntegrationConnectorCategory,\n actionPack: IntegrationActionPack,\n priority: IntegrationCoveragePriority,\n domains: string,\n auth?: IntegrationConnector['auth'],\n]\n\nconst DEFAULT_PROVIDER_KINDS: IntegrationProviderKind[] = ['first_party', 'nango', 'pipedream', 'tangle_catalog', 'custom']\n\nconst COVERAGE_SPECS: SpecTuple[] = [\n ['gmail', 'Gmail', 'email', 'email', 'tier_0', 'email,google,workspace,inbox'],\n ['outlook-mail', 'Outlook Mail', 'email', 'email', 'tier_0', 'email,microsoft,office,inbox'],\n ['google-calendar', 'Google Calendar', 'calendar', 'calendar', 'tier_0', 'calendar,google,workspace,scheduling'],\n ['outlook-calendar', 'Outlook Calendar', 'calendar', 'calendar', 'tier_0', 'calendar,microsoft,office,scheduling'],\n ['slack', 'Slack', 'chat', 'chat', 'tier_0', 'chat,collaboration,internal-comms'],\n ['microsoft-teams', 'Microsoft Teams', 'chat', 'chat', 'tier_0', 'chat,microsoft,collaboration'],\n ['google-drive', 'Google Drive', 'storage', 'storage', 'tier_0', 'files,google,workspace,storage'],\n ['onedrive', 'OneDrive', 'storage', 'storage', 'tier_0', 'files,microsoft,office,storage'],\n ['dropbox', 'Dropbox', 'storage', 'storage', 'tier_1', 'files,storage'],\n ['box', 'Box', 'storage', 'storage', 'tier_1', 'files,enterprise,storage'],\n ['google-docs', 'Google Docs', 'docs', 'docs', 'tier_0', 'docs,google,workspace'],\n ['google-sheets', 'Google Sheets', 'database', 'database', 'tier_0', 'sheets,spreadsheet,google,database'],\n ['google-contacts', 'Google Contacts and Directory', 'crm', 'crm', 'tier_0', 'contacts,people,directory,google,workspace'],\n ['google-slides', 'Google Slides', 'docs', 'docs', 'tier_1', 'slides,presentations,google,workspace'],\n ['googlechat', 'Google Chat', 'chat', 'chat', 'tier_1', 'chat,collaboration,google,workspace'],\n ['google-tasks', 'Google Tasks', 'workflow', 'project', 'tier_1', 'tasks,google,workspace'],\n ['microsoft-excel-365', 'Microsoft Excel 365', 'database', 'database', 'tier_0', 'sheets,spreadsheet,microsoft,office,database'],\n ['notion', 'Notion', 'docs', 'docs', 'tier_0', 'docs,wiki,knowledge'],\n ['airtable', 'Airtable', 'database', 'database', 'tier_0', 'database,spreadsheet,ops'],\n ['baserow', 'Baserow', 'database', 'database', 'tier_1', 'database,spreadsheet,ops,open-source', 'api_key'],\n ['coda', 'Coda', 'docs', 'docs', 'tier_1', 'docs,wiki,ops'],\n ['confluence', 'Confluence', 'docs', 'docs', 'tier_1', 'docs,wiki,atlassian'],\n ['sharepoint', 'SharePoint', 'storage', 'storage', 'tier_1', 'files,microsoft,enterprise'],\n ['microsoft-365-people', 'Microsoft 365 People', 'crm', 'crm', 'tier_0', 'contacts,people,microsoft,office'],\n ['microsoft-365-planner', 'Microsoft Planner', 'workflow', 'project', 'tier_1', 'tasks,planning,microsoft,office'],\n ['microsoft-todo', 'Microsoft To Do', 'workflow', 'project', 'tier_1', 'tasks,microsoft,office'],\n ['microsoft-onenote', 'Microsoft OneNote', 'docs', 'docs', 'tier_1', 'notes,docs,microsoft,office'],\n ['microsoft-dynamics-crm', 'Microsoft Dynamics 365 CRM', 'crm', 'crm', 'tier_0', 'crm,sales,microsoft,dynamics'],\n ['microsoft-dynamics-365-business-central', 'Microsoft Dynamics 365 Business Central', 'workflow', 'finance', 'tier_1', 'erp,finance,microsoft,dynamics'],\n ['microsoft-power-bi', 'Microsoft Power BI', 'database', 'analytics', 'tier_1', 'analytics,reporting,microsoft,office'],\n ['microsoft-forms', 'Microsoft Forms', 'workflow', 'marketing', 'tier_1', 'forms,microsoft,office,commercial-api', 'custom'],\n ['microsoft-word', 'Microsoft Word', 'docs', 'docs', 'tier_1', 'docs,microsoft,office,commercial-api', 'custom'],\n ['hubspot', 'HubSpot', 'crm', 'crm', 'tier_0', 'crm,sales,marketing'],\n ['salesforce', 'Salesforce', 'crm', 'crm', 'tier_0', 'crm,sales,enterprise'],\n ['pipedrive', 'Pipedrive', 'crm', 'crm', 'tier_1', 'crm,sales'],\n ['zoho-crm', 'Zoho CRM', 'crm', 'crm', 'tier_1', 'crm,sales'],\n ['zoho-desk', 'Zoho Desk', 'crm', 'support', 'tier_1', 'support,tickets,crm,zoho'],\n ['zoho-bookings', 'Zoho Bookings', 'calendar', 'calendar', 'tier_1', 'appointments,scheduling,calendar,zoho'],\n ['zoho-books', 'Zoho Books', 'workflow', 'finance', 'tier_1', 'accounting,invoices,finance,zoho'],\n ['zoho-invoice', 'Zoho Invoice', 'workflow', 'finance', 'tier_1', 'invoices,billing,finance,zoho'],\n ['zoho-mail', 'Zoho Mail', 'email', 'email', 'tier_1', 'email,inbox,zoho'],\n ['zoho-campaigns', 'Zoho Campaigns', 'workflow', 'marketing', 'tier_1', 'email-marketing,campaigns,zoho'],\n ['close', 'Close', 'crm', 'crm', 'tier_1', 'crm,sales'],\n ['attio', 'Attio', 'crm', 'crm', 'tier_1', 'crm,sales,startups'],\n ['affinity', 'Affinity', 'crm', 'crm', 'tier_0', 'crm,relationships,private-markets', 'api_key'],\n ['dealcloud', 'DealCloud', 'crm', 'crm', 'tier_0', 'crm,relationships,private-markets,commercial-api', 'custom'],\n ['outreach', 'Outreach', 'crm', 'sales', 'tier_1', 'sales-engagement,sequences,crm'],\n ['salesloft', 'Salesloft', 'crm', 'sales', 'tier_1', 'sales-engagement,cadences,crm'],\n ['zoominfo', 'ZoomInfo', 'crm', 'sales', 'tier_1', 'sales-intelligence,enrichment,gtm'],\n ['demandbase', 'Demandbase', 'crm', 'sales', 'tier_1', 'account-intelligence,abm,gtm'],\n ['linear', 'Linear', 'workflow', 'project', 'tier_0', 'project,engineering,tickets'],\n ['jira', 'Jira', 'workflow', 'project', 'tier_0', 'project,engineering,tickets,atlassian'],\n ['github', 'GitHub', 'workflow', 'dev', 'tier_0', 'code,dev,issues,git'],\n ['gitlab', 'GitLab', 'workflow', 'dev', 'tier_1', 'code,dev,issues,git'],\n ['bitbucket', 'Bitbucket', 'workflow', 'dev', 'tier_2', 'code,dev,git,atlassian'],\n ['asana', 'Asana', 'workflow', 'project', 'tier_1', 'project,tasks'],\n ['trello', 'Trello', 'workflow', 'project', 'tier_1', 'project,tasks,atlassian'],\n ['monday', 'monday.com', 'workflow', 'project', 'tier_1', 'project,tasks,ops'],\n ['clickup', 'ClickUp', 'workflow', 'project', 'tier_1', 'project,tasks,ops'],\n ['basecamp', 'Basecamp', 'workflow', 'project', 'tier_2', 'project,tasks'],\n ['zendesk', 'Zendesk', 'crm', 'support', 'tier_0', 'support,tickets,customer-success'],\n ['intercom', 'Intercom', 'crm', 'support', 'tier_0', 'support,chat,customer-success'],\n ['freshdesk', 'Freshdesk', 'crm', 'support', 'tier_1', 'support,tickets'],\n ['helpscout', 'Help Scout', 'crm', 'support', 'tier_1', 'support,tickets'],\n ['front', 'Front', 'email', 'support', 'tier_1', 'support,email,shared-inbox'],\n ['gorgias', 'Gorgias', 'crm', 'support', 'tier_1', 'support,ecommerce'],\n ['stripe', 'Stripe', 'workflow', 'finance', 'tier_0', 'payments,billing,finance'],\n ['chargebee', 'Chargebee', 'workflow', 'finance', 'tier_1', 'subscriptions,billing,revenue', 'api_key'],\n ['paddle', 'Paddle', 'workflow', 'finance', 'tier_1', 'payments,billing,merchant-of-record', 'api_key'],\n ['quickbooks', 'QuickBooks', 'workflow', 'finance', 'tier_0', 'accounting,finance'],\n ['xero', 'Xero', 'workflow', 'finance', 'tier_1', 'accounting,finance'],\n ['netsuite', 'NetSuite', 'workflow', 'finance', 'tier_1', 'erp,finance,enterprise', 'api_key'],\n ['sage', 'Sage', 'workflow', 'finance', 'tier_2', 'accounting,finance'],\n ['sage-intacct', 'Sage Intacct', 'workflow', 'finance', 'tier_1', 'accounting,erp,finance', 'api_key'],\n ['plaid', 'Plaid', 'workflow', 'finance', 'tier_1', 'banking,finance', 'api_key'],\n ['ramp', 'Ramp', 'workflow', 'finance', 'tier_1', 'cards,expenses,finance', 'api_key'],\n ['brex', 'Brex', 'workflow', 'finance', 'tier_1', 'cards,expenses,finance', 'api_key'],\n ['bill-com', 'BILL', 'workflow', 'finance', 'tier_1', 'accounts-payable,bills,payments', 'api_key'],\n ['avalara', 'Avalara AvaTax', 'workflow', 'finance', 'tier_1', 'tax,sales-tax,compliance,finance', 'api_key'],\n ['taxjar', 'TaxJar', 'workflow', 'finance', 'tier_1', 'tax,sales-tax,compliance,finance', 'api_key'],\n ['shopify', 'Shopify', 'workflow', 'commerce', 'tier_0', 'ecommerce,orders,commerce'],\n ['woocommerce', 'WooCommerce', 'workflow', 'commerce', 'tier_1', 'ecommerce,orders,wordpress'],\n ['bigcommerce', 'BigCommerce', 'workflow', 'commerce', 'tier_1', 'ecommerce,orders'],\n ['amazon-seller-central', 'Amazon Seller Central', 'workflow', 'commerce', 'tier_1', 'marketplace,ecommerce'],\n ['ebay', 'eBay', 'workflow', 'commerce', 'tier_2', 'marketplace,ecommerce'],\n ['etsy', 'Etsy', 'workflow', 'commerce', 'tier_2', 'marketplace,ecommerce'],\n ['mailchimp', 'Mailchimp', 'workflow', 'marketing', 'tier_0', 'email-marketing,marketing'],\n ['klaviyo', 'Klaviyo', 'workflow', 'marketing', 'tier_0', 'email-marketing,ecommerce,marketing'],\n ['marketo', 'Marketo', 'workflow', 'marketing', 'tier_1', 'marketing,enterprise'],\n ['braze', 'Braze', 'workflow', 'marketing', 'tier_1', 'marketing,lifecycle'],\n ['customer-io', 'Customer.io', 'workflow', 'marketing', 'tier_1', 'marketing,lifecycle'],\n ['sendgrid', 'SendGrid', 'email', 'email', 'tier_1', 'email,transactional'],\n ['postmark', 'Postmark', 'email', 'email', 'tier_1', 'email,transactional'],\n ['twilio', 'Twilio', 'chat', 'chat', 'tier_0', 'sms,voice,communications'],\n ['clicksend', 'ClickSend', 'chat', 'telephony', 'tier_1', 'sms,voice,communications,contact-lists', 'api_key'],\n ['open-phone', 'OpenPhone', 'chat', 'telephony', 'tier_0', 'sms,voice,telephony,communications', 'api_key'],\n ['ringcentral', 'RingCentral', 'chat', 'telephony', 'tier_0', 'voice,sms,telephony,communications'],\n ['dialpad', 'Dialpad', 'chat', 'telephony', 'tier_0', 'voice,sms,telephony,communications'],\n ['aircall', 'Aircall', 'chat', 'telephony', 'tier_1', 'voice,telephony,communications', 'api_key'],\n ['phony', 'ph0ny', 'chat', 'chat', 'tier_1', 'voice,telephony,communications', 'api_key'],\n ['discord', 'Discord', 'chat', 'chat', 'tier_1', 'chat,community'],\n ['discourse', 'Discourse', 'chat', 'chat', 'tier_1', 'community,forum,support,knowledge', 'api_key'],\n ['telegram', 'Telegram', 'chat', 'chat', 'tier_1', 'chat,community'],\n ['whatsapp-business', 'WhatsApp Business', 'chat', 'chat', 'tier_1', 'chat,meta,customer-comms'],\n ['facebook-pages', 'Facebook Pages', 'workflow', 'marketing', 'tier_1', 'social,meta,marketing'],\n ['instagram-business', 'Instagram Business', 'workflow', 'marketing', 'tier_1', 'social,meta,marketing'],\n ['linkedin', 'LinkedIn', 'workflow', 'sales', 'tier_1', 'social,sales,gtm'],\n ['x-twitter', 'X / Twitter', 'workflow', 'marketing', 'tier_1', 'social,marketing'],\n ['youtube', 'YouTube', 'storage', 'storage', 'tier_1', 'video,content'],\n ['tiktok', 'TikTok', 'workflow', 'marketing', 'tier_2', 'social,video,marketing'],\n ['google-ads', 'Google Ads', 'workflow', 'marketing', 'tier_0', 'ads,google,marketing,paid-search'],\n ['meta-ads', 'Meta Ads', 'workflow', 'marketing', 'tier_0', 'ads,facebook,instagram,meta,paid-social'],\n ['x-ads', 'X Ads', 'workflow', 'marketing', 'tier_0', 'ads,x,twitter,paid-social', 'api_key'],\n ['tiktok-ads', 'TikTok Ads', 'workflow', 'marketing', 'tier_0', 'ads,tiktok,video,paid-social', 'api_key'],\n ['linkedin-ads', 'LinkedIn Ads', 'workflow', 'marketing', 'tier_0', 'ads,linkedin,b2b,paid-social'],\n ['microsoft-ads', 'Microsoft Advertising', 'workflow', 'marketing', 'tier_1', 'ads,microsoft,bing,paid-search'],\n ['reddit-ads', 'Reddit Ads', 'workflow', 'marketing', 'tier_1', 'ads,reddit,communities,paid-social'],\n ['pinterest-ads', 'Pinterest Ads', 'workflow', 'marketing', 'tier_1', 'ads,pinterest,shopping,paid-social'],\n ['snapchat-ads', 'Snapchat Ads', 'workflow', 'marketing', 'tier_1', 'ads,snapchat,snap,video,paid-social'],\n ['amazon-ads', 'Amazon Ads', 'workflow', 'marketing', 'tier_1', 'ads,amazon,commerce,sponsored-products'],\n ['google-analytics', 'Google Analytics', 'database', 'analytics', 'tier_0', 'analytics,web,marketing'],\n ['mixpanel', 'Mixpanel', 'database', 'analytics', 'tier_1', 'analytics,product'],\n ['amplitude', 'Amplitude', 'database', 'analytics', 'tier_1', 'analytics,product', 'api_key'],\n ['segment', 'Segment', 'database', 'analytics', 'tier_1', 'analytics,cdp'],\n ['snowflake', 'Snowflake', 'database', 'database', 'tier_0', 'warehouse,data'],\n ['bigquery', 'BigQuery', 'database', 'database', 'tier_0', 'warehouse,google,data'],\n ['redshift', 'Redshift', 'database', 'database', 'tier_1', 'warehouse,aws,data', 'custom'],\n ['postgres', 'Postgres', 'database', 'database', 'tier_0', 'database,sql', 'custom'],\n ['mysql', 'MySQL', 'database', 'database', 'tier_1', 'database,sql'],\n ['mongodb', 'MongoDB', 'database', 'database', 'tier_1', 'database,nosql', 'custom'],\n ['supabase', 'Supabase', 'database', 'database', 'tier_1', 'database,postgres'],\n ['firebase', 'Firebase', 'database', 'database', 'tier_1', 'database,google,app'],\n ['redis', 'Redis', 'database', 'database', 'tier_2', 'database,cache', 'custom'],\n ['aws-s3', 'Amazon S3', 'storage', 'storage', 'tier_0', 'files,aws,storage'],\n ['amazon-sns', 'Amazon SNS', 'webhook', 'webhook', 'tier_1', 'events,notifications,aws', 'api_key'],\n ['amazon-sqs', 'Amazon SQS', 'webhook', 'webhook', 'tier_1', 'events,queues,aws', 'api_key'],\n ['aws-lambda', 'AWS Lambda', 'workflow', 'dev', 'tier_1', 'aws,serverless,dev', 'api_key'],\n ['aws-cloudwatch', 'AWS CloudWatch', 'database', 'analytics', 'tier_1', 'aws,logs,observability', 'api_key'],\n ['google-cloud-storage', 'Google Cloud Storage', 'storage', 'storage', 'tier_1', 'files,gcp,storage'],\n ['azure-blob-storage', 'Azure Blob Storage', 'storage', 'storage', 'tier_1', 'files,azure,storage'],\n ['vercel', 'Vercel', 'workflow', 'dev', 'tier_1', 'deployments,dev'],\n ['digital-ocean', 'DigitalOcean', 'workflow', 'dev', 'tier_1', 'cloud,infrastructure,compute,database,storage', 'api_key'],\n ['netlify', 'Netlify', 'workflow', 'dev', 'tier_2', 'deployments,dev'],\n ['cloudflare', 'Cloudflare', 'workflow', 'dev', 'tier_1', 'edge,dev,dns', 'api_key'],\n ['sentry', 'Sentry', 'workflow', 'dev', 'tier_1', 'errors,observability,dev'],\n ['datadog', 'Datadog', 'database', 'analytics', 'tier_1', 'observability,logs,metrics'],\n ['new-relic', 'New Relic', 'database', 'analytics', 'tier_2', 'observability,logs,metrics'],\n ['pagerduty', 'PagerDuty', 'workflow', 'project', 'tier_1', 'incident,on-call'],\n ['opsgenie', 'Opsgenie', 'workflow', 'project', 'tier_2', 'incident,on-call,atlassian'],\n ['okta', 'Okta', 'internal', 'workflow', 'tier_1', 'identity,security', 'api_key'],\n ['auth0', 'Auth0', 'internal', 'workflow', 'tier_1', 'identity,security'],\n ['ping-identity', 'Ping Identity', 'internal', 'workflow', 'tier_1', 'identity,security,provisioning', 'api_key'],\n ['onelogin', 'OneLogin', 'internal', 'workflow', 'tier_1', 'identity,security,provisioning', 'api_key'],\n ['scim', 'SCIM', 'internal', 'workflow', 'tier_1', 'identity,security,provisioning', 'api_key'],\n ['workday', 'Workday', 'workflow', 'hr', 'tier_1', 'hr,finance,enterprise'],\n ['bamboohr', 'BambooHR', 'workflow', 'hr', 'tier_1', 'hr,people'],\n ['greenhouse', 'Greenhouse', 'workflow', 'hr', 'tier_1', 'recruiting,hr'],\n ['lever', 'Lever', 'workflow', 'hr', 'tier_1', 'recruiting,hr'],\n ['gusto', 'Gusto', 'workflow', 'hr', 'tier_1', 'payroll,hr'],\n ['rippling', 'Rippling', 'workflow', 'hr', 'tier_1', 'hr,it,identity'],\n ['adp', 'ADP', 'workflow', 'hr', 'tier_1', 'hr,payroll,workforce'],\n ['paychex', 'Paychex', 'workflow', 'hr', 'tier_1', 'hr,payroll,workforce'],\n ['docusign', 'DocuSign', 'docs', 'docs', 'tier_1', 'contracts,signature,legal'],\n ['adobe-sign', 'Adobe Acrobat Sign', 'docs', 'docs', 'tier_1', 'contracts,signature,legal'],\n ['pandadoc', 'PandaDoc', 'docs', 'docs', 'tier_1', 'contracts,signature,sales'],\n ['hellosign', 'Dropbox Sign', 'docs', 'docs', 'tier_2', 'contracts,signature'],\n ['clio', 'Clio', 'workflow', 'project', 'tier_1', 'legal,practice-management'],\n ['mycase', 'MyCase', 'crm', 'project', 'tier_1', 'legal,practice-management,cases'],\n ['ironclad', 'Ironclad', 'docs', 'docs', 'tier_1', 'legal,contracts'],\n ['lexisnexis', 'LexisNexis', 'docs', 'docs', 'tier_2', 'legal,research'],\n ['calendly', 'Calendly', 'calendar', 'calendar', 'tier_0', 'scheduling,calendar'],\n ['acuity-scheduling', 'Acuity Scheduling', 'calendar', 'calendar', 'tier_1', 'appointments,scheduling,calendar'],\n ['cal-com', 'Cal.com', 'calendar', 'calendar', 'tier_1', 'scheduling,calendar'],\n ['zoom', 'Zoom', 'calendar', 'calendar', 'tier_0', 'meetings,video,calendar'],\n ['granola', 'Granola', 'docs', 'meeting', 'tier_0', 'meetings,notes,transcripts', 'api_key'],\n ['gong', 'Gong', 'docs', 'meeting', 'tier_0', 'meetings,calls,transcripts,sales'],\n ['fathom', 'Fathom', 'docs', 'meeting', 'tier_0', 'meetings,notes,transcripts'],\n ['fireflies-ai', 'Fireflies.ai', 'docs', 'meeting', 'tier_0', 'meetings,notes,transcripts', 'api_key'],\n ['otter', 'Otter.ai', 'docs', 'meeting', 'tier_0', 'meetings,notes,transcripts,commercial-api', 'custom'],\n ['google-meet', 'Google Meet', 'calendar', 'calendar', 'tier_1', 'meetings,google,video'],\n ['microsoft-graph', 'Microsoft Graph', 'internal', 'workflow', 'tier_0', 'microsoft,enterprise,identity'],\n ['openai', 'OpenAI', 'workflow', 'ai', 'tier_0', 'ai,llm'],\n ['anthropic', 'Anthropic', 'workflow', 'ai', 'tier_1', 'ai,llm'],\n ['gemini', 'Google Gemini', 'workflow', 'ai', 'tier_1', 'ai,llm,google'],\n ['huggingface', 'Hugging Face', 'workflow', 'ai', 'tier_1', 'ai,models'],\n ['pinecone', 'Pinecone', 'database', 'database', 'tier_1', 'vector,database,ai'],\n ['weaviate', 'Weaviate', 'database', 'database', 'tier_1', 'vector,database,ai'],\n ['qdrant', 'Qdrant', 'database', 'database', 'tier_1', 'vector,database,ai'],\n ['zapier', 'Zapier', 'workflow', 'workflow', 'tier_1', 'automation,workflow'],\n ['make', 'Make', 'workflow', 'workflow', 'tier_1', 'automation,workflow'],\n ['nango', 'Nango', 'workflow', 'workflow', 'tier_1', 'integration-platform,gateway', 'custom'],\n ['pipedream', 'Pipedream', 'workflow', 'workflow', 'tier_1', 'integration-platform,workflow'],\n ['open-automation-catalog', 'Open Automation Catalog', 'workflow', 'workflow', 'tier_1', 'automation,workflow,open-source'],\n ['actualbudget', 'Actual Budget', 'workflow', 'finance', 'tier_2', 'finance,budgeting,accounting', 'api_key'],\n ['aianswer', 'AI Answer', 'chat', 'ai', 'long_tail', 'ai,answers,chat', 'api_key'],\n ['airparser', 'Airparser', 'docs', 'docs', 'tier_2', 'documents,parsing,extraction', 'api_key'],\n ['anyhook-websocket', 'AnyHook WebSocket', 'webhook', 'webhook', 'long_tail', 'websocket,events,automation', 'api_key'],\n ['apify', 'Apify', 'database', 'workflow', 'tier_2', 'scraping,automation,data', 'api_key'],\n ['ask-handle', 'AskHandle', 'workflow', 'ai', 'long_tail', 'ai,forms,automation', 'api_key'],\n ['bannerbear', 'Bannerbear', 'docs', 'marketing', 'tier_2', 'images,creative,marketing', 'api_key'],\n ['base44', 'Base44', 'workflow', 'dev', 'long_tail', 'apps,automation,dev', 'api_key'],\n ['beehiiv', 'Beehiiv', 'email', 'marketing', 'tier_2', 'newsletter,email,marketing', 'api_key'],\n ['bika', 'Bika.ai', 'docs', 'database', 'long_tail', 'database,workspace,automation', 'api_key'],\n ['buttondown', 'Buttondown', 'email', 'marketing', 'tier_2', 'newsletter,email,marketing', 'api_key'],\n ['camb-ai', 'Camb.AI', 'workflow', 'ai', 'long_tail', 'ai,audio,translation', 'api_key'],\n ['cartloom', 'Cartloom', 'workflow', 'commerce', 'long_tail', 'commerce,checkout,orders', 'api_key'],\n ['chain-aware', 'ChainAware.AI', 'database', 'analytics', 'long_tail', 'blockchain,risk,analytics', 'api_key'],\n ['chaindesk', 'Chaindesk', 'workflow', 'ai', 'long_tail', 'ai,knowledge,chatbot', 'api_key'],\n ['chat-aid', 'Chat Aid', 'workflow', 'ai', 'long_tail', 'ai,chat,knowledge', 'api_key'],\n ['chatsistant', 'Chatsistant', 'chat', 'chat', 'long_tail', 'chat,ai,support', 'api_key'],\n ['claude', 'Anthropic Claude', 'workflow', 'ai', 'tier_1', 'ai,llm,anthropic', 'api_key'],\n ['clearoutphone', 'ClearoutPhone', 'workflow', 'telephony', 'long_tail', 'phone,validation,enrichment', 'api_key'],\n ['clickfunnels', 'ClickFunnels', 'workflow', 'marketing', 'tier_2', 'marketing,funnels,crm', 'api_key'],\n ['cody', 'Cody', 'workflow', 'ai', 'long_tail', 'ai,knowledge,assistant', 'api_key'],\n ['contextual-ai', 'Contextual AI', 'workflow', 'ai', 'tier_2', 'ai,rag,knowledge', 'api_key'],\n ['contiguity', 'Contiguity', 'chat', 'telephony', 'long_tail', 'sms,messaging,communications', 'api_key'],\n ['couchbase', 'Couchbase', 'database', 'database', 'tier_2', 'database,nosql,data', 'api_key'],\n ['dappier', 'Dappier', 'workflow', 'ai', 'long_tail', 'ai,data,search', 'api_key'],\n ['deepgram', 'Deepgram', 'workflow', 'ai', 'tier_2', 'audio,transcription,ai', 'api_key'],\n ['detecting-ai', 'Detecting AI', 'workflow', 'ai', 'long_tail', 'ai,detection,content', 'api_key'],\n ['digital-pilot', 'DigitalPilot', 'database', 'analytics', 'long_tail', 'analytics,marketing,data', 'api_key'],\n ['docsbot', 'DocsBot', 'docs', 'ai', 'long_tail', 'ai,docs,knowledge', 'api_key'],\n ['drip', 'Drip', 'crm', 'marketing', 'tier_2', 'crm,email,marketing', 'api_key'],\n ['echowin', 'Echowin', 'workflow', 'telephony', 'long_tail', 'voice,phone,ai', 'api_key'],\n ['elevenlabs', 'ElevenLabs', 'workflow', 'ai', 'tier_2', 'audio,voice,ai', 'api_key'],\n ['everhour', 'Everhour', 'workflow', 'project', 'tier_2', 'time-tracking,project,work', 'api_key'],\n ['feathery', 'Feathery', 'workflow', 'marketing', 'tier_2', 'forms,marketing,workflow', 'api_key'],\n ['fellow', 'Fellow.ai', 'docs', 'meeting', 'tier_2', 'meetings,notes,collaboration', 'api_key'],\n ['flow-parser', 'FlowParser', 'workflow', 'workflow', 'long_tail', 'parsing,automation,workflow', 'api_key'],\n ['gamma', 'Gamma', 'docs', 'docs', 'tier_2', 'presentations,docs,ai', 'api_key'],\n ['gender-api', 'Gender API', 'database', 'analytics', 'long_tail', 'enrichment,identity,analytics', 'api_key'],\n ['neverbounce', 'NeverBounce', 'crm', 'sales', 'tier_1', 'email,verification,deliverability,enrichment', 'api_key'],\n ['generatebanners', 'GenerateBanners', 'docs', 'marketing', 'long_tail', 'images,banners,marketing', 'api_key'],\n ['giftbit', 'Giftbit', 'workflow', 'commerce', 'long_tail', 'rewards,gift-cards,commerce', 'api_key'],\n ['modelslab', 'ModelsLab', 'workflow', 'ai', 'long_tail', 'images,media,ai', 'api_key'],\n ['webhook', 'Generic Webhook', 'webhook', 'webhook', 'tier_0', 'webhook,http,events', 'none'],\n ['http', 'HTTP / REST / OpenAPI Request', 'workflow', 'webhook', 'tier_0', 'http,api,rest,openapi,webhook', 'none'],\n ['rss', 'RSS', 'webhook', 'webhook', 'tier_1', 'feeds,content', 'none'],\n ['chess-com', 'Chess.com', 'workflow', 'workflow', 'long_tail', 'chess,games,public-data', 'none'],\n ['sftp', 'SFTP', 'storage', 'storage', 'tier_0', 'files,sftp,imports,commercial-api', 'custom'],\n ['csv-files', 'CSV Files', 'database', 'database', 'tier_0', 'files,csv,imports', 'none'],\n ['excel-files', 'Excel Files', 'database', 'database', 'tier_0', 'files,excel,imports', 'none'],\n ['parquet-files', 'Parquet Files', 'database', 'database', 'tier_1', 'files,parquet,imports', 'none'],\n ['duckdb', 'DuckDB', 'database', 'database', 'tier_1', 'database,sql,json,analytics', 'none'],\n ['kafka', 'Apache Kafka', 'webhook', 'webhook', 'tier_1', 'events,streams,kafka', 'custom'],\n ['rabbitmq', 'RabbitMQ', 'webhook', 'webhook', 'tier_1', 'events,queues,rabbitmq', 'custom'],\n ['amazon-eventbridge', 'Amazon EventBridge', 'webhook', 'webhook', 'tier_1', 'events,aws,eventbridge', 'custom'],\n ['google-pubsub', 'Google Pub/Sub', 'webhook', 'webhook', 'tier_1', 'events,google,pubsub', 'custom'],\n ['azure-event-grid', 'Azure Event Grid', 'webhook', 'webhook', 'tier_1', 'events,azure,event-grid', 'custom'],\n ['azure-service-bus', 'Azure Service Bus', 'webhook', 'webhook', 'tier_1', 'events,queues,azure,service-bus', 'custom'],\n ['zapier-transfer', 'Zapier Transfer', 'workflow', 'workflow', 'long_tail', 'automation,migration'],\n ['typeform', 'Typeform', 'workflow', 'marketing', 'tier_1', 'forms,marketing'],\n ['google-forms', 'Google Forms', 'workflow', 'marketing', 'tier_1', 'forms,google'],\n ['jotform', 'Jotform', 'workflow', 'marketing', 'tier_2', 'forms'],\n ['webflow', 'Webflow', 'workflow', 'marketing', 'tier_1', 'cms,website'],\n ['wordpress', 'WordPress', 'workflow', 'marketing', 'tier_1', 'cms,website'],\n ['contentful', 'Contentful', 'docs', 'docs', 'tier_1', 'cms,content'],\n ['sanity', 'Sanity', 'docs', 'docs', 'tier_1', 'cms,content'],\n ['figma', 'Figma', 'docs', 'docs', 'tier_0', 'design,creative'],\n ['canva', 'Canva', 'docs', 'docs', 'tier_1', 'design,creative'],\n ['adobe-creative-cloud', 'Adobe Creative Cloud', 'storage', 'storage', 'tier_1', 'design,creative,files'],\n ['miro', 'Miro', 'docs', 'docs', 'tier_1', 'whiteboard,collaboration'],\n ['figjam', 'FigJam', 'docs', 'docs', 'tier_2', 'whiteboard,design'],\n]\n\nexport function listIntegrationCoverageSpecs(): IntegrationCoverageSpec[] {\n return COVERAGE_SPECS.map(([id, title, category, actionPack, priority, domains, auth = 'oauth2']) => ({\n id,\n title,\n category,\n actionPack,\n priority,\n auth,\n providerKinds: providerKindsFor(auth),\n domains: domains.split(',').map((domain) => domain.trim()).filter(Boolean),\n scopes: scopesFor(id, actionPack),\n }))\n}\n\nexport function buildIntegrationCoverageConnectors(options: {\n providerId?: string\n priorities?: IntegrationCoveragePriority[]\n categories?: IntegrationConnectorCategory[]\n actionPacks?: IntegrationActionPack[]\n} = {}): IntegrationConnector[] {\n const providerId = options.providerId ?? 'coverage'\n return listIntegrationCoverageSpecs()\n .filter((spec) => !options.priorities || options.priorities.includes(spec.priority))\n .filter((spec) => !options.categories || options.categories.includes(spec.category))\n .filter((spec) => !options.actionPacks || options.actionPacks.includes(spec.actionPack))\n .map((spec) => specToConnector(spec, providerId))\n}\n\nexport function integrationCoverageChecklistMarkdown(): string {\n const specs = listIntegrationCoverageSpecs()\n const lines = [\n '# Agent Integrations Coverage Checklist',\n '',\n 'Generated from `listIntegrationCoverageSpecs()`. Catalog presence means the product can plan/request/connect the integration; native adapters and runtime backends execute behind the same provider contract.',\n '',\n '## Summary',\n '',\n `- Total cataloged integrations: ${specs.length}`,\n `- Tier 0: ${specs.filter((spec) => spec.priority === 'tier_0').length}`,\n `- Tier 1: ${specs.filter((spec) => spec.priority === 'tier_1').length}`,\n `- Tier 2: ${specs.filter((spec) => spec.priority === 'tier_2').length}`,\n `- Long tail: ${specs.filter((spec) => spec.priority === 'long_tail').length}`,\n '',\n '## Checklist',\n '',\n ]\n for (const spec of specs) {\n lines.push(`- [ ] ${spec.priority} / ${spec.category} / ${spec.title} (${spec.id}) - ${spec.domains.join(', ')}`)\n }\n return `${lines.join('\\n')}\\n`\n}\n\nfunction specToConnector(spec: IntegrationCoverageSpec, providerId: string): IntegrationConnector {\n const actions = actionPack(spec.actionPack, spec.scopes ?? [])\n return {\n id: spec.id,\n providerId,\n title: spec.title,\n category: spec.category,\n auth: spec.auth,\n scopes: spec.scopes ?? [],\n actions,\n triggers: triggersFor(spec.actionPack, spec.scopes ?? []),\n metadata: {\n source: 'coverage-catalog',\n priority: spec.priority,\n domains: spec.domains,\n providerKinds: spec.providerKinds,\n executable: false,\n },\n }\n}\n\nfunction actionPack(pack: IntegrationActionPack, scopes: string[]): IntegrationConnectorAction[] {\n const readScope = scopes.find((scope) => scope.endsWith('.read')) ?? scopes[0]\n const writeScope = scopes.find((scope) => scope.endsWith('.write')) ?? scopes[1] ?? readScope\n const scope = (value?: string) => value ? [value] : []\n const read = (id: string, title: string, description: string): IntegrationConnectorAction => ({\n id,\n title,\n description,\n risk: 'read',\n requiredScopes: scope(readScope),\n dataClass: dataClassFor(pack),\n inputSchema: objectSchema(),\n })\n const write = (id: string, title: string, description: string): IntegrationConnectorAction => ({\n id,\n title,\n description,\n risk: 'write',\n requiredScopes: scope(writeScope),\n dataClass: dataClassFor(pack),\n approvalRequired: true,\n inputSchema: objectSchema(),\n })\n const destructive = (id: string, title: string, description: string): IntegrationConnectorAction => ({\n id,\n title,\n description,\n risk: 'destructive',\n requiredScopes: scope(writeScope),\n dataClass: dataClassFor(pack),\n approvalRequired: true,\n inputSchema: objectSchema(),\n })\n switch (pack) {\n case 'email': return [read('messages.search', 'Search messages', 'Search messages and threads.'), read('messages.read', 'Read message', 'Read a message by id.'), write('drafts.create', 'Create draft', 'Create an email draft.'), write('messages.send', 'Send message', 'Send or reply to an email message.')]\n case 'calendar': return [read('events.search', 'Search events', 'Search calendar events.'), read('availability.read', 'Read availability', 'Read availability windows.'), write('events.create', 'Create event', 'Create a calendar event.'), write('events.update', 'Update event', 'Update a calendar event.'), destructive('events.cancel', 'Cancel event', 'Cancel a calendar event.')]\n case 'chat': return [read('messages.search', 'Search messages', 'Search channel or direct messages.'), read('channels.list', 'List channels', 'List channels or rooms.'), write('messages.post', 'Send message', 'Send a message to a channel or direct message.'), write('threads.reply', 'Reply in thread', 'Reply to a thread or conversation.')]\n case 'crm': return [read('records.search', 'Search records', 'Search contacts, companies, and deals.'), read('records.read', 'Read record', 'Read a CRM record.'), write('records.upsert', 'Upsert record', 'Create or update a CRM record.'), write('notes.create', 'Create note', 'Add a note or activity.')]\n case 'storage': return [read('files.search', 'Search files', 'Search files and folders.'), read('files.read', 'Read file', 'Read file metadata or content.'), write('files.upload', 'Upload file', 'Upload a file.'), write('files.update', 'Update file', 'Update file metadata or content.')]\n case 'docs': return [read('documents.search', 'Search documents', 'Search documents or pages.'), read('documents.read', 'Read document', 'Read a document.'), write('documents.create', 'Create document', 'Create a document or page.'), write('documents.update', 'Update document', 'Update a document or page.')]\n case 'database': return [read('records.query', 'Query records', 'Query rows, records, or objects.'), read('records.read', 'Read record', 'Read one row, record, or object.'), write('records.upsert', 'Upsert record', 'Create or update a row, record, or object.'), destructive('records.delete', 'Delete record', 'Delete a row, record, or object.')]\n case 'project': return [read('tasks.search', 'Search tasks', 'Search tasks, tickets, or issues.'), read('tasks.read', 'Read task', 'Read a task, ticket, or issue.'), write('tasks.create', 'Create task', 'Create a task, ticket, or issue.'), write('tasks.update', 'Update task', 'Update a task, ticket, or issue.')]\n case 'support': return [read('tickets.search', 'Search tickets', 'Search support tickets or conversations.'), read('customers.read', 'Read customer', 'Read a customer profile.'), write('tickets.reply', 'Reply to ticket', 'Reply to a support ticket.'), write('tickets.update', 'Update ticket', 'Update ticket status, tags, or assignee.')]\n case 'marketing': return [read('contacts.search', 'Search contacts', 'Search marketing contacts or audiences.'), read('campaigns.read', 'Read campaign', 'Read campaign metadata and performance.'), write('contacts.upsert', 'Upsert contact', 'Create or update a contact.'), write('campaigns.create', 'Create campaign', 'Create a campaign draft.')]\n case 'sales': return [read('prospects.search', 'Search prospects', 'Search prospects, leads, or accounts.'), read('activities.read', 'Read activities', 'Read sales activity history.'), write('prospects.upsert', 'Upsert prospect', 'Create or update a prospect.'), write('sequence.enqueue', 'Enroll in sequence', 'Enroll a prospect in a sales sequence.')]\n case 'commerce': return [read('orders.search', 'Search orders', 'Search orders.'), read('customers.read', 'Read customer', 'Read customer and purchase history.'), write('orders.update', 'Update order', 'Update order metadata or fulfillment state.'), write('products.update', 'Update product', 'Update product metadata.')]\n case 'finance': return [read('transactions.search', 'Search transactions', 'Search transactions, invoices, or payments.'), read('accounts.read', 'Read account', 'Read account or customer financial record.'), write('invoices.create', 'Create invoice', 'Create an invoice or payment object.'), write('records.sync', 'Sync record', 'Sync a finance or accounting record.')]\n case 'hr': return [read('people.search', 'Search people', 'Search employees, candidates, or contractors.'), read('people.read', 'Read person', 'Read a person profile.'), write('people.update', 'Update person', 'Update a person profile.'), write('events.create', 'Create HR event', 'Create a recruiting or HR event.')]\n case 'dev': return [read('resources.search', 'Search resources', 'Search issues, repos, deployments, logs, or incidents.'), read('resources.read', 'Read resource', 'Read a developer resource.'), write('resources.create', 'Create resource', 'Create an issue, deployment, incident, or config.'), write('resources.update', 'Update resource', 'Update a developer resource.')]\n case 'ai': return [read('models.list', 'List models', 'List available models or endpoints.'), write('responses.create', 'Create response', 'Create an AI response or job.'), write('embeddings.create', 'Create embeddings', 'Create embeddings or vector jobs.'), read('usage.read', 'Read usage', 'Read usage metadata.')]\n case 'analytics': return [read('reports.query', 'Query reports', 'Query analytics reports.'), read('events.search', 'Search events', 'Search analytics events.'), write('events.track', 'Track event', 'Track an analytics event.'), write('audiences.sync', 'Sync audience', 'Sync an audience or cohort.')]\n case 'workflow': return [read('runs.search', 'Search runs', 'Search workflow runs or jobs.'), read('templates.list', 'List templates', 'List workflow templates.'), write('runs.start', 'Start run', 'Start a workflow run.'), write('webhooks.dispatch', 'Dispatch webhook', 'Dispatch a workflow webhook.')]\n case 'webhook': return [write('requests.send', 'Send request', 'Send an HTTP request or webhook event.'), read('events.search', 'Search events', 'Search received webhook events.'), write('subscriptions.create', 'Create subscription', 'Create a webhook subscription.'), destructive('subscriptions.delete', 'Delete subscription', 'Delete a webhook subscription.')]\n case 'meeting': return [read('meetings.search', 'Search meetings', 'Search meetings and recorded calls.'), read('transcripts.read', 'Read transcript', 'Read a meeting transcript.'), read('summaries.read', 'Read summary', 'Read meeting notes, summaries, and action items.'), write('notes.create', 'Create note', 'Create or attach an approved note to a meeting.')]\n case 'telephony': return [read('calls.search', 'Search calls', 'Search inbound and outbound calls.'), read('recordings.read', 'Read recording', 'Read call recording metadata and transcripts.'), read('messages.search', 'Search messages', 'Search SMS and MMS conversations.'), write('messages.send', 'Send message', 'Send an approved SMS or MMS message.')]\n }\n}\n\nfunction triggersFor(pack: IntegrationActionPack, scopes: string[]): IntegrationConnectorTrigger[] | undefined {\n const readScope = scopes.find((scope) => scope.endsWith('.read')) ?? scopes[0]\n const requiredScopes = readScope ? [readScope] : []\n if (pack === 'email') return [{ id: 'message.received', title: 'Message received', requiredScopes, dataClass: 'private' }]\n if (pack === 'calendar') return [{ id: 'event.changed', title: 'Event changed', requiredScopes, dataClass: 'private' }]\n if (pack === 'chat') return [{ id: 'message.posted', title: 'Message posted', requiredScopes, dataClass: 'private' }]\n if (pack === 'crm') return [\n { id: 'person.changed', title: 'Person changed', requiredScopes, dataClass: 'private' },\n { id: 'company.changed', title: 'Company changed', requiredScopes, dataClass: 'private' },\n { id: 'opportunity.changed', title: 'Opportunity changed', requiredScopes, dataClass: 'private' },\n { id: 'stage.changed', title: 'Stage changed', requiredScopes, dataClass: 'private' },\n { id: 'owner.changed', title: 'Owner changed', requiredScopes, dataClass: 'private' },\n { id: 'record.deleted', title: 'Record deleted', requiredScopes, dataClass: 'private' },\n ]\n if (pack === 'docs') return [\n { id: 'document.changed', title: 'Document changed', requiredScopes, dataClass: 'private' },\n { id: 'document.shared', title: 'Document shared', requiredScopes, dataClass: 'private' },\n ]\n if (pack === 'database') return [{ id: 'record.changed', title: 'Record changed', requiredScopes, dataClass: 'private' }]\n if (pack === 'project') return [\n { id: 'task.changed', title: 'Task changed', requiredScopes, dataClass: 'private' },\n { id: 'task.overdue', title: 'Task overdue', requiredScopes, dataClass: 'private' },\n ]\n if (pack === 'support') return [{ id: 'ticket.changed', title: 'Ticket changed', requiredScopes, dataClass: 'private' }]\n if (pack === 'commerce') return [{ id: 'order.changed', title: 'Order changed', requiredScopes, dataClass: 'sensitive' }]\n if (pack === 'finance') return [{ id: 'transaction.changed', title: 'Transaction changed', requiredScopes, dataClass: 'sensitive' }]\n if (pack === 'workflow' || pack === 'webhook') return [{ id: 'event.received', title: 'Event received', requiredScopes, dataClass: 'internal' }]\n if (pack === 'meeting') return [\n { id: 'meeting.ended', title: 'Meeting ended', requiredScopes, dataClass: 'private' },\n { id: 'transcript.ready', title: 'Transcript ready', requiredScopes, dataClass: 'private' },\n { id: 'summary.ready', title: 'Summary ready', requiredScopes, dataClass: 'private' },\n ]\n if (pack === 'telephony') return [\n { id: 'call.completed', title: 'Call completed', requiredScopes, dataClass: 'private' },\n { id: 'call.missed', title: 'Call missed', requiredScopes, dataClass: 'private' },\n { id: 'recording.ready', title: 'Recording ready', requiredScopes, dataClass: 'private' },\n { id: 'transcript.ready', title: 'Transcript ready', requiredScopes, dataClass: 'private' },\n { id: 'message.received', title: 'Message received', requiredScopes, dataClass: 'private' },\n ]\n return undefined\n}\n\nfunction scopesFor(id: string, pack: IntegrationActionPack): string[] {\n if (pack === 'webhook') return []\n return [`${id}.read`, `${id}.write`]\n}\n\nfunction providerKindsFor(auth: IntegrationConnector['auth']): IntegrationProviderKind[] {\n if (auth === 'none') return ['first_party', 'pipedream', 'tangle_catalog', 'custom']\n return DEFAULT_PROVIDER_KINDS\n}\n\nfunction dataClassFor(pack: IntegrationActionPack): 'public' | 'internal' | 'private' | 'sensitive' {\n if (pack === 'finance' || pack === 'commerce' || pack === 'hr') return 'sensitive'\n if (pack === 'workflow' || pack === 'webhook' || pack === 'dev' || pack === 'analytics') return 'internal'\n return 'private'\n}\n\nfunction objectSchema(): unknown {\n return { type: 'object', additionalProperties: true, properties: {} }\n}\n"],"mappings":";AAuDA,MAAM,yBAAoD;CAAC;CAAe;CAAS;CAAa;CAAkB;AAAQ;AAE1H,MAAM,iBAA8B;CAClC;EAAC;EAAS;EAAS;EAAS;EAAS;EAAU;CAA8B;CAC7E;EAAC;EAAgB;EAAgB;EAAS;EAAS;EAAU;CAA8B;CAC3F;EAAC;EAAmB;EAAmB;EAAY;EAAY;EAAU;CAAsC;CAC/G;EAAC;EAAoB;EAAoB;EAAY;EAAY;EAAU;CAAsC;CACjH;EAAC;EAAS;EAAS;EAAQ;EAAQ;EAAU;CAAmC;CAChF;EAAC;EAAmB;EAAmB;EAAQ;EAAQ;EAAU;CAA8B;CAC/F;EAAC;EAAgB;EAAgB;EAAW;EAAW;EAAU;CAAgC;CACjG;EAAC;EAAY;EAAY;EAAW;EAAW;EAAU;CAAgC;CACzF;EAAC;EAAW;EAAW;EAAW;EAAW;EAAU;CAAe;CACtE;EAAC;EAAO;EAAO;EAAW;EAAW;EAAU;CAA0B;CACzE;EAAC;EAAe;EAAe;EAAQ;EAAQ;EAAU;CAAuB;CAChF;EAAC;EAAiB;EAAiB;EAAY;EAAY;EAAU;CAAoC;CACzG;EAAC;EAAmB;EAAiC;EAAO;EAAO;EAAU;CAA4C;CACzH;EAAC;EAAiB;EAAiB;EAAQ;EAAQ;EAAU;CAAuC;CACpG;EAAC;EAAc;EAAe;EAAQ;EAAQ;EAAU;CAAqC;CAC7F;EAAC;EAAgB;EAAgB;EAAY;EAAW;EAAU;CAAwB;CAC1F;EAAC;EAAuB;EAAuB;EAAY;EAAY;EAAU;CAA8C;CAC/H;EAAC;EAAU;EAAU;EAAQ;EAAQ;EAAU;CAAqB;CACpE;EAAC;EAAY;EAAY;EAAY;EAAY;EAAU;CAA0B;CACrF;EAAC;EAAW;EAAW;EAAY;EAAY;EAAU;EAAwC;CAAS;CAC1G;EAAC;EAAQ;EAAQ;EAAQ;EAAQ;EAAU;CAAe;CAC1D;EAAC;EAAc;EAAc;EAAQ;EAAQ;EAAU;CAAqB;CAC5E;EAAC;EAAc;EAAc;EAAW;EAAW;EAAU;CAA4B;CACzF;EAAC;EAAwB;EAAwB;EAAO;EAAO;EAAU;CAAkC;CAC3G;EAAC;EAAyB;EAAqB;EAAY;EAAW;EAAU;CAAiC;CACjH;EAAC;EAAkB;EAAmB;EAAY;EAAW;EAAU;CAAwB;CAC/F;EAAC;EAAqB;EAAqB;EAAQ;EAAQ;EAAU;CAA6B;CAClG;EAAC;EAA0B;EAA8B;EAAO;EAAO;EAAU;CAA8B;CAC/G;EAAC;EAA2C;EAA2C;EAAY;EAAW;EAAU;CAAgC;CACxJ;EAAC;EAAsB;EAAsB;EAAY;EAAa;EAAU;CAAsC;CACtH;EAAC;EAAmB;EAAmB;EAAY;EAAa;EAAU;EAAyC;CAAQ;CAC3H;EAAC;EAAkB;EAAkB;EAAQ;EAAQ;EAAU;EAAwC;CAAQ;CAC/G;EAAC;EAAW;EAAW;EAAO;EAAO;EAAU;CAAqB;CACpE;EAAC;EAAc;EAAc;EAAO;EAAO;EAAU;CAAsB;CAC3E;EAAC;EAAa;EAAa;EAAO;EAAO;EAAU;CAAW;CAC9D;EAAC;EAAY;EAAY;EAAO;EAAO;EAAU;CAAW;CAC5D;EAAC;EAAa;EAAa;EAAO;EAAW;EAAU;CAA0B;CACjF;EAAC;EAAiB;EAAiB;EAAY;EAAY;EAAU;CAAuC;CAC5G;EAAC;EAAc;EAAc;EAAY;EAAW;EAAU;CAAkC;CAChG;EAAC;EAAgB;EAAgB;EAAY;EAAW;EAAU;CAA+B;CACjG;EAAC;EAAa;EAAa;EAAS;EAAS;EAAU;CAAkB;CACzE;EAAC;EAAkB;EAAkB;EAAY;EAAa;EAAU;CAAgC;CACxG;EAAC;EAAS;EAAS;EAAO;EAAO;EAAU;CAAW;CACtD;EAAC;EAAS;EAAS;EAAO;EAAO;EAAU;CAAoB;CAC/D;EAAC;EAAY;EAAY;EAAO;EAAO;EAAU;EAAqC;CAAS;CAC/F;EAAC;EAAa;EAAa;EAAO;EAAO;EAAU;EAAoD;CAAQ;CAC/G;EAAC;EAAY;EAAY;EAAO;EAAS;EAAU;CAAgC;CACnF;EAAC;EAAa;EAAa;EAAO;EAAS;EAAU;CAA+B;CACpF;EAAC;EAAY;EAAY;EAAO;EAAS;EAAU;CAAmC;CACtF;EAAC;EAAc;EAAc;EAAO;EAAS;EAAU;CAA8B;CACrF;EAAC;EAAU;EAAU;EAAY;EAAW;EAAU;CAA6B;CACnF;EAAC;EAAQ;EAAQ;EAAY;EAAW;EAAU;CAAuC;CACzF;EAAC;EAAU;EAAU;EAAY;EAAO;EAAU;CAAqB;CACvE;EAAC;EAAU;EAAU;EAAY;EAAO;EAAU;CAAqB;CACvE;EAAC;EAAa;EAAa;EAAY;EAAO;EAAU;CAAwB;CAChF;EAAC;EAAS;EAAS;EAAY;EAAW;EAAU;CAAe;CACnE;EAAC;EAAU;EAAU;EAAY;EAAW;EAAU;CAAyB;CAC/E;EAAC;EAAU;EAAc;EAAY;EAAW;EAAU;CAAmB;CAC7E;EAAC;EAAW;EAAW;EAAY;EAAW;EAAU;CAAmB;CAC3E;EAAC;EAAY;EAAY;EAAY;EAAW;EAAU;CAAe;CACzE;EAAC;EAAW;EAAW;EAAO;EAAW;EAAU;CAAkC;CACrF;EAAC;EAAY;EAAY;EAAO;EAAW;EAAU;CAA+B;CACpF;EAAC;EAAa;EAAa;EAAO;EAAW;EAAU;CAAiB;CACxE;EAAC;EAAa;EAAc;EAAO;EAAW;EAAU;CAAiB;CACzE;EAAC;EAAS;EAAS;EAAS;EAAW;EAAU;CAA4B;CAC7E;EAAC;EAAW;EAAW;EAAO;EAAW;EAAU;CAAmB;CACtE;EAAC;EAAU;EAAU;EAAY;EAAW;EAAU;CAA0B;CAChF;EAAC;EAAa;EAAa;EAAY;EAAW;EAAU;EAAiC;CAAS;CACtG;EAAC;EAAU;EAAU;EAAY;EAAW;EAAU;EAAuC;CAAS;CACtG;EAAC;EAAc;EAAc;EAAY;EAAW;EAAU;CAAoB;CAClF;EAAC;EAAQ;EAAQ;EAAY;EAAW;EAAU;CAAoB;CACtE;EAAC;EAAY;EAAY;EAAY;EAAW;EAAU;EAA0B;CAAS;CAC7F;EAAC;EAAQ;EAAQ;EAAY;EAAW;EAAU;CAAoB;CACtE;EAAC;EAAgB;EAAgB;EAAY;EAAW;EAAU;EAA0B;CAAS;CACrG;EAAC;EAAS;EAAS;EAAY;EAAW;EAAU;EAAmB;CAAS;CAChF;EAAC;EAAQ;EAAQ;EAAY;EAAW;EAAU;EAA0B;CAAS;CACrF;EAAC;EAAQ;EAAQ;EAAY;EAAW;EAAU;EAA0B;CAAS;CACrF;EAAC;EAAY;EAAQ;EAAY;EAAW;EAAU;EAAmC;CAAS;CAClG;EAAC;EAAW;EAAkB;EAAY;EAAW;EAAU;EAAoC;CAAS;CAC5G;EAAC;EAAU;EAAU;EAAY;EAAW;EAAU;EAAoC;CAAS;CACnG;EAAC;EAAW;EAAW;EAAY;EAAY;EAAU;CAA2B;CACpF;EAAC;EAAe;EAAe;EAAY;EAAY;EAAU;CAA4B;CAC7F;EAAC;EAAe;EAAe;EAAY;EAAY;EAAU;CAAkB;CACnF;EAAC;EAAyB;EAAyB;EAAY;EAAY;EAAU;CAAuB;CAC5G;EAAC;EAAQ;EAAQ;EAAY;EAAY;EAAU;CAAuB;CAC1E;EAAC;EAAQ;EAAQ;EAAY;EAAY;EAAU;CAAuB;CAC1E;EAAC;EAAa;EAAa;EAAY;EAAa;EAAU;CAA2B;CACzF;EAAC;EAAW;EAAW;EAAY;EAAa;EAAU;CAAqC;CAC/F;EAAC;EAAW;EAAW;EAAY;EAAa;EAAU;CAAsB;CAChF;EAAC;EAAS;EAAS;EAAY;EAAa;EAAU;CAAqB;CAC3E;EAAC;EAAe;EAAe;EAAY;EAAa;EAAU;CAAqB;CACvF;EAAC;EAAY;EAAY;EAAS;EAAS;EAAU;CAAqB;CAC1E;EAAC;EAAY;EAAY;EAAS;EAAS;EAAU;CAAqB;CAC1E;EAAC;EAAU;EAAU;EAAQ;EAAQ;EAAU;CAA0B;CACzE;EAAC;EAAa;EAAa;EAAQ;EAAa;EAAU;EAA0C;CAAS;CAC7G;EAAC;EAAc;EAAa;EAAQ;EAAa;EAAU;EAAsC;CAAS;CAC1G;EAAC;EAAe;EAAe;EAAQ;EAAa;EAAU;CAAoC;CAClG;EAAC;EAAW;EAAW;EAAQ;EAAa;EAAU;CAAoC;CAC1F;EAAC;EAAW;EAAW;EAAQ;EAAa;EAAU;EAAkC;CAAS;CACjG;EAAC;EAAS;EAAS;EAAQ;EAAQ;EAAU;EAAkC;CAAS;CACxF;EAAC;EAAW;EAAW;EAAQ;EAAQ;EAAU;CAAgB;CACjE;EAAC;EAAa;EAAa;EAAQ;EAAQ;EAAU;EAAqC;CAAS;CACnG;EAAC;EAAY;EAAY;EAAQ;EAAQ;EAAU;CAAgB;CACnE;EAAC;EAAqB;EAAqB;EAAQ;EAAQ;EAAU;CAA0B;CAC/F;EAAC;EAAkB;EAAkB;EAAY;EAAa;EAAU;CAAuB;CAC/F;EAAC;EAAsB;EAAsB;EAAY;EAAa;EAAU;CAAuB;CACvG;EAAC;EAAY;EAAY;EAAY;EAAS;EAAU;CAAkB;CAC1E;EAAC;EAAa;EAAe;EAAY;EAAa;EAAU;CAAkB;CAClF;EAAC;EAAW;EAAW;EAAW;EAAW;EAAU;CAAe;CACtE;EAAC;EAAU;EAAU;EAAY;EAAa;EAAU;CAAwB;CAChF;EAAC;EAAc;EAAc;EAAY;EAAa;EAAU;CAAkC;CAClG;EAAC;EAAY;EAAY;EAAY;EAAa;EAAU;CAAyC;CACrG;EAAC;EAAS;EAAS;EAAY;EAAa;EAAU;EAA6B;CAAS;CAC5F;EAAC;EAAc;EAAc;EAAY;EAAa;EAAU;EAAgC;CAAS;CACzG;EAAC;EAAgB;EAAgB;EAAY;EAAa;EAAU;CAA8B;CAClG;EAAC;EAAiB;EAAyB;EAAY;EAAa;EAAU;CAAgC;CAC9G;EAAC;EAAc;EAAc;EAAY;EAAa;EAAU;CAAoC;CACpG;EAAC;EAAiB;EAAiB;EAAY;EAAa;EAAU;CAAoC;CAC1G;EAAC;EAAgB;EAAgB;EAAY;EAAa;EAAU;CAAqC;CACzG;EAAC;EAAc;EAAc;EAAY;EAAa;EAAU;CAAwC;CACxG;EAAC;EAAoB;EAAoB;EAAY;EAAa;EAAU;CAAyB;CACrG;EAAC;EAAY;EAAY;EAAY;EAAa;EAAU;CAAmB;CAC/E;EAAC;EAAa;EAAa;EAAY;EAAa;EAAU;EAAqB;CAAS;CAC5F;EAAC;EAAW;EAAW;EAAY;EAAa;EAAU;CAAe;CACzE;EAAC;EAAa;EAAa;EAAY;EAAY;EAAU;CAAgB;CAC7E;EAAC;EAAY;EAAY;EAAY;EAAY;EAAU;CAAuB;CAClF;EAAC;EAAY;EAAY;EAAY;EAAY;EAAU;EAAsB;CAAQ;CACzF;EAAC;EAAY;EAAY;EAAY;EAAY;EAAU;EAAgB;CAAQ;CACnF;EAAC;EAAS;EAAS;EAAY;EAAY;EAAU;CAAc;CACnE;EAAC;EAAW;EAAW;EAAY;EAAY;EAAU;EAAkB;CAAQ;CACnF;EAAC;EAAY;EAAY;EAAY;EAAY;EAAU;CAAmB;CAC9E;EAAC;EAAY;EAAY;EAAY;EAAY;EAAU;CAAqB;CAChF;EAAC;EAAS;EAAS;EAAY;EAAY;EAAU;EAAkB;CAAQ;CAC/E;EAAC;EAAU;EAAa;EAAW;EAAW;EAAU;CAAmB;CAC3E;EAAC;EAAc;EAAc;EAAW;EAAW;EAAU;EAA4B;CAAS;CAClG;EAAC;EAAc;EAAc;EAAW;EAAW;EAAU;EAAqB;CAAS;CAC3F;EAAC;EAAc;EAAc;EAAY;EAAO;EAAU;EAAsB;CAAS;CACzF;EAAC;EAAkB;EAAkB;EAAY;EAAa;EAAU;EAA0B;CAAS;CAC3G;EAAC;EAAwB;EAAwB;EAAW;EAAW;EAAU;CAAmB;CACpG;EAAC;EAAsB;EAAsB;EAAW;EAAW;EAAU;CAAqB;CAClG;EAAC;EAAU;EAAU;EAAY;EAAO;EAAU;CAAiB;CACnE;EAAC;EAAiB;EAAgB;EAAY;EAAO;EAAU;EAAiD;CAAS;CACzH;EAAC;EAAW;EAAW;EAAY;EAAO;EAAU;CAAiB;CACrE;EAAC;EAAc;EAAc;EAAY;EAAO;EAAU;EAAgB;CAAS;CACnF;EAAC;EAAU;EAAU;EAAY;EAAO;EAAU;CAA0B;CAC5E;EAAC;EAAW;EAAW;EAAY;EAAa;EAAU;CAA4B;CACtF;EAAC;EAAa;EAAa;EAAY;EAAa;EAAU;CAA4B;CAC1F;EAAC;EAAa;EAAa;EAAY;EAAW;EAAU;CAAkB;CAC9E;EAAC;EAAY;EAAY;EAAY;EAAW;EAAU;CAA4B;CACtF;EAAC;EAAQ;EAAQ;EAAY;EAAY;EAAU;EAAqB;CAAS;CACjF;EAAC;EAAS;EAAS;EAAY;EAAY;EAAU;CAAmB;CACxE;EAAC;EAAiB;EAAiB;EAAY;EAAY;EAAU;EAAkC;CAAS;CAChH;EAAC;EAAY;EAAY;EAAY;EAAY;EAAU;EAAkC;CAAS;CACtG;EAAC;EAAQ;EAAQ;EAAY;EAAY;EAAU;EAAkC;CAAS;CAC9F;EAAC;EAAW;EAAW;EAAY;EAAM;EAAU;CAAuB;CAC1E;EAAC;EAAY;EAAY;EAAY;EAAM;EAAU;CAAW;CAChE;EAAC;EAAc;EAAc;EAAY;EAAM;EAAU;CAAe;CACxE;EAAC;EAAS;EAAS;EAAY;EAAM;EAAU;CAAe;CAC9D;EAAC;EAAS;EAAS;EAAY;EAAM;EAAU;CAAY;CAC3D;EAAC;EAAY;EAAY;EAAY;EAAM;EAAU;CAAgB;CACrE;EAAC;EAAO;EAAO;EAAY;EAAM;EAAU;CAAsB;CACjE;EAAC;EAAW;EAAW;EAAY;EAAM;EAAU;CAAsB;CACzE;EAAC;EAAY;EAAY;EAAQ;EAAQ;EAAU;CAA2B;CAC9E;EAAC;EAAc;EAAsB;EAAQ;EAAQ;EAAU;CAA2B;CAC1F;EAAC;EAAY;EAAY;EAAQ;EAAQ;EAAU;CAA2B;CAC9E;EAAC;EAAa;EAAgB;EAAQ;EAAQ;EAAU;CAAqB;CAC7E;EAAC;EAAQ;EAAQ;EAAY;EAAW;EAAU;CAA2B;CAC7E;EAAC;EAAU;EAAU;EAAO;EAAW;EAAU;CAAiC;CAClF;EAAC;EAAY;EAAY;EAAQ;EAAQ;EAAU;CAAiB;CACpE;EAAC;EAAc;EAAc;EAAQ;EAAQ;EAAU;CAAgB;CACvE;EAAC;EAAY;EAAY;EAAY;EAAY;EAAU;CAAqB;CAChF;EAAC;EAAqB;EAAqB;EAAY;EAAY;EAAU;CAAkC;CAC/G;EAAC;EAAW;EAAW;EAAY;EAAY;EAAU;CAAqB;CAC9E;EAAC;EAAQ;EAAQ;EAAY;EAAY;EAAU;CAAyB;CAC5E;EAAC;EAAW;EAAW;EAAQ;EAAW;EAAU;EAA8B;CAAS;CAC3F;EAAC;EAAQ;EAAQ;EAAQ;EAAW;EAAU;CAAkC;CAChF;EAAC;EAAU;EAAU;EAAQ;EAAW;EAAU;CAA4B;CAC9E;EAAC;EAAgB;EAAgB;EAAQ;EAAW;EAAU;EAA8B;CAAS;CACrG;EAAC;EAAS;EAAY;EAAQ;EAAW;EAAU;EAA6C;CAAQ;CACxG;EAAC;EAAe;EAAe;EAAY;EAAY;EAAU;CAAuB;CACxF;EAAC;EAAmB;EAAmB;EAAY;EAAY;EAAU;CAA+B;CACxG;EAAC;EAAU;EAAU;EAAY;EAAM;EAAU;CAAQ;CACzD;EAAC;EAAa;EAAa;EAAY;EAAM;EAAU;CAAQ;CAC/D;EAAC;EAAU;EAAiB;EAAY;EAAM;EAAU;CAAe;CACvE;EAAC;EAAe;EAAgB;EAAY;EAAM;EAAU;CAAW;CACvE;EAAC;EAAY;EAAY;EAAY;EAAY;EAAU;CAAoB;CAC/E;EAAC;EAAY;EAAY;EAAY;EAAY;EAAU;CAAoB;CAC/E;EAAC;EAAU;EAAU;EAAY;EAAY;EAAU;CAAoB;CAC3E;EAAC;EAAU;EAAU;EAAY;EAAY;EAAU;CAAqB;CAC5E;EAAC;EAAQ;EAAQ;EAAY;EAAY;EAAU;CAAqB;CACxE;EAAC;EAAS;EAAS;EAAY;EAAY;EAAU;EAAgC;CAAQ;CAC7F;EAAC;EAAa;EAAa;EAAY;EAAY;EAAU;CAA+B;CAC5F;EAAC;EAA2B;EAA2B;EAAY;EAAY;EAAU;CAAiC;CAC1H;EAAC;EAAgB;EAAiB;EAAY;EAAW;EAAU;EAAgC;CAAS;CAC5G;EAAC;EAAY;EAAa;EAAQ;EAAM;EAAa;EAAmB;CAAS;CACjF;EAAC;EAAa;EAAa;EAAQ;EAAQ;EAAU;EAAgC;CAAS;CAC9F;EAAC;EAAqB;EAAqB;EAAW;EAAW;EAAa;EAA+B;CAAS;CACtH;EAAC;EAAS;EAAS;EAAY;EAAY;EAAU;EAA4B;CAAS;CAC1F;EAAC;EAAc;EAAa;EAAY;EAAM;EAAa;EAAuB;CAAS;CAC3F;EAAC;EAAc;EAAc;EAAQ;EAAa;EAAU;EAA6B;CAAS;CAClG;EAAC;EAAU;EAAU;EAAY;EAAO;EAAa;EAAuB;CAAS;CACrF;EAAC;EAAW;EAAW;EAAS;EAAa;EAAU;EAA8B;CAAS;CAC9F;EAAC;EAAQ;EAAW;EAAQ;EAAY;EAAa;EAAiC;CAAS;CAC/F;EAAC;EAAc;EAAc;EAAS;EAAa;EAAU;EAA8B;CAAS;CACpG;EAAC;EAAW;EAAW;EAAY;EAAM;EAAa;EAAwB;CAAS;CACvF;EAAC;EAAY;EAAY;EAAY;EAAY;EAAa;EAA4B;CAAS;CACnG;EAAC;EAAe;EAAiB;EAAY;EAAa;EAAa;EAA6B;CAAS;CAC7G;EAAC;EAAa;EAAa;EAAY;EAAM;EAAa;EAAwB;CAAS;CAC3F;EAAC;EAAY;EAAY;EAAY;EAAM;EAAa;EAAqB;CAAS;CACtF;EAAC;EAAe;EAAe;EAAQ;EAAQ;EAAa;EAAmB;CAAS;CACxF;EAAC;EAAU;EAAoB;EAAY;EAAM;EAAU;EAAoB;CAAS;CACxF;EAAC;EAAiB;EAAiB;EAAY;EAAa;EAAa;EAA+B;CAAS;CACjH;EAAC;EAAgB;EAAgB;EAAY;EAAa;EAAU;EAAyB;CAAS;CACtG;EAAC;EAAQ;EAAQ;EAAY;EAAM;EAAa;EAA0B;CAAS;CACnF;EAAC;EAAiB;EAAiB;EAAY;EAAM;EAAU;EAAoB;CAAS;CAC5F;EAAC;EAAc;EAAc;EAAQ;EAAa;EAAa;EAAgC;CAAS;CACxG;EAAC;EAAa;EAAa;EAAY;EAAY;EAAU;EAAuB;CAAS;CAC7F;EAAC;EAAW;EAAW;EAAY;EAAM;EAAa;EAAkB;CAAS;CACjF;EAAC;EAAY;EAAY;EAAY;EAAM;EAAU;EAA0B;CAAS;CACxF;EAAC;EAAgB;EAAgB;EAAY;EAAM;EAAa;EAAwB;CAAS;CACjG;EAAC;EAAiB;EAAgB;EAAY;EAAa;EAAa;EAA4B;CAAS;CAC7G;EAAC;EAAW;EAAW;EAAQ;EAAM;EAAa;EAAqB;CAAS;CAChF;EAAC;EAAQ;EAAQ;EAAO;EAAa;EAAU;EAAuB;CAAS;CAC/E;EAAC;EAAW;EAAW;EAAY;EAAa;EAAa;EAAkB;CAAS;CACxF;EAAC;EAAc;EAAc;EAAY;EAAM;EAAU;EAAkB;CAAS;CACpF;EAAC;EAAY;EAAY;EAAY;EAAW;EAAU;EAA8B;CAAS;CACjG;EAAC;EAAY;EAAY;EAAY;EAAa;EAAU;EAA4B;CAAS;CACjG;EAAC;EAAU;EAAa;EAAQ;EAAW;EAAU;EAAgC;CAAS;CAC9F;EAAC;EAAe;EAAc;EAAY;EAAY;EAAa;EAA+B;CAAS;CAC3G;EAAC;EAAS;EAAS;EAAQ;EAAQ;EAAU;EAAyB;CAAS;CAC/E;EAAC;EAAc;EAAc;EAAY;EAAa;EAAa;EAAiC;CAAS;CAC7G;EAAC;EAAe;EAAe;EAAO;EAAS;EAAU;EAAgD;CAAS;CAClH;EAAC;EAAmB;EAAmB;EAAQ;EAAa;EAAa;EAA4B;CAAS;CAC9G;EAAC;EAAW;EAAW;EAAY;EAAY;EAAa;EAA+B;CAAS;CACpG;EAAC;EAAa;EAAa;EAAY;EAAM;EAAa;EAAmB;CAAS;CACtF;EAAC;EAAW;EAAmB;EAAW;EAAW;EAAU;EAAuB;CAAM;CAC5F;EAAC;EAAQ;EAAiC;EAAY;EAAW;EAAU;EAAiC;CAAM;CAClH;EAAC;EAAO;EAAO;EAAW;EAAW;EAAU;EAAiB;CAAM;CACtE;EAAC;EAAa;EAAa;EAAY;EAAY;EAAa;EAA2B;CAAM;CACjG;EAAC;EAAQ;EAAQ;EAAW;EAAW;EAAU;EAAqC;CAAQ;CAC9F;EAAC;EAAa;EAAa;EAAY;EAAY;EAAU;EAAqB;CAAM;CACxF;EAAC;EAAe;EAAe;EAAY;EAAY;EAAU;EAAuB;CAAM;CAC9F;EAAC;EAAiB;EAAiB;EAAY;EAAY;EAAU;EAAyB;CAAM;CACpG;EAAC;EAAU;EAAU;EAAY;EAAY;EAAU;EAA+B;CAAM;CAC5F;EAAC;EAAS;EAAgB;EAAW;EAAW;EAAU;EAAwB;CAAQ;CAC1F;EAAC;EAAY;EAAY;EAAW;EAAW;EAAU;EAA0B;CAAQ;CAC3F;EAAC;EAAsB;EAAsB;EAAW;EAAW;EAAU;EAA0B;CAAQ;CAC/G;EAAC;EAAiB;EAAkB;EAAW;EAAW;EAAU;EAAwB;CAAQ;CACpG;EAAC;EAAoB;EAAoB;EAAW;EAAW;EAAU;EAA2B;CAAQ;CAC5G;EAAC;EAAqB;EAAqB;EAAW;EAAW;EAAU;EAAmC;CAAQ;CACtH;EAAC;EAAmB;EAAmB;EAAY;EAAY;EAAa;CAAsB;CAClG;EAAC;EAAY;EAAY;EAAY;EAAa;EAAU;CAAiB;CAC7E;EAAC;EAAgB;EAAgB;EAAY;EAAa;EAAU;CAAc;CAClF;EAAC;EAAW;EAAW;EAAY;EAAa;EAAU;CAAO;CACjE;EAAC;EAAW;EAAW;EAAY;EAAa;EAAU;CAAa;CACvE;EAAC;EAAa;EAAa;EAAY;EAAa;EAAU;CAAa;CAC3E;EAAC;EAAc;EAAc;EAAQ;EAAQ;EAAU;CAAa;CACpE;EAAC;EAAU;EAAU;EAAQ;EAAQ;EAAU;CAAa;CAC5D;EAAC;EAAS;EAAS;EAAQ;EAAQ;EAAU;CAAiB;CAC9D;EAAC;EAAS;EAAS;EAAQ;EAAQ;EAAU;CAAiB;CAC9D;EAAC;EAAwB;EAAwB;EAAW;EAAW;EAAU;CAAuB;CACxG;EAAC;EAAQ;EAAQ;EAAQ;EAAQ;EAAU;CAA0B;CACrE;EAAC;EAAU;EAAU;EAAQ;EAAQ;EAAU;CAAmB;AACpE;AAEA,SAAgB,+BAA0D;CACxE,OAAO,eAAe,KAAK,CAAC,IAAI,OAAO,UAAU,YAAY,UAAU,SAAS,OAAO,eAAe;EACpG;EACA;EACA;EACA;EACA;EACA;EACA,eAAe,iBAAiB,IAAI;EACpC,SAAS,QAAQ,MAAM,GAAG,CAAC,CAAC,KAAK,WAAW,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO;EACzE,QAAQ,UAAU,IAAI,UAAU;CAClC,EAAE;AACJ;AAEA,SAAgB,mCAAmC,UAK/C,CAAC,GAA2B;CAC9B,MAAM,aAAa,QAAQ,cAAc;CACzC,OAAO,6BAA6B,CAAC,CAClC,QAAQ,SAAS,CAAC,QAAQ,cAAc,QAAQ,WAAW,SAAS,KAAK,QAAQ,CAAC,CAAC,CACnF,QAAQ,SAAS,CAAC,QAAQ,cAAc,QAAQ,WAAW,SAAS,KAAK,QAAQ,CAAC,CAAC,CACnF,QAAQ,SAAS,CAAC,QAAQ,eAAe,QAAQ,YAAY,SAAS,KAAK,UAAU,CAAC,CAAC,CACvF,KAAK,SAAS,gBAAgB,MAAM,UAAU,CAAC;AACpD;AAEA,SAAgB,uCAA+C;CAC7D,MAAM,QAAQ,6BAA6B;CAC3C,MAAM,QAAQ;EACZ;EACA;EACA;EACA;EACA;EACA;EACA,mCAAmC,MAAM;EACzC,aAAa,MAAM,QAAQ,SAAS,KAAK,aAAa,QAAQ,CAAC,CAAC;EAChE,aAAa,MAAM,QAAQ,SAAS,KAAK,aAAa,QAAQ,CAAC,CAAC;EAChE,aAAa,MAAM,QAAQ,SAAS,KAAK,aAAa,QAAQ,CAAC,CAAC;EAChE,gBAAgB,MAAM,QAAQ,SAAS,KAAK,aAAa,WAAW,CAAC,CAAC;EACtE;EACA;EACA;CACF;CACA,KAAK,MAAM,QAAQ,OACjB,MAAM,KAAK,SAAS,KAAK,SAAS,KAAK,KAAK,SAAS,KAAK,KAAK,MAAM,IAAI,KAAK,GAAG,MAAM,KAAK,QAAQ,KAAK,IAAI,GAAG;CAElH,OAAO,GAAG,MAAM,KAAK,IAAI,EAAE;AAC7B;AAEA,SAAS,gBAAgB,MAA+B,YAA0C;CAChG,MAAM,UAAU,WAAW,KAAK,YAAY,KAAK,UAAU,CAAC,CAAC;CAC7D,OAAO;EACL,IAAI,KAAK;EACT;EACA,OAAO,KAAK;EACZ,UAAU,KAAK;EACf,MAAM,KAAK;EACX,QAAQ,KAAK,UAAU,CAAC;EACxB;EACA,UAAU,YAAY,KAAK,YAAY,KAAK,UAAU,CAAC,CAAC;EACxD,UAAU;GACR,QAAQ;GACR,UAAU,KAAK;GACf,SAAS,KAAK;GACd,eAAe,KAAK;GACpB,YAAY;EACd;CACF;AACF;AAEA,SAAS,WAAW,MAA6B,QAAgD;CAC/F,MAAM,YAAY,OAAO,MAAM,UAAU,MAAM,SAAS,OAAO,CAAC,KAAK,OAAO;CAC5E,MAAM,aAAa,OAAO,MAAM,UAAU,MAAM,SAAS,QAAQ,CAAC,KAAK,OAAO,MAAM;CACpF,MAAM,SAAS,UAAmB,QAAQ,CAAC,KAAK,IAAI,CAAC;CACrD,MAAM,QAAQ,IAAY,OAAe,iBAAqD;EAC5F;EACA;EACA;EACA,MAAM;EACN,gBAAgB,MAAM,SAAS;EAC/B,WAAW,aAAa,IAAI;EAC5B,aAAa,aAAa;CAC5B;CACA,MAAM,SAAS,IAAY,OAAe,iBAAqD;EAC7F;EACA;EACA;EACA,MAAM;EACN,gBAAgB,MAAM,UAAU;EAChC,WAAW,aAAa,IAAI;EAC5B,kBAAkB;EAClB,aAAa,aAAa;CAC5B;CACA,MAAM,eAAe,IAAY,OAAe,iBAAqD;EACnG;EACA;EACA;EACA,MAAM;EACN,gBAAgB,MAAM,UAAU;EAChC,WAAW,aAAa,IAAI;EAC5B,kBAAkB;EAClB,aAAa,aAAa;CAC5B;CACA,QAAQ,MAAR;EACE,KAAK,SAAS,OAAO;GAAC,KAAK,mBAAmB,mBAAmB,8BAA8B;GAAG,KAAK,iBAAiB,gBAAgB,uBAAuB;GAAG,MAAM,iBAAiB,gBAAgB,wBAAwB;GAAG,MAAM,iBAAiB,gBAAgB,oCAAoC;EAAC;EAChT,KAAK,YAAY,OAAO;GAAC,KAAK,iBAAiB,iBAAiB,yBAAyB;GAAG,KAAK,qBAAqB,qBAAqB,4BAA4B;GAAG,MAAM,iBAAiB,gBAAgB,0BAA0B;GAAG,MAAM,iBAAiB,gBAAgB,0BAA0B;GAAG,YAAY,iBAAiB,gBAAgB,0BAA0B;EAAC;EAC1X,KAAK,QAAQ,OAAO;GAAC,KAAK,mBAAmB,mBAAmB,oCAAoC;GAAG,KAAK,iBAAiB,iBAAiB,yBAAyB;GAAG,MAAM,iBAAiB,gBAAgB,gDAAgD;GAAG,MAAM,iBAAiB,mBAAmB,oCAAoC;EAAC;EACnV,KAAK,OAAO,OAAO;GAAC,KAAK,kBAAkB,kBAAkB,wCAAwC;GAAG,KAAK,gBAAgB,eAAe,oBAAoB;GAAG,MAAM,kBAAkB,iBAAiB,gCAAgC;GAAG,MAAM,gBAAgB,eAAe,yBAAyB;EAAC;EAC9S,KAAK,WAAW,OAAO;GAAC,KAAK,gBAAgB,gBAAgB,2BAA2B;GAAG,KAAK,cAAc,aAAa,gCAAgC;GAAG,MAAM,gBAAgB,eAAe,gBAAgB;GAAG,MAAM,gBAAgB,eAAe,kCAAkC;EAAC;EAC9R,KAAK,QAAQ,OAAO;GAAC,KAAK,oBAAoB,oBAAoB,4BAA4B;GAAG,KAAK,kBAAkB,iBAAiB,kBAAkB;GAAG,MAAM,oBAAoB,mBAAmB,4BAA4B;GAAG,MAAM,oBAAoB,mBAAmB,4BAA4B;EAAC;EACpT,KAAK,YAAY,OAAO;GAAC,KAAK,iBAAiB,iBAAiB,kCAAkC;GAAG,KAAK,gBAAgB,eAAe,kCAAkC;GAAG,MAAM,kBAAkB,iBAAiB,4CAA4C;GAAG,YAAY,kBAAkB,iBAAiB,kCAAkC;EAAC;EACxV,KAAK,WAAW,OAAO;GAAC,KAAK,gBAAgB,gBAAgB,mCAAmC;GAAG,KAAK,cAAc,aAAa,gCAAgC;GAAG,MAAM,gBAAgB,eAAe,kCAAkC;GAAG,MAAM,gBAAgB,eAAe,kCAAkC;EAAC;EACxT,KAAK,WAAW,OAAO;GAAC,KAAK,kBAAkB,kBAAkB,0CAA0C;GAAG,KAAK,kBAAkB,iBAAiB,0BAA0B;GAAG,MAAM,iBAAiB,mBAAmB,4BAA4B;GAAG,MAAM,kBAAkB,iBAAiB,0CAA0C;EAAC;EAChV,KAAK,aAAa,OAAO;GAAC,KAAK,mBAAmB,mBAAmB,yCAAyC;GAAG,KAAK,kBAAkB,iBAAiB,yCAAyC;GAAG,MAAM,mBAAmB,kBAAkB,6BAA6B;GAAG,MAAM,oBAAoB,mBAAmB,0BAA0B;EAAC;EACxV,KAAK,SAAS,OAAO;GAAC,KAAK,oBAAoB,oBAAoB,uCAAuC;GAAG,KAAK,mBAAmB,mBAAmB,8BAA8B;GAAG,MAAM,oBAAoB,mBAAmB,8BAA8B;GAAG,MAAM,oBAAoB,sBAAsB,wCAAwC;EAAC;EAChW,KAAK,YAAY,OAAO;GAAC,KAAK,iBAAiB,iBAAiB,gBAAgB;GAAG,KAAK,kBAAkB,iBAAiB,qCAAqC;GAAG,MAAM,iBAAiB,gBAAgB,6CAA6C;GAAG,MAAM,mBAAmB,kBAAkB,0BAA0B;EAAC;EAChU,KAAK,WAAW,OAAO;GAAC,KAAK,uBAAuB,uBAAuB,6CAA6C;GAAG,KAAK,iBAAiB,gBAAgB,4CAA4C;GAAG,MAAM,mBAAmB,kBAAkB,sCAAsC;GAAG,MAAM,gBAAgB,eAAe,sCAAsC;EAAC;EAChX,KAAK,MAAM,OAAO;GAAC,KAAK,iBAAiB,iBAAiB,+CAA+C;GAAG,KAAK,eAAe,eAAe,wBAAwB;GAAG,MAAM,iBAAiB,iBAAiB,0BAA0B;GAAG,MAAM,iBAAiB,mBAAmB,kCAAkC;EAAC;EAC5T,KAAK,OAAO,OAAO;GAAC,KAAK,oBAAoB,oBAAoB,wDAAwD;GAAG,KAAK,kBAAkB,iBAAiB,4BAA4B;GAAG,MAAM,oBAAoB,mBAAmB,mDAAmD;GAAG,MAAM,oBAAoB,mBAAmB,8BAA8B;EAAC;EAClX,KAAK,MAAM,OAAO;GAAC,KAAK,eAAe,eAAe,qCAAqC;GAAG,MAAM,oBAAoB,mBAAmB,+BAA+B;GAAG,MAAM,qBAAqB,qBAAqB,mCAAmC;GAAG,KAAK,cAAc,cAAc,sBAAsB;EAAC;EAC3T,KAAK,aAAa,OAAO;GAAC,KAAK,iBAAiB,iBAAiB,0BAA0B;GAAG,KAAK,iBAAiB,iBAAiB,0BAA0B;GAAG,MAAM,gBAAgB,eAAe,2BAA2B;GAAG,MAAM,kBAAkB,iBAAiB,6BAA6B;EAAC;EAC5S,KAAK,YAAY,OAAO;GAAC,KAAK,eAAe,eAAe,+BAA+B;GAAG,KAAK,kBAAkB,kBAAkB,0BAA0B;GAAG,MAAM,cAAc,aAAa,uBAAuB;GAAG,MAAM,qBAAqB,oBAAoB,8BAA8B;EAAC;EAC7S,KAAK,WAAW,OAAO;GAAC,MAAM,iBAAiB,gBAAgB,wCAAwC;GAAG,KAAK,iBAAiB,iBAAiB,iCAAiC;GAAG,MAAM,wBAAwB,uBAAuB,gCAAgC;GAAG,YAAY,wBAAwB,uBAAuB,gCAAgC;EAAC;EACzW,KAAK,WAAW,OAAO;GAAC,KAAK,mBAAmB,mBAAmB,qCAAqC;GAAG,KAAK,oBAAoB,mBAAmB,4BAA4B;GAAG,KAAK,kBAAkB,gBAAgB,kDAAkD;GAAG,MAAM,gBAAgB,eAAe,iDAAiD;EAAC;EACzW,KAAK,aAAa,OAAO;GAAC,KAAK,gBAAgB,gBAAgB,oCAAoC;GAAG,KAAK,mBAAmB,kBAAkB,+CAA+C;GAAG,KAAK,mBAAmB,mBAAmB,mCAAmC;GAAG,MAAM,iBAAiB,gBAAgB,sCAAsC;EAAC;CACnW;AACF;AAEA,SAAS,YAAY,MAA6B,QAA6D;CAC7G,MAAM,YAAY,OAAO,MAAM,UAAU,MAAM,SAAS,OAAO,CAAC,KAAK,OAAO;CAC5E,MAAM,iBAAiB,YAAY,CAAC,SAAS,IAAI,CAAC;CAClD,IAAI,SAAS,SAAS,OAAO,CAAC;EAAE,IAAI;EAAoB,OAAO;EAAoB;EAAgB,WAAW;CAAU,CAAC;CACzH,IAAI,SAAS,YAAY,OAAO,CAAC;EAAE,IAAI;EAAiB,OAAO;EAAiB;EAAgB,WAAW;CAAU,CAAC;CACtH,IAAI,SAAS,QAAQ,OAAO,CAAC;EAAE,IAAI;EAAkB,OAAO;EAAkB;EAAgB,WAAW;CAAU,CAAC;CACpH,IAAI,SAAS,OAAO,OAAO;EACzB;GAAE,IAAI;GAAkB,OAAO;GAAkB;GAAgB,WAAW;EAAU;EACtF;GAAE,IAAI;GAAmB,OAAO;GAAmB;GAAgB,WAAW;EAAU;EACxF;GAAE,IAAI;GAAuB,OAAO;GAAuB;GAAgB,WAAW;EAAU;EAChG;GAAE,IAAI;GAAiB,OAAO;GAAiB;GAAgB,WAAW;EAAU;EACpF;GAAE,IAAI;GAAiB,OAAO;GAAiB;GAAgB,WAAW;EAAU;EACpF;GAAE,IAAI;GAAkB,OAAO;GAAkB;GAAgB,WAAW;EAAU;CACxF;CACA,IAAI,SAAS,QAAQ,OAAO,CAC1B;EAAE,IAAI;EAAoB,OAAO;EAAoB;EAAgB,WAAW;CAAU,GAC1F;EAAE,IAAI;EAAmB,OAAO;EAAmB;EAAgB,WAAW;CAAU,CAC1F;CACA,IAAI,SAAS,YAAY,OAAO,CAAC;EAAE,IAAI;EAAkB,OAAO;EAAkB;EAAgB,WAAW;CAAU,CAAC;CACxH,IAAI,SAAS,WAAW,OAAO,CAC7B;EAAE,IAAI;EAAgB,OAAO;EAAgB;EAAgB,WAAW;CAAU,GAClF;EAAE,IAAI;EAAgB,OAAO;EAAgB;EAAgB,WAAW;CAAU,CACpF;CACA,IAAI,SAAS,WAAW,OAAO,CAAC;EAAE,IAAI;EAAkB,OAAO;EAAkB;EAAgB,WAAW;CAAU,CAAC;CACvH,IAAI,SAAS,YAAY,OAAO,CAAC;EAAE,IAAI;EAAiB,OAAO;EAAiB;EAAgB,WAAW;CAAY,CAAC;CACxH,IAAI,SAAS,WAAW,OAAO,CAAC;EAAE,IAAI;EAAuB,OAAO;EAAuB;EAAgB,WAAW;CAAY,CAAC;CACnI,IAAI,SAAS,cAAc,SAAS,WAAW,OAAO,CAAC;EAAE,IAAI;EAAkB,OAAO;EAAkB;EAAgB,WAAW;CAAW,CAAC;CAC/I,IAAI,SAAS,WAAW,OAAO;EAC7B;GAAE,IAAI;GAAiB,OAAO;GAAiB;GAAgB,WAAW;EAAU;EACpF;GAAE,IAAI;GAAoB,OAAO;GAAoB;GAAgB,WAAW;EAAU;EAC1F;GAAE,IAAI;GAAiB,OAAO;GAAiB;GAAgB,WAAW;EAAU;CACtF;CACA,IAAI,SAAS,aAAa,OAAO;EAC/B;GAAE,IAAI;GAAkB,OAAO;GAAkB;GAAgB,WAAW;EAAU;EACtF;GAAE,IAAI;GAAe,OAAO;GAAe;GAAgB,WAAW;EAAU;EAChF;GAAE,IAAI;GAAmB,OAAO;GAAmB;GAAgB,WAAW;EAAU;EACxF;GAAE,IAAI;GAAoB,OAAO;GAAoB;GAAgB,WAAW;EAAU;EAC1F;GAAE,IAAI;GAAoB,OAAO;GAAoB;GAAgB,WAAW;EAAU;CAC5F;AAEF;AAEA,SAAS,UAAU,IAAY,MAAuC;CACpE,IAAI,SAAS,WAAW,OAAO,CAAC;CAChC,OAAO,CAAC,GAAG,GAAG,QAAQ,GAAG,GAAG,OAAO;AACrC;AAEA,SAAS,iBAAiB,MAA+D;CACvF,IAAI,SAAS,QAAQ,OAAO;EAAC;EAAe;EAAa;EAAkB;CAAQ;CACnF,OAAO;AACT;AAEA,SAAS,aAAa,MAA8E;CAClG,IAAI,SAAS,aAAa,SAAS,cAAc,SAAS,MAAM,OAAO;CACvE,IAAI,SAAS,cAAc,SAAS,aAAa,SAAS,SAAS,SAAS,aAAa,OAAO;CAChG,OAAO;AACT;AAEA,SAAS,eAAwB;CAC/B,OAAO;EAAE,MAAM;EAAU,sBAAsB;EAAM,YAAY,CAAC;CAAE;AACtE"}