@commandable/integration-data 0.4.0 → 0.5.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 (665) hide show
  1. package/dist/credentials-index.d.ts +7 -2
  2. package/dist/credentials-index.d.ts.map +1 -1
  3. package/dist/credentials-index.js +684 -11
  4. package/dist/credentials-index.js.map +1 -1
  5. package/dist/index.d.ts +2 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/loader.d.ts +122 -1
  10. package/dist/loader.d.ts.map +1 -1
  11. package/dist/loader.js +190 -64
  12. package/dist/loader.js.map +1 -1
  13. package/dist/tools.d.ts +1 -1
  14. package/dist/tools.d.ts.map +1 -1
  15. package/integrations/README.md +52 -0
  16. package/integrations/__tests__/liveHarness.ts +97 -0
  17. package/integrations/__tests__/usageParity.ts +54 -0
  18. package/integrations/airtable/.env.test.example +11 -0
  19. package/integrations/airtable/README.md +27 -0
  20. package/integrations/airtable/__tests__/get_handlers.test.ts +187 -0
  21. package/integrations/airtable/__tests__/usage_parity.test.ts +9 -0
  22. package/integrations/airtable/__tests__/write_and_admin_handlers.test.ts +116 -0
  23. package/integrations/airtable/credentials.json +26 -0
  24. package/integrations/airtable/credentials_hint.md +4 -0
  25. package/integrations/airtable/handlers/create_record.js +12 -0
  26. package/integrations/airtable/handlers/delete_record.js +7 -0
  27. package/integrations/airtable/handlers/get_record.js +4 -0
  28. package/integrations/airtable/handlers/get_table_schema.js +6 -0
  29. package/integrations/airtable/handlers/list_bases.js +4 -0
  30. package/integrations/airtable/handlers/list_records.js +25 -0
  31. package/integrations/airtable/handlers/list_table_fields.js +6 -0
  32. package/integrations/airtable/handlers/list_tables.js +4 -0
  33. package/integrations/airtable/handlers/list_views.js +6 -0
  34. package/integrations/airtable/handlers/search_records.js +6 -0
  35. package/integrations/airtable/handlers/update_record.js +11 -0
  36. package/integrations/airtable/manifest.json +84 -0
  37. package/integrations/airtable/schemas/create_record.json +12 -0
  38. package/integrations/airtable/schemas/delete_record.json +11 -0
  39. package/integrations/airtable/schemas/empty.json +6 -0
  40. package/integrations/airtable/schemas/get_record.json +11 -0
  41. package/integrations/airtable/schemas/id_base.json +9 -0
  42. package/integrations/airtable/schemas/id_base_table.json +10 -0
  43. package/integrations/airtable/schemas/list_records.json +26 -0
  44. package/integrations/airtable/schemas/search_records.json +12 -0
  45. package/integrations/airtable/schemas/update_record.json +13 -0
  46. package/integrations/confluence/.env.test.example +36 -0
  47. package/integrations/confluence/README.md +28 -0
  48. package/integrations/confluence/__tests__/get_handlers.test.ts +121 -0
  49. package/integrations/confluence/__tests__/usage_parity.test.ts +14 -0
  50. package/integrations/confluence/__tests__/write_handlers.test.ts +131 -0
  51. package/integrations/confluence/credentials.json +39 -0
  52. package/integrations/confluence/credentials_hint.md +4 -0
  53. package/integrations/confluence/credentials_hint_api_token.md +9 -0
  54. package/integrations/confluence/credentials_hint_oauth_token.md +8 -0
  55. package/integrations/confluence/handlers/add_comment.js +19 -0
  56. package/integrations/confluence/handlers/add_label.js +16 -0
  57. package/integrations/confluence/handlers/create_page.js +22 -0
  58. package/integrations/confluence/handlers/delete_page.js +17 -0
  59. package/integrations/confluence/handlers/get_comments.js +33 -0
  60. package/integrations/confluence/handlers/get_page_children.js +30 -0
  61. package/integrations/confluence/handlers/get_space.js +22 -0
  62. package/integrations/confluence/handlers/list_spaces.js +39 -0
  63. package/integrations/confluence/handlers/read_page.js +49 -0
  64. package/integrations/confluence/handlers/search_pages.js +42 -0
  65. package/integrations/confluence/handlers/update_page.js +42 -0
  66. package/integrations/confluence/manifest.json +85 -0
  67. package/integrations/confluence/prompt.md +55 -0
  68. package/integrations/confluence/schemas/add_comment.json +22 -0
  69. package/integrations/confluence/schemas/add_label.json +19 -0
  70. package/integrations/confluence/schemas/create_page.json +33 -0
  71. package/integrations/confluence/schemas/delete_page.json +23 -0
  72. package/integrations/confluence/schemas/empty.json +6 -0
  73. package/integrations/confluence/schemas/get_comments.json +24 -0
  74. package/integrations/confluence/schemas/get_page_children.json +28 -0
  75. package/integrations/confluence/schemas/get_space.json +18 -0
  76. package/integrations/confluence/schemas/list_spaces.json +36 -0
  77. package/integrations/confluence/schemas/read_page.json +28 -0
  78. package/integrations/confluence/schemas/search_pages.json +26 -0
  79. package/integrations/confluence/schemas/update_page.json +31 -0
  80. package/integrations/github/.env.test.example +17 -0
  81. package/integrations/github/README.md +75 -0
  82. package/integrations/github/__tests__/get_handlers.test.ts +305 -0
  83. package/integrations/github/__tests__/usage_parity.test.ts +22 -0
  84. package/integrations/github/__tests__/write_handlers.test.ts +496 -0
  85. package/integrations/github/credentials.json +47 -0
  86. package/integrations/github/credentials_hint.md +7 -0
  87. package/integrations/github/credentials_hint_classic_pat.md +8 -0
  88. package/integrations/github/credentials_hint_fine_grained_pat.md +9 -0
  89. package/integrations/github/handlers/add_labels_to_issue.js +12 -0
  90. package/integrations/github/handlers/close_issue.js +5 -0
  91. package/integrations/github/handlers/comment_on_issue.js +5 -0
  92. package/integrations/github/handlers/create_branch.js +33 -0
  93. package/integrations/github/handlers/create_commit.js +84 -0
  94. package/integrations/github/handlers/create_file.js +46 -0
  95. package/integrations/github/handlers/create_issue.js +10 -0
  96. package/integrations/github/handlers/create_or_update_file.js +21 -0
  97. package/integrations/github/handlers/create_pull_request.js +16 -0
  98. package/integrations/github/handlers/create_pull_request_review.js +10 -0
  99. package/integrations/github/handlers/create_release.js +14 -0
  100. package/integrations/github/handlers/create_repo.js +11 -0
  101. package/integrations/github/handlers/delete_branch.js +8 -0
  102. package/integrations/github/handlers/delete_file.js +22 -0
  103. package/integrations/github/handlers/delete_repo.js +6 -0
  104. package/integrations/github/handlers/edit_file.js +52 -0
  105. package/integrations/github/handlers/edit_files.js +107 -0
  106. package/integrations/github/handlers/fork_repo.js +10 -0
  107. package/integrations/github/handlers/get_commit.js +8 -0
  108. package/integrations/github/handlers/get_file_contents.js +21 -0
  109. package/integrations/github/handlers/get_issue.js +4 -0
  110. package/integrations/github/handlers/get_job_logs.js +6 -0
  111. package/integrations/github/handlers/get_latest_release.js +4 -0
  112. package/integrations/github/handlers/get_me.js +4 -0
  113. package/integrations/github/handlers/get_pull_request.js +4 -0
  114. package/integrations/github/handlers/get_pull_request_diff.js +8 -0
  115. package/integrations/github/handlers/get_repo.js +4 -0
  116. package/integrations/github/handlers/get_repo_tree.js +12 -0
  117. package/integrations/github/handlers/get_workflow_run.js +4 -0
  118. package/integrations/github/handlers/list_branches.js +9 -0
  119. package/integrations/github/handlers/list_commits.js +11 -0
  120. package/integrations/github/handlers/list_issue_comments.js +8 -0
  121. package/integrations/github/handlers/list_issues.js +11 -0
  122. package/integrations/github/handlers/list_labels.js +8 -0
  123. package/integrations/github/handlers/list_pull_request_comments.js +8 -0
  124. package/integrations/github/handlers/list_pull_request_files.js +8 -0
  125. package/integrations/github/handlers/list_pull_requests.js +13 -0
  126. package/integrations/github/handlers/list_releases.js +8 -0
  127. package/integrations/github/handlers/list_repos_install.js +4 -0
  128. package/integrations/github/handlers/list_repos_user.js +16 -0
  129. package/integrations/github/handlers/list_tags.js +8 -0
  130. package/integrations/github/handlers/list_workflow_runs.js +11 -0
  131. package/integrations/github/handlers/merge_pull_request.js +14 -0
  132. package/integrations/github/handlers/request_pull_request_reviewers.js +10 -0
  133. package/integrations/github/handlers/search_code.js +8 -0
  134. package/integrations/github/handlers/search_issues.js +8 -0
  135. package/integrations/github/handlers/search_pull_requests.js +8 -0
  136. package/integrations/github/handlers/search_repos.js +10 -0
  137. package/integrations/github/handlers/update_issue.js +15 -0
  138. package/integrations/github/handlers/update_pull_request.js +13 -0
  139. package/integrations/github/manifest.json +92 -0
  140. package/integrations/github/prompt.md +36 -0
  141. package/integrations/github/schemas/add_labels_to_issue.json +12 -0
  142. package/integrations/github/schemas/close_issue.json +10 -0
  143. package/integrations/github/schemas/comment_on_issue.json +11 -0
  144. package/integrations/github/schemas/create_branch.json +12 -0
  145. package/integrations/github/schemas/create_commit.json +25 -0
  146. package/integrations/github/schemas/create_file.json +13 -0
  147. package/integrations/github/schemas/create_issue.json +13 -0
  148. package/integrations/github/schemas/create_or_update_file.json +15 -0
  149. package/integrations/github/schemas/create_pull_request.json +15 -0
  150. package/integrations/github/schemas/create_pull_request_review.json +17 -0
  151. package/integrations/github/schemas/create_release.json +16 -0
  152. package/integrations/github/schemas/create_repo.json +12 -0
  153. package/integrations/github/schemas/delete_branch.json +10 -0
  154. package/integrations/github/schemas/delete_file.json +13 -0
  155. package/integrations/github/schemas/delete_repo.json +10 -0
  156. package/integrations/github/schemas/edit_file.json +26 -0
  157. package/integrations/github/schemas/edit_files.json +39 -0
  158. package/integrations/github/schemas/empty.json +5 -0
  159. package/integrations/github/schemas/fork_repo.json +11 -0
  160. package/integrations/github/schemas/get_commit.json +12 -0
  161. package/integrations/github/schemas/get_file_contents.json +11 -0
  162. package/integrations/github/schemas/get_issue.json +10 -0
  163. package/integrations/github/schemas/get_job_logs.json +10 -0
  164. package/integrations/github/schemas/get_pull_request.json +10 -0
  165. package/integrations/github/schemas/get_pull_request_diff.json +10 -0
  166. package/integrations/github/schemas/get_repo.json +9 -0
  167. package/integrations/github/schemas/get_repo_tree.json +12 -0
  168. package/integrations/github/schemas/get_workflow_run.json +10 -0
  169. package/integrations/github/schemas/list_branches.json +12 -0
  170. package/integrations/github/schemas/list_commits.json +14 -0
  171. package/integrations/github/schemas/list_issue_comments.json +12 -0
  172. package/integrations/github/schemas/list_issues.json +14 -0
  173. package/integrations/github/schemas/list_labels.json +11 -0
  174. package/integrations/github/schemas/list_pull_request_comments.json +12 -0
  175. package/integrations/github/schemas/list_pull_request_files.json +12 -0
  176. package/integrations/github/schemas/list_pull_requests.json +16 -0
  177. package/integrations/github/schemas/list_releases.json +11 -0
  178. package/integrations/github/schemas/list_tags.json +11 -0
  179. package/integrations/github/schemas/list_workflow_runs.json +18 -0
  180. package/integrations/github/schemas/merge_pull_request.json +14 -0
  181. package/integrations/github/schemas/owner_repo.json +9 -0
  182. package/integrations/github/schemas/request_pull_request_reviewers.json +20 -0
  183. package/integrations/github/schemas/search_code.json +10 -0
  184. package/integrations/github/schemas/search_issues.json +10 -0
  185. package/integrations/github/schemas/search_pull_requests.json +10 -0
  186. package/integrations/github/schemas/search_repos.json +12 -0
  187. package/integrations/github/schemas/update_issue.json +15 -0
  188. package/integrations/github/schemas/update_pull_request.json +15 -0
  189. package/integrations/google-calendar/.env.test.example +11 -0
  190. package/integrations/google-calendar/README.md +41 -0
  191. package/integrations/google-calendar/__tests__/get_handlers.test.ts +120 -0
  192. package/integrations/google-calendar/__tests__/usage_parity.test.ts +9 -0
  193. package/integrations/google-calendar/__tests__/write_and_admin_handlers.test.ts +155 -0
  194. package/integrations/google-calendar/credentials.json +59 -0
  195. package/integrations/google-calendar/credentials_hint.md +9 -0
  196. package/integrations/google-calendar/credentials_hint_oauth_token.md +8 -0
  197. package/integrations/google-calendar/credentials_hint_service_account.md +10 -0
  198. package/integrations/google-calendar/handlers/create_event.js +6 -0
  199. package/integrations/google-calendar/handlers/delete_acl.js +6 -0
  200. package/integrations/google-calendar/handlers/delete_event.js +7 -0
  201. package/integrations/google-calendar/handlers/freebusy_query.js +4 -0
  202. package/integrations/google-calendar/handlers/get_acl.js +5 -0
  203. package/integrations/google-calendar/handlers/get_calendar.js +4 -0
  204. package/integrations/google-calendar/handlers/get_event.js +9 -0
  205. package/integrations/google-calendar/handlers/insert_acl.js +6 -0
  206. package/integrations/google-calendar/handlers/list_acl.js +5 -0
  207. package/integrations/google-calendar/handlers/list_calendars.js +4 -0
  208. package/integrations/google-calendar/handlers/list_colors.js +4 -0
  209. package/integrations/google-calendar/handlers/list_events.js +23 -0
  210. package/integrations/google-calendar/handlers/list_settings.js +4 -0
  211. package/integrations/google-calendar/handlers/move_event.js +6 -0
  212. package/integrations/google-calendar/handlers/patch_event.js +5 -0
  213. package/integrations/google-calendar/handlers/quick_add.js +6 -0
  214. package/integrations/google-calendar/handlers/update_acl.js +7 -0
  215. package/integrations/google-calendar/manifest.json +36 -0
  216. package/integrations/google-calendar/prompt.md +68 -0
  217. package/integrations/google-calendar/schemas/create_event.json +34 -0
  218. package/integrations/google-calendar/schemas/delete_acl.json +9 -0
  219. package/integrations/google-calendar/schemas/empty.json +1 -0
  220. package/integrations/google-calendar/schemas/freebusy_query.json +13 -0
  221. package/integrations/google-calendar/schemas/get_acl.json +9 -0
  222. package/integrations/google-calendar/schemas/id_calendar.json +8 -0
  223. package/integrations/google-calendar/schemas/id_calendar_event.json +11 -0
  224. package/integrations/google-calendar/schemas/insert_acl.json +18 -0
  225. package/integrations/google-calendar/schemas/list_events.json +17 -0
  226. package/integrations/google-calendar/schemas/move_event.json +10 -0
  227. package/integrations/google-calendar/schemas/patch_event.json +10 -0
  228. package/integrations/google-calendar/schemas/quick_add.json +9 -0
  229. package/integrations/google-calendar/schemas/update_acl.json +10 -0
  230. package/integrations/google-docs/README.md +30 -0
  231. package/integrations/google-docs/__tests__/get_handlers.test.ts +83 -0
  232. package/integrations/google-docs/__tests__/usage_parity.test.ts +9 -0
  233. package/integrations/google-docs/__tests__/write_handlers.test.ts +238 -0
  234. package/integrations/google-docs/credentials.json +59 -0
  235. package/integrations/google-docs/credentials_hint.md +9 -0
  236. package/integrations/google-docs/credentials_hint_oauth_token.md +8 -0
  237. package/integrations/google-docs/credentials_hint_service_account.md +10 -0
  238. package/integrations/google-docs/handlers/append_text.js +12 -0
  239. package/integrations/google-docs/handlers/batch_update.js +13 -0
  240. package/integrations/google-docs/handlers/create_document.js +9 -0
  241. package/integrations/google-docs/handlers/delete_first_match.js +50 -0
  242. package/integrations/google-docs/handlers/insert_inline_image_after_first_match.js +41 -0
  243. package/integrations/google-docs/handlers/insert_page_break_after_first_match.js +49 -0
  244. package/integrations/google-docs/handlers/insert_table_after_first_match.js +49 -0
  245. package/integrations/google-docs/handlers/insert_text_after_first_match.js +51 -0
  246. package/integrations/google-docs/handlers/read_document.js +189 -0
  247. package/integrations/google-docs/handlers/replace_all_text.js +8 -0
  248. package/integrations/google-docs/handlers/style_first_match.js +42 -0
  249. package/integrations/google-docs/handlers/update_document_style.js +8 -0
  250. package/integrations/google-docs/handlers/update_paragraph_style_for_first_match.js +48 -0
  251. package/integrations/google-docs/manifest.json +44 -0
  252. package/integrations/google-docs/prompt.md +49 -0
  253. package/integrations/google-docs/schemas/append_text.json +10 -0
  254. package/integrations/google-docs/schemas/apply_text_style.json +13 -0
  255. package/integrations/google-docs/schemas/batch_update.json +16 -0
  256. package/integrations/google-docs/schemas/create_document.json +8 -0
  257. package/integrations/google-docs/schemas/delete_content_range.json +11 -0
  258. package/integrations/google-docs/schemas/delete_first_match.json +10 -0
  259. package/integrations/google-docs/schemas/insert_inline_image.json +12 -0
  260. package/integrations/google-docs/schemas/insert_inline_image_after_first_match.json +12 -0
  261. package/integrations/google-docs/schemas/insert_page_break.json +10 -0
  262. package/integrations/google-docs/schemas/insert_page_break_after_first_match.json +11 -0
  263. package/integrations/google-docs/schemas/insert_table.json +12 -0
  264. package/integrations/google-docs/schemas/insert_table_after_first_match.json +13 -0
  265. package/integrations/google-docs/schemas/insert_text_after_first_match.json +12 -0
  266. package/integrations/google-docs/schemas/insert_text_at.json +11 -0
  267. package/integrations/google-docs/schemas/read_document.json +12 -0
  268. package/integrations/google-docs/schemas/replace_all_text.json +12 -0
  269. package/integrations/google-docs/schemas/style_first_match.json +12 -0
  270. package/integrations/google-docs/schemas/update_document_style.json +11 -0
  271. package/integrations/google-docs/schemas/update_paragraph_style.json +13 -0
  272. package/integrations/google-docs/schemas/update_paragraph_style_for_first_match.json +12 -0
  273. package/integrations/google-docs/todo.md +18 -0
  274. package/integrations/google-drive/README.md +26 -0
  275. package/integrations/google-drive/__tests__/handlers.test.ts +145 -0
  276. package/integrations/google-drive/__tests__/usage_parity.test.ts +9 -0
  277. package/integrations/google-drive/credentials.json +59 -0
  278. package/integrations/google-drive/credentials_hint_oauth_token.md +8 -0
  279. package/integrations/google-drive/credentials_hint_service_account.md +10 -0
  280. package/integrations/google-drive/handlers/create_file.js +15 -0
  281. package/integrations/google-drive/handlers/create_folder.js +15 -0
  282. package/integrations/google-drive/handlers/delete_file.js +14 -0
  283. package/integrations/google-drive/handlers/get_file.js +5 -0
  284. package/integrations/google-drive/handlers/get_file_content.js +41 -0
  285. package/integrations/google-drive/handlers/list_files.js +15 -0
  286. package/integrations/google-drive/handlers/move_file.js +12 -0
  287. package/integrations/google-drive/handlers/search_files.js +20 -0
  288. package/integrations/google-drive/handlers/share_file.js +20 -0
  289. package/integrations/google-drive/manifest.json +70 -0
  290. package/integrations/google-drive/prompt.md +59 -0
  291. package/integrations/google-drive/schemas/create_file.json +12 -0
  292. package/integrations/google-drive/schemas/create_folder.json +11 -0
  293. package/integrations/google-drive/schemas/delete_file.json +10 -0
  294. package/integrations/google-drive/schemas/get_file.json +10 -0
  295. package/integrations/google-drive/schemas/get_file_content.json +11 -0
  296. package/integrations/google-drive/schemas/list_files.json +12 -0
  297. package/integrations/google-drive/schemas/move_file.json +12 -0
  298. package/integrations/google-drive/schemas/search_files.json +14 -0
  299. package/integrations/google-drive/schemas/share_file.json +23 -0
  300. package/integrations/google-gmail/.env.test.example +11 -0
  301. package/integrations/google-gmail/README.md +49 -0
  302. package/integrations/google-gmail/__tests__/get_handlers.test.ts +134 -0
  303. package/integrations/google-gmail/__tests__/usage_parity.test.ts +9 -0
  304. package/integrations/google-gmail/__tests__/write_and_admin_handlers.test.ts +211 -0
  305. package/integrations/google-gmail/credentials.json +59 -0
  306. package/integrations/google-gmail/credentials_hint_oauth_token.md +8 -0
  307. package/integrations/google-gmail/credentials_hint_service_account.md +10 -0
  308. package/integrations/google-gmail/handlers/create_draft_email.js +27 -0
  309. package/integrations/google-gmail/handlers/create_label.js +12 -0
  310. package/integrations/google-gmail/handlers/delete_draft.js +13 -0
  311. package/integrations/google-gmail/handlers/delete_label.js +13 -0
  312. package/integrations/google-gmail/handlers/delete_message.js +13 -0
  313. package/integrations/google-gmail/handlers/delete_thread.js +13 -0
  314. package/integrations/google-gmail/handlers/get_draft.js +6 -0
  315. package/integrations/google-gmail/handlers/get_label.js +6 -0
  316. package/integrations/google-gmail/handlers/get_message.js +14 -0
  317. package/integrations/google-gmail/handlers/get_profile.js +5 -0
  318. package/integrations/google-gmail/handlers/get_thread.js +14 -0
  319. package/integrations/google-gmail/handlers/list_drafts.js +15 -0
  320. package/integrations/google-gmail/handlers/list_labels.js +5 -0
  321. package/integrations/google-gmail/handlers/list_messages.js +19 -0
  322. package/integrations/google-gmail/handlers/list_threads.js +19 -0
  323. package/integrations/google-gmail/handlers/modify_message.js +11 -0
  324. package/integrations/google-gmail/handlers/modify_thread.js +11 -0
  325. package/integrations/google-gmail/handlers/read_email.js +56 -0
  326. package/integrations/google-gmail/handlers/send_draft.js +15 -0
  327. package/integrations/google-gmail/handlers/send_email.js +22 -0
  328. package/integrations/google-gmail/handlers/trash_message.js +6 -0
  329. package/integrations/google-gmail/handlers/trash_thread.js +6 -0
  330. package/integrations/google-gmail/handlers/untrash_message.js +6 -0
  331. package/integrations/google-gmail/handlers/untrash_thread.js +6 -0
  332. package/integrations/google-gmail/handlers/update_label.js +15 -0
  333. package/integrations/google-gmail/manifest.json +45 -0
  334. package/integrations/google-gmail/prompt.md +52 -0
  335. package/integrations/google-gmail/schemas/create_draft_email.json +16 -0
  336. package/integrations/google-gmail/schemas/create_label.json +26 -0
  337. package/integrations/google-gmail/schemas/get_message.json +20 -0
  338. package/integrations/google-gmail/schemas/get_profile.json +11 -0
  339. package/integrations/google-gmail/schemas/get_thread.json +20 -0
  340. package/integrations/google-gmail/schemas/id_draft.json +16 -0
  341. package/integrations/google-gmail/schemas/id_label.json +16 -0
  342. package/integrations/google-gmail/schemas/id_message.json +16 -0
  343. package/integrations/google-gmail/schemas/id_thread.json +16 -0
  344. package/integrations/google-gmail/schemas/list_drafts.json +30 -0
  345. package/integrations/google-gmail/schemas/list_labels.json +11 -0
  346. package/integrations/google-gmail/schemas/list_messages.json +35 -0
  347. package/integrations/google-gmail/schemas/list_threads.json +35 -0
  348. package/integrations/google-gmail/schemas/modify_message.json +24 -0
  349. package/integrations/google-gmail/schemas/modify_thread.json +24 -0
  350. package/integrations/google-gmail/schemas/read_email.json +10 -0
  351. package/integrations/google-gmail/schemas/send_draft.json +29 -0
  352. package/integrations/google-gmail/schemas/send_email.json +17 -0
  353. package/integrations/google-gmail/schemas/update_label.json +33 -0
  354. package/integrations/google-sheet/README.md +27 -0
  355. package/integrations/google-sheet/__tests__/get_handlers.test.ts +76 -0
  356. package/integrations/google-sheet/__tests__/usage_parity.test.ts +9 -0
  357. package/integrations/google-sheet/__tests__/write_handlers.test.ts +153 -0
  358. package/integrations/google-sheet/credentials.json +59 -0
  359. package/integrations/google-sheet/credentials_hint.md +9 -0
  360. package/integrations/google-sheet/credentials_hint_oauth_token.md +8 -0
  361. package/integrations/google-sheet/credentials_hint_service_account.md +10 -0
  362. package/integrations/google-sheet/handlers/append_values.js +18 -0
  363. package/integrations/google-sheet/handlers/batch_clear_values.js +6 -0
  364. package/integrations/google-sheet/handlers/batch_update.js +14 -0
  365. package/integrations/google-sheet/handlers/batch_update_values.js +16 -0
  366. package/integrations/google-sheet/handlers/clear_values.js +6 -0
  367. package/integrations/google-sheet/handlers/copy_to_spreadsheet.js +6 -0
  368. package/integrations/google-sheet/handlers/create_spreadsheet.js +5 -0
  369. package/integrations/google-sheet/handlers/get_spreadsheet.js +14 -0
  370. package/integrations/google-sheet/handlers/read_sheet.js +75 -0
  371. package/integrations/google-sheet/handlers/update_values.js +16 -0
  372. package/integrations/google-sheet/manifest.json +77 -0
  373. package/integrations/google-sheet/prompt.md +49 -0
  374. package/integrations/google-sheet/schemas/append_values.json +16 -0
  375. package/integrations/google-sheet/schemas/batch_clear_values.json +10 -0
  376. package/integrations/google-sheet/schemas/batch_update.json +13 -0
  377. package/integrations/google-sheet/schemas/batch_update_values.json +25 -0
  378. package/integrations/google-sheet/schemas/clear_values.json +10 -0
  379. package/integrations/google-sheet/schemas/copy_to_spreadsheet.json +11 -0
  380. package/integrations/google-sheet/schemas/create_spreadsheet.json +11 -0
  381. package/integrations/google-sheet/schemas/get_spreadsheet.json +16 -0
  382. package/integrations/google-sheet/schemas/read_sheet.json +21 -0
  383. package/integrations/google-sheet/schemas/update_values.json +15 -0
  384. package/integrations/google-slides/README.md +28 -0
  385. package/integrations/google-slides/__tests__/get_handlers.test.ts +74 -0
  386. package/integrations/google-slides/__tests__/usage_parity.test.ts +9 -0
  387. package/integrations/google-slides/__tests__/write_handlers.test.ts +131 -0
  388. package/integrations/google-slides/credentials.json +59 -0
  389. package/integrations/google-slides/credentials_hint.md +9 -0
  390. package/integrations/google-slides/credentials_hint_oauth_token.md +8 -0
  391. package/integrations/google-slides/credentials_hint_service_account.md +10 -0
  392. package/integrations/google-slides/handlers/append_text_to_title_of_first_slide.js +17 -0
  393. package/integrations/google-slides/handlers/batch_update.js +15 -0
  394. package/integrations/google-slides/handlers/create_presentation.js +8 -0
  395. package/integrations/google-slides/handlers/create_slide_after_first_match.js +20 -0
  396. package/integrations/google-slides/handlers/get_page_thumbnail.js +12 -0
  397. package/integrations/google-slides/handlers/insert_image_after_first_match.js +19 -0
  398. package/integrations/google-slides/handlers/insert_shape_after_first_match.js +21 -0
  399. package/integrations/google-slides/handlers/read_presentation.js +51 -0
  400. package/integrations/google-slides/handlers/replace_text_first_match.js +9 -0
  401. package/integrations/google-slides/handlers/set_background_color_for_slide_index.js +15 -0
  402. package/integrations/google-slides/handlers/style_text_first_match.js +48 -0
  403. package/integrations/google-slides/manifest.json +42 -0
  404. package/integrations/google-slides/prompt.md +56 -0
  405. package/integrations/google-slides/schemas/append_text_to_title_of_first_slide.json +11 -0
  406. package/integrations/google-slides/schemas/batch_update.json +13 -0
  407. package/integrations/google-slides/schemas/create_presentation.json +8 -0
  408. package/integrations/google-slides/schemas/create_slide_after_first_match.json +11 -0
  409. package/integrations/google-slides/schemas/get_page_thumbnail.json +12 -0
  410. package/integrations/google-slides/schemas/get_presentation.json +9 -0
  411. package/integrations/google-slides/schemas/insert_image_after_first_match.json +13 -0
  412. package/integrations/google-slides/schemas/insert_shape_after_first_match.json +13 -0
  413. package/integrations/google-slides/schemas/replace_text_first_match.json +12 -0
  414. package/integrations/google-slides/schemas/set_background_color_for_slide_index.json +11 -0
  415. package/integrations/google-slides/schemas/style_text_first_match.json +12 -0
  416. package/integrations/hubspot/.env.test.example +20 -0
  417. package/integrations/hubspot/README.md +48 -0
  418. package/integrations/hubspot/__tests__/get_handlers.test.ts +151 -0
  419. package/integrations/hubspot/__tests__/usage_parity.test.ts +10 -0
  420. package/integrations/hubspot/__tests__/write_handlers.test.ts +244 -0
  421. package/integrations/hubspot/credentials.json +50 -0
  422. package/integrations/hubspot/credentials_hint.md +20 -0
  423. package/integrations/hubspot/credentials_hint_oauth_token.md +16 -0
  424. package/integrations/hubspot/handlers/archive_company.js +13 -0
  425. package/integrations/hubspot/handlers/archive_contact.js +13 -0
  426. package/integrations/hubspot/handlers/archive_deal.js +13 -0
  427. package/integrations/hubspot/handlers/archive_ticket.js +13 -0
  428. package/integrations/hubspot/handlers/create_association.js +18 -0
  429. package/integrations/hubspot/handlers/create_company.js +13 -0
  430. package/integrations/hubspot/handlers/create_contact.js +14 -0
  431. package/integrations/hubspot/handlers/create_deal.js +16 -0
  432. package/integrations/hubspot/handlers/create_note.js +44 -0
  433. package/integrations/hubspot/handlers/create_task.js +48 -0
  434. package/integrations/hubspot/handlers/create_ticket.js +15 -0
  435. package/integrations/hubspot/handlers/get_associations.js +14 -0
  436. package/integrations/hubspot/handlers/get_company.js +18 -0
  437. package/integrations/hubspot/handlers/get_contact.js +18 -0
  438. package/integrations/hubspot/handlers/get_deal.js +18 -0
  439. package/integrations/hubspot/handlers/get_ticket.js +20 -0
  440. package/integrations/hubspot/handlers/list_owners.js +12 -0
  441. package/integrations/hubspot/handlers/list_pipelines.js +5 -0
  442. package/integrations/hubspot/handlers/list_properties.js +11 -0
  443. package/integrations/hubspot/handlers/remove_association.js +22 -0
  444. package/integrations/hubspot/handlers/search_companies.js +43 -0
  445. package/integrations/hubspot/handlers/search_contacts.js +43 -0
  446. package/integrations/hubspot/handlers/search_deals.js +43 -0
  447. package/integrations/hubspot/handlers/search_notes.js +43 -0
  448. package/integrations/hubspot/handlers/search_tasks.js +43 -0
  449. package/integrations/hubspot/handlers/search_tickets.js +43 -0
  450. package/integrations/hubspot/handlers/update_company.js +13 -0
  451. package/integrations/hubspot/handlers/update_contact.js +14 -0
  452. package/integrations/hubspot/handlers/update_deal.js +16 -0
  453. package/integrations/hubspot/handlers/update_task.js +17 -0
  454. package/integrations/hubspot/handlers/update_ticket.js +15 -0
  455. package/integrations/hubspot/manifest.json +231 -0
  456. package/integrations/hubspot/prompt.md +69 -0
  457. package/integrations/hubspot/schemas/archive_company.json +13 -0
  458. package/integrations/hubspot/schemas/archive_contact.json +13 -0
  459. package/integrations/hubspot/schemas/archive_deal.json +9 -0
  460. package/integrations/hubspot/schemas/archive_ticket.json +9 -0
  461. package/integrations/hubspot/schemas/create_association.json +24 -0
  462. package/integrations/hubspot/schemas/create_company.json +14 -0
  463. package/integrations/hubspot/schemas/create_contact.json +15 -0
  464. package/integrations/hubspot/schemas/create_deal.json +20 -0
  465. package/integrations/hubspot/schemas/create_note.json +37 -0
  466. package/integrations/hubspot/schemas/create_task.json +51 -0
  467. package/integrations/hubspot/schemas/create_ticket.json +16 -0
  468. package/integrations/hubspot/schemas/empty.json +6 -0
  469. package/integrations/hubspot/schemas/get_associations.json +30 -0
  470. package/integrations/hubspot/schemas/get_company.json +27 -0
  471. package/integrations/hubspot/schemas/get_contact.json +27 -0
  472. package/integrations/hubspot/schemas/get_deal.json +20 -0
  473. package/integrations/hubspot/schemas/get_ticket.json +20 -0
  474. package/integrations/hubspot/schemas/list_owners.json +25 -0
  475. package/integrations/hubspot/schemas/list_pipelines.json +13 -0
  476. package/integrations/hubspot/schemas/list_properties.json +17 -0
  477. package/integrations/hubspot/schemas/remove_association.json +24 -0
  478. package/integrations/hubspot/schemas/search_companies.json +56 -0
  479. package/integrations/hubspot/schemas/search_contacts.json +56 -0
  480. package/integrations/hubspot/schemas/search_deals.json +43 -0
  481. package/integrations/hubspot/schemas/search_notes.json +43 -0
  482. package/integrations/hubspot/schemas/search_tasks.json +43 -0
  483. package/integrations/hubspot/schemas/search_tickets.json +43 -0
  484. package/integrations/hubspot/schemas/update_company.json +20 -0
  485. package/integrations/hubspot/schemas/update_contact.json +21 -0
  486. package/integrations/hubspot/schemas/update_deal.json +19 -0
  487. package/integrations/hubspot/schemas/update_task.json +31 -0
  488. package/integrations/hubspot/schemas/update_ticket.json +18 -0
  489. package/integrations/jira/.env.test.example +41 -0
  490. package/integrations/jira/README.md +46 -0
  491. package/integrations/jira/__tests__/get_handlers.test.ts +193 -0
  492. package/integrations/jira/__tests__/usage_parity.test.ts +14 -0
  493. package/integrations/jira/__tests__/write_handlers.test.ts +157 -0
  494. package/integrations/jira/credentials.json +39 -0
  495. package/integrations/jira/credentials_hint.md +4 -0
  496. package/integrations/jira/credentials_hint_api_token.md +6 -0
  497. package/integrations/jira/credentials_hint_oauth_token.md +6 -0
  498. package/integrations/jira/handlers/add_comment.js +9 -0
  499. package/integrations/jira/handlers/assign_issue.js +11 -0
  500. package/integrations/jira/handlers/create_issue.js +37 -0
  501. package/integrations/jira/handlers/create_sprint.js +19 -0
  502. package/integrations/jira/handlers/delete_issue.js +10 -0
  503. package/integrations/jira/handlers/get_backlog_issues.js +13 -0
  504. package/integrations/jira/handlers/get_board.js +6 -0
  505. package/integrations/jira/handlers/get_issue.js +63 -0
  506. package/integrations/jira/handlers/get_issue_comments.js +31 -0
  507. package/integrations/jira/handlers/get_myself.js +14 -0
  508. package/integrations/jira/handlers/get_project.js +28 -0
  509. package/integrations/jira/handlers/get_sprint.js +5 -0
  510. package/integrations/jira/handlers/get_sprint_issues.js +13 -0
  511. package/integrations/jira/handlers/get_transitions.js +23 -0
  512. package/integrations/jira/handlers/list_boards.js +34 -0
  513. package/integrations/jira/handlers/list_projects.js +29 -0
  514. package/integrations/jira/handlers/list_sprints.js +29 -0
  515. package/integrations/jira/handlers/move_issues_to_sprint.js +11 -0
  516. package/integrations/jira/handlers/search_issues.js +43 -0
  517. package/integrations/jira/handlers/search_users.js +21 -0
  518. package/integrations/jira/handlers/transition_issue.js +44 -0
  519. package/integrations/jira/handlers/update_issue.js +40 -0
  520. package/integrations/jira/handlers/update_sprint.js +20 -0
  521. package/integrations/jira/manifest.json +204 -0
  522. package/integrations/jira/prompt.md +80 -0
  523. package/integrations/jira/schemas/add_comment.json +16 -0
  524. package/integrations/jira/schemas/assign_issue.json +16 -0
  525. package/integrations/jira/schemas/create_issue.json +49 -0
  526. package/integrations/jira/schemas/create_sprint.json +29 -0
  527. package/integrations/jira/schemas/delete_issue.json +12 -0
  528. package/integrations/jira/schemas/empty.json +6 -0
  529. package/integrations/jira/schemas/get_backlog_issues.json +33 -0
  530. package/integrations/jira/schemas/get_board.json +13 -0
  531. package/integrations/jira/schemas/get_issue.json +23 -0
  532. package/integrations/jira/schemas/get_issue_comments.json +23 -0
  533. package/integrations/jira/schemas/get_project.json +17 -0
  534. package/integrations/jira/schemas/get_sprint.json +13 -0
  535. package/integrations/jira/schemas/get_sprint_issues.json +33 -0
  536. package/integrations/jira/schemas/get_transitions.json +12 -0
  537. package/integrations/jira/schemas/list_boards.json +27 -0
  538. package/integrations/jira/schemas/list_projects.json +22 -0
  539. package/integrations/jira/schemas/list_sprints.json +29 -0
  540. package/integrations/jira/schemas/move_issues_to_sprint.json +19 -0
  541. package/integrations/jira/schemas/search_issues.json +28 -0
  542. package/integrations/jira/schemas/search_users.json +18 -0
  543. package/integrations/jira/schemas/transition_issue.json +38 -0
  544. package/integrations/jira/schemas/update_issue.json +47 -0
  545. package/integrations/jira/schemas/update_sprint.json +33 -0
  546. package/integrations/new_integration_prompt.md +216 -0
  547. package/integrations/notion/.env.test.example +13 -0
  548. package/integrations/notion/README.md +42 -0
  549. package/integrations/notion/__tests__/get_handlers.test.ts +156 -0
  550. package/integrations/notion/__tests__/usage_parity.test.ts +9 -0
  551. package/integrations/notion/__tests__/write_and_admin_handlers.test.ts +186 -0
  552. package/integrations/notion/credentials.json +27 -0
  553. package/integrations/notion/credentials_hint.md +5 -0
  554. package/integrations/notion/handlers/append_block_children.js +7 -0
  555. package/integrations/notion/handlers/create_comment.js +10 -0
  556. package/integrations/notion/handlers/create_database.js +11 -0
  557. package/integrations/notion/handlers/create_page.js +13 -0
  558. package/integrations/notion/handlers/delete_block.js +8 -0
  559. package/integrations/notion/handlers/get_me.js +4 -0
  560. package/integrations/notion/handlers/list_block_children.js +10 -0
  561. package/integrations/notion/handlers/list_comments.js +14 -0
  562. package/integrations/notion/handlers/list_users.js +10 -0
  563. package/integrations/notion/handlers/query_database.js +10 -0
  564. package/integrations/notion/handlers/retrieve_block.js +4 -0
  565. package/integrations/notion/handlers/retrieve_database.js +4 -0
  566. package/integrations/notion/handlers/retrieve_page.js +4 -0
  567. package/integrations/notion/handlers/retrieve_page_property_item.js +10 -0
  568. package/integrations/notion/handlers/retrieve_user.js +4 -0
  569. package/integrations/notion/handlers/search.js +11 -0
  570. package/integrations/notion/handlers/update_block.js +7 -0
  571. package/integrations/notion/handlers/update_database.js +10 -0
  572. package/integrations/notion/handlers/update_page_properties.js +10 -0
  573. package/integrations/notion/manifest.json +169 -0
  574. package/integrations/notion/prompt.md +26 -0
  575. package/integrations/notion/schemas/append_block_children.json +10 -0
  576. package/integrations/notion/schemas/create_comment.json +18 -0
  577. package/integrations/notion/schemas/create_database.json +18 -0
  578. package/integrations/notion/schemas/create_page.json +22 -0
  579. package/integrations/notion/schemas/delete_block.json +9 -0
  580. package/integrations/notion/schemas/empty.json +6 -0
  581. package/integrations/notion/schemas/id_block.json +9 -0
  582. package/integrations/notion/schemas/id_database.json +9 -0
  583. package/integrations/notion/schemas/id_page.json +9 -0
  584. package/integrations/notion/schemas/id_user.json +9 -0
  585. package/integrations/notion/schemas/list_block_children.json +11 -0
  586. package/integrations/notion/schemas/list_comments.json +15 -0
  587. package/integrations/notion/schemas/list_users.json +9 -0
  588. package/integrations/notion/schemas/query_database.json +13 -0
  589. package/integrations/notion/schemas/retrieve_page_property_item.json +12 -0
  590. package/integrations/notion/schemas/search.json +27 -0
  591. package/integrations/notion/schemas/update_block.json +10 -0
  592. package/integrations/notion/schemas/update_database.json +13 -0
  593. package/integrations/notion/schemas/update_page_properties.json +13 -0
  594. package/integrations/trello/.env.test.example +9 -0
  595. package/integrations/trello/README.md +50 -0
  596. package/integrations/trello/__tests__/get_handlers.test.ts +225 -0
  597. package/integrations/trello/__tests__/usage_parity.test.ts +9 -0
  598. package/integrations/trello/__tests__/write_and_admin_handlers.test.ts +171 -0
  599. package/integrations/trello/credentials.json +32 -0
  600. package/integrations/trello/credentials_hint.md +4 -0
  601. package/integrations/trello/handlers/add_checklist_to_card.js +5 -0
  602. package/integrations/trello/handlers/add_member_to_card.js +5 -0
  603. package/integrations/trello/handlers/archive_list.js +5 -0
  604. package/integrations/trello/handlers/close_board.js +6 -0
  605. package/integrations/trello/handlers/create_board.js +11 -0
  606. package/integrations/trello/handlers/create_card.js +13 -0
  607. package/integrations/trello/handlers/create_list.js +7 -0
  608. package/integrations/trello/handlers/delete_board.js +13 -0
  609. package/integrations/trello/handlers/delete_card.js +9 -0
  610. package/integrations/trello/handlers/get_board.js +4 -0
  611. package/integrations/trello/handlers/get_board_cards.js +4 -0
  612. package/integrations/trello/handlers/get_board_custom_fields.js +4 -0
  613. package/integrations/trello/handlers/get_board_labels.js +4 -0
  614. package/integrations/trello/handlers/get_board_lists.js +4 -0
  615. package/integrations/trello/handlers/get_board_members.js +4 -0
  616. package/integrations/trello/handlers/get_board_memberships.js +4 -0
  617. package/integrations/trello/handlers/get_card.js +4 -0
  618. package/integrations/trello/handlers/get_card_actions.js +4 -0
  619. package/integrations/trello/handlers/get_card_attachments.js +4 -0
  620. package/integrations/trello/handlers/get_card_checklists.js +4 -0
  621. package/integrations/trello/handlers/get_card_custom_field_items.js +4 -0
  622. package/integrations/trello/handlers/get_card_members.js +4 -0
  623. package/integrations/trello/handlers/get_list.js +4 -0
  624. package/integrations/trello/handlers/get_list_cards.js +4 -0
  625. package/integrations/trello/handlers/get_member.js +4 -0
  626. package/integrations/trello/handlers/get_member_boards.js +4 -0
  627. package/integrations/trello/handlers/get_member_organizations.js +4 -0
  628. package/integrations/trello/handlers/get_organization.js +4 -0
  629. package/integrations/trello/handlers/get_organization_boards.js +4 -0
  630. package/integrations/trello/handlers/move_card_to_list.js +5 -0
  631. package/integrations/trello/handlers/remove_member_from_card.js +9 -0
  632. package/integrations/trello/handlers/search.js +5 -0
  633. package/integrations/trello/handlers/update_card.js +19 -0
  634. package/integrations/trello/handlers/update_list.js +11 -0
  635. package/integrations/trello/manifest.json +245 -0
  636. package/integrations/trello/schemas/add_checklist_to_card.json +10 -0
  637. package/integrations/trello/schemas/add_member_to_card.json +10 -0
  638. package/integrations/trello/schemas/archive_list.json +9 -0
  639. package/integrations/trello/schemas/close_board.json +10 -0
  640. package/integrations/trello/schemas/create_board.json +12 -0
  641. package/integrations/trello/schemas/create_card.json +13 -0
  642. package/integrations/trello/schemas/create_list.json +11 -0
  643. package/integrations/trello/schemas/delete_board.json +10 -0
  644. package/integrations/trello/schemas/delete_card.json +9 -0
  645. package/integrations/trello/schemas/display_trello_cards.json +45 -0
  646. package/integrations/trello/schemas/empty.json +5 -0
  647. package/integrations/trello/schemas/get_member.json +5 -0
  648. package/integrations/trello/schemas/id_board.json +8 -0
  649. package/integrations/trello/schemas/id_card.json +8 -0
  650. package/integrations/trello/schemas/id_list.json +8 -0
  651. package/integrations/trello/schemas/id_org.json +8 -0
  652. package/integrations/trello/schemas/move_card_to_list.json +10 -0
  653. package/integrations/trello/schemas/remove_member_from_card.json +10 -0
  654. package/integrations/trello/schemas/search.json +8 -0
  655. package/integrations/trello/schemas/update_card.json +16 -0
  656. package/integrations/trello/schemas/update_list.json +12 -0
  657. package/package.json +4 -3
  658. package/dist/generated/registry.d.ts +0 -3
  659. package/dist/generated/registry.d.ts.map +0 -1
  660. package/dist/generated/registry.js +0 -11889
  661. package/dist/generated/registry.js.map +0 -1
  662. package/dist/types.d.ts +0 -88
  663. package/dist/types.d.ts.map +0 -1
  664. package/dist/types.js +0 -2
  665. package/dist/types.js.map +0 -1
