openhands-extensions 0.6.0__py3-none-any.whl

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 (89) hide show
  1. openhands_extensions/__init__.py +24 -0
  2. openhands_extensions/_version.py +24 -0
  3. openhands_extensions/catalog/airtable.json +74 -0
  4. openhands_extensions/catalog/apify.json +41 -0
  5. openhands_extensions/catalog/asana.json +38 -0
  6. openhands_extensions/catalog/atlassian.json +28 -0
  7. openhands_extensions/catalog/bitbucket.json +39 -0
  8. openhands_extensions/catalog/box.json +39 -0
  9. openhands_extensions/catalog/brave-search.json +42 -0
  10. openhands_extensions/catalog/browser-mcp.json +31 -0
  11. openhands_extensions/catalog/canva.json +35 -0
  12. openhands_extensions/catalog/clickhouse.json +55 -0
  13. openhands_extensions/catalog/clickup.json +36 -0
  14. openhands_extensions/catalog/cloudflare-bindings.json +29 -0
  15. openhands_extensions/catalog/cloudflare-browser-rendering.json +27 -0
  16. openhands_extensions/catalog/cloudflare-builds.json +28 -0
  17. openhands_extensions/catalog/cloudflare-docs.json +27 -0
  18. openhands_extensions/catalog/cloudflare-observability.json +28 -0
  19. openhands_extensions/catalog/confluence.json +38 -0
  20. openhands_extensions/catalog/datadog.json +34 -0
  21. openhands_extensions/catalog/deepwiki.json +28 -0
  22. openhands_extensions/catalog/discord.json +39 -0
  23. openhands_extensions/catalog/dropbox.json +38 -0
  24. openhands_extensions/catalog/elevenlabs.json +41 -0
  25. openhands_extensions/catalog/everything.json +30 -0
  26. openhands_extensions/catalog/exa.json +41 -0
  27. openhands_extensions/catalog/fetch.json +30 -0
  28. openhands_extensions/catalog/figma.json +76 -0
  29. openhands_extensions/catalog/filesystem.json +41 -0
  30. openhands_extensions/catalog/firecrawl.json +41 -0
  31. openhands_extensions/catalog/freshdesk.json +38 -0
  32. openhands_extensions/catalog/git.json +42 -0
  33. openhands_extensions/catalog/github.json +68 -0
  34. openhands_extensions/catalog/gitlab.json +38 -0
  35. openhands_extensions/catalog/gmail.json +38 -0
  36. openhands_extensions/catalog/google-calendar.json +38 -0
  37. openhands_extensions/catalog/google-docs.json +38 -0
  38. openhands_extensions/catalog/google-drive.json +38 -0
  39. openhands_extensions/catalog/google-sheets.json +38 -0
  40. openhands_extensions/catalog/hubspot.json +34 -0
  41. openhands_extensions/catalog/huggingface.json +31 -0
  42. openhands_extensions/catalog/intercom.json +39 -0
  43. openhands_extensions/catalog/jira.json +38 -0
  44. openhands_extensions/catalog/kagi.json +41 -0
  45. openhands_extensions/catalog/linear.json +63 -0
  46. openhands_extensions/catalog/mailchimp.json +38 -0
  47. openhands_extensions/catalog/memory.json +31 -0
  48. openhands_extensions/catalog/microsoft-outlook.json +38 -0
  49. openhands_extensions/catalog/microsoft-teams.json +38 -0
  50. openhands_extensions/catalog/miro.json +38 -0
  51. openhands_extensions/catalog/monday.json +38 -0
  52. openhands_extensions/catalog/mongodb.json +42 -0
  53. openhands_extensions/catalog/neon.json +42 -0
  54. openhands_extensions/catalog/netlify.json +38 -0
  55. openhands_extensions/catalog/notion.json +73 -0
  56. openhands_extensions/catalog/obsidian.json +41 -0
  57. openhands_extensions/catalog/okta.json +38 -0
  58. openhands_extensions/catalog/onedrive.json +38 -0
  59. openhands_extensions/catalog/ordinal.json +33 -0
  60. openhands_extensions/catalog/paypal.json +26 -0
  61. openhands_extensions/catalog/pipedrive.json +39 -0
  62. openhands_extensions/catalog/plaid.json +31 -0
  63. openhands_extensions/catalog/playwright.json +32 -0
  64. openhands_extensions/catalog/posthog.json +38 -0
  65. openhands_extensions/catalog/quickbooks.json +38 -0
  66. openhands_extensions/catalog/redis.json +44 -0
  67. openhands_extensions/catalog/resend.json +48 -0
  68. openhands_extensions/catalog/salesforce.json +38 -0
  69. openhands_extensions/catalog/sentry.json +68 -0
  70. openhands_extensions/catalog/sequential-thinking.json +30 -0
  71. openhands_extensions/catalog/servicenow.json +39 -0
  72. openhands_extensions/catalog/sharepoint.json +38 -0
  73. openhands_extensions/catalog/shopify.json +38 -0
  74. openhands_extensions/catalog/slack.json +91 -0
  75. openhands_extensions/catalog/stripe.json +60 -0
  76. openhands_extensions/catalog/supabase.json +70 -0
  77. openhands_extensions/catalog/tavily.json +44 -0
  78. openhands_extensions/catalog/time.json +29 -0
  79. openhands_extensions/catalog/trello.json +31 -0
  80. openhands_extensions/catalog/vercel.json +38 -0
  81. openhands_extensions/catalog/webflow.json +34 -0
  82. openhands_extensions/catalog/xero.json +38 -0
  83. openhands_extensions/catalog/zendesk.json +38 -0
  84. openhands_extensions/catalog/zoom.json +38 -0
  85. openhands_extensions/integrations.py +92 -0
  86. openhands_extensions-0.6.0.dist-info/METADATA +6 -0
  87. openhands_extensions-0.6.0.dist-info/RECORD +89 -0
  88. openhands_extensions-0.6.0.dist-info/WHEEL +4 -0
  89. openhands_extensions-0.6.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,38 @@
