@commandable/integration-data 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/dist/credentials-index.d.ts.map +1 -1
  2. package/dist/credentials-index.js +64 -0
  3. package/dist/credentials-index.js.map +1 -1
  4. package/integrations/airtable/__tests__/get_handlers.test.ts +25 -16
  5. package/integrations/github/__tests__/get_handlers.test.ts +202 -7
  6. package/integrations/github/__tests__/write_handlers.test.ts +178 -24
  7. package/integrations/github/handlers/create_commit.js +5 -12
  8. package/integrations/github/handlers/create_pull_request_review.js +10 -0
  9. package/integrations/github/handlers/create_release.js +14 -0
  10. package/integrations/github/handlers/delete_branch.js +8 -0
  11. package/integrations/github/handlers/delete_file.js +9 -0
  12. package/integrations/github/handlers/fork_repo.js +10 -0
  13. package/integrations/github/handlers/get_commit.js +8 -0
  14. package/integrations/github/handlers/get_file_contents.js +21 -0
  15. package/integrations/github/handlers/get_job_logs.js +6 -0
  16. package/integrations/github/handlers/get_latest_release.js +4 -0
  17. package/integrations/github/handlers/get_me.js +4 -0
  18. package/integrations/github/handlers/get_pull_request.js +4 -0
  19. package/integrations/github/handlers/get_pull_request_diff.js +8 -0
  20. package/integrations/github/handlers/get_repo_tree.js +12 -0
  21. package/integrations/github/handlers/get_workflow_run.js +4 -0
  22. package/integrations/github/handlers/list_branches.js +6 -1
  23. package/integrations/github/handlers/list_commits.js +5 -6
  24. package/integrations/github/handlers/list_issue_comments.js +8 -0
  25. package/integrations/github/handlers/list_issues.js +5 -6
  26. package/integrations/github/handlers/list_labels.js +8 -0
  27. package/integrations/github/handlers/list_pull_request_comments.js +8 -0
  28. package/integrations/github/handlers/list_pull_request_files.js +8 -0
  29. package/integrations/github/handlers/list_pull_requests.js +7 -2
  30. package/integrations/github/handlers/list_releases.js +8 -0
  31. package/integrations/github/handlers/list_tags.js +8 -0
  32. package/integrations/github/handlers/list_workflow_runs.js +11 -0
  33. package/integrations/github/handlers/request_pull_request_reviewers.js +10 -0
  34. package/integrations/github/handlers/search_code.js +8 -0
  35. package/integrations/github/handlers/search_issues.js +8 -0
  36. package/integrations/github/handlers/search_pull_requests.js +8 -0
  37. package/integrations/github/handlers/search_repos.js +10 -0
  38. package/integrations/github/handlers/update_pull_request.js +13 -0
  39. package/integrations/github/manifest.json +58 -20
  40. package/integrations/github/schemas/create_pull_request_review.json +17 -0
  41. package/integrations/github/schemas/create_release.json +16 -0
  42. package/integrations/github/schemas/delete_branch.json +10 -0
  43. package/integrations/github/schemas/delete_file.json +13 -0
  44. package/integrations/github/schemas/fork_repo.json +11 -0
  45. package/integrations/github/schemas/get_commit.json +12 -0
  46. package/integrations/github/schemas/get_file_contents.json +11 -0
  47. package/integrations/github/schemas/get_job_logs.json +10 -0
  48. package/integrations/github/schemas/get_pull_request.json +10 -0
  49. package/integrations/github/schemas/get_pull_request_diff.json +10 -0
  50. package/integrations/github/schemas/get_repo_tree.json +12 -0
  51. package/integrations/github/schemas/get_workflow_run.json +10 -0
  52. package/integrations/github/schemas/list_branches.json +12 -0
  53. package/integrations/github/schemas/list_commits.json +5 -3
  54. package/integrations/github/schemas/list_issue_comments.json +12 -0
  55. package/integrations/github/schemas/list_issues.json +4 -2
  56. package/integrations/github/schemas/list_labels.json +11 -0
  57. package/integrations/github/schemas/list_pull_request_comments.json +12 -0
  58. package/integrations/github/schemas/list_pull_request_files.json +12 -0
  59. package/integrations/github/schemas/list_pull_requests.json +7 -1
  60. package/integrations/github/schemas/list_releases.json +11 -0
  61. package/integrations/github/schemas/list_tags.json +11 -0
  62. package/integrations/github/schemas/list_workflow_runs.json +18 -0
  63. package/integrations/github/schemas/request_pull_request_reviewers.json +20 -0
  64. package/integrations/github/schemas/search_code.json +10 -0
  65. package/integrations/github/schemas/search_issues.json +10 -0
  66. package/integrations/github/schemas/search_pull_requests.json +10 -0
  67. package/integrations/github/schemas/search_repos.json +12 -0
  68. package/integrations/github/schemas/update_pull_request.json +15 -0
  69. package/integrations/google-calendar/__tests__/write_and_admin_handlers.test.ts +0 -13
  70. package/integrations/google-calendar/handlers/get_event.js +5 -1
  71. package/integrations/google-calendar/handlers/list_events.js +2 -0
  72. package/integrations/google-calendar/manifest.json +17 -18
  73. package/integrations/google-calendar/prompt.md +68 -0
  74. package/integrations/google-calendar/schemas/id_calendar_event.json +4 -2
  75. package/integrations/google-calendar/schemas/list_events.json +10 -8
  76. package/integrations/google-docs/__tests__/get_handlers.test.ts +5 -20
  77. package/integrations/google-docs/__tests__/write_handlers.test.ts +38 -52
  78. package/integrations/google-docs/handlers/insert_inline_image_after_first_match.js +1 -1
  79. package/integrations/google-docs/handlers/read_document.js +189 -0
  80. package/integrations/google-docs/manifest.json +16 -31
  81. package/integrations/google-docs/prompt.md +49 -0
  82. package/integrations/google-docs/schemas/insert_inline_image_after_first_match.json +0 -1
  83. package/integrations/google-docs/schemas/{get_document_text.json → read_document.json} +5 -2
  84. package/integrations/google-docs/todo.md +18 -0
  85. package/integrations/google-drive/__tests__/handlers.test.ts +145 -0
  86. package/integrations/google-drive/__tests__/usage_parity.test.ts +9 -0
  87. package/integrations/google-drive/handlers/get_file.js +2 -4
  88. package/integrations/google-drive/handlers/get_file_content.js +41 -0
  89. package/integrations/google-drive/handlers/list_files.js +15 -0
  90. package/integrations/google-drive/handlers/search_files.js +20 -0
  91. package/integrations/google-drive/handlers/share_file.js +20 -0
  92. package/integrations/google-drive/manifest.json +37 -10
  93. package/integrations/google-drive/prompt.md +59 -0
  94. package/integrations/google-drive/schemas/get_file.json +2 -2
  95. package/integrations/google-drive/schemas/get_file_content.json +11 -0
  96. package/integrations/google-drive/schemas/list_files.json +12 -0
  97. package/integrations/google-drive/schemas/search_files.json +14 -0
  98. package/integrations/google-drive/schemas/share_file.json +23 -0
  99. package/integrations/google-gmail/__tests__/get_handlers.test.ts +134 -0
  100. package/integrations/google-gmail/__tests__/usage_parity.test.ts +9 -0
  101. package/integrations/google-gmail/__tests__/write_and_admin_handlers.test.ts +211 -0
  102. package/integrations/google-gmail/credentials.json +57 -0
  103. package/integrations/google-gmail/credentials_hint_oauth_token.md +8 -0
  104. package/integrations/google-gmail/credentials_hint_service_account.md +10 -0
  105. package/integrations/google-gmail/handlers/create_draft_email.js +27 -0
  106. package/integrations/google-gmail/handlers/create_label.js +12 -0
  107. package/integrations/google-gmail/handlers/delete_draft.js +13 -0
  108. package/integrations/google-gmail/handlers/delete_label.js +13 -0
  109. package/integrations/google-gmail/handlers/delete_message.js +13 -0
  110. package/integrations/google-gmail/handlers/delete_thread.js +13 -0
  111. package/integrations/google-gmail/handlers/get_draft.js +6 -0
  112. package/integrations/google-gmail/handlers/get_label.js +6 -0
  113. package/integrations/google-gmail/handlers/get_message.js +14 -0
  114. package/integrations/google-gmail/handlers/get_profile.js +5 -0
  115. package/integrations/google-gmail/handlers/get_thread.js +14 -0
  116. package/integrations/google-gmail/handlers/list_drafts.js +15 -0
  117. package/integrations/google-gmail/handlers/list_labels.js +5 -0
  118. package/integrations/google-gmail/handlers/list_messages.js +19 -0
  119. package/integrations/google-gmail/handlers/list_threads.js +19 -0
  120. package/integrations/google-gmail/handlers/modify_message.js +11 -0
  121. package/integrations/google-gmail/handlers/modify_thread.js +11 -0
  122. package/integrations/google-gmail/handlers/read_email.js +56 -0
  123. package/integrations/google-gmail/handlers/send_draft.js +15 -0
  124. package/integrations/google-gmail/handlers/send_email.js +22 -0
  125. package/integrations/google-gmail/handlers/trash_message.js +6 -0
  126. package/integrations/google-gmail/handlers/trash_thread.js +6 -0
  127. package/integrations/google-gmail/handlers/untrash_message.js +6 -0
  128. package/integrations/google-gmail/handlers/untrash_thread.js +6 -0
  129. package/integrations/google-gmail/handlers/update_label.js +15 -0
  130. package/integrations/google-gmail/manifest.json +33 -0
  131. package/integrations/google-gmail/prompt.md +52 -0
  132. package/integrations/google-gmail/schemas/create_draft_email.json +16 -0
  133. package/integrations/google-gmail/schemas/create_label.json +26 -0
  134. package/integrations/google-gmail/schemas/get_message.json +20 -0
  135. package/integrations/{google-docs/schemas/get_document_structured.json → google-gmail/schemas/get_profile.json} +4 -2
  136. package/integrations/google-gmail/schemas/get_thread.json +20 -0
  137. package/integrations/google-gmail/schemas/id_draft.json +16 -0
  138. package/integrations/google-gmail/schemas/id_label.json +16 -0
  139. package/integrations/google-gmail/schemas/id_message.json +16 -0
  140. package/integrations/google-gmail/schemas/id_thread.json +16 -0
  141. package/integrations/google-gmail/schemas/list_drafts.json +30 -0
  142. package/integrations/{google-sheet/schemas/get_developer_metadata.json → google-gmail/schemas/list_labels.json} +4 -3
  143. package/integrations/google-gmail/schemas/list_messages.json +35 -0
  144. package/integrations/google-gmail/schemas/list_threads.json +35 -0
  145. package/integrations/google-gmail/schemas/modify_message.json +24 -0
  146. package/integrations/google-gmail/schemas/modify_thread.json +24 -0
  147. package/integrations/google-gmail/schemas/read_email.json +10 -0
  148. package/integrations/google-gmail/schemas/send_draft.json +29 -0
  149. package/integrations/google-gmail/schemas/send_email.json +17 -0
  150. package/integrations/google-gmail/schemas/update_label.json +33 -0
  151. package/integrations/google-sheet/__tests__/get_handlers.test.ts +7 -52
  152. package/integrations/google-sheet/__tests__/write_handlers.test.ts +1 -20
  153. package/integrations/google-sheet/handlers/get_spreadsheet.js +2 -0
  154. package/integrations/google-sheet/handlers/read_sheet.js +75 -0
  155. package/integrations/google-sheet/manifest.json +13 -62
  156. package/integrations/google-sheet/prompt.md +49 -0
  157. package/integrations/google-sheet/schemas/get_spreadsheet.json +5 -4
  158. package/integrations/google-sheet/schemas/read_sheet.json +21 -0
  159. package/integrations/google-slides/__tests__/get_handlers.test.ts +13 -9
  160. package/integrations/google-slides/__tests__/write_handlers.test.ts +4 -5
  161. package/integrations/google-slides/handlers/read_presentation.js +51 -0
  162. package/integrations/google-slides/manifest.json +13 -13
  163. package/integrations/google-slides/prompt.md +56 -0
  164. package/integrations/new_integration_prompt.md +5 -1
  165. package/package.json +1 -1
  166. package/integrations/google-calendar/handlers/update_event.js +0 -5
  167. package/integrations/google-calendar/schemas/update_event.json +0 -10
  168. package/integrations/google-docs/handlers/get_document.js +0 -12
  169. package/integrations/google-docs/handlers/get_document_structured.js +0 -6
  170. package/integrations/google-docs/handlers/get_document_text.js +0 -17
  171. package/integrations/google-docs/schemas/get_document.json +0 -11
  172. package/integrations/google-sheet/handlers/batch_clear_values_by_data_filter.js +0 -6
  173. package/integrations/google-sheet/handlers/batch_get_values.js +0 -16
  174. package/integrations/google-sheet/handlers/batch_update_values_by_data_filter.js +0 -16
  175. package/integrations/google-sheet/handlers/get_developer_metadata.js +0 -6
  176. package/integrations/google-sheet/handlers/get_spreadsheet_by_data_filter.js +0 -10
  177. package/integrations/google-sheet/handlers/get_values.js +0 -14
  178. package/integrations/google-sheet/handlers/get_values_by_data_filter.js +0 -14
  179. package/integrations/google-sheet/handlers/search_developer_metadata.js +0 -7
  180. package/integrations/google-sheet/schemas/batch_clear_values_by_data_filter.json +0 -10
  181. package/integrations/google-sheet/schemas/batch_get_values.json +0 -13
  182. package/integrations/google-sheet/schemas/batch_update_values_by_data_filter.json +0 -25
  183. package/integrations/google-sheet/schemas/get_spreadsheet_by_data_filter.json +0 -11
  184. package/integrations/google-sheet/schemas/get_values.json +0 -13
  185. package/integrations/google-sheet/schemas/get_values_by_data_filter.json +0 -17
  186. package/integrations/google-sheet/schemas/search_developer_metadata.json +0 -14
  187. package/integrations/google-slides/handlers/get_presentation.js +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"credentials-index.d.ts","sourceRoot":"","sources":["../src/credentials-index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEzD,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAElF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,sBAAsB,CAAA;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9B;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAqepE,CAAA"}
