@divyacon/piece-trello 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 (313) hide show
  1. package/LICENSE.MIT-AP +24 -0
  2. package/README.md +8 -2
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +153 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/lib/actions/ai/add-checklist-item.d.ts +6 -0
  8. package/dist/lib/actions/ai/add-checklist-item.d.ts.map +1 -0
  9. package/dist/lib/actions/ai/add-checklist-item.js +64 -0
  10. package/dist/lib/actions/ai/add-checklist-item.js.map +1 -0
  11. package/dist/lib/actions/ai/add-checklist-to-card.d.ts +5 -0
  12. package/dist/lib/actions/ai/add-checklist-to-card.d.ts.map +1 -0
  13. package/dist/lib/actions/ai/add-checklist-to-card.js +57 -0
  14. package/dist/lib/actions/ai/add-checklist-to-card.js.map +1 -0
  15. package/dist/lib/actions/ai/add-comment-to-card.d.ts +5 -0
  16. package/dist/lib/actions/ai/add-comment-to-card.d.ts.map +1 -0
  17. package/dist/lib/actions/ai/add-comment-to-card.js +55 -0
  18. package/dist/lib/actions/ai/add-comment-to-card.js.map +1 -0
  19. package/dist/lib/actions/ai/add-label-to-card.d.ts +5 -0
  20. package/dist/lib/actions/ai/add-label-to-card.d.ts.map +1 -0
  21. package/dist/lib/actions/ai/add-label-to-card.js +56 -0
  22. package/dist/lib/actions/ai/add-label-to-card.js.map +1 -0
  23. package/dist/lib/actions/ai/add-member-to-card.d.ts +5 -0
  24. package/dist/lib/actions/ai/add-member-to-card.d.ts.map +1 -0
  25. package/dist/lib/actions/ai/add-member-to-card.js +56 -0
  26. package/dist/lib/actions/ai/add-member-to-card.js.map +1 -0
  27. package/dist/lib/actions/ai/add-reaction-to-comment.d.ts +5 -0
  28. package/dist/lib/actions/ai/add-reaction-to-comment.d.ts.map +1 -0
  29. package/dist/lib/actions/ai/add-reaction-to-comment.js +60 -0
  30. package/dist/lib/actions/ai/add-reaction-to-comment.js.map +1 -0
  31. package/dist/lib/actions/ai/ai-common.d.ts +18 -0
  32. package/dist/lib/actions/ai/ai-common.d.ts.map +1 -0
  33. package/dist/lib/actions/ai/ai-common.js +29 -0
  34. package/dist/lib/actions/ai/ai-common.js.map +1 -0
  35. package/dist/lib/actions/ai/archive-all-cards-in-list.d.ts +4 -0
  36. package/dist/lib/actions/ai/archive-all-cards-in-list.d.ts.map +1 -0
  37. package/dist/lib/actions/ai/archive-all-cards-in-list.js +47 -0
  38. package/dist/lib/actions/ai/archive-all-cards-in-list.js.map +1 -0
  39. package/dist/lib/actions/ai/archive-board.d.ts +5 -0
  40. package/dist/lib/actions/ai/archive-board.d.ts.map +1 -0
  41. package/dist/lib/actions/ai/archive-board.js +59 -0
  42. package/dist/lib/actions/ai/archive-board.js.map +1 -0
  43. package/dist/lib/actions/ai/archive-card.d.ts +5 -0
  44. package/dist/lib/actions/ai/archive-card.d.ts.map +1 -0
  45. package/dist/lib/actions/ai/archive-card.js +59 -0
  46. package/dist/lib/actions/ai/archive-card.js.map +1 -0
  47. package/dist/lib/actions/ai/archive-list.d.ts +5 -0
  48. package/dist/lib/actions/ai/archive-list.d.ts.map +1 -0
  49. package/dist/lib/actions/ai/archive-list.js +59 -0
  50. package/dist/lib/actions/ai/archive-list.js.map +1 -0
  51. package/dist/lib/actions/ai/create-board-label.d.ts +6 -0
  52. package/dist/lib/actions/ai/create-board-label.d.ts.map +1 -0
  53. package/dist/lib/actions/ai/create-board-label.js +67 -0
  54. package/dist/lib/actions/ai/create-board-label.js.map +1 -0
  55. package/dist/lib/actions/ai/create-board.d.ts +6 -0
  56. package/dist/lib/actions/ai/create-board.d.ts.map +1 -0
  57. package/dist/lib/actions/ai/create-board.js +64 -0
  58. package/dist/lib/actions/ai/create-board.js.map +1 -0
  59. package/dist/lib/actions/ai/create-card-ai.d.ts +8 -0
  60. package/dist/lib/actions/ai/create-card-ai.d.ts.map +1 -0
  61. package/dist/lib/actions/ai/create-card-ai.js +99 -0
  62. package/dist/lib/actions/ai/create-card-ai.js.map +1 -0
  63. package/dist/lib/actions/ai/create-list.d.ts +6 -0
  64. package/dist/lib/actions/ai/create-list.d.ts.map +1 -0
  65. package/dist/lib/actions/ai/create-list.js +70 -0
  66. package/dist/lib/actions/ai/create-list.js.map +1 -0
  67. package/dist/lib/actions/ai/delete-card-ai.d.ts +4 -0
  68. package/dist/lib/actions/ai/delete-card-ai.d.ts.map +1 -0
  69. package/dist/lib/actions/ai/delete-card-ai.js +63 -0
  70. package/dist/lib/actions/ai/delete-card-ai.js.map +1 -0
  71. package/dist/lib/actions/ai/delete-checklist-item.d.ts +5 -0
  72. package/dist/lib/actions/ai/delete-checklist-item.d.ts.map +1 -0
  73. package/dist/lib/actions/ai/delete-checklist-item.js +52 -0
  74. package/dist/lib/actions/ai/delete-checklist-item.js.map +1 -0
  75. package/dist/lib/actions/ai/delete-checklist.d.ts +4 -0
  76. package/dist/lib/actions/ai/delete-checklist.d.ts.map +1 -0
  77. package/dist/lib/actions/ai/delete-checklist.js +47 -0
  78. package/dist/lib/actions/ai/delete-checklist.js.map +1 -0
  79. package/dist/lib/actions/ai/delete-comment.d.ts +5 -0
  80. package/dist/lib/actions/ai/delete-comment.d.ts.map +1 -0
  81. package/dist/lib/actions/ai/delete-comment.js +52 -0
  82. package/dist/lib/actions/ai/delete-comment.js.map +1 -0
  83. package/dist/lib/actions/ai/get-board.d.ts +4 -0
  84. package/dist/lib/actions/ai/get-board.d.ts.map +1 -0
  85. package/dist/lib/actions/ai/get-board.js +49 -0
  86. package/dist/lib/actions/ai/get-board.js.map +1 -0
  87. package/dist/lib/actions/ai/get-card-ai.d.ts +4 -0
  88. package/dist/lib/actions/ai/get-card-ai.d.ts.map +1 -0
  89. package/dist/lib/actions/ai/get-card-ai.js +64 -0
  90. package/dist/lib/actions/ai/get-card-ai.js.map +1 -0
  91. package/dist/lib/actions/ai/get-list.d.ts +4 -0
  92. package/dist/lib/actions/ai/get-list.d.ts.map +1 -0
  93. package/dist/lib/actions/ai/get-list.js +49 -0
  94. package/dist/lib/actions/ai/get-list.js.map +1 -0
  95. package/dist/lib/actions/ai/get-member.d.ts +4 -0
  96. package/dist/lib/actions/ai/get-member.d.ts.map +1 -0
  97. package/dist/lib/actions/ai/get-member.js +49 -0
  98. package/dist/lib/actions/ai/get-member.js.map +1 -0
  99. package/dist/lib/actions/ai/get-my-member.d.ts +2 -0
  100. package/dist/lib/actions/ai/get-my-member.d.ts.map +1 -0
  101. package/dist/lib/actions/ai/get-my-member.js +43 -0
  102. package/dist/lib/actions/ai/get-my-member.js.map +1 -0
  103. package/dist/lib/actions/ai/list-board-labels.d.ts +5 -0
  104. package/dist/lib/actions/ai/list-board-labels.d.ts.map +1 -0
  105. package/dist/lib/actions/ai/list-board-labels.js +60 -0
  106. package/dist/lib/actions/ai/list-board-labels.js.map +1 -0
  107. package/dist/lib/actions/ai/list-board-members.d.ts +4 -0
  108. package/dist/lib/actions/ai/list-board-members.d.ts.map +1 -0
  109. package/dist/lib/actions/ai/list-board-members.js +51 -0
  110. package/dist/lib/actions/ai/list-board-members.js.map +1 -0
  111. package/dist/lib/actions/ai/list-boards.d.ts +5 -0
  112. package/dist/lib/actions/ai/list-boards.d.ts.map +1 -0
  113. package/dist/lib/actions/ai/list-boards.js +68 -0
  114. package/dist/lib/actions/ai/list-boards.js.map +1 -0
  115. package/dist/lib/actions/ai/list-card-attachments-ai.d.ts +4 -0
  116. package/dist/lib/actions/ai/list-card-attachments-ai.d.ts.map +1 -0
  117. package/dist/lib/actions/ai/list-card-attachments-ai.js +64 -0
  118. package/dist/lib/actions/ai/list-card-attachments-ai.js.map +1 -0
  119. package/dist/lib/actions/ai/list-card-checklists.d.ts +4 -0
  120. package/dist/lib/actions/ai/list-card-checklists.d.ts.map +1 -0
  121. package/dist/lib/actions/ai/list-card-checklists.js +51 -0
  122. package/dist/lib/actions/ai/list-card-checklists.js.map +1 -0
  123. package/dist/lib/actions/ai/list-card-comments.d.ts +5 -0
  124. package/dist/lib/actions/ai/list-card-comments.d.ts.map +1 -0
  125. package/dist/lib/actions/ai/list-card-comments.js +60 -0
  126. package/dist/lib/actions/ai/list-card-comments.js.map +1 -0
  127. package/dist/lib/actions/ai/list-card-members.d.ts +4 -0
  128. package/dist/lib/actions/ai/list-card-members.d.ts.map +1 -0
  129. package/dist/lib/actions/ai/list-card-members.js +51 -0
  130. package/dist/lib/actions/ai/list-card-members.js.map +1 -0
  131. package/dist/lib/actions/ai/list-cards-in-board.d.ts +5 -0
  132. package/dist/lib/actions/ai/list-cards-in-board.d.ts.map +1 -0
  133. package/dist/lib/actions/ai/list-cards-in-board.js +68 -0
  134. package/dist/lib/actions/ai/list-cards-in-board.js.map +1 -0
  135. package/dist/lib/actions/ai/list-cards-in-list.d.ts +5 -0
  136. package/dist/lib/actions/ai/list-cards-in-list.d.ts.map +1 -0
  137. package/dist/lib/actions/ai/list-cards-in-list.js +67 -0
  138. package/dist/lib/actions/ai/list-cards-in-list.js.map +1 -0
  139. package/dist/lib/actions/ai/list-lists.d.ts +5 -0
  140. package/dist/lib/actions/ai/list-lists.d.ts.map +1 -0
  141. package/dist/lib/actions/ai/list-lists.js +67 -0
  142. package/dist/lib/actions/ai/list-lists.js.map +1 -0
  143. package/dist/lib/actions/ai/list-organization-boards.d.ts +4 -0
  144. package/dist/lib/actions/ai/list-organization-boards.d.ts.map +1 -0
  145. package/dist/lib/actions/ai/list-organization-boards.js +51 -0
  146. package/dist/lib/actions/ai/list-organization-boards.js.map +1 -0
  147. package/dist/lib/actions/ai/move-all-cards-in-list.d.ts +6 -0
  148. package/dist/lib/actions/ai/move-all-cards-in-list.d.ts.map +1 -0
  149. package/dist/lib/actions/ai/move-all-cards-in-list.js +60 -0
  150. package/dist/lib/actions/ai/move-all-cards-in-list.js.map +1 -0
  151. package/dist/lib/actions/ai/move-card.d.ts +5 -0
  152. package/dist/lib/actions/ai/move-card.d.ts.map +1 -0
  153. package/dist/lib/actions/ai/move-card.js +56 -0
  154. package/dist/lib/actions/ai/move-card.js.map +1 -0
  155. package/dist/lib/actions/ai/remove-label-from-card.d.ts +5 -0
  156. package/dist/lib/actions/ai/remove-label-from-card.d.ts.map +1 -0
  157. package/dist/lib/actions/ai/remove-label-from-card.js +52 -0
  158. package/dist/lib/actions/ai/remove-label-from-card.js.map +1 -0
  159. package/dist/lib/actions/ai/remove-member-from-card.d.ts +5 -0
  160. package/dist/lib/actions/ai/remove-member-from-card.d.ts.map +1 -0
  161. package/dist/lib/actions/ai/remove-member-from-card.js +54 -0
  162. package/dist/lib/actions/ai/remove-member-from-card.js.map +1 -0
  163. package/dist/lib/actions/ai/rename-list.d.ts +5 -0
  164. package/dist/lib/actions/ai/rename-list.d.ts.map +1 -0
  165. package/dist/lib/actions/ai/rename-list.js +55 -0
  166. package/dist/lib/actions/ai/rename-list.js.map +1 -0
  167. package/dist/lib/actions/ai/search-cards.d.ts +7 -0
  168. package/dist/lib/actions/ai/search-cards.d.ts.map +1 -0
  169. package/dist/lib/actions/ai/search-cards.js +88 -0
  170. package/dist/lib/actions/ai/search-cards.js.map +1 -0
  171. package/dist/lib/actions/ai/search-members.d.ts +7 -0
  172. package/dist/lib/actions/ai/search-members.d.ts.map +1 -0
  173. package/dist/lib/actions/ai/search-members.js +75 -0
  174. package/dist/lib/actions/ai/search-members.js.map +1 -0
  175. package/dist/lib/actions/ai/set-checklist-item-state.d.ts +7 -0
  176. package/dist/lib/actions/ai/set-checklist-item-state.d.ts.map +1 -0
  177. package/dist/lib/actions/ai/set-checklist-item-state.js +71 -0
  178. package/dist/lib/actions/ai/set-checklist-item-state.js.map +1 -0
  179. package/dist/lib/actions/ai/update-board.d.ts +6 -0
  180. package/dist/lib/actions/ai/update-board.d.ts.map +1 -0
  181. package/dist/lib/actions/ai/update-board.js +64 -0
  182. package/dist/lib/actions/ai/update-board.js.map +1 -0
  183. package/dist/lib/actions/ai/update-card-ai.d.ts +11 -0
  184. package/dist/lib/actions/ai/update-card-ai.d.ts.map +1 -0
  185. package/dist/lib/actions/ai/update-card-ai.js +130 -0
  186. package/dist/lib/actions/ai/update-card-ai.js.map +1 -0
  187. package/dist/lib/actions/ai/update-comment.d.ts +6 -0
  188. package/dist/lib/actions/ai/update-comment.d.ts.map +1 -0
  189. package/dist/lib/actions/ai/update-comment.js +60 -0
  190. package/dist/lib/actions/ai/update-comment.js.map +1 -0
  191. package/dist/lib/actions/ai/update-label.d.ts +6 -0
  192. package/dist/lib/actions/ai/update-label.d.ts.map +1 -0
  193. package/dist/lib/actions/ai/update-label.js +65 -0
  194. package/dist/lib/actions/ai/update-label.js.map +1 -0
  195. package/dist/lib/actions/card/create-card.d.ts +9 -0
  196. package/dist/lib/actions/card/create-card.d.ts.map +1 -0
  197. package/dist/lib/actions/card/create-card.js +73 -0
  198. package/dist/lib/actions/card/create-card.js.map +1 -0
  199. package/dist/lib/actions/card/delete-card.d.ts +4 -0
  200. package/dist/lib/actions/card/delete-card.d.ts.map +1 -0
  201. package/dist/lib/actions/card/delete-card.js +44 -0
  202. package/dist/lib/actions/card/delete-card.js.map +1 -0
  203. package/dist/lib/actions/card/get-card.d.ts +4 -0
  204. package/dist/lib/actions/card/get-card.d.ts.map +1 -0
  205. package/dist/lib/actions/card/get-card.js +45 -0
  206. package/dist/lib/actions/card/get-card.js.map +1 -0
  207. package/dist/lib/actions/card/update-card.d.ts +12 -0
  208. package/dist/lib/actions/card/update-card.d.ts.map +1 -0
  209. package/dist/lib/actions/card/update-card.js +104 -0
  210. package/dist/lib/actions/card/update-card.js.map +1 -0
  211. package/dist/lib/actions/card-attachment/add-card-attachment.d.ts +8 -0
  212. package/dist/lib/actions/card-attachment/add-card-attachment.d.ts.map +1 -0
  213. package/dist/lib/actions/card-attachment/add-card-attachment.js +76 -0
  214. package/dist/lib/actions/card-attachment/add-card-attachment.js.map +1 -0
  215. package/dist/lib/actions/card-attachment/delete-card-attachment.d.ts +5 -0
  216. package/dist/lib/actions/card-attachment/delete-card-attachment.d.ts.map +1 -0
  217. package/dist/lib/actions/card-attachment/delete-card-attachment.js +49 -0
  218. package/dist/lib/actions/card-attachment/delete-card-attachment.js.map +1 -0
  219. package/dist/lib/actions/card-attachment/get-card-attachment.d.ts +5 -0
  220. package/dist/lib/actions/card-attachment/get-card-attachment.d.ts.map +1 -0
  221. package/dist/lib/actions/card-attachment/get-card-attachment.js +50 -0
  222. package/dist/lib/actions/card-attachment/get-card-attachment.js.map +1 -0
  223. package/dist/lib/actions/card-attachment/get-card-attachments.d.ts +4 -0
  224. package/dist/lib/actions/card-attachment/get-card-attachments.d.ts.map +1 -0
  225. package/dist/lib/actions/card-attachment/get-card-attachments.js +45 -0
  226. package/dist/lib/actions/card-attachment/get-card-attachments.js.map +1 -0
  227. package/dist/lib/common/index.d.ts +25 -0
  228. package/dist/lib/common/index.d.ts.map +1 -0
  229. package/dist/lib/common/index.js +292 -0
  230. package/dist/lib/common/index.js.map +1 -0
  231. package/dist/lib/common/props/card.d.ts +116 -0
  232. package/dist/lib/common/props/card.d.ts.map +1 -0
  233. package/dist/lib/common/props/card.js +3 -0
  234. package/dist/lib/common/props/card.js.map +1 -0
  235. package/dist/lib/output-schemas.d.ts +50 -0
  236. package/dist/lib/output-schemas.d.ts.map +1 -0
  237. package/dist/lib/output-schemas.js +316 -0
  238. package/dist/lib/output-schemas.js.map +1 -0
  239. package/dist/lib/triggers/cardMoved.d.ts +15 -0
  240. package/dist/lib/triggers/cardMoved.d.ts.map +1 -0
  241. package/dist/lib/triggers/cardMoved.js +152 -0
  242. package/dist/lib/triggers/cardMoved.js.map +1 -0
  243. package/dist/lib/triggers/deadline.d.ts +23 -0
  244. package/dist/lib/triggers/deadline.d.ts.map +1 -0
  245. package/dist/lib/triggers/deadline.js +94 -0
  246. package/dist/lib/triggers/deadline.js.map +1 -0
  247. package/dist/lib/triggers/newCard.d.ts +15 -0
  248. package/dist/lib/triggers/newCard.d.ts.map +1 -0
  249. package/dist/lib/triggers/newCard.js +151 -0
  250. package/dist/lib/triggers/newCard.js.map +1 -0
  251. package/package.json +45 -3
  252. package/src/index.ts +153 -0
  253. package/src/lib/actions/ai/add-checklist-item.ts +67 -0
  254. package/src/lib/actions/ai/add-checklist-to-card.ts +58 -0
  255. package/src/lib/actions/ai/add-comment-to-card.ts +55 -0
  256. package/src/lib/actions/ai/add-label-to-card.ts +57 -0
  257. package/src/lib/actions/ai/add-member-to-card.ts +57 -0
  258. package/src/lib/actions/ai/add-reaction-to-comment.ts +61 -0
  259. package/src/lib/actions/ai/ai-common.ts +40 -0
  260. package/src/lib/actions/ai/archive-all-cards-in-list.ts +47 -0
  261. package/src/lib/actions/ai/archive-board.ts +58 -0
  262. package/src/lib/actions/ai/archive-card.ts +58 -0
  263. package/src/lib/actions/ai/archive-list.ts +58 -0
  264. package/src/lib/actions/ai/create-board-label.ts +69 -0
  265. package/src/lib/actions/ai/create-board.ts +66 -0
  266. package/src/lib/actions/ai/create-card-ai.ts +103 -0
  267. package/src/lib/actions/ai/create-list.ts +71 -0
  268. package/src/lib/actions/ai/delete-card-ai.ts +64 -0
  269. package/src/lib/actions/ai/delete-checklist-item.ts +54 -0
  270. package/src/lib/actions/ai/delete-checklist.ts +48 -0
  271. package/src/lib/actions/ai/delete-comment.ts +52 -0
  272. package/src/lib/actions/ai/get-board.ts +49 -0
  273. package/src/lib/actions/ai/get-card-ai.ts +67 -0
  274. package/src/lib/actions/ai/get-list.ts +49 -0
  275. package/src/lib/actions/ai/get-member.ts +50 -0
  276. package/src/lib/actions/ai/get-my-member.ts +43 -0
  277. package/src/lib/actions/ai/list-board-labels.ts +62 -0
  278. package/src/lib/actions/ai/list-board-members.ts +52 -0
  279. package/src/lib/actions/ai/list-boards.ts +71 -0
  280. package/src/lib/actions/ai/list-card-attachments-ai.ts +66 -0
  281. package/src/lib/actions/ai/list-card-checklists.ts +52 -0
  282. package/src/lib/actions/ai/list-card-comments.ts +62 -0
  283. package/src/lib/actions/ai/list-card-members.ts +52 -0
  284. package/src/lib/actions/ai/list-cards-in-board.ts +70 -0
  285. package/src/lib/actions/ai/list-cards-in-list.ts +69 -0
  286. package/src/lib/actions/ai/list-lists.ts +69 -0
  287. package/src/lib/actions/ai/list-organization-boards.ts +53 -0
  288. package/src/lib/actions/ai/move-all-cards-in-list.ts +61 -0
  289. package/src/lib/actions/ai/move-card.ts +57 -0
  290. package/src/lib/actions/ai/remove-label-from-card.ts +53 -0
  291. package/src/lib/actions/ai/remove-member-from-card.ts +55 -0
  292. package/src/lib/actions/ai/rename-list.ts +55 -0
  293. package/src/lib/actions/ai/search-cards.ts +91 -0
  294. package/src/lib/actions/ai/search-members.ts +75 -0
  295. package/src/lib/actions/ai/set-checklist-item-state.ts +73 -0
  296. package/src/lib/actions/ai/update-board.ts +65 -0
  297. package/src/lib/actions/ai/update-card-ai.ts +136 -0
  298. package/src/lib/actions/ai/update-comment.ts +61 -0
  299. package/src/lib/actions/ai/update-label.ts +67 -0
  300. package/src/lib/actions/card/create-card.ts +73 -0
  301. package/src/lib/actions/card/delete-card.ts +44 -0
  302. package/src/lib/actions/card/get-card.ts +44 -0
  303. package/src/lib/actions/card/update-card.ts +113 -0
  304. package/src/lib/actions/card-attachment/add-card-attachment.ts +86 -0
  305. package/src/lib/actions/card-attachment/delete-card-attachment.ts +49 -0
  306. package/src/lib/actions/card-attachment/get-card-attachment.ts +51 -0
  307. package/src/lib/actions/card-attachment/get-card-attachments.ts +45 -0
  308. package/src/lib/common/index.ts +333 -0
  309. package/src/lib/common/props/card.ts +113 -0
  310. package/src/lib/output-schemas.ts +374 -0
  311. package/src/lib/triggers/cardMoved.ts +155 -0
  312. package/src/lib/triggers/deadline.ts +89 -0
  313. package/src/lib/triggers/newCard.ts +156 -0
