@divyacon/piece-gmail 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/LICENSE.MIT-AP +24 -0
  2. package/README.md +8 -2
  3. package/dist/index.d.ts +6 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +111 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/lib/actions/ai-get-message-action.d.ts +7 -0
  8. package/dist/lib/actions/ai-get-message-action.d.ts.map +1 -0
  9. package/dist/lib/actions/ai-get-message-action.js +24 -0
  10. package/dist/lib/actions/ai-get-message-action.js.map +1 -0
  11. package/dist/lib/actions/ai-reply-to-thread-action.d.ts +16 -0
  12. package/dist/lib/actions/ai-reply-to-thread-action.d.ts.map +1 -0
  13. package/dist/lib/actions/ai-reply-to-thread-action.js +24 -0
  14. package/dist/lib/actions/ai-reply-to-thread-action.js.map +1 -0
  15. package/dist/lib/actions/ai-search-email-action.d.ts +21 -0
  16. package/dist/lib/actions/ai-search-email-action.d.ts.map +1 -0
  17. package/dist/lib/actions/ai-search-email-action.js +24 -0
  18. package/dist/lib/actions/ai-search-email-action.js.map +1 -0
  19. package/dist/lib/actions/ai-send-email-action.d.ts +18 -0
  20. package/dist/lib/actions/ai-send-email-action.d.ts.map +1 -0
  21. package/dist/lib/actions/ai-send-email-action.js +24 -0
  22. package/dist/lib/actions/ai-send-email-action.js.map +1 -0
  23. package/dist/lib/actions/create-draft-action.d.ts +16 -0
  24. package/dist/lib/actions/create-draft-action.d.ts.map +1 -0
  25. package/dist/lib/actions/create-draft-action.js +137 -0
  26. package/dist/lib/actions/create-draft-action.js.map +1 -0
  27. package/dist/lib/actions/create-draft-reply-action.d.ts +17 -0
  28. package/dist/lib/actions/create-draft-reply-action.d.ts.map +1 -0
  29. package/dist/lib/actions/create-draft-reply-action.js +269 -0
  30. package/dist/lib/actions/create-draft-reply-action.js.map +1 -0
  31. package/dist/lib/actions/delete-draft-action.d.ts +7 -0
  32. package/dist/lib/actions/delete-draft-action.d.ts.map +1 -0
  33. package/dist/lib/actions/delete-draft-action.js +62 -0
  34. package/dist/lib/actions/delete-draft-action.js.map +1 -0
  35. package/dist/lib/actions/forward-message-action.d.ts +12 -0
  36. package/dist/lib/actions/forward-message-action.d.ts.map +1 -0
  37. package/dist/lib/actions/forward-message-action.js +139 -0
  38. package/dist/lib/actions/forward-message-action.js.map +1 -0
  39. package/dist/lib/actions/get-attachment-action.d.ts +9 -0
  40. package/dist/lib/actions/get-attachment-action.d.ts.map +1 -0
  41. package/dist/lib/actions/get-attachment-action.js +80 -0
  42. package/dist/lib/actions/get-attachment-action.js.map +1 -0
  43. package/dist/lib/actions/get-draft-action.d.ts +7 -0
  44. package/dist/lib/actions/get-draft-action.d.ts.map +1 -0
  45. package/dist/lib/actions/get-draft-action.js +56 -0
  46. package/dist/lib/actions/get-draft-action.js.map +1 -0
  47. package/dist/lib/actions/get-label-action.d.ts +7 -0
  48. package/dist/lib/actions/get-label-action.d.ts.map +1 -0
  49. package/dist/lib/actions/get-label-action.js +55 -0
  50. package/dist/lib/actions/get-label-action.js.map +1 -0
  51. package/dist/lib/actions/get-mail-action.d.ts +7 -0
  52. package/dist/lib/actions/get-mail-action.d.ts.map +1 -0
  53. package/dist/lib/actions/get-mail-action.js +44 -0
  54. package/dist/lib/actions/get-mail-action.js.map +1 -0
  55. package/dist/lib/actions/get-profile-action.d.ts +5 -0
  56. package/dist/lib/actions/get-profile-action.d.ts.map +1 -0
  57. package/dist/lib/actions/get-profile-action.js +43 -0
  58. package/dist/lib/actions/get-profile-action.js.map +1 -0
  59. package/dist/lib/actions/get-thread-action.d.ts +9 -0
  60. package/dist/lib/actions/get-thread-action.d.ts.map +1 -0
  61. package/dist/lib/actions/get-thread-action.js +53 -0
  62. package/dist/lib/actions/get-thread-action.js.map +1 -0
  63. package/dist/lib/actions/list-drafts-action.d.ts +8 -0
  64. package/dist/lib/actions/list-drafts-action.d.ts.map +1 -0
  65. package/dist/lib/actions/list-drafts-action.js +62 -0
  66. package/dist/lib/actions/list-drafts-action.js.map +1 -0
  67. package/dist/lib/actions/list-history-action.d.ts +9 -0
  68. package/dist/lib/actions/list-history-action.d.ts.map +1 -0
  69. package/dist/lib/actions/list-history-action.js +74 -0
  70. package/dist/lib/actions/list-history-action.js.map +1 -0
  71. package/dist/lib/actions/list-labels-action.d.ts +5 -0
  72. package/dist/lib/actions/list-labels-action.d.ts.map +1 -0
  73. package/dist/lib/actions/list-labels-action.js +47 -0
  74. package/dist/lib/actions/list-labels-action.js.map +1 -0
  75. package/dist/lib/actions/list-threads-action.d.ts +10 -0
  76. package/dist/lib/actions/list-threads-action.d.ts.map +1 -0
  77. package/dist/lib/actions/list-threads-action.js +74 -0
  78. package/dist/lib/actions/list-threads-action.js.map +1 -0
  79. package/dist/lib/actions/reply-to-email-action.d.ts +16 -0
  80. package/dist/lib/actions/reply-to-email-action.d.ts.map +1 -0
  81. package/dist/lib/actions/reply-to-email-action.js +202 -0
  82. package/dist/lib/actions/reply-to-email-action.js.map +1 -0
  83. package/dist/lib/actions/request-approval-in-email.d.ts +15 -0
  84. package/dist/lib/actions/request-approval-in-email.d.ts.map +1 -0
  85. package/dist/lib/actions/request-approval-in-email.js +174 -0
  86. package/dist/lib/actions/request-approval-in-email.js.map +1 -0
  87. package/dist/lib/actions/search-email-action.d.ts +22 -0
  88. package/dist/lib/actions/search-email-action.d.ts.map +1 -0
  89. package/dist/lib/actions/search-email-action.js +179 -0
  90. package/dist/lib/actions/search-email-action.js.map +1 -0
  91. package/dist/lib/actions/send-draft-action.d.ts +7 -0
  92. package/dist/lib/actions/send-draft-action.d.ts.map +1 -0
  93. package/dist/lib/actions/send-draft-action.js +57 -0
  94. package/dist/lib/actions/send-draft-action.js.map +1 -0
  95. package/dist/lib/actions/send-email-action.d.ts +18 -0
  96. package/dist/lib/actions/send-email-action.d.ts.map +1 -0
  97. package/dist/lib/actions/send-email-action.js +196 -0
  98. package/dist/lib/actions/send-email-action.js.map +1 -0
  99. package/dist/lib/actions/stop-watch-action.d.ts +5 -0
  100. package/dist/lib/actions/stop-watch-action.d.ts.map +1 -0
  101. package/dist/lib/actions/stop-watch-action.js +41 -0
  102. package/dist/lib/actions/stop-watch-action.js.map +1 -0
  103. package/dist/lib/actions/update-draft-action.d.ts +17 -0
  104. package/dist/lib/actions/update-draft-action.d.ts.map +1 -0
  105. package/dist/lib/actions/update-draft-action.js +193 -0
  106. package/dist/lib/actions/update-draft-action.js.map +1 -0
  107. package/dist/lib/auth.d.ts +12 -0
  108. package/dist/lib/auth.d.ts.map +1 -0
  109. package/dist/lib/auth.js +108 -0
  110. package/dist/lib/auth.js.map +1 -0
  111. package/dist/lib/common/data.d.ts +132 -0
  112. package/dist/lib/common/data.d.ts.map +1 -0
  113. package/dist/lib/common/data.js +209 -0
  114. package/dist/lib/common/data.js.map +1 -0
  115. package/dist/lib/common/mime.d.ts +29 -0
  116. package/dist/lib/common/mime.d.ts.map +1 -0
  117. package/dist/lib/common/mime.js +59 -0
  118. package/dist/lib/common/mime.js.map +1 -0
  119. package/dist/lib/common/models.d.ts +86 -0
  120. package/dist/lib/common/models.d.ts.map +1 -0
  121. package/dist/lib/common/models.js +26 -0
  122. package/dist/lib/common/models.js.map +1 -0
  123. package/dist/lib/common/props.d.ts +28 -0
  124. package/dist/lib/common/props.d.ts.map +1 -0
  125. package/dist/lib/common/props.js +231 -0
  126. package/dist/lib/common/props.js.map +1 -0
  127. package/dist/lib/output-schemas.d.ts +29 -0
  128. package/dist/lib/output-schemas.d.ts.map +1 -0
  129. package/dist/lib/output-schemas.js +1029 -0
  130. package/dist/lib/output-schemas.js.map +1 -0
  131. package/dist/lib/triggers/new-attachment.d.ts +144 -0
  132. package/dist/lib/triggers/new-attachment.d.ts.map +1 -0
  133. package/dist/lib/triggers/new-attachment.js +150 -0
  134. package/dist/lib/triggers/new-attachment.js.map +1 -0
  135. package/dist/lib/triggers/new-conversation.d.ts +59 -0
  136. package/dist/lib/triggers/new-conversation.d.ts.map +1 -0
  137. package/dist/lib/triggers/new-conversation.js +308 -0
  138. package/dist/lib/triggers/new-conversation.js.map +1 -0
  139. package/dist/lib/triggers/new-email.d.ts +52 -0
  140. package/dist/lib/triggers/new-email.d.ts.map +1 -0
  141. package/dist/lib/triggers/new-email.js +135 -0
  142. package/dist/lib/triggers/new-email.js.map +1 -0
  143. package/dist/lib/triggers/new-label.d.ts +15 -0
  144. package/dist/lib/triggers/new-label.d.ts.map +1 -0
  145. package/dist/lib/triggers/new-label.js +82 -0
  146. package/dist/lib/triggers/new-label.js.map +1 -0
  147. package/dist/lib/triggers/new-labeled-email.d.ts +35 -0
  148. package/dist/lib/triggers/new-labeled-email.d.ts.map +1 -0
  149. package/dist/lib/triggers/new-labeled-email.js +147 -0
  150. package/dist/lib/triggers/new-labeled-email.js.map +1 -0
  151. package/package.json +53 -3
  152. package/src/index.ts +107 -0
  153. package/src/lib/actions/ai-get-message-action.ts +20 -0
  154. package/src/lib/actions/ai-reply-to-thread-action.ts +20 -0
  155. package/src/lib/actions/ai-search-email-action.ts +21 -0
  156. package/src/lib/actions/ai-send-email-action.ts +20 -0
  157. package/src/lib/actions/create-draft-action.ts +148 -0
  158. package/src/lib/actions/create-draft-reply-action.ts +314 -0
  159. package/src/lib/actions/delete-draft-action.ts +57 -0
  160. package/src/lib/actions/forward-message-action.ts +159 -0
  161. package/src/lib/actions/get-attachment-action.ts +83 -0
  162. package/src/lib/actions/get-draft-action.ts +53 -0
  163. package/src/lib/actions/get-label-action.ts +53 -0
  164. package/src/lib/actions/get-mail-action.ts +52 -0
  165. package/src/lib/actions/get-profile-action.ts +39 -0
  166. package/src/lib/actions/get-thread-action.ts +47 -0
  167. package/src/lib/actions/list-drafts-action.ts +72 -0
  168. package/src/lib/actions/list-history-action.ts +83 -0
  169. package/src/lib/actions/list-labels-action.ts +43 -0
  170. package/src/lib/actions/list-threads-action.ts +89 -0
  171. package/src/lib/actions/reply-to-email-action.ts +228 -0
  172. package/src/lib/actions/request-approval-in-email.ts +197 -0
  173. package/src/lib/actions/search-email-action.ts +219 -0
  174. package/src/lib/actions/send-draft-action.ts +54 -0
  175. package/src/lib/actions/send-email-action.ts +213 -0
  176. package/src/lib/actions/stop-watch-action.ts +37 -0
  177. package/src/lib/actions/update-draft-action.ts +211 -0
  178. package/src/lib/auth.ts +116 -0
  179. package/src/lib/common/data.ts +268 -0
  180. package/src/lib/common/mime.ts +82 -0
  181. package/src/lib/common/models.ts +91 -0
  182. package/src/lib/common/props.ts +262 -0
  183. package/src/lib/output-schemas.ts +1061 -0
  184. package/src/lib/triggers/new-attachment.ts +203 -0
  185. package/src/lib/triggers/new-conversation.ts +413 -0
  186. package/src/lib/triggers/new-email.ts +173 -0
  187. package/src/lib/triggers/new-label.ts +83 -0
  188. package/src/lib/triggers/new-labeled-email.ts +197 -0
