@commandable/integration-data 0.0.5 → 0.0.7

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 (387) hide show
  1. package/dist/credentials-index.d.ts.map +1 -1
  2. package/dist/credentials-index.js +183 -0
  3. package/dist/credentials-index.js.map +1 -1
  4. package/dist/index.d.ts +2 -2
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +1 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/loader.d.ts +33 -0
  9. package/dist/loader.d.ts.map +1 -1
  10. package/dist/loader.js +36 -4
  11. package/dist/loader.js.map +1 -1
  12. package/integrations/__tests__/liveHarness.ts +16 -3
  13. package/integrations/airtable/.env.test +9 -0
  14. package/integrations/airtable/.env.test.example +11 -0
  15. package/integrations/airtable/README.md +27 -0
  16. package/integrations/airtable/__tests__/get_handlers.test.ts +43 -5
  17. package/integrations/confluence/.env.test +25 -0
  18. package/integrations/confluence/.env.test.example +36 -0
  19. package/integrations/confluence/README.md +28 -0
  20. package/integrations/confluence/__tests__/get_handlers.test.ts +121 -0
  21. package/integrations/confluence/__tests__/usage_parity.test.ts +14 -0
  22. package/integrations/confluence/__tests__/write_handlers.test.ts +131 -0
  23. package/integrations/confluence/credentials.json +39 -0
  24. package/integrations/confluence/credentials_hint.md +4 -0
  25. package/integrations/confluence/credentials_hint_api_token.md +9 -0
  26. package/integrations/confluence/credentials_hint_oauth_token.md +8 -0
  27. package/integrations/confluence/handlers/add_comment.js +19 -0
  28. package/integrations/confluence/handlers/add_label.js +16 -0
  29. package/integrations/confluence/handlers/create_page.js +22 -0
  30. package/integrations/confluence/handlers/delete_page.js +17 -0
  31. package/integrations/confluence/handlers/get_comments.js +33 -0
  32. package/integrations/confluence/handlers/get_page_children.js +30 -0
  33. package/integrations/confluence/handlers/get_space.js +22 -0
  34. package/integrations/confluence/handlers/list_spaces.js +39 -0
  35. package/integrations/confluence/handlers/read_page.js +49 -0
  36. package/integrations/confluence/handlers/search_pages.js +42 -0
  37. package/integrations/confluence/handlers/update_page.js +42 -0
  38. package/integrations/confluence/manifest.json +85 -0
  39. package/integrations/confluence/prompt.md +55 -0
  40. package/integrations/confluence/schemas/add_comment.json +22 -0
  41. package/integrations/confluence/schemas/add_label.json +19 -0
  42. package/integrations/confluence/schemas/create_page.json +33 -0
  43. package/integrations/confluence/schemas/delete_page.json +23 -0
  44. package/integrations/confluence/schemas/empty.json +6 -0
  45. package/integrations/confluence/schemas/get_comments.json +24 -0
  46. package/integrations/confluence/schemas/get_page_children.json +28 -0
  47. package/integrations/confluence/schemas/get_space.json +18 -0
  48. package/integrations/confluence/schemas/list_spaces.json +36 -0
  49. package/integrations/confluence/schemas/read_page.json +28 -0
  50. package/integrations/confluence/schemas/search_pages.json +26 -0
  51. package/integrations/confluence/schemas/update_page.json +31 -0
  52. package/integrations/github/.env.test +16 -0
  53. package/integrations/github/.env.test.example +17 -0
  54. package/integrations/github/README.md +75 -0
  55. package/integrations/github/__tests__/get_handlers.test.ts +207 -12
  56. package/integrations/github/__tests__/write_handlers.test.ts +323 -55
  57. package/integrations/github/handlers/create_commit.js +10 -2
  58. package/integrations/github/handlers/create_file.js +46 -0
  59. package/integrations/github/handlers/create_pull_request_review.js +10 -0
  60. package/integrations/github/handlers/create_release.js +14 -0
  61. package/integrations/github/handlers/delete_branch.js +8 -0
  62. package/integrations/github/handlers/delete_file.js +22 -0
  63. package/integrations/github/handlers/edit_file.js +52 -0
  64. package/integrations/github/handlers/edit_files.js +107 -0
  65. package/integrations/github/handlers/fork_repo.js +10 -0
  66. package/integrations/github/handlers/get_commit.js +8 -0
  67. package/integrations/github/handlers/get_file_contents.js +21 -0
  68. package/integrations/github/handlers/get_job_logs.js +6 -0
  69. package/integrations/github/handlers/get_latest_release.js +4 -0
  70. package/integrations/github/handlers/get_me.js +4 -0
  71. package/integrations/github/handlers/get_pull_request.js +4 -0
  72. package/integrations/github/handlers/get_pull_request_diff.js +8 -0
  73. package/integrations/github/handlers/get_repo_tree.js +12 -0
  74. package/integrations/github/handlers/get_workflow_run.js +4 -0
  75. package/integrations/github/handlers/list_branches.js +6 -1
  76. package/integrations/github/handlers/list_commits.js +5 -6
  77. package/integrations/github/handlers/list_issue_comments.js +8 -0
  78. package/integrations/github/handlers/list_issues.js +5 -6
  79. package/integrations/github/handlers/list_labels.js +8 -0
  80. package/integrations/github/handlers/list_pull_request_comments.js +8 -0
  81. package/integrations/github/handlers/list_pull_request_files.js +8 -0
  82. package/integrations/github/handlers/list_pull_requests.js +7 -2
  83. package/integrations/github/handlers/list_releases.js +8 -0
  84. package/integrations/github/handlers/list_tags.js +8 -0
  85. package/integrations/github/handlers/list_workflow_runs.js +11 -0
  86. package/integrations/github/handlers/request_pull_request_reviewers.js +10 -0
  87. package/integrations/github/handlers/search_code.js +8 -0
  88. package/integrations/github/handlers/search_issues.js +8 -0
  89. package/integrations/github/handlers/search_pull_requests.js +8 -0
  90. package/integrations/github/handlers/search_repos.js +10 -0
  91. package/integrations/github/handlers/update_pull_request.js +13 -0
  92. package/integrations/github/manifest.json +86 -21
  93. package/integrations/github/prompt.md +36 -0
  94. package/integrations/github/schemas/create_file.json +13 -0
  95. package/integrations/github/schemas/create_pull_request_review.json +17 -0
  96. package/integrations/github/schemas/create_release.json +16 -0
  97. package/integrations/github/schemas/delete_branch.json +10 -0
  98. package/integrations/github/schemas/delete_file.json +13 -0
  99. package/integrations/github/schemas/edit_file.json +26 -0
  100. package/integrations/github/schemas/edit_files.json +39 -0
  101. package/integrations/github/schemas/fork_repo.json +11 -0
  102. package/integrations/github/schemas/get_commit.json +12 -0
  103. package/integrations/github/schemas/get_file_contents.json +11 -0
  104. package/integrations/github/schemas/get_job_logs.json +10 -0
  105. package/integrations/github/schemas/get_pull_request.json +10 -0
  106. package/integrations/github/schemas/get_pull_request_diff.json +10 -0
  107. package/integrations/github/schemas/get_repo_tree.json +12 -0
  108. package/integrations/github/schemas/get_workflow_run.json +10 -0
  109. package/integrations/github/schemas/list_branches.json +12 -0
  110. package/integrations/github/schemas/list_commits.json +5 -3
  111. package/integrations/github/schemas/list_issue_comments.json +12 -0
  112. package/integrations/github/schemas/list_issues.json +4 -2
  113. package/integrations/github/schemas/list_labels.json +11 -0
  114. package/integrations/github/schemas/list_pull_request_comments.json +12 -0
  115. package/integrations/github/schemas/list_pull_request_files.json +12 -0
  116. package/integrations/github/schemas/list_pull_requests.json +7 -1
  117. package/integrations/github/schemas/list_releases.json +11 -0
  118. package/integrations/github/schemas/list_tags.json +11 -0
  119. package/integrations/github/schemas/list_workflow_runs.json +18 -0
  120. package/integrations/github/schemas/request_pull_request_reviewers.json +20 -0
  121. package/integrations/github/schemas/search_code.json +10 -0
  122. package/integrations/github/schemas/search_issues.json +10 -0
  123. package/integrations/github/schemas/search_pull_requests.json +10 -0
  124. package/integrations/github/schemas/search_repos.json +12 -0
  125. package/integrations/github/schemas/update_pull_request.json +15 -0
  126. package/integrations/google-calendar/.env.test.example +11 -0
  127. package/integrations/google-calendar/README.md +41 -0
  128. package/integrations/google-calendar/__tests__/write_and_admin_handlers.test.ts +7 -20
  129. package/integrations/google-calendar/handlers/get_event.js +5 -1
  130. package/integrations/google-calendar/handlers/list_events.js +2 -0
  131. package/integrations/google-calendar/manifest.json +27 -18
  132. package/integrations/google-calendar/prompt.md +68 -0
  133. package/integrations/google-calendar/schemas/id_calendar_event.json +4 -2
  134. package/integrations/google-calendar/schemas/list_events.json +10 -8
  135. package/integrations/google-docs/README.md +30 -0
  136. package/integrations/google-docs/__tests__/get_handlers.test.ts +4 -19
  137. package/integrations/google-docs/__tests__/write_handlers.test.ts +31 -48
  138. package/integrations/google-docs/handlers/read_document.js +189 -0
  139. package/integrations/google-docs/manifest.json +16 -31
  140. package/integrations/google-docs/prompt.md +49 -0
  141. package/integrations/google-docs/schemas/{get_document_text.json → read_document.json} +5 -2
  142. package/integrations/google-docs/todo.md +18 -0
  143. package/integrations/google-drive/README.md +26 -0
  144. package/integrations/google-drive/__tests__/handlers.test.ts +43 -0
  145. package/integrations/google-drive/__tests__/usage_parity.test.ts +9 -0
  146. package/integrations/google-drive/handlers/get_file.js +2 -4
  147. package/integrations/google-drive/handlers/get_file_content.js +41 -0
  148. package/integrations/google-drive/handlers/list_files.js +15 -0
  149. package/integrations/google-drive/handlers/search_files.js +20 -0
  150. package/integrations/google-drive/handlers/share_file.js +20 -0
  151. package/integrations/google-drive/manifest.json +37 -10
  152. package/integrations/google-drive/prompt.md +59 -0
  153. package/integrations/google-drive/schemas/get_file.json +2 -2
  154. package/integrations/google-drive/schemas/get_file_content.json +11 -0
  155. package/integrations/google-drive/schemas/list_files.json +12 -0
  156. package/integrations/google-drive/schemas/search_files.json +14 -0
  157. package/integrations/google-drive/schemas/share_file.json +23 -0
  158. package/integrations/google-gmail/.env.test.example +11 -0
  159. package/integrations/google-gmail/README.md +49 -0
  160. package/integrations/google-gmail/__tests__/get_handlers.test.ts +134 -0
  161. package/integrations/google-gmail/__tests__/usage_parity.test.ts +9 -0
  162. package/integrations/google-gmail/__tests__/write_and_admin_handlers.test.ts +211 -0
  163. package/integrations/google-gmail/credentials.json +57 -0
  164. package/integrations/google-gmail/credentials_hint_oauth_token.md +8 -0
  165. package/integrations/google-gmail/credentials_hint_service_account.md +10 -0
  166. package/integrations/google-gmail/handlers/create_draft_email.js +27 -0
  167. package/integrations/google-gmail/handlers/create_label.js +12 -0
  168. package/integrations/google-gmail/handlers/delete_draft.js +13 -0
  169. package/integrations/google-gmail/handlers/delete_label.js +13 -0
  170. package/integrations/google-gmail/handlers/delete_message.js +13 -0
  171. package/integrations/google-gmail/handlers/delete_thread.js +13 -0
  172. package/integrations/google-gmail/handlers/get_draft.js +6 -0
  173. package/integrations/google-gmail/handlers/get_label.js +6 -0
  174. package/integrations/google-gmail/handlers/get_message.js +14 -0
  175. package/integrations/google-gmail/handlers/get_profile.js +5 -0
  176. package/integrations/google-gmail/handlers/get_thread.js +14 -0
  177. package/integrations/google-gmail/handlers/list_drafts.js +15 -0
  178. package/integrations/google-gmail/handlers/list_labels.js +5 -0
  179. package/integrations/google-gmail/handlers/list_messages.js +19 -0
  180. package/integrations/google-gmail/handlers/list_threads.js +19 -0
  181. package/integrations/google-gmail/handlers/modify_message.js +11 -0
  182. package/integrations/google-gmail/handlers/modify_thread.js +11 -0
  183. package/integrations/google-gmail/handlers/read_email.js +56 -0
  184. package/integrations/google-gmail/handlers/send_draft.js +15 -0
  185. package/integrations/google-gmail/handlers/send_email.js +22 -0
  186. package/integrations/google-gmail/handlers/trash_message.js +6 -0
  187. package/integrations/google-gmail/handlers/trash_thread.js +6 -0
  188. package/integrations/google-gmail/handlers/untrash_message.js +6 -0
  189. package/integrations/google-gmail/handlers/untrash_thread.js +6 -0
  190. package/integrations/google-gmail/handlers/update_label.js +15 -0
  191. package/integrations/google-gmail/manifest.json +44 -0
  192. package/integrations/google-gmail/prompt.md +52 -0
  193. package/integrations/google-gmail/schemas/create_draft_email.json +16 -0
  194. package/integrations/google-gmail/schemas/create_label.json +26 -0
  195. package/integrations/google-gmail/schemas/get_message.json +20 -0
  196. package/integrations/{google-docs/schemas/get_document_structured.json → google-gmail/schemas/get_profile.json} +4 -2
  197. package/integrations/google-gmail/schemas/get_thread.json +20 -0
  198. package/integrations/google-gmail/schemas/id_draft.json +16 -0
  199. package/integrations/google-gmail/schemas/id_label.json +16 -0
  200. package/integrations/google-gmail/schemas/id_message.json +16 -0
  201. package/integrations/google-gmail/schemas/id_thread.json +16 -0
  202. package/integrations/google-gmail/schemas/list_drafts.json +30 -0
  203. package/integrations/{google-sheet/schemas/get_developer_metadata.json → google-gmail/schemas/list_labels.json} +4 -3
  204. package/integrations/google-gmail/schemas/list_messages.json +35 -0
  205. package/integrations/google-gmail/schemas/list_threads.json +35 -0
  206. package/integrations/google-gmail/schemas/modify_message.json +24 -0
  207. package/integrations/google-gmail/schemas/modify_thread.json +24 -0
  208. package/integrations/google-gmail/schemas/read_email.json +10 -0
  209. package/integrations/google-gmail/schemas/send_draft.json +29 -0
  210. package/integrations/google-gmail/schemas/send_email.json +17 -0
  211. package/integrations/google-gmail/schemas/update_label.json +33 -0
  212. package/integrations/google-sheet/README.md +27 -0
  213. package/integrations/google-sheet/__tests__/get_handlers.test.ts +6 -52
  214. package/integrations/google-sheet/__tests__/write_handlers.test.ts +0 -20
  215. package/integrations/google-sheet/handlers/get_spreadsheet.js +2 -0
  216. package/integrations/google-sheet/handlers/read_sheet.js +75 -0
  217. package/integrations/google-sheet/manifest.json +13 -62
  218. package/integrations/google-sheet/prompt.md +49 -0
  219. package/integrations/google-sheet/schemas/get_spreadsheet.json +5 -4
  220. package/integrations/google-sheet/schemas/read_sheet.json +21 -0
  221. package/integrations/google-slides/README.md +28 -0
  222. package/integrations/google-slides/__tests__/get_handlers.test.ts +12 -9
  223. package/integrations/google-slides/handlers/read_presentation.js +51 -0
  224. package/integrations/google-slides/manifest.json +13 -13
  225. package/integrations/google-slides/prompt.md +56 -0
  226. package/integrations/hubspot/.env.test.example +20 -0
  227. package/integrations/hubspot/README.md +48 -0
  228. package/integrations/hubspot/__tests__/get_handlers.test.ts +151 -0
  229. package/integrations/hubspot/__tests__/usage_parity.test.ts +10 -0
  230. package/integrations/hubspot/__tests__/write_handlers.test.ts +244 -0
  231. package/integrations/hubspot/credentials.json +48 -0
  232. package/integrations/hubspot/credentials_hint.md +20 -0
  233. package/integrations/hubspot/credentials_hint_oauth_token.md +16 -0
  234. package/integrations/hubspot/handlers/archive_company.js +13 -0
  235. package/integrations/hubspot/handlers/archive_contact.js +13 -0
  236. package/integrations/hubspot/handlers/archive_deal.js +13 -0
  237. package/integrations/hubspot/handlers/archive_ticket.js +13 -0
  238. package/integrations/hubspot/handlers/create_association.js +18 -0
  239. package/integrations/hubspot/handlers/create_company.js +13 -0
  240. package/integrations/hubspot/handlers/create_contact.js +14 -0
  241. package/integrations/hubspot/handlers/create_deal.js +16 -0
  242. package/integrations/hubspot/handlers/create_note.js +44 -0
  243. package/integrations/hubspot/handlers/create_task.js +48 -0
  244. package/integrations/hubspot/handlers/create_ticket.js +15 -0
  245. package/integrations/hubspot/handlers/get_associations.js +14 -0
  246. package/integrations/hubspot/handlers/get_company.js +18 -0
  247. package/integrations/hubspot/handlers/get_contact.js +18 -0
  248. package/integrations/hubspot/handlers/get_deal.js +18 -0
  249. package/integrations/hubspot/handlers/get_ticket.js +20 -0
  250. package/integrations/hubspot/handlers/list_owners.js +12 -0
  251. package/integrations/hubspot/handlers/list_pipelines.js +5 -0
  252. package/integrations/hubspot/handlers/list_properties.js +11 -0
  253. package/integrations/hubspot/handlers/remove_association.js +22 -0
  254. package/integrations/hubspot/handlers/search_companies.js +43 -0
  255. package/integrations/hubspot/handlers/search_contacts.js +43 -0
  256. package/integrations/hubspot/handlers/search_deals.js +43 -0
  257. package/integrations/hubspot/handlers/search_notes.js +43 -0
  258. package/integrations/hubspot/handlers/search_tasks.js +43 -0
  259. package/integrations/hubspot/handlers/search_tickets.js +43 -0
  260. package/integrations/hubspot/handlers/update_company.js +13 -0
  261. package/integrations/hubspot/handlers/update_contact.js +14 -0
  262. package/integrations/hubspot/handlers/update_deal.js +16 -0
  263. package/integrations/hubspot/handlers/update_task.js +17 -0
  264. package/integrations/hubspot/handlers/update_ticket.js +15 -0
  265. package/integrations/hubspot/manifest.json +230 -0
  266. package/integrations/hubspot/prompt.md +69 -0
  267. package/integrations/hubspot/schemas/archive_company.json +13 -0
  268. package/integrations/hubspot/schemas/archive_contact.json +13 -0
  269. package/integrations/hubspot/schemas/archive_deal.json +9 -0
  270. package/integrations/hubspot/schemas/archive_ticket.json +9 -0
  271. package/integrations/hubspot/schemas/create_association.json +24 -0
  272. package/integrations/hubspot/schemas/create_company.json +14 -0
  273. package/integrations/hubspot/schemas/create_contact.json +15 -0
  274. package/integrations/hubspot/schemas/create_deal.json +20 -0
  275. package/integrations/hubspot/schemas/create_note.json +37 -0
  276. package/integrations/hubspot/schemas/create_task.json +51 -0
  277. package/integrations/hubspot/schemas/create_ticket.json +16 -0
  278. package/integrations/hubspot/schemas/empty.json +6 -0
  279. package/integrations/hubspot/schemas/get_associations.json +30 -0
  280. package/integrations/hubspot/schemas/get_company.json +27 -0
  281. package/integrations/hubspot/schemas/get_contact.json +27 -0
  282. package/integrations/hubspot/schemas/get_deal.json +20 -0
  283. package/integrations/hubspot/schemas/get_ticket.json +20 -0
  284. package/integrations/hubspot/schemas/list_owners.json +25 -0
  285. package/integrations/hubspot/schemas/list_pipelines.json +13 -0
  286. package/integrations/hubspot/schemas/list_properties.json +17 -0
  287. package/integrations/hubspot/schemas/remove_association.json +24 -0
  288. package/integrations/hubspot/schemas/search_companies.json +56 -0
  289. package/integrations/hubspot/schemas/search_contacts.json +56 -0
  290. package/integrations/hubspot/schemas/search_deals.json +43 -0
  291. package/integrations/hubspot/schemas/search_notes.json +43 -0
  292. package/integrations/hubspot/schemas/search_tasks.json +43 -0
  293. package/integrations/hubspot/schemas/search_tickets.json +43 -0
  294. package/integrations/hubspot/schemas/update_company.json +20 -0
  295. package/integrations/hubspot/schemas/update_contact.json +21 -0
  296. package/integrations/hubspot/schemas/update_deal.json +19 -0
  297. package/integrations/hubspot/schemas/update_task.json +31 -0
  298. package/integrations/hubspot/schemas/update_ticket.json +18 -0
  299. package/integrations/jira/.env.test +46 -0
  300. package/integrations/jira/.env.test.example +41 -0
  301. package/integrations/jira/README.md +46 -0
  302. package/integrations/jira/__tests__/get_handlers.test.ts +193 -0
  303. package/integrations/jira/__tests__/usage_parity.test.ts +14 -0
  304. package/integrations/jira/__tests__/write_handlers.test.ts +157 -0
  305. package/integrations/jira/credentials.json +39 -0
  306. package/integrations/jira/credentials_hint.md +4 -0
  307. package/integrations/jira/credentials_hint_api_token.md +6 -0
  308. package/integrations/jira/credentials_hint_oauth_token.md +6 -0
  309. package/integrations/jira/handlers/add_comment.js +9 -0
  310. package/integrations/jira/handlers/assign_issue.js +11 -0
  311. package/integrations/jira/handlers/create_issue.js +37 -0
  312. package/integrations/jira/handlers/create_sprint.js +19 -0
  313. package/integrations/jira/handlers/delete_issue.js +10 -0
  314. package/integrations/jira/handlers/get_backlog_issues.js +13 -0
  315. package/integrations/jira/handlers/get_board.js +6 -0
  316. package/integrations/jira/handlers/get_issue.js +63 -0
  317. package/integrations/jira/handlers/get_issue_comments.js +31 -0
  318. package/integrations/jira/handlers/get_myself.js +14 -0
  319. package/integrations/jira/handlers/get_project.js +28 -0
  320. package/integrations/jira/handlers/get_sprint.js +5 -0
  321. package/integrations/jira/handlers/get_sprint_issues.js +13 -0
  322. package/integrations/jira/handlers/get_transitions.js +23 -0
  323. package/integrations/jira/handlers/list_boards.js +34 -0
  324. package/integrations/jira/handlers/list_projects.js +29 -0
  325. package/integrations/jira/handlers/list_sprints.js +29 -0
  326. package/integrations/jira/handlers/move_issues_to_sprint.js +11 -0
  327. package/integrations/jira/handlers/search_issues.js +43 -0
  328. package/integrations/jira/handlers/search_users.js +21 -0
  329. package/integrations/jira/handlers/transition_issue.js +44 -0
  330. package/integrations/jira/handlers/update_issue.js +40 -0
  331. package/integrations/jira/handlers/update_sprint.js +20 -0
  332. package/integrations/jira/manifest.json +204 -0
  333. package/integrations/jira/prompt.md +80 -0
  334. package/integrations/jira/schemas/add_comment.json +16 -0
  335. package/integrations/jira/schemas/assign_issue.json +16 -0
  336. package/integrations/jira/schemas/create_issue.json +49 -0
  337. package/integrations/jira/schemas/create_sprint.json +29 -0
  338. package/integrations/jira/schemas/delete_issue.json +12 -0
  339. package/integrations/jira/schemas/empty.json +6 -0
  340. package/integrations/jira/schemas/get_backlog_issues.json +33 -0
  341. package/integrations/jira/schemas/get_board.json +13 -0
  342. package/integrations/jira/schemas/get_issue.json +23 -0
  343. package/integrations/jira/schemas/get_issue_comments.json +23 -0
  344. package/integrations/jira/schemas/get_project.json +17 -0
  345. package/integrations/jira/schemas/get_sprint.json +13 -0
  346. package/integrations/jira/schemas/get_sprint_issues.json +33 -0
  347. package/integrations/jira/schemas/get_transitions.json +12 -0
  348. package/integrations/jira/schemas/list_boards.json +27 -0
  349. package/integrations/jira/schemas/list_projects.json +22 -0
  350. package/integrations/jira/schemas/list_sprints.json +29 -0
  351. package/integrations/jira/schemas/move_issues_to_sprint.json +19 -0
  352. package/integrations/jira/schemas/search_issues.json +28 -0
  353. package/integrations/jira/schemas/search_users.json +18 -0
  354. package/integrations/jira/schemas/transition_issue.json +38 -0
  355. package/integrations/jira/schemas/update_issue.json +47 -0
  356. package/integrations/jira/schemas/update_sprint.json +33 -0
  357. package/integrations/new_integration_prompt.md +177 -2
  358. package/integrations/notion/.env.test +10 -0
  359. package/integrations/notion/.env.test.example +13 -0
  360. package/integrations/notion/README.md +42 -0
  361. package/integrations/notion/manifest.json +64 -35
  362. package/integrations/trello/.env.test +6 -0
  363. package/integrations/trello/.env.test.example +9 -0
  364. package/integrations/trello/README.md +50 -0
  365. package/package.json +7 -3
  366. package/integrations/google-calendar/handlers/update_event.js +0 -5
  367. package/integrations/google-calendar/schemas/update_event.json +0 -10
  368. package/integrations/google-docs/handlers/get_document.js +0 -12
  369. package/integrations/google-docs/handlers/get_document_structured.js +0 -6
  370. package/integrations/google-docs/handlers/get_document_text.js +0 -17
  371. package/integrations/google-docs/schemas/get_document.json +0 -11
  372. package/integrations/google-sheet/handlers/batch_clear_values_by_data_filter.js +0 -6
  373. package/integrations/google-sheet/handlers/batch_get_values.js +0 -16
  374. package/integrations/google-sheet/handlers/batch_update_values_by_data_filter.js +0 -16
  375. package/integrations/google-sheet/handlers/get_developer_metadata.js +0 -6
  376. package/integrations/google-sheet/handlers/get_spreadsheet_by_data_filter.js +0 -10
  377. package/integrations/google-sheet/handlers/get_values.js +0 -14
  378. package/integrations/google-sheet/handlers/get_values_by_data_filter.js +0 -14
  379. package/integrations/google-sheet/handlers/search_developer_metadata.js +0 -7
  380. package/integrations/google-sheet/schemas/batch_clear_values_by_data_filter.json +0 -10
  381. package/integrations/google-sheet/schemas/batch_get_values.json +0 -13
  382. package/integrations/google-sheet/schemas/batch_update_values_by_data_filter.json +0 -25
  383. package/integrations/google-sheet/schemas/get_spreadsheet_by_data_filter.json +0 -11
  384. package/integrations/google-sheet/schemas/get_values.json +0 -13
  385. package/integrations/google-sheet/schemas/get_values_by_data_filter.json +0 -17
  386. package/integrations/google-sheet/schemas/search_developer_metadata.json +0 -14
  387. package/integrations/google-slides/handlers/get_presentation.js +0 -6
