@openhands/extensions 0.6.0 → 0.7.0

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 (74) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/README.md +8 -6
  3. package/integrations/README.md +8 -2
  4. package/integrations/catalog/airtable.json +0 -24
  5. package/integrations/catalog/asana.json +1 -6
  6. package/integrations/catalog/bitbucket.json +1 -6
  7. package/integrations/catalog/box.json +1 -6
  8. package/integrations/catalog/canva.json +3 -7
  9. package/integrations/catalog/confluence.json +1 -6
  10. package/integrations/catalog/discord.json +1 -6
  11. package/integrations/catalog/figma.json +21 -27
  12. package/integrations/catalog/github.json +0 -9
  13. package/integrations/catalog/gmail.json +1 -6
  14. package/integrations/catalog/google-calendar.json +1 -6
  15. package/integrations/catalog/google-docs.json +1 -6
  16. package/integrations/catalog/google-drive.json +1 -6
  17. package/integrations/catalog/google-sheets.json +1 -6
  18. package/integrations/catalog/intercom.json +1 -6
  19. package/integrations/catalog/jira.json +1 -6
  20. package/integrations/catalog/linear.json +1 -24
  21. package/integrations/catalog/microsoft-outlook.json +1 -6
  22. package/integrations/catalog/microsoft-teams.json +1 -6
  23. package/integrations/catalog/miro.json +14 -10
  24. package/integrations/catalog/monday.json +14 -10
  25. package/integrations/catalog/netlify.json +1 -6
  26. package/integrations/catalog/notion.json +16 -23
  27. package/integrations/catalog/okta.json +1 -6
  28. package/integrations/catalog/onedrive.json +1 -6
  29. package/integrations/catalog/posthog.json +20 -20
  30. package/integrations/catalog/quickbooks.json +70 -22
  31. package/integrations/catalog/salesforce.json +18 -12
  32. package/integrations/catalog/sentry.json +12 -17
  33. package/integrations/catalog/sharepoint.json +1 -6
  34. package/integrations/catalog/stripe.json +15 -20
  35. package/integrations/catalog/supabase.json +16 -21
  36. package/integrations/catalog/trello.json +11 -8
  37. package/integrations/catalog/vercel.json +1 -6
  38. package/integrations/catalog/xero.json +1 -6
  39. package/integrations/catalog/zoom.json +1 -6
  40. package/integrations/catalog-index.js +64 -84
  41. package/integrations/catalog.schema.json +255 -0
  42. package/integrations/index.d.ts +26 -10
  43. package/integrations/index.js +18 -10
  44. package/marketplaces/openhands-extensions.json +26 -1
  45. package/package.json +1 -1
  46. package/plugins/pr-review/scripts/prompt.py +1 -1
  47. package/pyproject.toml +2 -1
  48. package/python/openhands_extensions/_version.py +2 -1
  49. package/skills/agent-canvas-environment/SKILL.md +74 -13
  50. package/skills/bitbucket/README.md +23 -40
  51. package/skills/bitbucket/SKILL.md +43 -31
  52. package/skills/bitbucket-cloud/.plugin/plugin.json +18 -0
  53. package/skills/bitbucket-cloud/README.md +15 -0
  54. package/skills/bitbucket-cloud/SKILL.md +46 -0
  55. package/skills/bitbucket-data-center/.plugin/plugin.json +19 -0
  56. package/skills/bitbucket-data-center/README.md +20 -0
  57. package/skills/bitbucket-data-center/SKILL.md +53 -0
  58. package/skills/code-review/SKILL.md +1 -1
  59. package/skills/code-review/references/supply-chain-security.md +2 -2
  60. package/skills/index.js +17 -5
  61. package/skills/openhands-sdk/SKILL.md +0 -1
  62. package/tests/test_catalog_schema.py +47 -0
  63. package/tests/test_catalogs.py +26 -0
  64. package/tests/test_integration_catalog_in_sync.py +73 -25
  65. package/integrations/catalog/clickup.json +0 -36
  66. package/integrations/catalog/dropbox.json +0 -38
  67. package/integrations/catalog/freshdesk.json +0 -38
  68. package/integrations/catalog/gitlab.json +0 -38
  69. package/integrations/catalog/mailchimp.json +0 -38
  70. package/integrations/catalog/pipedrive.json +0 -39
  71. package/integrations/catalog/plaid.json +0 -31
  72. package/integrations/catalog/servicenow.json +0 -39
  73. package/integrations/catalog/shopify.json +0 -38
  74. package/integrations/catalog/zendesk.json +0 -38
