@divyacon/piece-google-docs 0.0.0-stage → 0.1.1

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 (243) hide show
  1. package/LICENSE.MIT-AP +24 -0
  2. package/dist/index.d.ts +6 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +128 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/lib/actions/append-text.d.ts +8 -0
  7. package/dist/lib/actions/append-text.d.ts.map +1 -0
  8. package/dist/lib/actions/append-text.js +40 -0
  9. package/dist/lib/actions/append-text.js.map +1 -0
  10. package/dist/lib/actions/batch-update.action.d.ts +8 -0
  11. package/dist/lib/actions/batch-update.action.d.ts.map +1 -0
  12. package/dist/lib/actions/batch-update.action.js +63 -0
  13. package/dist/lib/actions/batch-update.action.js.map +1 -0
  14. package/dist/lib/actions/copy-document.action.d.ts +12 -0
  15. package/dist/lib/actions/copy-document.action.d.ts.map +1 -0
  16. package/dist/lib/actions/copy-document.action.js +72 -0
  17. package/dist/lib/actions/copy-document.action.js.map +1 -0
  18. package/dist/lib/actions/create-and-populate-table.action.d.ts +8 -0
  19. package/dist/lib/actions/create-and-populate-table.action.d.ts.map +1 -0
  20. package/dist/lib/actions/create-and-populate-table.action.js +138 -0
  21. package/dist/lib/actions/create-and-populate-table.action.js.map +1 -0
  22. package/dist/lib/actions/create-document-based-on-template.action.d.ts +10 -0
  23. package/dist/lib/actions/create-document-based-on-template.action.d.ts.map +1 -0
  24. package/dist/lib/actions/create-document-based-on-template.action.js +107 -0
  25. package/dist/lib/actions/create-document-based-on-template.action.js.map +1 -0
  26. package/dist/lib/actions/create-document-from-markdown.action.d.ts +8 -0
  27. package/dist/lib/actions/create-document-from-markdown.action.d.ts.map +1 -0
  28. package/dist/lib/actions/create-document-from-markdown.action.js +69 -0
  29. package/dist/lib/actions/create-document-from-markdown.action.js.map +1 -0
  30. package/dist/lib/actions/create-document.d.ts +8 -0
  31. package/dist/lib/actions/create-document.d.ts.map +1 -0
  32. package/dist/lib/actions/create-document.js +35 -0
  33. package/dist/lib/actions/create-document.js.map +1 -0
  34. package/dist/lib/actions/create-footer.action.d.ts +8 -0
  35. package/dist/lib/actions/create-footer.action.d.ts.map +1 -0
  36. package/dist/lib/actions/create-footer.action.js +66 -0
  37. package/dist/lib/actions/create-footer.action.js.map +1 -0
  38. package/dist/lib/actions/create-footnote.action.d.ts +8 -0
  39. package/dist/lib/actions/create-footnote.action.d.ts.map +1 -0
  40. package/dist/lib/actions/create-footnote.action.js +58 -0
  41. package/dist/lib/actions/create-footnote.action.js.map +1 -0
  42. package/dist/lib/actions/create-header.action.d.ts +8 -0
  43. package/dist/lib/actions/create-header.action.d.ts.map +1 -0
  44. package/dist/lib/actions/create-header.action.js +66 -0
  45. package/dist/lib/actions/create-header.action.js.map +1 -0
  46. package/dist/lib/actions/create-named-range.action.d.ts +10 -0
  47. package/dist/lib/actions/create-named-range.action.d.ts.map +1 -0
  48. package/dist/lib/actions/create-named-range.action.js +74 -0
  49. package/dist/lib/actions/create-named-range.action.js.map +1 -0
  50. package/dist/lib/actions/create-paragraph-bullets.action.d.ts +10 -0
  51. package/dist/lib/actions/create-paragraph-bullets.action.d.ts.map +1 -0
  52. package/dist/lib/actions/create-paragraph-bullets.action.js +98 -0
  53. package/dist/lib/actions/create-paragraph-bullets.action.js.map +1 -0
  54. package/dist/lib/actions/create-text-document.action.d.ts +8 -0
  55. package/dist/lib/actions/create-text-document.action.d.ts.map +1 -0
  56. package/dist/lib/actions/create-text-document.action.js +42 -0
  57. package/dist/lib/actions/create-text-document.action.js.map +1 -0
  58. package/dist/lib/actions/delete-content-range.action.d.ts +9 -0
  59. package/dist/lib/actions/delete-content-range.action.d.ts.map +1 -0
  60. package/dist/lib/actions/delete-content-range.action.js +64 -0
  61. package/dist/lib/actions/delete-content-range.action.js.map +1 -0
  62. package/dist/lib/actions/delete-footer.action.d.ts +8 -0
  63. package/dist/lib/actions/delete-footer.action.d.ts.map +1 -0
  64. package/dist/lib/actions/delete-footer.action.js +56 -0
  65. package/dist/lib/actions/delete-footer.action.js.map +1 -0
  66. package/dist/lib/actions/delete-header.action.d.ts +8 -0
  67. package/dist/lib/actions/delete-header.action.d.ts.map +1 -0
  68. package/dist/lib/actions/delete-header.action.js +56 -0
  69. package/dist/lib/actions/delete-header.action.js.map +1 -0
  70. package/dist/lib/actions/delete-named-range.action.d.ts +9 -0
  71. package/dist/lib/actions/delete-named-range.action.d.ts.map +1 -0
  72. package/dist/lib/actions/delete-named-range.action.js +69 -0
  73. package/dist/lib/actions/delete-named-range.action.js.map +1 -0
  74. package/dist/lib/actions/delete-paragraph-bullets.action.d.ts +9 -0
  75. package/dist/lib/actions/delete-paragraph-bullets.action.d.ts.map +1 -0
  76. package/dist/lib/actions/delete-paragraph-bullets.action.js +66 -0
  77. package/dist/lib/actions/delete-paragraph-bullets.action.js.map +1 -0
  78. package/dist/lib/actions/delete-table-column.action.d.ts +10 -0
  79. package/dist/lib/actions/delete-table-column.action.d.ts.map +1 -0
  80. package/dist/lib/actions/delete-table-column.action.js +72 -0
  81. package/dist/lib/actions/delete-table-column.action.js.map +1 -0
  82. package/dist/lib/actions/delete-table-row.action.d.ts +10 -0
  83. package/dist/lib/actions/delete-table-row.action.d.ts.map +1 -0
  84. package/dist/lib/actions/delete-table-row.action.js +72 -0
  85. package/dist/lib/actions/delete-table-row.action.js.map +1 -0
  86. package/dist/lib/actions/export-as-pdf.action.d.ts +7 -0
  87. package/dist/lib/actions/export-as-pdf.action.d.ts.map +1 -0
  88. package/dist/lib/actions/export-as-pdf.action.js +61 -0
  89. package/dist/lib/actions/export-as-pdf.action.js.map +1 -0
  90. package/dist/lib/actions/find-document.d.ts +16 -0
  91. package/dist/lib/actions/find-document.d.ts.map +1 -0
  92. package/dist/lib/actions/find-document.js +127 -0
  93. package/dist/lib/actions/find-document.js.map +1 -0
  94. package/dist/lib/actions/get-document-end-index.action.d.ts +7 -0
  95. package/dist/lib/actions/get-document-end-index.action.d.ts.map +1 -0
  96. package/dist/lib/actions/get-document-end-index.action.js +54 -0
  97. package/dist/lib/actions/get-document-end-index.action.js.map +1 -0
  98. package/dist/lib/actions/get-document-plaintext.action.d.ts +7 -0
  99. package/dist/lib/actions/get-document-plaintext.action.d.ts.map +1 -0
  100. package/dist/lib/actions/get-document-plaintext.action.js +76 -0
  101. package/dist/lib/actions/get-document-plaintext.action.js.map +1 -0
  102. package/dist/lib/actions/get-document.action.d.ts +7 -0
  103. package/dist/lib/actions/get-document.action.d.ts.map +1 -0
  104. package/dist/lib/actions/get-document.action.js +45 -0
  105. package/dist/lib/actions/get-document.action.js.map +1 -0
  106. package/dist/lib/actions/insert-image-in-table-cell.action.d.ts +13 -0
  107. package/dist/lib/actions/insert-image-in-table-cell.action.d.ts.map +1 -0
  108. package/dist/lib/actions/insert-image-in-table-cell.action.js +128 -0
  109. package/dist/lib/actions/insert-image-in-table-cell.action.js.map +1 -0
  110. package/dist/lib/actions/insert-inline-image.action.d.ts +11 -0
  111. package/dist/lib/actions/insert-inline-image.action.d.ts.map +1 -0
  112. package/dist/lib/actions/insert-inline-image.action.js +84 -0
  113. package/dist/lib/actions/insert-inline-image.action.js.map +1 -0
  114. package/dist/lib/actions/insert-page-break.action.d.ts +8 -0
  115. package/dist/lib/actions/insert-page-break.action.d.ts.map +1 -0
  116. package/dist/lib/actions/insert-page-break.action.js +60 -0
  117. package/dist/lib/actions/insert-page-break.action.js.map +1 -0
  118. package/dist/lib/actions/insert-table-column.action.d.ts +11 -0
  119. package/dist/lib/actions/insert-table-column.action.d.ts.map +1 -0
  120. package/dist/lib/actions/insert-table-column.action.js +86 -0
  121. package/dist/lib/actions/insert-table-column.action.js.map +1 -0
  122. package/dist/lib/actions/insert-table-row.action.d.ts +11 -0
  123. package/dist/lib/actions/insert-table-row.action.d.ts.map +1 -0
  124. package/dist/lib/actions/insert-table-row.action.js +86 -0
  125. package/dist/lib/actions/insert-table-row.action.js.map +1 -0
  126. package/dist/lib/actions/insert-table.action.d.ts +10 -0
  127. package/dist/lib/actions/insert-table.action.d.ts.map +1 -0
  128. package/dist/lib/actions/insert-table.action.js +72 -0
  129. package/dist/lib/actions/insert-table.action.js.map +1 -0
  130. package/dist/lib/actions/insert-text-in-table-cell.action.d.ts +11 -0
  131. package/dist/lib/actions/insert-text-in-table-cell.action.d.ts.map +1 -0
  132. package/dist/lib/actions/insert-text-in-table-cell.action.js +115 -0
  133. package/dist/lib/actions/insert-text-in-table-cell.action.js.map +1 -0
  134. package/dist/lib/actions/insert-text.action.d.ts +9 -0
  135. package/dist/lib/actions/insert-text.action.d.ts.map +1 -0
  136. package/dist/lib/actions/insert-text.action.js +66 -0
  137. package/dist/lib/actions/insert-text.action.js.map +1 -0
  138. package/dist/lib/actions/read-document.action.d.ts +7 -0
  139. package/dist/lib/actions/read-document.action.d.ts.map +1 -0
  140. package/dist/lib/actions/read-document.action.js +44 -0
  141. package/dist/lib/actions/read-document.action.js.map +1 -0
  142. package/dist/lib/actions/replace-all-text.action.d.ts +10 -0
  143. package/dist/lib/actions/replace-all-text.action.d.ts.map +1 -0
  144. package/dist/lib/actions/replace-all-text.action.js +92 -0
  145. package/dist/lib/actions/replace-all-text.action.js.map +1 -0
  146. package/dist/lib/actions/replace-body-with-markdown.action.d.ts +8 -0
  147. package/dist/lib/actions/replace-body-with-markdown.action.d.ts.map +1 -0
  148. package/dist/lib/actions/replace-body-with-markdown.action.js +79 -0
  149. package/dist/lib/actions/replace-body-with-markdown.action.js.map +1 -0
  150. package/dist/lib/actions/replace-image.action.d.ts +9 -0
  151. package/dist/lib/actions/replace-image.action.d.ts.map +1 -0
  152. package/dist/lib/actions/replace-image.action.js +65 -0
  153. package/dist/lib/actions/replace-image.action.js.map +1 -0
  154. package/dist/lib/actions/replace-section-with-markdown.action.d.ts +10 -0
  155. package/dist/lib/actions/replace-section-with-markdown.action.d.ts.map +1 -0
  156. package/dist/lib/actions/replace-section-with-markdown.action.js +106 -0
  157. package/dist/lib/actions/replace-section-with-markdown.action.js.map +1 -0
  158. package/dist/lib/actions/search-documents.action.d.ts +11 -0
  159. package/dist/lib/actions/search-documents.action.d.ts.map +1 -0
  160. package/dist/lib/actions/search-documents.action.js +121 -0
  161. package/dist/lib/actions/search-documents.action.js.map +1 -0
  162. package/dist/lib/actions/unmerge-table-cells.action.d.ts +12 -0
  163. package/dist/lib/actions/unmerge-table-cells.action.d.ts.map +1 -0
  164. package/dist/lib/actions/unmerge-table-cells.action.js +94 -0
  165. package/dist/lib/actions/unmerge-table-cells.action.js.map +1 -0
  166. package/dist/lib/actions/update-document-style.action.d.ts +11 -0
  167. package/dist/lib/actions/update-document-style.action.d.ts.map +1 -0
  168. package/dist/lib/actions/update-document-style.action.js +95 -0
  169. package/dist/lib/actions/update-document-style.action.js.map +1 -0
  170. package/dist/lib/actions/update-table-row-style.action.d.ts +10 -0
  171. package/dist/lib/actions/update-table-row-style.action.d.ts.map +1 -0
  172. package/dist/lib/actions/update-table-row-style.action.js +78 -0
  173. package/dist/lib/actions/update-table-row-style.action.js.map +1 -0
  174. package/dist/lib/auth.d.ts +11 -0
  175. package/dist/lib/auth.d.ts.map +1 -0
  176. package/dist/lib/auth.js +92 -0
  177. package/dist/lib/auth.js.map +1 -0
  178. package/dist/lib/common/index.d.ts +11 -0
  179. package/dist/lib/common/index.d.ts.map +1 -0
  180. package/dist/lib/common/index.js +124 -0
  181. package/dist/lib/common/index.js.map +1 -0
  182. package/dist/lib/common/props.d.ts +5 -0
  183. package/dist/lib/common/props.d.ts.map +1 -0
  184. package/dist/lib/common/props.js +53 -0
  185. package/dist/lib/common/props.js.map +1 -0
  186. package/dist/lib/output-schemas.d.ts +43 -0
  187. package/dist/lib/output-schemas.d.ts.map +1 -0
  188. package/dist/lib/output-schemas.js +554 -0
  189. package/dist/lib/output-schemas.js.map +1 -0
  190. package/dist/lib/triggers/new-document.d.ts +35 -0
  191. package/dist/lib/triggers/new-document.d.ts.map +1 -0
  192. package/dist/lib/triggers/new-document.js +104 -0
  193. package/dist/lib/triggers/new-document.js.map +1 -0
  194. package/package.json +48 -4
  195. package/src/index.ts +120 -0
  196. package/src/lib/actions/append-text.ts +37 -0
  197. package/src/lib/actions/batch-update.action.ts +58 -0
  198. package/src/lib/actions/copy-document.action.ts +74 -0
  199. package/src/lib/actions/create-and-populate-table.action.ts +141 -0
  200. package/src/lib/actions/create-document-based-on-template.action.ts +110 -0
  201. package/src/lib/actions/create-document-from-markdown.action.ts +63 -0
  202. package/src/lib/actions/create-document.ts +36 -0
  203. package/src/lib/actions/create-footer.action.ts +59 -0
  204. package/src/lib/actions/create-footnote.action.ts +53 -0
  205. package/src/lib/actions/create-header.action.ts +59 -0
  206. package/src/lib/actions/create-named-range.action.ts +70 -0
  207. package/src/lib/actions/create-paragraph-bullets.action.ts +95 -0
  208. package/src/lib/actions/create-text-document.action.ts +35 -0
  209. package/src/lib/actions/delete-content-range.action.ts +59 -0
  210. package/src/lib/actions/delete-footer.action.ts +51 -0
  211. package/src/lib/actions/delete-header.action.ts +51 -0
  212. package/src/lib/actions/delete-named-range.action.ts +65 -0
  213. package/src/lib/actions/delete-paragraph-bullets.action.ts +62 -0
  214. package/src/lib/actions/delete-table-column.action.ts +67 -0
  215. package/src/lib/actions/delete-table-row.action.ts +67 -0
  216. package/src/lib/actions/export-as-pdf.action.ts +59 -0
  217. package/src/lib/actions/find-document.ts +136 -0
  218. package/src/lib/actions/get-document-end-index.action.ts +47 -0
  219. package/src/lib/actions/get-document-plaintext.action.ts +74 -0
  220. package/src/lib/actions/get-document.action.ts +37 -0
  221. package/src/lib/actions/insert-image-in-table-cell.action.ts +139 -0
  222. package/src/lib/actions/insert-inline-image.action.ts +83 -0
  223. package/src/lib/actions/insert-page-break.action.ts +56 -0
  224. package/src/lib/actions/insert-table-column.action.ts +80 -0
  225. package/src/lib/actions/insert-table-row.action.ts +80 -0
  226. package/src/lib/actions/insert-table.action.ts +68 -0
  227. package/src/lib/actions/insert-text-in-table-cell.action.ts +120 -0
  228. package/src/lib/actions/insert-text.action.ts +62 -0
  229. package/src/lib/actions/read-document.action.ts +40 -0
  230. package/src/lib/actions/replace-all-text.action.ts +95 -0
  231. package/src/lib/actions/replace-body-with-markdown.action.ts +76 -0
  232. package/src/lib/actions/replace-image.action.ts +60 -0
  233. package/src/lib/actions/replace-section-with-markdown.action.ts +104 -0
  234. package/src/lib/actions/search-documents.action.ts +131 -0
  235. package/src/lib/actions/unmerge-table-cells.action.ts +88 -0
  236. package/src/lib/actions/update-document-style.action.ts +93 -0
  237. package/src/lib/actions/update-table-row-style.action.ts +73 -0
  238. package/src/lib/auth.ts +84 -0
  239. package/src/lib/common/index.ts +126 -0
  240. package/src/lib/common/props.ts +55 -0
  241. package/src/lib/output-schemas.ts +593 -0
  242. package/src/lib/triggers/new-document.ts +108 -0
  243. package/README.md +0 -3
