@opentabs-dev/opentabs-plugin-github 0.0.74

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 (157) hide show
  1. package/README.md +159 -0
  2. package/dist/adapter.iife.js +15870 -0
  3. package/dist/adapter.iife.js.map +7 -0
  4. package/dist/github-api.d.ts +15 -0
  5. package/dist/github-api.d.ts.map +1 -0
  6. package/dist/github-api.js +145 -0
  7. package/dist/github-api.js.map +1 -0
  8. package/dist/index.d.ts +14 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +98 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/tools/add-reaction.d.ts +21 -0
  13. package/dist/tools/add-reaction.d.ts.map +1 -0
  14. package/dist/tools/add-reaction.js +50 -0
  15. package/dist/tools/add-reaction.js.map +1 -0
  16. package/dist/tools/compare-commits.d.ts +22 -0
  17. package/dist/tools/compare-commits.d.ts.map +1 -0
  18. package/dist/tools/compare-commits.js +57 -0
  19. package/dist/tools/compare-commits.js.map +1 -0
  20. package/dist/tools/create-comment.d.ts +17 -0
  21. package/dist/tools/create-comment.d.ts.map +1 -0
  22. package/dist/tools/create-comment.js +26 -0
  23. package/dist/tools/create-comment.js.map +1 -0
  24. package/dist/tools/create-issue.d.ts +26 -0
  25. package/dist/tools/create-issue.d.ts.map +1 -0
  26. package/dist/tools/create-issue.js +38 -0
  27. package/dist/tools/create-issue.js.map +1 -0
  28. package/dist/tools/create-label.d.ts +16 -0
  29. package/dist/tools/create-label.d.ts.map +1 -0
  30. package/dist/tools/create-label.js +37 -0
  31. package/dist/tools/create-label.js.map +1 -0
  32. package/dist/tools/create-or-update-file.d.ts +15 -0
  33. package/dist/tools/create-or-update-file.d.ts.map +1 -0
  34. package/dist/tools/create-or-update-file.js +46 -0
  35. package/dist/tools/create-or-update-file.js.map +1 -0
  36. package/dist/tools/create-pull-request.d.ts +33 -0
  37. package/dist/tools/create-pull-request.d.ts.map +1 -0
  38. package/dist/tools/create-pull-request.js +41 -0
  39. package/dist/tools/create-pull-request.js.map +1 -0
  40. package/dist/tools/create-release.d.ts +25 -0
  41. package/dist/tools/create-release.d.ts.map +1 -0
  42. package/dist/tools/create-release.js +46 -0
  43. package/dist/tools/create-release.js.map +1 -0
  44. package/dist/tools/create-repo.d.ts +26 -0
  45. package/dist/tools/create-repo.d.ts.map +1 -0
  46. package/dist/tools/create-repo.js +42 -0
  47. package/dist/tools/create-repo.js.map +1 -0
  48. package/dist/tools/delete-file.d.ts +16 -0
  49. package/dist/tools/delete-file.d.ts.map +1 -0
  50. package/dist/tools/delete-file.js +48 -0
  51. package/dist/tools/delete-file.js.map +1 -0
  52. package/dist/tools/get-file-content.d.ts +11 -0
  53. package/dist/tools/get-file-content.d.ts.map +1 -0
  54. package/dist/tools/get-file-content.js +33 -0
  55. package/dist/tools/get-file-content.js.map +1 -0
  56. package/dist/tools/get-issue.d.ts +23 -0
  57. package/dist/tools/get-issue.d.ts.map +1 -0
  58. package/dist/tools/get-issue.js +25 -0
  59. package/dist/tools/get-issue.js.map +1 -0
  60. package/dist/tools/get-pull-request-diff.d.ts +9 -0
  61. package/dist/tools/get-pull-request-diff.d.ts.map +1 -0
  62. package/dist/tools/get-pull-request-diff.js +26 -0
  63. package/dist/tools/get-pull-request-diff.js.map +1 -0
  64. package/dist/tools/get-pull-request.d.ts +29 -0
  65. package/dist/tools/get-pull-request.d.ts.map +1 -0
  66. package/dist/tools/get-pull-request.js +25 -0
  67. package/dist/tools/get-pull-request.js.map +1 -0
  68. package/dist/tools/get-repo.d.ts +22 -0
  69. package/dist/tools/get-repo.d.ts.map +1 -0
  70. package/dist/tools/get-repo.js +24 -0
  71. package/dist/tools/get-repo.js.map +1 -0
  72. package/dist/tools/get-user-profile.d.ts +21 -0
  73. package/dist/tools/get-user-profile.d.ts.map +1 -0
  74. package/dist/tools/get-user-profile.js +24 -0
  75. package/dist/tools/get-user-profile.js.map +1 -0
  76. package/dist/tools/get-workflow-run.d.ts +19 -0
  77. package/dist/tools/get-workflow-run.d.ts.map +1 -0
  78. package/dist/tools/get-workflow-run.js +25 -0
  79. package/dist/tools/get-workflow-run.js.map +1 -0
  80. package/dist/tools/list-branches.d.ts +14 -0
  81. package/dist/tools/list-branches.d.ts.map +1 -0
  82. package/dist/tools/list-branches.js +30 -0
  83. package/dist/tools/list-branches.js.map +1 -0
  84. package/dist/tools/list-comments.d.ts +18 -0
  85. package/dist/tools/list-comments.d.ts.map +1 -0
  86. package/dist/tools/list-comments.js +31 -0
  87. package/dist/tools/list-comments.js.map +1 -0
  88. package/dist/tools/list-commits.d.ts +18 -0
  89. package/dist/tools/list-commits.d.ts.map +1 -0
  90. package/dist/tools/list-commits.js +33 -0
  91. package/dist/tools/list-commits.js.map +1 -0
  92. package/dist/tools/list-issues.d.ts +40 -0
  93. package/dist/tools/list-issues.d.ts.map +1 -0
  94. package/dist/tools/list-issues.js +42 -0
  95. package/dist/tools/list-issues.js.map +1 -0
  96. package/dist/tools/list-labels.d.ts +15 -0
  97. package/dist/tools/list-labels.d.ts.map +1 -0
  98. package/dist/tools/list-labels.js +30 -0
  99. package/dist/tools/list-labels.js.map +1 -0
  100. package/dist/tools/list-notifications.d.ts +19 -0
  101. package/dist/tools/list-notifications.d.ts.map +1 -0
  102. package/dist/tools/list-notifications.js +39 -0
  103. package/dist/tools/list-notifications.js.map +1 -0
  104. package/dist/tools/list-org-members.d.ts +14 -0
  105. package/dist/tools/list-org-members.d.ts.map +1 -0
  106. package/dist/tools/list-org-members.js +42 -0
  107. package/dist/tools/list-org-members.js.map +1 -0
  108. package/dist/tools/list-pull-request-files.d.ts +18 -0
  109. package/dist/tools/list-pull-request-files.d.ts.map +1 -0
  110. package/dist/tools/list-pull-request-files.js +48 -0
  111. package/dist/tools/list-pull-request-files.js.map +1 -0
  112. package/dist/tools/list-pull-requests.d.ts +47 -0
  113. package/dist/tools/list-pull-requests.d.ts.map +1 -0
  114. package/dist/tools/list-pull-requests.js +45 -0
  115. package/dist/tools/list-pull-requests.js.map +1 -0
  116. package/dist/tools/list-releases.d.ts +21 -0
  117. package/dist/tools/list-releases.d.ts.map +1 -0
  118. package/dist/tools/list-releases.js +30 -0
  119. package/dist/tools/list-releases.js.map +1 -0
  120. package/dist/tools/list-repos.d.ts +36 -0
  121. package/dist/tools/list-repos.d.ts.map +1 -0
  122. package/dist/tools/list-repos.js +48 -0
  123. package/dist/tools/list-repos.js.map +1 -0
  124. package/dist/tools/list-workflow-runs.d.ts +39 -0
  125. package/dist/tools/list-workflow-runs.d.ts.map +1 -0
  126. package/dist/tools/list-workflow-runs.js +62 -0
  127. package/dist/tools/list-workflow-runs.js.map +1 -0
  128. package/dist/tools/merge-pull-request.d.ts +18 -0
  129. package/dist/tools/merge-pull-request.d.ts.map +1 -0
  130. package/dist/tools/merge-pull-request.js +40 -0
  131. package/dist/tools/merge-pull-request.js.map +1 -0
  132. package/dist/tools/request-pull-request-review.d.ts +31 -0
  133. package/dist/tools/request-pull-request-review.d.ts.map +1 -0
  134. package/dist/tools/request-pull-request-review.js +32 -0
  135. package/dist/tools/request-pull-request-review.js.map +1 -0
  136. package/dist/tools/schemas.d.ts +403 -0
  137. package/dist/tools/schemas.d.ts.map +1 -0
  138. package/dist/tools/schemas.js +259 -0
  139. package/dist/tools/schemas.js.map +1 -0
  140. package/dist/tools/search-issues.d.ts +37 -0
  141. package/dist/tools/search-issues.d.ts.map +1 -0
  142. package/dist/tools/search-issues.js +46 -0
  143. package/dist/tools/search-issues.js.map +1 -0
  144. package/dist/tools/search-repos.d.ts +34 -0
  145. package/dist/tools/search-repos.d.ts.map +1 -0
  146. package/dist/tools/search-repos.js +41 -0
  147. package/dist/tools/search-repos.js.map +1 -0
  148. package/dist/tools/update-issue.d.ts +31 -0
  149. package/dist/tools/update-issue.d.ts.map +1 -0
  150. package/dist/tools/update-issue.js +41 -0
  151. package/dist/tools/update-issue.js.map +1 -0
  152. package/dist/tools/update-pull-request.d.ts +37 -0
  153. package/dist/tools/update-pull-request.d.ts.map +1 -0
  154. package/dist/tools/update-pull-request.js +41 -0
  155. package/dist/tools/update-pull-request.js.map +1 -0
  156. package/dist/tools.json +4005 -0
  157. package/package.json +55 -0