1
+ {"version":3,"file":"credentials-index.d.ts","sourceRoot":"","sources":["../src/credentials-index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEzD,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAElF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,sBAAsB,CAAA;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9B;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAsiBpE,CAAA"}
@@ -404,6 +404,70 @@ Note: OAuth access tokens expire (typically after 1 hour). Prefer Service Accoun
404
404
  https://www.googleapis.com/auth/presentations
405
405
  https://www.googleapis.com/auth/drive
406
406
 
407
+ Note: OAuth access tokens expire (typically after 1 hour). Prefer Service Account for long-running use.`,
408
+ },
409
+ },
410
+ 'google-gmail': {
411
+ variants: {
412
+ variants: {
413
+ service_account: {
414
+ label: 'Service Account (recommended)',
415
+ schema: {
416
+ type: 'object',
417
+ properties: {
418
+ serviceAccountJson: {
419
+ type: 'string',
420
+ title: 'Service Account JSON',
421
+ description: 'Full service account key JSON (contents of the downloaded JSON file from Google Cloud).',
422
+ },
423
+ subject: {
424
+ type: 'string',
425
+ title: 'Subject / impersonated user (optional)',
426
+ description: 'User email to impersonate via Google Workspace domain-wide delegation. Usually required for mailbox access.',
427
+ },
428
+ scopes: {
429
+ type: 'array',
430
+ title: 'OAuth scopes (optional)',
431
+ description: 'Optional override for OAuth scopes. Defaults to full Gmail access.',
432
+ items: { type: 'string' },
433
+ },
434
+ },
435
+ required: ['serviceAccountJson'],
436
+ additionalProperties: false,
437
+ },
438
+ injection: { headers: { Authorization: 'Bearer {{token}}' } },
439
+ preprocess: 'google_service_account',
440
+ },
441
+ oauth_token: {
442
+ label: 'OAuth Access Token (short-lived)',
443
+ schema: {
444
+ type: 'object',
445
+ properties: {
446
+ token: {
447
+ type: 'string',
448
+ title: 'OAuth Access Token',
449
+ description: 'Short-lived Google OAuth access token with Gmail scopes.',
450
+ },
451
+ },
452
+ required: ['token'],
453
+ additionalProperties: false,
454
+ },
455
+ injection: { headers: { Authorization: 'Bearer {{token}}' } },
456
+ },
457
+ },
458
+ default: 'service_account',
459
+ },
460
+ hints: {
461
+ service_account: `Set up a Google Cloud Service Account:
462
+
463
+ 1. Enable the Gmail API
464
+ 2. Go to IAM & Admin -> Service Accounts and create a new service account
465
+ 3. Download a JSON key and paste its full contents here
466
+ 4. For Google Workspace mailboxes, configure domain-wide delegation and set \`subject\` to the target user's email`,
467
+ oauth_token: `Obtain a short-lived Google OAuth access token with scopes such as:
468
+ https://www.googleapis.com/auth/gmail.modify
469
+ https://www.googleapis.com/auth/gmail.send
470
+
407
471
  Note: OAuth access tokens expire (typically after 1 hour). Prefer Service Account for long-running use.`,
408
472
  },
