@commandable/integration-data 0.3.0 → 0.4.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.
- package/dist/credentials-index.d.ts +2 -7
- package/dist/credentials-index.d.ts.map +1 -1
- package/dist/credentials-index.js +11 -677
- package/dist/credentials-index.js.map +1 -1
- package/dist/generated/registry.d.ts +3 -0
- package/dist/generated/registry.d.ts.map +1 -0
- package/dist/generated/registry.js +11889 -0
- package/dist/generated/registry.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/loader.d.ts +1 -133
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +63 -194
- package/dist/loader.js.map +1 -1
- package/dist/tools.d.ts +2 -2
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +1 -1
- package/dist/tools.js.map +1 -1
- package/dist/types.d.ts +88 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +3 -4
- package/integrations/README.md +0 -52
- package/integrations/__tests__/liveHarness.ts +0 -97
- package/integrations/__tests__/usageParity.ts +0 -54
- package/integrations/airtable/.env.test +0 -9
- package/integrations/airtable/.env.test.example +0 -11
- package/integrations/airtable/README.md +0 -27
- package/integrations/airtable/__tests__/get_handlers.test.ts +0 -187
- package/integrations/airtable/__tests__/usage_parity.test.ts +0 -9
- package/integrations/airtable/__tests__/write_and_admin_handlers.test.ts +0 -116
- package/integrations/airtable/credentials.json +0 -26
- package/integrations/airtable/credentials_hint.md +0 -4
- package/integrations/airtable/handlers/create_record.js +0 -12
- package/integrations/airtable/handlers/delete_record.js +0 -7
- package/integrations/airtable/handlers/get_record.js +0 -4
- package/integrations/airtable/handlers/get_table_schema.js +0 -6
- package/integrations/airtable/handlers/list_bases.js +0 -4
- package/integrations/airtable/handlers/list_records.js +0 -25
- package/integrations/airtable/handlers/list_table_fields.js +0 -6
- package/integrations/airtable/handlers/list_tables.js +0 -4
- package/integrations/airtable/handlers/list_views.js +0 -6
- package/integrations/airtable/handlers/search_records.js +0 -6
- package/integrations/airtable/handlers/update_record.js +0 -11
- package/integrations/airtable/manifest.json +0 -83
- package/integrations/airtable/schemas/create_record.json +0 -12
- package/integrations/airtable/schemas/delete_record.json +0 -11
- package/integrations/airtable/schemas/empty.json +0 -6
- package/integrations/airtable/schemas/get_record.json +0 -11
- package/integrations/airtable/schemas/id_base.json +0 -9
- package/integrations/airtable/schemas/id_base_table.json +0 -10
- package/integrations/airtable/schemas/list_records.json +0 -26
- package/integrations/airtable/schemas/search_records.json +0 -12
- package/integrations/airtable/schemas/update_record.json +0 -13
- package/integrations/confluence/.env.test +0 -25
- package/integrations/confluence/.env.test.example +0 -36
- package/integrations/confluence/README.md +0 -28
- package/integrations/confluence/__tests__/get_handlers.test.ts +0 -121
- package/integrations/confluence/__tests__/usage_parity.test.ts +0 -14
- package/integrations/confluence/__tests__/write_handlers.test.ts +0 -131
- package/integrations/confluence/credentials.json +0 -39
- package/integrations/confluence/credentials_hint.md +0 -4
- package/integrations/confluence/credentials_hint_api_token.md +0 -9
- package/integrations/confluence/credentials_hint_oauth_token.md +0 -8
- package/integrations/confluence/handlers/add_comment.js +0 -19
- package/integrations/confluence/handlers/add_label.js +0 -16
- package/integrations/confluence/handlers/create_page.js +0 -22
- package/integrations/confluence/handlers/delete_page.js +0 -17
- package/integrations/confluence/handlers/get_comments.js +0 -33
- package/integrations/confluence/handlers/get_page_children.js +0 -30
- package/integrations/confluence/handlers/get_space.js +0 -22
- package/integrations/confluence/handlers/list_spaces.js +0 -39
- package/integrations/confluence/handlers/read_page.js +0 -49
- package/integrations/confluence/handlers/search_pages.js +0 -42
- package/integrations/confluence/handlers/update_page.js +0 -42
- package/integrations/confluence/manifest.json +0 -85
- package/integrations/confluence/prompt.md +0 -55
- package/integrations/confluence/schemas/add_comment.json +0 -22
- package/integrations/confluence/schemas/add_label.json +0 -19
- package/integrations/confluence/schemas/create_page.json +0 -33
- package/integrations/confluence/schemas/delete_page.json +0 -23
- package/integrations/confluence/schemas/empty.json +0 -6
- package/integrations/confluence/schemas/get_comments.json +0 -24
- package/integrations/confluence/schemas/get_page_children.json +0 -28
- package/integrations/confluence/schemas/get_space.json +0 -18
- package/integrations/confluence/schemas/list_spaces.json +0 -36
- package/integrations/confluence/schemas/read_page.json +0 -28
- package/integrations/confluence/schemas/search_pages.json +0 -26
- package/integrations/confluence/schemas/update_page.json +0 -31
- package/integrations/github/.env.test +0 -16
- package/integrations/github/.env.test.example +0 -17
- package/integrations/github/README.md +0 -75
- package/integrations/github/__tests__/get_handlers.test.ts +0 -305
- package/integrations/github/__tests__/usage_parity.test.ts +0 -22
- package/integrations/github/__tests__/write_handlers.test.ts +0 -496
- package/integrations/github/credentials.json +0 -47
- package/integrations/github/credentials_hint.md +0 -7
- package/integrations/github/credentials_hint_classic_pat.md +0 -8
- package/integrations/github/credentials_hint_fine_grained_pat.md +0 -9
- package/integrations/github/handlers/add_labels_to_issue.js +0 -12
- package/integrations/github/handlers/close_issue.js +0 -5
- package/integrations/github/handlers/comment_on_issue.js +0 -5
- package/integrations/github/handlers/create_branch.js +0 -33
- package/integrations/github/handlers/create_commit.js +0 -84
- package/integrations/github/handlers/create_file.js +0 -46
- package/integrations/github/handlers/create_issue.js +0 -10
- package/integrations/github/handlers/create_or_update_file.js +0 -21
- package/integrations/github/handlers/create_pull_request.js +0 -16
- package/integrations/github/handlers/create_pull_request_review.js +0 -10
- package/integrations/github/handlers/create_release.js +0 -14
- package/integrations/github/handlers/create_repo.js +0 -11
- package/integrations/github/handlers/delete_branch.js +0 -8
- package/integrations/github/handlers/delete_file.js +0 -22
- package/integrations/github/handlers/delete_repo.js +0 -6
- package/integrations/github/handlers/edit_file.js +0 -52
- package/integrations/github/handlers/edit_files.js +0 -107
- package/integrations/github/handlers/fork_repo.js +0 -10
- package/integrations/github/handlers/get_commit.js +0 -8
- package/integrations/github/handlers/get_file_contents.js +0 -21
- package/integrations/github/handlers/get_issue.js +0 -4
- package/integrations/github/handlers/get_job_logs.js +0 -6
- package/integrations/github/handlers/get_latest_release.js +0 -4
- package/integrations/github/handlers/get_me.js +0 -4
- package/integrations/github/handlers/get_pull_request.js +0 -4
- package/integrations/github/handlers/get_pull_request_diff.js +0 -8
- package/integrations/github/handlers/get_repo.js +0 -4
- package/integrations/github/handlers/get_repo_tree.js +0 -12
- package/integrations/github/handlers/get_workflow_run.js +0 -4
- package/integrations/github/handlers/list_branches.js +0 -9
- package/integrations/github/handlers/list_commits.js +0 -11
- package/integrations/github/handlers/list_issue_comments.js +0 -8
- package/integrations/github/handlers/list_issues.js +0 -11
- package/integrations/github/handlers/list_labels.js +0 -8
- package/integrations/github/handlers/list_pull_request_comments.js +0 -8
- package/integrations/github/handlers/list_pull_request_files.js +0 -8
- package/integrations/github/handlers/list_pull_requests.js +0 -13
- package/integrations/github/handlers/list_releases.js +0 -8
- package/integrations/github/handlers/list_repos_install.js +0 -4
- package/integrations/github/handlers/list_repos_user.js +0 -4
- package/integrations/github/handlers/list_tags.js +0 -8
- package/integrations/github/handlers/list_workflow_runs.js +0 -11
- package/integrations/github/handlers/merge_pull_request.js +0 -14
- package/integrations/github/handlers/request_pull_request_reviewers.js +0 -10
- package/integrations/github/handlers/search_code.js +0 -8
- package/integrations/github/handlers/search_issues.js +0 -8
- package/integrations/github/handlers/search_pull_requests.js +0 -8
- package/integrations/github/handlers/search_repos.js +0 -10
- package/integrations/github/handlers/update_issue.js +0 -15
- package/integrations/github/handlers/update_pull_request.js +0 -13
- package/integrations/github/manifest.json +0 -91
- package/integrations/github/prompt.md +0 -36
- package/integrations/github/schemas/add_labels_to_issue.json +0 -12
- package/integrations/github/schemas/close_issue.json +0 -10
- package/integrations/github/schemas/comment_on_issue.json +0 -11
- package/integrations/github/schemas/create_branch.json +0 -12
- package/integrations/github/schemas/create_commit.json +0 -25
- package/integrations/github/schemas/create_file.json +0 -13
- package/integrations/github/schemas/create_issue.json +0 -13
- package/integrations/github/schemas/create_or_update_file.json +0 -15
- package/integrations/github/schemas/create_pull_request.json +0 -15
- package/integrations/github/schemas/create_pull_request_review.json +0 -17
- package/integrations/github/schemas/create_release.json +0 -16
- package/integrations/github/schemas/create_repo.json +0 -12
- package/integrations/github/schemas/delete_branch.json +0 -10
- package/integrations/github/schemas/delete_file.json +0 -13
- package/integrations/github/schemas/delete_repo.json +0 -10
- package/integrations/github/schemas/edit_file.json +0 -26
- package/integrations/github/schemas/edit_files.json +0 -39
- package/integrations/github/schemas/empty.json +0 -5
- package/integrations/github/schemas/fork_repo.json +0 -11
- package/integrations/github/schemas/get_commit.json +0 -12
- package/integrations/github/schemas/get_file_contents.json +0 -11
- package/integrations/github/schemas/get_issue.json +0 -10
- package/integrations/github/schemas/get_job_logs.json +0 -10
- package/integrations/github/schemas/get_pull_request.json +0 -10
- package/integrations/github/schemas/get_pull_request_diff.json +0 -10
- package/integrations/github/schemas/get_repo.json +0 -9
- package/integrations/github/schemas/get_repo_tree.json +0 -12
- package/integrations/github/schemas/get_workflow_run.json +0 -10
- package/integrations/github/schemas/list_branches.json +0 -12
- package/integrations/github/schemas/list_commits.json +0 -14
- package/integrations/github/schemas/list_issue_comments.json +0 -12
- package/integrations/github/schemas/list_issues.json +0 -14
- package/integrations/github/schemas/list_labels.json +0 -11
- package/integrations/github/schemas/list_pull_request_comments.json +0 -12
- package/integrations/github/schemas/list_pull_request_files.json +0 -12
- package/integrations/github/schemas/list_pull_requests.json +0 -16
- package/integrations/github/schemas/list_releases.json +0 -11
- package/integrations/github/schemas/list_tags.json +0 -11
- package/integrations/github/schemas/list_workflow_runs.json +0 -18
- package/integrations/github/schemas/merge_pull_request.json +0 -14
- package/integrations/github/schemas/owner_repo.json +0 -9
- package/integrations/github/schemas/request_pull_request_reviewers.json +0 -20
- package/integrations/github/schemas/search_code.json +0 -10
- package/integrations/github/schemas/search_issues.json +0 -10
- package/integrations/github/schemas/search_pull_requests.json +0 -10
- package/integrations/github/schemas/search_repos.json +0 -12
- package/integrations/github/schemas/update_issue.json +0 -15
- package/integrations/github/schemas/update_pull_request.json +0 -15
- package/integrations/google-calendar/.env.test.example +0 -11
- package/integrations/google-calendar/README.md +0 -41
- package/integrations/google-calendar/__tests__/get_handlers.test.ts +0 -120
- package/integrations/google-calendar/__tests__/usage_parity.test.ts +0 -9
- package/integrations/google-calendar/__tests__/write_and_admin_handlers.test.ts +0 -155
- package/integrations/google-calendar/credentials.json +0 -59
- package/integrations/google-calendar/credentials_hint.md +0 -9
- package/integrations/google-calendar/credentials_hint_oauth_token.md +0 -8
- package/integrations/google-calendar/credentials_hint_service_account.md +0 -10
- package/integrations/google-calendar/handlers/create_event.js +0 -6
- package/integrations/google-calendar/handlers/delete_acl.js +0 -6
- package/integrations/google-calendar/handlers/delete_event.js +0 -7
- package/integrations/google-calendar/handlers/freebusy_query.js +0 -4
- package/integrations/google-calendar/handlers/get_acl.js +0 -5
- package/integrations/google-calendar/handlers/get_calendar.js +0 -4
- package/integrations/google-calendar/handlers/get_event.js +0 -9
- package/integrations/google-calendar/handlers/insert_acl.js +0 -6
- package/integrations/google-calendar/handlers/list_acl.js +0 -5
- package/integrations/google-calendar/handlers/list_calendars.js +0 -4
- package/integrations/google-calendar/handlers/list_colors.js +0 -4
- package/integrations/google-calendar/handlers/list_events.js +0 -23
- package/integrations/google-calendar/handlers/list_settings.js +0 -4
- package/integrations/google-calendar/handlers/move_event.js +0 -6
- package/integrations/google-calendar/handlers/patch_event.js +0 -5
- package/integrations/google-calendar/handlers/quick_add.js +0 -6
- package/integrations/google-calendar/handlers/update_acl.js +0 -7
- package/integrations/google-calendar/manifest.json +0 -35
- package/integrations/google-calendar/prompt.md +0 -68
- package/integrations/google-calendar/schemas/create_event.json +0 -34
- package/integrations/google-calendar/schemas/delete_acl.json +0 -9
- package/integrations/google-calendar/schemas/empty.json +0 -1
- package/integrations/google-calendar/schemas/freebusy_query.json +0 -13
- package/integrations/google-calendar/schemas/get_acl.json +0 -9
- package/integrations/google-calendar/schemas/id_calendar.json +0 -8
- package/integrations/google-calendar/schemas/id_calendar_event.json +0 -11
- package/integrations/google-calendar/schemas/insert_acl.json +0 -18
- package/integrations/google-calendar/schemas/list_events.json +0 -17
- package/integrations/google-calendar/schemas/move_event.json +0 -10
- package/integrations/google-calendar/schemas/patch_event.json +0 -10
- package/integrations/google-calendar/schemas/quick_add.json +0 -9
- package/integrations/google-calendar/schemas/update_acl.json +0 -10
- package/integrations/google-docs/README.md +0 -30
- package/integrations/google-docs/__tests__/get_handlers.test.ts +0 -83
- package/integrations/google-docs/__tests__/usage_parity.test.ts +0 -9
- package/integrations/google-docs/__tests__/write_handlers.test.ts +0 -238
- package/integrations/google-docs/credentials.json +0 -57
- package/integrations/google-docs/credentials_hint.md +0 -9
- package/integrations/google-docs/credentials_hint_oauth_token.md +0 -8
- package/integrations/google-docs/credentials_hint_service_account.md +0 -10
- package/integrations/google-docs/handlers/append_text.js +0 -12
- package/integrations/google-docs/handlers/batch_update.js +0 -13
- package/integrations/google-docs/handlers/create_document.js +0 -9
- package/integrations/google-docs/handlers/delete_first_match.js +0 -50
- package/integrations/google-docs/handlers/insert_inline_image_after_first_match.js +0 -41
- package/integrations/google-docs/handlers/insert_page_break_after_first_match.js +0 -49
- package/integrations/google-docs/handlers/insert_table_after_first_match.js +0 -49
- package/integrations/google-docs/handlers/insert_text_after_first_match.js +0 -51
- package/integrations/google-docs/handlers/read_document.js +0 -189
- package/integrations/google-docs/handlers/replace_all_text.js +0 -8
- package/integrations/google-docs/handlers/style_first_match.js +0 -42
- package/integrations/google-docs/handlers/update_document_style.js +0 -8
- package/integrations/google-docs/handlers/update_paragraph_style_for_first_match.js +0 -48
- package/integrations/google-docs/manifest.json +0 -43
- package/integrations/google-docs/prompt.md +0 -49
- package/integrations/google-docs/schemas/append_text.json +0 -10
- package/integrations/google-docs/schemas/apply_text_style.json +0 -13
- package/integrations/google-docs/schemas/batch_update.json +0 -16
- package/integrations/google-docs/schemas/create_document.json +0 -8
- package/integrations/google-docs/schemas/delete_content_range.json +0 -11
- package/integrations/google-docs/schemas/delete_first_match.json +0 -10
- package/integrations/google-docs/schemas/insert_inline_image.json +0 -12
- package/integrations/google-docs/schemas/insert_inline_image_after_first_match.json +0 -12
- package/integrations/google-docs/schemas/insert_page_break.json +0 -10
- package/integrations/google-docs/schemas/insert_page_break_after_first_match.json +0 -11
- package/integrations/google-docs/schemas/insert_table.json +0 -12
- package/integrations/google-docs/schemas/insert_table_after_first_match.json +0 -13
- package/integrations/google-docs/schemas/insert_text_after_first_match.json +0 -12
- package/integrations/google-docs/schemas/insert_text_at.json +0 -11
- package/integrations/google-docs/schemas/read_document.json +0 -12
- package/integrations/google-docs/schemas/replace_all_text.json +0 -12
- package/integrations/google-docs/schemas/style_first_match.json +0 -12
- package/integrations/google-docs/schemas/update_document_style.json +0 -11
- package/integrations/google-docs/schemas/update_paragraph_style.json +0 -13
- package/integrations/google-docs/schemas/update_paragraph_style_for_first_match.json +0 -12
- package/integrations/google-docs/todo.md +0 -18
- package/integrations/google-drive/README.md +0 -26
- package/integrations/google-drive/__tests__/handlers.test.ts +0 -145
- package/integrations/google-drive/__tests__/usage_parity.test.ts +0 -9
- package/integrations/google-drive/credentials.json +0 -59
- package/integrations/google-drive/credentials_hint_oauth_token.md +0 -8
- package/integrations/google-drive/credentials_hint_service_account.md +0 -10
- package/integrations/google-drive/handlers/create_file.js +0 -15
- package/integrations/google-drive/handlers/create_folder.js +0 -15
- package/integrations/google-drive/handlers/delete_file.js +0 -14
- package/integrations/google-drive/handlers/get_file.js +0 -5
- package/integrations/google-drive/handlers/get_file_content.js +0 -41
- package/integrations/google-drive/handlers/list_files.js +0 -15
- package/integrations/google-drive/handlers/move_file.js +0 -12
- package/integrations/google-drive/handlers/search_files.js +0 -20
- package/integrations/google-drive/handlers/share_file.js +0 -20
- package/integrations/google-drive/manifest.json +0 -69
- package/integrations/google-drive/prompt.md +0 -59
- package/integrations/google-drive/schemas/create_file.json +0 -12
- package/integrations/google-drive/schemas/create_folder.json +0 -11
- package/integrations/google-drive/schemas/delete_file.json +0 -10
- package/integrations/google-drive/schemas/get_file.json +0 -10
- package/integrations/google-drive/schemas/get_file_content.json +0 -11
- package/integrations/google-drive/schemas/list_files.json +0 -12
- package/integrations/google-drive/schemas/move_file.json +0 -12
- package/integrations/google-drive/schemas/search_files.json +0 -14
- package/integrations/google-drive/schemas/share_file.json +0 -23
- package/integrations/google-gmail/.env.test.example +0 -11
- package/integrations/google-gmail/README.md +0 -49
- package/integrations/google-gmail/__tests__/get_handlers.test.ts +0 -134
- package/integrations/google-gmail/__tests__/usage_parity.test.ts +0 -9
- package/integrations/google-gmail/__tests__/write_and_admin_handlers.test.ts +0 -211
- package/integrations/google-gmail/credentials.json +0 -59
- package/integrations/google-gmail/credentials_hint_oauth_token.md +0 -8
- package/integrations/google-gmail/credentials_hint_service_account.md +0 -10
- package/integrations/google-gmail/handlers/create_draft_email.js +0 -27
- package/integrations/google-gmail/handlers/create_label.js +0 -12
- package/integrations/google-gmail/handlers/delete_draft.js +0 -13
- package/integrations/google-gmail/handlers/delete_label.js +0 -13
- package/integrations/google-gmail/handlers/delete_message.js +0 -13
- package/integrations/google-gmail/handlers/delete_thread.js +0 -13
- package/integrations/google-gmail/handlers/get_draft.js +0 -6
- package/integrations/google-gmail/handlers/get_label.js +0 -6
- package/integrations/google-gmail/handlers/get_message.js +0 -14
- package/integrations/google-gmail/handlers/get_profile.js +0 -5
- package/integrations/google-gmail/handlers/get_thread.js +0 -14
- package/integrations/google-gmail/handlers/list_drafts.js +0 -15
- package/integrations/google-gmail/handlers/list_labels.js +0 -5
- package/integrations/google-gmail/handlers/list_messages.js +0 -19
- package/integrations/google-gmail/handlers/list_threads.js +0 -19
- package/integrations/google-gmail/handlers/modify_message.js +0 -11
- package/integrations/google-gmail/handlers/modify_thread.js +0 -11
- package/integrations/google-gmail/handlers/read_email.js +0 -56
- package/integrations/google-gmail/handlers/send_draft.js +0 -15
- package/integrations/google-gmail/handlers/send_email.js +0 -22
- package/integrations/google-gmail/handlers/trash_message.js +0 -6
- package/integrations/google-gmail/handlers/trash_thread.js +0 -6
- package/integrations/google-gmail/handlers/untrash_message.js +0 -6
- package/integrations/google-gmail/handlers/untrash_thread.js +0 -6
- package/integrations/google-gmail/handlers/update_label.js +0 -15
- package/integrations/google-gmail/manifest.json +0 -44
- package/integrations/google-gmail/prompt.md +0 -52
- package/integrations/google-gmail/schemas/create_draft_email.json +0 -16
- package/integrations/google-gmail/schemas/create_label.json +0 -26
- package/integrations/google-gmail/schemas/get_message.json +0 -20
- package/integrations/google-gmail/schemas/get_profile.json +0 -11
- package/integrations/google-gmail/schemas/get_thread.json +0 -20
- package/integrations/google-gmail/schemas/id_draft.json +0 -16
- package/integrations/google-gmail/schemas/id_label.json +0 -16
- package/integrations/google-gmail/schemas/id_message.json +0 -16
- package/integrations/google-gmail/schemas/id_thread.json +0 -16
- package/integrations/google-gmail/schemas/list_drafts.json +0 -30
- package/integrations/google-gmail/schemas/list_labels.json +0 -11
- package/integrations/google-gmail/schemas/list_messages.json +0 -35
- package/integrations/google-gmail/schemas/list_threads.json +0 -35
- package/integrations/google-gmail/schemas/modify_message.json +0 -24
- package/integrations/google-gmail/schemas/modify_thread.json +0 -24
- package/integrations/google-gmail/schemas/read_email.json +0 -10
- package/integrations/google-gmail/schemas/send_draft.json +0 -29
- package/integrations/google-gmail/schemas/send_email.json +0 -17
- package/integrations/google-gmail/schemas/update_label.json +0 -33
- package/integrations/google-sheet/README.md +0 -27
- package/integrations/google-sheet/__tests__/get_handlers.test.ts +0 -76
- package/integrations/google-sheet/__tests__/usage_parity.test.ts +0 -9
- package/integrations/google-sheet/__tests__/write_handlers.test.ts +0 -153
- package/integrations/google-sheet/credentials.json +0 -57
- package/integrations/google-sheet/credentials_hint.md +0 -9
- package/integrations/google-sheet/credentials_hint_oauth_token.md +0 -8
- package/integrations/google-sheet/credentials_hint_service_account.md +0 -10
- package/integrations/google-sheet/handlers/append_values.js +0 -18
- package/integrations/google-sheet/handlers/batch_clear_values.js +0 -6
- package/integrations/google-sheet/handlers/batch_update.js +0 -14
- package/integrations/google-sheet/handlers/batch_update_values.js +0 -16
- package/integrations/google-sheet/handlers/clear_values.js +0 -6
- package/integrations/google-sheet/handlers/copy_to_spreadsheet.js +0 -6
- package/integrations/google-sheet/handlers/create_spreadsheet.js +0 -5
- package/integrations/google-sheet/handlers/get_spreadsheet.js +0 -14
- package/integrations/google-sheet/handlers/read_sheet.js +0 -75
- package/integrations/google-sheet/handlers/update_values.js +0 -16
- package/integrations/google-sheet/manifest.json +0 -76
- package/integrations/google-sheet/prompt.md +0 -49
- package/integrations/google-sheet/schemas/append_values.json +0 -16
- package/integrations/google-sheet/schemas/batch_clear_values.json +0 -10
- package/integrations/google-sheet/schemas/batch_update.json +0 -13
- package/integrations/google-sheet/schemas/batch_update_values.json +0 -25
- package/integrations/google-sheet/schemas/clear_values.json +0 -10
- package/integrations/google-sheet/schemas/copy_to_spreadsheet.json +0 -11
- package/integrations/google-sheet/schemas/create_spreadsheet.json +0 -11
- package/integrations/google-sheet/schemas/get_spreadsheet.json +0 -16
- package/integrations/google-sheet/schemas/read_sheet.json +0 -21
- package/integrations/google-sheet/schemas/update_values.json +0 -15
- package/integrations/google-slides/README.md +0 -28
- package/integrations/google-slides/__tests__/get_handlers.test.ts +0 -74
- package/integrations/google-slides/__tests__/usage_parity.test.ts +0 -9
- package/integrations/google-slides/__tests__/write_handlers.test.ts +0 -131
- package/integrations/google-slides/credentials.json +0 -57
- package/integrations/google-slides/credentials_hint.md +0 -9
- package/integrations/google-slides/credentials_hint_oauth_token.md +0 -8
- package/integrations/google-slides/credentials_hint_service_account.md +0 -10
- package/integrations/google-slides/handlers/append_text_to_title_of_first_slide.js +0 -17
- package/integrations/google-slides/handlers/batch_update.js +0 -15
- package/integrations/google-slides/handlers/create_presentation.js +0 -8
- package/integrations/google-slides/handlers/create_slide_after_first_match.js +0 -20
- package/integrations/google-slides/handlers/get_page_thumbnail.js +0 -12
- package/integrations/google-slides/handlers/insert_image_after_first_match.js +0 -19
- package/integrations/google-slides/handlers/insert_shape_after_first_match.js +0 -21
- package/integrations/google-slides/handlers/read_presentation.js +0 -51
- package/integrations/google-slides/handlers/replace_text_first_match.js +0 -9
- package/integrations/google-slides/handlers/set_background_color_for_slide_index.js +0 -15
- package/integrations/google-slides/handlers/style_text_first_match.js +0 -48
- package/integrations/google-slides/manifest.json +0 -41
- package/integrations/google-slides/prompt.md +0 -56
- package/integrations/google-slides/schemas/append_text_to_title_of_first_slide.json +0 -11
- package/integrations/google-slides/schemas/batch_update.json +0 -13
- package/integrations/google-slides/schemas/create_presentation.json +0 -8
- package/integrations/google-slides/schemas/create_slide_after_first_match.json +0 -11
- package/integrations/google-slides/schemas/get_page_thumbnail.json +0 -12
- package/integrations/google-slides/schemas/get_presentation.json +0 -9
- package/integrations/google-slides/schemas/insert_image_after_first_match.json +0 -13
- package/integrations/google-slides/schemas/insert_shape_after_first_match.json +0 -13
- package/integrations/google-slides/schemas/replace_text_first_match.json +0 -12
- package/integrations/google-slides/schemas/set_background_color_for_slide_index.json +0 -11
- package/integrations/google-slides/schemas/style_text_first_match.json +0 -12
- package/integrations/hubspot/.env.test.example +0 -20
- package/integrations/hubspot/README.md +0 -48
- package/integrations/hubspot/__tests__/get_handlers.test.ts +0 -151
- package/integrations/hubspot/__tests__/usage_parity.test.ts +0 -10
- package/integrations/hubspot/__tests__/write_handlers.test.ts +0 -244
- package/integrations/hubspot/credentials.json +0 -50
- package/integrations/hubspot/credentials_hint.md +0 -20
- package/integrations/hubspot/credentials_hint_oauth_token.md +0 -16
- package/integrations/hubspot/handlers/archive_company.js +0 -13
- package/integrations/hubspot/handlers/archive_contact.js +0 -13
- package/integrations/hubspot/handlers/archive_deal.js +0 -13
- package/integrations/hubspot/handlers/archive_ticket.js +0 -13
- package/integrations/hubspot/handlers/create_association.js +0 -18
- package/integrations/hubspot/handlers/create_company.js +0 -13
- package/integrations/hubspot/handlers/create_contact.js +0 -14
- package/integrations/hubspot/handlers/create_deal.js +0 -16
- package/integrations/hubspot/handlers/create_note.js +0 -44
- package/integrations/hubspot/handlers/create_task.js +0 -48
- package/integrations/hubspot/handlers/create_ticket.js +0 -15
- package/integrations/hubspot/handlers/get_associations.js +0 -14
- package/integrations/hubspot/handlers/get_company.js +0 -18
- package/integrations/hubspot/handlers/get_contact.js +0 -18
- package/integrations/hubspot/handlers/get_deal.js +0 -18
- package/integrations/hubspot/handlers/get_ticket.js +0 -20
- package/integrations/hubspot/handlers/list_owners.js +0 -12
- package/integrations/hubspot/handlers/list_pipelines.js +0 -5
- package/integrations/hubspot/handlers/list_properties.js +0 -11
- package/integrations/hubspot/handlers/remove_association.js +0 -22
- package/integrations/hubspot/handlers/search_companies.js +0 -43
- package/integrations/hubspot/handlers/search_contacts.js +0 -43
- package/integrations/hubspot/handlers/search_deals.js +0 -43
- package/integrations/hubspot/handlers/search_notes.js +0 -43
- package/integrations/hubspot/handlers/search_tasks.js +0 -43
- package/integrations/hubspot/handlers/search_tickets.js +0 -43
- package/integrations/hubspot/handlers/update_company.js +0 -13
- package/integrations/hubspot/handlers/update_contact.js +0 -14
- package/integrations/hubspot/handlers/update_deal.js +0 -16
- package/integrations/hubspot/handlers/update_task.js +0 -17
- package/integrations/hubspot/handlers/update_ticket.js +0 -15
- package/integrations/hubspot/manifest.json +0 -230
- package/integrations/hubspot/prompt.md +0 -69
- package/integrations/hubspot/schemas/archive_company.json +0 -13
- package/integrations/hubspot/schemas/archive_contact.json +0 -13
- package/integrations/hubspot/schemas/archive_deal.json +0 -9
- package/integrations/hubspot/schemas/archive_ticket.json +0 -9
- package/integrations/hubspot/schemas/create_association.json +0 -24
- package/integrations/hubspot/schemas/create_company.json +0 -14
- package/integrations/hubspot/schemas/create_contact.json +0 -15
- package/integrations/hubspot/schemas/create_deal.json +0 -20
- package/integrations/hubspot/schemas/create_note.json +0 -37
- package/integrations/hubspot/schemas/create_task.json +0 -51
- package/integrations/hubspot/schemas/create_ticket.json +0 -16
- package/integrations/hubspot/schemas/empty.json +0 -6
- package/integrations/hubspot/schemas/get_associations.json +0 -30
- package/integrations/hubspot/schemas/get_company.json +0 -27
- package/integrations/hubspot/schemas/get_contact.json +0 -27
- package/integrations/hubspot/schemas/get_deal.json +0 -20
- package/integrations/hubspot/schemas/get_ticket.json +0 -20
- package/integrations/hubspot/schemas/list_owners.json +0 -25
- package/integrations/hubspot/schemas/list_pipelines.json +0 -13
- package/integrations/hubspot/schemas/list_properties.json +0 -17
- package/integrations/hubspot/schemas/remove_association.json +0 -24
- package/integrations/hubspot/schemas/search_companies.json +0 -56
- package/integrations/hubspot/schemas/search_contacts.json +0 -56
- package/integrations/hubspot/schemas/search_deals.json +0 -43
- package/integrations/hubspot/schemas/search_notes.json +0 -43
- package/integrations/hubspot/schemas/search_tasks.json +0 -43
- package/integrations/hubspot/schemas/search_tickets.json +0 -43
- package/integrations/hubspot/schemas/update_company.json +0 -20
- package/integrations/hubspot/schemas/update_contact.json +0 -21
- package/integrations/hubspot/schemas/update_deal.json +0 -19
- package/integrations/hubspot/schemas/update_task.json +0 -31
- package/integrations/hubspot/schemas/update_ticket.json +0 -18
- package/integrations/jira/.env.test +0 -46
- package/integrations/jira/.env.test.example +0 -41
- package/integrations/jira/README.md +0 -46
- package/integrations/jira/__tests__/get_handlers.test.ts +0 -193
- package/integrations/jira/__tests__/usage_parity.test.ts +0 -14
- package/integrations/jira/__tests__/write_handlers.test.ts +0 -157
- package/integrations/jira/credentials.json +0 -39
- package/integrations/jira/credentials_hint.md +0 -4
- package/integrations/jira/credentials_hint_api_token.md +0 -6
- package/integrations/jira/credentials_hint_oauth_token.md +0 -6
- package/integrations/jira/handlers/add_comment.js +0 -9
- package/integrations/jira/handlers/assign_issue.js +0 -11
- package/integrations/jira/handlers/create_issue.js +0 -37
- package/integrations/jira/handlers/create_sprint.js +0 -19
- package/integrations/jira/handlers/delete_issue.js +0 -10
- package/integrations/jira/handlers/get_backlog_issues.js +0 -13
- package/integrations/jira/handlers/get_board.js +0 -6
- package/integrations/jira/handlers/get_issue.js +0 -63
- package/integrations/jira/handlers/get_issue_comments.js +0 -31
- package/integrations/jira/handlers/get_myself.js +0 -14
- package/integrations/jira/handlers/get_project.js +0 -28
- package/integrations/jira/handlers/get_sprint.js +0 -5
- package/integrations/jira/handlers/get_sprint_issues.js +0 -13
- package/integrations/jira/handlers/get_transitions.js +0 -23
- package/integrations/jira/handlers/list_boards.js +0 -34
- package/integrations/jira/handlers/list_projects.js +0 -29
- package/integrations/jira/handlers/list_sprints.js +0 -29
- package/integrations/jira/handlers/move_issues_to_sprint.js +0 -11
- package/integrations/jira/handlers/search_issues.js +0 -43
- package/integrations/jira/handlers/search_users.js +0 -21
- package/integrations/jira/handlers/transition_issue.js +0 -44
- package/integrations/jira/handlers/update_issue.js +0 -40
- package/integrations/jira/handlers/update_sprint.js +0 -20
- package/integrations/jira/manifest.json +0 -204
- package/integrations/jira/prompt.md +0 -80
- package/integrations/jira/schemas/add_comment.json +0 -16
- package/integrations/jira/schemas/assign_issue.json +0 -16
- package/integrations/jira/schemas/create_issue.json +0 -49
- package/integrations/jira/schemas/create_sprint.json +0 -29
- package/integrations/jira/schemas/delete_issue.json +0 -12
- package/integrations/jira/schemas/empty.json +0 -6
- package/integrations/jira/schemas/get_backlog_issues.json +0 -33
- package/integrations/jira/schemas/get_board.json +0 -13
- package/integrations/jira/schemas/get_issue.json +0 -23
- package/integrations/jira/schemas/get_issue_comments.json +0 -23
- package/integrations/jira/schemas/get_project.json +0 -17
- package/integrations/jira/schemas/get_sprint.json +0 -13
- package/integrations/jira/schemas/get_sprint_issues.json +0 -33
- package/integrations/jira/schemas/get_transitions.json +0 -12
- package/integrations/jira/schemas/list_boards.json +0 -27
- package/integrations/jira/schemas/list_projects.json +0 -22
- package/integrations/jira/schemas/list_sprints.json +0 -29
- package/integrations/jira/schemas/move_issues_to_sprint.json +0 -19
- package/integrations/jira/schemas/search_issues.json +0 -28
- package/integrations/jira/schemas/search_users.json +0 -18
- package/integrations/jira/schemas/transition_issue.json +0 -38
- package/integrations/jira/schemas/update_issue.json +0 -47
- package/integrations/jira/schemas/update_sprint.json +0 -33
- package/integrations/new_integration_prompt.md +0 -216
- package/integrations/notion/.env.test +0 -10
- package/integrations/notion/.env.test.example +0 -13
- package/integrations/notion/README.md +0 -42
- package/integrations/notion/__tests__/get_handlers.test.ts +0 -156
- package/integrations/notion/__tests__/usage_parity.test.ts +0 -9
- package/integrations/notion/__tests__/write_and_admin_handlers.test.ts +0 -186
- package/integrations/notion/credentials.json +0 -27
- package/integrations/notion/credentials_hint.md +0 -5
- package/integrations/notion/handlers/append_block_children.js +0 -7
- package/integrations/notion/handlers/create_comment.js +0 -10
- package/integrations/notion/handlers/create_database.js +0 -11
- package/integrations/notion/handlers/create_page.js +0 -13
- package/integrations/notion/handlers/delete_block.js +0 -8
- package/integrations/notion/handlers/get_me.js +0 -4
- package/integrations/notion/handlers/list_block_children.js +0 -10
- package/integrations/notion/handlers/list_comments.js +0 -14
- package/integrations/notion/handlers/list_users.js +0 -10
- package/integrations/notion/handlers/query_database.js +0 -10
- package/integrations/notion/handlers/retrieve_block.js +0 -4
- package/integrations/notion/handlers/retrieve_database.js +0 -4
- package/integrations/notion/handlers/retrieve_page.js +0 -4
- package/integrations/notion/handlers/retrieve_page_property_item.js +0 -10
- package/integrations/notion/handlers/retrieve_user.js +0 -4
- package/integrations/notion/handlers/search.js +0 -11
- package/integrations/notion/handlers/update_block.js +0 -7
- package/integrations/notion/handlers/update_database.js +0 -10
- package/integrations/notion/handlers/update_page_properties.js +0 -10
- package/integrations/notion/manifest.json +0 -168
- package/integrations/notion/prompt.md +0 -26
- package/integrations/notion/schemas/append_block_children.json +0 -10
- package/integrations/notion/schemas/create_comment.json +0 -18
- package/integrations/notion/schemas/create_database.json +0 -18
- package/integrations/notion/schemas/create_page.json +0 -22
- package/integrations/notion/schemas/delete_block.json +0 -9
- package/integrations/notion/schemas/empty.json +0 -6
- package/integrations/notion/schemas/id_block.json +0 -9
- package/integrations/notion/schemas/id_database.json +0 -9
- package/integrations/notion/schemas/id_page.json +0 -9
- package/integrations/notion/schemas/id_user.json +0 -9
- package/integrations/notion/schemas/list_block_children.json +0 -11
- package/integrations/notion/schemas/list_comments.json +0 -15
- package/integrations/notion/schemas/list_users.json +0 -9
- package/integrations/notion/schemas/query_database.json +0 -13
- package/integrations/notion/schemas/retrieve_page_property_item.json +0 -12
- package/integrations/notion/schemas/search.json +0 -27
- package/integrations/notion/schemas/update_block.json +0 -10
- package/integrations/notion/schemas/update_database.json +0 -13
- package/integrations/notion/schemas/update_page_properties.json +0 -13
- package/integrations/trello/.env.test +0 -6
- package/integrations/trello/.env.test.example +0 -9
- package/integrations/trello/README.md +0 -50
- package/integrations/trello/__tests__/get_handlers.test.ts +0 -225
- package/integrations/trello/__tests__/usage_parity.test.ts +0 -9
- package/integrations/trello/__tests__/write_and_admin_handlers.test.ts +0 -171
- package/integrations/trello/credentials.json +0 -32
- package/integrations/trello/credentials_hint.md +0 -4
- package/integrations/trello/handlers/add_checklist_to_card.js +0 -5
- package/integrations/trello/handlers/add_member_to_card.js +0 -5
- package/integrations/trello/handlers/archive_list.js +0 -5
- package/integrations/trello/handlers/close_board.js +0 -6
- package/integrations/trello/handlers/create_board.js +0 -11
- package/integrations/trello/handlers/create_card.js +0 -13
- package/integrations/trello/handlers/create_list.js +0 -7
- package/integrations/trello/handlers/delete_board.js +0 -13
- package/integrations/trello/handlers/delete_card.js +0 -9
- package/integrations/trello/handlers/get_board.js +0 -4
- package/integrations/trello/handlers/get_board_cards.js +0 -4
- package/integrations/trello/handlers/get_board_custom_fields.js +0 -4
- package/integrations/trello/handlers/get_board_labels.js +0 -4
- package/integrations/trello/handlers/get_board_lists.js +0 -4
- package/integrations/trello/handlers/get_board_members.js +0 -4
- package/integrations/trello/handlers/get_board_memberships.js +0 -4
- package/integrations/trello/handlers/get_card.js +0 -4
- package/integrations/trello/handlers/get_card_actions.js +0 -4
- package/integrations/trello/handlers/get_card_attachments.js +0 -4
- package/integrations/trello/handlers/get_card_checklists.js +0 -4
- package/integrations/trello/handlers/get_card_custom_field_items.js +0 -4
- package/integrations/trello/handlers/get_card_members.js +0 -4
- package/integrations/trello/handlers/get_list.js +0 -4
- package/integrations/trello/handlers/get_list_cards.js +0 -4
- package/integrations/trello/handlers/get_member.js +0 -4
- package/integrations/trello/handlers/get_member_boards.js +0 -4
- package/integrations/trello/handlers/get_member_organizations.js +0 -4
- package/integrations/trello/handlers/get_organization.js +0 -4
- package/integrations/trello/handlers/get_organization_boards.js +0 -4
- package/integrations/trello/handlers/move_card_to_list.js +0 -5
- package/integrations/trello/handlers/remove_member_from_card.js +0 -9
- package/integrations/trello/handlers/search.js +0 -5
- package/integrations/trello/handlers/update_card.js +0 -19
- package/integrations/trello/handlers/update_list.js +0 -11
- package/integrations/trello/manifest.json +0 -252
- package/integrations/trello/schemas/add_checklist_to_card.json +0 -10
- package/integrations/trello/schemas/add_member_to_card.json +0 -10
- package/integrations/trello/schemas/archive_list.json +0 -9
- package/integrations/trello/schemas/close_board.json +0 -10
- package/integrations/trello/schemas/create_board.json +0 -12
- package/integrations/trello/schemas/create_card.json +0 -13
- package/integrations/trello/schemas/create_list.json +0 -11
- package/integrations/trello/schemas/delete_board.json +0 -10
- package/integrations/trello/schemas/delete_card.json +0 -9
- package/integrations/trello/schemas/display_trello_cards.json +0 -45
- package/integrations/trello/schemas/empty.json +0 -5
- package/integrations/trello/schemas/get_member.json +0 -5
- package/integrations/trello/schemas/id_board.json +0 -8
- package/integrations/trello/schemas/id_card.json +0 -8
- package/integrations/trello/schemas/id_list.json +0 -8
- package/integrations/trello/schemas/id_org.json +0 -8
- package/integrations/trello/schemas/move_card_to_list.json +0 -10
- package/integrations/trello/schemas/remove_member_from_card.json +0 -10
- package/integrations/trello/schemas/search.json +0 -8
- package/integrations/trello/schemas/update_card.json +0 -16
- package/integrations/trello/schemas/update_list.json +0 -12
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "object",
|
|
3
|
-
"properties": {
|
|
4
|
-
"sprintId": {
|
|
5
|
-
"type": "integer",
|
|
6
|
-
"minimum": 1,
|
|
7
|
-
"description": "Sprint ID."
|
|
8
|
-
},
|
|
9
|
-
"jql": {
|
|
10
|
-
"type": "string",
|
|
11
|
-
"description": "Optional additional JQL to filter sprint issues."
|
|
12
|
-
},
|
|
13
|
-
"fields": {
|
|
14
|
-
"type": "array",
|
|
15
|
-
"items": { "type": "string" },
|
|
16
|
-
"description": "Optional issue fields to include."
|
|
17
|
-
},
|
|
18
|
-
"startAt": {
|
|
19
|
-
"type": "integer",
|
|
20
|
-
"minimum": 0,
|
|
21
|
-
"default": 0
|
|
22
|
-
},
|
|
23
|
-
"maxResults": {
|
|
24
|
-
"type": "integer",
|
|
25
|
-
"minimum": 1,
|
|
26
|
-
"maximum": 100,
|
|
27
|
-
"default": 50
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
"required": ["sprintId"],
|
|
31
|
-
"additionalProperties": false
|
|
32
|
-
}
|
|
33
|
-
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "object",
|
|
3
|
-
"properties": {
|
|
4
|
-
"projectKeyOrId": {
|
|
5
|
-
"type": "string",
|
|
6
|
-
"description": "Optional project key (e.g. \"PROJ\") or project ID to filter boards."
|
|
7
|
-
},
|
|
8
|
-
"type": {
|
|
9
|
-
"type": "string",
|
|
10
|
-
"enum": ["scrum", "kanban"],
|
|
11
|
-
"description": "Optional board type filter."
|
|
12
|
-
},
|
|
13
|
-
"startAt": {
|
|
14
|
-
"type": "integer",
|
|
15
|
-
"minimum": 0,
|
|
16
|
-
"default": 0
|
|
17
|
-
},
|
|
18
|
-
"maxResults": {
|
|
19
|
-
"type": "integer",
|
|
20
|
-
"minimum": 1,
|
|
21
|
-
"maximum": 50,
|
|
22
|
-
"default": 50
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
"additionalProperties": false
|
|
26
|
-
}
|
|
27
|
-
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "object",
|
|
3
|
-
"properties": {
|
|
4
|
-
"query": {
|
|
5
|
-
"type": "string",
|
|
6
|
-
"description": "Optional search text to filter projects by name or key."
|
|
7
|
-
},
|
|
8
|
-
"startAt": {
|
|
9
|
-
"type": "integer",
|
|
10
|
-
"minimum": 0,
|
|
11
|
-
"default": 0
|
|
12
|
-
},
|
|
13
|
-
"maxResults": {
|
|
14
|
-
"type": "integer",
|
|
15
|
-
"minimum": 1,
|
|
16
|
-
"maximum": 50,
|
|
17
|
-
"default": 50
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
"additionalProperties": false
|
|
21
|
-
}
|
|
22
|
-
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "object",
|
|
3
|
-
"properties": {
|
|
4
|
-
"boardId": {
|
|
5
|
-
"type": "integer",
|
|
6
|
-
"minimum": 1,
|
|
7
|
-
"description": "Board ID."
|
|
8
|
-
},
|
|
9
|
-
"state": {
|
|
10
|
-
"type": "array",
|
|
11
|
-
"items": { "type": "string", "enum": ["future", "active", "closed"] },
|
|
12
|
-
"description": "Optional sprint states to include. If omitted, Jira returns all."
|
|
13
|
-
},
|
|
14
|
-
"startAt": {
|
|
15
|
-
"type": "integer",
|
|
16
|
-
"minimum": 0,
|
|
17
|
-
"default": 0
|
|
18
|
-
},
|
|
19
|
-
"maxResults": {
|
|
20
|
-
"type": "integer",
|
|
21
|
-
"minimum": 1,
|
|
22
|
-
"maximum": 50,
|
|
23
|
-
"default": 50
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
"required": ["boardId"],
|
|
27
|
-
"additionalProperties": false
|
|
28
|
-
}
|
|
29
|
-
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "object",
|
|
3
|
-
"properties": {
|
|
4
|
-
"sprintId": {
|
|
5
|
-
"type": "integer",
|
|
6
|
-
"minimum": 1,
|
|
7
|
-
"description": "Sprint ID."
|
|
8
|
-
},
|
|
9
|
-
"issueKeys": {
|
|
10
|
-
"type": "array",
|
|
11
|
-
"minItems": 1,
|
|
12
|
-
"items": { "type": "string" },
|
|
13
|
-
"description": "Issue keys to move into the sprint, e.g. [\"PROJ-1\",\"PROJ-2\"]."
|
|
14
|
-
}
|
|
15
|
-
},
|
|
16
|
-
"required": ["sprintId", "issueKeys"],
|
|
17
|
-
"additionalProperties": false
|
|
18
|
-
}
|
|
19
|
-
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "object",
|
|
3
|
-
"properties": {
|
|
4
|
-
"jql": {
|
|
5
|
-
"type": "string",
|
|
6
|
-
"title": "JQL",
|
|
7
|
-
"description": "Jira Query Language string, e.g. \"project = PROJ AND status != Done ORDER BY updated DESC\"."
|
|
8
|
-
},
|
|
9
|
-
"fields": {
|
|
10
|
-
"type": "array",
|
|
11
|
-
"items": { "type": "string" },
|
|
12
|
-
"description": "Optional list of fields to include (e.g. [\"summary\",\"status\",\"assignee\"]). If omitted, Jira uses its default set."
|
|
13
|
-
},
|
|
14
|
-
"maxResults": {
|
|
15
|
-
"type": "integer",
|
|
16
|
-
"minimum": 1,
|
|
17
|
-
"maximum": 200,
|
|
18
|
-
"default": 50
|
|
19
|
-
},
|
|
20
|
-
"nextPageToken": {
|
|
21
|
-
"type": ["string", "null"],
|
|
22
|
-
"description": "Token from a previous response to fetch the next page."
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
"required": ["jql"],
|
|
26
|
-
"additionalProperties": false
|
|
27
|
-
}
|
|
28
|
-
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "object",
|
|
3
|
-
"properties": {
|
|
4
|
-
"query": {
|
|
5
|
-
"type": "string",
|
|
6
|
-
"description": "Free-text query (name or email) to search users."
|
|
7
|
-
},
|
|
8
|
-
"maxResults": {
|
|
9
|
-
"type": "integer",
|
|
10
|
-
"minimum": 1,
|
|
11
|
-
"maximum": 100,
|
|
12
|
-
"default": 50
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
"required": ["query"],
|
|
16
|
-
"additionalProperties": false
|
|
17
|
-
}
|
|
18
|
-
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "object",
|
|
3
|
-
"properties": {
|
|
4
|
-
"issueIdOrKey": {
|
|
5
|
-
"type": "string",
|
|
6
|
-
"description": "Issue key like \"PROJ-123\" or numeric issue ID."
|
|
7
|
-
},
|
|
8
|
-
"transitionId": {
|
|
9
|
-
"type": "string",
|
|
10
|
-
"description": "Transition ID to apply. If omitted, provide transitionName."
|
|
11
|
-
},
|
|
12
|
-
"transitionName": {
|
|
13
|
-
"type": "string",
|
|
14
|
-
"description": "Human-readable transition name (case-insensitive). If provided, the handler will resolve it to an ID via get_transitions."
|
|
15
|
-
},
|
|
16
|
-
"commentText": {
|
|
17
|
-
"type": "string",
|
|
18
|
-
"description": "Optional comment to add during the transition (plain text, converted to ADF)."
|
|
19
|
-
},
|
|
20
|
-
"fields": {
|
|
21
|
-
"type": "object",
|
|
22
|
-
"description": "Optional Jira fields to set during the transition.",
|
|
23
|
-
"additionalProperties": true
|
|
24
|
-
},
|
|
25
|
-
"update": {
|
|
26
|
-
"type": "object",
|
|
27
|
-
"description": "Optional Jira update operations to apply during the transition.",
|
|
28
|
-
"additionalProperties": true
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
"required": ["issueIdOrKey"],
|
|
32
|
-
"anyOf": [
|
|
33
|
-
{ "required": ["transitionId"] },
|
|
34
|
-
{ "required": ["transitionName"] }
|
|
35
|
-
],
|
|
36
|
-
"additionalProperties": false
|
|
37
|
-
}
|
|
38
|
-
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "object",
|
|
3
|
-
"properties": {
|
|
4
|
-
"issueIdOrKey": {
|
|
5
|
-
"type": "string",
|
|
6
|
-
"description": "Issue key like \"PROJ-123\" or numeric issue ID."
|
|
7
|
-
},
|
|
8
|
-
"summary": {
|
|
9
|
-
"type": "string",
|
|
10
|
-
"description": "Set the issue summary/title."
|
|
11
|
-
},
|
|
12
|
-
"descriptionText": {
|
|
13
|
-
"type": "string",
|
|
14
|
-
"description": "Set the issue description as plain text (converted to ADF)."
|
|
15
|
-
},
|
|
16
|
-
"labels": {
|
|
17
|
-
"type": "array",
|
|
18
|
-
"items": { "type": "string" },
|
|
19
|
-
"description": "Set the full labels array (replaces existing labels)."
|
|
20
|
-
},
|
|
21
|
-
"priorityName": {
|
|
22
|
-
"type": "string",
|
|
23
|
-
"description": "Set priority by name."
|
|
24
|
-
},
|
|
25
|
-
"priorityId": {
|
|
26
|
-
"type": "string",
|
|
27
|
-
"description": "Set priority by ID."
|
|
28
|
-
},
|
|
29
|
-
"assigneeAccountId": {
|
|
30
|
-
"type": ["string", "null"],
|
|
31
|
-
"description": "Assign to this accountId, or null to unassign."
|
|
32
|
-
},
|
|
33
|
-
"fields": {
|
|
34
|
-
"type": "object",
|
|
35
|
-
"description": "Advanced: direct Jira fields object. This is passed through to the Jira API. Use only if you know Jira field formats.",
|
|
36
|
-
"additionalProperties": true
|
|
37
|
-
},
|
|
38
|
-
"update": {
|
|
39
|
-
"type": "object",
|
|
40
|
-
"description": "Advanced: Jira update operations object. Use for add/remove operations on fields like labels.",
|
|
41
|
-
"additionalProperties": true
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
"required": ["issueIdOrKey"],
|
|
45
|
-
"additionalProperties": false
|
|
46
|
-
}
|
|
47
|
-
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "object",
|
|
3
|
-
"properties": {
|
|
4
|
-
"sprintId": {
|
|
5
|
-
"type": "integer",
|
|
6
|
-
"minimum": 1,
|
|
7
|
-
"description": "Sprint ID to update."
|
|
8
|
-
},
|
|
9
|
-
"name": {
|
|
10
|
-
"type": "string",
|
|
11
|
-
"description": "New sprint name."
|
|
12
|
-
},
|
|
13
|
-
"goal": {
|
|
14
|
-
"type": "string",
|
|
15
|
-
"description": "Sprint goal."
|
|
16
|
-
},
|
|
17
|
-
"state": {
|
|
18
|
-
"type": "string",
|
|
19
|
-
"enum": ["future", "active", "closed"],
|
|
20
|
-
"description": "Sprint state. Use 'active' to start a sprint, 'closed' to end it. Transitioning to 'active' requires startDate."
|
|
21
|
-
},
|
|
22
|
-
"startDate": {
|
|
23
|
-
"type": "string",
|
|
24
|
-
"description": "Sprint start date (ISO 8601, e.g. 2024-01-15). Required when starting a sprint (state: active)."
|
|
25
|
-
},
|
|
26
|
-
"endDate": {
|
|
27
|
-
"type": "string",
|
|
28
|
-
"description": "Sprint end date (ISO 8601, e.g. 2024-01-29). Required when starting a sprint (state: active)."
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
"required": ["sprintId"],
|
|
32
|
-
"additionalProperties": false
|
|
33
|
-
}
|
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
## Task
|
|
2
|
-
|
|
3
|
-
Write a new integration-data folder for `<INTEGRATION_NAME>`.
|
|
4
|
-
|
|
5
|
-
## Required structure
|
|
6
|
-
|
|
7
|
-
Create `commandable-mcp/packages/integration-data/integrations/<name>/` containing:
|
|
8
|
-
|
|
9
|
-
- `manifest.json`: flat `tools[]`; each tool has `name`, `description`, `inputSchema` (relative path), `handler` (relative path), `scope` (`read` | `write` | optionally `admin`). If the integration has genuinely independent workflow areas, add a top-level `toolsets` map and a `toolset` field on each tool (see **Toolsets** section below).
|
|
10
|
-
- `schemas/*.json`: JSON Schema for each tool input. Prefer `additionalProperties: false` for strict contracts; use `true` only for pass-through bodies (common in Google APIs). Reuse `empty.json` for no-arg tools.
|
|
11
|
-
- `handlers/*.js`: async arrow functions `async (input) => { ... }` using `integration.fetch(path, init?)` for all HTTP calls. Pass `body` as a plain object (proxy will JSON-stringify). Return parsed JSON.
|
|
12
|
-
- `credentials.json`: `{ schema, injection }` where `schema` is JSON Schema for secrets and `injection` is `headers` and/or `query` templates using `{{placeholder}}`
|
|
13
|
-
- `credentials_hint.md`: **numbered steps** (1., 2., 3., …) telling a user exactly how to obtain/provide credentials
|
|
14
|
-
- `prompt.md` (optional): extra LLM guidance only if the API has non-obvious usage patterns
|
|
15
|
-
|
|
16
|
-
Also register the provider in `src/integrations/providerRegistry.ts` with its base URL and auth factory.
|
|
17
|
-
|
|
18
|
-
## Tool design goals
|
|
19
|
-
|
|
20
|
-
- **Default**: small, composable tools that mirror API resources.
|
|
21
|
-
- **Read tools**: side-effect free (GET only).
|
|
22
|
-
- **Write tools**: POST/PUT/PATCH/DELETE where appropriate.
|
|
23
|
-
- **Coverage**: start with core CRUD + list/search + get-by-id; add convenience tools after.
|
|
24
|
-
|
|
25
|
-
## When to go beyond REST proxying
|
|
26
|
-
|
|
27
|
-
Most handlers should be thin proxies (fetch → return JSON). Only add multi-step/orchestrating handlers when the raw API is genuinely hard for an LLM to use correctly, e.g.:
|
|
28
|
-
|
|
29
|
-
- multi-step workflows (GitHub tree → blob → commit → ref)
|
|
30
|
-
- required transforms (e.g. base64 encoding) that the caller shouldn’t manage
|
|
31
|
-
- awkward addressing that benefits from higher-level helpers (“find text then act” patterns like Docs/Slides)
|
|
32
|
-
|
|
33
|
-
If an endpoint is already clean and self-contained, just proxy it.
|
|
34
|
-
|
|
35
|
-
## Reference examples (follow exactly)
|
|
36
|
-
|
|
37
|
-
- `github/`: simple proxies + complex orchestration (`create_commit.js`)
|
|
38
|
-
- `notion/`: clean proxying + optional `prompt.md`
|
|
39
|
-
- `google-calendar/`: query param building + `read`/`write`/`admin` scopes
|
|
40
|
-
- `trello/`: query-param credential injection + `displayCards`
|
|
41
|
-
- `google-docs/`, `google-slides/`: higher-level write helpers over batchUpdate APIs
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
IMPORTANT: Think through how an AI agent might use an integration and any tweaks to the rest api that might be needed to support actual agentic use cases
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## Lessons from GSuite: what we changed and why
|
|
50
|
-
|
|
51
|
-
We overhauled all six Google integrations (Gmail, Drive, Calendar, Docs, Sheets, Slides) after benchmarking against taylorwilsdon's [google_workspace_mcp](https://github.com/taylorwilsdon/google_workspace_mcp) and reviewing MCP agent-consumption best practices. The principles below should guide every new integration.
|
|
52
|
-
|
|
53
|
-
### 1. `read_*` tools should return agent-friendly content, not raw API JSON
|
|
54
|
-
|
|
55
|
-
Raw API responses (nested JSON, base64-encoded bodies, massive resource trees) waste context tokens and force agents to write parsing logic they hallucinate. Instead:
|
|
56
|
-
|
|
57
|
-
- **Docs**: `read_document` converts the Docs API body into clean Markdown (headings, bold/italic/strikethrough, links, code spans, lists with nesting, tables). Falls back to plain text if conversion fails.
|
|
58
|
-
- **Sheets**: `read_sheet` returns a Markdown table with A1 column headers (A, B, C…) and row numbers, so the agent can immediately construct cell references like `B3` for writes.
|
|
59
|
-
- **Slides**: `read_presentation` extracts text from every slide's shapes and returns a human-readable summary with slide IDs, rather than the raw presentation resource.
|
|
60
|
-
- **Gmail**: `read_email` decodes base64 body parts and flattens headers into `{ subject, from, to, date, body }` instead of returning the nested payload tree.
|
|
61
|
-
|
|
62
|
-
**Pattern**: if the API returns structured data meant for programmatic consumption, build a `read_*` tool that converts it into the simplest text format an LLM can understand (usually Markdown). Reserve `get_*` tools for metadata that enables further API calls (e.g. `get_spreadsheet` for sheet names/IDs).
|
|
63
|
-
|
|
64
|
-
### 2. Delete tools that agents cannot realistically use
|
|
65
|
-
|
|
66
|
-
We deleted 14 tools that were either too programmatic, too verbose, or redundant:
|
|
67
|
-
|
|
68
|
-
- **DataFilter-based tools** (Sheets): `get_spreadsheet_by_data_filter`, `get_values_by_data_filter`, `batch_update_values_by_data_filter`, `batch_clear_values_by_data_filter` -- DataFilter objects are structured JSON that agents cannot construct reliably.
|
|
69
|
-
- **Developer metadata tools** (Sheets): `search_developer_metadata`, `get_developer_metadata` -- niche API that no agent workflow needs.
|
|
70
|
-
- **Raw RFC822 tools** (Gmail): `send_message`, `create_draft` -- require manual MIME construction and base64url encoding. Replaced by `send_email` and `create_draft_email` which accept flat fields (to, subject, body).
|
|
71
|
-
- **Redundant update tools** (Calendar): `update_event` (full PUT replace) removed in favour of `patch_event` (partial update), which is safer and more intuitive.
|
|
72
|
-
- **Raw read tools** (Docs): `get_document`, `get_document_structured`, `get_document_text` all replaced by the single `read_document` markdown tool.
|
|
73
|
-
- **Raw value tools** (Sheets): `get_values`, `batch_get_values` replaced by `read_sheet`.
|
|
74
|
-
|
|
75
|
-
**Pattern**: if a tool requires the agent to construct complex structured input (MIME encoding, DataFilter objects, GridRange specs), either abstract it away with a high-level tool or delete it. If multiple tools serve the same purpose at different abstraction levels, keep only the one agents can use.
|
|
76
|
-
|
|
77
|
-
### 3. Naming convention: `read_*` vs `get_*`
|
|
78
|
-
|
|
79
|
-
- **`read_*`** tools return content in agent-friendly format (Markdown, extracted text). These are the primary tools agents should use for consuming content.
|
|
80
|
-
- **`get_*`** tools return API metadata/resources for further programmatic calls (e.g. `get_spreadsheet` for sheet names/IDs, `get_file` for file metadata).
|
|
81
|
-
|
|
82
|
-
This naming tells the agent which tool to reach for when it wants to understand content vs when it needs IDs/metadata for a follow-up call.
|
|
83
|
-
|
|
84
|
-
### 4. Encode domain knowledge in Markdown table output (Sheets example)
|
|
85
|
-
|
|
86
|
-
For Sheets, the `read_sheet` tool returns a Markdown table with A1 column letters as headers and row numbers as the first column:
|
|
87
|
-
|
|
88
|
-
```
|
|
89
|
-
| | A | B | C |
|
|
90
|
-
|---|---------|---------|------|
|
|
91
|
-
| 1 | Name | Revenue | Cost |
|
|
92
|
-
| 2 | Widget | 1500 | 800 |
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
This means the agent sees "Widget's revenue is in B2" and can directly call `update_values` with range `Sheet1!B2`. The content and the addressing metadata are unified in a single output -- no need for a separate metadata call.
|
|
96
|
-
|
|
97
|
-
### 5. Abstract away encoding/transport complexity
|
|
98
|
-
|
|
99
|
-
The #1 anti-pattern in MCP tool design is exposing encoding details to the agent. Examples we fixed:
|
|
100
|
-
|
|
101
|
-
- **Gmail send/draft**: agents were expected to construct RFC822 MIME messages and base64url-encode them. Now `send_email` and `create_draft_email` accept flat fields and handle encoding internally.
|
|
102
|
-
- **Docs markdown**: agents were getting raw `body.content` JSON arrays. Now `read_document` walks the document tree and produces Markdown.
|
|
103
|
-
|
|
104
|
-
**Pattern**: if the API requires a transform (base64, MIME, URL encoding, JSON tree walking), do it in the handler. The agent should only deal with human-readable strings and simple key-value inputs.
|
|
105
|
-
|
|
106
|
-
#### Sandbox globals: use `btoa`/`atob`, not `Buffer`
|
|
107
|
-
|
|
108
|
-
Handlers run inside a locked-down VM sandbox. `Buffer` is explicitly set to `undefined` in the context — using it will throw `Cannot read properties of undefined (reading 'from')` at runtime. Use the Web-standard equivalents instead:
|
|
109
|
-
|
|
110
|
-
- **Encoding to base64url** (e.g. RFC822 MIME for Gmail):
|
|
111
|
-
```js
|
|
112
|
-
const raw = btoa(unescape(encodeURIComponent(str))).replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '')
|
|
113
|
-
```
|
|
114
|
-
- **Decoding base64url to UTF-8** (e.g. Gmail message body parts):
|
|
115
|
-
```js
|
|
116
|
-
const text = decodeURIComponent(escape(atob(data.replace(/-/g, '+').replace(/_/g, '/'))))
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
`btoa`/`atob`, `URL`, `URLSearchParams`, `encodeURIComponent`, `decodeURIComponent`, `unescape`, and `escape` are all available in the sandbox. `Buffer`, `process`, `require`, `fetch`, `eval`, `Function`, `setTimeout`, and `global` are not.
|
|
120
|
-
|
|
121
|
-
### 6. Rich tool descriptions are critical
|
|
122
|
-
|
|
123
|
-
Every tool description should include: what it does, when to use it (vs alternatives), key parameter hints, and cross-references to related tools. Examples:
|
|
124
|
-
|
|
125
|
-
- `read_sheet`: "...the coordinates in the output can be used directly with update_values and append_values for writes. Use get_spreadsheet first to discover sheet names."
|
|
126
|
-
- `send_email`: "...For replies, provide replyToMessageId and threadId to keep the reply in the same conversation thread."
|
|
127
|
-
- `patch_event`: "...Use this as the standard event update method."
|
|
128
|
-
|
|
129
|
-
### 7. `prompt.md` files should document non-obvious API patterns
|
|
130
|
-
|
|
131
|
-
Each integration's `prompt.md` should cover workflow guidance agents need but can't infer from tool descriptions alone:
|
|
132
|
-
|
|
133
|
-
- Gmail: search query syntax (`is:unread`, `from:`, `has:attachment`), threading pattern, system label IDs
|
|
134
|
-
- Calendar: RFC3339 format, `singleEvents=true` + `orderBy=startTime`, all-day vs timed events
|
|
135
|
-
- Sheets: A1 notation reference, `valueInputOption` (`USER_ENTERED` vs `RAW`), recommended read-then-write workflow
|
|
136
|
-
- Docs: index-based editing abstracted by first-match tools, marker pattern explanation
|
|
137
|
-
- Slides: EMU units, slide addressing (0-based index vs objectId), predefined layouts
|
|
138
|
-
|
|
139
|
-
### 8. Toolsets: grouping tools for LLM focus
|
|
140
|
-
|
|
141
|
-
Toolsets let users selectively enable subsets of an integration's tools so the LLM isn't drowned in irrelevant tool definitions. They reduce context-window pollution and improve tool selection accuracy.
|
|
142
|
-
|
|
143
|
-
**When to use toolsets (multi-toolset)**
|
|
144
|
-
|
|
145
|
-
Only add toolsets when the integration covers **genuinely independent agent workflows** -- work areas where an agent would realistically want one subset and NOT the others. The test: "would an agent doing task A ever need the tools from group B?" If the answer is usually yes, they belong in the same toolset.
|
|
146
|
-
|
|
147
|
-
Good splits (independent workflows):
|
|
148
|
-
- **GitHub**: Code & Files, Issues, Pull Requests, CI, Releases, Repository Management -- a PR reviewer doesn't need release tools.
|
|
149
|
-
- **Gmail**: Email (search + read + compose) vs Organize (label, archive, trash, delete) -- reading and replying is one workflow; inbox triage is another.
|
|
150
|
-
- **Calendar**: Events (the core scheduling workflow) vs Sharing (ACL/permission management most agents never touch).
|
|
151
|
-
- **Notion**: Pages (content, blocks, comments, users) vs Databases (query, create, update databases) -- distinct Notion concepts.
|
|
152
|
-
|
|
153
|
-
**When NOT to use toolsets (single toolset = omit entirely)**
|
|
154
|
-
|
|
155
|
-
If the integration is a single-purpose app where all tools serve one workflow, don't add `toolsets` at all. Tools without a `toolset` field always load, so omitting is clean and zero-ceremony.
|
|
156
|
-
|
|
157
|
-
Examples that are correctly single-toolset:
|
|
158
|
-
- **Google Docs** (12 tools): "edit a document" is one job. Splitting reading from editing or text from styling is splitting by code structure, not by user intent.
|
|
159
|
-
- **Google Sheets** (10 tools): "work with spreadsheet data" is one job.
|
|
160
|
-
- **Google Slides** (11 tools): "edit a presentation" is one job.
|
|
161
|
-
- **Google Drive** (9 tools): small integration, all file operations.
|
|
162
|
-
- **Trello** (34 tools): you can't work with cards without board context. It's one workflow.
|
|
163
|
-
- **Airtable** (11 tools): schema discovery and record operations are one workflow.
|
|
164
|
-
|
|
165
|
-
**Don't duplicate `scope`**
|
|
166
|
-
|
|
167
|
-
`scope` (read/write/admin) already controls access levels. If the only meaningful split is read vs write, that's handled. Toolsets are about **what domain you're working in**, not what permission level you have.
|
|
168
|
-
|
|
169
|
-
**Manifest structure** when toolsets are used:
|
|
170
|
-
|
|
171
|
-
```json
|
|
172
|
-
{
|
|
173
|
-
"toolsets": {
|
|
174
|
-
"events": {
|
|
175
|
-
"label": "Events",
|
|
176
|
-
"description": "Browse, schedule, and manage calendar events"
|
|
177
|
-
},
|
|
178
|
-
"sharing": {
|
|
179
|
-
"label": "Sharing",
|
|
180
|
-
"description": "Control who can access calendars"
|
|
181
|
-
}
|
|
182
|
-
},
|
|
183
|
-
"tools": [
|
|
184
|
-
{ "name": "list_events", ..., "toolset": "events" },
|
|
185
|
-
{ "name": "list_acl", ..., "toolset": "sharing" }
|
|
186
|
-
]
|
|
187
|
-
}
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
Each toolset key must be `snake_case`. Every tool must reference a key that exists in `toolsets`. The `label` is a short human-readable name; `description` is one sentence explaining what the toolset covers.
|
|
191
|
-
|
|
192
|
-
### 9. Reference implementation comparison
|
|
193
|
-
|
|
194
|
-
When building a new integration, check if an established open-source MCP server already exists for that API. Compare:
|
|
195
|
-
- Which tools do they include vs exclude?
|
|
196
|
-
- How do they format output for agent consumption?
|
|
197
|
-
- Do they have any abstraction patterns we should adopt?
|
|
198
|
-
|
|
199
|
-
taylorwilsdon's `google_workspace_mcp` was our reference. Key differences we adopted:
|
|
200
|
-
- Markdown content extraction (Docs, Slides)
|
|
201
|
-
- Flat-field email tools instead of raw MIME
|
|
202
|
-
- A1-annotated sheet output
|
|
203
|
-
- Removal of overly-programmatic tools (DataFilter, developer metadata)
|
|
204
|
-
- Text extraction from presentation slides instead of raw JSON
|
|
205
|
-
|
|
206
|
-
### 10. Escape hatches and plain-text fallbacks
|
|
207
|
-
|
|
208
|
-
Complex conversion logic (like Docs-to-Markdown) can fail on edge cases. Always include a fallback path. Our `read_document` handler attempts full Markdown conversion but falls back to plain-text extraction if the result is empty. This ensures the agent always gets something useful.
|
|
209
|
-
|
|
210
|
-
### 11. Future: native API format exports
|
|
211
|
-
|
|
212
|
-
Google Drive's `files.export` API now supports `text/markdown` as an export MIME type for Docs. We currently use custom Docs API -> Markdown conversion to keep the integration self-contained (no cross-API dependency on Drive scopes). A `todo.md` in `google-docs/` tracks this for future investigation when we add cross-provider fetch support.
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
Important hint - when researching a new integration - it can be really useful to read existing MCP servers for that integration. they may be open source and freely avaialable. This should give you an idea of the right kind of abstractions to use and tools to provide.
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
# Notion
|
|
2
|
-
# NOTION_TOKEN is your Notion **Internal Integration Secret**.
|
|
3
|
-
# Create it via:
|
|
4
|
-
# - `https://www.notion.so/profile/integrations/internal` (Internal Integration), OR
|
|
5
|
-
# - Notion UI: Settings & members → Connections → Develop or manage integrations
|
|
6
|
-
# Then share your anchor page with the integration.
|
|
7
|
-
NOTION_TOKEN=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
|
|
8
|
-
# Required for Notion write tests: anchor page id under which tests will create/archive a dedicated database per run
|
|
9
|
-
# Parent page ID is the last path segment of the page URL (32-char hex, with or without dashes).
|
|
10
|
-
NOTION_TEST_PARENT_PAGE_ID=315c13426a2080728c80c8155dddbbcb
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# Notion live integration tests
|
|
2
|
-
#
|
|
3
|
-
# NOTION_TOKEN is your Notion Internal Integration Secret.
|
|
4
|
-
# Create it via:
|
|
5
|
-
# - https://www.notion.so/profile/integrations/internal (Internal Integration), OR
|
|
6
|
-
# - Notion UI: Settings & members → Connections → Develop or manage integrations
|
|
7
|
-
# Then share your anchor page with the integration.
|
|
8
|
-
NOTION_TOKEN=
|
|
9
|
-
#
|
|
10
|
-
# Required for write tests: anchor page under which tests will create/archive a dedicated
|
|
11
|
-
# database per run. Parent page ID is the last path segment of the page URL
|
|
12
|
-
# (32-char hex, with or without dashes).
|
|
13
|
-
NOTION_TEST_PARENT_PAGE_ID=
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
# Notion
|
|
2
|
-
|
|
3
|
-
**19 tools** across 2 toolsets
|
|
4
|
-
|
|
5
|
-

|
|
6
|
-
|
|
7
|
-
## Credential variants
|
|
8
|
-
|
|
9
|
-
| Variant | Label |
|
|
10
|
-
|---|---|
|
|
11
|
-
| `internal_integration` | Internal Integration Token _(default)_ |
|
|
12
|
-
|
|
13
|
-
## Toolsets
|
|
14
|
-
|
|
15
|
-
| Toolset | Description |
|
|
16
|
-
|---|---|
|
|
17
|
-
| `pages` | Find, read, and edit Notion pages, blocks, comments, and users |
|
|
18
|
-
| `databases` | Query and manage Notion databases |
|
|
19
|
-
|
|
20
|
-
## Tools
|
|
21
|
-
|
|
22
|
-
| Tool | Scope | Toolset | Description |
|
|
23
|
-
|---|---|---|---|
|
|
24
|
-
| `search` | read | `pages` | Search across all accessible Notion content (pages, databases). |
|
|
25
|
-
| `retrieve_page` | read | `pages` | Retrieve a page by ID. |
|
|
26
|
-
| `retrieve_page_property_item` | read | `pages` | Retrieve a specific page property item (handles rollups and pagination). |
|
|
27
|
-
| `list_block_children` | read | `pages` | List child blocks for a block (including page blocks). |
|
|
28
|
-
| `retrieve_block` | read | `pages` | Retrieve a block by ID. |
|
|
29
|
-
| `list_users` | read | `pages` | List users in the workspace. |
|
|
30
|
-
| `retrieve_user` | read | `pages` | Retrieve a user by ID. |
|
|
31
|
-
| `list_comments` | read | `pages` | List comments for a given discussion or page block. |
|
|
32
|
-
| `get_me` | read | `pages` | Retrieve the authenticated user (bot) profile. |
|
|
33
|
-
| `create_page` | write | `pages` | Create a new page in a database or as a child of a page. |
|
|
34
|
-
| `update_page_properties` | write | `pages` | Update page properties, archive/unarchive, icon and cover. |
|
|
35
|
-
| `append_block_children` | write | `pages` | Append child blocks to a block (including page blocks). |
|
|
36
|
-
| `update_block` | write | `pages` | Update a block (content, archived state, etc). |
|
|
37
|
-
| `delete_block` | write | `pages` | Archive a block (soft delete). |
|
|
38
|
-
| `create_comment` | write | `pages` | Create a comment on a discussion or block. |
|
|
39
|
-
| `retrieve_database` | read | `databases` | Retrieve a database by ID. |
|
|
40
|
-
| `query_database` | read | `databases` | Query a database with optional filter, sorts, and pagination. |
|
|
41
|
-
| `create_database` | write | `databases` | Create a new database under a page. |
|
|
42
|
-
| `update_database` | write | `databases` | Update database title, description, properties, or archived state. |
|