@@ -0,0 +1,593 @@
1
+ import { OutputSchema } from '@agnocon/pieces-framework';
2
+
3
+ const driveFileFields: OutputSchema['fields'] = [
4
+ {
5
+ key: 'id',
6
+ label: 'Document ID',
7
+ value: 'id',
8
+ },
9
+ {
10
+ key: 'name',
11
+ label: 'Name',
12
+ value: 'name',
13
+ },
14
+ {
15
+ key: 'mimeType',
16
+ label: 'MIME Type',
17
+ value: 'mimeType',
18
+ },
19
+ {
20
+ key: 'webViewLink',
21
+ label: 'Web View Link',
22
+ value: 'webViewLink',
23
+ format: 'url',
24
+ },
25
+ {
26
+ key: 'iconLink',
27
+ label: 'Icon',
28
+ value: 'iconLink',
29
+ format: 'image',
30
+ },
31
+ {
32
+ key: 'thumbnailLink',
33
+ label: 'Thumbnail',
34
+ value: 'thumbnailLink',
35
+ format: 'image',
36
+ },
37
+ {
38
+ key: 'size',
39
+ label: 'Size',
40
+ value: 'size',
41
+ format: 'filesize',
42
+ },
43
+ {
44
+ key: 'createdTime',
45
+ label: 'Created Time',
46
+ value: 'createdTime',
47
+ format: 'datetime',
48
+ },
49
+ {
50
+ key: 'modifiedTime',
51
+ label: 'Modified Time',
52
+ value: 'modifiedTime',
53
+ format: 'datetime',
54
+ },
55
+ {
56
+ key: 'trashed',
57
+ label: 'Trashed',
58
+ value: 'trashed',
59
+ format: 'boolean',
60
+ },
61
+ {
62
+ key: 'shared',
63
+ label: 'Shared',
64
+ value: 'shared',
65
+ format: 'boolean',
66
+ },
67
+ {
68
+ key: 'starred',
69
+ label: 'Starred',
70
+ value: 'starred',
71
+ format: 'boolean',
72
+ },
73
+ {
74
+ key: 'parents',
75
+ label: 'Parent Folder IDs',
76
+ value: 'parents',
77
+ },
78
+ {
79
+ key: 'owners',
80
+ label: 'Owners',
81
+ value: 'owners',
82
+ labelKey: 'displayName',
83
+ listItems: [
84
+ {
85
+ key: 'displayName',
86
+ label: 'Name',
87
+ value: 'displayName',
88
+ },
89
+ {
90
+ key: 'emailAddress',
91
+ label: 'Email',
92
+ value: 'emailAddress',
93
+ format: 'email',
94
+ },
95
+ {
96
+ key: 'photoLink',
97
+ label: 'Photo',
98
+ value: 'photoLink',
99
+ format: 'image',
100
+ },
101
+ ],
102
+ },
103
+ {
104
+ key: 'lastModifyingUser',
105
+ label: 'Last Modifying User',
106
+ value: 'lastModifyingUser',
107
+ children: [
108
+ {
109
+ key: 'displayName',
110
+ label: 'Name',
111
+ value: 'displayName',
112
+ },
113
+ {
114
+ key: 'emailAddress',
115
+ label: 'Email',
116
+ value: 'emailAddress',
117
+ format: 'email',
118
+ },
119
+ {
120
+ key: 'photoLink',
121
+ label: 'Photo',
122
+ value: 'photoLink',
123
+ format: 'image',
124
+ },
125
+ ],
126
+ },
127
+ ];
128
+
129
+ export const createDocumentActionOutputSchema: OutputSchema = {
130
+ fields: [
131
+ {
132
+ key: 'documentId',
133
+ label: 'Document ID',
134
+ value: 'documentId',
135
+ },
136
+ {
137
+ key: 'requiredRevisionId',
138
+ label: 'Revision ID',
139
+ value: 'writeControl.requiredRevisionId',
140
+ },
141
+ ],
142
+ };
143
+
144
+ export const appendTextActionOutputSchema: OutputSchema = {
145
+ fields: [
146
+ {
147
+ key: 'documentId',
148
+ label: 'Document ID',
149
+ value: 'documentId',
150
+ },
151
+ {
152
+ key: 'requiredRevisionId',
153
+ label: 'Revision ID',
154
+ value: 'writeControl.requiredRevisionId',
155
+ },
156
+ ],
157
+ };
158
+
159
+ export const editTemplateActionOutputSchema: OutputSchema = {
160
+ fields: [
161
+ {
162
+ key: 'documentId',
163
+ label: 'Document ID',
164
+ value: 'data.documentId',
165
+ },
166
+ {
167
+ key: 'requiredRevisionId',
168
+ label: 'Revision ID',
169
+ value: 'data.writeControl.requiredRevisionId',
170
+ },
171
+ {
172
+ key: 'status',
173
+ label: 'Status Code',
174
+ value: 'status',
175
+ format: 'number',
176
+ },
177
+ {
178
+ key: 'statusText',
179
+ label: 'Status Text',
180
+ value: 'statusText',
181
+ },
182
+ ],
183
+ };
184
+
185
+ export const readDocumentActionOutputSchema: OutputSchema = {
186
+ fields: [
187
+ {
188
+ key: 'title',
189
+ label: 'Title',
190
+ value: 'title',
191
+ },
192
+ {
193
+ key: 'documentId',
194
+ label: 'Document ID',
195
+ value: 'documentId',
196
+ },
197
+ {
198
+ key: 'revisionId',
199
+ label: 'Revision ID',
200
+ value: 'revisionId',
201
+ },
202
+ {
203
+ key: 'suggestionsViewMode',
204
+ label: 'Suggestions View Mode',
205
+ value: 'suggestionsViewMode',
206
+ },
207
+ {
208
+ key: 'content',
209
+ label: 'Body Content',
210
+ value: 'body.content',
211
+ listItems: [
212
+ {
213
+ key: 'startIndex',
214
+ label: 'Start Index',
215
+ value: 'startIndex',
216
+ format: 'number',
217
+ },
218
+ {
219
+ key: 'endIndex',
220
+ label: 'End Index',
221
+ value: 'endIndex',
222
+ format: 'number',
223
+ },
224
+ {
225
+ key: 'elements',
226
+ label: 'Paragraph Text',
227
+ value: 'paragraph.elements',
228
+ labelKey: 'textRun.content',
229
+ listItems: [
230
+ {
231
+ key: 'text',
232
+ label: 'Text',
233
+ value: 'textRun.content',
234
+ },
235
+ ],
236
+ },
237
+ ],
238
+ },
239
+ ],
240
+ };
241
+
242
+ export const findDocumentActionOutputSchema: OutputSchema = {
243
+ fields: [
244
+ {
245
+ key: 'found',
246
+ label: 'Found',
247
+ value: 'found',
248
+ format: 'boolean',
249
+ },
250
+ {
251
+ key: 'file',
252
+ label: 'Document',
253
+ value: 'file',
254
+ children: driveFileFields,
255
+ },
256
+ ],
257
+ };
258
+
259
+ export const newDocumentTriggerOutputSchema: OutputSchema = {
260
+ fields: driveFileFields,
261
+ };
262
+
263
+ export const insertTextActionOutputSchema: OutputSchema = {
264
+ fields: [
265
+ { key: 'success', label: 'Success', format: 'boolean' },
266
+ { key: 'documentId', label: 'Document ID' },
267
+ { key: 'insertedCharacters', label: 'Inserted Characters', format: 'number' },
268
+ { key: 'mode', label: 'Mode' },
269
+ ],
270
+ };
271
+
272
+ export const deleteContentRangeActionOutputSchema: OutputSchema = {
273
+ fields: [
274
+ { key: 'success', label: 'Success', format: 'boolean' },
275
+ { key: 'documentId', label: 'Document ID' },
276
+ { key: 'deletedFrom', label: 'Deleted From Index', format: 'number' },
277
+ { key: 'deletedTo', label: 'Deleted To Index', format: 'number' },
278
+ ],
279
+ };
280
+
281
+ export const replaceAllTextActionOutputSchema: OutputSchema = {
282
+ fields: [
283
+ { key: 'documentId', label: 'Document ID' },
284
+ { key: 'occurrencesChanged', label: 'Occurrences Changed', format: 'number' },
285
+ ],
286
+ };
287
+
288
+ export const createParagraphBulletsActionOutputSchema: OutputSchema = {
289
+ fields: [
290
+ { key: 'success', label: 'Success', format: 'boolean' },
291
+ { key: 'documentId', label: 'Document ID' },
292
+ { key: 'startIndex', label: 'Start Index', format: 'number' },
293
+ { key: 'endIndex', label: 'End Index', format: 'number' },
294
+ { key: 'bulletPreset', label: 'Bullet Preset' },
295
+ ],
296
+ };
297
+
298
+ export const deleteParagraphBulletsActionOutputSchema: OutputSchema = {
299
+ fields: [
300
+ { key: 'success', label: 'Success', format: 'boolean' },
301
+ { key: 'documentId', label: 'Document ID' },
302
+ { key: 'rangeStart', label: 'Range Start', format: 'number' },
303
+ { key: 'rangeEnd', label: 'Range End', format: 'number' },
304
+ ],
305
+ };
306
+
307
+ export const createFooterActionOutputSchema: OutputSchema = {
308
+ fields: [
309
+ { key: 'success', label: 'Success', format: 'boolean' },
310
+ { key: 'documentId', label: 'Document ID' },
311
+ { key: 'footerId', label: 'Footer ID' },
312
+ ],
313
+ };
314
+
315
+ export const createHeaderActionOutputSchema: OutputSchema = {
316
+ fields: [
317
+ { key: 'success', label: 'Success', format: 'boolean' },
318
+ { key: 'documentId', label: 'Document ID' },
319
+ { key: 'headerId', label: 'Header ID' },
320
+ ],
321
+ };
322
+
323
+ export const createFootnoteActionOutputSchema: OutputSchema = {
324
+ fields: [
325
+ { key: 'success', label: 'Success', format: 'boolean' },
326
+ { key: 'documentId', label: 'Document ID' },
327
+ { key: 'footnoteId', label: 'Footnote ID' },
328
+ ],
329
+ };
330
+
331
+ export const createNamedRangeActionOutputSchema: OutputSchema = {
332
+ fields: [
333
+ { key: 'success', label: 'Success', format: 'boolean' },
334
+ { key: 'documentId', label: 'Document ID' },
335
+ { key: 'name', label: 'Range Name' },
336
+ { key: 'namedRangeId', label: 'Named Range ID' },
337
+ ],
338
+ };
339
+
340
+ export const deleteFooterActionOutputSchema: OutputSchema = {
341
+ fields: [
342
+ { key: 'success', label: 'Success', format: 'boolean' },
343
+ { key: 'documentId', label: 'Document ID' },
344
+ { key: 'deletedFooterId', label: 'Deleted Footer ID' },
345
+ ],
346
+ };
347
+
348
+ export const deleteHeaderActionOutputSchema: OutputSchema = {
349
+ fields: [
350
+ { key: 'success', label: 'Success', format: 'boolean' },
351
+ { key: 'documentId', label: 'Document ID' },
352
+ { key: 'deletedHeaderId', label: 'Deleted Header ID' },
353
+ ],
354
+ };
355
+
356
+ export const deleteNamedRangeActionOutputSchema: OutputSchema = {
357
+ fields: [
358
+ { key: 'success', label: 'Success', format: 'boolean' },
359
+ { key: 'documentId', label: 'Document ID' },
360
+ { key: 'deletedNamedRangeId', label: 'Deleted Named Range ID' },
361
+ { key: 'deletedName', label: 'Deleted Range Name' },
362
+ ],
363
+ };
364
+
365
+ export const insertTableActionOutputSchema: OutputSchema = {
366
+ fields: [
367
+ { key: 'success', label: 'Success', format: 'boolean' },
368
+ { key: 'documentId', label: 'Document ID' },
369
+ { key: 'rows', label: 'Rows', format: 'number' },
370
+ { key: 'columns', label: 'Columns', format: 'number' },
371
+ { key: 'mode', label: 'Mode' },
372
+ ],
373
+ };
374
+
375
+ export const insertTableRowActionOutputSchema: OutputSchema = {
376
+ fields: [
377
+ { key: 'success', label: 'Success', format: 'boolean' },
378
+ { key: 'documentId', label: 'Document ID' },
379
+ { key: 'tableStartIndex', label: 'Table Start Index', format: 'number' },
380
+ { key: 'rowIndex', label: 'Row Index', format: 'number' },
381
+ { key: 'columnIndex', label: 'Column Index', format: 'number' },
382
+ { key: 'insertBelow', label: 'Inserted Below', format: 'boolean' },
383
+ ],
384
+ };
385
+
386
+ export const insertTableColumnActionOutputSchema: OutputSchema = {
387
+ fields: [
388
+ { key: 'success', label: 'Success', format: 'boolean' },
389
+ { key: 'documentId', label: 'Document ID' },
390
+ { key: 'tableStartIndex', label: 'Table Start Index', format: 'number' },
391
+ { key: 'rowIndex', label: 'Row Index', format: 'number' },
392
+ { key: 'columnIndex', label: 'Column Index', format: 'number' },
393
+ { key: 'insertRight', label: 'Inserted to the Right', format: 'boolean' },
394
+ ],
395
+ };
396
+
397
+ export const deleteTableRowActionOutputSchema: OutputSchema = {
398
+ fields: [
399
+ { key: 'success', label: 'Success', format: 'boolean' },
400
+ { key: 'documentId', label: 'Document ID' },
401
+ { key: 'tableStartIndex', label: 'Table Start Index', format: 'number' },
402
+ { key: 'deletedRowIndex', label: 'Deleted Row Index', format: 'number' },
403
+ ],
404
+ };
405
+
406
+ export const deleteTableColumnActionOutputSchema: OutputSchema = {
407
+ fields: [
408
+ { key: 'success', label: 'Success', format: 'boolean' },
409
+ { key: 'documentId', label: 'Document ID' },
410
+ { key: 'tableStartIndex', label: 'Table Start Index', format: 'number' },
411
+ { key: 'deletedColumnIndex', label: 'Deleted Column Index', format: 'number' },
412
+ ],
413
+ };
414
+
415
+ export const insertTextInTableCellActionOutputSchema: OutputSchema = {
416
+ fields: [
417
+ { key: 'success', label: 'Success', format: 'boolean' },
418
+ { key: 'documentId', label: 'Document ID' },
419
+ { key: 'tableStartIndex', label: 'Table Start Index', format: 'number' },
420
+ { key: 'rowIndex', label: 'Row Index', format: 'number' },
421
+ { key: 'columnIndex', label: 'Column Index', format: 'number' },
422
+ { key: 'insertedAtIndex', label: 'Inserted At Index', format: 'number' },
423
+ { key: 'insertedCharacters', label: 'Inserted Characters', format: 'number' },
424
+ ],
425
+ };
426
+
427
+ export const insertImageInTableCellActionOutputSchema: OutputSchema = {
428
+ fields: [
429
+ { key: 'success', label: 'Success', format: 'boolean' },
430
+ { key: 'documentId', label: 'Document ID' },
431
+ { key: 'tableStartIndex', label: 'Table Start Index', format: 'number' },
432
+ { key: 'rowIndex', label: 'Row Index', format: 'number' },
433
+ { key: 'columnIndex', label: 'Column Index', format: 'number' },
434
+ { key: 'insertedAtIndex', label: 'Inserted At Index', format: 'number' },
435
+ { key: 'uri', label: 'Image URI', format: 'url' },
436
+ ],
437
+ };
438
+
439
+ export const unmergeTableCellsActionOutputSchema: OutputSchema = {
440
+ fields: [
441
+ { key: 'success', label: 'Success', format: 'boolean' },
442
+ { key: 'documentId', label: 'Document ID' },
443
+ { key: 'tableStartIndex', label: 'Table Start Index', format: 'number' },
444
+ { key: 'rowIndex', label: 'Row Index', format: 'number' },
445
+ { key: 'columnIndex', label: 'Column Index', format: 'number' },
446
+ { key: 'rowSpan', label: 'Row Span', format: 'number' },
447
+ { key: 'columnSpan', label: 'Column Span', format: 'number' },
448
+ ],
449
+ };
450
+
451
+ export const updateTableRowStyleActionOutputSchema: OutputSchema = {
452
+ fields: [
453
+ { key: 'success', label: 'Success', format: 'boolean' },
454
+ { key: 'documentId', label: 'Document ID' },
455
+ { key: 'tableStartIndex', label: 'Table Start Index', format: 'number' },
456
+ { key: 'rowIndices', label: 'Row Indices' },
457
+ { key: 'updatedFields', label: 'Updated Fields' },
458
+ ],
459
+ };
460
+
461
+ export const updateDocumentStyleActionOutputSchema: OutputSchema = {
462
+ fields: [
463
+ { key: 'success', label: 'Success', format: 'boolean' },
464
+ { key: 'documentId', label: 'Document ID' },
465
+ { key: 'updatedFields', label: 'Updated Fields' },
466
+ ],
467
+ };
468
+
469
+ export const insertInlineImageActionOutputSchema: OutputSchema = {
470
+ fields: [
471
+ { key: 'success', label: 'Success', format: 'boolean' },
472
+ { key: 'documentId', label: 'Document ID' },
473
+ { key: 'insertedObjectId', label: 'Inserted Object ID' },
474
+ { key: 'mode', label: 'Mode' },
475
+ ],
476
+ };
477
+
478
+ export const insertPageBreakActionOutputSchema: OutputSchema = {
479
+ fields: [
480
+ { key: 'success', label: 'Success', format: 'boolean' },
481
+ { key: 'documentId', label: 'Document ID' },
482
+ { key: 'mode', label: 'Mode' },
483
+ ],
484
+ };
485
+
486
+ export const replaceImageActionOutputSchema: OutputSchema = {
487
+ fields: [
488
+ { key: 'success', label: 'Success', format: 'boolean' },
489
+ { key: 'documentId', label: 'Document ID' },
490
+ { key: 'imageObjectId', label: 'Image Object ID' },
491
+ ],
492
+ };
493
+
494
+ export const getDocumentEndIndexActionOutputSchema: OutputSchema = {
495
+ fields: [
496
+ { key: 'documentId', label: 'Document ID' },
497
+ { key: 'title', label: 'Title' },
498
+ { key: 'endIndex', label: 'End Index', format: 'number' },
499
+ { key: 'maxInsertIndex', label: 'Max Insert Index', format: 'number' },
500
+ ],
501
+ };
502
+
503
+ export const getDocumentPlaintextActionOutputSchema: OutputSchema = {
504
+ fields: [
505
+ { key: 'documentId', label: 'Document ID' },
506
+ { key: 'title', label: 'Title' },
507
+ { key: 'plainText', label: 'Plain Text' },
508
+ ],
509
+ };
510
+
511
+ export const copyDocumentActionOutputSchema: OutputSchema = {
512
+ fields: [
513
+ { key: 'id', label: 'Document ID' },
514
+ { key: 'name', label: 'Name' },
515
+ { key: 'webViewLink', label: 'Web View Link', format: 'url' },
516
+ { key: 'parents', label: 'Parent Folder IDs' },
517
+ ],
518
+ };
519
+
520
+ export const searchDocumentsActionOutputSchema: OutputSchema = {
521
+ fields: [
522
+ {
523
+ key: 'documents',
524
+ label: 'Documents',
525
+ value: 'documents',
526
+ labelKey: 'name',
527
+ listItems: [
528
+ { key: 'id', label: 'Document ID' },
529
+ { key: 'name', label: 'Name' },
530
+ { key: 'createdTime', label: 'Created Time', format: 'datetime' },
531
+ { key: 'modifiedTime', label: 'Modified Time', format: 'datetime' },
532
+ { key: 'webViewLink', label: 'Web View Link', format: 'url' },
533
+ { key: 'ownerEmail', label: 'Owner Email', format: 'email' },
534
+ ],
535
+ },
536
+ { key: 'count', label: 'Count', format: 'number' },
537
+ { key: 'nextPageToken', label: 'Next Page Token' },
538
+ ],
539
+ };
540
+
541
+ export const batchUpdateActionOutputSchema: OutputSchema = {
542
+ fields: [
543
+ { key: 'success', label: 'Success', format: 'boolean' },
544
+ { key: 'documentId', label: 'Document ID' },
545
+ { key: 'appliedRequests', label: 'Applied Requests', format: 'number' },
546
+ { key: 'replies', label: 'Replies' },
547
+ ],
548
+ };
549
+
550
+ export const createAndPopulateTableActionOutputSchema: OutputSchema = {
551
+ fields: [
552
+ { key: 'success', label: 'Success', format: 'boolean' },
553
+ { key: 'documentId', label: 'Document ID' },
554
+ { key: 'rows', label: 'Rows', format: 'number' },
555
+ { key: 'columns', label: 'Columns', format: 'number' },
556
+ { key: 'cellsPopulated', label: 'Cells Populated', format: 'number' },
557
+ ],
558
+ };
559
+
560
+ export const replaceSectionWithMarkdownActionOutputSchema: OutputSchema = {
561
+ fields: [
562
+ { key: 'success', label: 'Success', format: 'boolean' },
563
+ { key: 'documentId', label: 'Document ID' },
564
+ { key: 'replacedFrom', label: 'Replaced From Index', format: 'number' },
565
+ { key: 'replacedTo', label: 'Replaced To Index', format: 'number' },
566
+ { key: 'url', label: 'Document URL', format: 'url' },
567
+ ],
568
+ };
569
+
570
+ export const replaceBodyWithMarkdownActionOutputSchema: OutputSchema = {
571
+ fields: [
572
+ { key: 'success', label: 'Success', format: 'boolean' },
573
+ { key: 'documentId', label: 'Document ID' },
574
+ { key: 'url', label: 'Document URL', format: 'url' },
575
+ ],
576
+ };
577
+
578
+ export const createDocumentFromMarkdownActionOutputSchema: OutputSchema = {
579
+ fields: [
580
+ { key: 'success', label: 'Success', format: 'boolean' },
581
+ { key: 'documentId', label: 'Document ID' },
582
+ { key: 'title', label: 'Title' },
583
+ { key: 'url', label: 'Document URL', format: 'url' },
584
+ ],
585
+ };
586
+
587
+ export const exportAsPdfActionOutputSchema: OutputSchema = {
588
+ fields: [
589
+ { key: 'success', label: 'Success', format: 'boolean' },
590
+ { key: 'documentId', label: 'Document ID' },
591
+ { key: 'file', label: 'PDF File' },
592
+ ],
593
+ };
@@ -0,0 +1,108 @@
1
+ import { googleDocsAuth, createGoogleClient } from '../auth';
2
+ import { DedupeStrategy, Polling, pollingHelper } from '@agnocon/pieces-common';
3
+ import {
4
+ AppConnectionValueForAuthProperty,
5
+ createTrigger,
6
+ TriggerStrategy,
7
+ } from '@agnocon/pieces-framework';
8
+ import { folderIdProp } from '../common/props';
9
+ import { newDocumentTriggerOutputSchema } from '../output-schemas';
10
+ import dayjs from 'dayjs';
11
+ import { drive as googleDrive, drive_v3 } from '@googleapis/drive';
12
+
13
+ type Props = {
14
+ folderId?: string;
15
+ };
16
+
17
+ const polling: Polling<AppConnectionValueForAuthProperty<typeof googleDocsAuth>, Props> = {
18
+ strategy: DedupeStrategy.TIMEBASED,
19
+ async items({ auth, propsValue, lastFetchEpochMS }) {
20
+ const folderId = propsValue.folderId;
21
+
22
+ const q = ["mimeType='application/vnd.google-apps.document'", 'trashed = false'];
23
+ if (lastFetchEpochMS) {
24
+ q.push(`createdTime > '${dayjs(lastFetchEpochMS).toISOString()}'`);
25
+ }
26
+ if (folderId) {
27
+ q.push(`'${folderId}' in parents`);
28
+ }
29
+
30
+ const authClient = await createGoogleClient(auth);
31
+
32
+ const drive = googleDrive({ version: 'v3', auth: authClient });
33
+
34
+ let nextPageToken;
35
+ const items = [];
36
+
37
+ do {
38
+ const response: any = await drive.files.list({
39
+ q: q.join(' and '),
40
+ fields: '*',
41
+ orderBy: 'createdTime desc',
42
+ supportsAllDrives: true,
43
+ includeItemsFromAllDrives: true,
44
+ corpora: 'allDrives',
45
+ pageToken: nextPageToken,
46
+ });
47
+
48
+ const fileList: drive_v3.Schema$FileList = response.data;
49
+
50
+ if (fileList.files) {
51
+ items.push(...fileList.files);
52
+ }
53
+
54
+ if (lastFetchEpochMS === 0) break;
55
+
56
+ nextPageToken = response.data.nextPageToken;
57
+ } while (nextPageToken);
58
+
59
+ return items.map((item) => ({
60
+ epochMilliSeconds: dayjs(item.createdTime).valueOf(),
61
+ data: item,
62
+ }));
63
+ },
64
+ };
65
+
66
+ export const newDocumentTrigger = createTrigger({
67
+ auth: googleDocsAuth,
68
+ name: 'new-document',
69
+ displayName: 'New Document',
70
+ description: 'Triggers when a new document is added to a specific folder(optional).',
71
+ aiMetadata: {
72
+ description:
73
+ 'Fires when a new Google Docs document is created, optionally limited to a specific Drive folder. Use to react when a document first appears; it does not fire on edits to existing documents.',
74
+ },
75
+ type: TriggerStrategy.POLLING,
76
+ props: {
77
+ folderId: folderIdProp,
78
+ },
79
+ outputSchema: newDocumentTriggerOutputSchema,
80
+ async onEnable(context) {
81
+ await pollingHelper.onEnable(polling, {
82
+ auth: context.auth,
83
+ store: context.store,
84
+ propsValue: context.propsValue,
85
+ });
86
+ },
87
+ async onDisable(context) {
88
+ await pollingHelper.onDisable(polling, {
89
+ auth: context.auth,
90
+ store: context.store,
91
+ propsValue: context.propsValue,
92
+ });
93
+ },
94
+ async test(context) {
95
+ return await pollingHelper.test(polling, context);
96
+ },
97
+ async run(context) {
98
+ return await pollingHelper.poll(polling, context);
99
+ },
100
+ sampleData: {
101
+ kind: 'drive#file',
102
+ mimeType: 'application/vnd.google-apps.document',
103
+ webViewLink:
104
+ 'https://docs.google.com/document/d/1_9xjsrYFgHVvgqYwAJ8KcsDcNU/edit?usp=drivesdk',
105
+ id: '1_9xjsrYFgHVvgqYwAJ8KcsDcN3AzPelsux',
106
+ name: 'Test Document',
107
+ },
108
+ });
package/README.md DELETED
@@ -1,3 +0,0 @@
1
- # Temporary Holding Version
2
-
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.