@@ -0,0 +1,1061 @@
1
+ import { OutputSchema } from '@agnocon/pieces-framework';
2
+
3
+ const addressObjectFields: OutputSchema['fields'] = [
4
+ { key: 'text', label: 'Text' },
5
+ {
6
+ key: 'value',
7
+ label: 'Addresses',
8
+ labelKey: 'name',
9
+ listItems: [
10
+ { key: 'address', label: 'Email', format: 'email' },
11
+ { key: 'name', label: 'Name' },
12
+ ],
13
+ },
14
+ ];
15
+
16
+ const attachmentFields: OutputSchema['fields'] = [
17
+ { key: 'fileName', label: 'File Name' },
18
+ { key: 'mimeType', label: 'MIME Type' },
19
+ { key: 'size', label: 'Size', format: 'filesize' },
20
+ { key: 'data', label: 'Download URL', format: 'url' },
21
+ ];
22
+
23
+ const parsedMessageFields: OutputSchema['fields'] = [
24
+ { key: 'id', label: 'Message ID' },
25
+ { key: 'subject', label: 'Subject' },
26
+ { key: 'from', label: 'From', children: addressObjectFields },
27
+ { key: 'to', label: 'To', children: addressObjectFields },
28
+ { key: 'cc', label: 'Cc', children: addressObjectFields },
29
+ { key: 'date', label: 'Date', format: 'datetime' },
30
+ { key: 'messageId', label: 'RFC Message-ID' },
31
+ { key: 'text', label: 'Text Body' },
32
+ { key: 'html', label: 'HTML Body', format: 'html' },
33
+ {
34
+ key: 'attachments',
35
+ label: 'Attachments',
36
+ labelKey: 'fileName',
37
+ listItems: attachmentFields,
38
+ },
39
+ ];
40
+
41
+ const messageSendResultFields: OutputSchema['fields'] = [
42
+ { key: 'id', label: 'Message ID' },
43
+ { key: 'threadId', label: 'Thread ID' },
44
+ { key: 'labelIds', label: 'Labels' },
45
+ ];
46
+
47
+ const gmailMessageResourceFields: OutputSchema['fields'] = [
48
+ { key: 'id', label: 'Message ID' },
49
+ { key: 'threadId', label: 'Thread ID' },
50
+ { key: 'labelIds', label: 'Labels' },
51
+ { key: 'snippet', label: 'Snippet' },
52
+ { key: 'internalDate', label: 'Internal Date', format: 'datetime' },
53
+ { key: 'sizeEstimate', label: 'Size Estimate', format: 'filesize' },
54
+ ];
55
+
56
+ const draftMutationFields: OutputSchema['fields'] = [
57
+ { key: 'id', label: 'Draft ID' },
58
+ {
59
+ key: 'message',
60
+ label: 'Message',
61
+ children: [
62
+ { key: 'id', label: 'Message ID' },
63
+ { key: 'threadId', label: 'Thread ID' },
64
+ { key: 'labelIds', label: 'Labels' },
65
+ ],
66
+ },
67
+ ];
68
+
69
+ const gmailLabelBaseFields: OutputSchema['fields'] = [
70
+ { key: 'id', label: 'Label ID' },
71
+ { key: 'name', label: 'Name' },
72
+ { key: 'type', label: 'Type' },
73
+ { key: 'messageListVisibility', label: 'Message List Visibility' },
74
+ { key: 'labelListVisibility', label: 'Label List Visibility' },
75
+ {
76
+ key: 'color',
77
+ label: 'Color',
78
+ children: [
79
+ { key: 'textColor', label: 'Text Color' },
80
+ { key: 'backgroundColor', label: 'Background Color' },
81
+ ],
82
+ },
83
+ ];
84
+
85
+ const historyRecordMessageFields: OutputSchema['fields'] = [
86
+ { key: 'id', label: 'Message ID' },
87
+ { key: 'threadId', label: 'Thread ID' },
88
+ { key: 'labelIds', label: 'Labels' },
89
+ ];
90
+
91
+ export const sendEmailActionOutputSchema: OutputSchema = {
92
+ fields: [
93
+ {
94
+ key: 'messageId',
95
+ label: 'Message ID',
96
+ value: 'data.id',
97
+ },
98
+ {
99
+ key: 'threadId',
100
+ label: 'Thread ID',
101
+ value: 'data.threadId',
102
+ },
103
+ {
104
+ key: 'labelIds',
105
+ label: 'Labels',
106
+ value: 'data.labelIds',
107
+ },
108
+ {
109
+ key: 'status',
110
+ label: 'Status Code',
111
+ value: 'status',
112
+ },
113
+ {
114
+ key: 'statusText',
115
+ label: 'Status Text',
116
+ value: 'statusText',
117
+ },
118
+ ],
119
+ };
120
+
121
+ export const createDraftReplyActionOutputSchema: OutputSchema = {
122
+ fields: [
123
+ {
124
+ key: 'id',
125
+ label: 'Draft ID',
126
+ value: 'id',
127
+ },
128
+ {
129
+ key: 'subject',
130
+ label: 'Subject',
131
+ value: 'draftDetails.subject',
132
+ },
133
+ {
134
+ key: 'replyType',
135
+ label: 'Reply Type',
136
+ value: 'draftDetails.replyType',
137
+ },
138
+ {
139
+ key: 'includeOriginal',
140
+ label: 'Include Original',
141
+ value: 'draftDetails.includeOriginal',
142
+ format: 'boolean',
143
+ },
144
+ {
145
+ key: 'recipientsTo',
146
+ label: 'To',
147
+ value: 'draftDetails.recipients.to',
148
+ },
149
+ {
150
+ key: 'recipientsCc',
151
+ label: 'Cc',
152
+ value: 'draftDetails.recipients.cc',
153
+ },
154
+ {
155
+ key: 'message',
156
+ label: 'Draft Message',
157
+ children: [
158
+ {
159
+ key: 'id',
160
+ label: 'Message ID',
161
+ value: 'id',
162
+ },
163
+ {
164
+ key: 'threadId',
165
+ label: 'Thread ID',
166
+ value: 'threadId',
167
+ },
168
+ {
169
+ key: 'labelIds',
170
+ label: 'Label IDs',
171
+ value: 'labelIds',
172
+ },
173
+ ],
174
+ },
175
+ {
176
+ key: 'originalMessage',
177
+ label: 'Original Message',
178
+ children: [
179
+ {
180
+ key: 'subject',
181
+ label: 'Subject',
182
+ value: 'subject',
183
+ },
184
+ {
185
+ key: 'from',
186
+ label: 'From',
187
+ value: 'from',
188
+ format: 'email',
189
+ },
190
+ {
191
+ key: 'to',
192
+ label: 'To',
193
+ value: 'to',
194
+ format: 'email',
195
+ },
196
+ {
197
+ key: 'date',
198
+ label: 'Date',
199
+ value: 'date',
200
+ format: 'datetime',
201
+ },
202
+ {
203
+ key: 'id',
204
+ label: 'Message ID',
205
+ value: 'id',
206
+ },
207
+ {
208
+ key: 'threadId',
209
+ label: 'Thread ID',
210
+ value: 'threadId',
211
+ },
212
+ ],
213
+ },
214
+ ],
215
+ };
216
+
217
+ export const replyToEmailActionOutputSchema: OutputSchema = {
218
+ fields: [
219
+ {
220
+ key: 'id',
221
+ label: 'Message ID',
222
+ },
223
+ {
224
+ key: 'threadId',
225
+ label: 'Thread ID',
226
+ },
227
+ {
228
+ key: 'labelIds',
229
+ label: 'Labels',
230
+ listItems: [
231
+ {
232
+ key: 'label',
233
+ label: 'Label',
234
+ value: '',
235
+ },
236
+ ],
237
+ },
238
+ ],
239
+ };
240
+
241
+ export const gmailSearchMailActionOutputSchema: OutputSchema = {
242
+ fields: [
243
+ {
244
+ key: 'found',
245
+ label: 'Found',
246
+ value: 'found',
247
+ format: 'boolean',
248
+ },
249
+ {
250
+ key: 'count',
251
+ label: 'Count',
252
+ value: 'results.count',
253
+ format: 'number',
254
+ },
255
+ {
256
+ key: 'messages',
257
+ label: 'Messages',
258
+ value: 'results.messages',
259
+ labelKey: 'subject',
260
+ listItems: [
261
+ {
262
+ key: 'subject',
263
+ label: 'Subject',
264
+ value: 'subject',
265
+ },
266
+ {
267
+ key: 'fromName',
268
+ label: 'From Name',
269
+ value: 'from.value[0].name',
270
+ },
271
+ {
272
+ key: 'fromAddress',
273
+ label: 'From Address',
274
+ value: 'from.value[0].address',
275
+ format: 'email',
276
+ },
277
+ {
278
+ key: 'toAddress',
279
+ label: 'To Address',
280
+ value: 'to.value[0].address',
281
+ format: 'email',
282
+ },
283
+ {
284
+ key: 'date',
285
+ label: 'Date',
286
+ value: 'date',
287
+ format: 'datetime',
288
+ },
289
+ {
290
+ key: 'text',
291
+ label: 'Text Body',
292
+ value: 'text',
293
+ },
294
+ {
295
+ key: 'id',
296
+ label: 'Message ID',
297
+ value: 'id',
298
+ },
299
+ {
300
+ key: 'messageId',
301
+ label: 'RFC Message-ID',
302
+ value: 'messageId',
303
+ },
304
+ {
305
+ key: 'replyToAddress',
306
+ label: 'Reply-To Address',
307
+ value: 'replyTo.value[0].address',
308
+ format: 'email',
309
+ },
310
+ {
311
+ key: 'attachments',
312
+ label: 'Attachments',
313
+ value: 'attachments',
314
+ labelKey: 'fileName',
315
+ listItems: [
316
+ {
317
+ key: 'fileName',
318
+ label: 'File Name',
319
+ value: 'fileName',
320
+ },
321
+ {
322
+ key: 'mimeType',
323
+ label: 'MIME Type',
324
+ value: 'mimeType',
325
+ },
326
+ {
327
+ key: 'size',
328
+ label: 'Size',
329
+ value: 'size',
330
+ format: 'filesize',
331
+ },
332
+ {
333
+ key: 'data',
334
+ label: 'Download URL',
335
+ value: 'data',
336
+ format: 'url',
337
+ },
338
+ ],
339
+ },
340
+ ],
341
+ },
342
+ ],
343
+ };
344
+
345
+ export const requestApprovalInMailActionOutputSchema: OutputSchema = {
346
+ fields: [
347
+ {
348
+ key: 'approved',
349
+ label: 'Approved',
350
+ value: 'approved',
351
+ format: 'boolean',
352
+ },
353
+ ],
354
+ };
355
+
356
+ export const gmailGetMailActionOutputSchema: OutputSchema = {
357
+ fields: [
358
+ {
359
+ key: 'subject',
360
+ label: 'Subject',
361
+ },
362
+ {
363
+ key: 'from',
364
+ label: 'From',
365
+ value: 'from.text',
366
+ },
367
+ {
368
+ key: 'to',
369
+ label: 'To',
370
+ value: 'to.text',
371
+ },
372
+ {
373
+ key: 'date',
374
+ label: 'Date',
375
+ format: 'datetime',
376
+ },
377
+ {
378
+ key: 'text',
379
+ label: 'Text Body',
380
+ },
381
+ {
382
+ key: 'html',
383
+ label: 'HTML Body',
384
+ format: 'html',
385
+ },
386
+ {
387
+ key: 'id',
388
+ label: 'Email ID',
389
+ },
390
+ {
391
+ key: 'messageId',
392
+ label: 'Message ID',
393
+ },
394
+ {
395
+ key: 'fromValue',
396
+ label: 'From Addresses',
397
+ value: 'from.value',
398
+ labelKey: 'name',
399
+ listItems: [
400
+ {
401
+ key: 'address',
402
+ label: 'Address',
403
+ format: 'email',
404
+ },
405
+ {
406
+ key: 'name',
407
+ label: 'Name',
408
+ },
409
+ ],
410
+ },
411
+ {
412
+ key: 'toValue',
413
+ label: 'To Addresses',
414
+ value: 'to.value',
415
+ labelKey: 'name',
416
+ listItems: [
417
+ {
418
+ key: 'address',
419
+ label: 'Address',
420
+ format: 'email',
421
+ },
422
+ {
423
+ key: 'name',
424
+ label: 'Name',
425
+ },
426
+ ],
427
+ },
428
+ {
429
+ key: 'attachments',
430
+ label: 'Attachments',
431
+ labelKey: 'filename',
432
+ listItems: [
433
+ {
434
+ key: 'filename',
435
+ label: 'Filename',
436
+ },
437
+ {
438
+ key: 'contentType',
439
+ label: 'Content Type',
440
+ },
441
+ {
442
+ key: 'size',
443
+ label: 'Size',
444
+ format: 'filesize',
445
+ },
446
+ ],
447
+ },
448
+ ],
449
+ };
450
+
451
+ export const newAttachmentTriggerOutputSchema: OutputSchema = {
452
+ fields: [
453
+ {
454
+ key: 'attachment',
455
+ label: 'Attachment',
456
+ children: [
457
+ {
458
+ key: 'fileName',
459
+ label: 'File Name',
460
+ value: 'fileName',
461
+ },
462
+ {
463
+ key: 'mimeType',
464
+ label: 'MIME Type',
465
+ value: 'mimeType',
466
+ },
467
+ {
468
+ key: 'size',
469
+ label: 'Size',
470
+ value: 'size',
471
+ format: 'filesize',
472
+ },
473
+ {
474
+ key: 'data',
475
+ label: 'File',
476
+ value: 'data',
477
+ format: 'url',
478
+ },
479
+ ],
480
+ },
481
+ {
482
+ key: 'subject',
483
+ label: 'Subject',
484
+ value: 'message.subject',
485
+ },
486
+ {
487
+ key: 'date',
488
+ label: 'Date',
489
+ value: 'message.date',
490
+ format: 'datetime',
491
+ },
492
+ {
493
+ key: 'from',
494
+ label: 'From',
495
+ value: 'message.from.text',
496
+ },
497
+ {
498
+ key: 'to',
499
+ label: 'To',
500
+ value: 'message.to.text',
501
+ },
502
+ {
503
+ key: 'messageId',
504
+ label: 'Message ID',
505
+ value: 'message.messageId',
506
+ },
507
+ {
508
+ key: 'id',
509
+ label: 'Gmail Message ID',
510
+ value: 'message.id',
511
+ },
512
+ {
513
+ key: 'fromDetails',
514
+ label: 'From Details',
515
+ value: 'message.from.value',
516
+ labelKey: 'name',
517
+ listItems: [
518
+ {
519
+ key: 'address',
520
+ label: 'Address',
521
+ value: 'address',
522
+ format: 'email',
523
+ },
524
+ {
525
+ key: 'name',
526
+ label: 'Name',
527
+ value: 'name',
528
+ },
529
+ ],
530
+ },
531
+ {
532
+ key: 'toDetails',
533
+ label: 'To Details',
534
+ value: 'message.to.value',
535
+ labelKey: 'name',
536
+ listItems: [
537
+ {
538
+ key: 'address',
539
+ label: 'Address',
540
+ value: 'address',
541
+ format: 'email',
542
+ },
543
+ {
544
+ key: 'name',
545
+ label: 'Name',
546
+ value: 'name',
547
+ },
548
+ ],
549
+ },
550
+ {
551
+ key: 'html',
552
+ label: 'HTML Body',
553
+ value: 'message.html',
554
+ format: 'html',
555
+ },
556
+ ],
557
+ };
558
+
559
+ export const newLabelTriggerOutputSchema: OutputSchema = {
560
+ fields: [
561
+ {
562
+ key: 'name',
563
+ label: 'Label Name',
564
+ },
565
+ {
566
+ key: 'id',
567
+ label: 'Label ID',
568
+ },
569
+ {
570
+ key: 'type',
571
+ label: 'Type',
572
+ },
573
+ {
574
+ key: 'messageListVisibility',
575
+ label: 'Message List Visibility',
576
+ },
577
+ {
578
+ key: 'labelListVisibility',
579
+ label: 'Label List Visibility',
580
+ },
581
+ ],
582
+ };
583
+
584
+ export const gmailNewEmailReceivedTriggerOutputSchema: OutputSchema = {
585
+ fields: [
586
+ {
587
+ key: 'subject',
588
+ label: 'Subject',
589
+ value: 'message.subject',
590
+ },
591
+ {
592
+ key: 'date',
593
+ label: 'Date',
594
+ value: 'message.date',
595
+ format: 'datetime',
596
+ },
597
+ {
598
+ key: 'fromAddress',
599
+ label: 'From',
600
+ value: 'message.from.text',
601
+ },
602
+ {
603
+ key: 'toAddress',
604
+ label: 'To',
605
+ value: 'message.to.text',
606
+ },
607
+ {
608
+ key: 'text',
609
+ label: 'Body (Text)',
610
+ value: 'message.text',
611
+ },
612
+ {
613
+ key: 'html',
614
+ label: 'Body (HTML)',
615
+ value: 'message.html',
616
+ format: 'html',
617
+ },
618
+ {
619
+ key: 'messageId',
620
+ label: 'Message ID',
621
+ value: 'message.messageId',
622
+ },
623
+ {
624
+ key: 'from',
625
+ label: 'From Addresses',
626
+ value: 'message.from.value',
627
+ labelKey: 'name',
628
+ listItems: [
629
+ {
630
+ key: 'address',
631
+ label: 'Email',
632
+ value: 'address',
633
+ format: 'email',
634
+ },
635
+ {
636
+ key: 'name',
637
+ label: 'Name',
638
+ value: 'name',
639
+ },
640
+ ],
641
+ },
642
+ {
643
+ key: 'to',
644
+ label: 'To Addresses',
645
+ value: 'message.to.value',
646
+ labelKey: 'name',
647
+ listItems: [
648
+ {
649
+ key: 'address',
650
+ label: 'Email',
651
+ value: 'address',
652
+ format: 'email',
653
+ },
654
+ {
655
+ key: 'name',
656
+ label: 'Name',
657
+ value: 'name',
658
+ },
659
+ ],
660
+ },
661
+ {
662
+ key: 'attachments',
663
+ label: 'Attachments',
664
+ value: 'message.attachments',
665
+ },
666
+ {
667
+ key: 'threadId',
668
+ label: 'Thread ID',
669
+ value: 'thread.data.id',
670
+ },
671
+ {
672
+ key: 'messages',
673
+ label: 'Thread Messages',
674
+ value: 'thread.data.messages',
675
+ labelKey: 'snippet',
676
+ listItems: [
677
+ {
678
+ key: 'id',
679
+ label: 'Message ID',
680
+ value: 'id',
681
+ },
682
+ {
683
+ key: 'threadId',
684
+ label: 'Thread ID',
685
+ value: 'threadId',
686
+ },
687
+ {
688
+ key: 'snippet',
689
+ label: 'Snippet',
690
+ value: 'snippet',
691
+ },
692
+ {
693
+ key: 'labelIds',
694
+ label: 'Labels',
695
+ value: 'labelIds',
696
+ },
697
+ {
698
+ key: 'sizeEstimate',
699
+ label: 'Size Estimate',
700
+ value: 'sizeEstimate',
701
+ format: 'filesize',
702
+ },
703
+ ],
704
+ },
705
+ ],
706
+ };
707
+
708
+ export const newLabeledEmailTriggerOutputSchema: OutputSchema = {
709
+ fields: [
710
+ {
711
+ key: 'subject',
712
+ label: 'Subject',
713
+ value: 'data.message.subject',
714
+ },
715
+ {
716
+ key: 'from',
717
+ label: 'From',
718
+ value: 'data.message.from.text',
719
+ format: 'email',
720
+ },
721
+ {
722
+ key: 'to',
723
+ label: 'To',
724
+ value: 'data.message.to.text',
725
+ format: 'email',
726
+ },
727
+ {
728
+ key: 'text',
729
+ label: 'Body (Text)',
730
+ value: 'data.message.text',
731
+ },
732
+ {
733
+ key: 'date',
734
+ label: 'Date',
735
+ value: 'data.message.date',
736
+ format: 'datetime',
737
+ },
738
+ {
739
+ key: 'id',
740
+ label: 'Message ID',
741
+ value: 'id',
742
+ },
743
+ {
744
+ key: 'messageId',
745
+ label: 'Internet Message ID',
746
+ value: 'data.message.messageId',
747
+ },
748
+ {
749
+ key: 'addedAt',
750
+ label: 'Label Added At',
751
+ value: 'data.labelInfo.addedAt',
752
+ format: 'datetime',
753
+ },
754
+ {
755
+ key: 'attachments',
756
+ label: 'Attachments',
757
+ value: 'data.message.attachments',
758
+ labelKey: 'filename',
759
+ listItems: [
760
+ {
761
+ key: 'filename',
762
+ label: 'Filename',
763
+ value: 'filename',
764
+ },
765
+ {
766
+ key: 'contentType',
767
+ label: 'Content Type',
768
+ value: 'contentType',
769
+ },
770
+ {
771
+ key: 'size',
772
+ label: 'Size',
773
+ value: 'size',
774
+ format: 'filesize',
775
+ },
776
+ ],
777
+ },
778
+ {
779
+ key: 'thread',
780
+ label: 'Thread',
781
+ value: 'data.thread',
782
+ children: [
783
+ {
784
+ key: 'id',
785
+ label: 'Thread ID',
786
+ value: 'id',
787
+ },
788
+ {
789
+ key: 'messages',
790
+ label: 'Messages',
791
+ value: 'messages',
792
+ labelKey: 'snippet',
793
+ listItems: [
794
+ {
795
+ key: 'snippet',
796
+ label: 'Snippet',
797
+ value: 'snippet',
798
+ },
799
+ {
800
+ key: 'id',
801
+ label: 'Message ID',
802
+ value: 'id',
803
+ },
804
+ {
805
+ key: 'threadId',
806
+ label: 'Thread ID',
807
+ value: 'threadId',
808
+ },
809
+ {
810
+ key: 'labelIds',
811
+ label: 'Label IDs',
812
+ value: 'labelIds',
813
+ },
814
+ {
815
+ key: 'internalDate',
816
+ label: 'Internal Date',
817
+ value: 'internalDate',
818
+ },
819
+ {
820
+ key: 'sizeEstimate',
821
+ label: 'Size Estimate',
822
+ value: 'sizeEstimate',
823
+ format: 'filesize',
824
+ },
825
+ ],
826
+ },
827
+ ],
828
+ },
829
+ ],
830
+ };
831
+
832
+ export const gmailAiSendEmailActionOutputSchema: OutputSchema = {
833
+ fields: [
834
+ { key: 'data', label: 'Message', children: messageSendResultFields },
835
+ { key: 'status', label: 'Status Code', format: 'number' },
836
+ { key: 'statusText', label: 'Status Text' },
837
+ ],
838
+ };
839
+
840
+ export const gmailAiGetMessageActionOutputSchema: OutputSchema = {
841
+ fields: parsedMessageFields,
842
+ };
843
+
844
+ export const gmailAiSearchEmailActionOutputSchema: OutputSchema = {
845
+ fields: [
846
+ { key: 'found', label: 'Found', format: 'boolean' },
847
+ {
848
+ key: 'results',
849
+ label: 'Results',
850
+ children: [
851
+ { key: 'count', label: 'Count', format: 'number' },
852
+ {
853
+ key: 'messages',
854
+ label: 'Messages',
855
+ labelKey: 'subject',
856
+ listItems: parsedMessageFields,
857
+ },
858
+ ],
859
+ },
860
+ ],
861
+ };
862
+
863
+ export const gmailAiReplyToThreadActionOutputSchema: OutputSchema = {
864
+ fields: messageSendResultFields,
865
+ };
866
+
867
+ export const gmailForwardMessageActionOutputSchema: OutputSchema = {
868
+ fields: messageSendResultFields,
869
+ };
870
+
871
+ export const gmailSendDraftActionOutputSchema: OutputSchema = {
872
+ fields: messageSendResultFields,
873
+ };
874
+
875
+ export const gmailCreateDraftActionOutputSchema: OutputSchema = {
876
+ fields: draftMutationFields,
877
+ };
878
+
879
+ export const gmailUpdateDraftActionOutputSchema: OutputSchema = {
880
+ fields: draftMutationFields,
881
+ };
882
+
883
+ export const gmailGetDraftActionOutputSchema: OutputSchema = {
884
+ fields: [
885
+ { key: 'id', label: 'Draft ID' },
886
+ { key: 'message', label: 'Message', children: gmailMessageResourceFields },
887
+ ],
888
+ };
889
+
890
+ export const gmailListDraftsActionOutputSchema: OutputSchema = {
891
+ fields: [
892
+ {
893
+ key: 'drafts',
894
+ label: 'Drafts',
895
+ labelKey: 'id',
896
+ listItems: [
897
+ { key: 'id', label: 'Draft ID' },
898
+ {
899
+ key: 'message',
900
+ label: 'Message',
901
+ children: [
902
+ { key: 'id', label: 'Message ID' },
903
+ { key: 'threadId', label: 'Thread ID' },
904
+ ],
905
+ },
906
+ ],
907
+ },
908
+ { key: 'count', label: 'Count', format: 'number' },
909
+ {
910
+ key: 'resultSizeEstimate',
911
+ label: 'Result Size Estimate',
912
+ format: 'number',
913
+ },
914
+ { key: 'nextPageToken', label: 'Next Page Token' },
915
+ ],
916
+ };
917
+
918
+ export const gmailGetThreadActionOutputSchema: OutputSchema = {
919
+ fields: [
920
+ { key: 'id', label: 'Thread ID' },
921
+ { key: 'snippet', label: 'Snippet' },
922
+ { key: 'historyId', label: 'History ID' },
923
+ {
924
+ key: 'messages',
925
+ label: 'Messages',
926
+ labelKey: 'snippet',
927
+ listItems: gmailMessageResourceFields,
928
+ },
929
+ ],
930
+ };
931
+
932
+ export const gmailListThreadsActionOutputSchema: OutputSchema = {
933
+ fields: [
934
+ {
935
+ key: 'threads',
936
+ label: 'Threads',
937
+ labelKey: 'snippet',
938
+ listItems: [
939
+ { key: 'id', label: 'Thread ID' },
940
+ { key: 'snippet', label: 'Snippet' },
941
+ { key: 'historyId', label: 'History ID' },
942
+ ],
943
+ },
944
+ { key: 'count', label: 'Count', format: 'number' },
945
+ {
946
+ key: 'resultSizeEstimate',
947
+ label: 'Result Size Estimate',
948
+ format: 'number',
949
+ },
950
+ { key: 'nextPageToken', label: 'Next Page Token' },
951
+ ],
952
+ };
953
+
954
+ export const gmailListLabelsActionOutputSchema: OutputSchema = {
955
+ fields: [
956
+ {
957
+ key: 'labels',
958
+ label: 'Labels',
959
+ labelKey: 'name',
960
+ listItems: gmailLabelBaseFields,
961
+ },
962
+ { key: 'count', label: 'Count', format: 'number' },
963
+ ],
964
+ };
965
+
966
+ export const gmailGetLabelActionOutputSchema: OutputSchema = {
967
+ fields: [
968
+ ...gmailLabelBaseFields,
969
+ { key: 'messagesTotal', label: 'Messages Total', format: 'number' },
970
+ { key: 'messagesUnread', label: 'Messages Unread', format: 'number' },
971
+ { key: 'threadsTotal', label: 'Threads Total', format: 'number' },
972
+ { key: 'threadsUnread', label: 'Threads Unread', format: 'number' },
973
+ ],
974
+ };
975
+
976
+ export const gmailGetProfileActionOutputSchema: OutputSchema = {
977
+ fields: [
978
+ { key: 'emailAddress', label: 'Email Address', format: 'email' },
979
+ { key: 'messagesTotal', label: 'Messages Total', format: 'number' },
980
+ { key: 'threadsTotal', label: 'Threads Total', format: 'number' },
981
+ { key: 'historyId', label: 'History ID' },
982
+ ],
983
+ };
984
+
985
+ export const gmailGetAttachmentActionOutputSchema: OutputSchema = {
986
+ fields: [
987
+ { key: 'fileName', label: 'File Name' },
988
+ { key: 'size', label: 'Size', format: 'filesize' },
989
+ { key: 'data', label: 'File', format: 'url' },
990
+ ],
991
+ };
992
+
993
+ export const gmailListHistoryActionOutputSchema: OutputSchema = {
994
+ fields: [
995
+ { key: 'historyId', label: 'History ID' },
996
+ { key: 'nextPageToken', label: 'Next Page Token' },
997
+ {
998
+ key: 'history',
999
+ label: 'History Records',
1000
+ labelKey: 'id',
1001
+ listItems: [
1002
+ { key: 'id', label: 'History ID' },
1003
+ {
1004
+ key: 'messages',
1005
+ label: 'Messages',
1006
+ labelKey: 'id',
1007
+ listItems: [
1008
+ { key: 'id', label: 'Message ID' },
1009
+ { key: 'threadId', label: 'Thread ID' },
1010
+ ],
1011
+ },
1012
+ {
1013
+ key: 'messagesAdded',
1014
+ label: 'Messages Added',
1015
+ listItems: [
1016
+ {
1017
+ key: 'message',
1018
+ label: 'Message',
1019
+ children: historyRecordMessageFields,
1020
+ },
1021
+ ],
1022
+ },
1023
+ {
1024
+ key: 'messagesDeleted',
1025
+ label: 'Messages Deleted',
1026
+ listItems: [
1027
+ {
1028
+ key: 'message',
1029
+ label: 'Message',
1030
+ children: historyRecordMessageFields,
1031
+ },
1032
+ ],
1033
+ },
1034
+ {
1035
+ key: 'labelsAdded',
1036
+ label: 'Labels Added',
1037
+ listItems: [
1038
+ {
1039
+ key: 'message',
1040
+ label: 'Message',
1041
+ children: historyRecordMessageFields,
1042
+ },
1043
+ { key: 'labelIds', label: 'Added Label IDs' },
1044
+ ],
1045
+ },
1046
+ {
1047
+ key: 'labelsRemoved',
1048
+ label: 'Labels Removed',
1049
+ listItems: [
1050
+ {
1051
+ key: 'message',
1052
+ label: 'Message',
1053
+ children: historyRecordMessageFields,
1054
+ },
1055
+ { key: 'labelIds', label: 'Removed Label IDs' },
1056
+ ],
1057
+ },
1058
+ ],
1059
+ },
1060
+ ],
1061
+ };