langflow-base-nightly 0.5.0.dev33__py3-none-any.whl → 0.5.0.dev35__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.
- langflow/alembic/versions/1cb603706752_modify_uniqueness_constraint_on_file_.py +279 -0
- langflow/api/v1/endpoints.py +1 -1
- langflow/base/composio/composio_base.py +1092 -126
- langflow/components/agents/mcp_component.py +21 -4
- langflow/components/composio/__init__.py +24 -0
- langflow/components/composio/composio_api.py +116 -136
- langflow/components/composio/dropbox_compnent.py +11 -0
- langflow/components/composio/github_composio.py +1 -639
- langflow/components/composio/gmail_composio.py +26 -394
- langflow/components/composio/googlecalendar_composio.py +2 -778
- langflow/components/composio/googlemeet_composio.py +11 -0
- langflow/components/composio/googletasks_composio.py +8 -0
- langflow/components/composio/linear_composio.py +11 -0
- langflow/components/composio/outlook_composio.py +1 -755
- langflow/components/composio/reddit_composio.py +11 -0
- langflow/components/composio/slack_composio.py +1 -576
- langflow/components/composio/slackbot_composio.py +11 -0
- langflow/components/composio/supabase_composio.py +11 -0
- langflow/components/composio/todoist_composio.py +11 -0
- langflow/components/composio/youtube_composio.py +11 -0
- langflow/components/data/kb_ingest.py +15 -16
- langflow/components/processing/save_file.py +31 -4
- langflow/custom/utils.py +30 -7
- langflow/frontend/assets/{SlackIcon-Bikuxo8x.js → SlackIcon-B260Qg_R.js} +1 -1
- langflow/frontend/assets/{Wikipedia-B6aCFf5-.js → Wikipedia-BB2mbgyd.js} +1 -1
- langflow/frontend/assets/{Wolfram-CekL_M-a.js → Wolfram-DytXC9hF.js} +1 -1
- langflow/frontend/assets/{index-D1RgjMON.js → index-3TJWUdmx.js} +1 -1
- langflow/frontend/assets/{index-B4xLpgbM.js → index-3qMh9x6K.js} +1 -1
- langflow/frontend/assets/{index-DEuXrfXH.js → index-3uOAA_XX.js} +1 -1
- langflow/frontend/assets/{index-DTJX3yQa.js → index-4eRtaV45.js} +1 -1
- langflow/frontend/assets/index-7xXgqu09.js +1 -0
- langflow/frontend/assets/{index-BRNhftot.js → index-AY5Dm2mG.js} +1 -1
- langflow/frontend/assets/{index-4Tl3Nxdo.js → index-AlJ7td-D.js} +1 -1
- langflow/frontend/assets/{index-D2nHdRne.js → index-B-c82Fnu.js} +1 -1
- langflow/frontend/assets/{index-C3RZz8WE.js → index-B2ggrBuR.js} +1 -1
- langflow/frontend/assets/{index-in188l0A.js → index-B536IPXH.js} +1 -1
- langflow/frontend/assets/{index-CP0tFKwN.js → index-B5ed-sAv.js} +1 -1
- langflow/frontend/assets/{index-CAzSTGAM.js → index-B8TlNgn-.js} +1 -1
- langflow/frontend/assets/{index-09CVJwsY.js → index-B8y58M9b.js} +1 -1
- langflow/frontend/assets/{index-B9uOBe6Y.js → index-B9Mo3ndZ.js} +1 -1
- langflow/frontend/assets/{index-DAJafn16.js → index-BCK-ZyIh.js} +1 -1
- langflow/frontend/assets/{index-Cy-ZEfWh.js → index-BEDxAk3N.js} +1 -1
- langflow/frontend/assets/{index-DbmqjLy6.js → index-BEKoRwsX.js} +1 -1
- langflow/frontend/assets/{index-BcqeL_f4.js → index-BIkqesA-.js} +1 -1
- langflow/frontend/assets/{index-7x3wNZ-4.js → index-BJrY2Fiu.js} +1 -1
- langflow/frontend/assets/{index-Iamzh9ZT.js → index-BKvKC-12.js} +1 -1
- langflow/frontend/assets/{index-COqjpsdy.js → index-BLROcaSz.js} +1 -1
- langflow/frontend/assets/{index-BRwkzs92.js → index-BNbWMmAV.js} +1 -1
- langflow/frontend/assets/{index-C_UkF-RJ.js → index-BOEf7-ty.js} +1 -1
- langflow/frontend/assets/index-BOYTBrh9.js +1 -0
- langflow/frontend/assets/{index-DDcpxWU4.js → index-BQB-iDYl.js} +1 -1
- langflow/frontend/assets/{index-Crq_yhkG.js → index-BRWNIt9F.js} +1 -1
- langflow/frontend/assets/{index-DmaQAn3K.js → index-BVHvIhT5.js} +1 -1
- langflow/frontend/assets/{index-Cs_jt3dj.js → index-BVtf6m9S.js} +1 -1
- langflow/frontend/assets/{index-T2jJOG85.js → index-BWq9GTzt.js} +1 -1
- langflow/frontend/assets/{index-Dz0r9Idb.js → index-BXMhmvTj.js} +1 -1
- langflow/frontend/assets/{index-eJwu5YEi.js → index-Ba3RTMXI.js} +1 -1
- langflow/frontend/assets/{index-xVx59Op-.js → index-Baka5dKE.js} +1 -1
- langflow/frontend/assets/{index-DnusMCK1.js → index-BbsND1Qg.js} +1 -1
- langflow/frontend/assets/index-BcgB3rXH.js +1 -0
- langflow/frontend/assets/{index-CmiRgF_-.js → index-BdIWbCEL.js} +1 -1
- langflow/frontend/assets/{index-BllNr21U.js → index-BdYgKk1d.js} +1 -1
- langflow/frontend/assets/{index-BIKbxmIh.js → index-BeNby7qF.js} +1 -1
- langflow/frontend/assets/{index-CUe1ivTn.js → index-BejHxU5W.js} +1 -1
- langflow/frontend/assets/{index-CVphnxXi.js → index-Bisa4IQF.js} +1 -1
- langflow/frontend/assets/{index-Cr2oy5K2.js → index-BjENqyKe.js} +1 -1
- langflow/frontend/assets/{index-CEn_71Wk.js → index-BlBl2tvQ.js} +1 -1
- langflow/frontend/assets/{index-DOb9c2bf.js → index-BnLT29qW.js} +1 -1
- langflow/frontend/assets/{index-BRizlHaN.js → index-BqUeOc7Y.js} +1 -1
- langflow/frontend/assets/{index-D7nFs6oq.js → index-BsBWP-Dh.js} +1 -1
- langflow/frontend/assets/{index-BlRTHXW5.js → index-BtJ2o21k.js} +1 -1
- langflow/frontend/assets/{index-AOX7bbjJ.js → index-BxWXWRmZ.js} +1 -1
- langflow/frontend/assets/{index-B20KmxhS.js → index-BxkZkBgQ.js} +1 -1
- langflow/frontend/assets/{index-DoFlaGDx.js → index-Bxml6wXu.js} +1 -1
- langflow/frontend/assets/{index-B9KRIJFi.js → index-ByFXr9Iq.js} +1 -1
- langflow/frontend/assets/{index-CY6LUi4V.js → index-C2Xd7UkR.js} +1 -1
- langflow/frontend/assets/index-C76aBV_h.js +1 -0
- langflow/frontend/assets/{index-9gkURvG2.js → index-C7V5U9yH.js} +1 -1
- langflow/frontend/assets/{index-BDmbsLY2.js → index-C7x9R_Yo.js} +1 -1
- langflow/frontend/assets/{index-DI0zAExi.js → index-C8KD3LPb.js} +1 -1
- langflow/frontend/assets/{index-DzDNhMMW.js → index-C9N80hP8.js} +1 -1
- langflow/frontend/assets/{index-6GWpsedd.js → index-CDFLVFB4.js} +1 -1
- langflow/frontend/assets/{index-pkOi9P45.js → index-CF4dtI6S.js} +1 -1
- langflow/frontend/assets/{index-CdwjD4IX.js → index-CG7cp0nD.js} +1 -1
- langflow/frontend/assets/{index-J0pvFqLk.js → index-CHFO5O4g.js} +1 -1
- langflow/frontend/assets/{index-5G402gB8.js → index-CJwYfDBz.js} +1 -1
- langflow/frontend/assets/{index-BzCjyHto.js → index-CMGZGIx_.js} +1 -1
- langflow/frontend/assets/{index-Bm7a2vMS.js → index-COL0eiWI.js} +1 -1
- langflow/frontend/assets/{index-JHCxbvlW.js → index-CWWo2zOA.js} +1 -1
- langflow/frontend/assets/{index-C7wDSVVH.js → index-C_1RBTul.js} +1 -1
- langflow/frontend/assets/{index-BIjUtp6d.js → index-Ccb5B8zG.js} +1 -1
- langflow/frontend/assets/{index-yIh6-LZT.js → index-Cd5zuUUK.js} +1 -1
- langflow/frontend/assets/{index-CPIdMJkX.js → index-CkQ-bJ4G.js} +1 -1
- langflow/frontend/assets/{index-TRyDa01A.js → index-CkSzjCqM.js} +1 -1
- langflow/frontend/assets/{index-CSRizl2S.js → index-CoUlHbtg.js} +1 -1
- langflow/frontend/assets/index-Cpgkb0Q3.js +1 -0
- langflow/frontend/assets/{index-Cp7Pmn03.js → index-CqDUqHfd.js} +1 -1
- langflow/frontend/assets/{index-CGVDXKtN.js → index-Ct9_T9ox.js} +1 -1
- langflow/frontend/assets/{index-BwlYjc56.js → index-CvQ0w8Pj.js} +1 -1
- langflow/frontend/assets/{index-DkJCCraf.js → index-CwIxqYlT.js} +1 -1
- langflow/frontend/assets/{index-Bgd7yLoW.js → index-Cx__T92e.js} +1 -1
- langflow/frontend/assets/{index-RveG4dl9.js → index-D-zkHcob.js} +1 -1
- langflow/frontend/assets/{index-DVV_etfW.js → index-D0HmkH0H.js} +1 -1
- langflow/frontend/assets/{index-CglSqvB5.js → index-D0s9f6Re.js} +1 -1
- langflow/frontend/assets/{index-J98sU-1p.js → index-D5PeCofu.js} +1 -1
- langflow/frontend/assets/{index-BJIsQS8D.js → index-D87Zw62M.js} +1 -1
- langflow/frontend/assets/{index-FYcoJPMP.js → index-D9eflZfP.js} +1 -1
- langflow/frontend/assets/{index-DJs6FoYC.js → index-DDNNv4C0.js} +1 -1
- langflow/frontend/assets/index-DHlEwAxb.js +1 -0
- langflow/frontend/assets/{index-DqDQk0Cu.js → index-DIqSyDVO.js} +1 -1
- langflow/frontend/assets/{index-DOI0ceS-.js → index-DK8vNpXK.js} +1 -1
- langflow/frontend/assets/{index-D29n5mus.js → index-DKEXZFUO.js} +1 -1
- langflow/frontend/assets/{index-dfaj9-hY.js → index-DPX6X_bw.js} +1 -1
- langflow/frontend/assets/{index-CgbINWS8.js → index-DS1EgA10.js} +1 -1
- langflow/frontend/assets/{index-C69gdJqw.js → index-DS9I4y48.js} +1 -1
- langflow/frontend/assets/{index-B2EmwqKj.js → index-DWkMJnbd.js} +1 -1
- langflow/frontend/assets/{index-CIYzjH2y.js → index-DWr_zPkx.js} +1 -1
- langflow/frontend/assets/{index-D-HTZ68O.js → index-DX7XsAcx.js} +1 -1
- langflow/frontend/assets/{index-Cq30cQcP.js → index-DZzbmg3J.js} +1 -1
- langflow/frontend/assets/{index-BZCt_UnJ.js → index-DasrI03Y.js} +1 -1
- langflow/frontend/assets/index-DdzVmJHE.js +1 -0
- langflow/frontend/assets/{index-DmvjdU1N.js → index-DhzEUXfr.js} +1 -1
- langflow/frontend/assets/{index-B_ytx_iA.js → index-DpJiH-Rk.js} +1 -1
- langflow/frontend/assets/{index-Cyk3aCmP.js → index-DpQKtcXu.js} +1 -1
- langflow/frontend/assets/{index-DrvRK4_i.js → index-Dpz3oBf5.js} +1 -1
- langflow/frontend/assets/{index-DF0oWRdd.js → index-DqSH4x-R.js} +1 -1
- langflow/frontend/assets/{index-DX_InNVT.js → index-DtJyCbzF.js} +1 -1
- langflow/frontend/assets/{index-B4AtFbkN.js → index-Du9aJK7m.js} +1 -1
- langflow/frontend/assets/{index-qXcoVIRo.js → index-DuAeoC-H.js} +1 -1
- langflow/frontend/assets/{index-D7Vx6mgS.js → index-DxIs8VSp.js} +1 -1
- langflow/frontend/assets/{index-U7J1YiWE.js → index-DyJDHm2D.js} +1 -1
- langflow/frontend/assets/{index-1MEYR1La.js → index-DzeIsaBm.js} +1 -1
- langflow/frontend/assets/{index-Cbwk3f-p.js → index-DztLFiip.js} +1 -1
- langflow/frontend/assets/{index-C_2G2ZqJ.js → index-GODbXlHC.js} +1 -1
- langflow/frontend/assets/{index-2vQdFIK_.js → index-G_U_kPAd.js} +1 -1
- langflow/frontend/assets/{index-DS4F_Phe.js → index-IFGgPiye.js} +1 -1
- langflow/frontend/assets/{index-5hW8VleF.js → index-LrMzDsq9.js} +1 -1
- langflow/frontend/assets/{index-L7FKc9QN.js → index-R7q8cAek.js} +1 -1
- langflow/frontend/assets/{index-BRE8A4Q_.js → index-Uq2ij_SS.js} +1 -1
- langflow/frontend/assets/{index-Bn4HAVDG.js → index-VHmUHUUU.js} +1 -1
- langflow/frontend/assets/{index-VO-pk-Hg.js → index-VZnN0P6C.js} +1 -1
- langflow/frontend/assets/{index-Dy7ehgeV.js → index-VcXZzovW.js} +1 -1
- langflow/frontend/assets/{index-DNS4La1f.js → index-Ym6gz0T6.js} +1 -1
- langflow/frontend/assets/{index-UI2ws3qp.js → index-ci4XHjbJ.js} +176 -176
- langflow/frontend/assets/{index-DlMAYATX.js → index-dkS0ek2S.js} +1 -1
- langflow/frontend/assets/{index-Dc0p1Oxl.js → index-hOkEW3JP.js} +1 -1
- langflow/frontend/assets/{index-KnS52ylc.js → index-js8ceOaP.js} +1 -1
- langflow/frontend/assets/{index-DtCsjX48.js → index-lKEJpUsF.js} +1 -1
- langflow/frontend/assets/{index-BO4fl1uU.js → index-mBjJYD9q.js} +1 -1
- langflow/frontend/assets/{index-C_K6Tof7.js → index-r1LZg-PY.js} +1 -1
- langflow/frontend/assets/index-rcdQpNcU.js +1 -0
- langflow/frontend/assets/{index-_3qag0I4.js → index-sS6XLk3j.js} +1 -1
- langflow/frontend/assets/{index-C6P0vvSP.js → index-tOy_uloT.js} +1 -1
- langflow/frontend/assets/lazyIconImports-Bh1TFfvH.js +2 -0
- langflow/frontend/assets/{use-post-add-user-Bt6vZvvT.js → use-post-add-user-HN0rRnhv.js} +1 -1
- langflow/frontend/index.html +1 -1
- langflow/initial_setup/starter_projects/Knowledge Ingestion.json +2 -2
- langflow/initial_setup/starter_projects/News Aggregator.json +19 -2
- langflow/initial_setup/starter_projects/Nvidia Remix.json +19 -2
- langflow/interface/initialize/loading.py +3 -1
- langflow/main.py +19 -2
- langflow/services/database/models/file/model.py +4 -2
- langflow/services/database/service.py +3 -1
- langflow/services/telemetry/schema.py +7 -0
- langflow/services/telemetry/service.py +25 -0
- langflow/services/tracing/service.py +14 -4
- {langflow_base_nightly-0.5.0.dev33.dist-info → langflow_base_nightly-0.5.0.dev35.dist-info}/METADATA +1 -1
- {langflow_base_nightly-0.5.0.dev33.dist-info → langflow_base_nightly-0.5.0.dev35.dist-info}/RECORD +170 -152
- langflow/frontend/assets/lazyIconImports-kvf_Kak2.js +0 -2
- {langflow_base_nightly-0.5.0.dev33.dist-info → langflow_base_nightly-0.5.0.dev35.dist-info}/WHEEL +0 -0
- {langflow_base_nightly-0.5.0.dev33.dist-info → langflow_base_nightly-0.5.0.dev35.dist-info}/entry_points.txt +0 -0
|
@@ -1,787 +1,11 @@
|
|
|
1
|
-
from typing import Any
|
|
2
|
-
|
|
3
|
-
from composio import Action
|
|
4
|
-
|
|
5
1
|
from langflow.base.composio.composio_base import ComposioBaseComponent
|
|
6
|
-
from langflow.inputs import (
|
|
7
|
-
BoolInput,
|
|
8
|
-
IntInput,
|
|
9
|
-
MessageTextInput,
|
|
10
|
-
)
|
|
11
|
-
from langflow.logging import logger
|
|
12
2
|
|
|
13
3
|
|
|
14
4
|
class ComposioGoogleCalendarAPIComponent(ComposioBaseComponent):
|
|
15
|
-
"""Google Calendar API component for interacting with Google Calendar services."""
|
|
16
|
-
|
|
17
5
|
display_name: str = "Google Calendar"
|
|
18
|
-
description: str = "Google Calendar API"
|
|
19
6
|
icon = "Googlecalendar"
|
|
20
7
|
documentation: str = "https://docs.composio.dev"
|
|
21
8
|
app_name = "googlecalendar"
|
|
22
9
|
|
|
23
|
-
|
|
24
|
-
"
|
|
25
|
-
"display_name": "Update Google Event",
|
|
26
|
-
"action_fields": [
|
|
27
|
-
"GOOGLECALENDAR_UPDATE_EVENT_description",
|
|
28
|
-
"GOOGLECALENDAR_UPDATE_EVENT_eventType",
|
|
29
|
-
"GOOGLECALENDAR_UPDATE_EVENT_create_meeting_room",
|
|
30
|
-
"GOOGLECALENDAR_UPDATE_EVENT_guestsCanSeeOtherGuests",
|
|
31
|
-
"GOOGLECALENDAR_UPDATE_EVENT_guestsCanInviteOthers",
|
|
32
|
-
"GOOGLECALENDAR_UPDATE_EVENT_location",
|
|
33
|
-
"GOOGLECALENDAR_UPDATE_EVENT_summary",
|
|
34
|
-
"GOOGLECALENDAR_UPDATE_EVENT_transparency",
|
|
35
|
-
"GOOGLECALENDAR_UPDATE_EVENT_visibility",
|
|
36
|
-
"GOOGLECALENDAR_UPDATE_EVENT_timezone",
|
|
37
|
-
"GOOGLECALENDAR_UPDATE_EVENT_recurrence",
|
|
38
|
-
"GOOGLECALENDAR_UPDATE_EVENT_guests_can_modify",
|
|
39
|
-
"GOOGLECALENDAR_UPDATE_EVENT_attendees",
|
|
40
|
-
"GOOGLECALENDAR_UPDATE_EVENT_send_updates",
|
|
41
|
-
"GOOGLECALENDAR_UPDATE_EVENT_start_datetime",
|
|
42
|
-
"GOOGLECALENDAR_UPDATE_EVENT_event_duration_hour",
|
|
43
|
-
"GOOGLECALENDAR_UPDATE_EVENT_event_duration_minutes",
|
|
44
|
-
"GOOGLECALENDAR_UPDATE_EVENT_calendar_id",
|
|
45
|
-
"GOOGLECALENDAR_UPDATE_EVENT_event_id",
|
|
46
|
-
],
|
|
47
|
-
},
|
|
48
|
-
"GOOGLECALENDAR_REMOVE_ATTENDEE": {
|
|
49
|
-
"display_name": "Remove Attendee From Event",
|
|
50
|
-
"action_fields": [
|
|
51
|
-
"GOOGLECALENDAR_REMOVE_ATTENDEE_calendar_id",
|
|
52
|
-
"GOOGLECALENDAR_REMOVE_ATTENDEE_event_id",
|
|
53
|
-
"GOOGLECALENDAR_REMOVE_ATTENDEE_attendee_email",
|
|
54
|
-
],
|
|
55
|
-
},
|
|
56
|
-
"GOOGLECALENDAR_GET_CURRENT_DATE_TIME": {
|
|
57
|
-
"display_name": "Get Current Date And Time",
|
|
58
|
-
"action_fields": ["GOOGLECALENDAR_GET_CURRENT_DATE_TIME_timezone"],
|
|
59
|
-
},
|
|
60
|
-
"GOOGLECALENDAR_QUICK_ADD": {
|
|
61
|
-
"display_name": "Quick Add Event",
|
|
62
|
-
"action_fields": [
|
|
63
|
-
"GOOGLECALENDAR_QUICK_ADD_calendar_id",
|
|
64
|
-
"GOOGLECALENDAR_QUICK_ADD_text",
|
|
65
|
-
"GOOGLECALENDAR_QUICK_ADD_send_updates",
|
|
66
|
-
],
|
|
67
|
-
},
|
|
68
|
-
"GOOGLECALENDAR_LIST_CALENDARS": {
|
|
69
|
-
"display_name": "List Google Calendars",
|
|
70
|
-
"action_fields": [
|
|
71
|
-
"GOOGLECALENDAR_LIST_CALENDARS_max_results",
|
|
72
|
-
"GOOGLECALENDAR_LIST_CALENDARS_min_access_role",
|
|
73
|
-
"GOOGLECALENDAR_LIST_CALENDARS_page_token",
|
|
74
|
-
"GOOGLECALENDAR_LIST_CALENDARS_show_deleted",
|
|
75
|
-
"GOOGLECALENDAR_LIST_CALENDARS_show_hidden",
|
|
76
|
-
"GOOGLECALENDAR_LIST_CALENDARS_sync_token",
|
|
77
|
-
],
|
|
78
|
-
},
|
|
79
|
-
"GOOGLECALENDAR_FIND_EVENT": {
|
|
80
|
-
"display_name": "Find Event",
|
|
81
|
-
"action_fields": [
|
|
82
|
-
"GOOGLECALENDAR_FIND_EVENT_calendar_id",
|
|
83
|
-
"GOOGLECALENDAR_FIND_EVENT_query",
|
|
84
|
-
"GOOGLECALENDAR_FIND_EVENT_max_results",
|
|
85
|
-
"GOOGLECALENDAR_FIND_EVENT_order_by",
|
|
86
|
-
"GOOGLECALENDAR_FIND_EVENT_show_deleted",
|
|
87
|
-
"GOOGLECALENDAR_FIND_EVENT_single_events",
|
|
88
|
-
"GOOGLECALENDAR_FIND_EVENT_timeMax",
|
|
89
|
-
"GOOGLECALENDAR_FIND_EVENT_timeMin",
|
|
90
|
-
"GOOGLECALENDAR_FIND_EVENT_updated_min",
|
|
91
|
-
"GOOGLECALENDAR_FIND_EVENT_event_types",
|
|
92
|
-
"GOOGLECALENDAR_FIND_EVENT_page_token",
|
|
93
|
-
],
|
|
94
|
-
},
|
|
95
|
-
"GOOGLECALENDAR_CREATE_EVENT": {
|
|
96
|
-
"display_name": "Create Event",
|
|
97
|
-
"action_fields": [
|
|
98
|
-
"GOOGLECALENDAR_CREATE_EVENT_description",
|
|
99
|
-
"GOOGLECALENDAR_CREATE_EVENT_eventType",
|
|
100
|
-
"GOOGLECALENDAR_CREATE_EVENT_create_meeting_room",
|
|
101
|
-
"GOOGLECALENDAR_CREATE_EVENT_guestsCanSeeOtherGuests",
|
|
102
|
-
"GOOGLECALENDAR_CREATE_EVENT_guestsCanInviteOthers",
|
|
103
|
-
"GOOGLECALENDAR_CREATE_EVENT_location",
|
|
104
|
-
"GOOGLECALENDAR_CREATE_EVENT_summary",
|
|
105
|
-
"GOOGLECALENDAR_CREATE_EVENT_transparency",
|
|
106
|
-
"GOOGLECALENDAR_CREATE_EVENT_visibility",
|
|
107
|
-
"GOOGLECALENDAR_CREATE_EVENT_timezone",
|
|
108
|
-
"GOOGLECALENDAR_CREATE_EVENT_recurrence",
|
|
109
|
-
"GOOGLECALENDAR_CREATE_EVENT_guests_can_modify",
|
|
110
|
-
"GOOGLECALENDAR_CREATE_EVENT_attendees",
|
|
111
|
-
"GOOGLECALENDAR_CREATE_EVENT_send_updates",
|
|
112
|
-
"GOOGLECALENDAR_CREATE_EVENT_start_datetime",
|
|
113
|
-
"GOOGLECALENDAR_CREATE_EVENT_event_duration_hour",
|
|
114
|
-
"GOOGLECALENDAR_CREATE_EVENT_event_duration_minutes",
|
|
115
|
-
"GOOGLECALENDAR_CREATE_EVENT_calendar_id",
|
|
116
|
-
],
|
|
117
|
-
},
|
|
118
|
-
"GOOGLECALENDAR_FIND_FREE_SLOTS": {
|
|
119
|
-
"display_name": "Find Free Slots",
|
|
120
|
-
"action_fields": [
|
|
121
|
-
"GOOGLECALENDAR_FIND_FREE_SLOTS_time_min",
|
|
122
|
-
"GOOGLECALENDAR_FIND_FREE_SLOTS_time_max",
|
|
123
|
-
"GOOGLECALENDAR_FIND_FREE_SLOTS_timezone",
|
|
124
|
-
"GOOGLECALENDAR_FIND_FREE_SLOTS_group_expansion_max",
|
|
125
|
-
"GOOGLECALENDAR_FIND_FREE_SLOTS_calendar_expansion_max",
|
|
126
|
-
"GOOGLECALENDAR_FIND_FREE_SLOTS_items",
|
|
127
|
-
],
|
|
128
|
-
},
|
|
129
|
-
"GOOGLECALENDAR_PATCH_CALENDAR": {
|
|
130
|
-
"display_name": "Patch Calendar",
|
|
131
|
-
"action_fields": [
|
|
132
|
-
"GOOGLECALENDAR_PATCH_CALENDAR_calendar_id",
|
|
133
|
-
"GOOGLECALENDAR_PATCH_CALENDAR_description",
|
|
134
|
-
"GOOGLECALENDAR_PATCH_CALENDAR_location",
|
|
135
|
-
"GOOGLECALENDAR_PATCH_CALENDAR_summary",
|
|
136
|
-
"GOOGLECALENDAR_PATCH_CALENDAR_timezone",
|
|
137
|
-
],
|
|
138
|
-
},
|
|
139
|
-
"GOOGLECALENDAR_GET_CALENDAR": {
|
|
140
|
-
"display_name": "Fetch Google Calendar",
|
|
141
|
-
"action_fields": ["GOOGLECALENDAR_GET_CALENDAR_calendar_id"],
|
|
142
|
-
},
|
|
143
|
-
"GOOGLECALENDAR_DELETE_EVENT": {
|
|
144
|
-
"display_name": "Delete Event",
|
|
145
|
-
"action_fields": ["GOOGLECALENDAR_DELETE_EVENT_calendar_id", "GOOGLECALENDAR_DELETE_EVENT_event_id"],
|
|
146
|
-
},
|
|
147
|
-
"GOOGLECALENDAR_DUPLICATE_CALENDAR": {
|
|
148
|
-
"display_name": "Duplicate Calendar",
|
|
149
|
-
"action_fields": ["GOOGLECALENDAR_DUPLICATE_CALENDAR_summary"],
|
|
150
|
-
},
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
_list_variables = {
|
|
154
|
-
"GOOGLECALENDAR_FIND_EVENT_event_types",
|
|
155
|
-
"GOOGLECALENDAR_CREATE_EVENT_recurrence",
|
|
156
|
-
"GOOGLECALENDAR_CREATE_EVENT_attendees",
|
|
157
|
-
"GOOGLECALENDAR_FIND_FREE_SLOTS_items",
|
|
158
|
-
"GOOGLECALENDAR_UPDATE_EVENT_recurrence",
|
|
159
|
-
"GOOGLECALENDAR_UPDATE_EVENT_attendees",
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
_all_fields = {field for action_data in _actions_data.values() for field in action_data["action_fields"]}
|
|
163
|
-
_bool_variables = {
|
|
164
|
-
"GOOGLECALENDAR_LIST_CALENDARS_show_deleted",
|
|
165
|
-
"GOOGLECALENDAR_LIST_CALENDARS_show_hidden",
|
|
166
|
-
"GOOGLECALENDAR_FIND_EVENT_show_deleted",
|
|
167
|
-
"GOOGLECALENDAR_FIND_EVENT_single_events",
|
|
168
|
-
"GOOGLECALENDAR_CREATE_EVENT_create_meeting_room",
|
|
169
|
-
"GOOGLECALENDAR_CREATE_EVENT_guestsCanSeeOtherGuests",
|
|
170
|
-
"GOOGLECALENDAR_CREATE_EVENT_guestsCanInviteOthers",
|
|
171
|
-
"GOOGLECALENDAR_CREATE_EVENT_guests_can_modify",
|
|
172
|
-
"GOOGLECALENDAR_CREATE_EVENT_send_updates",
|
|
173
|
-
"GOOGLECALENDAR_UPDATE_EVENT_create_meeting_room",
|
|
174
|
-
"GOOGLECALENDAR_UPDATE_EVENT_guestsCanSeeOtherGuests",
|
|
175
|
-
"GOOGLECALENDAR_UPDATE_EVENT_guestsCanInviteOthers",
|
|
176
|
-
"GOOGLECALENDAR_UPDATE_EVENT_guests_can_modify",
|
|
177
|
-
"GOOGLECALENDAR_UPDATE_EVENT_send_updates",
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
inputs = [
|
|
181
|
-
*ComposioBaseComponent._base_inputs,
|
|
182
|
-
IntInput(
|
|
183
|
-
name="GOOGLECALENDAR_LIST_CALENDARS_max_results",
|
|
184
|
-
display_name="Max Results",
|
|
185
|
-
info="Maximum number of entries returned on one result page. The page size can never be larger than 250 entries.", # noqa: E501
|
|
186
|
-
show=False,
|
|
187
|
-
value=10,
|
|
188
|
-
),
|
|
189
|
-
MessageTextInput(
|
|
190
|
-
name="GOOGLECALENDAR_LIST_CALENDARS_min_access_role",
|
|
191
|
-
display_name="Min Access Role",
|
|
192
|
-
info="The minimum access role for the user in the returned entries. Accepted values are 'owner' & 'reader'",
|
|
193
|
-
show=False,
|
|
194
|
-
),
|
|
195
|
-
MessageTextInput(
|
|
196
|
-
name="GOOGLECALENDAR_LIST_CALENDARS_page_token",
|
|
197
|
-
display_name="Page Token",
|
|
198
|
-
info="Token specifying which result page to return.",
|
|
199
|
-
show=False,
|
|
200
|
-
advanced=True,
|
|
201
|
-
),
|
|
202
|
-
BoolInput(
|
|
203
|
-
name="GOOGLECALENDAR_LIST_CALENDARS_show_deleted",
|
|
204
|
-
display_name="Show Deleted",
|
|
205
|
-
info="Whether to include deleted calendar list entries in the result.",
|
|
206
|
-
show=False,
|
|
207
|
-
value=False,
|
|
208
|
-
advanced=True,
|
|
209
|
-
),
|
|
210
|
-
BoolInput(
|
|
211
|
-
name="GOOGLECALENDAR_LIST_CALENDARS_show_hidden",
|
|
212
|
-
display_name="Show Hidden",
|
|
213
|
-
info="Whether to show hidden entries.",
|
|
214
|
-
show=False,
|
|
215
|
-
value=False,
|
|
216
|
-
advanced=True,
|
|
217
|
-
),
|
|
218
|
-
MessageTextInput(
|
|
219
|
-
name="GOOGLECALENDAR_LIST_CALENDARS_sync_token",
|
|
220
|
-
display_name="Sync Token",
|
|
221
|
-
info="Token obtained from the nextSyncToken field returned on the last page of results from the previous list request.", # noqa: E501
|
|
222
|
-
show=False,
|
|
223
|
-
advanced=True,
|
|
224
|
-
),
|
|
225
|
-
MessageTextInput(
|
|
226
|
-
name="GOOGLECALENDAR_FIND_EVENT_calendar_id",
|
|
227
|
-
display_name="Calendar Id",
|
|
228
|
-
info="Identifier of the Google Calendar. Use 'primary' for the currently logged in user's primary calendar.", # noqa: E501
|
|
229
|
-
show=False,
|
|
230
|
-
value="primary",
|
|
231
|
-
),
|
|
232
|
-
MessageTextInput(
|
|
233
|
-
name="GOOGLECALENDAR_FIND_EVENT_query",
|
|
234
|
-
display_name="Query",
|
|
235
|
-
info="Search term to find events that match these terms in the event's summary, description, location, attendee's displayName, attendee's email, organizer's displayName, organizer's email, etc if needed.", # noqa: E501
|
|
236
|
-
show=False,
|
|
237
|
-
),
|
|
238
|
-
IntInput(
|
|
239
|
-
name="GOOGLECALENDAR_FIND_EVENT_max_results",
|
|
240
|
-
display_name="Max Results",
|
|
241
|
-
info="Maximum number of events returned on one result page. The page size can never be larger than 2500 events. The default value is 10.", # noqa: E501
|
|
242
|
-
show=False,
|
|
243
|
-
value=10,
|
|
244
|
-
),
|
|
245
|
-
MessageTextInput(
|
|
246
|
-
name="GOOGLECALENDAR_FIND_EVENT_order_by",
|
|
247
|
-
display_name="Order By",
|
|
248
|
-
info="The order of the events returned in the result. Acceptable values are 'startTime' and 'updated'.",
|
|
249
|
-
show=False,
|
|
250
|
-
advanced=True,
|
|
251
|
-
),
|
|
252
|
-
BoolInput(
|
|
253
|
-
name="GOOGLECALENDAR_FIND_EVENT_show_deleted",
|
|
254
|
-
display_name="Show Deleted",
|
|
255
|
-
info="Whether to include deleted events (with status equals 'cancelled') in the result.",
|
|
256
|
-
show=False,
|
|
257
|
-
advanced=True,
|
|
258
|
-
),
|
|
259
|
-
BoolInput(
|
|
260
|
-
name="GOOGLECALENDAR_FIND_EVENT_single_events",
|
|
261
|
-
display_name="Single Events",
|
|
262
|
-
info="Whether to expand recurring events into instances and only return single one-off events and instances of recurring events, but not the underlying recurring events themselves.", # noqa: E501
|
|
263
|
-
show=False,
|
|
264
|
-
value=True,
|
|
265
|
-
advanced=True,
|
|
266
|
-
),
|
|
267
|
-
MessageTextInput(
|
|
268
|
-
name="GOOGLECALENDAR_FIND_EVENT_timeMax",
|
|
269
|
-
display_name="Timemax",
|
|
270
|
-
info="Upper bound (exclusive) for an event's start time to filter by. Accepts multiple formats:, 1. ISO format with timezone (e.g., 2024-12-06T13:00:00Z), 2. Comma-separated format (e.g., 2024,12,06,13,00,00), 3. Simple datetime format (e.g., 2024-12-06 13:00:00)", # noqa: E501
|
|
271
|
-
show=False,
|
|
272
|
-
advanced=True,
|
|
273
|
-
),
|
|
274
|
-
MessageTextInput(
|
|
275
|
-
name="GOOGLECALENDAR_FIND_EVENT_timeMin",
|
|
276
|
-
display_name="Timemin",
|
|
277
|
-
info="Lower bound (exclusive) for an event's end time to filter by. Accepts multiple formats:, 1. ISO format with timezone (e.g., 2024-12-06T13:00:00Z), 2. Comma-separated format (e.g., 2024,12,06,13,00,00), 3. Simple datetime format (e.g., 2024-12-06 13:00:00)", # noqa: E501
|
|
278
|
-
show=False,
|
|
279
|
-
advanced=True,
|
|
280
|
-
),
|
|
281
|
-
MessageTextInput(
|
|
282
|
-
name="GOOGLECALENDAR_FIND_EVENT_updated_min",
|
|
283
|
-
display_name="Updated Min",
|
|
284
|
-
info="Lower bound for an event's last modification time to filter by. Accepts multiple formats:, 1. ISO format with timezone (e.g., 2024-12-06T13:00:00Z), 2. Comma-separated format (e.g., 2024,12,06,13,00,00), 3. Simple datetime format (e.g., 2024-12-06 13:00:00)", # noqa: E501
|
|
285
|
-
show=False,
|
|
286
|
-
advanced=True,
|
|
287
|
-
),
|
|
288
|
-
MessageTextInput(
|
|
289
|
-
name="GOOGLECALENDAR_FIND_EVENT_event_types",
|
|
290
|
-
display_name="Event Types",
|
|
291
|
-
info="List of event types to return. Possible values are: default, outOfOffice, focusTime, workingLocation.", # noqa: E501
|
|
292
|
-
show=False,
|
|
293
|
-
advanced=True,
|
|
294
|
-
),
|
|
295
|
-
MessageTextInput(
|
|
296
|
-
name="GOOGLECALENDAR_FIND_EVENT_page_token",
|
|
297
|
-
display_name="Page Token",
|
|
298
|
-
info="Token specifying which result page to return. Optional.",
|
|
299
|
-
show=False,
|
|
300
|
-
advanced=True,
|
|
301
|
-
),
|
|
302
|
-
MessageTextInput(
|
|
303
|
-
name="GOOGLECALENDAR_DUPLICATE_CALENDAR_summary",
|
|
304
|
-
display_name="Summary/Title",
|
|
305
|
-
info="Title of the calendar to be duplicated.",
|
|
306
|
-
show=False,
|
|
307
|
-
value="",
|
|
308
|
-
),
|
|
309
|
-
MessageTextInput(
|
|
310
|
-
name="GOOGLECALENDAR_REMOVE_ATTENDEE_calendar_id",
|
|
311
|
-
display_name="Calendar Id",
|
|
312
|
-
info="ID of the Google Calendar",
|
|
313
|
-
show=False,
|
|
314
|
-
value="primary",
|
|
315
|
-
),
|
|
316
|
-
MessageTextInput(
|
|
317
|
-
name="GOOGLECALENDAR_REMOVE_ATTENDEE_event_id",
|
|
318
|
-
display_name="Event Id",
|
|
319
|
-
info="ID of the event",
|
|
320
|
-
show=False,
|
|
321
|
-
required=True,
|
|
322
|
-
),
|
|
323
|
-
MessageTextInput(
|
|
324
|
-
name="GOOGLECALENDAR_REMOVE_ATTENDEE_attendee_email",
|
|
325
|
-
display_name="Attendee Email",
|
|
326
|
-
info="Email address of the attendee to be removed",
|
|
327
|
-
show=False,
|
|
328
|
-
required=True,
|
|
329
|
-
),
|
|
330
|
-
MessageTextInput(
|
|
331
|
-
name="GOOGLECALENDAR_GET_CALENDAR_calendar_id",
|
|
332
|
-
display_name="Calendar Id",
|
|
333
|
-
info="The ID of the Google Calendar that needs to be fetched. Default is 'primary'.",
|
|
334
|
-
show=False,
|
|
335
|
-
value="primary",
|
|
336
|
-
),
|
|
337
|
-
MessageTextInput(
|
|
338
|
-
name="GOOGLECALENDAR_CREATE_EVENT_description",
|
|
339
|
-
display_name="Description",
|
|
340
|
-
info="Description of the event. Can contain HTML. Optional.",
|
|
341
|
-
show=False,
|
|
342
|
-
advanced=True,
|
|
343
|
-
),
|
|
344
|
-
MessageTextInput(
|
|
345
|
-
name="GOOGLECALENDAR_CREATE_EVENT_eventType",
|
|
346
|
-
display_name="Event Type",
|
|
347
|
-
info="Type of the event, immutable post-creation. Currently, only 'default'",
|
|
348
|
-
show=False,
|
|
349
|
-
value="default",
|
|
350
|
-
advanced=True,
|
|
351
|
-
),
|
|
352
|
-
BoolInput(
|
|
353
|
-
name="GOOGLECALENDAR_CREATE_EVENT_create_meeting_room",
|
|
354
|
-
display_name="Create Meeting Room",
|
|
355
|
-
info="If true, a Google Meet link is created and added to the event.",
|
|
356
|
-
show=False,
|
|
357
|
-
advanced=True,
|
|
358
|
-
),
|
|
359
|
-
BoolInput(
|
|
360
|
-
name="GOOGLECALENDAR_CREATE_EVENT_guestsCanSeeOtherGuests",
|
|
361
|
-
display_name="Guests Can See Other Guests",
|
|
362
|
-
info="Whether attendees other than the organizer can see who the event's attendees are.",
|
|
363
|
-
show=False,
|
|
364
|
-
advanced=True,
|
|
365
|
-
),
|
|
366
|
-
BoolInput(
|
|
367
|
-
name="GOOGLECALENDAR_CREATE_EVENT_guestsCanInviteOthers",
|
|
368
|
-
display_name="Guests Can Invite Others",
|
|
369
|
-
info="Whether attendees other than the organizer can invite others to the event.",
|
|
370
|
-
show=False,
|
|
371
|
-
advanced=True,
|
|
372
|
-
),
|
|
373
|
-
MessageTextInput(
|
|
374
|
-
name="GOOGLECALENDAR_CREATE_EVENT_location",
|
|
375
|
-
display_name="Location",
|
|
376
|
-
info="Geographic location of the event as free-form text.",
|
|
377
|
-
show=False,
|
|
378
|
-
advanced=True,
|
|
379
|
-
),
|
|
380
|
-
MessageTextInput(
|
|
381
|
-
name="GOOGLECALENDAR_CREATE_EVENT_summary",
|
|
382
|
-
display_name="Summary/Title",
|
|
383
|
-
info="Summary (title) of the event.",
|
|
384
|
-
show=False,
|
|
385
|
-
),
|
|
386
|
-
MessageTextInput(
|
|
387
|
-
name="GOOGLECALENDAR_CREATE_EVENT_transparency",
|
|
388
|
-
display_name="Event Transparency",
|
|
389
|
-
info="'opaque' (busy) or 'transparent' (available).",
|
|
390
|
-
show=False,
|
|
391
|
-
value="opaque",
|
|
392
|
-
advanced=True,
|
|
393
|
-
),
|
|
394
|
-
MessageTextInput(
|
|
395
|
-
name="GOOGLECALENDAR_CREATE_EVENT_visibility",
|
|
396
|
-
display_name="Event Visibility",
|
|
397
|
-
info="Event visibility: 'default', 'public', 'private', or 'confidential'.",
|
|
398
|
-
show=False,
|
|
399
|
-
value="default",
|
|
400
|
-
advanced=True,
|
|
401
|
-
),
|
|
402
|
-
MessageTextInput(
|
|
403
|
-
name="GOOGLECALENDAR_CREATE_EVENT_timezone",
|
|
404
|
-
display_name="Timezone",
|
|
405
|
-
info="IANA timezone name (e.g., 'America/New_York'). Required if datetime is naive. If datetime includes timezone info (Z or offset), this field is optional and defaults to UTC.", # noqa: E501
|
|
406
|
-
show=False,
|
|
407
|
-
),
|
|
408
|
-
MessageTextInput(
|
|
409
|
-
name="GOOGLECALENDAR_CREATE_EVENT_recurrence",
|
|
410
|
-
display_name="Recurrence",
|
|
411
|
-
info="List of RRULE, EXRULE, RDATE, EXDATE lines for recurring events.",
|
|
412
|
-
show=False,
|
|
413
|
-
advanced=True,
|
|
414
|
-
),
|
|
415
|
-
BoolInput(
|
|
416
|
-
name="GOOGLECALENDAR_CREATE_EVENT_guests_can_modify",
|
|
417
|
-
display_name="Guests Can Modify",
|
|
418
|
-
info="If True, guests can modify the event.",
|
|
419
|
-
show=False,
|
|
420
|
-
value=False,
|
|
421
|
-
advanced=True,
|
|
422
|
-
),
|
|
423
|
-
MessageTextInput(
|
|
424
|
-
name="GOOGLECALENDAR_CREATE_EVENT_attendees",
|
|
425
|
-
display_name="Attendees",
|
|
426
|
-
info="List of attendee emails (strings).",
|
|
427
|
-
show=False,
|
|
428
|
-
),
|
|
429
|
-
BoolInput(
|
|
430
|
-
name="GOOGLECALENDAR_CREATE_EVENT_send_updates",
|
|
431
|
-
display_name="Send Updates",
|
|
432
|
-
info="Defaults to True. Whether to send updates to the attendees.",
|
|
433
|
-
show=False,
|
|
434
|
-
advanced=True,
|
|
435
|
-
),
|
|
436
|
-
MessageTextInput(
|
|
437
|
-
name="GOOGLECALENDAR_CREATE_EVENT_start_datetime",
|
|
438
|
-
display_name="Start Datetime",
|
|
439
|
-
info="Naive date/time (YYYY-MM-DDTHH:MM:SS) with NO offsets or Z. e.g. '2025-01-16T13:00:00'",
|
|
440
|
-
show=False,
|
|
441
|
-
required=True,
|
|
442
|
-
),
|
|
443
|
-
IntInput(
|
|
444
|
-
name="GOOGLECALENDAR_CREATE_EVENT_event_duration_hour",
|
|
445
|
-
display_name="Event Duration Hour",
|
|
446
|
-
info="Number of hours (0-24).",
|
|
447
|
-
show=False,
|
|
448
|
-
value=0,
|
|
449
|
-
advanced=True,
|
|
450
|
-
),
|
|
451
|
-
IntInput(
|
|
452
|
-
name="GOOGLECALENDAR_CREATE_EVENT_event_duration_minutes",
|
|
453
|
-
display_name="Event Duration Minutes",
|
|
454
|
-
info="Number of minutes (0-59).",
|
|
455
|
-
show=False,
|
|
456
|
-
value=30,
|
|
457
|
-
advanced=True,
|
|
458
|
-
),
|
|
459
|
-
MessageTextInput(
|
|
460
|
-
name="GOOGLECALENDAR_CREATE_EVENT_calendar_id",
|
|
461
|
-
display_name="Calendar Id",
|
|
462
|
-
info="The ID of the Google Calendar. `primary` for interacting with the primary calendar.",
|
|
463
|
-
show=False,
|
|
464
|
-
value="primary",
|
|
465
|
-
advanced=True,
|
|
466
|
-
),
|
|
467
|
-
MessageTextInput(
|
|
468
|
-
name="GOOGLECALENDAR_DELETE_EVENT_calendar_id",
|
|
469
|
-
display_name="Calendar Id",
|
|
470
|
-
info="ID of the Google Calendar",
|
|
471
|
-
show=False,
|
|
472
|
-
value="primary",
|
|
473
|
-
),
|
|
474
|
-
MessageTextInput(
|
|
475
|
-
name="GOOGLECALENDAR_DELETE_EVENT_event_id",
|
|
476
|
-
display_name="Event Id",
|
|
477
|
-
info="ID of the event to be deleted",
|
|
478
|
-
show=False,
|
|
479
|
-
required=True,
|
|
480
|
-
),
|
|
481
|
-
MessageTextInput(
|
|
482
|
-
name="GOOGLECALENDAR_FIND_FREE_SLOTS_time_min",
|
|
483
|
-
display_name="Time Min",
|
|
484
|
-
info="The start datetime of the interval for the query. Supports multiple formats:, 1. ISO format with timezone (e.g., 2024-12-06T13:00:00Z), 2. Comma-separated format (e.g., 2024,12,06,13,00,00), 3. Simple datetime format (e.g., 2024-12-06 13:00:00)", # noqa: E501
|
|
485
|
-
show=False,
|
|
486
|
-
advanced=True,
|
|
487
|
-
),
|
|
488
|
-
MessageTextInput(
|
|
489
|
-
name="GOOGLECALENDAR_FIND_FREE_SLOTS_time_max",
|
|
490
|
-
display_name="Time Max",
|
|
491
|
-
info="The end datetime of the interval for the query. Supports multiple formats:, 1. ISO format with timezone (e.g., 2024-12-06T13:00:00Z), 2. Comma-separated format (e.g., 2024,12,06,13,00,00), 3. Simple datetime format (e.g., 2024-12-06 13:00:00)", # noqa: E501
|
|
492
|
-
show=False,
|
|
493
|
-
advanced=True,
|
|
494
|
-
),
|
|
495
|
-
MessageTextInput(
|
|
496
|
-
name="GOOGLECALENDAR_FIND_FREE_SLOTS_timezone",
|
|
497
|
-
display_name="Timezone",
|
|
498
|
-
info="Time zone used in the response. Optional. The default is UTC.",
|
|
499
|
-
show=False,
|
|
500
|
-
value="UTC",
|
|
501
|
-
advanced=True,
|
|
502
|
-
),
|
|
503
|
-
IntInput(
|
|
504
|
-
name="GOOGLECALENDAR_FIND_FREE_SLOTS_group_expansion_max",
|
|
505
|
-
display_name="Group Expansion Max",
|
|
506
|
-
info="Maximal number of calendar identifiers to be provided for a single group. Optional. An error is returned for a group with more members than this value. Maximum value is 100.", # noqa: E501
|
|
507
|
-
show=False,
|
|
508
|
-
value=100,
|
|
509
|
-
advanced=True,
|
|
510
|
-
),
|
|
511
|
-
IntInput(
|
|
512
|
-
name="GOOGLECALENDAR_FIND_FREE_SLOTS_calendar_expansion_max",
|
|
513
|
-
display_name="Calendar Expansion Max",
|
|
514
|
-
info="Maximal number of calendars for which FreeBusy information is to be provided. Optional. Maximum value is 50.", # noqa: E501
|
|
515
|
-
show=False,
|
|
516
|
-
value=50,
|
|
517
|
-
advanced=True,
|
|
518
|
-
),
|
|
519
|
-
MessageTextInput(
|
|
520
|
-
name="GOOGLECALENDAR_FIND_FREE_SLOTS_items",
|
|
521
|
-
display_name="Items",
|
|
522
|
-
info="List of calendars ids for which to fetch",
|
|
523
|
-
show=False,
|
|
524
|
-
),
|
|
525
|
-
MessageTextInput(
|
|
526
|
-
name="GOOGLECALENDAR_QUICK_ADD_calendar_id",
|
|
527
|
-
display_name="Calendar Id",
|
|
528
|
-
info="Calendar identifier. To list calendars to retrieve calendar IDs use relevant tools. To access the primary calendar of the currently logged in user, use the 'primary' keyword.", # noqa: E501
|
|
529
|
-
show=False,
|
|
530
|
-
value="primary",
|
|
531
|
-
),
|
|
532
|
-
MessageTextInput(
|
|
533
|
-
name="GOOGLECALENDAR_QUICK_ADD_text",
|
|
534
|
-
display_name="Text",
|
|
535
|
-
info="The text describing the event to be created.",
|
|
536
|
-
show=False,
|
|
537
|
-
value="",
|
|
538
|
-
),
|
|
539
|
-
MessageTextInput(
|
|
540
|
-
name="GOOGLECALENDAR_QUICK_ADD_send_updates",
|
|
541
|
-
display_name="Send Updates",
|
|
542
|
-
info="Guests who should receive notifications about the creation of the new event. Accepted fields include 'all', 'none', 'externalOnly'", # noqa: E501
|
|
543
|
-
show=False,
|
|
544
|
-
value="none",
|
|
545
|
-
advanced=True,
|
|
546
|
-
),
|
|
547
|
-
MessageTextInput(
|
|
548
|
-
name="GOOGLECALENDAR_PATCH_CALENDAR_calendar_id",
|
|
549
|
-
display_name="Calendar Id",
|
|
550
|
-
info="The ID of the Google Calendar that needs to be updated.",
|
|
551
|
-
show=False,
|
|
552
|
-
required=True,
|
|
553
|
-
),
|
|
554
|
-
MessageTextInput(
|
|
555
|
-
name="GOOGLECALENDAR_PATCH_CALENDAR_description",
|
|
556
|
-
display_name="Description",
|
|
557
|
-
info="Description of the calendar. Optional.",
|
|
558
|
-
show=False,
|
|
559
|
-
advanced=True,
|
|
560
|
-
),
|
|
561
|
-
MessageTextInput(
|
|
562
|
-
name="GOOGLECALENDAR_PATCH_CALENDAR_location",
|
|
563
|
-
display_name="Location",
|
|
564
|
-
info="Geographic location of the calendar as free-form text.",
|
|
565
|
-
show=False,
|
|
566
|
-
advanced=True,
|
|
567
|
-
),
|
|
568
|
-
MessageTextInput(
|
|
569
|
-
name="GOOGLECALENDAR_PATCH_CALENDAR_summary",
|
|
570
|
-
display_name="Title/Summary",
|
|
571
|
-
info="Title of the calendar. This field is required and cannot be left blank as per the Google Calendar API requirements.", # noqa: E501
|
|
572
|
-
show=False,
|
|
573
|
-
required=True,
|
|
574
|
-
),
|
|
575
|
-
MessageTextInput(
|
|
576
|
-
name="GOOGLECALENDAR_PATCH_CALENDAR_timezone",
|
|
577
|
-
display_name="Timezone",
|
|
578
|
-
info="The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. 'Europe/Zurich').",
|
|
579
|
-
show=False,
|
|
580
|
-
advanced=True,
|
|
581
|
-
),
|
|
582
|
-
IntInput(
|
|
583
|
-
name="GOOGLECALENDAR_GET_CURRENT_DATE_TIME_timezone",
|
|
584
|
-
display_name="Timezone",
|
|
585
|
-
info="The timezone offset from UTC to retrieve current date and time, like for location of UTC+6, you give 6, for UTC -9, your give -9.", # noqa: E501
|
|
586
|
-
show=False,
|
|
587
|
-
value=0,
|
|
588
|
-
advanced=True,
|
|
589
|
-
),
|
|
590
|
-
MessageTextInput(
|
|
591
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_description",
|
|
592
|
-
display_name="Description",
|
|
593
|
-
info="Description of the event. Can contain HTML. Optional.",
|
|
594
|
-
show=False,
|
|
595
|
-
advanced=True,
|
|
596
|
-
),
|
|
597
|
-
MessageTextInput(
|
|
598
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_eventType",
|
|
599
|
-
display_name="EventType",
|
|
600
|
-
info="Type of the event, immutable post-creation. Currently, only 'default' and 'workingLocation' can be created.", # noqa: E501
|
|
601
|
-
show=False,
|
|
602
|
-
value="default",
|
|
603
|
-
advanced=True,
|
|
604
|
-
),
|
|
605
|
-
BoolInput(
|
|
606
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_create_meeting_room",
|
|
607
|
-
display_name="Create Meeting Room",
|
|
608
|
-
info="If true, a Google Meet link is created and added to the event.",
|
|
609
|
-
show=False,
|
|
610
|
-
advanced=True,
|
|
611
|
-
),
|
|
612
|
-
BoolInput(
|
|
613
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_guestsCanSeeOtherGuests",
|
|
614
|
-
display_name="Guests Can See Other Guests",
|
|
615
|
-
info="Whether attendees other than the organizer can see who the event's attendees are.",
|
|
616
|
-
show=False,
|
|
617
|
-
advanced=True,
|
|
618
|
-
),
|
|
619
|
-
BoolInput(
|
|
620
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_guestsCanInviteOthers",
|
|
621
|
-
display_name="Guests Can Invite Others",
|
|
622
|
-
info="Whether attendees other than the organizer can invite others to the event.",
|
|
623
|
-
show=False,
|
|
624
|
-
advanced=True,
|
|
625
|
-
),
|
|
626
|
-
MessageTextInput(
|
|
627
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_location",
|
|
628
|
-
display_name="Location",
|
|
629
|
-
info="Geographic location of the event as free-form text.",
|
|
630
|
-
show=False,
|
|
631
|
-
advanced=True,
|
|
632
|
-
),
|
|
633
|
-
MessageTextInput(
|
|
634
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_summary",
|
|
635
|
-
display_name="Summary/Title",
|
|
636
|
-
info="Summary (title) of the event.",
|
|
637
|
-
show=False,
|
|
638
|
-
),
|
|
639
|
-
MessageTextInput(
|
|
640
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_transparency",
|
|
641
|
-
display_name="Event Transparency",
|
|
642
|
-
info="'opaque' (busy) or 'transparent' (available).",
|
|
643
|
-
show=False,
|
|
644
|
-
value="opaque",
|
|
645
|
-
advanced=True,
|
|
646
|
-
),
|
|
647
|
-
MessageTextInput(
|
|
648
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_visibility",
|
|
649
|
-
display_name="Event Visibility",
|
|
650
|
-
info="Event visibility: 'default', 'public', 'private', or 'confidential'.",
|
|
651
|
-
show=False,
|
|
652
|
-
value="default",
|
|
653
|
-
advanced=True,
|
|
654
|
-
),
|
|
655
|
-
MessageTextInput(
|
|
656
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_timezone",
|
|
657
|
-
display_name="Timezone",
|
|
658
|
-
info="IANA timezone name (e.g., 'America/New_York'). Required if datetime is naive. If datetime includes timezone info (Z or offset), this field is optional and defaults to UTC.", # noqa: E501
|
|
659
|
-
show=False,
|
|
660
|
-
advanced=True,
|
|
661
|
-
),
|
|
662
|
-
MessageTextInput(
|
|
663
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_recurrence",
|
|
664
|
-
display_name="Recurrence",
|
|
665
|
-
info="List of RRULE, EXRULE, RDATE, EXDATE lines for recurring events.",
|
|
666
|
-
show=False,
|
|
667
|
-
advanced=True,
|
|
668
|
-
),
|
|
669
|
-
BoolInput(
|
|
670
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_guests_can_modify",
|
|
671
|
-
display_name="Guests Can Modify",
|
|
672
|
-
info="If True, guests can modify the event.",
|
|
673
|
-
show=False,
|
|
674
|
-
value=False,
|
|
675
|
-
advanced=True,
|
|
676
|
-
),
|
|
677
|
-
MessageTextInput(
|
|
678
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_attendees",
|
|
679
|
-
display_name="Attendees",
|
|
680
|
-
info="List of attendee emails (strings).",
|
|
681
|
-
show=False,
|
|
682
|
-
),
|
|
683
|
-
BoolInput(
|
|
684
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_send_updates",
|
|
685
|
-
display_name="Send Updates",
|
|
686
|
-
info="Defaults to True. Whether to send updates to the attendees.",
|
|
687
|
-
show=False,
|
|
688
|
-
advanced=True,
|
|
689
|
-
),
|
|
690
|
-
MessageTextInput(
|
|
691
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_start_datetime",
|
|
692
|
-
display_name="Start Datetime",
|
|
693
|
-
info="Naive date/time (YYYY-MM-DDTHH:MM:SS) with NO offsets or Z. e.g. '2025-01-16T13:00:00'",
|
|
694
|
-
show=False,
|
|
695
|
-
required=True,
|
|
696
|
-
),
|
|
697
|
-
IntInput(
|
|
698
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_event_duration_hour",
|
|
699
|
-
display_name="Event Duration Hour",
|
|
700
|
-
info="Number of hours (0-24).",
|
|
701
|
-
show=False,
|
|
702
|
-
value=0,
|
|
703
|
-
advanced=True,
|
|
704
|
-
),
|
|
705
|
-
IntInput(
|
|
706
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_event_duration_minutes",
|
|
707
|
-
display_name="Event Duration Minutes",
|
|
708
|
-
info="Number of minutes (0-59).",
|
|
709
|
-
show=False,
|
|
710
|
-
value=30,
|
|
711
|
-
advanced=True,
|
|
712
|
-
),
|
|
713
|
-
MessageTextInput(
|
|
714
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_calendar_id",
|
|
715
|
-
display_name="Calendar Id",
|
|
716
|
-
info="ID of the Google Calendar",
|
|
717
|
-
show=False,
|
|
718
|
-
value="primary",
|
|
719
|
-
),
|
|
720
|
-
MessageTextInput(
|
|
721
|
-
name="GOOGLECALENDAR_UPDATE_EVENT_event_id",
|
|
722
|
-
display_name="Event Id",
|
|
723
|
-
info="ID of the event to be updated",
|
|
724
|
-
show=False,
|
|
725
|
-
required=True,
|
|
726
|
-
),
|
|
727
|
-
]
|
|
728
|
-
|
|
729
|
-
def execute_action(self):
|
|
730
|
-
"""Execute action and return response as Message."""
|
|
731
|
-
toolset = self._build_wrapper()
|
|
732
|
-
|
|
733
|
-
try:
|
|
734
|
-
self._build_action_maps()
|
|
735
|
-
# Get the display name from the action list
|
|
736
|
-
display_name = self.action[0]["name"] if isinstance(self.action, list) and self.action else self.action
|
|
737
|
-
# Use the display_to_key_map to get the action key
|
|
738
|
-
action_key = self._display_to_key_map.get(display_name)
|
|
739
|
-
if not action_key:
|
|
740
|
-
msg = f"Invalid action: {display_name}"
|
|
741
|
-
raise ValueError(msg)
|
|
742
|
-
|
|
743
|
-
enum_name = getattr(Action, action_key)
|
|
744
|
-
params = {}
|
|
745
|
-
if action_key in self._actions_data:
|
|
746
|
-
for field in self._actions_data[action_key]["action_fields"]:
|
|
747
|
-
value = getattr(self, field)
|
|
748
|
-
|
|
749
|
-
if value is None or value == "":
|
|
750
|
-
continue
|
|
751
|
-
|
|
752
|
-
if field in self._list_variables and value:
|
|
753
|
-
value = [item.strip() for item in value.split(",")]
|
|
754
|
-
|
|
755
|
-
if field in self._bool_variables:
|
|
756
|
-
value = bool(value)
|
|
757
|
-
|
|
758
|
-
param_name = field.replace(action_key + "_", "")
|
|
759
|
-
params[param_name] = value
|
|
760
|
-
|
|
761
|
-
result = toolset.execute_action(
|
|
762
|
-
action=enum_name,
|
|
763
|
-
params=params,
|
|
764
|
-
)
|
|
765
|
-
if not result.get("successful"):
|
|
766
|
-
message_str = result.get("error", {})
|
|
767
|
-
return {"error": message_str}
|
|
768
|
-
|
|
769
|
-
result_data = result.get("data", [])
|
|
770
|
-
if (
|
|
771
|
-
len(result_data) != 1
|
|
772
|
-
and not self._actions_data.get(action_key, {}).get("result_field")
|
|
773
|
-
and self._actions_data.get(action_key, {}).get("get_result_field")
|
|
774
|
-
):
|
|
775
|
-
msg = f"Expected a dict with a single key, got {len(result_data)} keys: {result_data.keys()}"
|
|
776
|
-
raise ValueError(msg)
|
|
777
|
-
if action_key == "GOOGLECALENDAR_GET_CURRENT_DATE_TIME":
|
|
778
|
-
return result_data
|
|
779
|
-
return result_data[next(iter(result_data))]
|
|
780
|
-
except Exception as e:
|
|
781
|
-
logger.error(f"Error executing action: {e}")
|
|
782
|
-
display_name = self.action[0]["name"] if isinstance(self.action, list) and self.action else str(self.action)
|
|
783
|
-
msg = f"Failed to execute {display_name}: {e!s}"
|
|
784
|
-
raise ValueError(msg) from e
|
|
785
|
-
|
|
786
|
-
def update_build_config(self, build_config: dict, field_value: Any, field_name: str | None = None) -> dict:
|
|
787
|
-
return super().update_build_config(build_config, field_value, field_name)
|
|
10
|
+
def set_default_tools(self):
|
|
11
|
+
"""Set the default tools for Google Calendar component."""
|