@@ -1,38 +0,0 @@
1
- {
2
- "id": "dropbox",
3
- "name": "Dropbox",
4
- "description": "Cloud files, folders, content access, and sharing.",
5
- "categories": [
6
- "Storage",
7
- "Documents"
8
- ],
9
- "appUrl": "https://www.dropbox.com",
10
- "docsUrl": "https://developers.dropbox.com/oauth-guide",
11
- "notes": "Popular file automation target with mature OAuth support.",
12
- "popularityRank": 18,
13
- "connectionOptions": [
14
- {
15
- "id": "oauth",
16
- "provider": "http",
17
- "auth": {
18
- "strategy": "oauth2",
19
- "oauth": {
20
- "authorizationUrl": "https://www.dropbox.com/oauth2/authorize",
21
- "tokenUrl": "https://api.dropboxapi.com/oauth2/token",
22
- "scopes": [
23
- "files.metadata.read"
24
- ]
25
- }
26
- },
27
- "http": {
28
- "apiBaseUrl": "https://api.dropboxapi.com/2",
29
- "defaultTool": {
30
- "name": "list_root_folder",
31
- "description": "List entries in the root Dropbox folder.",
32
- "method": "POST",
33
- "path": "/files/list_folder"
34
- }
35
- }
36
- }
37
- ]
38
- }
@@ -1,38 +0,0 @@
1
- {
2
- "id": "freshdesk",
3
- "name": "Freshdesk",
4
- "description": "Support tickets, customer records, and help desk workflows.",
5
- "categories": [
6
- "Support",
7
- "Operations"
8
- ],
9
- "appUrl": "https://www.freshworks.com/freshdesk/",
10
- "docsUrl": "https://developers.freshdesk.com/api/#authentication",
11
- "notes": "Popular support platform for SMB and mid-market teams.",
12
- "popularityRank": 44,
13
- "connectionOptions": [
14
- {
15
- "id": "oauth",
16
- "provider": "http",
17
- "auth": {
18
- "strategy": "oauth2",
19
- "oauth": {
20
- "authorizationUrl": "https://{domain}.freshdesk.com/oauth/authorize",
21
- "tokenUrl": "https://{domain}.freshdesk.com/oauth/token",
22
- "scopes": [
23
- "tickets_view"
24
- ]
25
- }
26
- },
27
- "http": {
28
- "apiBaseUrl": "https://{domain}.freshdesk.com/api/v2",
29
- "defaultTool": {
30
- "name": "list_tickets",
31
- "description": "List Freshdesk tickets for the connected account.",
32
- "method": "GET",
33
- "path": "/tickets"
34
- }
35
- }
36
- }
37
- ]
38
- }
@@ -1,38 +0,0 @@
1
- {
2
- "id": "gitlab",
3
- "name": "GitLab",
4
- "description": "Repositories, issues, merge requests, pipelines, and DevSecOps.",
5
- "categories": [
6
- "Engineering",
7
- "Source control"
8
- ],
9
- "appUrl": "https://about.gitlab.com",
10
- "docsUrl": "https://docs.gitlab.com/integration/oauth_provider/",
11
- "notes": "Major Git hosting platform and natural expansion beyond GitHub.",
12
- "popularityRank": 49,
13
- "connectionOptions": [
14
- {
15
- "id": "oauth",
16
- "provider": "http",
17
- "auth": {
18
- "strategy": "oauth2",
19
- "oauth": {
20
- "authorizationUrl": "https://gitlab.com/oauth/authorize",
21
- "tokenUrl": "https://gitlab.com/oauth/token",
22
- "scopes": [
23
- "read_api"
24
- ]
25
- }
26
- },
27
- "http": {
28
- "apiBaseUrl": "https://gitlab.com/api/v4",
29
- "defaultTool": {
30
- "name": "get_current_user",
31
- "description": "Fetch the authenticated GitLab user profile.",
32
- "method": "GET",
33
- "path": "/user"
34
- }
35
- }
36
- }
37
- ]
38
- }
@@ -1,38 +0,0 @@
1
- {
2
- "id": "mailchimp",
3
- "name": "Mailchimp",
4
- "description": "Campaigns, audiences, automations, and email marketing.",
5
- "categories": [
6
- "Marketing",
7
- "Email"
8
- ],
9
- "appUrl": "https://mailchimp.com",
10
- "docsUrl": "https://mailchimp.com/developer/marketing/guides/access-user-data-oauth-2/",
11
- "notes": "Popular marketing automation target.",
12
- "popularityRank": 46,
13
- "connectionOptions": [
14
- {
15
- "id": "oauth",
16
- "provider": "http",
17
- "auth": {
18
- "strategy": "oauth2",
19
- "oauth": {
20
- "authorizationUrl": "https://login.mailchimp.com/oauth2/authorize",
21
- "tokenUrl": "https://login.mailchimp.com/oauth2/token",
22
- "scopes": [
23
- "audiences:read"
24
- ]
25
- }
26
- },
27
- "http": {
28
- "apiBaseUrl": "https://{dc}.api.mailchimp.com/3.0",
29
- "defaultTool": {
30
- "name": "list_audiences",
31
- "description": "List Mailchimp audiences for the connected account.",
32
- "method": "GET",
33
- "path": "/lists"
34
- }
35
- }
36
- }
37
- ]
38
- }
@@ -1,39 +0,0 @@
1
- {
2
- "id": "pipedrive",
3
- "name": "Pipedrive",
4
- "description": "Deals, contacts, and sales pipeline management.",
5
- "categories": [
6
- "CRM",
7
- "Sales"
8
- ],
9
- "appUrl": "https://www.pipedrive.com",
10
- "docsUrl": "https://pipedrive.readme.io/docs/marketplace-oauth-authorization",
11
- "notes": "Common CRM choice with solid OAuth story.",
12
- "popularityRank": 45,
13
- "connectionOptions": [
14
- {
15
- "id": "oauth",
16
- "provider": "http",
17
- "auth": {
18
- "strategy": "oauth2",
19
- "oauth": {
20
- "authorizationUrl": "https://oauth.pipedrive.com/oauth/authorize",
21
- "tokenUrl": "https://oauth.pipedrive.com/oauth/token",
22
- "scopes": [
23
- "deals:read",
24
- "contacts:read"
25
- ]
26
- }
27
- },
28
- "http": {
29
- "apiBaseUrl": "https://api.pipedrive.com/v1",
30
- "defaultTool": {
31
- "name": "list_persons",
32
- "description": "List Pipedrive people visible to the connected user.",
33
- "method": "GET",
34
- "path": "/persons"
35
- }
36
- }
37
- }
38
- ]
39
- }
@@ -1,31 +0,0 @@
1
- {
2
- "id": "plaid",
3
- "name": "Plaid",
4
- "description": "Financial account connectivity and transaction data flows.",
5
- "categories": [
6
- "Finance",
7
- "Payments"
8
- ],
9
- "appUrl": "https://plaid.com",
10
- "docsUrl": "https://plaid.com/docs/auth/oauth/",
11
- "notes": "Strong fintech workflow candidate, although much of Plaid's OAuth guidance is a special-case token exchange rather than a generic end-user SaaS OAuth connector.",
12
- "popularityRank": 41,
13
- "connectionOptions": [
14
- {
15
- "id": "oauth",
16
- "provider": "http",
17
- "auth": {
18
- "strategy": "oauth2"
19
- },
20
- "http": {
21
- "apiBaseUrl": "https://production.plaid.com",
22
- "defaultTool": {
23
- "name": "get_accounts",
24
- "description": "Fetch accounts for a connected Plaid item.",
25
- "method": "POST",
26
- "path": "/accounts/get"
27
- }
28
- }
29
- }
30
- ]
31
- }
@@ -1,39 +0,0 @@
1
- {
2
- "id": "servicenow",
3
- "name": "ServiceNow",
4
- "description": "Tickets, incidents, service catalogs, and enterprise workflows.",
5
- "categories": [
6
- "ITSM",
7
- "Enterprise"
8
- ],
9
- "appUrl": "https://www.servicenow.com",
10
- "docsUrl": "https://www.servicenow.com/docs/bundle/xanadu-platform-security/page/administer/security/concept/oauth-concept.html",
11
- "notes": "Strong enterprise IT operations use case.",
12
- "popularityRank": 43,
13
- "connectionOptions": [
14
- {
15
- "id": "oauth",
16
- "provider": "http",
17
- "auth": {
18
- "strategy": "oauth2",
19
- "oauth": {
20
- "authorizationUrl": "https://{instance}.service-now.com/oauth_auth.do",
21
- "tokenUrl": "https://{instance}.service-now.com/oauth_token.do",
22
- "scopes": [
23
- "useraccount",
24
- "table.read"
25
- ]
26
- }
27
- },
28
- "http": {
29
- "apiBaseUrl": "https://{instance}.service-now.com/api/now/v1",
30
- "defaultTool": {
31
- "name": "list_incidents",
32
- "description": "List ServiceNow incidents for the connected instance.",
33
- "method": "GET",
34
- "path": "/table/incident"
35
- }
36
- }
37
- }
38
- ]
39
- }
@@ -1,38 +0,0 @@
1
- {
2
- "id": "shopify",
3
- "name": "Shopify",
4
- "description": "Storefronts, products, orders, and ecommerce operations.",
5
- "categories": [
6
- "Ecommerce",
7
- "Operations"
8
- ],
9
- "appUrl": "https://www.shopify.com",
10
- "docsUrl": "https://shopify.dev/docs/apps/build/authentication-authorization/access-tokens/authorization-code-grant",
11
- "notes": "A top ecommerce platform and strong MCP candidate.",
12
- "popularityRank": 29,
13
- "connectionOptions": [
14
- {
15
- "id": "oauth",
16
- "provider": "http",
17
- "auth": {
18
- "strategy": "oauth2",
19
- "oauth": {
20
- "authorizationUrl": "https://{shop}.myshopify.com/admin/oauth/authorize",
21
- "tokenUrl": "https://{shop}.myshopify.com/admin/oauth/access_token",
22
- "scopes": [
23
- "read_products"
24
- ]
25
- }
26
- },
27
- "http": {
28
- "apiBaseUrl": "https://{shop}.myshopify.com/admin/api/2025-01",
29
- "defaultTool": {
30
- "name": "list_products",
31
- "description": "List Shopify products for the connected store.",
32
- "method": "GET",
33
- "path": "/products.json"
34
- }
35
- }
36
- }
37
- ]
38
- }
@@ -1,38 +0,0 @@
1
- {
2
- "id": "zendesk",
3
- "name": "Zendesk",
4
- "description": "Support tickets, customers, agents, and help desk operations.",
5
- "categories": [
6
- "Support",
7
- "Operations"
8
- ],
9
- "appUrl": "https://www.zendesk.com",
10
- "docsUrl": "https://developer.zendesk.com/documentation/apps/getting-started/oauth/",
11
- "notes": "Strong support automation use case for agents.",
12
- "popularityRank": 26,
13
- "connectionOptions": [
14
- {
15
- "id": "oauth",
16
- "provider": "http",
17
- "auth": {
18
- "strategy": "oauth2",
19
- "oauth": {
20
- "authorizationUrl": "https://{subdomain}.zendesk.com/oauth2/authorize",
21
- "tokenUrl": "https://{subdomain}.zendesk.com/oauth2/token",
22
- "scopes": [
23
- "tickets:read"
24
- ]
25
- }
26
- },
27
- "http": {
28
- "apiBaseUrl": "https://{subdomain}.zendesk.com/api/v2",
29
- "defaultTool": {
30
- "name": "list_tickets",
31
- "description": "List Zendesk tickets for the connected account.",
32
- "method": "GET",
33
- "path": "/tickets"
34
- }
35
- }
36
- }
37
- ]
38
- }