universal-mcp-applications 0.1.13__py3-none-any.whl → 0.1.15__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.
Potentially problematic release.
This version of universal-mcp-applications might be problematic. Click here for more details.
- universal_mcp/applications/aws_s3/app.py +71 -71
- universal_mcp/applications/calendly/app.py +199 -199
- universal_mcp/applications/canva/app.py +189 -189
- universal_mcp/applications/domain_checker/app.py +31 -24
- universal_mcp/applications/e2b/app.py +6 -7
- universal_mcp/applications/elevenlabs/app.py +24 -20
- universal_mcp/applications/exa/app.py +25 -20
- universal_mcp/applications/falai/app.py +44 -41
- universal_mcp/applications/file_system/app.py +20 -12
- universal_mcp/applications/firecrawl/app.py +46 -47
- universal_mcp/applications/fireflies/app.py +79 -79
- universal_mcp/applications/fpl/app.py +83 -74
- universal_mcp/applications/github/README.md +0 -1028
- universal_mcp/applications/github/app.py +55 -50227
- universal_mcp/applications/google_calendar/app.py +63 -65
- universal_mcp/applications/google_docs/app.py +78 -78
- universal_mcp/applications/google_drive/app.py +361 -440
- universal_mcp/applications/google_gemini/app.py +34 -17
- universal_mcp/applications/google_mail/app.py +117 -117
- universal_mcp/applications/google_searchconsole/app.py +41 -47
- universal_mcp/applications/google_sheet/app.py +157 -164
- universal_mcp/applications/http_tools/app.py +16 -16
- universal_mcp/applications/linkedin/app.py +26 -31
- universal_mcp/applications/ms_teams/app.py +190 -190
- universal_mcp/applications/openai/app.py +55 -56
- universal_mcp/applications/outlook/app.py +71 -71
- universal_mcp/applications/perplexity/app.py +17 -17
- universal_mcp/applications/reddit/app.py +225 -4053
- universal_mcp/applications/replicate/app.py +40 -42
- universal_mcp/applications/resend/app.py +157 -154
- universal_mcp/applications/scraper/app.py +24 -24
- universal_mcp/applications/serpapi/app.py +18 -20
- universal_mcp/applications/sharepoint/app.py +46 -36
- universal_mcp/applications/slack/app.py +66 -66
- universal_mcp/applications/tavily/app.py +7 -7
- universal_mcp/applications/twitter/api_segments/compliance_api.py +17 -20
- universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +35 -40
- universal_mcp/applications/twitter/api_segments/dm_events_api.py +18 -21
- universal_mcp/applications/twitter/api_segments/likes_api.py +19 -22
- universal_mcp/applications/twitter/api_segments/lists_api.py +59 -68
- universal_mcp/applications/twitter/api_segments/spaces_api.py +36 -42
- universal_mcp/applications/twitter/api_segments/trends_api.py +7 -8
- universal_mcp/applications/twitter/api_segments/tweets_api.py +159 -185
- universal_mcp/applications/twitter/api_segments/usage_api.py +5 -6
- universal_mcp/applications/twitter/api_segments/users_api.py +230 -264
- universal_mcp/applications/unipile/app.py +99 -105
- universal_mcp/applications/whatsapp/app.py +86 -82
- universal_mcp/applications/whatsapp_business/app.py +147 -147
- universal_mcp/applications/youtube/app.py +290 -290
- universal_mcp/applications/zenquotes/app.py +6 -6
- {universal_mcp_applications-0.1.13.dist-info → universal_mcp_applications-0.1.15.dist-info}/METADATA +2 -2
- {universal_mcp_applications-0.1.13.dist-info → universal_mcp_applications-0.1.15.dist-info}/RECORD +54 -54
- {universal_mcp_applications-0.1.13.dist-info → universal_mcp_applications-0.1.15.dist-info}/WHEEL +0 -0
- {universal_mcp_applications-0.1.13.dist-info → universal_mcp_applications-0.1.15.dist-info}/licenses/LICENSE +0 -0
|
@@ -16,19 +16,19 @@ class SlackApp(APIApplication):
|
|
|
16
16
|
ts: float | None = None,
|
|
17
17
|
) -> dict[str, Any]:
|
|
18
18
|
"""
|
|
19
|
-
Deletes a message from a Slack channel
|
|
20
|
-
|
|
19
|
+
Deletes a specific message from a Slack channel. It identifies the message using its channel ID and timestamp (`ts`). This function is distinct from `chat_update` which modifies a message, and `chat_post_message` which sends a new one.
|
|
20
|
+
|
|
21
21
|
Args:
|
|
22
22
|
as_user (boolean): Pass true to delete the message as the authed user with `chat:write:user` scope. [Bot users](https://slack.dev) in this context are considered authed users. If unused or false, the message will be deleted with `chat:write:bot` scope.
|
|
23
23
|
channel (string): Channel containing the message to be deleted.
|
|
24
24
|
ts (number): Timestamp of the message to be deleted.
|
|
25
|
-
|
|
25
|
+
|
|
26
26
|
Returns:
|
|
27
27
|
dict[str, Any]: Typical success response
|
|
28
|
-
|
|
28
|
+
|
|
29
29
|
Raises:
|
|
30
30
|
HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
|
|
31
|
-
|
|
31
|
+
|
|
32
32
|
Tags:
|
|
33
33
|
chat
|
|
34
34
|
"""
|
|
@@ -70,8 +70,8 @@ class SlackApp(APIApplication):
|
|
|
70
70
|
username: str | None = None,
|
|
71
71
|
) -> dict[str, Any]:
|
|
72
72
|
"""
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
Posts a new message to a specified Slack channel. It supports rich content formats like text, attachments, and blocks, along with options for threading and authorship. This function creates new messages, unlike `chat_update` which modifies existing ones or `chat_delete` which removes them.
|
|
74
|
+
|
|
75
75
|
Args:
|
|
76
76
|
as_user (boolean): Pass true to post the message as the authed user, instead of as a bot. Defaults to false. See [authorship](https://slack.dev) below.
|
|
77
77
|
attachments (string): A JSON-based array of structured attachments, presented as a URL-encoded string.
|
|
@@ -88,13 +88,13 @@ class SlackApp(APIApplication):
|
|
|
88
88
|
unfurl_links (boolean): Pass true to enable unfurling of primarily text-based content.
|
|
89
89
|
unfurl_media (boolean): Pass false to disable unfurling of media content.
|
|
90
90
|
username (string): Set your bot's user name. Must be used in conjunction with `as_user` set to false, otherwise ignored. See [authorship](https://slack.dev) below.
|
|
91
|
-
|
|
91
|
+
|
|
92
92
|
Returns:
|
|
93
93
|
dict[str, Any]: Typical success response
|
|
94
|
-
|
|
94
|
+
|
|
95
95
|
Raises:
|
|
96
96
|
HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
|
|
97
|
-
|
|
97
|
+
|
|
98
98
|
Tags:
|
|
99
99
|
chat
|
|
100
100
|
"""
|
|
@@ -141,8 +141,8 @@ class SlackApp(APIApplication):
|
|
|
141
141
|
ts: str | None = None,
|
|
142
142
|
) -> dict[str, Any]:
|
|
143
143
|
"""
|
|
144
|
-
Updates a message in a Slack channel
|
|
145
|
-
|
|
144
|
+
Updates a specific, existing message in a Slack channel, identified by its timestamp. It modifies content such as text, blocks, or attachments by calling the `chat.update` API endpoint, distinguishing it from functions that create (`chat_post_message`) or delete (`chat_delete`) messages.
|
|
145
|
+
|
|
146
146
|
Args:
|
|
147
147
|
as_user (string): Pass true to update the message as the authed user. [Bot users](https://slack.dev) in this context are considered authed users.
|
|
148
148
|
attachments (string): A JSON-based array of structured attachments, presented as a URL-encoded string. This field is required when not presenting `text`. If you don't include this field, the message's previous `attachments` will be retained. To remove previous `attachments`, include an empty array for this field.
|
|
@@ -152,13 +152,13 @@ class SlackApp(APIApplication):
|
|
|
152
152
|
parse (string): Change how messages are treated. Defaults to `client`, unlike `chat.postMessage`. Accepts either `none` or `full`. If you do not specify a value for this field, the original value set for the message will be overwritten with the default, `client`.
|
|
153
153
|
text (string): New text for the message, using the [default formatting rules](https://slack.dev). It's not required when presenting `blocks` or `attachments`.
|
|
154
154
|
ts (string): Timestamp of the message to be updated.
|
|
155
|
-
|
|
155
|
+
|
|
156
156
|
Returns:
|
|
157
157
|
dict[str, Any]: Typical success response
|
|
158
|
-
|
|
158
|
+
|
|
159
159
|
Raises:
|
|
160
160
|
HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
|
|
161
|
-
|
|
161
|
+
|
|
162
162
|
Tags:
|
|
163
163
|
chat, important
|
|
164
164
|
"""
|
|
@@ -197,8 +197,8 @@ class SlackApp(APIApplication):
|
|
|
197
197
|
cursor: str | None = None,
|
|
198
198
|
) -> dict[str, Any]:
|
|
199
199
|
"""
|
|
200
|
-
|
|
201
|
-
|
|
200
|
+
Fetches the message history for a specific Slack conversation or channel. Supports filtering messages by timestamp and pagination using a cursor. This method retrieves messages *within* a conversation, unlike `conversations_list` which retrieves a list of available conversations.
|
|
201
|
+
|
|
202
202
|
Args:
|
|
203
203
|
token (string): Authentication token used to access conversation history.
|
|
204
204
|
channel (string): The ID of the channel to retrieve the conversation history from.
|
|
@@ -207,13 +207,13 @@ class SlackApp(APIApplication):
|
|
|
207
207
|
inclusive (boolean): Determines whether to include the messages at the end of the history range in the response.
|
|
208
208
|
limit (integer): Specifies the maximum number of conversation history entries to retrieve in a single API call.
|
|
209
209
|
cursor (string): A string token used for cursor-based pagination to fetch the next set of conversation history results starting from a specific point.
|
|
210
|
-
|
|
210
|
+
|
|
211
211
|
Returns:
|
|
212
212
|
dict[str, Any]: Typical success response containing a channel's messages
|
|
213
|
-
|
|
213
|
+
|
|
214
214
|
Raises:
|
|
215
215
|
HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
|
|
216
|
-
|
|
216
|
+
|
|
217
217
|
Tags:
|
|
218
218
|
conversations
|
|
219
219
|
"""
|
|
@@ -243,21 +243,21 @@ class SlackApp(APIApplication):
|
|
|
243
243
|
cursor: str | None = None,
|
|
244
244
|
) -> dict[str, Any]:
|
|
245
245
|
"""
|
|
246
|
-
|
|
247
|
-
|
|
246
|
+
Fetches a paginated list of channel-like conversations in a workspace. Allows filtering by type and excluding archived channels. This function lists available conversations, unlike `conversations_history` which retrieves the message history from within a specific conversation.
|
|
247
|
+
|
|
248
248
|
Args:
|
|
249
249
|
token (string): The token parameter in the query string is a string used for authentication to authorize and identify the client making the GET request to the /conversations.list endpoint.
|
|
250
250
|
exclude_archived (boolean): Exclude archived conversations from the list of results.
|
|
251
251
|
types (string): Specifies the types of conversations to include in the list, as a string query parameter.
|
|
252
252
|
limit (integer): Specifies the maximum number of conversations to return in the response, with a default value of 1.
|
|
253
253
|
cursor (string): A cursor string used for pagination to specify the position from which to continue retrieving the next set of conversation results.
|
|
254
|
-
|
|
254
|
+
|
|
255
255
|
Returns:
|
|
256
256
|
dict[str, Any]: Typical success response with only public channels
|
|
257
|
-
|
|
257
|
+
|
|
258
258
|
Raises:
|
|
259
259
|
HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
|
|
260
|
-
|
|
260
|
+
|
|
261
261
|
Tags:
|
|
262
262
|
conversations
|
|
263
263
|
"""
|
|
@@ -278,19 +278,19 @@ class SlackApp(APIApplication):
|
|
|
278
278
|
|
|
279
279
|
def reactions_add(self, channel: str, name: str, timestamp: str) -> dict[str, Any]:
|
|
280
280
|
"""
|
|
281
|
-
Adds a reaction to
|
|
282
|
-
|
|
281
|
+
Adds a specific emoji reaction to a message in a Slack channel, identifying the message by its channel ID and timestamp. This method creates a new reaction, unlike `reactions_get` or `reactions_list` which retrieve existing reaction data for items or users.
|
|
282
|
+
|
|
283
283
|
Args:
|
|
284
284
|
channel (string): Channel where the message to add reaction to was posted.
|
|
285
285
|
name (string): Reaction (emoji) name.
|
|
286
286
|
timestamp (string): Timestamp of the message to add reaction to.
|
|
287
|
-
|
|
287
|
+
|
|
288
288
|
Returns:
|
|
289
289
|
dict[str, Any]: Typical success response
|
|
290
|
-
|
|
290
|
+
|
|
291
291
|
Raises:
|
|
292
292
|
HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
|
|
293
|
-
|
|
293
|
+
|
|
294
294
|
Tags:
|
|
295
295
|
reactions
|
|
296
296
|
"""
|
|
@@ -313,7 +313,7 @@ class SlackApp(APIApplication):
|
|
|
313
313
|
)
|
|
314
314
|
return self._handle_response(response)
|
|
315
315
|
|
|
316
|
-
def
|
|
316
|
+
def get_reactions_for_item(
|
|
317
317
|
self,
|
|
318
318
|
token: str,
|
|
319
319
|
channel: str | None = None,
|
|
@@ -323,8 +323,8 @@ class SlackApp(APIApplication):
|
|
|
323
323
|
timestamp: str | None = None,
|
|
324
324
|
) -> dict[str, Any]:
|
|
325
325
|
"""
|
|
326
|
-
Retrieves
|
|
327
|
-
|
|
326
|
+
Retrieves all reactions for a single item, such as a message, file, or file comment. This function targets reactions *on* a specific item, unlike `reactions_list` which gets reactions created *by* a user.
|
|
327
|
+
|
|
328
328
|
Args:
|
|
329
329
|
token (string): The "token" parameter is a required string that must be provided in the query string for authentication purposes when using the GET operation at "/reactions.get" to authorize access to reaction data.
|
|
330
330
|
channel (string): The channel identifier to filter reactions by, specified as a string.
|
|
@@ -332,13 +332,13 @@ class SlackApp(APIApplication):
|
|
|
332
332
|
file_comment (string): A query parameter to filter reactions by a specific file comment.
|
|
333
333
|
full (boolean): Whether to return full reaction details or only basic reaction information.
|
|
334
334
|
timestamp (string): The timestamp parameter filters results based on a specific date and time value, expected in an ISO 8601 format string.
|
|
335
|
-
|
|
335
|
+
|
|
336
336
|
Returns:
|
|
337
337
|
dict[str, Any]: Typical success response
|
|
338
|
-
|
|
338
|
+
|
|
339
339
|
Raises:
|
|
340
340
|
HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
|
|
341
|
-
|
|
341
|
+
|
|
342
342
|
Tags:
|
|
343
343
|
reactions
|
|
344
344
|
"""
|
|
@@ -358,7 +358,7 @@ class SlackApp(APIApplication):
|
|
|
358
358
|
response = self._get(url, params=query_params)
|
|
359
359
|
return self._handle_response(response)
|
|
360
360
|
|
|
361
|
-
def
|
|
361
|
+
def get_user_reactions(
|
|
362
362
|
self,
|
|
363
363
|
token: str,
|
|
364
364
|
user: str | None = None,
|
|
@@ -369,8 +369,8 @@ class SlackApp(APIApplication):
|
|
|
369
369
|
limit: int | None = None,
|
|
370
370
|
) -> dict[str, Any]:
|
|
371
371
|
"""
|
|
372
|
-
Retrieves a paginated list of
|
|
373
|
-
|
|
372
|
+
Retrieves a paginated list of items (e.g., messages, files) that a specific user has reacted to. Unlike `reactions_get`, which fetches all reactions for a single item, this function lists all items a given user has reacted to across Slack.
|
|
373
|
+
|
|
374
374
|
Args:
|
|
375
375
|
token (string): Required authentication token passed as a query parameter to authenticate the request for listing reactions.
|
|
376
376
|
user (string): Filter reactions by specifying the user, which can be a username or identifier.
|
|
@@ -379,13 +379,13 @@ class SlackApp(APIApplication):
|
|
|
379
379
|
page (integer): The "page" parameter is an integer query parameter used to specify the page number for pagination in the list of reactions.
|
|
380
380
|
cursor (string): A string used to specify the position in the list of reactions for pagination, allowing retrieval of additional items after or before the specified cursor.
|
|
381
381
|
limit (integer): The `limit` parameter specifies the maximum number of reactions to return in the response.
|
|
382
|
-
|
|
382
|
+
|
|
383
383
|
Returns:
|
|
384
384
|
dict[str, Any]: Typical success response
|
|
385
|
-
|
|
385
|
+
|
|
386
386
|
Raises:
|
|
387
387
|
HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
|
|
388
|
-
|
|
388
|
+
|
|
389
389
|
Tags:
|
|
390
390
|
reactions
|
|
391
391
|
"""
|
|
@@ -417,8 +417,8 @@ class SlackApp(APIApplication):
|
|
|
417
417
|
sort_dir: str | None = None,
|
|
418
418
|
) -> dict[str, Any]:
|
|
419
419
|
"""
|
|
420
|
-
Searches
|
|
421
|
-
|
|
420
|
+
Searches a Slack workspace for messages matching a specific query. It supports advanced control over results through pagination, sorting by relevance or timestamp, and an option to highlight search terms within the returned message content.
|
|
421
|
+
|
|
422
422
|
Args:
|
|
423
423
|
token (string): A required string parameter named "token" passed as a query parameter to authenticate the request for retrieving search messages.
|
|
424
424
|
query (string): The search query string to specify the text or keywords to search for in messages.
|
|
@@ -427,13 +427,13 @@ class SlackApp(APIApplication):
|
|
|
427
427
|
page (integer): The page query parameter specifies the page number of search results to retrieve in the GET /search.messages operation.
|
|
428
428
|
sort (string): Sorts the search results by a specified field, allowing clients to customize the order of returned messages.
|
|
429
429
|
sort_dir (string): The "sort_dir" query parameter specifies the direction of sorting for the search results, typically accepting values like "asc" for ascending or "desc" for descending order.
|
|
430
|
-
|
|
430
|
+
|
|
431
431
|
Returns:
|
|
432
432
|
dict[str, Any]: Typical success response
|
|
433
|
-
|
|
433
|
+
|
|
434
434
|
Raises:
|
|
435
435
|
HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
|
|
436
|
-
|
|
436
|
+
|
|
437
437
|
Tags:
|
|
438
438
|
search, important
|
|
439
439
|
"""
|
|
@@ -456,18 +456,18 @@ class SlackApp(APIApplication):
|
|
|
456
456
|
|
|
457
457
|
def team_info(self, token: str, team: str | None = None) -> dict[str, Any]:
|
|
458
458
|
"""
|
|
459
|
-
|
|
460
|
-
|
|
459
|
+
Fetches details for a Slack team, such as name and domain, by calling the `team.info` API endpoint. This function requires an authentication token and can optionally target a specific team by its ID, distinguishing it from user or channel-specific functions.
|
|
460
|
+
|
|
461
461
|
Args:
|
|
462
462
|
token (string): Mandatory authentication token passed as a query parameter to authenticate the request for retrieving team information.
|
|
463
463
|
team (string): The "team" parameter is a query string parameter of type string, used to specify the team for which information is requested in the GET operation at the "/team.info" path.
|
|
464
|
-
|
|
464
|
+
|
|
465
465
|
Returns:
|
|
466
466
|
dict[str, Any]: Typical success response
|
|
467
|
-
|
|
467
|
+
|
|
468
468
|
Raises:
|
|
469
469
|
HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
|
|
470
|
-
|
|
470
|
+
|
|
471
471
|
Tags:
|
|
472
472
|
team
|
|
473
473
|
"""
|
|
@@ -478,26 +478,26 @@ class SlackApp(APIApplication):
|
|
|
478
478
|
response = self._get(url, params=query_params)
|
|
479
479
|
return self._handle_response(response)
|
|
480
480
|
|
|
481
|
-
def
|
|
481
|
+
def get_user_info(
|
|
482
482
|
self,
|
|
483
483
|
token: str,
|
|
484
484
|
include_locale: bool | None = None,
|
|
485
485
|
user: str | None = None,
|
|
486
486
|
) -> dict[str, Any]:
|
|
487
487
|
"""
|
|
488
|
-
|
|
489
|
-
|
|
488
|
+
Fetches detailed profile information for a single Slack user, identified by their user ID. Unlike `users_list`, which retrieves all workspace members, this function targets an individual and can optionally include their locale information. It directly calls the `users.info` Slack API endpoint.
|
|
489
|
+
|
|
490
490
|
Args:
|
|
491
491
|
token (string): The token query parameter is a required string used to authenticate and authorize the API request to access user information in the GET /users.info operation.
|
|
492
492
|
include_locale (boolean): Indicates whether to include locale information in the response, with a value of true or false.
|
|
493
493
|
user (string): A string parameter used to identify or specify a user in the request.
|
|
494
|
-
|
|
494
|
+
|
|
495
495
|
Returns:
|
|
496
496
|
dict[str, Any]: Typical success response
|
|
497
|
-
|
|
497
|
+
|
|
498
498
|
Raises:
|
|
499
499
|
HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
|
|
500
|
-
|
|
500
|
+
|
|
501
501
|
Tags:
|
|
502
502
|
users, important
|
|
503
503
|
"""
|
|
@@ -522,20 +522,20 @@ class SlackApp(APIApplication):
|
|
|
522
522
|
include_locale: bool | None = None,
|
|
523
523
|
) -> dict[str, Any]:
|
|
524
524
|
"""
|
|
525
|
-
|
|
526
|
-
|
|
525
|
+
Fetches a paginated list of all users in a Slack workspace, including deactivated members. Unlike `users_info` which retrieves a single user's details, this function returns a collection and supports limiting results or including locale data through optional parameters.
|
|
526
|
+
|
|
527
527
|
Args:
|
|
528
528
|
token (string): Required authentication token for accessing the list of users.
|
|
529
529
|
limit (integer): Specifies the maximum number of users to return in the response, defaults to 1.
|
|
530
530
|
cursor (string): A unique string identifier used for cursor-based pagination, indicating the starting point for retrieving the next set of users in the list.
|
|
531
531
|
include_locale (boolean): A boolean query parameter to optionally include locale information in the response.
|
|
532
|
-
|
|
532
|
+
|
|
533
533
|
Returns:
|
|
534
534
|
dict[str, Any]: Typical success response
|
|
535
|
-
|
|
535
|
+
|
|
536
536
|
Raises:
|
|
537
537
|
HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
|
|
538
|
-
|
|
538
|
+
|
|
539
539
|
Tags:
|
|
540
540
|
users
|
|
541
541
|
"""
|
|
@@ -561,10 +561,10 @@ class SlackApp(APIApplication):
|
|
|
561
561
|
self.conversations_history,
|
|
562
562
|
self.conversations_list,
|
|
563
563
|
self.reactions_add,
|
|
564
|
-
self.
|
|
565
|
-
self.
|
|
564
|
+
self.get_reactions_for_item,
|
|
565
|
+
self.get_user_reactions,
|
|
566
566
|
self.search_messages,
|
|
567
567
|
self.team_info,
|
|
568
|
-
self.
|
|
568
|
+
self.get_user_info,
|
|
569
569
|
self.users_list,
|
|
570
570
|
]
|
|
@@ -8,20 +8,20 @@ class TavilyApp(APIApplication):
|
|
|
8
8
|
super().__init__(name=name, integration=integration)
|
|
9
9
|
self.base_url = "https://api.tavily.com"
|
|
10
10
|
|
|
11
|
-
def
|
|
11
|
+
def search_and_summarize(self, query: str) -> str:
|
|
12
12
|
"""
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
Queries the Tavily API to perform a web search. It returns a direct AI-generated answer if available; otherwise, it provides a formatted summary of the top three search results, including their titles and snippets.
|
|
14
|
+
|
|
15
15
|
Args:
|
|
16
16
|
query: The search query string to be processed by Tavily's search engine
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
Returns:
|
|
19
19
|
A string containing either a direct answer from Tavily's AI or a formatted summary of the top 3 search results, with each result containing the title and snippet
|
|
20
|
-
|
|
20
|
+
|
|
21
21
|
Raises:
|
|
22
22
|
ValueError: When authentication credentials are invalid or missing (via validate() method)
|
|
23
23
|
HTTPError: When the API request fails or returns an error response
|
|
24
|
-
|
|
24
|
+
|
|
25
25
|
Tags:
|
|
26
26
|
search, ai, web, query, important, api-client, text-processing
|
|
27
27
|
"""
|
|
@@ -48,4 +48,4 @@ class TavilyApp(APIApplication):
|
|
|
48
48
|
return "\n".join(summaries)
|
|
49
49
|
|
|
50
50
|
def list_tools(self):
|
|
51
|
-
return [self.
|
|
51
|
+
return [self.search_and_summarize]
|
|
@@ -11,21 +11,20 @@ class ComplianceApi(APISegmentBase):
|
|
|
11
11
|
self, type, status=None, compliance_job_fields=None
|
|
12
12
|
) -> dict[str, Any]:
|
|
13
13
|
"""
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
Retrieves a list of compliance jobs, requiring a job `type` ('tweets' or 'users') and allowing optional filtering by `status`. This function fetches multiple jobs, distinguishing it from `get_batch_compliance_job` which retrieves a single job by its unique ID.
|
|
15
|
+
|
|
17
16
|
Args:
|
|
18
17
|
type (string): The type parameter specifies the compliance job type and must be either "tweets" or "users".
|
|
19
18
|
status (string): Filters compliance jobs by their current status, which can be one of: created, in_progress, failed, or complete.
|
|
20
19
|
compliance_job_fields (array): A comma separated list of ComplianceJob fields to display. Example: "['created_at', 'download_expires_at', 'download_url', 'id', 'name', 'resumable', 'status', 'type', 'upload_expires_at', 'upload_url']".
|
|
21
|
-
|
|
20
|
+
|
|
22
21
|
Returns:
|
|
23
22
|
dict[str, Any]: The request has succeeded.
|
|
24
|
-
|
|
23
|
+
|
|
25
24
|
Raises:
|
|
26
25
|
HTTPError: Raised when the API request fails (e.g., non-2XX status code).
|
|
27
26
|
JSONDecodeError: Raised if the response body cannot be parsed as JSON.
|
|
28
|
-
|
|
27
|
+
|
|
29
28
|
Tags:
|
|
30
29
|
Compliance
|
|
31
30
|
"""
|
|
@@ -47,21 +46,20 @@ class ComplianceApi(APISegmentBase):
|
|
|
47
46
|
self, type, name=None, resumable=None
|
|
48
47
|
) -> dict[str, Any]:
|
|
49
48
|
"""
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
Creates a new batch compliance job for a specified type ('tweets' or 'users'). A custom name can be provided, and resumable uploads can be enabled. This initiates the job creation process, differing from functions that list or retrieve existing jobs.
|
|
50
|
+
|
|
53
51
|
Args:
|
|
54
52
|
type (string): Type of compliance job to list.
|
|
55
53
|
name (string): User-provided name for a compliance job. Example: 'my-job'.
|
|
56
54
|
resumable (boolean): If true, this endpoint will return a pre-signed URL with resumable uploads enabled.
|
|
57
|
-
|
|
55
|
+
|
|
58
56
|
Returns:
|
|
59
57
|
dict[str, Any]: The request has succeeded.
|
|
60
|
-
|
|
58
|
+
|
|
61
59
|
Raises:
|
|
62
60
|
HTTPError: Raised when the API request fails (e.g., non-2XX status code).
|
|
63
61
|
JSONDecodeError: Raised if the response body cannot be parsed as JSON.
|
|
64
|
-
|
|
62
|
+
|
|
65
63
|
Tags:
|
|
66
64
|
Compliance
|
|
67
65
|
"""
|
|
@@ -81,24 +79,23 @@ class ComplianceApi(APISegmentBase):
|
|
|
81
79
|
response.raise_for_status()
|
|
82
80
|
return response.json()
|
|
83
81
|
|
|
84
|
-
def
|
|
82
|
+
def get_compliance_job(
|
|
85
83
|
self, id, compliance_job_fields=None
|
|
86
84
|
) -> dict[str, Any]:
|
|
87
85
|
"""
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
86
|
+
Retrieves a single batch compliance job by its unique ID. Unlike `list_batch_compliance_jobs`, which fetches a list, this function returns details for one specific job. Optional parameters can customize which data fields are returned in the response.
|
|
87
|
+
|
|
91
88
|
Args:
|
|
92
89
|
id (string): id
|
|
93
90
|
compliance_job_fields (array): A comma separated list of ComplianceJob fields to display. Example: "['created_at', 'download_expires_at', 'download_url', 'id', 'name', 'resumable', 'status', 'type', 'upload_expires_at', 'upload_url']".
|
|
94
|
-
|
|
91
|
+
|
|
95
92
|
Returns:
|
|
96
93
|
dict[str, Any]: The request has succeeded.
|
|
97
|
-
|
|
94
|
+
|
|
98
95
|
Raises:
|
|
99
96
|
HTTPError: Raised when the API request fails (e.g., non-2XX status code).
|
|
100
97
|
JSONDecodeError: Raised if the response body cannot be parsed as JSON.
|
|
101
|
-
|
|
98
|
+
|
|
102
99
|
Tags:
|
|
103
100
|
Compliance
|
|
104
101
|
"""
|
|
@@ -118,5 +115,5 @@ class ComplianceApi(APISegmentBase):
|
|
|
118
115
|
return [
|
|
119
116
|
self.list_batch_compliance_jobs,
|
|
120
117
|
self.create_batch_compliance_job,
|
|
121
|
-
self.
|
|
118
|
+
self.get_compliance_job,
|
|
122
119
|
]
|