@@ -0,0 +1,259 @@
1
+ import { z } from 'zod';
2
+ // --- Shared schemas ---
3
+ export const repositorySchema = z.object({
4
+ id: z.number().describe('Repository ID'),
5
+ name: z.string().describe('Repository name'),
6
+ full_name: z.string().describe('Full name in owner/repo format'),
7
+ description: z.string().describe('Repository description'),
8
+ private: z.boolean().describe('Whether the repository is private'),
9
+ html_url: z.string().describe('URL to the repository on GitHub'),
10
+ default_branch: z.string().describe('Default branch name'),
11
+ language: z.string().describe('Primary programming language'),
12
+ stargazers_count: z.number().describe('Number of stars'),
13
+ forks_count: z.number().describe('Number of forks'),
14
+ open_issues_count: z.number().describe('Number of open issues'),
15
+ archived: z.boolean().describe('Whether the repository is archived'),
16
+ updated_at: z.string().describe('Last updated ISO 8601 timestamp'),
17
+ });
18
+ export const issueSchema = z.object({
19
+ number: z.number().describe('Issue number'),
20
+ title: z.string().describe('Issue title'),
21
+ state: z.string().describe('Issue state: open or closed'),
22
+ body: z.string().describe('Issue body in Markdown'),
23
+ html_url: z.string().describe('URL to the issue on GitHub'),
24
+ user_login: z.string().describe('Login of the user who created the issue'),
25
+ labels: z.array(z.string()).describe('Label names'),
26
+ assignees: z.array(z.string()).describe('Assignee logins'),
27
+ comments: z.number().describe('Number of comments'),
28
+ created_at: z.string().describe('Created ISO 8601 timestamp'),
29
+ updated_at: z.string().describe('Updated ISO 8601 timestamp'),
30
+ closed_at: z.string().describe('Closed ISO 8601 timestamp or empty string'),
31
+ is_pull_request: z.boolean().describe('Whether this is a pull request'),
32
+ });
33
+ export const pullRequestSchema = z.object({
34
+ number: z.number().describe('Pull request number'),
35
+ title: z.string().describe('Pull request title'),
36
+ state: z.string().describe('PR state: open, closed, or merged'),
37
+ body: z.string().describe('Pull request body in Markdown'),
38
+ html_url: z.string().describe('URL to the PR on GitHub'),
39
+ user_login: z.string().describe('Login of the user who created the PR'),
40
+ head_ref: z.string().describe('Source branch name'),
41
+ base_ref: z.string().describe('Target branch name'),
42
+ labels: z.array(z.string()).describe('Label names'),
43
+ draft: z.boolean().describe('Whether this is a draft PR'),
44
+ merged: z.boolean().describe('Whether this PR has been merged'),
45
+ mergeable: z.boolean().describe('Whether this PR can be merged'),
46
+ comments: z.number().describe('Number of comments'),
47
+ commits: z.number().describe('Number of commits'),
48
+ additions: z.number().describe('Number of lines added'),
49
+ deletions: z.number().describe('Number of lines deleted'),
50
+ changed_files: z.number().describe('Number of files changed'),
51
+ created_at: z.string().describe('Created ISO 8601 timestamp'),
52
+ updated_at: z.string().describe('Updated ISO 8601 timestamp'),
53
+ });
54
+ export const commentSchema = z.object({
55
+ id: z.number().describe('Comment ID'),
56
+ body: z.string().describe('Comment body in Markdown'),
57
+ user_login: z.string().describe('Login of the commenter'),
58
+ html_url: z.string().describe('URL to the comment on GitHub'),
59
+ created_at: z.string().describe('Created ISO 8601 timestamp'),
60
+ updated_at: z.string().describe('Updated ISO 8601 timestamp'),
61
+ });
62
+ export const userSchema = z.object({
63
+ login: z.string().describe('Username'),
64
+ id: z.number().describe('User ID'),
65
+ name: z.string().describe('Display name'),
66
+ bio: z.string().describe('User bio'),
67
+ company: z.string().describe('Company name'),
68
+ location: z.string().describe('Location'),
69
+ email: z.string().describe('Public email address'),
70
+ html_url: z.string().describe('URL to the profile on GitHub'),
71
+ avatar_url: z.string().describe('Avatar image URL'),
72
+ public_repos: z.number().describe('Number of public repositories'),
73
+ followers: z.number().describe('Number of followers'),
74
+ following: z.number().describe('Number of users being followed'),
75
+ created_at: z.string().describe('Account created ISO 8601 timestamp'),
76
+ });
77
+ export const branchSchema = z.object({
78
+ name: z.string().describe('Branch name'),
79
+ protected: z.boolean().describe('Whether the branch is protected'),
80
+ sha: z.string().describe('SHA of the branch HEAD commit'),
81
+ });
82
+ export const notificationSchema = z.object({
83
+ id: z.string().describe('Notification ID'),
84
+ reason: z.string().describe('Reason for the notification (e.g., subscribed, mention, review_requested)'),
85
+ unread: z.boolean().describe('Whether the notification is unread'),
86
+ subject_title: z.string().describe('Subject title'),
87
+ subject_type: z.string().describe('Subject type (e.g., Issue, PullRequest, Release)'),
88
+ subject_url: z.string().describe('API URL for the subject'),
89
+ repository_full_name: z.string().describe('Full name of the repository'),
90
+ updated_at: z.string().describe('Updated ISO 8601 timestamp'),
91
+ });
92
+ export const mapRepository = (r) => ({
93
+ id: r.id ?? 0,
94
+ name: r.name ?? '',
95
+ full_name: r.full_name ?? '',
96
+ description: r.description ?? '',
97
+ private: r.private ?? false,
98
+ html_url: r.html_url ?? '',
99
+ default_branch: r.default_branch ?? '',
100
+ language: r.language ?? '',
101
+ stargazers_count: r.stargazers_count ?? 0,
102
+ forks_count: r.forks_count ?? 0,
103
+ open_issues_count: r.open_issues_count ?? 0,
104
+ archived: r.archived ?? false,
105
+ updated_at: r.updated_at ?? '',
106
+ });
107
+ export const mapIssue = (i) => ({
108
+ number: i.number ?? 0,
109
+ title: i.title ?? '',
110
+ state: i.state ?? '',
111
+ body: i.body ?? '',
112
+ html_url: i.html_url ?? '',
113
+ user_login: i.user?.login ?? '',
114
+ labels: (i.labels ?? []).map(l => l.name ?? ''),
115
+ assignees: (i.assignees ?? []).map(a => a.login ?? ''),
116
+ comments: i.comments ?? 0,
117
+ created_at: i.created_at ?? '',
118
+ updated_at: i.updated_at ?? '',
119
+ closed_at: i.closed_at ?? '',
120
+ is_pull_request: i.pull_request !== undefined && i.pull_request !== null,
121
+ });
122
+ export const mapPullRequest = (pr) => ({
123
+ number: pr.number ?? 0,
124
+ title: pr.title ?? '',
125
+ state: pr.merged ? 'merged' : (pr.state ?? ''),
126
+ body: pr.body ?? '',
127
+ html_url: pr.html_url ?? '',
128
+ user_login: pr.user?.login ?? '',
129
+ head_ref: pr.head?.ref ?? '',
130
+ base_ref: pr.base?.ref ?? '',
131
+ labels: (pr.labels ?? []).map(l => l.name ?? ''),
132
+ draft: pr.draft ?? false,
133
+ merged: pr.merged ?? false,
134
+ mergeable: pr.mergeable ?? false,
135
+ comments: pr.comments ?? 0,
136
+ commits: pr.commits ?? 0,
137
+ additions: pr.additions ?? 0,
138
+ deletions: pr.deletions ?? 0,
139
+ changed_files: pr.changed_files ?? 0,
140
+ created_at: pr.created_at ?? '',
141
+ updated_at: pr.updated_at ?? '',
142
+ });
143
+ export const mapComment = (c) => ({
144
+ id: c.id ?? 0,
145
+ body: c.body ?? '',
146
+ user_login: c.user?.login ?? '',
147
+ html_url: c.html_url ?? '',
148
+ created_at: c.created_at ?? '',
149
+ updated_at: c.updated_at ?? '',
150
+ });
151
+ export const mapUser = (u) => ({
152
+ login: u.login ?? '',
153
+ id: u.id ?? 0,
154
+ name: u.name ?? '',
155
+ bio: u.bio ?? '',
156
+ company: u.company ?? '',
157
+ location: u.location ?? '',
158
+ email: u.email ?? '',
159
+ html_url: u.html_url ?? '',
160
+ avatar_url: u.avatar_url ?? '',
161
+ public_repos: u.public_repos ?? 0,
162
+ followers: u.followers ?? 0,
163
+ following: u.following ?? 0,
164
+ created_at: u.created_at ?? '',
165
+ });
166
+ export const mapBranch = (b) => ({
167
+ name: b.name ?? '',
168
+ protected: b.protected ?? false,
169
+ sha: b.commit?.sha ?? '',
170
+ });
171
+ export const mapNotification = (n) => ({
172
+ id: n.id ?? '',
173
+ reason: n.reason ?? '',
174
+ unread: n.unread ?? false,
175
+ subject_title: n.subject?.title ?? '',
176
+ subject_type: n.subject?.type ?? '',
177
+ subject_url: n.subject?.url ?? '',
178
+ repository_full_name: n.repository?.full_name ?? '',
179
+ updated_at: n.updated_at ?? '',
180
+ });
181
+ // --- Label schemas ---
182
+ export const labelSchema = z.object({
183
+ id: z.number().describe('Label ID'),
184
+ name: z.string().describe('Label name'),
185
+ color: z.string().describe('Label hex color (without #)'),
186
+ description: z.string().describe('Label description'),
187
+ });
188
+ export const mapLabel = (l) => ({
189
+ id: l.id ?? 0,
190
+ name: l.name ?? '',
191
+ color: l.color ?? '',
192
+ description: l.description ?? '',
193
+ });
194
+ // --- Workflow run schemas ---
195
+ export const workflowRunSchema = z.object({
196
+ id: z.number().describe('Workflow run ID'),
197
+ name: z.string().describe('Workflow name'),
198
+ status: z.string().describe('Run status: queued, in_progress, completed, etc.'),
199
+ conclusion: z.string().describe('Run conclusion: success, failure, cancelled, skipped, etc.'),
200
+ head_branch: z.string().describe('Branch the workflow ran on'),
201
+ head_sha: z.string().describe('HEAD commit SHA'),
202
+ html_url: z.string().describe('URL to the workflow run on GitHub'),
203
+ created_at: z.string().describe('Created ISO 8601 timestamp'),
204
+ updated_at: z.string().describe('Updated ISO 8601 timestamp'),
205
+ });
206
+ export const mapWorkflowRun = (r) => ({
207
+ id: r.id ?? 0,
208
+ name: r.name ?? '',
209
+ status: r.status ?? '',
210
+ conclusion: r.conclusion ?? '',
211
+ head_branch: r.head_branch ?? '',
212
+ head_sha: r.head_sha ?? '',
213
+ html_url: r.html_url ?? '',
214
+ created_at: r.created_at ?? '',
215
+ updated_at: r.updated_at ?? '',
216
+ });
217
+ // --- Release schemas ---
218
+ export const releaseSchema = z.object({
219
+ id: z.number().describe('Release ID'),
220
+ tag_name: z.string().describe('Git tag name'),
221
+ name: z.string().describe('Release title'),
222
+ body: z.string().describe('Release notes in Markdown'),
223
+ draft: z.boolean().describe('Whether this is a draft release'),
224
+ prerelease: z.boolean().describe('Whether this is a prerelease'),
225
+ created_at: z.string().describe('Created ISO 8601 timestamp'),
226
+ published_at: z.string().describe('Published ISO 8601 timestamp'),
227
+ html_url: z.string().describe('URL to the release on GitHub'),
228
+ author_login: z.string().describe('Login of the release author'),
229
+ });
230
+ export const mapRelease = (r) => ({
231
+ id: r.id ?? 0,
232
+ tag_name: r.tag_name ?? '',
233
+ name: r.name ?? '',
234
+ body: r.body ?? '',
235
+ draft: r.draft ?? false,
236
+ prerelease: r.prerelease ?? false,
237
+ created_at: r.created_at ?? '',
238
+ published_at: r.published_at ?? '',
239
+ html_url: r.html_url ?? '',
240
+ author_login: r.author?.login ?? '',
241
+ });
242
+ // --- Commit schemas ---
243
+ export const commitSchema = z.object({
244
+ sha: z.string().describe('Full commit SHA'),
245
+ message: z.string().describe('Commit message'),
246
+ author_name: z.string().describe('Author name'),
247
+ author_email: z.string().describe('Author email'),
248
+ date: z.string().describe('Authored date ISO 8601 timestamp'),
249
+ url: z.string().describe('URL to the commit on GitHub'),
250
+ });
251
+ export const mapCommit = (c) => ({
252
+ sha: c.sha ?? '',
253
+ message: c.commit?.message ?? '',
254
+ author_name: c.commit?.author?.name ?? '',
255
+ author_email: c.commit?.author?.email ?? '',
256
+ date: c.commit?.author?.date ?? '',
257
+ url: c.html_url ?? '',
258
+ });
259
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { z } from 'zod';
2
+ export declare const searchIssues: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ query: z.ZodString;
4
+ sort: z.ZodOptional<z.ZodEnum<{
5
+ comments: "comments";
6
+ created: "created";
7
+ updated: "updated";
8
+ reactions: "reactions";
9
+ "reactions-+1": "reactions-+1";
10
+ "reactions--1": "reactions--1";
11
+ interactions: "interactions";
12
+ }>>;
13
+ order: z.ZodOptional<z.ZodEnum<{
14
+ asc: "asc";
15
+ desc: "desc";
16
+ }>>;
17
+ per_page: z.ZodOptional<z.ZodNumber>;
18
+ page: z.ZodOptional<z.ZodNumber>;
19
+ }, z.core.$strip>, z.ZodObject<{
20
+ total_count: z.ZodNumber;
21
+ issues: z.ZodArray<z.ZodObject<{
22
+ number: z.ZodNumber;
23
+ title: z.ZodString;
24
+ state: z.ZodString;
25
+ body: z.ZodString;
26
+ html_url: z.ZodString;
27
+ user_login: z.ZodString;
28
+ labels: z.ZodArray<z.ZodString>;
29
+ assignees: z.ZodArray<z.ZodString>;
30
+ comments: z.ZodNumber;
31
+ created_at: z.ZodString;
32
+ updated_at: z.ZodString;
33
+ closed_at: z.ZodString;
34
+ is_pull_request: z.ZodBoolean;
35
+ }, z.core.$strip>>;
36
+ }, z.core.$strip>>;
37
+ //# sourceMappingURL=search-issues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-issues.d.ts","sourceRoot":"","sources":["../../src/tools/search-issues.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA6CvB,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../github-api.js';
4
+ import { issueSchema, mapIssue } from './schemas.js';
5
+ export const searchIssues = defineTool({
6
+ name: 'search_issues',
7
+ displayName: 'Search Issues',
8
+ description: 'Search issues and pull requests across GitHub. Uses GitHub search syntax — e.g., "repo:owner/name is:open label:bug".',
9
+ summary: 'Search issues and pull requests',
10
+ icon: 'search',
11
+ group: 'Issues',
12
+ input: z.object({
13
+ query: z
14
+ .string()
15
+ .min(1)
16
+ .describe('Search query using GitHub search syntax (e.g., "repo:owner/name is:open label:bug", "org:myorg is:pr is:merged")'),
17
+ sort: z
18
+ .enum(['comments', 'reactions', 'reactions-+1', 'reactions--1', 'interactions', 'created', 'updated'])
19
+ .optional()
20
+ .describe('Sort field'),
21
+ order: z.enum(['asc', 'desc']).optional().describe('Sort order (default: desc)'),
22
+ per_page: z.number().int().min(1).max(100).optional().describe('Results per page (default 30, max 100)'),
23
+ page: z.number().int().min(1).optional().describe('Page number (default 1)'),
24
+ }),
25
+ output: z.object({
26
+ total_count: z.number().describe('Total number of matching results'),
27
+ issues: z.array(issueSchema).describe('List of matching issues/PRs'),
28
+ }),
29
+ handle: async (params) => {
30
+ const query = {
31
+ q: params.query,
32
+ per_page: params.per_page ?? 30,
33
+ page: params.page,
34
+ };
35
+ if (params.sort)
36
+ query.sort = params.sort;
37
+ if (params.order)
38
+ query.order = params.order;
39
+ const data = await api('/search/issues', { query });
40
+ return {
41
+ total_count: data.total_count ?? 0,
42
+ issues: (data.items ?? []).map(mapIssue),
43
+ };
44
+ },
45
+ });
46
+ //# sourceMappingURL=search-issues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-issues.js","sourceRoot":"","sources":["../../src/tools/search-issues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,eAAe;IAC5B,WAAW,EACT,uHAAuH;IACzH,OAAO,EAAE,iCAAiC;IAC1C,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,kHAAkH,CACnH;QACH,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;aACrG,QAAQ,EAAE;aACV,QAAQ,CAAC,YAAY,CAAC;QACzB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAChF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QACxG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KAC7E,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACpE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;KACrE,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,KAAK,GAA0D;YACnE,CAAC,EAAE,MAAM,CAAC,KAAK;YACf,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;YAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;QACF,IAAI,MAAM,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAC1C,IAAI,MAAM,CAAC,KAAK;YAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,GAAG,CAGnB,gBAAgB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAChC,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;YAClC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;SACzC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { z } from 'zod';
2
+ export declare const searchRepos: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ query: z.ZodString;
4
+ sort: z.ZodOptional<z.ZodEnum<{
5
+ stars: "stars";
6
+ updated: "updated";
7
+ forks: "forks";
8
+ "help-wanted-issues": "help-wanted-issues";
9
+ }>>;
10
+ order: z.ZodOptional<z.ZodEnum<{
11
+ asc: "asc";
12
+ desc: "desc";
13
+ }>>;
14
+ per_page: z.ZodOptional<z.ZodNumber>;
15
+ page: z.ZodOptional<z.ZodNumber>;
16
+ }, z.core.$strip>, z.ZodObject<{
17
+ total_count: z.ZodNumber;
18
+ repositories: z.ZodArray<z.ZodObject<{
19
+ id: z.ZodNumber;
20
+ name: z.ZodString;
21
+ full_name: z.ZodString;
22
+ description: z.ZodString;
23
+ private: z.ZodBoolean;
24
+ html_url: z.ZodString;
25
+ default_branch: z.ZodString;
26
+ language: z.ZodString;
27
+ stargazers_count: z.ZodNumber;
28
+ forks_count: z.ZodNumber;
29
+ open_issues_count: z.ZodNumber;
30
+ archived: z.ZodBoolean;
31
+ updated_at: z.ZodString;
32
+ }, z.core.$strip>>;
33
+ }, z.core.$strip>>;
34
+ //# sourceMappingURL=search-repos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-repos.d.ts","sourceRoot":"","sources":["../../src/tools/search-repos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAqCtB,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../github-api.js';
4
+ import { mapRepository, repositorySchema } from './schemas.js';
5
+ export const searchRepos = defineTool({
6
+ name: 'search_repos',
7
+ displayName: 'Search Repositories',
8
+ description: 'Search for repositories across GitHub. Supports GitHub search syntax (e.g., "repo:owner/name", "language:typescript", "stars:>1000").',
9
+ summary: 'Search repositories on GitHub',
10
+ icon: 'search',
11
+ group: 'Search',
12
+ input: z.object({
13
+ query: z
14
+ .string()
15
+ .min(1)
16
+ .describe('Search query using GitHub search syntax (e.g., "language:typescript stars:>1000")'),
17
+ sort: z.enum(['stars', 'forks', 'help-wanted-issues', 'updated']).optional().describe('Sort field'),
18
+ order: z.enum(['asc', 'desc']).optional().describe('Sort order (default: desc)'),
19
+ per_page: z.number().int().min(1).max(100).optional().describe('Results per page (default 30, max 100)'),
20
+ page: z.number().int().min(1).optional().describe('Page number (default 1)'),
21
+ }),
22
+ output: z.object({
23
+ total_count: z.number().describe('Total number of matching repositories'),
24
+ repositories: z.array(repositorySchema).describe('List of matching repositories'),
25
+ }),
26
+ handle: async (params) => {
27
+ const query = {
28
+ q: params.query,
29
+ per_page: params.per_page ?? 30,
30
+ page: params.page,
31
+ sort: params.sort,
32
+ order: params.order,
33
+ };
34
+ const data = await api('/search/repositories', { query });
35
+ return {
36
+ total_count: data.total_count ?? 0,
37
+ repositories: (data.items ?? []).map(mapRepository),
38
+ };
39
+ },
40
+ });
41
+ //# sourceMappingURL=search-repos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-repos.js","sourceRoot":"","sources":["../../src/tools/search-repos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAO/D,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;IACpC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,qBAAqB;IAClC,WAAW,EACT,uIAAuI;IACzI,OAAO,EAAE,+BAA+B;IACxC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,mFAAmF,CAAC;QAChG,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACnG,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAChF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QACxG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KAC7E,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QACzE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;KAClF,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,KAAK,GAA0D;YACnE,CAAC,EAAE,MAAM,CAAC,KAAK;YACf,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;YAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAoB,sBAAsB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7E,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;YAClC,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;SACpD,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { z } from 'zod';
2
+ export declare const updateIssue: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ owner: z.ZodString;
4
+ repo: z.ZodString;
5
+ issue_number: z.ZodNumber;
6
+ title: z.ZodOptional<z.ZodString>;
7
+ body: z.ZodOptional<z.ZodString>;
8
+ state: z.ZodOptional<z.ZodEnum<{
9
+ open: "open";
10
+ closed: "closed";
11
+ }>>;
12
+ labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
13
+ assignees: z.ZodOptional<z.ZodArray<z.ZodString>>;
14
+ }, z.core.$strip>, z.ZodObject<{
15
+ issue: z.ZodObject<{
16
+ number: z.ZodNumber;
17
+ title: z.ZodString;
18
+ state: z.ZodString;
19
+ body: z.ZodString;
20
+ html_url: z.ZodString;
21
+ user_login: z.ZodString;
22
+ labels: z.ZodArray<z.ZodString>;
23
+ assignees: z.ZodArray<z.ZodString>;
24
+ comments: z.ZodNumber;
25
+ created_at: z.ZodString;
26
+ updated_at: z.ZodString;
27
+ closed_at: z.ZodString;
28
+ is_pull_request: z.ZodBoolean;
29
+ }, z.core.$strip>;
30
+ }, z.core.$strip>>;
31
+ //# sourceMappingURL=update-issue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-issue.d.ts","sourceRoot":"","sources":["../../src/tools/update-issue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkCtB,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../github-api.js';
4
+ import { issueSchema, mapIssue } from './schemas.js';
5
+ export const updateIssue = defineTool({
6
+ name: 'update_issue',
7
+ displayName: 'Update Issue',
8
+ description: 'Update an existing issue — change title, body, state, labels, or assignees.',
9
+ summary: 'Update an existing issue',
10
+ icon: 'pencil',
11
+ group: 'Issues',
12
+ input: z.object({
13
+ owner: z.string().min(1).describe('Repository owner (user or org)'),
14
+ repo: z.string().min(1).describe('Repository name'),
15
+ issue_number: z.number().int().min(1).describe('Issue number'),
16
+ title: z.string().optional().describe('New issue title'),
17
+ body: z.string().optional().describe('New issue body in Markdown'),
18
+ state: z.enum(['open', 'closed']).optional().describe('Set issue state'),
19
+ labels: z.array(z.string()).optional().describe('Replace all labels with these names'),
20
+ assignees: z.array(z.string()).optional().describe('Replace all assignees with these logins'),
21
+ }),
22
+ output: z.object({
23
+ issue: issueSchema.describe('The updated issue'),
24
+ }),
25
+ handle: async (params) => {
26
+ const body = {};
27
+ if (params.title !== undefined)
28
+ body.title = params.title;
29
+ if (params.body !== undefined)
30
+ body.body = params.body;
31
+ if (params.state !== undefined)
32
+ body.state = params.state;
33
+ if (params.labels !== undefined)
34
+ body.labels = params.labels;
35
+ if (params.assignees !== undefined)
36
+ body.assignees = params.assignees;
37
+ const data = await api(`/repos/${params.owner}/${params.repo}/issues/${params.issue_number}`, { method: 'PATCH', body });
38
+ return { issue: mapIssue(data) };
39
+ },
40
+ });
41
+ //# sourceMappingURL=update-issue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-issue.js","sourceRoot":"","sources":["../../src/tools/update-issue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;IACpC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,6EAA6E;IAC1F,OAAO,EAAE,0BAA0B;IACnC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QACnE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACnD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC9D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAClE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACxE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QACtF,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;KAC9F,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC;KACjD,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACvD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7D,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAEtE,MAAM,IAAI,GAAG,MAAM,GAAG,CACpB,UAAU,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,WAAW,MAAM,CAAC,YAAY,EAAE,EACrE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAC1B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACnC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { z } from 'zod';
2
+ export declare const updatePullRequest: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ owner: z.ZodString;
4
+ repo: z.ZodString;
5
+ pull_number: z.ZodNumber;
6
+ title: z.ZodOptional<z.ZodString>;
7
+ body: z.ZodOptional<z.ZodString>;
8
+ state: z.ZodOptional<z.ZodEnum<{
9
+ open: "open";
10
+ closed: "closed";
11
+ }>>;
12
+ base: z.ZodOptional<z.ZodString>;
13
+ draft: z.ZodOptional<z.ZodBoolean>;
14
+ }, z.core.$strip>, z.ZodObject<{
15
+ pull_request: z.ZodObject<{
16
+ number: z.ZodNumber;
17
+ title: z.ZodString;
18
+ state: z.ZodString;
19
+ body: z.ZodString;
20
+ html_url: z.ZodString;
21
+ user_login: z.ZodString;
22
+ head_ref: z.ZodString;
23
+ base_ref: z.ZodString;
24
+ labels: z.ZodArray<z.ZodString>;
25
+ draft: z.ZodBoolean;
26
+ merged: z.ZodBoolean;
27
+ mergeable: z.ZodBoolean;
28
+ comments: z.ZodNumber;
29
+ commits: z.ZodNumber;
30
+ additions: z.ZodNumber;
31
+ deletions: z.ZodNumber;
32
+ changed_files: z.ZodNumber;
33
+ created_at: z.ZodString;
34
+ updated_at: z.ZodString;
35
+ }, z.core.$strip>;
36
+ }, z.core.$strip>>;
37
+ //# sourceMappingURL=update-pull-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-pull-request.d.ts","sourceRoot":"","sources":["../../src/tools/update-pull-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkC5B,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../github-api.js';
4
+ import { mapPullRequest, pullRequestSchema } from './schemas.js';
5
+ export const updatePullRequest = defineTool({
6
+ name: 'update_pull_request',
7
+ displayName: 'Update Pull Request',
8
+ description: 'Update an existing pull request. Only specified fields are changed; omitted fields remain unchanged.',
9
+ summary: 'Update a pull request',
10
+ icon: 'git-pull-request',
11
+ group: 'Pull Requests',
12
+ input: z.object({
13
+ owner: z.string().min(1).describe('Repository owner (user or org)'),
14
+ repo: z.string().min(1).describe('Repository name'),
15
+ pull_number: z.number().int().min(1).describe('Pull request number'),
16
+ title: z.string().optional().describe('New pull request title'),
17
+ body: z.string().optional().describe('New pull request body in Markdown'),
18
+ state: z.enum(['open', 'closed']).optional().describe('Set PR state'),
19
+ base: z.string().optional().describe('New target branch name to merge into'),
20
+ draft: z.boolean().optional().describe('Convert to draft or ready for review'),
21
+ }),
22
+ output: z.object({
23
+ pull_request: pullRequestSchema.describe('The updated pull request'),
24
+ }),
25
+ handle: async (params) => {
26
+ const body = {};
27
+ if (params.title !== undefined)
28
+ body.title = params.title;
29
+ if (params.body !== undefined)
30
+ body.body = params.body;
31
+ if (params.state !== undefined)
32
+ body.state = params.state;
33
+ if (params.base !== undefined)
34
+ body.base = params.base;
35
+ if (params.draft !== undefined)
36
+ body.draft = params.draft;
37
+ const data = await api(`/repos/${params.owner}/${params.repo}/pulls/${params.pull_number}`, { method: 'PATCH', body });
38
+ return { pull_request: mapPullRequest(data) };
39
+ },
40
+ });
41
+ //# sourceMappingURL=update-pull-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-pull-request.js","sourceRoot":"","sources":["../../src/tools/update-pull-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;IAC1C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,sGAAsG;IACnH,OAAO,EAAE,uBAAuB;IAChC,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QACnE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACnD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACpE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QACzE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QACrE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QAC5E,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;KAC/E,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,YAAY,EAAE,iBAAiB,CAAC,QAAQ,CAAC,0BAA0B,CAAC;KACrE,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACvD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACvD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE1D,MAAM,IAAI,GAAG,MAAM,GAAG,CACpB,UAAU,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,UAAU,MAAM,CAAC,WAAW,EAAE,EACnE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAC1B,CAAC;QACF,OAAO,EAAE,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IAChD,CAAC;CACF,CAAC,CAAC"}