409
473
  },
@@ -1 +1 @@
1
- {"version":3,"file":"credentials-index.js","sourceRoot":"","sources":["../src/credentials-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credentials-index.js","sourceRoot":"","sources":["../src/credentials-index.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,9 @@ import { loadIntegrationTools } from '../../../../server/src/integrations/dataLo
5
5
  // LIVE Airtable integration tests using credentials
6
6
  // Required env vars:
7
7
  // - AIRTABLE_TOKEN
8
+ // Optional (pins read tests to a specific base/table instead of auto-discovering):
9
+ // - AIRTABLE_TEST_WRITE_BASE_ID
10
+ // - AIRTABLE_TEST_WRITE_TABLE_ID
8
11
 
9
12
  interface Ctx {
10
13
  baseId?: string
@@ -53,24 +56,30 @@ suite('airtable read handlers (live)', () => {
53
56
  return build(integration) as (input: any) => Promise<any>
54
57
  }
55
58
 
56
- // Discover base -> table -> record for tests
57
- const list_bases = buildHandler('list_bases')
58
- const bases = await list_bases({})
59
- ctx.baseId = bases?.bases?.[0]?.id || bases?.[0]?.id
60
-
61
- if (ctx.baseId) {
62
- const list_tables = buildHandler('list_tables')
63
- const tablesResp = await list_tables({ baseId: ctx.baseId })
64
- const tables = tablesResp?.tables || tablesResp
65
- ctx.tableId = tables?.[0]?.id
66
-
67
- if (ctx.tableId) {
68
- const list_records = buildHandler('list_records')
69
- const recs = await list_records({ baseId: ctx.baseId, tableId: ctx.tableId, pageSize: 1 })
70
- const records = recs?.records || recs
71
- ctx.recordId = records?.[0]?.id
59
+ // Use explicit test base/table if provided, otherwise auto-discover from first base
60
+ if (env.AIRTABLE_TEST_WRITE_BASE_ID && env.AIRTABLE_TEST_WRITE_TABLE_ID) {
61
+ ctx.baseId = env.AIRTABLE_TEST_WRITE_BASE_ID
62
+ ctx.tableId = env.AIRTABLE_TEST_WRITE_TABLE_ID
63
+ }
64
+ else {
65
+ const list_bases = buildHandler('list_bases')
66
+ const bases = await list_bases({})
67
+ ctx.baseId = bases?.bases?.[0]?.id || bases?.[0]?.id
68
+
69
+ if (ctx.baseId) {
70
+ const list_tables = buildHandler('list_tables')
71
+ const tablesResp = await list_tables({ baseId: ctx.baseId })
72
+ const tables = tablesResp?.tables || tablesResp
73
+ ctx.tableId = tables?.[0]?.id
72
74
  }
73
75
  }
76
+
77
+ if (ctx.baseId && ctx.tableId) {
78
+ const list_records = buildHandler('list_records')
79
+ const recs = await list_records({ baseId: ctx.baseId, tableId: ctx.tableId, pageSize: 1 })
80
+ const records = recs?.records || recs
81
+ ctx.recordId = records?.[0]?.id
82
+ }
74
83
  }, 60000)
75
84
 
76
85
  it('list_bases returns bases', async () => {
@@ -27,6 +27,8 @@ suiteOrSkip('github read handlers (live)', () => {
27
27
  owner?: string
28
28
  repo?: string
29
29
  issue_number?: number
30
+ pull_number?: number
31
+ commit_sha?: string
30
32
  }
31
33
 
32
34
  const ctx: Ctx = {}
@@ -49,9 +51,25 @@ suiteOrSkip('github read handlers (live)', () => {
49
51
  const issues = await list_issues({ owner: ctx.owner, repo: ctx.repo, state: 'all' })
50
52
  const firstIssue = Array.isArray(issues) ? issues.find((i: any) => typeof i.number === 'number') : undefined
51
53
  ctx.issue_number = firstIssue?.number
54
+
55
+ const list_commits = toolbox.read('list_commits')
56
+ const commits = await list_commits({ owner: ctx.owner, repo: ctx.repo })
57
+ const firstCommit = Array.isArray(commits) ? commits[0] : undefined
58
+ ctx.commit_sha = firstCommit?.sha
59
+
60
+ const list_pull_requests = toolbox.read('list_pull_requests')
61
+ const prs = await list_pull_requests({ owner: ctx.owner, repo: ctx.repo, state: 'all' })
62
+ const firstPr = Array.isArray(prs) ? prs.find((p: any) => typeof p.number === 'number') : undefined
63
+ ctx.pull_number = firstPr?.number
52
64
  }
53
65
  }, 60000)
54
66
 
67
+ it('get_me returns authenticated user', async () => {
68
+ const handler = toolbox.read('get_me')
69
+ const result = await handler({})
70
+ expect(result?.login).toBeTruthy()
71
+ }, 30000)
72
+
55
73
  it('list_repos returns repositories', async () => {
56
74
  const handler = toolbox.read('list_repos')
57
75
  const result = await handler({})
@@ -66,6 +84,75 @@ suiteOrSkip('github read handlers (live)', () => {
66
84
  expect(result?.name?.toLowerCase?.()).toBe(ctx.repo?.toLowerCase?.())
67
85
  }, 30000)
68
86
 
87
+ it('search_repos returns repositories', async () => {
88
+ const handler = toolbox.read('search_repos')
89
+ const result = await handler({ query: 'commandable-mcp language:typescript' })
90
+ expect(result?.items).toBeTruthy()
91
+ }, 30000)
92
+
93
+ it('get_repo_tree returns file tree', async () => {
94
+ if (!ctx.owner || !ctx.repo)
95
+ return expect(true).toBe(true)
96
+ const handler = toolbox.read('get_repo_tree')
97
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, recursive: true })
98
+ expect(result?.tree).toBeTruthy()
99
+ expect(Array.isArray(result.tree)).toBe(true)
100
+ }, 30000)
101
+
102
+ it('get_file_contents returns decoded file content', async () => {
103
+ if (!ctx.owner || !ctx.repo)
104
+ return expect(true).toBe(true)
105
+ // Find a known small text file (README is common)
106
+ const handler = toolbox.read('get_file_contents')
107
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, path: 'README.md' })
108
+ // It's OK if there's no README — just check for a usable response shape
109
+ if (result?.message === 'Not Found')
110
+ return expect(true).toBe(true)
111
+ expect(result?.path).toBe('README.md')
112
+ expect(result?.encoding).toBe('utf-8')
113
+ expect(typeof result?.content).toBe('string')
114
+ }, 30000)
115
+
116
+ it('search_code returns results', async () => {
117
+ if (!ctx.owner || !ctx.repo)
118
+ return expect(true).toBe(true)
119
+ const handler = toolbox.read('search_code')
120
+ const result = await handler({ query: `repo:${ctx.owner}/${ctx.repo}` })
121
+ expect(result?.items).toBeTruthy()
122
+ }, 30000)
123
+
124
+ it('list_branches returns branches with pagination', async () => {
125
+ if (!ctx.owner || !ctx.repo)
126
+ return expect(true).toBe(true)
127
+ const handler = toolbox.read('list_branches')
128
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, per_page: 10 })
129
+ expect(Array.isArray(result)).toBe(true)
130
+ }, 30000)
131
+
132
+ it('list_commits returns commits with pagination', async () => {
133
+ if (!ctx.owner || !ctx.repo)
134
+ return expect(true).toBe(true)
135
+ const handler = toolbox.read('list_commits')
136
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, per_page: 5 })
137
+ expect(Array.isArray(result)).toBe(true)
138
+ }, 30000)
139
+
140
+ it('get_commit returns commit details', async () => {
141
+ if (!ctx.owner || !ctx.repo || !ctx.commit_sha)
142
+ return expect(true).toBe(true)
143
+ const handler = toolbox.read('get_commit')
144
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, sha: ctx.commit_sha })
145
+ expect(result?.sha).toBe(ctx.commit_sha)
146
+ }, 30000)
147
+
148
+ it('list_tags returns tags', async () => {
149
+ if (!ctx.owner || !ctx.repo)
150
+ return expect(true).toBe(true)
151
+ const handler = toolbox.read('list_tags')
152
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo })
153
+ expect(Array.isArray(result)).toBe(true)
154
+ }, 30000)
155
+
69
156
  it('list_issues returns issues for repo', async () => {
70
157
  if (!ctx.owner || !ctx.repo)
71
158
  return expect(true).toBe(true)
@@ -82,28 +169,136 @@ suiteOrSkip('github read handlers (live)', () => {
82
169
  expect(result?.number).toBe(ctx.issue_number)
83
170
  }, 30000)
84
171
 
85
- it('list_pull_requests returns PRs', async () => {
172
+ it('list_issue_comments returns comments array', async () => {
173
+ if (!ctx.owner || !ctx.repo || !ctx.issue_number)
174
+ return expect(true).toBe(true)
175
+ const handler = toolbox.read('list_issue_comments')
176
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, issue_number: ctx.issue_number })
177
+ expect(Array.isArray(result)).toBe(true)
178
+ }, 30000)
179
+
180
+ it('search_issues returns results', async () => {
181
+ if (!ctx.owner || !ctx.repo)
182
+ return expect(true).toBe(true)
183
+ const handler = toolbox.read('search_issues')
184
+ const result = await handler({ query: `is:issue repo:${ctx.owner}/${ctx.repo}` })
185
+ expect(result?.items).toBeTruthy()
186
+ }, 30000)
187
+
188
+ it('list_labels returns labels array', async () => {
189
+ if (!ctx.owner || !ctx.repo)
190
+ return expect(true).toBe(true)
191
+ const handler = toolbox.read('list_labels')
192
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo })
193
+ expect(Array.isArray(result)).toBe(true)
194
+ }, 30000)
195
+
196
+ it('list_pull_requests returns PRs with pagination', async () => {
86
197
  if (!ctx.owner || !ctx.repo)
87
198
  return expect(true).toBe(true)
88
199
  const handler = toolbox.read('list_pull_requests')
89
- const result = await handler({ owner: ctx.owner, repo: ctx.repo, state: 'all' })
200
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, state: 'all', per_page: 5 })
201
+ expect(Array.isArray(result)).toBe(true)
202
+ }, 30000)
203
+
204
+ it('get_pull_request returns PR details if available', async () => {
205
+ if (!ctx.owner || !ctx.repo || !ctx.pull_number)
206
+ return expect(true).toBe(true)
207
+ const handler = toolbox.read('get_pull_request')
208
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, pull_number: ctx.pull_number })
209
+ expect(result?.number).toBe(ctx.pull_number)
210
+ }, 30000)
211
+
212
+ it('get_pull_request_diff returns diff text if PR available', async () => {
213
+ if (!ctx.owner || !ctx.repo || !ctx.pull_number)
214
+ return expect(true).toBe(true)
215
+ const handler = toolbox.read('get_pull_request_diff')
216
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, pull_number: ctx.pull_number })
217
+ expect(typeof result?.diff).toBe('string')
218
+ }, 30000)
219
+
220
+ it('list_pull_request_files returns files if PR available', async () => {
221
+ if (!ctx.owner || !ctx.repo || !ctx.pull_number)
222
+ return expect(true).toBe(true)
223
+ const handler = toolbox.read('list_pull_request_files')
224
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, pull_number: ctx.pull_number })
225
+ expect(Array.isArray(result)).toBe(true)
226
+ }, 30000)
227
+
228
+ it('list_pull_request_comments returns comments if PR available', async () => {
229
+ if (!ctx.owner || !ctx.repo || !ctx.pull_number)
230
+ return expect(true).toBe(true)
231
+ const handler = toolbox.read('list_pull_request_comments')
232
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, pull_number: ctx.pull_number })
90
233
  expect(Array.isArray(result)).toBe(true)