@@ -0,0 +1,75 @@
1
+ # GitHub
2
+
3
+ **47 tools** across 6 toolsets
4
+
5
+ ![GitHub tests](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/theomccabe/771bd329f303087690c522afa1baa6f3/raw/test-github.json)
6
+
7
+ ## Credential variants
8
+
9
+ | Variant | Label |
10
+ |---|---|
11
+ | `classic_pat` | Classic Personal Access Token _(default)_ |
12
+ | `fine_grained_pat` | Fine-Grained Personal Access Token |
13
+
14
+ ## Toolsets
15
+
16
+ | Toolset | Description |
17
+ |---|---|
18
+ | `code` | Read, search, and manage repository code and branches |
19
+ | `issues` | Create, search, and manage GitHub issues |
20
+ | `pull_requests` | Create, review, and merge pull requests |
21
+ | `ci` | Monitor GitHub Actions workflows and debug failures |
22
+ | `releases` | Manage releases and view tags |
23
+ | `repo_admin` | Create, delete, fork, and discover repositories |
24
+
25
+ ## Tools
26
+
27
+ | Tool | Scope | Toolset | Description |
28
+ |---|---|---|---|
29
+ | `get_me` | read | `repo_admin` | Get the authenticated user's profile. Use this to find out who you are authenticated as b… |
30
+ | `list_repos` | read | `repo_admin` | List repositories for the authenticated user. |
31
+ | `get_repo` | read | `code` | Get details for a repository (description, default branch, visibility, topics, stats). |
32
+ | `search_repos` | read | `repo_admin` | Search GitHub repositories. Supports stars, forks, language, topic, and user filters (e.g… |
33
+ | `get_file_contents` | read | `code` | Get the content of a file from a repository. Returns decoded UTF-8 text. Use ref to read … |
34
+ | `get_repo_tree` | read | `code` | Get the full file/directory tree of a repository. Returns all paths and types. Use path_f… |
35
+ | `search_code` | read | `code` | Search for code across GitHub repositories using GitHub's code search syntax. Examples: '… |
36
+ | `list_branches` | read | `code` | List branches in a repository. Supports pagination and filtering by protection status. |
37
+ | `list_commits` | read | `code` | List commits for a repository. Filter by branch/tag (sha), file path, or author. Paginate… |
38
+ | `get_commit` | read | `code` | Get the full details of a specific commit including its message, author, file changes, an… |
39
+ | `list_tags` | read | `code` | List tags for a repository. Use this to see available versions before creating a release. |
40
+ | `list_issues` | read | `issues` | List issues for a repository. Filter by state (open/closed/all), labels (comma-separated)… |
41
+ | `get_issue` | read | `issues` | Get full details of a specific issue including its body, labels, assignees, and milestone. |
42
+ | `list_issue_comments` | read | `issues` | List all comments on an issue. Use this to read the full discussion thread before replyin… |
43
+ | `search_issues` | read | `issues` | Search issues using GitHub search syntax (e.g. 'is:open is:issue label:bug repo:owner/rep… |
44
+ | `list_labels` | read | `issues` | List all labels available in a repository. Call this before add_labels_to_issue to see wh… |
45
+ | `list_pull_requests` | read | `pull_requests` | List pull requests for a repository. Filter by state, head branch, base branch. Sort and … |
46
+ | `get_pull_request` | read | `pull_requests` | Get full details of a specific pull request including title, body, state, merge status, h… |
47
+ | `get_pull_request_diff` | read | `pull_requests` | Get the raw unified diff for a pull request. Returns the complete diff of all changes. Fo… |
48
+ | `list_pull_request_files` | read | `pull_requests` | List the files changed in a pull request with their status (added/modified/deleted) and p… |
49
+ | `list_pull_request_comments` | read | `pull_requests` | List inline review comments on a pull request (comments attached to specific lines of cod… |
50
+ | `search_pull_requests` | read | `pull_requests` | Search pull requests using GitHub search syntax. Use 'is:pr' to scope to PRs (e.g. 'is:pr… |
51
+ | `list_releases` | read | `releases` | List all releases for a repository, newest first. |
52
+ | `get_latest_release` | read | `releases` | Get the latest published release for a repository. Use this to quickly check the current … |
53
+ | `list_workflow_runs` | read | `ci` | List GitHub Actions workflow runs for a repository. Filter by branch, status (e.g. 'failu… |
54
+ | `get_workflow_run` | read | `ci` | Get details of a specific GitHub Actions workflow run including its status, conclusion, t… |
55
+ | `get_job_logs` | read | `ci` | Get the log output for a specific GitHub Actions workflow job. Use this to diagnose CI fa… |
56
+ | `create_repo` | write | `repo_admin` | Create a new GitHub repository under the authenticated user's account. |
57
+ | `delete_repo` | write | `repo_admin` | Permanently delete a repository. This is irreversible. Requires the delete_repo scope on … |
58
+ | `fork_repo` | write | `repo_admin` | Fork a repository into your account or an organization. The fork is created asynchronousl… |
59
+ | `create_branch` | write | `code` | Create a new branch in a repository, branching from the repo's default branch by default. |
60
+ | `delete_branch` | write | `code` | Delete a branch. Typically used after a pull request is merged. Use list_branches to find… |
61
+ | `edit_file` | write | `code` | Edit a file using search/replace. Fetches the file, applies edits, and commits the result… |
62
+ | `edit_files` | write | `code` | Create, edit, and delete multiple files in a single atomic commit. Use action 'create' wi… |
63
+ | `create_file` | write | `code` | Create a new file or overwrite an existing file's content in a single commit. Handles SHA… |
64
+ | `delete_file` | write | `code` | Delete a file from a repository. The file's SHA is fetched automatically. Creates a commi… |
65
+ | `create_pull_request` | write | `pull_requests` | Open a new pull request from a head branch into a base branch. |
66
+ | `update_pull_request` | write | `pull_requests` | Edit a pull request's title, body, state (open/closed), base branch, or draft status. |
67
+ | `merge_pull_request` | write | `pull_requests` | Merge a pull request. Supports merge, squash, and rebase merge methods. |
68
+ | `request_pull_request_reviewers` | write | `pull_requests` | Request specific users or teams to review a pull request. |
69
+ | `create_pull_request_review` | write | `pull_requests` | Submit a pull request review. Use event=APPROVE to approve, REQUEST_CHANGES to request ch… |
70
+ | `create_issue` | write | `issues` | Create a new issue in a repository. Optionally assign users and add labels. |
71
+ | `update_issue` | write | `issues` | Update fields on an existing issue (title, body, state, assignees, labels, milestone). |
72
+ | `close_issue` | write | `issues` | Close an issue. |
73
+ | `comment_on_issue` | write | `issues` | Add a comment to an issue or pull request (GitHub PRs share the issue comment thread). Us… |
74
+ | `add_labels_to_issue` | write | `issues` | Add labels to an issue or pull request. Use list_labels to discover available labels befo… |
75
+ | `create_release` | write | `releases` | Create a new release from a tag. Can auto-generate release notes from commits. Set draft=… |
@@ -3,19 +3,19 @@ import { createCredentialStore, createIntegrationNode, createProxy, createToolbo
3
3
 
4
4
  // LIVE GitHub read tests -- runs once per available credential variant.
5
5
  // Required env vars (at least one):
6
- // - GITHUB_CLASSIC_PAT
7
- // - GITHUB_FINE_GRAINED_PAT
6
+ // - _GITHUB_CLASSIC_PAT
7
+ // - _GITHUB_FINE_GRAINED_PAT
8
8
 
9
9
  const env = process.env as Record<string, string | undefined>
10
10
 
11
11
  interface VariantConfig {
12
- key: string
12
+ key: string
13
13
  token: string
14
14
  }
15
15
 
16
16
  const variants: VariantConfig[] = [
17
- { key: 'classic_pat', token: env.GITHUB_CLASSIC_PAT || '' },
18
- { key: 'fine_grained_pat', token: env.GITHUB_FINE_GRAINED_PAT || '' },
17
+ { key: 'classic_pat', token: env._GITHUB_CLASSIC_PAT || '' },
18
+ { key: 'fine_grained_pat', token: env._GITHUB_FINE_GRAINED_PAT || '' },
19
19
  ].filter(v => v.token.trim().length > 0)
20
20
 
21
21
  const suiteOrSkip = variants.length > 0 ? describe : describe.skip
@@ -27,6 +27,8 @@ suiteOrSkip('github read handlers (live)', () => {
27
27
  owner?: string
28
28
  repo?: string
29
29
  issue_number?: number
30
+ pull_number?: number
31
+ commit_sha?: string
30
32
  }
31
33
 
32
34
  const ctx: Ctx = {}
@@ -49,9 +51,25 @@ suiteOrSkip('github read handlers (live)', () => {
49
51
  const issues = await list_issues({ owner: ctx.owner, repo: ctx.repo, state: 'all' })
50
52
  const firstIssue = Array.isArray(issues) ? issues.find((i: any) => typeof i.number === 'number') : undefined
51
53
  ctx.issue_number = firstIssue?.number
54
+
55
+ const list_commits = toolbox.read('list_commits')
56
+ const commits = await list_commits({ owner: ctx.owner, repo: ctx.repo })
57
+ const firstCommit = Array.isArray(commits) ? commits[0] : undefined
58
+ ctx.commit_sha = firstCommit?.sha
59
+
60
+ const list_pull_requests = toolbox.read('list_pull_requests')
61
+ const prs = await list_pull_requests({ owner: ctx.owner, repo: ctx.repo, state: 'all' })
62
+ const firstPr = Array.isArray(prs) ? prs.find((p: any) => typeof p.number === 'number') : undefined
63
+ ctx.pull_number = firstPr?.number
52
64
  }
53
65
  }, 60000)
54
66
 
67
+ it('get_me returns authenticated user', async () => {
68
+ const handler = toolbox.read('get_me')
69
+ const result = await handler({})
70
+ expect(result?.login).toBeTruthy()
71
+ }, 30000)
72
+
55
73
  it('list_repos returns repositories', async () => {
56
74
  const handler = toolbox.read('list_repos')
57
75
  const result = await handler({})
@@ -66,6 +84,75 @@ suiteOrSkip('github read handlers (live)', () => {
66
84
  expect(result?.name?.toLowerCase?.()).toBe(ctx.repo?.toLowerCase?.())
67
85
  }, 30000)
68
86
 
87
+ it('search_repos returns repositories', async () => {
88
+ const handler = toolbox.read('search_repos')
89
+ const result = await handler({ query: 'commandable-mcp language:typescript' })
90
+ expect(result?.items).toBeTruthy()
91
+ }, 30000)
92
+
93
+ it('get_repo_tree returns file tree', async () => {
94
+ if (!ctx.owner || !ctx.repo)
95
+ return expect(true).toBe(true)
96
+ const handler = toolbox.read('get_repo_tree')
97
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, recursive: true })
98
+ expect(result?.tree).toBeTruthy()
99
+ expect(Array.isArray(result.tree)).toBe(true)
100
+ }, 30000)
101
+
102
+ it('get_file_contents returns decoded file content', async () => {
103
+ if (!ctx.owner || !ctx.repo)
104
+ return expect(true).toBe(true)
105
+ // Find a known small text file (README is common)
106
+ const handler = toolbox.read('get_file_contents')
107
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, path: 'README.md' })
108
+ // It's OK if there's no README — just check for a usable response shape
109
+ if (result?.message === 'Not Found')
110
+ return expect(true).toBe(true)
111
+ expect(result?.path).toBe('README.md')
112
+ expect(result?.encoding).toBe('utf-8')
113
+ expect(typeof result?.content).toBe('string')
114
+ }, 30000)
115
+
116
+ it('search_code returns results', async () => {
117
+ if (!ctx.owner || !ctx.repo)
118
+ return expect(true).toBe(true)
119
+ const handler = toolbox.read('search_code')
120
+ const result = await handler({ query: `repo:${ctx.owner}/${ctx.repo}` })
121
+ expect(result?.items).toBeTruthy()
122
+ }, 30000)
123
+
124
+ it('list_branches returns branches with pagination', async () => {
125
+ if (!ctx.owner || !ctx.repo)
126
+ return expect(true).toBe(true)
127
+ const handler = toolbox.read('list_branches')
128
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, per_page: 10 })
129
+ expect(Array.isArray(result)).toBe(true)
130
+ }, 30000)
131
+
132
+ it('list_commits returns commits with pagination', async () => {
133
+ if (!ctx.owner || !ctx.repo)
134
+ return expect(true).toBe(true)
135
+ const handler = toolbox.read('list_commits')
136
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, per_page: 5 })
137
+ expect(Array.isArray(result)).toBe(true)
138
+ }, 30000)
139
+
140
+ it('get_commit returns commit details', async () => {
141
+ if (!ctx.owner || !ctx.repo || !ctx.commit_sha)
142
+ return expect(true).toBe(true)
143
+ const handler = toolbox.read('get_commit')
144
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, sha: ctx.commit_sha })
145
+ expect(result?.sha).toBe(ctx.commit_sha)
146
+ }, 30000)
147
+
148
+ it('list_tags returns tags', async () => {
149
+ if (!ctx.owner || !ctx.repo)
150
+ return expect(true).toBe(true)
151
+ const handler = toolbox.read('list_tags')
152
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo })
153
+ expect(Array.isArray(result)).toBe(true)
154
+ }, 30000)
155
+
69
156
  it('list_issues returns issues for repo', async () => {
70
157
  if (!ctx.owner || !ctx.repo)
71
158
  return expect(true).toBe(true)
@@ -82,28 +169,136 @@ suiteOrSkip('github read handlers (live)', () => {
82
169
  expect(result?.number).toBe(ctx.issue_number)
83
170
  }, 30000)
84
171
 
85
- it('list_pull_requests returns PRs', async () => {
172
+ it('list_issue_comments returns comments array', async () => {
173
+ if (!ctx.owner || !ctx.repo || !ctx.issue_number)
174
+ return expect(true).toBe(true)
175
+ const handler = toolbox.read('list_issue_comments')
176
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, issue_number: ctx.issue_number })
177
+ expect(Array.isArray(result)).toBe(true)
178
+ }, 30000)
179
+
180
+ it('search_issues returns results', async () => {
181
+ if (!ctx.owner || !ctx.repo)
182
+ return expect(true).toBe(true)
183
+ const handler = toolbox.read('search_issues')
184
+ const result = await handler({ query: `is:issue repo:${ctx.owner}/${ctx.repo}` })
185
+ expect(result?.items).toBeTruthy()
186
+ }, 30000)
187
+
188
+ it('list_labels returns labels array', async () => {
189
+ if (!ctx.owner || !ctx.repo)
190
+ return expect(true).toBe(true)
191
+ const handler = toolbox.read('list_labels')
192
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo })
193
+ expect(Array.isArray(result)).toBe(true)
194
+ }, 30000)
195
+
196
+ it('list_pull_requests returns PRs with pagination', async () => {
86
197
  if (!ctx.owner || !ctx.repo)
87
198
  return expect(true).toBe(true)
88
199
  const handler = toolbox.read('list_pull_requests')
89
- const result = await handler({ owner: ctx.owner, repo: ctx.repo, state: 'all' })
200
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, state: 'all', per_page: 5 })
201
+ expect(Array.isArray(result)).toBe(true)
202
+ }, 30000)
203
+
204
+ it('get_pull_request returns PR details if available', async () => {
205
+ if (!ctx.owner || !ctx.repo || !ctx.pull_number)
206
+ return expect(true).toBe(true)
207
+ const handler = toolbox.read('get_pull_request')
208
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, pull_number: ctx.pull_number })
209
+ expect(result?.number).toBe(ctx.pull_number)
210
+ }, 30000)
211
+
212
+ it('get_pull_request_diff returns diff text if PR available', async () => {
213
+ if (!ctx.owner || !ctx.repo || !ctx.pull_number)
214
+ return expect(true).toBe(true)
215
+ const handler = toolbox.read('get_pull_request_diff')
216
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, pull_number: ctx.pull_number })
217
+ expect(typeof result?.diff).toBe('string')
218
+ }, 30000)
219
+
220
+ it('list_pull_request_files returns files if PR available', async () => {
221
+ if (!ctx.owner || !ctx.repo || !ctx.pull_number)
222
+ return expect(true).toBe(true)
223
+ const handler = toolbox.read('list_pull_request_files')
224
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, pull_number: ctx.pull_number })
225
+ expect(Array.isArray(result)).toBe(true)
226
+ }, 30000)
227
+
228
+ it('list_pull_request_comments returns comments if PR available', async () => {
229
+ if (!ctx.owner || !ctx.repo || !ctx.pull_number)
230
+ return expect(true).toBe(true)
231
+ const handler = toolbox.read('list_pull_request_comments')
232
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, pull_number: ctx.pull_number })
90
233
  expect(Array.isArray(result)).toBe(true)