@@ -0,0 +1,22 @@
1
+ async (input) => {
2
+ const body = {
3
+ spaceId: String(input.spaceId),
4
+ status: input.status || 'current',
5
+ title: String(input.title),
6
+ body: {
7
+ representation: 'storage',
8
+ value: String(input.bodyStorage),
9
+ },
10
+ }
11
+
12
+ if (input.parentId)
13
+ body.parentId = String(input.parentId)
14
+
15
+ const res = await integration.fetch('/wiki/api/v2/pages', {
16
+ method: 'POST',
17
+ body,
18
+ })
19
+
20
+ return await res.json()
21
+ }
22
+
@@ -0,0 +1,17 @@
1
+ async (input) => {
2
+ const pageId = encodeURIComponent(String(input.pageId))
3
+ const params = new URLSearchParams()
4
+ if (input.purge) params.set('purge', 'true')
5
+ if (input.draft) params.set('draft', 'true')
6
+
7
+ const res = await integration.fetch(`/wiki/api/v2/pages/${pageId}${params.toString() ? `?${params}` : ''}`, {
8
+ method: 'DELETE',
9
+ })
10
+
11
+ if (res.status === 204)
12
+ return { ok: true }
13
+
14
+ // Some proxies/APIs may still return JSON; try to parse.
15
+ try { return await res.json() } catch { return { ok: res.ok, status: res.status } }
16
+ }
17
+
@@ -0,0 +1,33 @@
1
+ async (input) => {
2
+ const pageId = encodeURIComponent(String(input.pageId))
3
+ const params = new URLSearchParams()
4
+
5
+ params.set('body-format', 'STORAGE')
6
+
7
+ const limit = typeof input.limit === 'number' ? input.limit : undefined
8
+ if (limit) params.set('limit', String(limit))
9
+ if (input.cursor) params.set('cursor', String(input.cursor))
10
+
11
+ const res = await integration.fetch(`/wiki/api/v2/pages/${pageId}/footer-comments?${params}`)
12
+ const data = await res.json()
13
+
14
+ const results = Array.isArray(data?.results)
15
+ ? data.results.map((c) => ({
16
+ id: c.id,
17
+ status: c.status,
18
+ title: c.title,
19
+ pageId: c.pageId,
20
+ version: c?.version?.number,
21
+ authorId: c?.version?.authorId,
22
+ createdAt: c?.version?.createdAt,
23
+ body: c?.body,
24
+ webui: c?._links?.webui,
25
+ }))
26
+ : []
27
+
28
+ return {
29
+ results,
30
+ links: data?._links || {},
31
+ }
32
+ }
33
+
@@ -0,0 +1,30 @@
1
+ async (input) => {
2
+ const pageId = encodeURIComponent(String(input.pageId))
3
+ const params = new URLSearchParams()
4
+
5
+ const limit = typeof input.limit === 'number' ? input.limit : undefined
6
+ if (limit) params.set('limit', String(limit))
7
+ if (input.cursor) params.set('cursor', String(input.cursor))
8
+ if (typeof input.sort === 'string' && input.sort) params.set('sort', input.sort)
9
+
10
+ const res = await integration.fetch(`/wiki/api/v2/pages/${pageId}/children${params.toString() ? `?${params}` : ''}`)
11
+ const data = await res.json()
12
+
13
+ const results = Array.isArray(data?.results)
14
+ ? data.results.map((c) => ({
15
+ id: c.id,
16
+ type: c.type,
17
+ status: c.status,
18
+ title: c.title,
19
+ parentId: c.parentId,
20
+ spaceId: c.spaceId,
21
+ links: c?._links || {},
22
+ }))
23
+ : []
24
+
25
+ return {
26
+ results,
27
+ links: data?._links || {},
28
+ }
29
+ }
30
+
@@ -0,0 +1,22 @@
1
+ async (input) => {
2
+ const spaceId = encodeURIComponent(String(input.spaceId))
3
+ const params = new URLSearchParams()
4
+ if (input.includePermissions) params.set('include-permissions', 'true')
5
+
6
+ const path = `/wiki/api/v2/spaces/${spaceId}${params.toString() ? `?${params}` : ''}`
7
+ const res = await integration.fetch(path)
8
+ const data = await res.json()
9
+
10
+ return {
11
+ id: data?.id,
12
+ key: data?.key,
13
+ name: data?.name,
14
+ type: data?.type,
15
+ status: data?.status,
16
+ homepageId: data?.homepageId,
17
+ description: data?.description,
18
+ links: data?._links || {},
19
+ raw: data,
20
+ }
21
+ }
22
+
@@ -0,0 +1,39 @@
1
+ async (input) => {
2
+ const params = new URLSearchParams()
3
+
4
+ if (Array.isArray(input.ids))
5
+ for (const id of input.ids) params.append('ids', String(id))
6
+ if (Array.isArray(input.keys))
7
+ for (const key of input.keys) params.append('keys', String(key))
8
+ if (typeof input.type === 'string' && input.type)
9
+ params.set('type', input.type)
10
+ if (typeof input.status === 'string' && input.status)
11
+ params.set('status', input.status)
12
+
13
+ const limit = typeof input.limit === 'number' ? input.limit : undefined
14
+ if (limit) params.set('limit', String(limit))
15
+
16
+ if (input.cursor) params.set('cursor', String(input.cursor))
17
+
18
+ const path = `/wiki/api/v2/spaces${params.toString() ? `?${params}` : ''}`
19
+ const res = await integration.fetch(path)
20
+ const data = await res.json()
21
+
22
+ const results = Array.isArray(data?.results)
23
+ ? data.results.map((s) => ({
24
+ id: s.id,
25
+ key: s.key,
26
+ name: s.name,
27
+ type: s.type,
28
+ status: s.status,
29
+ homepageId: s.homepageId,
30
+ webui: s?._links?.webui,
31
+ }))
32
+ : []
33
+
34
+ return {
35
+ results,
36
+ links: data?._links || {},
37
+ }
38
+ }
39
+
@@ -0,0 +1,49 @@
1
+ async (input) => {
2
+ const buildWebUrl = (links) => {
3
+ const base = links?.base
4
+ const webui = links?.webui
5
+ if (!webui) return null
6
+ if (/^https?:\/\//.test(webui)) return webui
7
+ if (base && /^https?:\/\//.test(base)) {
8
+ try { return new URL(webui, base).toString() } catch {}
9
+ }
10
+ return webui
11
+ }
12
+
13
+ const pageId = encodeURIComponent(String(input.pageId))
14
+
15
+ const params = new URLSearchParams()
16
+ params.set('body-format', 'storage')
17
+ if (input.includeLabels) params.set('include-labels', 'true')
18
+ if (input.includeProperties) params.set('include-properties', 'true')
19
+
20
+ const res = await integration.fetch(`/wiki/api/v2/pages/${pageId}?${params}`)
21
+ const data = await res.json()
22
+
23
+ const storage = data?.body?.storage
24
+ const storageValue = typeof storage === 'string'
25
+ ? storage
26
+ : (typeof storage?.value === 'string' ? storage.value : '')
27
+
28
+ const meta = {
29
+ id: data?.id,
30
+ title: data?.title,
31
+ spaceId: data?.spaceId,
32
+ parentId: data?.parentId,
33
+ status: data?.status,
34
+ version: data?.version?.number,
35
+ createdAt: data?.createdAt,
36
+ webUrl: buildWebUrl(data?._links),
37
+ labels: data?.labels?.results,
38
+ links: data?._links || {},
39
+ }
40
+
41
+ if (input.outputMarkdown) {
42
+ const md = storageValue ? (utils.html?.toMarkdown(storageValue) || '') : ''
43
+ const note = '\n\n---\n_System note: this is a Markdown representation of the page. If you intend to edit it, re-fetch without `outputMarkdown` to get the storage XHTML and avoid accidentally deleting macros or hidden content._'
44
+ return { ...meta, contentMarkdown: md ? md + note : null }
45
+ }
46
+
47
+ return { ...meta, contentStorage: storageValue || null }
48
+ }
49
+
@@ -0,0 +1,42 @@
1
+ async (input) => {
2
+ const limit = typeof input.limit === 'number' ? input.limit : 10
3
+ const start = typeof input.start === 'number' ? input.start : 0
4
+
5
+ const params = new URLSearchParams()
6
+ params.set('cql', String(input.cql))
7
+ params.set('limit', String(limit))
8
+ params.set('start', String(start))
9
+ params.set('expand', 'content.space,content.version')
10
+
11
+ const res = await integration.fetch(`/wiki/rest/api/search?${params}`)
12
+ const data = await res.json()
13
+
14
+ const results = Array.isArray(data?.results)
15
+ ? data.results
16
+ .map((r) => {
17
+ const c = r?.content || {}
18
+ return {
19
+ id: c.id,
20
+ type: c.type,
21
+ title: c.title,
22
+ spaceKey: c?.space?.key,
23
+ version: c?.version?.number,
24
+ lastModified: c?.version?.when,
25
+ excerpt: r?.excerpt,
26
+ webui: c?._links?.webui,
27
+ }
28
+ })
29
+ .filter((x) => x.id)
30
+ : []
31
+
32
+ return {
33
+ cql: input.cql,
34
+ start: data?.start ?? start,
35
+ limit: data?.limit ?? limit,
36
+ size: data?.size ?? results.length,
37
+ totalSize: data?.totalSize,
38
+ results,
39
+ links: data?._links || {},
40
+ }
41
+ }
42
+
@@ -0,0 +1,42 @@
1
+ async (input) => {
2
+ const pageId = encodeURIComponent(String(input.pageId))
3
+
4
+ // Fetch current page to get current version and preserve defaults.
5
+ const currentRes = await integration.fetch(`/wiki/api/v2/pages/${pageId}`)
6
+ const current = await currentRes.json()
7
+
8
+ const currentVersion = Number(current?.version?.number || 0)
9
+ if (!currentVersion)
10
+ throw new Error('Unable to determine current Confluence page version.')
11
+
12
+ const nextVersion = currentVersion + 1
13
+ const title = input.title ? String(input.title) : String(current?.title || '')
14
+ if (!title)
15
+ throw new Error('Missing page title (current page has no title and no new title was provided).')
16
+
17
+ const body = {
18
+ id: String(current?.id || input.pageId),
19
+ status: String(current?.status || 'current'),
20
+ title,
21
+ body: {
22
+ representation: 'storage',
23
+ value: String(input.bodyStorage),
24
+ },
25
+ version: {
26
+ number: nextVersion,
27
+ message: input.versionMessage ? String(input.versionMessage) : undefined,
28
+ minorEdit: Boolean(input.minorEdit),
29
+ },
30
+ }
31
+
32
+ // Remove undefined version message to keep payload clean.
33
+ if (body.version.message === undefined)
34
+ delete body.version.message
35
+
36
+ const res = await integration.fetch(`/wiki/api/v2/pages/${pageId}`, {
37
+ method: 'PUT',
38
+ body,
39
+ })
40
+ return await res.json()
41
+ }
42
+
@@ -0,0 +1,85 @@
1
+ {
2
+ "name": "confluence",
3
+ "version": "0.1.0",
4
+ "utils": ["html"],
5
+ "tools": [
6
+ {
7
+ "name": "list_spaces",
8
+ "description": "List Confluence spaces you can access. Use this to discover `spaceId`/`spaceKey` before searching or creating pages. Pagination uses `cursor` from the previous response.",
9
+ "inputSchema": "schemas/list_spaces.json",
10
+ "handler": "handlers/list_spaces.js",
11
+ "scope": "read"
12
+ },
13
+ {
14
+ "name": "get_space",
15
+ "description": "Get a Confluence space by `spaceId`, including its homepage and basic metadata.",
16
+ "inputSchema": "schemas/get_space.json",
17
+ "handler": "handlers/get_space.js",
18
+ "scope": "read"
19
+ },
20
+ {
21
+ "name": "search_pages",
22
+ "description": "Search for pages using CQL (Confluence Query Language). Use this as the primary discovery tool to find page IDs. Example CQL: `space = \"ENG\" AND type = page AND text ~ \"onboarding\" ORDER BY lastmodified DESC`.",
23
+ "inputSchema": "schemas/search_pages.json",
24
+ "handler": "handlers/search_pages.js",
25
+ "scope": "read"
26
+ },
27
+ {
28
+ "name": "read_page",
29
+ "description": "Read a page and return its content in Confluence storage format (XHTML). Set `outputMarkdown: true` to get Markdown instead — useful for quick reading or summarisation but lossy, do not use it if you plan to edit the page.",
30
+ "inputSchema": "schemas/read_page.json",
31
+ "handler": "handlers/read_page.js",
32
+ "scope": "read"
33
+ },
34
+ {
35
+ "name": "get_page_children",
36
+ "description": "List child content under a page (typically child pages). Use this to navigate page hierarchies and build a table-of-contents workflow.",
37
+ "inputSchema": "schemas/get_page_children.json",
38
+ "handler": "handlers/get_page_children.js",
39
+ "scope": "read"
40
+ },
41
+ {
42
+ "name": "get_comments",
43
+ "description": "List footer comments for a page, optionally including their child replies. Use this to review discussion threads on a page.",
44
+ "inputSchema": "schemas/get_comments.json",
45
+ "handler": "handlers/get_comments.js",
46
+ "scope": "read"
47
+ },
48
+ {
49
+ "name": "create_page",
50
+ "description": "Create a new Confluence page. Provide the body as Confluence storage format (XHTML). For simple pages you can use basic HTML like `<h1>`, `<p>`, `<ul>`, `<li>`, `<code>`, and links.",
51
+ "inputSchema": "schemas/create_page.json",
52
+ "handler": "handlers/create_page.js",
53
+ "scope": "write"
54
+ },
55
+ {
56
+ "name": "update_page",
57
+ "description": "Update an existing Confluence page. This tool auto-fetches the current version number and increments it, so you don't need to manage versioning. Provide the body as Confluence storage format (XHTML).",
58
+ "inputSchema": "schemas/update_page.json",
59
+ "handler": "handlers/update_page.js",
60
+ "scope": "write"
61
+ },
62
+ {
63
+ "name": "delete_page",
64
+ "description": "Delete a Confluence page (moves it to trash by default). Use carefully.",
65
+ "inputSchema": "schemas/delete_page.json",
66
+ "handler": "handlers/delete_page.js",
67
+ "scope": "write"
68
+ },
69
+ {
70
+ "name": "add_comment",
71
+ "description": "Add a footer comment to a Confluence page. Provide the body as Confluence storage format (XHTML). Optionally set `parentCommentId` to create a threaded reply.",
72
+ "inputSchema": "schemas/add_comment.json",
73
+ "handler": "handlers/add_comment.js",
74
+ "scope": "write"
75
+ },
76
+ {
77
+ "name": "add_label",
78
+ "description": "Add one or more labels to a Confluence page. Labels are useful for discovery via CQL (`label = \"...\"`).",
79
+ "inputSchema": "schemas/add_label.json",
80
+ "handler": "handlers/add_label.js",
81
+ "scope": "write"
82
+ }
83
+ ]
84
+ }
85
+
@@ -0,0 +1,55 @@
1
+ # Confluence usage guide
2
+
3
+ ## Recommended workflow
4
+
5
+ 1. Use `list_spaces` (or `search_pages`) to discover where content lives.
6
+ 2. Use `search_pages` with CQL to find the right page ID(s).
7
+ 3. Use `read_page` to get the page content as Confluence storage format (XHTML).
8
+ 4. For edits, use `update_page` with storage XHTML in `bodyStorage` (it automatically handles version increments).
9
+
10
+ ## Content format
11
+
12
+ All content is exchanged in **Confluence storage format (XHTML)**. This applies to both reads (`contentStorage` field in `read_page`) and writes (`bodyStorage` field in `create_page`, `update_page`, `add_comment`).
13
+
14
+ Common markup:
15
+
16
+ - Headings: `<h1>Title</h1>`, `<h2>Section</h2>`
17
+ - Paragraphs: `<p>Text</p>`
18
+ - Lists: `<ul><li>Item</li></ul>`, `<ol><li>Item</li></ol>`
19
+ - Inline code: `<code>const x = 1</code>`
20
+ - Code blocks: `<pre><code>...</code></pre>`
21
+ - Links: `<a href="https://example.com">Example</a>`
22
+ - Tables: `<table><tr><th>A</th></tr><tr><td>1</td></tr></table>`
23
+ - Macros: `<ac:structured-macro ac:name="info"><ac:rich-text-body><p>Note</p></ac:rich-text-body></ac:structured-macro>`
24
+
25
+ Using XHTML natively means round-tripping pages preserves all formatting, macros, and Confluence-specific markup.
26
+
27
+ `read_page` accepts `outputMarkdown: true` to return content as Markdown instead of XHTML.
28
+
29
+ ## CQL (Confluence Query Language) quick reference
30
+
31
+ Common patterns for `search_pages.cql`:
32
+
33
+ - Restrict to a space:
34
+ - `space = "ENG" AND type = page`
35
+ - Title match:
36
+ - `title ~ "runbook" AND type = page`
37
+ - Full-text match:
38
+ - `text ~ "oncall" AND type = page`
39
+ - Label match:
40
+ - `label = "runbook" AND type = page`
41
+ - Combine filters:
42
+ - `space = "ENG" AND type = page AND (title ~ "onboarding" OR text ~ "onboarding")`
43
+ - Sort:
44
+ - `... ORDER BY lastmodified DESC`
45
+
46
+ Tips:
47
+ - Prefer small `limit` (e.g. 10) and paginate with `start`.
48
+ - Use labels as a stable way to group pages for later discovery.
49
+
50
+ ## Page hierarchy
51
+
52
+ - Spaces contain pages.
53
+ - Pages can be nested under a parent page (`parentId`).
54
+ - Use `get_page_children` to traverse a documentation tree (e.g. a handbook or runbook index).
55
+
@@ -0,0 +1,22 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "pageId": {
5
+ "type": "string",
6
+ "title": "Page ID",
7
+ "description": "The Confluence page ID to comment on."
8
+ },
9
+ "bodyStorage": {
10
+ "type": "string",
11
+ "title": "Comment body (storage XHTML)",
12
+ "description": "Confluence storage format (XHTML) comment body."
13
+ },
14
+ "parentCommentId": {
15
+ "type": ["string", "null"],
16
+ "description": "Optional parent footer comment ID to create a threaded reply."
17
+ }
18
+ },
19
+ "required": ["pageId", "bodyStorage"],
20
+ "additionalProperties": false
21
+ }
22
+
@@ -0,0 +1,19 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "pageId": {
5
+ "type": "string",
6
+ "title": "Page ID",
7
+ "description": "The Confluence page ID."
8
+ },
9
+ "labels": {
10
+ "type": "array",
11
+ "minItems": 1,
12
+ "items": { "type": "string" },
13
+ "description": "Labels to add (without the `global:` prefix). Example: `design-doc`, `runbook`."
14
+ }
15
+ },
16
+ "required": ["pageId", "labels"],
17
+ "additionalProperties": false
18
+ }
19
+
@@ -0,0 +1,33 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "spaceId": {
5
+ "type": "string",
6
+ "title": "Space ID",
7
+ "description": "The space ID where the page will be created."
8
+ },
9
+ "title": {
10
+ "type": "string",
11
+ "title": "Title",
12
+ "description": "Page title."
13
+ },
14
+ "bodyStorage": {
15
+ "type": "string",
16
+ "title": "Body (storage XHTML)",
17
+ "description": "Confluence storage format (XHTML) body value."
18
+ },
19
+ "parentId": {
20
+ "type": ["string", "null"],
21
+ "description": "Optional parent page ID to create this page under."
22
+ },
23
+ "status": {
24
+ "type": "string",
25
+ "enum": ["current", "draft"],
26
+ "default": "current",
27
+ "description": "Create as published (current) or as a draft."
28
+ }
29
+ },
30
+ "required": ["spaceId", "title", "bodyStorage"],
31
+ "additionalProperties": false
32
+ }
33
+
@@ -0,0 +1,23 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "pageId": {
5
+ "type": "string",
6
+ "title": "Page ID",
7
+ "description": "The Confluence page ID."
8
+ },
9
+ "purge": {
10
+ "type": "boolean",
11
+ "default": false,
12
+ "description": "If true, permanently purge the page (only works for trashed pages with admin permission)."
13
+ },
14
+ "draft": {
15
+ "type": "boolean",
16
+ "default": false,
17
+ "description": "If true, delete a draft page."
18
+ }
19
+ },
20
+ "required": ["pageId"],
21
+ "additionalProperties": false
22
+ }
23
+
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {},
4
+ "additionalProperties": false
5
+ }
6
+
@@ -0,0 +1,24 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "pageId": {
5
+ "type": "string",
6
+ "title": "Page ID",
7
+ "description": "The Confluence page ID."
8
+ },
9
+ "limit": {
10
+ "type": "integer",
11
+ "minimum": 1,
12
+ "maximum": 250,
13
+ "default": 50,
14
+ "description": "Maximum number of comments to return."
15
+ },
16
+ "cursor": {
17
+ "type": ["string", "null"],
18
+ "description": "Pagination cursor from a previous response."
19
+ }
20
+ },
21
+ "required": ["pageId"],
22
+ "additionalProperties": false
23
+ }
24
+
@@ -0,0 +1,28 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "pageId": {
5
+ "type": "string",
6
+ "title": "Page ID",
7
+ "description": "The Confluence page ID."
8
+ },
9
+ "limit": {
10
+ "type": "integer",
11
+ "minimum": 1,
12
+ "maximum": 250,
13
+ "default": 50,
14
+ "description": "Maximum number of children to return."
15
+ },
16
+ "cursor": {
17
+ "type": ["string", "null"],
18
+ "description": "Pagination cursor from a previous response."
19
+ },
20
+ "sort": {
21
+ "type": "string",
22
+ "description": "Optional sort key (API-specific)."
23
+ }
24
+ },
25
+ "required": ["pageId"],
26
+ "additionalProperties": false
27
+ }
28
+
@@ -0,0 +1,18 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "spaceId": {
5
+ "type": "string",
6
+ "title": "Space ID",
7
+ "description": "The Confluence space ID."
8
+ },
9
+ "includePermissions": {
10
+ "type": "boolean",
11
+ "default": false,
12
+ "description": "If true, include permissions in the response (may be verbose)."
13
+ }
14
+ },
15
+ "required": ["spaceId"],
16
+ "additionalProperties": false
17
+ }
18
+
@@ -0,0 +1,36 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "ids": {
5
+ "type": "array",
6
+ "items": { "type": "string" },
7
+ "description": "Optional list of space IDs to filter by."
8
+ },
9
+ "keys": {
10
+ "type": "array",
11
+ "items": { "type": "string" },
12
+ "description": "Optional list of space keys to filter by."
13
+ },
14
+ "type": {
15
+ "type": "string",
16
+ "description": "Optional space type filter (e.g. global, personal)."
17
+ },
18
+ "status": {
19
+ "type": "string",
20
+ "description": "Optional space status filter (e.g. current, archived)."
21
+ },
22
+ "limit": {
23
+ "type": "integer",
24
+ "minimum": 1,
25
+ "maximum": 250,
26
+ "default": 50,
27
+ "description": "Maximum number of spaces to return."
28
+ },
29
+ "cursor": {
30
+ "type": ["string", "null"],
31
+ "description": "Pagination cursor from a previous response."
32
+ }
33
+ },
34
+ "additionalProperties": false
35
+ }
36
+