@@ -0,0 +1,113 @@
1
+ import { createAction, Property } from '@agnocon/pieces-framework';
2
+ import {
3
+ httpClient,
4
+ HttpRequest,
5
+ HttpMethod,
6
+ } from '@agnocon/pieces-common';
7
+ import { trelloCommon } from '../../common';
8
+ import { TrelloCard } from '../../common/props/card';
9
+ import { trelloAuth } from '../../..';
10
+ import { updateCardActionOutputSchema } from '../../output-schemas';
11
+
12
+ export const updateCard = createAction({
13
+ auth: trelloAuth,
14
+ name: 'update_card',
15
+ displayName: 'Update Card',
16
+ description: 'Updates an existing card.',
17
+ audience: 'human',
18
+ outputSchema: updateCardActionOutputSchema,
19
+ aiMetadata: { description: 'Updates fields on an existing Trello card identified by card_id, including name, description, due date, labels, position, and archived (closed) state, and can move it to a different list. Use to edit, archive, or relocate a card. Requires card_id; only provided fields change. Repeating with the same inputs converges to the same card state.', idempotent: true },
20
+ props: {
21
+ card_id: Property.ShortText({
22
+ description: 'The ID of the card to update',
23
+ displayName: 'Card ID',
24
+ required: true,
25
+ }),
26
+ name: Property.ShortText({
27
+ description: 'The new name of the card',
28
+ displayName: 'Card Name',
29
+ required: false,
30
+ }),
31
+ description: Property.LongText({
32
+ description: 'The new description of the card',
33
+ displayName: 'Card Description',
34
+ required: false,
35
+ }),
36
+ board_id: trelloCommon.board_id_opt,
37
+ list_id: trelloCommon.list_id_opt,
38
+ position: Property.StaticDropdown({
39
+ description: 'Move the card to a new position',
40
+ displayName: 'Position',
41
+ required: false,
42
+ options: {
43
+ options: [
44
+ { label: 'Top', value: 'top' },
45
+ { label: 'Bottom', value: 'bottom' },
46
+ ],
47
+ },
48
+ }),
49
+ labels: trelloCommon.board_labels,
50
+ closed: Property.Checkbox({
51
+ description: 'Archive or unarchive the card',
52
+ displayName: 'Archived',
53
+ required: false,
54
+ }),
55
+ due: Property.DateTime({
56
+ description: 'Set a due date for the card',
57
+ displayName: 'Due Date',
58
+ required: false,
59
+ }),
60
+ },
61
+
62
+ async run(context) {
63
+ const body: any = {};
64
+
65
+ if (context.propsValue['name']) {
66
+ body.name = context.propsValue['name'];
67
+ }
68
+
69
+ if (context.propsValue['description']) {
70
+ body.desc = context.propsValue['description'];
71
+ }
72
+
73
+ if (context.propsValue['list_id']) {
74
+ body.idList = context.propsValue['list_id'];
75
+ }
76
+
77
+ if (context.propsValue['position']) {
78
+ body.pos = context.propsValue['position'];
79
+ }
80
+
81
+ if (context.propsValue['labels']) {
82
+ body.idLabels = context.propsValue['labels'];
83
+ }
84
+
85
+ if (context.propsValue['closed'] !== undefined) {
86
+ body.closed = context.propsValue['closed'];
87
+ }
88
+
89
+ if (context.propsValue['due']) {
90
+ body.due = context.propsValue['due'];
91
+ }
92
+
93
+ const request: HttpRequest = {
94
+ method: HttpMethod.PUT,
95
+ url:
96
+ `${trelloCommon.baseUrl}cards/${context.propsValue['card_id']}` +
97
+ `?key=` +
98
+ context.auth.username +
99
+ `&token=` +
100
+ context.auth.password,
101
+ headers: {
102
+ Accept: 'application/json',
103
+ 'Content-Type': 'application/json',
104
+ },
105
+ body,
106
+ queryParams: {},
107
+ };
108
+
109
+ const response = await httpClient.sendRequest<TrelloCard>(request);
110
+
111
+ return response.body;
112
+ },
113
+ });
@@ -0,0 +1,86 @@
1
+ import { createAction, Property } from '@agnocon/pieces-framework';
2
+ import {
3
+ httpClient,
4
+ HttpRequest,
5
+ HttpMethod,
6
+ QueryParams,
7
+ } from '@agnocon/pieces-common';
8
+ import { trelloCommon } from '../../common';
9
+ import { trelloAuth } from '../../..';
10
+ import FormData from "form-data";
11
+ import { addCardAttachmentActionOutputSchema } from '../../output-schemas';
12
+
13
+ export const addCardAttachment = createAction({
14
+ auth: trelloAuth,
15
+ name: 'add_card_attachment',
16
+ displayName: 'Add Card Attachment',
17
+ description: 'Adds an attachment to a card.',
18
+ audience: 'both',
19
+ outputSchema: addCardAttachmentActionOutputSchema,
20
+ aiMetadata: { description: 'Uploads a file as an attachment to a Trello card identified by card_id, optionally naming it, setting its MIME type, and using it as the card cover. Use to attach documents or images to a card. Requires card_id and the file; each call adds a new attachment, so it is not idempotent.', idempotent: false },
21
+ props: {
22
+ card_id: Property.ShortText({
23
+ description: 'The ID of the card to add attachment to',
24
+ displayName: 'Card ID',
25
+ required: true,
26
+ }),
27
+ attachment: Property.File({
28
+ displayName: 'Attachment File',
29
+ required: true,
30
+ }),
31
+ name: Property.ShortText({
32
+ displayName: 'Attachment Name',
33
+ required: false,
34
+ }),
35
+ mime_type: Property.ShortText({
36
+ displayName: 'MIME Type',
37
+ required: false,
38
+ }),
39
+ set_cover: Property.Checkbox({
40
+ description: 'Set this attachment as the card cover',
41
+ displayName: 'Set as Cover',
42
+ required: false,
43
+ }),
44
+ },
45
+
46
+ async run(context) {
47
+ const attachment = context.propsValue.attachment;
48
+ const qs:QueryParams = {}
49
+
50
+ const formData = new FormData();
51
+
52
+ formData.append('file',attachment.data,{filename:attachment.filename});
53
+
54
+ if (context.propsValue['name']) {
55
+ qs['name'] = context.propsValue['name'];
56
+ }
57
+
58
+ if (context.propsValue['mime_type']) {
59
+ qs['mimeType'] = context.propsValue['mime_type'];
60
+ }
61
+
62
+ if (context.propsValue['set_cover']) {
63
+ qs['setCover'] = context.propsValue['set_cover'] ?'true':'false';
64
+ }
65
+
66
+ const request: HttpRequest = {
67
+ method: HttpMethod.POST,
68
+ url:
69
+ `${trelloCommon.baseUrl}cards/${context.propsValue['card_id']}/attachments` +
70
+ `?key=` +
71
+ context.auth.username +
72
+ `&token=` +
73
+ context.auth.password,
74
+ headers: {
75
+ Accept: 'application/json',
76
+ ...formData.getHeaders()
77
+ },
78
+ body:formData,
79
+ queryParams: qs,
80
+ };
81
+
82
+ const response = await httpClient.sendRequest(request);
83
+
84
+ return response.body;
85
+ },
86
+ });
@@ -0,0 +1,49 @@
1
+ import { createAction, Property } from '@agnocon/pieces-framework';
2
+ import {
3
+ httpClient,
4
+ HttpRequest,
5
+ HttpMethod,
6
+ } from '@agnocon/pieces-common';
7
+ import { trelloCommon } from '../../common';
8
+ import { trelloAuth } from '../../..';
9
+
10
+ export const deleteCardAttachment = createAction({
11
+ auth: trelloAuth,
12
+ name: 'delete_card_attachment',
13
+ displayName: 'Delete Card Attachment',
14
+ description: 'Deletes an attachment from a card.',
15
+ audience: 'both',
16
+ aiMetadata: { description: 'Permanently removes a specific attachment from a Trello card, identified by both card_id and attachment_id. Use to delete a file or link from a card. Requires both ids; deleting the same attachment again returns an error once it no longer exists.', idempotent: false },
17
+ props: {
18
+ card_id: Property.ShortText({
19
+ description: 'The ID of the card',
20
+ displayName: 'Card ID',
21
+ required: true,
22
+ }),
23
+ attachment_id: Property.ShortText({
24
+ description: 'The ID of the attachment to delete',
25
+ displayName: 'Attachment ID',
26
+ required: true,
27
+ }),
28
+ },
29
+
30
+ async run(context) {
31
+ const request: HttpRequest = {
32
+ method: HttpMethod.DELETE,
33
+ url:
34
+ `${trelloCommon.baseUrl}cards/${context.propsValue['card_id']}/attachments/${context.propsValue['attachment_id']}` +
35
+ `?key=` +
36
+ context.auth.username +
37
+ `&token=` +
38
+ context.auth.password,
39
+ headers: {
40
+ Accept: 'application/json',
41
+ },
42
+ queryParams: {},
43
+ };
44
+
45
+ const response = await httpClient.sendRequest(request);
46
+
47
+ return response.body;
48
+ },
49
+ });
@@ -0,0 +1,51 @@
1
+ import { createAction, Property } from '@agnocon/pieces-framework';
2
+ import {
3
+ httpClient,
4
+ HttpRequest,
5
+ HttpMethod,
6
+ } from '@agnocon/pieces-common';
7
+ import { trelloCommon } from '../../common';
8
+ import { trelloAuth } from '../../..';
9
+ import { getCardAttachmentActionOutputSchema } from '../../output-schemas';
10
+
11
+ export const getCardAttachment = createAction({
12
+ auth: trelloAuth,
13
+ name: 'get_card_attachment',
14
+ displayName: 'Get Card Attachment',
15
+ description: 'Gets a specific attachment on a card.',
16
+ audience: 'both',
17
+ outputSchema: getCardAttachmentActionOutputSchema,
18
+ aiMetadata: { description: 'Retrieves the details of one specific attachment on a Trello card, identified by both card_id and attachment_id. Use to inspect a single attachment when you already know its id (e.g. from Get All Card Attachments). Read-only and idempotent.', idempotent: true },
19
+ props: {
20
+ card_id: Property.ShortText({
21
+ description: 'The ID of the card',
22
+ displayName: 'Card ID',
23
+ required: true,
24
+ }),
25
+ attachment_id: Property.ShortText({
26
+ description: 'The ID of the attachment to retrieve',
27
+ displayName: 'Attachment ID',
28
+ required: true,
29
+ })
30
+ },
31
+
32
+ async run(context) {
33
+
34
+ const request: HttpRequest = {
35
+ method: HttpMethod.GET,
36
+ url:
37
+ `${trelloCommon.baseUrl}cards/${context.propsValue['card_id']}/attachments/${context.propsValue['attachment_id']}` +
38
+ `?key=` +
39
+ context.auth.username +
40
+ `&token=` +
41
+ context.auth.password,
42
+ headers: {
43
+ Accept: 'application/json',
44
+ },
45
+ };
46
+
47
+ const response = await httpClient.sendRequest(request);
48
+
49
+ return response.body;
50
+ },
51
+ });
@@ -0,0 +1,45 @@
1
+ import { createAction, Property } from '@agnocon/pieces-framework';
2
+ import {
3
+ httpClient,
4
+ HttpRequest,
5
+ HttpMethod,
6
+ } from '@agnocon/pieces-common';
7
+ import { trelloCommon } from '../../common';
8
+ import { trelloAuth } from '../../..';
9
+ import { getCardAttachmentsActionOutputSchema } from '../../output-schemas';
10
+
11
+ export const getCardAttachments = createAction({
12
+ auth: trelloAuth,
13
+ name: 'get_card_attachments',
14
+ displayName: 'Get All Card Attachments',
15
+ description: 'Gets all attachments on a card.',
16
+ audience: 'human',
17
+ outputSchema: getCardAttachmentsActionOutputSchema,
18
+ aiMetadata: { description: 'Lists all attachments on a Trello card identified by card_id. Use to enumerate the files and links attached to a card, e.g. to find an attachment id before fetching or deleting it. Read-only and idempotent.', idempotent: true },
19
+ props: {
20
+ card_id: Property.ShortText({
21
+ description: 'The ID of the card to get attachments from',
22
+ displayName: 'Card ID',
23
+ required: true,
24
+ })
25
+ },
26
+
27
+ async run(context) {
28
+ const request: HttpRequest = {
29
+ method: HttpMethod.GET,
30
+ url:
31
+ `${trelloCommon.baseUrl}cards/${context.propsValue['card_id']}/attachments` +
32
+ `?key=` +
33
+ context.auth.username +
34
+ `&token=` +
35
+ context.auth.password,
36
+ headers: {
37
+ Accept: 'application/json',
38
+ },
39
+ };
40
+
41
+ const response = await httpClient.sendRequest(request);
42
+
43
+ return response.body;
44
+ },
45
+ });
@@ -0,0 +1,333 @@
1
+ import { BasicAuthPropertyValue, Property } from '@agnocon/pieces-framework';
2
+ import { httpClient, HttpRequest, HttpMethod } from '@agnocon/pieces-common';
3
+ import { trelloAuth } from '../..';
4
+
5
+ export interface WebhookInformation {
6
+ id: string;
7
+ description: string;
8
+ idModel: string;
9
+ callbackURL: string;
10
+ active: boolean;
11
+ consecutiveFailures: number;
12
+ firstConsecutiveFailDate: string;
13
+ }
14
+
15
+ export const trelloCommon = {
16
+ baseUrl: 'https://api.trello.com/1/',
17
+ board_id: Property.Dropdown({
18
+ auth: trelloAuth,
19
+
20
+ displayName: 'Boards',
21
+ description: 'List of boards',
22
+ required: true,
23
+ refreshers: [],
24
+ options: async ({ auth }) => {
25
+ if (!auth) {
26
+ return {
27
+ disabled: true,
28
+ placeholder: 'connect your account first',
29
+ options: [],
30
+ };
31
+ }
32
+
33
+ const basicAuthProperty = auth as BasicAuthPropertyValue;
34
+ const user = await getAuthorisedUser(basicAuthProperty.username, basicAuthProperty.password);
35
+ const boards = await listBoards(
36
+ basicAuthProperty.username,
37
+ basicAuthProperty.password,
38
+ user['id'],
39
+ );
40
+
41
+ return {
42
+ options: boards.map((board: { id: string; name: string }) => ({
43
+ value: board.id,
44
+ label: board.name,
45
+ })),
46
+ };
47
+ },
48
+ }),
49
+ list_id: Property.Dropdown({
50
+ auth: trelloAuth,
51
+
52
+ displayName: 'Lists',
53
+ description: 'Get lists from a board',
54
+ required: true,
55
+ refreshers: ['board_id'],
56
+ options: async ({ auth, board_id }) => {
57
+ if (!auth || !board_id) {
58
+ return {
59
+ disabled: true,
60
+ placeholder: 'connect your account first and select a board',
61
+ options: [],
62
+ };
63
+ }
64
+
65
+ const basicAuthProperty = auth as BasicAuthPropertyValue;
66
+ const lists = await listBoardLists(
67
+ basicAuthProperty.username,
68
+ basicAuthProperty.password,
69
+ board_id as string,
70
+ );
71
+
72
+ return {
73
+ options: lists.map((list: { id: string; name: string }) => ({
74
+ value: list.id,
75
+ label: list.name,
76
+ })),
77
+ };
78
+ },
79
+ }),
80
+ list_id_opt: Property.Dropdown({
81
+ auth: trelloAuth,
82
+
83
+ displayName: 'Lists',
84
+ description: 'Get lists from a board',
85
+ required: false,
86
+ refreshers: ['board_id'],
87
+ options: async ({ auth, board_id }) => {
88
+ if (!auth || !board_id) {
89
+ return {
90
+ disabled: true,
91
+ placeholder: 'connect your account first and select a board',
92
+ options: [],
93
+ };
94
+ }
95
+ const basicAuthProperty = auth as BasicAuthPropertyValue;
96
+ const lists = await listBoardLists(
97
+ basicAuthProperty.username,
98
+ basicAuthProperty.password,
99
+ board_id as string,
100
+ );
101
+
102
+ return {
103
+ options: lists.map((list: { id: string; name: string }) => ({
104
+ value: list.id,
105
+ label: list.name,
106
+ })),
107
+ };
108
+ },
109
+ }),
110
+ board_id_opt: Property.Dropdown({
111
+ auth: trelloAuth,
112
+
113
+ displayName: 'Boards',
114
+ description: 'List of boards',
115
+ required: false,
116
+ refreshers: [],
117
+ options: async ({ auth }) => {
118
+ if (!auth) {
119
+ return {
120
+ disabled: true,
121
+ placeholder: 'connect your account first',
122
+ options: [],
123
+ };
124
+ }
125
+
126
+ const basicAuthProperty = auth as BasicAuthPropertyValue;
127
+ const user = await getAuthorisedUser(basicAuthProperty.username, basicAuthProperty.password);
128
+ const boards = await listBoards(
129
+ basicAuthProperty.username,
130
+ basicAuthProperty.password,
131
+ user['id'],
132
+ );
133
+
134
+ return {
135
+ options: boards.map((board: { id: string; name: string }) => ({
136
+ value: board.id,
137
+ label: board.name,
138
+ })),
139
+ };
140
+ },
141
+ }),
142
+ board_labels: Property.MultiSelectDropdown({
143
+ auth: trelloAuth,
144
+ displayName: 'Labels',
145
+ description: 'Assign labels to the card',
146
+ required: false,
147
+ refreshers: ['board_id'],
148
+ options: async ({ auth, board_id }) => {
149
+ if (!auth || !board_id) {
150
+ return {
151
+ disabled: true,
152
+ placeholder: 'connect your account first and select a board',
153
+ options: [],
154
+ };
155
+ }
156
+
157
+ const basicAuthProperty = auth as BasicAuthPropertyValue;
158
+ const labels = await listBoardLabels(
159
+ basicAuthProperty.username,
160
+ basicAuthProperty.password,
161
+ board_id as string,
162
+ );
163
+
164
+ return {
165
+ options: labels.map((label: { id: string; name: string; color: string }) => ({
166
+ label: label.name || label.color,
167
+ value: label.id,
168
+ })),
169
+ };
170
+ },
171
+ }),
172
+ create_webhook: async (auth: BasicAuthPropertyValue, list_id: string, webhookUrl: string) => {
173
+ const request: HttpRequest = {
174
+ method: HttpMethod.POST,
175
+ url:
176
+ `${trelloCommon.baseUrl}webhooks` +
177
+ `?key=` +
178
+ auth.username +
179
+ `&token=` +
180
+ auth.password +
181
+ `&callbackURL=` +
182
+ webhookUrl +
183
+ `&idModel=` +
184
+ list_id,
185
+ };
186
+ const response = await httpClient.sendRequest<WebhookInformation>(request);
187
+
188
+ return response.body;
189
+ },
190
+ delete_webhook: async (auth: BasicAuthPropertyValue, webhook_id: string) => {
191
+ const request: HttpRequest = {
192
+ method: HttpMethod.DELETE,
193
+ url:
194
+ `${trelloCommon.baseUrl}webhooks/${webhook_id}` +
195
+ `?key=` +
196
+ auth.username +
197
+ `&token=` +
198
+ auth.password,
199
+ };
200
+ const response = await httpClient.sendRequest(request);
201
+
202
+ return response.body;
203
+ },
204
+ list_webhooks: async (auth: BasicAuthPropertyValue) => {
205
+ const request: HttpRequest = {
206
+ method: HttpMethod.GET,
207
+ url: `${trelloCommon.baseUrl}tokens/${auth.password}/webhooks` + `?key=` + auth.username,
208
+ };
209
+ const response = await httpClient.sendRequest<WebhookInformation[]>(request);
210
+
211
+ return response.body;
212
+ },
213
+ };
214
+
215
+ /**
216
+ * Gets the authenticated user via API and token
217
+ * @param apikey API Key
218
+ * @param token Token Key
219
+ * @returns JSON containing Trello user
220
+ */
221
+ async function getAuthorisedUser(apikey: string, token: string) {
222
+ const request: HttpRequest = {
223
+ method: HttpMethod.GET,
224
+ url: `${trelloCommon.baseUrl}members/me` + `?key=` + apikey + `&token=` + token,
225
+ headers: {
226
+ Accept: 'application/json',
227
+ },
228
+ };
229
+ const response = await httpClient.sendRequest(request);
230
+
231
+ return response.body;
232
+ }
233
+
234
+ /**
235
+ * Lists all boards a member has access to in Trello
236
+ * @param apikey API Key
237
+ * @param token API Token
238
+ * @param user_id ID of the user
239
+ * @returns JSON Array of boards user has access to
240
+ */
241
+ async function listBoards(apikey: string, token: string, user_id: string) {
242
+ const request: HttpRequest = {
243
+ method: HttpMethod.GET,
244
+ url: `${trelloCommon.baseUrl}members/${user_id}/boards` + `?key=` + apikey + `&token=` + token,
245
+ headers: {
246
+ Accept: 'application/json',
247
+ },
248
+ };
249
+ const response = await httpClient.sendRequest<{ id: string; name: string }[]>(request);
250
+
251
+ return response.body;
252
+ }
253
+
254
+ /**
255
+ * Gets all the lists inside of a board
256
+ * @param apikey API Key
257
+ * @param token API Token
258
+ * @param board_id Board to fetch lists from
259
+ * @returns JSON Array of lists
260
+ */
261
+ async function listBoardLists(apikey: string, token: string, board_id: string) {
262
+ const request: HttpRequest = {
263
+ method: HttpMethod.GET,
264
+ url: `${trelloCommon.baseUrl}boards/${board_id}/lists` + `?key=` + apikey + `&token=` + token,
265
+ headers: {
266
+ Accept: 'application/json',
267
+ },
268
+ };
269
+ const response = await httpClient.sendRequest<{ id: string; name: string }[]>(request);
270
+
271
+ return response.body;
272
+ }
273
+
274
+ /**
275
+ * Gets all the labels of a board
276
+ * @param apikey API Key
277
+ * @param token API Token
278
+ * @param board_id Board to fetch labels from
279
+ * @returns JSON Array of labels
280
+ */
281
+ async function listBoardLabels(apikey: string, token: string, board_id: string) {
282
+ const request: HttpRequest = {
283
+ method: HttpMethod.GET,
284
+ url: `${trelloCommon.baseUrl}boards/${board_id}/labels` + `?key=` + apikey + `&token=` + token,
285
+ headers: {
286
+ Accept: 'application/json',
287
+ },
288
+ };
289
+ const response = await httpClient.sendRequest<{ id: string; name: string; color: string }[]>(
290
+ request,
291
+ );
292
+
293
+ return response.body;
294
+ }
295
+
296
+ export async function getCardDetail(apikey: string, token: string, card_id: string) {
297
+ const request: HttpRequest = {
298
+ method: HttpMethod.GET,
299
+ url: `${trelloCommon.baseUrl}cards/${card_id}` + `?key=` + apikey + `&token=` + token,
300
+ headers: {
301
+ Accept: 'application/json',
302
+ },
303
+ };
304
+
305
+ const response = await httpClient.sendRequest(request);
306
+ return response.body;
307
+ }
308
+
309
+ export async function getCardsInBoard(apikey: string, token: string, board_id: string) {
310
+ const request: HttpRequest = {
311
+ method: HttpMethod.GET,
312
+ url: `${trelloCommon.baseUrl}boards/${board_id}/cards` + `?key=` + apikey + `&token=` + token,
313
+ headers: {
314
+ Accept: 'application/json',
315
+ },
316
+ };
317
+
318
+ const response = await httpClient.sendRequest(request);
319
+ return response.body;
320
+ }
321
+
322
+ export async function getCardsInList(apikey: string, token: string, list_id: string) {
323
+ const request: HttpRequest = {
324
+ method: HttpMethod.GET,
325
+ url: `${trelloCommon.baseUrl}lists/${list_id}/cards` + `?key=` + apikey + `&token=` + token,
326
+ headers: {
327
+ Accept: 'application/json',
328
+ },
329
+ };
330
+
331
+ const response = await httpClient.sendRequest(request);
332
+ return response.body;
333
+ }