91
234
  }, 30000)
92
235
 
93
- it('list_branches returns branches', async () => {
236
+ it('search_pull_requests returns results', async () => {
94
237
  if (!ctx.owner || !ctx.repo)
95
238
  return expect(true).toBe(true)
96
- const handler = toolbox.read('list_branches')
239
+ const handler = toolbox.read('search_pull_requests')
240
+ const result = await handler({ query: `is:pr repo:${ctx.owner}/${ctx.repo}` })
241
+ expect(result?.items).toBeTruthy()
242
+ }, 30000)
243
+
244
+ it('list_releases returns releases', async () => {
245
+ if (!ctx.owner || !ctx.repo)
246
+ return expect(true).toBe(true)
247
+ const handler = toolbox.read('list_releases')
97
248
  const result = await handler({ owner: ctx.owner, repo: ctx.repo })
98
249
  expect(Array.isArray(result)).toBe(true)
99
250
  }, 30000)
100
251
 
101
- it('list_commits returns commits', async () => {
252
+ it('get_latest_release returns latest release or not found', async () => {
102
253
  if (!ctx.owner || !ctx.repo)
103
254
  return expect(true).toBe(true)
104
- const handler = toolbox.read('list_commits')
255
+ const handler = toolbox.read('get_latest_release')
105
256
  const result = await handler({ owner: ctx.owner, repo: ctx.repo })
106
- expect(Array.isArray(result)).toBe(true)
257
+ // Repo might have no releases — 404 is acceptable
258
+ expect(result).toBeTruthy()
259
+ }, 30000)
260
+
261
+ it('list_workflow_runs returns workflow runs', async () => {
262
+ if (!ctx.owner || !ctx.repo)
263
+ return expect(true).toBe(true)
264
+ const handler = toolbox.read('list_workflow_runs')
265
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo })
266
+ expect(result?.workflow_runs).toBeTruthy()
267
+ }, 30000)
268
+
269
+ it('get_workflow_run returns run details if any runs exist', async () => {
270
+ if (!ctx.owner || !ctx.repo)
271
+ return expect(true).toBe(true)
272
+ const list_runs = toolbox.read('list_workflow_runs')
273
+ const runs = await list_runs({ owner: ctx.owner, repo: ctx.repo, per_page: 1 })
274
+ const firstRun = Array.isArray(runs?.workflow_runs) ? runs.workflow_runs[0] : undefined
275
+ if (!firstRun)
276
+ return expect(true).toBe(true)
277
+ const handler = toolbox.read('get_workflow_run')
278
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, run_id: firstRun.id })
279
+ expect(result?.id).toBe(firstRun.id)
280
+ }, 30000)
281
+
282
+ it('get_job_logs returns log text if any completed runs exist', async () => {
283
+ if (!ctx.owner || !ctx.repo)
284
+ return expect(true).toBe(true)
285
+ const list_runs = toolbox.read('list_workflow_runs')
286
+ const runs = await list_runs({ owner: ctx.owner, repo: ctx.repo, status: 'completed', per_page: 1 })
287
+ const firstRun = Array.isArray(runs?.workflow_runs) ? runs.workflow_runs[0] : undefined
288
+ if (!firstRun)
289
+ return expect(true).toBe(true)
290
+ // Use native fetch to retrieve job list for this run
291
+ const jobsResp = await fetch(
292
+ `https://api.github.com/repos/${ctx.owner}/${ctx.repo}/actions/runs/${firstRun.id}/jobs`,
293
+ { headers: { 'Authorization': `Bearer ${variant.token}`, 'Accept': 'application/vnd.github.v3+json' } },
294
+ )
295
+ const jobsData = await jobsResp.json()
296
+ const firstJob = Array.isArray(jobsData?.jobs) ? jobsData.jobs[0] : undefined
297
+ if (!firstJob)
298
+ return expect(true).toBe(true)
299
+ const handler = toolbox.read('get_job_logs')
300
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, job_id: firstJob.id })
301
+ expect(result).toBeTruthy()
107
302
  }, 30000)
108
303
  })
109
304
  }