@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,496 +0,0 @@
|
|
|
1
|
-
import { beforeAll, describe, expect, it } from 'vitest'
|
|
2
|
-
import { createCredentialStore, createIntegrationNode, createProxy, createToolbox, hasEnv } from '../../__tests__/liveHarness.js'
|
|
3
|
-
|
|
4
|
-
// LIVE GitHub write tests -- runs once per available credential variant.
|
|
5
|
-
// Required env vars (at least one):
|
|
6
|
-
// - _GITHUB_CLASSIC_PAT (tests all write tools including create_repo/delete_repo)
|
|
7
|
-
// - _GITHUB_FINE_GRAINED_PAT (tests write tools; create_repo/delete_repo are excluded for this variant)
|
|
8
|
-
// Plus:
|
|
9
|
-
// - _GITHUB_TEST_OWNER
|
|
10
|
-
// - _GITHUB_TEST_REPO
|
|
11
|
-
|
|
12
|
-
const env = process.env as Record<string, string | undefined>
|
|
13
|
-
|
|
14
|
-
interface VariantConfig {
|
|
15
|
-
key: string
|
|
16
|
-
token: string
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const variants: VariantConfig[] = [
|
|
20
|
-
{ key: 'classic_pat', token: env._GITHUB_CLASSIC_PAT || '' },
|
|
21
|
-
{ key: 'fine_grained_pat', token: env._GITHUB_FINE_GRAINED_PAT || '' },
|
|
22
|
-
].filter(v => v.token.trim().length > 0)
|
|
23
|
-
|
|
24
|
-
const hasWriteEnv = hasEnv('_GITHUB_TEST_OWNER', '_GITHUB_TEST_REPO')
|
|
25
|
-
const suiteOrSkip = (variants.length > 0 && hasWriteEnv) ? describe : describe.skip
|
|
26
|
-
|
|
27
|
-
async function withRetry<T>(
|
|
28
|
-
fn: () => Promise<T>,
|
|
29
|
-
{ maxAttempts = 3, delayMs = 2000, retryIf = (_e: unknown): boolean => true } = {},
|
|
30
|
-
): Promise<T> {
|
|
31
|
-
let lastError: unknown
|
|
32
|
-
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
33
|
-
try {
|
|
34
|
-
return await fn()
|
|
35
|
-
}
|
|
36
|
-
catch (error) {
|
|
37
|
-
lastError = error
|
|
38
|
-
if (attempt < maxAttempts && retryIf(error)) {
|
|
39
|
-
await new Promise(resolve => setTimeout(resolve, delayMs * attempt))
|
|
40
|
-
continue
|
|
41
|
-
}
|
|
42
|
-
break
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
throw lastError
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
suiteOrSkip('github write handlers (live)', () => {
|
|
49
|
-
for (const variant of variants) {
|
|
50
|
-
describe(`variant: ${variant.key}`, () => {
|
|
51
|
-
const ctx = {
|
|
52
|
-
owner: env._GITHUB_TEST_OWNER,
|
|
53
|
-
repo: env._GITHUB_TEST_REPO,
|
|
54
|
-
}
|
|
55
|
-
let toolbox: ReturnType<typeof createToolbox>
|
|
56
|
-
|
|
57
|
-
beforeAll(async () => {
|
|
58
|
-
const credentialStore = createCredentialStore(async () => ({ token: variant.token }))
|
|
59
|
-
const proxy = createProxy(credentialStore)
|
|
60
|
-
const node = createIntegrationNode('github', { credentialVariant: variant.key })
|
|
61
|
-
toolbox = createToolbox('github', proxy, node, variant.key)
|
|
62
|
-
}, 30000)
|
|
63
|
-
|
|
64
|
-
it('create_issue -> update_issue -> comment_on_issue -> list_issue_comments -> close_issue roundtrip', async () => {
|
|
65
|
-
if (!ctx.owner || !ctx.repo)
|
|
66
|
-
return expect(true).toBe(true)
|
|
67
|
-
|
|
68
|
-
const titleBase = `CmdTest Issue ${Date.now()}`
|
|
69
|
-
|
|
70
|
-
const create_issue = toolbox.write('create_issue')
|
|
71
|
-
const created = await create_issue({ owner: ctx.owner, repo: ctx.repo, title: titleBase, body: 'Initial body from test.' })
|
|
72
|
-
expect(created?.number).toBeTruthy()
|
|
73
|
-
const issue_number = created.number
|
|
74
|
-
|
|
75
|
-
const update_issue = toolbox.write('update_issue')
|
|
76
|
-
const updated = await update_issue({ owner: ctx.owner, repo: ctx.repo, issue_number, body: 'Updated body from test.' })
|
|
77
|
-
expect(updated?.number).toBe(issue_number)
|
|
78
|
-
|
|
79
|
-
const comment_on_issue = toolbox.write('comment_on_issue')
|
|
80
|
-
const comment = await comment_on_issue({ owner: ctx.owner, repo: ctx.repo, issue_number, body: 'A comment from test.' })
|
|
81
|
-
expect(comment?.id).toBeTruthy()
|
|
82
|
-
|
|
83
|
-
const list_issue_comments = toolbox.read('list_issue_comments')
|
|
84
|
-
const comments = await list_issue_comments({ owner: ctx.owner, repo: ctx.repo, issue_number })
|
|
85
|
-
expect(Array.isArray(comments)).toBe(true)
|
|
86
|
-
expect(comments.length).toBeGreaterThan(0)
|
|
87
|
-
|
|
88
|
-
const close_issue = toolbox.write('close_issue')
|
|
89
|
-
const closed = await close_issue({ owner: ctx.owner, repo: ctx.repo, issue_number })
|
|
90
|
-
expect(closed?.state).toBe('closed')
|
|
91
|
-
}, 90000)
|
|
92
|
-
|
|
93
|
-
it('fork_repo forks a public repo (best effort)', async () => {
|
|
94
|
-
if (!ctx.owner || !ctx.repo)
|
|
95
|
-
return expect(true).toBe(true)
|
|
96
|
-
const fork_repo = toolbox.write('fork_repo')
|
|
97
|
-
try {
|
|
98
|
-
const result = await fork_repo({ owner: ctx.owner, repo: ctx.repo })
|
|
99
|
-
// Fork returns the forked repo details
|
|
100
|
-
expect(result).toBeTruthy()
|
|
101
|
-
}
|
|
102
|
-
catch {
|
|
103
|
-
// May fail if repo is private or fork already exists -- that's ok
|
|
104
|
-
expect(true).toBe(true)
|
|
105
|
-
}
|
|
106
|
-
}, 30000)
|
|
107
|
-
|
|
108
|
-
it('create_release creates a draft release (classic_pat only)', async () => {
|
|
109
|
-
if (!toolbox.hasTool('write', 'create_repo'))
|
|
110
|
-
return expect(true).toBe(true)
|
|
111
|
-
if (!ctx.owner || !ctx.repo)
|
|
112
|
-
return expect(true).toBe(true)
|
|
113
|
-
const create_release = toolbox.write('create_release')
|
|
114
|
-
const tagName = `v0.0.0-test-${Date.now()}`
|
|
115
|
-
try {
|
|
116
|
-
const result = await create_release({
|
|
117
|
-
owner: ctx.owner,
|
|
118
|
-
repo: ctx.repo,
|
|
119
|
-
tag_name: tagName,
|
|
120
|
-
name: `Test Release ${tagName}`,
|
|
121
|
-
body: 'Draft release created by integration tests.',
|
|
122
|
-
draft: true,
|
|
123
|
-
})
|
|
124
|
-
expect(result?.tag_name).toBe(tagName)
|
|
125
|
-
expect(result?.draft).toBe(true)
|
|
126
|
-
}
|
|
127
|
-
catch {
|
|
128
|
-
// May fail if insufficient permissions -- that's ok
|
|
129
|
-
expect(true).toBe(true)
|
|
130
|
-
}
|
|
131
|
-
}, 30000)
|
|
132
|
-
|
|
133
|
-
it('create_repo -> delete_repo lifecycle (classic_pat only)', async () => {
|
|
134
|
-
if (!toolbox.hasTool('write', 'create_repo')) {
|
|
135
|
-
return expect(true).toBe(true)
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
const repoName = `cmdtest-repo-${Date.now()}`
|
|
139
|
-
|
|
140
|
-
const create_repo = toolbox.write('create_repo')
|
|
141
|
-
const created = await create_repo({
|
|
142
|
-
name: repoName,
|
|
143
|
-
description: 'Test repo created by integration tests',
|
|
144
|
-
private: true,
|
|
145
|
-
auto_init: true,
|
|
146
|
-
})
|
|
147
|
-
expect(created?.name).toBe(repoName)
|
|
148
|
-
|
|
149
|
-
const createdOwner = created?.owner?.login
|
|
150
|
-
expect(createdOwner).toBeTruthy()
|
|
151
|
-
expect(created?.full_name).toBe(`${createdOwner}/${repoName}`)
|
|
152
|
-
|
|
153
|
-
await new Promise(resolve => setTimeout(resolve, 3000))
|
|
154
|
-
|
|
155
|
-
const delete_repo = toolbox.write('delete_repo')
|
|
156
|
-
const deleted = await delete_repo({ owner: createdOwner, repo: repoName })
|
|
157
|
-
expect(deleted?.success).toBe(true)
|
|
158
|
-
expect(deleted?.status).toBe(204)
|
|
159
|
-
}, 90000)
|
|
160
|
-
|
|
161
|
-
it('create_file: create, overwrite, and verify', async () => {
|
|
162
|
-
if (!ctx.owner || !ctx.repo)
|
|
163
|
-
return expect(true).toBe(true)
|
|
164
|
-
|
|
165
|
-
const timestamp = Date.now()
|
|
166
|
-
const branchName = `test-create-file-${timestamp}`
|
|
167
|
-
const filePath = `test-create-${timestamp}.txt`
|
|
168
|
-
|
|
169
|
-
const create_branch = toolbox.write('create_branch')
|
|
170
|
-
const branch = await create_branch({ owner: ctx.owner, repo: ctx.repo, branch: branchName })
|
|
171
|
-
expect(branch?.ref).toBe(`refs/heads/${branchName}`)
|
|
172
|
-
|
|
173
|
-
const create_file = toolbox.write('create_file')
|
|
174
|
-
const created = await create_file({
|
|
175
|
-
owner: ctx.owner,
|
|
176
|
-
repo: ctx.repo,
|
|
177
|
-
branch: branchName,
|
|
178
|
-
path: filePath,
|
|
179
|
-
content: `Test content with UTF-8: Hello 世界 🌍\nCreated at ${timestamp}`,
|
|
180
|
-
message: `Add test file ${timestamp}`,
|
|
181
|
-
})
|
|
182
|
-
expect(created?.commit?.sha).toBeTruthy()
|
|
183
|
-
expect(created?.file?.path).toBe(filePath)
|
|
184
|
-
expect(created?.file?.action).toBe('created')
|
|
185
|
-
|
|
186
|
-
// Overwrite the same file
|
|
187
|
-
const overwritten = await withRetry(
|
|
188
|
-
() => create_file({
|
|
189
|
-
owner: ctx.owner,
|
|
190
|
-
repo: ctx.repo,
|
|
191
|
-
branch: branchName,
|
|
192
|
-
path: filePath,
|
|
193
|
-
content: `Overwritten content at ${timestamp}`,
|
|
194
|
-
message: `Overwrite test file ${timestamp}`,
|
|
195
|
-
}),
|
|
196
|
-
{ maxAttempts: 3, delayMs: 2000 },
|
|
197
|
-
)
|
|
198
|
-
expect(overwritten?.commit?.sha).toBeTruthy()
|
|
199
|
-
expect(overwritten?.file?.action).toBe('overwritten')
|
|
200
|
-
|
|
201
|
-
// Verify content -- retry until the Contents API reflects the overwrite
|
|
202
|
-
const get_file_contents = toolbox.read('get_file_contents')
|
|
203
|
-
const contents = await withRetry(
|
|
204
|
-
async () => {
|
|
205
|
-
const c = await get_file_contents({
|
|
206
|
-
owner: ctx.owner,
|
|
207
|
-
repo: ctx.repo,
|
|
208
|
-
path: filePath,
|
|
209
|
-
ref: branchName,
|
|
210
|
-
})
|
|
211
|
-
if (!c?.content?.includes('Overwritten content'))
|
|
212
|
-
throw new Error('stale content: overwrite not yet visible')
|
|
213
|
-
return c
|
|
214
|
-
},
|
|
215
|
-
{ maxAttempts: 5, delayMs: 1500 },
|
|
216
|
-
)
|
|
217
|
-
expect(contents?.content).toContain('Overwritten content')
|
|
218
|
-
|
|
219
|
-
// delete_file without SHA (auto-fetches it)
|
|
220
|
-
const delete_file = toolbox.write('delete_file')
|
|
221
|
-
const deleted = await delete_file({
|
|
222
|
-
owner: ctx.owner,
|
|
223
|
-
repo: ctx.repo,
|
|
224
|
-
path: filePath,
|
|
225
|
-
message: `Delete test file ${timestamp}`,
|
|
226
|
-
branch: branchName,
|
|
227
|
-
})
|
|
228
|
-
expect(deleted?.commit?.message).toBe(`Delete test file ${timestamp}`)
|
|
229
|
-
|
|
230
|
-
const delete_branch = toolbox.write('delete_branch')
|
|
231
|
-
await delete_branch({ owner: ctx.owner, repo: ctx.repo, branch: branchName })
|
|
232
|
-
}, 120000)
|
|
233
|
-
|
|
234
|
-
it('edit_file: search/replace on a single file', async () => {
|
|
235
|
-
if (!ctx.owner || !ctx.repo)
|
|
236
|
-
return expect(true).toBe(true)
|
|
237
|
-
|
|
238
|
-
const timestamp = Date.now()
|
|
239
|
-
const branchName = `test-edit-file-${timestamp}`
|
|
240
|
-
const filePath = `test-edit-${timestamp}.txt`
|
|
241
|
-
|
|
242
|
-
const create_branch = toolbox.write('create_branch')
|
|
243
|
-
await create_branch({ owner: ctx.owner, repo: ctx.repo, branch: branchName })
|
|
244
|
-
|
|
245
|
-
// Seed a file to edit
|
|
246
|
-
const create_file = toolbox.write('create_file')
|
|
247
|
-
await create_file({
|
|
248
|
-
owner: ctx.owner,
|
|
249
|
-
repo: ctx.repo,
|
|
250
|
-
branch: branchName,
|
|
251
|
-
path: filePath,
|
|
252
|
-
content: 'line 1: hello world\nline 2: foo bar\nline 3: goodbye world\n',
|
|
253
|
-
message: `Seed file for edit test ${timestamp}`,
|
|
254
|
-
})
|
|
255
|
-
|
|
256
|
-
// Apply search/replace edits
|
|
257
|
-
const edit_file = toolbox.write('edit_file')
|
|
258
|
-
const edited = await withRetry(
|
|
259
|
-
() => edit_file({
|
|
260
|
-
owner: ctx.owner,
|
|
261
|
-
repo: ctx.repo,
|
|
262
|
-
branch: branchName,
|
|
263
|
-
path: filePath,
|
|
264
|
-
edits: [
|
|
265
|
-
{ old_text: 'hello world', new_text: 'hello universe' },
|
|
266
|
-
{ old_text: 'foo bar', new_text: 'baz qux' },
|
|
267
|
-
],
|
|
268
|
-
message: `Edit file ${timestamp}`,
|
|
269
|
-
}),
|
|
270
|
-
{ maxAttempts: 3, delayMs: 2000 },
|
|
271
|
-
)
|
|
272
|
-
expect(edited?.commit?.sha).toBeTruthy()
|
|
273
|
-
expect(edited?.file?.path).toBe(filePath)
|
|
274
|
-
|
|
275
|
-
// Verify edits applied -- retry until the Contents API reflects the new commit
|
|
276
|
-
const get_file_contents = toolbox.read('get_file_contents')
|
|
277
|
-
const contents = await withRetry(
|
|
278
|
-
async () => {
|
|
279
|
-
const c = await get_file_contents({
|
|
280
|
-
owner: ctx.owner,
|
|
281
|
-
repo: ctx.repo,
|
|
282
|
-
path: filePath,
|
|
283
|
-
ref: branchName,
|
|
284
|
-
})
|
|
285
|
-
if (!c?.content?.includes('hello universe'))
|
|
286
|
-
throw new Error('stale content: edit not yet visible')
|
|
287
|
-
return c
|
|
288
|
-
},
|
|
289
|
-
{ maxAttempts: 5, delayMs: 1500 },
|
|
290
|
-
)
|
|
291
|
-
expect(contents?.content).toContain('hello universe')
|
|
292
|
-
expect(contents?.content).toContain('baz qux')
|
|
293
|
-
expect(contents?.content).toContain('goodbye world')
|
|
294
|
-
expect(contents?.content).not.toContain('hello world')
|
|
295
|
-
|
|
296
|
-
const delete_branch = toolbox.write('delete_branch')
|
|
297
|
-
await delete_branch({ owner: ctx.owner, repo: ctx.repo, branch: branchName })
|
|
298
|
-
}, 120000)
|
|
299
|
-
|
|
300
|
-
it('edit_files: mixed create, edit, delete in one atomic commit', async () => {
|
|
301
|
-
if (!ctx.owner || !ctx.repo)
|
|
302
|
-
return expect(true).toBe(true)
|
|
303
|
-
|
|
304
|
-
const timestamp = Date.now()
|
|
305
|
-
const branchName = `test-edit-files-${timestamp}`
|
|
306
|
-
|
|
307
|
-
const create_branch = toolbox.write('create_branch')
|
|
308
|
-
const branch = await create_branch({ owner: ctx.owner, repo: ctx.repo, branch: branchName })
|
|
309
|
-
expect(branch?.ref).toBe(`refs/heads/${branchName}`)
|
|
310
|
-
|
|
311
|
-
// Seed initial files via edit_files (create action)
|
|
312
|
-
const edit_files = toolbox.write('edit_files')
|
|
313
|
-
const commit1 = await edit_files({
|
|
314
|
-
owner: ctx.owner,
|
|
315
|
-
repo: ctx.repo,
|
|
316
|
-
branch: branchName,
|
|
317
|
-
message: `Add initial files ${timestamp}`,
|
|
318
|
-
files: [
|
|
319
|
-
{ path: `multi-test/file1-${timestamp}.txt`, action: 'create', content: 'Content of file 1' },
|
|
320
|
-
{ path: `multi-test/file2-${timestamp}.txt`, action: 'create', content: 'Content of file 2' },
|
|
321
|
-
{ path: `multi-test/file3-${timestamp}.md`, action: 'create', content: '# Test File 3\n\nWith UTF-8: 你好 🚀' },
|
|
322
|
-
],
|
|
323
|
-
})
|
|
324
|
-
expect(commit1?.commit?.sha).toBeTruthy()
|
|
325
|
-
expect(commit1?.commit?.message).toBe(`Add initial files ${timestamp}`)
|
|
326
|
-
expect(commit1?.files?.length).toBe(3)
|
|
327
|
-
|
|
328
|
-
// Mixed operations: edit file1, delete file2, create file4
|
|
329
|
-
const commit2 = await withRetry(
|
|
330
|
-
() => edit_files({
|
|
331
|
-
owner: ctx.owner,
|
|
332
|
-
repo: ctx.repo,
|
|
333
|
-
branch: branchName,
|
|
334
|
-
message: `Mixed edit/delete/create ${timestamp}`,
|
|
335
|
-
files: [
|
|
336
|
-
{
|
|
337
|
-
path: `multi-test/file1-${timestamp}.txt`,
|
|
338
|
-
action: 'edit',
|
|
339
|
-
edits: [{ old_text: 'Content of file 1', new_text: 'Updated content of file 1' }],
|
|
340
|
-
},
|
|
341
|
-
{ path: `multi-test/file2-${timestamp}.txt`, action: 'delete' },
|
|
342
|
-
{ path: `multi-test/file4-${timestamp}.txt`, action: 'create', content: 'New file 4' },
|
|
343
|
-
],
|
|
344
|
-
}),
|
|
345
|
-
{
|
|
346
|
-
maxAttempts: 3,
|
|
347
|
-
delayMs: 2000,
|
|
348
|
-
retryIf: (e: unknown) => String((e as { message?: string })?.message || '').includes('GitRPC::BadObjectState'),
|
|
349
|
-
},
|
|
350
|
-
)
|
|
351
|
-
expect(commit2?.commit?.sha).toBeTruthy()
|
|
352
|
-
expect(commit2?.files?.length).toBe(3)
|
|
353
|
-
|
|
354
|
-
// Verify the edit applied -- retry until the Contents API reflects the new commit
|
|
355
|
-
const get_file_contents = toolbox.read('get_file_contents')
|
|
356
|
-
const f1 = await withRetry(
|
|
357
|
-
async () => {
|
|
358
|
-
const c = await get_file_contents({
|
|
359
|
-
owner: ctx.owner,
|
|
360
|
-
repo: ctx.repo,
|
|
361
|
-
path: `multi-test/file1-${timestamp}.txt`,
|
|
362
|
-
ref: branchName,
|
|
363
|
-
})
|
|
364
|
-
if (!c?.content?.includes('Updated content of file 1'))
|
|
365
|
-
throw new Error('stale content: edit not yet visible')
|
|
366
|
-
return c
|
|
367
|
-
},
|
|
368
|
-
{ maxAttempts: 5, delayMs: 1500 },
|
|
369
|
-
)
|
|
370
|
-
expect(f1?.content).toContain('Updated content of file 1')
|
|
371
|
-
|
|
372
|
-
// Verify the new file was created
|
|
373
|
-
const f4 = await get_file_contents({
|
|
374
|
-
owner: ctx.owner,
|
|
375
|
-
repo: ctx.repo,
|
|
376
|
-
path: `multi-test/file4-${timestamp}.txt`,
|
|
377
|
-
ref: branchName,
|
|
378
|
-
})
|
|
379
|
-
expect(f4?.content).toContain('New file 4')
|
|
380
|
-
|
|
381
|
-
// get_commit verifies the commit details
|
|
382
|
-
const get_commit = toolbox.read('get_commit')
|
|
383
|
-
const commitDetails = await get_commit({ owner: ctx.owner, repo: ctx.repo, sha: commit2.commit.sha })
|
|
384
|
-
expect(commitDetails?.sha).toBe(commit2.commit.sha)
|
|
385
|
-
}, 150000)
|
|
386
|
-
|
|
387
|
-
it('full PR workflow: create_branch -> edit_files -> create_pull_request -> update_pull_request -> create_pull_request_review -> merge_pull_request -> delete_branch', async () => {
|
|
388
|
-
if (!ctx.owner || !ctx.repo)
|
|
389
|
-
return expect(true).toBe(true)
|
|
390
|
-
|
|
391
|
-
const timestamp = Date.now()
|
|
392
|
-
const branchName = `test-pr-workflow-${timestamp}`
|
|
393
|
-
|
|
394
|
-
const create_branch = toolbox.write('create_branch')
|
|
395
|
-
const branch = await create_branch({ owner: ctx.owner, repo: ctx.repo, branch: branchName })
|
|
396
|
-
expect(branch?.ref).toBe(`refs/heads/${branchName}`)
|
|
397
|
-
|
|
398
|
-
const edit_files = toolbox.write('edit_files')
|
|
399
|
-
const commit = await edit_files({
|
|
400
|
-
owner: ctx.owner,
|
|
401
|
-
repo: ctx.repo,
|
|
402
|
-
branch: branchName,
|
|
403
|
-
message: `Add feature files ${timestamp}`,
|
|
404
|
-
files: [
|
|
405
|
-
{ path: `feature-${timestamp}/index.js`, action: 'create', content: 'export default function() { return "Hello"; }' },
|
|
406
|
-
{ path: `feature-${timestamp}/README.md`, action: 'create', content: `# Feature ${timestamp}\n\nThis is a test feature.` },
|
|
407
|
-
],
|
|
408
|
-
})
|
|
409
|
-
expect(commit?.commit?.sha).toBeTruthy()
|
|
410
|
-
|
|
411
|
-
const get_repo = toolbox.read('get_repo')
|
|
412
|
-
const repoDetails = await get_repo({ owner: ctx.owner, repo: ctx.repo })
|
|
413
|
-
const defaultBranch = repoDetails?.default_branch || 'main'
|
|
414
|
-
|
|
415
|
-
const create_pull_request = toolbox.write('create_pull_request')
|
|
416
|
-
const pr = await create_pull_request({
|
|
417
|
-
owner: ctx.owner,
|
|
418
|
-
repo: ctx.repo,
|
|
419
|
-
title: `Test PR workflow ${timestamp}`,
|
|
420
|
-
body: 'This PR was created by integration tests to test the full workflow',
|
|
421
|
-
head: branchName,
|
|
422
|
-
base: defaultBranch,
|
|
423
|
-
})
|
|
424
|
-
expect(pr?.number).toBeTruthy()
|
|
425
|
-
const prNumber = pr.number
|
|
426
|
-
|
|
427
|
-
// update_pull_request
|
|
428
|
-
const update_pull_request = toolbox.write('update_pull_request')
|
|
429
|
-
const updated = await update_pull_request({
|
|
430
|
-
owner: ctx.owner,
|
|
431
|
-
repo: ctx.repo,
|
|
432
|
-
pull_number: prNumber,
|
|
433
|
-
body: 'Updated description by integration test.',
|
|
434
|
-
})
|
|
435
|
-
expect(updated?.number).toBe(prNumber)
|
|
436
|
-
|
|
437
|
-
// get_pull_request verifies state
|
|
438
|
-
const get_pull_request = toolbox.read('get_pull_request')
|
|
439
|
-
const prDetails = await get_pull_request({ owner: ctx.owner, repo: ctx.repo, pull_number: prNumber })
|
|
440
|
-
expect(prDetails?.number).toBe(prNumber)
|
|
441
|
-
|
|
442
|
-
// list_pull_request_files
|
|
443
|
-
const list_pull_request_files = toolbox.read('list_pull_request_files')
|
|
444
|
-
const files = await list_pull_request_files({ owner: ctx.owner, repo: ctx.repo, pull_number: prNumber })
|
|
445
|
-
expect(Array.isArray(files)).toBe(true)
|
|
446
|
-
|
|
447
|
-
// add_labels_to_issue (labels on PR)
|
|
448
|
-
const add_labels_to_issue = toolbox.write('add_labels_to_issue')
|
|
449
|
-
try {
|
|
450
|
-
await add_labels_to_issue({ owner: ctx.owner, repo: ctx.repo, issue_number: prNumber, labels: ['test'] })
|
|
451
|
-
}
|
|
452
|
-
catch {
|
|
453
|
-
// Label might not exist -- that's ok for this test
|
|
454
|
-
}
|
|
455
|
-
|
|
456
|
-
// request_pull_request_reviewers (may fail if requesting from self)
|
|
457
|
-
const request_pull_request_reviewers = toolbox.write('request_pull_request_reviewers')
|
|
458
|
-
try {
|
|
459
|
-
await request_pull_request_reviewers({
|
|
460
|
-
owner: ctx.owner,
|
|
461
|
-
repo: ctx.repo,
|
|
462
|
-
pull_number: prNumber,
|
|
463
|
-
reviewers: [],
|
|
464
|
-
})
|
|
465
|
-
}
|
|
466
|
-
catch {
|
|
467
|
-
// May fail if requesting from self or insufficient permissions -- that's ok
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
// create_pull_request_review (comment only -- can't APPROVE own PRs typically)
|
|
471
|
-
const create_pull_request_review = toolbox.write('create_pull_request_review')
|
|
472
|
-
try {
|
|
473
|
-
await create_pull_request_review({
|
|
474
|
-
owner: ctx.owner,
|
|
475
|
-
repo: ctx.repo,
|
|
476
|
-
pull_number: prNumber,
|
|
477
|
-
event: 'COMMENT',
|
|
478
|
-
body: 'LGTM from integration test',
|
|
479
|
-
})
|
|
480
|
-
}
|
|
481
|
-
catch {
|
|
482
|
-
// May fail if author is same as reviewer in some repo configs -- that's ok
|
|
483
|
-
}
|
|
484
|
-
|
|
485
|
-
const merge_pull_request = toolbox.write('merge_pull_request')
|
|
486
|
-
const merged = await merge_pull_request({ owner: ctx.owner, repo: ctx.repo, pull_number: prNumber, merge_method: 'squash' })
|
|
487
|
-
expect(merged?.merged).toBe(true)
|
|
488
|
-
|
|
489
|
-
// delete_branch after merge
|
|
490
|
-
const delete_branch = toolbox.write('delete_branch')
|
|
491
|
-
const deletedBranch = await delete_branch({ owner: ctx.owner, repo: ctx.repo, branch: branchName })
|
|
492
|
-
expect(deletedBranch?.success).toBe(true)
|
|
493
|
-
}, 150000)
|
|
494
|
-
})
|
|
495
|
-
}
|
|
496
|
-
})
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"variants": {
|
|
3
|
-
"classic_pat": {
|
|
4
|
-
"label": "Classic Personal Access Token",
|
|
5
|
-
"schema": {
|
|
6
|
-
"type": "object",
|
|
7
|
-
"properties": {
|
|
8
|
-
"token": {
|
|
9
|
-
"type": "string",
|
|
10
|
-
"title": "Classic PAT",
|
|
11
|
-
"description": "GitHub classic personal access token. Supports all GitHub API operations including creating and deleting repositories."
|
|
12
|
-
}
|
|
13
|
-
},
|
|
14
|
-
"required": ["token"],
|
|
15
|
-
"additionalProperties": false
|
|
16
|
-
},
|
|
17
|
-
"injection": {
|
|
18
|
-
"headers": {
|
|
19
|
-
"Authorization": "Bearer {{token}}"
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
"healthCheck": { "path": "/user" }
|
|
23
|
-
},
|
|
24
|
-
"fine_grained_pat": {
|
|
25
|
-
"label": "Fine-Grained Personal Access Token",
|
|
26
|
-
"schema": {
|
|
27
|
-
"type": "object",
|
|
28
|
-
"properties": {
|
|
29
|
-
"token": {
|
|
30
|
-
"type": "string",
|
|
31
|
-
"title": "Fine-Grained PAT",
|
|
32
|
-
"description": "GitHub fine-grained personal access token scoped to specific repositories and permissions."
|
|
33
|
-
}
|
|
34
|
-
},
|
|
35
|
-
"required": ["token"],
|
|
36
|
-
"additionalProperties": false
|
|
37
|
-
},
|
|
38
|
-
"injection": {
|
|
39
|
-
"headers": {
|
|
40
|
-
"Authorization": "Bearer {{token}}"
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
"healthCheck": { "path": "/user" }
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
"default": "classic_pat"
|
|
47
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
Create a GitHub personal access token and paste it here.
|
|
2
|
-
|
|
3
|
-
- Fine-grained PAT: Settings → Developer settings → Personal access tokens → Fine-grained tokens
|
|
4
|
-
- Classic PAT: Settings → Developer settings → Personal access tokens → Tokens (classic)
|
|
5
|
-
|
|
6
|
-
Minimum scopes depend on the tools you use (repo read/write, issues, pull requests, etc.).
|
|
7
|
-
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
Create a GitHub Classic Personal Access Token:
|
|
2
|
-
|
|
3
|
-
1. Go to `https://github.com/settings/tokens` → **Tokens (classic)**
|
|
4
|
-
2. Click **Generate new token (classic)**
|
|
5
|
-
3. Select the scopes you need: `repo` (full repo access), `delete_repo` (if you want to delete repos), `read:user` etc.
|
|
6
|
-
4. Copy the token and paste it here.
|
|
7
|
-
|
|
8
|
-
Classic PATs support all GitHub API operations including creating and deleting repositories.
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
Create a GitHub Fine-Grained Personal Access Token:
|
|
2
|
-
|
|
3
|
-
1. Go to `https://github.com/settings/tokens` → **Fine-grained tokens**
|
|
4
|
-
2. Click **Generate new token**
|
|
5
|
-
3. Set the resource owner and repository access (specific repos or all repos)
|
|
6
|
-
4. Grant the permissions your use case requires (Contents, Issues, Pull Requests, etc.)
|
|
7
|
-
5. Copy the token and paste it here.
|
|
8
|
-
|
|
9
|
-
Note: Fine-grained PATs do not support user-level operations like creating or deleting repositories. Those tools will not be available with this token type.
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
async (input) => {
|
|
2
|
-
// First, get the SHA of the branch to create from
|
|
3
|
-
let fromRef = input.from_branch || 'main'
|
|
4
|
-
|
|
5
|
-
// Try to get the ref, fallback to master if main doesn't exist
|
|
6
|
-
let refRes
|
|
7
|
-
try {
|
|
8
|
-
refRes = await integration.fetch(`/repos/${input.owner}/${input.repo}/git/refs/heads/${fromRef}`)
|
|
9
|
-
} catch (e) {
|
|
10
|
-
if (fromRef === 'main') {
|
|
11
|
-
fromRef = 'master'
|
|
12
|
-
refRes = await integration.fetch(`/repos/${input.owner}/${input.repo}/git/refs/heads/${fromRef}`)
|
|
13
|
-
} else {
|
|
14
|
-
throw e
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
const refData = await refRes.json()
|
|
19
|
-
const sha = refData.object.sha
|
|
20
|
-
|
|
21
|
-
// Create the new branch
|
|
22
|
-
const body = {
|
|
23
|
-
ref: `refs/heads/${input.branch}`,
|
|
24
|
-
sha: sha,
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const res = await integration.fetch(`/repos/${input.owner}/${input.repo}/git/refs`, {
|
|
28
|
-
method: 'POST',
|
|
29
|
-
body
|
|
30
|
-
})
|
|
31
|
-
return await res.json()
|
|
32
|
-
}
|
|
33
|
-
|