91
234
  }, 30000)
92
235
 
93
- it('list_branches returns branches', async () => {
236
+ it('search_pull_requests returns results', async () => {
94
237
  if (!ctx.owner || !ctx.repo)
95
238
  return expect(true).toBe(true)
96
- const handler = toolbox.read('list_branches')
239
+ const handler = toolbox.read('search_pull_requests')
240
+ const result = await handler({ query: `is:pr repo:${ctx.owner}/${ctx.repo}` })
241
+ expect(result?.items).toBeTruthy()
242
+ }, 30000)
243
+
244
+ it('list_releases returns releases', async () => {
245
+ if (!ctx.owner || !ctx.repo)
246
+ return expect(true).toBe(true)
247
+ const handler = toolbox.read('list_releases')
97
248
  const result = await handler({ owner: ctx.owner, repo: ctx.repo })
98
249
  expect(Array.isArray(result)).toBe(true)
99
250
  }, 30000)
100
251
 
101
- it('list_commits returns commits', async () => {
252
+ it('get_latest_release returns latest release or not found', async () => {
102
253
  if (!ctx.owner || !ctx.repo)
103
254
  return expect(true).toBe(true)
104
- const handler = toolbox.read('list_commits')
255
+ const handler = toolbox.read('get_latest_release')
105
256
  const result = await handler({ owner: ctx.owner, repo: ctx.repo })
106
- expect(Array.isArray(result)).toBe(true)
257
+ // Repo might have no releases — 404 is acceptable
258
+ expect(result).toBeTruthy()
259
+ }, 30000)
260
+
261
+ it('list_workflow_runs returns workflow runs', async () => {
262
+ if (!ctx.owner || !ctx.repo)
263
+ return expect(true).toBe(true)
264
+ const handler = toolbox.read('list_workflow_runs')
265
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo })
266
+ expect(result?.workflow_runs).toBeTruthy()
267
+ }, 30000)
268
+
269
+ it('get_workflow_run returns run details if any runs exist', async () => {
270
+ if (!ctx.owner || !ctx.repo)
271
+ return expect(true).toBe(true)
272
+ const list_runs = toolbox.read('list_workflow_runs')
273
+ const runs = await list_runs({ owner: ctx.owner, repo: ctx.repo, per_page: 1 })
274
+ const firstRun = Array.isArray(runs?.workflow_runs) ? runs.workflow_runs[0] : undefined
275
+ if (!firstRun)
276
+ return expect(true).toBe(true)
277
+ const handler = toolbox.read('get_workflow_run')
278
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, run_id: firstRun.id })
279
+ expect(result?.id).toBe(firstRun.id)
280
+ }, 30000)
281
+
282
+ it('get_job_logs returns log text if any completed runs exist', async () => {
283
+ if (!ctx.owner || !ctx.repo)
284
+ return expect(true).toBe(true)
285
+ const list_runs = toolbox.read('list_workflow_runs')
286
+ const runs = await list_runs({ owner: ctx.owner, repo: ctx.repo, status: 'completed', per_page: 1 })
287
+ const firstRun = Array.isArray(runs?.workflow_runs) ? runs.workflow_runs[0] : undefined
288
+ if (!firstRun)
289
+ return expect(true).toBe(true)
290
+ // Use native fetch to retrieve job list for this run
291
+ const jobsResp = await fetch(
292
+ `https://api.github.com/repos/${ctx.owner}/${ctx.repo}/actions/runs/${firstRun.id}/jobs`,
293
+ { headers: { 'Authorization': `Bearer ${variant.token}`, 'Accept': 'application/vnd.github.v3+json' } },
294
+ )
295
+ const jobsData = await jobsResp.json()
296
+ const firstJob = Array.isArray(jobsData?.jobs) ? jobsData.jobs[0] : undefined
297
+ if (!firstJob)
298
+ return expect(true).toBe(true)
299
+ const handler = toolbox.read('get_job_logs')
300
+ const result = await handler({ owner: ctx.owner, repo: ctx.repo, job_id: firstJob.id })
301
+ expect(result).toBeTruthy()
107
302
  }, 30000)
108
303
  })
109
304
  }