1
+ {
2
+ "id": "xero",
3
+ "name": "Xero",
4
+ "description": "Accounting, contacts, invoices, and bookkeeping workflows.",
5
+ "categories": [
6
+ "Finance",
7
+ "Accounting"
8
+ ],
9
+ "appUrl": "https://www.xero.com",
10
+ "docsUrl": "https://developer.xero.com/documentation/guides/oauth2/overview/",
11
+ "notes": "Important accounting platform in many regions.",
12
+ "popularityRank": 48,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://login.xero.com/identity/connect/authorize",
21
+ "tokenUrl": "https://identity.xero.com/connect/token",
22
+ "scopes": [
23
+ "accounting.contacts.read"
24
+ ]
25
+ }
26
+ },
27
+ "http": {
28
+ "apiBaseUrl": "https://api.xero.com/api.xro/2.0",
29
+ "defaultTool": {
30
+ "name": "list_contacts",
31
+ "description": "List Xero contacts for the connected tenant.",
32
+ "method": "GET",
33
+ "path": "/Contacts"
34
+ }
35
+ }
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,38 @@
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
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "id": "zoom",
3
+ "name": "Zoom",
4
+ "description": "Meetings, recordings, webinars, and scheduling operations.",
5
+ "categories": [
6
+ "Meetings",
7
+ "Calendar"
8
+ ],
9
+ "appUrl": "https://zoom.us",
10
+ "docsUrl": "https://developers.zoom.us/docs/integrations/oauth/",
11
+ "notes": "Frequently requested for scheduling and meeting summaries.",
12
+ "popularityRank": 31,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://zoom.us/oauth/authorize",
21
+ "tokenUrl": "https://zoom.us/oauth/token",
22
+ "scopes": [
23
+ "meeting:read:user"
24
+ ]
25
+ }
26
+ },
27
+ "http": {
28
+ "apiBaseUrl": "https://api.zoom.us/v2",
29
+ "defaultTool": {
30
+ "name": "list_meetings",
31
+ "description": "List Zoom meetings for the connected user.",
32
+ "method": "GET",
33
+ "path": "/users/me/meetings"
34
+ }
35
+ }
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,92 @@
1
+ """Python bindings for the OpenHands extensions integration catalog.
2
+
3
+ The source of truth is the hand-authored ``integrations/catalog/<id>.json``
4
+ directory. Wheels include those individual JSON files directly; no aggregate
5
+ catalog JSON is authored or packaged.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ import copy
11
+ import json
12
+ from functools import lru_cache
13
+ from importlib import resources
14
+ from pathlib import Path
15
+ from typing import Any, Iterable
16
+
17
+ __all__ = [
18
+ "INTEGRATION_CATALOG_SNAPSHOT",
19
+ "get_integration_catalog_entry",
20
+ "list_integration_catalog",
21
+ ]
22
+
23
+
24
+ def _repo_catalog_dir() -> Path:
25
+ return Path(__file__).resolve().parents[2] / "integrations" / "catalog"
26
+
27
+
28
+ def _catalog_files() -> Iterable[Any]:
29
+ packaged = resources.files(__package__).joinpath("catalog")
30
+ if packaged.is_dir():
31
+ return sorted(
32
+ (path for path in packaged.iterdir() if path.name.endswith(".json")),
33
+ key=lambda path: path.name,
34
+ )
35
+
36
+ repo_catalog = _repo_catalog_dir()
37
+ return sorted(repo_catalog.glob("*.json"), key=lambda path: path.name)
38
+
39
+
40
+ def _read_json(path: Any) -> dict[str, Any]:
41
+ return json.loads(path.read_text(encoding="utf-8"))
42
+
43
+
44
+ @lru_cache(maxsize=1)
45
+ def _integrations() -> tuple[dict[str, Any], ...]:
46
+ entries = [_read_json(path) for path in _catalog_files()]
47
+ entries.sort(
48
+ key=lambda entry: (-(entry.get("popularityRank") if entry.get("popularityRank") is not None else -1), entry["id"]),
49
+ )
50
+ return tuple(entries)
51
+
52
+
53
+ @lru_cache(maxsize=1)
54
+ def _integration_by_id() -> dict[str, dict[str, Any]]:
55
+ return {entry["id"]: entry for entry in _integrations()}
56
+
57
+
58
+ def _entry_supports_mcp(entry: dict[str, Any]) -> bool:
59
+ return any(option.get("provider") == "mcp" for option in entry.get("connectionOptions", []))
60
+
61
+
62
+ def _entry_supports_oauth(entry: dict[str, Any]) -> bool:
63
+ return any(
64
+ option.get("auth", {}).get("strategy") == "oauth2"
65
+ for option in entry.get("connectionOptions", [])
66
+ )
67
+
68
+
69
+ def list_integration_catalog(
70
+ mcp: bool | None = None,
71
+ oauth: bool | None = None,
72
+ ) -> list[dict[str, Any]]:
73
+ """Return the integration catalog, optionally filtered by connector type."""
74
+ result = []
75
+ for entry in _integrations():
76
+ if mcp is not None and _entry_supports_mcp(entry) != mcp:
77
+ continue
78
+ if oauth is not None and _entry_supports_oauth(entry) != oauth:
79
+ continue
80
+ result.append(copy.deepcopy(entry))
81
+ return result
82
+
83
+
84
+ def get_integration_catalog_entry(id: str) -> dict[str, Any] | None:
85
+ """Return one integration catalog entry by id, or ``None``."""
86
+ entry = _integration_by_id().get(id)
87
+ return copy.deepcopy(entry) if entry is not None else None
88
+
89
+
90
+ INTEGRATION_CATALOG_SNAPSHOT: dict[str, Any] = {
91
+ "integrations": copy.deepcopy(list(_integrations()))
92
+ }
@@ -0,0 +1,6 @@
1
+ Metadata-Version: 2.4
2
+ Name: openhands-extensions
3
+ Version: 0.6.0
4
+ Summary: OpenHands extensions, plugins, and skills (Python bindings for the integration catalog)
5
+ License-File: LICENSE
6
+ Requires-Python: >=3.12
@@ -0,0 +1,89 @@
1
+ openhands_extensions/__init__.py,sha256=ZcVnActJ2Ei00yM4229biMiQz8xT32ecI6t8QnOZ1Mk,766
2
+ openhands_extensions/_version.py,sha256=uWuNVUvPYX6waOG_hjYT1W80DByJWWUNbjjP-JGC8Jw,1097
3
+ openhands_extensions/integrations.py,sha256=Ku8NZ-nPhD_hvmStAl0CCzTCP3IrpTJmqc5meeUwx2g,2831
4
+ openhands_extensions/catalog/airtable.json,sha256=QHWxHYIQ7m0ig2NIIkIwpEUGY2tIrmyajkEWF-eV5p4,1961
5
+ openhands_extensions/catalog/apify.json,sha256=2CmGG2q-83_iP2o2SPdGebUwcNQT_kRAmZ-6tF3cZYc,979
6
+ openhands_extensions/catalog/asana.json,sha256=IUXGS7M4Ygs2cjghsmxE_8OlOftvp11t0lKKHL_H6GY,1001
7
+ openhands_extensions/catalog/atlassian.json,sha256=hn5l3Dyj7D2L0itFvC_OsObwKyGbQ7nxZJHNjBs9_Nw,652
8
+ openhands_extensions/catalog/bitbucket.json,sha256=T33fQn837m-uMh65NXEdtaO1U8XOxCNzjukbfywU_3g,1097
9
+ openhands_extensions/catalog/box.json,sha256=7NJPD1ZV_zn9l1zxw17_FRO5D62jViHJTdVeZuFLD-A,1038
10
+ openhands_extensions/catalog/brave-search.json,sha256=0wQOCaj3wUp9MvMfEQGJUeI-LGSzbqZJmWq3uuCvV_Y,1057
11
+ openhands_extensions/catalog/browser-mcp.json,sha256=XmzgeROJA0bpfVpe5NOdZ0ryNs8iE1m5QcNmut5x3aE,627
12
+ openhands_extensions/catalog/canva.json,sha256=djf9ZriDWiLi8WjPomZdkZcKif1Wq3QvIqC0r8TIbNg,918
13
+ openhands_extensions/catalog/clickhouse.json,sha256=0Yjt8OfnWNXJcrqrencHExlE-R4n45WSlTefzJwJIK4,1396
14
+ openhands_extensions/catalog/clickup.json,sha256=-LVVQ2WbQOFmJte3F00cTd7fDwBVKyDOtfrnDrzLY3o,984
15
+ openhands_extensions/catalog/cloudflare-bindings.json,sha256=8FlIvMvahUsvTSWUXUCSfUho6uaJnBMG5Uoka8JmETE,707
16
+ openhands_extensions/catalog/cloudflare-browser-rendering.json,sha256=oa1Kx9h487YF3WFxtMWjaN9nIU5iKdDBxG5CJhQZhd4,684
17
+ openhands_extensions/catalog/cloudflare-builds.json,sha256=ndEqdjOhs4LLP6WF4yoOiX0VJx2EmmnRpyw2gd8MCI4,664
18
+ openhands_extensions/catalog/cloudflare-docs.json,sha256=04xEnikJiZHbBvgzdSpMn7SFelxELrEfADT2FZIS_mA,656
19
+ openhands_extensions/catalog/cloudflare-observability.json,sha256=l03AWGXeWzCOs0W-XAPOwszD-_mw4dZwtNR41forHnM,696
20
+ openhands_extensions/catalog/confluence.json,sha256=GqihpUHynM-yhxIHZ_43x6bAmbU84fT7qMEt83ZqJhw,1111
21
+ openhands_extensions/catalog/datadog.json,sha256=1Zo2A2r1raEy3NFeoZNAqDuNPTOMgfdl3JFImkJo9nk,1009
22
+ openhands_extensions/catalog/deepwiki.json,sha256=gqb13coybeSrICJnzKeAlzqz37JLKKx_NvvBEqMYhHo,584
23
+ openhands_extensions/catalog/discord.json,sha256=oWcJ8YKHKs6LTsM0CH6nceos4NDZJ0_F7sIEkI-1fyo,1051
24
+ openhands_extensions/catalog/dropbox.json,sha256=PuLjt2XH4KjIMBzKNn8ligVdnXW_jHCRh_qRyBYBOKg,1029
25
+ openhands_extensions/catalog/elevenlabs.json,sha256=UlL-ecKXEZOvGLZsszGZJGRhjTMlVC2KcDUODaxPm8g,1152
26
+ openhands_extensions/catalog/everything.json,sha256=LsX_EmtvCeJF2xZXKhlmaJWBviw-8dReAk70WcCrGMU,673
27
+ openhands_extensions/catalog/exa.json,sha256=S9kSKdfHkiXXPpf2FHnV8cjv8w7JaB1FuzlysGA4rj8,948
28
+ openhands_extensions/catalog/fetch.json,sha256=Ntds0HP0suD3B4Z8a0xDlTEtvh3apNiqBRK8Xu_SnHo,635
29
+ openhands_extensions/catalog/figma.json,sha256=IB6KH0czQ6eW3VAA3swzNeOelvPBiz3zxpuwrTKEWTY,1927
30
+ openhands_extensions/catalog/filesystem.json,sha256=8fOvDkWCS6zoB2prciFtX06UZy3omMMjJA_KLJN_Xxw,1136
31
+ openhands_extensions/catalog/firecrawl.json,sha256=dunaqBnyafoG0Iezluet8-KXHNDE7DP0F5GI2g5UMMk,951
32
+ openhands_extensions/catalog/freshdesk.json,sha256=UAKdJ482iIfL4f225jiCTD5GhXrhofrPzXwqy4beP2c,1069
33
+ openhands_extensions/catalog/git.json,sha256=FVl1qinZkgMMK4kTw3qTY8EcM1SRJC1EL_mm2mbpEzs,1031
34
+ openhands_extensions/catalog/github.json,sha256=1wj36JjEEMvAqJP1gMJg8ZFqqLEm_Fm0-yRt63rjTgU,1949
35
+ openhands_extensions/catalog/gitlab.json,sha256=KdGZY_9J8UENQHTCBBM6Pb3a1JODY3UF-9WlEwWvwnY,1026
36
+ openhands_extensions/catalog/gmail.json,sha256=IrLXcdPDzGfvP4MeKoQlf8LQKD18AShQbzk8dbuZmdE,1105
37
+ openhands_extensions/catalog/google-calendar.json,sha256=t8GyT8ZRiMjeDUCUGItBDkiy9Qs9T2YFL6XIpltgdhw,1151
38
+ openhands_extensions/catalog/google-docs.json,sha256=2FFZoG2aV9cc_4z_2HHFjJp31fl8E_3EExBaU4jyQfw,1173
39
+ openhands_extensions/catalog/google-drive.json,sha256=8nX7n0vtAohUo5aItpFvoSwrVM_WJ760uK8cEH_CzlA,1120
40
+ openhands_extensions/catalog/google-sheets.json,sha256=Nvoz9Ra6FHn9FqXgoK05KiCfpymNpSou85OaAKtXJOE,1163
41
+ openhands_extensions/catalog/hubspot.json,sha256=49B_fh-bBrfnDrzwbxM_re5Z89euI5HU6PwP3hEJDCk,1159
42
+ openhands_extensions/catalog/huggingface.json,sha256=LxlISfUCQJA_ANo3KixFYvypDHI-ERCkpNqPgAEe_LY,717
43
+ openhands_extensions/catalog/intercom.json,sha256=kSJx4Mpzd0TcxxTQhzkracOEw0LVxdq1lYqPyNv85tc,1062
44
+ openhands_extensions/catalog/jira.json,sha256=CoJ8EQ7gb2imBSisROYsSEB0RZq7B_ENubZkxXIAwIw,1125
45
+ openhands_extensions/catalog/kagi.json,sha256=l34-PvmnnY7L1IZffqRzKJpNcw_3ZPyx4YrZdJHb0_A,999
46
+ openhands_extensions/catalog/linear.json,sha256=eN-g1yUtNpRe47uuF0fctmeWZrRpQ3-tvK99l1O01us,1896
47
+ openhands_extensions/catalog/mailchimp.json,sha256=YhHeaoQhxULfs1RzJfejPKkUnosZHmmW40cOk-lxKig,1047
48
+ openhands_extensions/catalog/memory.json,sha256=CFeIWPcdF0Le33ak4aZxvnHJyhg1dpCmXaZuM3s76sk,652
49
+ openhands_extensions/catalog/microsoft-outlook.json,sha256=TUQGVWjCk_7ufL734S7dlg8Nk-Td5Ooxu_Jen7hoVOg,1183
50
+ openhands_extensions/catalog/microsoft-teams.json,sha256=Jkw1pKMml8F2ZboUGjimmetgM1Mqlu2BPfSuQPokIrs,1144
51
+ openhands_extensions/catalog/miro.json,sha256=1cFpsijiwxyIjMCVzd0vRBlQ3Qhjew3NFpf_Rz9XCtA,1030
52
+ openhands_extensions/catalog/monday.json,sha256=mp0XF_2dTrVuxsqIajlfJp90dMCtzQ4ss526cROXzG0,993
53
+ openhands_extensions/catalog/mongodb.json,sha256=H_Dp8U7O4fF2mzJaM4tSblJx4tvzClNRdOI-OCdFe94,1168
54
+ openhands_extensions/catalog/neon.json,sha256=j3XUAn-uRdjIWc0BTKTQxTFqe0AjEqGf_MU6fRMj0Yw,999
55
+ openhands_extensions/catalog/netlify.json,sha256=pgWcnxIKu-3RdLO54fZxt67zcK2TZJAdMZX1b56Nahg,1030
56
+ openhands_extensions/catalog/notion.json,sha256=OnilF9vBOd51a3ETXcTP6sJFmdHzt6quliTnxnt7iow,1926
57
+ openhands_extensions/catalog/obsidian.json,sha256=gBws4Nn__qk6wmlHmUboVPTYE50Vfn1_hfUp_vxJ4Ts,1043
58
+ openhands_extensions/catalog/okta.json,sha256=NUOEPYEXb9qyZUmad4UmsFnH-6bpaNLhQYVa4CvyiEg,1031
59
+ openhands_extensions/catalog/onedrive.json,sha256=67jjGlkyhIiRnS18krYFFFcHAfU_GCI2N9mm2Q8MqTo,1127
60
+ openhands_extensions/catalog/ordinal.json,sha256=OwOpA_nyyeXg1qSBQ2IuhKKAIMDKlwIyn-fmUpde5tk,993
61
+ openhands_extensions/catalog/paypal.json,sha256=xvUHBSP3MxKT0w3rpWtrHYnP2wr9iUnSFOz21a9Ushs,574
62
+ openhands_extensions/catalog/pipedrive.json,sha256=OPxmKfvjobWhWtzCvKBiLTivbB6vxm0lq-msgOs2qzQ,1050
63
+ openhands_extensions/catalog/plaid.json,sha256=sxGlo1QSYzsIY6gWkLIIUGgFfwfJth4uoUTkEU9WBos,877
64
+ openhands_extensions/catalog/playwright.json,sha256=EMYiNG6G7ycmzC87ZEEwr3IgOPxg7v5CD-X0xmBKV_8,632
65
+ openhands_extensions/catalog/posthog.json,sha256=sL2ymI8QqVo-9tbx4dDIJmPHIMWX7HsMST5IsUpPVzY,1019
66
+ openhands_extensions/catalog/quickbooks.json,sha256=6zOBpBF5ui0_pdsSaXUsFaXgfwvnaGPLSGegLFfn9HU,1232
67
+ openhands_extensions/catalog/redis.json,sha256=YHhFcd7X3n0M56cG3lW_l-E8nt1C6J8Ar3Y5H3Vs7lA,1134
68
+ openhands_extensions/catalog/resend.json,sha256=_Tu2hx-gzJRVVuFG7mH53iB81kvyRbf-ylBQ3AOyEcE,1176
69
+ openhands_extensions/catalog/salesforce.json,sha256=cpX4BPOPLcs-Wuu0UTJeyBsxxT32MoZcpeLI-d2a8PQ,1121
70
+ openhands_extensions/catalog/sentry.json,sha256=JKmTqrUHL6nuWO_BpnqGxIUlOGwZjMxgbOZ19PoHcxI,1724
71
+ openhands_extensions/catalog/sequential-thinking.json,sha256=5uV8gIgzPTEhV-0hy2dX4ZHTtlWUkB6yrcPhBoCIrjA,721
72
+ openhands_extensions/catalog/servicenow.json,sha256=rr_J6oqUXi2GEOMylZrmRoflr2FHmxEpm558cEyWl9Y,1166
73
+ openhands_extensions/catalog/sharepoint.json,sha256=B8D-XN7K0S5wFOcw0dGj0xCRCYd5cKFGRWmKPQcp4Us,1136
74
+ openhands_extensions/catalog/shopify.json,sha256=qnelkb5PUdryPvFZ1ODZPL57XNvpD83_hlSOriiAdLA,1126
75
+ openhands_extensions/catalog/slack.json,sha256=oaYIZQdIS41aG6n9h6tZLD0oo8molPnanwAcoyp28KE,2808
76
+ openhands_extensions/catalog/stripe.json,sha256=BYhH3dmGpvkNanEjDqg0J5OLy3hQqe1QKWd4CyvkVUk,1603
77
+ openhands_extensions/catalog/supabase.json,sha256=tvbYFAiNgE_UxsXXcTuUc1n564Po5mCdrudpJqG2DDU,1931
78
+ openhands_extensions/catalog/tavily.json,sha256=WsCcxzbNonqexNSbbyep7DkLmS1p3SmzgpKZpyMYXuo,1095
79
+ openhands_extensions/catalog/time.json,sha256=0bKrZ1D6KbuIIAgjCCwta8NKs_ZNtKyxtGkGiyuZbrQ,607
80
+ openhands_extensions/catalog/trello.json,sha256=QJnpvvXRIx3ntU-ZrJfMzPzoYaVQ8lgETSGzGi8MlP0,944
81
+ openhands_extensions/catalog/vercel.json,sha256=WRB_f449gzFBaYEoaOT0gU6E3BH1PD6Uv0uEDGhNH9g,1032
82
+ openhands_extensions/catalog/webflow.json,sha256=nwqWIL79xCAz-U_EpvCjkm8ikqgGTc2c2R0_9lVxl6o,1022
83
+ openhands_extensions/catalog/xero.json,sha256=u-5d5KYaqnHTAeW6Ws46IS_RumCx6xIZW2a4B2qR8lk,1049
84
+ openhands_extensions/catalog/zendesk.json,sha256=ph50CkF_1KPSiSbKo3GDhj-HNyHO7PhlDhS_f8WhgR8,1067
85
+ openhands_extensions/catalog/zoom.json,sha256=5DttG9HQvIl9GWq_pwbmFy1Rr4XqtAQPL1DAcv7FgWU,1002
86
+ openhands_extensions-0.6.0.dist-info/METADATA,sha256=TmvNYY7UTHA8K9Km5GqE5SU5lQRjEznp42ThbWyxaIQ,207
87
+ openhands_extensions-0.6.0.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
88
+ openhands_extensions-0.6.0.dist-info/licenses/LICENSE,sha256=_kJSSPxR0dGAWrFEK6it2Y13CtihMgUeqsjJPX7uPr4,1066
89
+ openhands_extensions-0.6.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.30.1
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 OpenHands
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.