@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 @@
1
+ {"version":3,"file":"get-pull-request.d.ts","sourceRoot":"","sources":["../../src/tools/get-pull-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;kBAqBzB,CAAC"}
@@ -0,0 +1,25 @@
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 getPullRequest = defineTool({
6
+ name: 'get_pull_request',
7
+ displayName: 'Get Pull Request',
8
+ description: 'Get detailed information about a specific pull request, including merge status and diff stats.',
9
+ summary: 'Get details of a specific 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
+ }),
17
+ output: z.object({
18
+ pull_request: pullRequestSchema.describe('Pull request details'),
19
+ }),
20
+ handle: async (params) => {
21
+ const data = await api(`/repos/${params.owner}/${params.repo}/pulls/${params.pull_number}`);
22
+ return { pull_request: mapPullRequest(data) };
23
+ },
24
+ });
25
+ //# sourceMappingURL=get-pull-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-pull-request.js","sourceRoot":"","sources":["../../src/tools/get-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,cAAc,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EAAE,gGAAgG;IAC7G,OAAO,EAAE,wCAAwC;IACjD,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;KACrE,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,YAAY,EAAE,iBAAiB,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KACjE,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,IAAI,GAAG,MAAM,GAAG,CACpB,UAAU,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,UAAU,MAAM,CAAC,WAAW,EAAE,CACpE,CAAC;QACF,OAAO,EAAE,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IAChD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ export declare const getRepo: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ owner: z.ZodString;
4
+ repo: z.ZodString;
5
+ }, z.core.$strip>, z.ZodObject<{
6
+ repository: z.ZodObject<{
7
+ id: z.ZodNumber;
8
+ name: z.ZodString;
9
+ full_name: z.ZodString;
10
+ description: z.ZodString;
11
+ private: z.ZodBoolean;
12
+ html_url: z.ZodString;
13
+ default_branch: z.ZodString;
14
+ language: z.ZodString;
15
+ stargazers_count: z.ZodNumber;
16
+ forks_count: z.ZodNumber;
17
+ open_issues_count: z.ZodNumber;
18
+ archived: z.ZodBoolean;
19
+ updated_at: z.ZodString;
20
+ }, z.core.$strip>;
21
+ }, z.core.$strip>>;
22
+ //# sourceMappingURL=get-repo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-repo.d.ts","sourceRoot":"","sources":["../../src/tools/get-repo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;kBAkBlB,CAAC"}
@@ -0,0 +1,24 @@
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 getRepo = defineTool({
6
+ name: 'get_repo',
7
+ displayName: 'Get Repository',
8
+ description: 'Get detailed information about a specific repository.',
9
+ summary: 'Get details of a specific repository',
10
+ icon: 'book-open',
11
+ group: 'Repositories',
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
+ }),
16
+ output: z.object({
17
+ repository: repositorySchema.describe('Repository details'),
18
+ }),
19
+ handle: async (params) => {
20
+ const data = await api(`/repos/${params.owner}/${params.repo}`);
21
+ return { repository: mapRepository(data) };
22
+ },
23
+ });
24
+ //# sourceMappingURL=get-repo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-repo.js","sourceRoot":"","sources":["../../src/tools/get-repo.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;AAE/D,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC;IAChC,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,uDAAuD;IACpE,OAAO,EAAE,sCAAsC;IAC/C,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,cAAc;IACrB,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;KACpD,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CAAC,oBAAoB,CAAC;KAC5D,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,IAAI,GAAG,MAAM,GAAG,CAA0B,UAAU,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzF,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7C,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+ export declare const getUserProfile: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ username: z.ZodOptional<z.ZodString>;
4
+ }, z.core.$strip>, z.ZodObject<{
5
+ user: z.ZodObject<{
6
+ login: z.ZodString;
7
+ id: z.ZodNumber;
8
+ name: z.ZodString;
9
+ bio: z.ZodString;
10
+ company: z.ZodString;
11
+ location: z.ZodString;
12
+ email: z.ZodString;
13
+ html_url: z.ZodString;
14
+ avatar_url: z.ZodString;
15
+ public_repos: z.ZodNumber;
16
+ followers: z.ZodNumber;
17
+ following: z.ZodNumber;
18
+ created_at: z.ZodString;
19
+ }, z.core.$strip>;
20
+ }, z.core.$strip>>;
21
+ //# sourceMappingURL=get-user-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-user-profile.d.ts","sourceRoot":"","sources":["../../src/tools/get-user-profile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;kBAkBzB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api, getLogin } from '../github-api.js';
4
+ import { mapUser, userSchema } from './schemas.js';
5
+ export const getUserProfile = defineTool({
6
+ name: 'get_user_profile',
7
+ displayName: 'Get User Profile',
8
+ description: "Get a GitHub user's profile. Defaults to the authenticated user if no username is provided.",
9
+ summary: "Get a user's profile information",
10
+ icon: 'user',
11
+ group: 'Users',
12
+ input: z.object({
13
+ username: z.string().optional().describe('GitHub username — defaults to the authenticated user'),
14
+ }),
15
+ output: z.object({
16
+ user: userSchema.describe('User profile'),
17
+ }),
18
+ handle: async (params) => {
19
+ const username = params.username ?? getLogin();
20
+ const data = await api(`/users/${username}`);
21
+ return { user: mapUser(data) };
22
+ },
23
+ });
24
+ //# sourceMappingURL=get-user-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-user-profile.js","sourceRoot":"","sources":["../../src/tools/get-user-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EAAE,6FAA6F;IAC1G,OAAO,EAAE,kCAAkC;IAC3C,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;KACjG,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;KAC1C,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,GAAG,CAA0B,UAAU,QAAQ,EAAE,CAAC,CAAC;QACtE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IACjC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ export declare const getWorkflowRun: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ owner: z.ZodString;
4
+ repo: z.ZodString;
5
+ run_id: z.ZodNumber;
6
+ }, z.core.$strip>, z.ZodObject<{
7
+ workflow_run: z.ZodObject<{
8
+ id: z.ZodNumber;
9
+ name: z.ZodString;
10
+ status: z.ZodString;
11
+ conclusion: z.ZodString;
12
+ head_branch: z.ZodString;
13
+ head_sha: z.ZodString;
14
+ html_url: z.ZodString;
15
+ created_at: z.ZodString;
16
+ updated_at: z.ZodString;
17
+ }, z.core.$strip>;
18
+ }, z.core.$strip>>;
19
+ //# sourceMappingURL=get-workflow-run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-workflow-run.d.ts","sourceRoot":"","sources":["../../src/tools/get-workflow-run.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;kBAmBzB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../github-api.js';
4
+ import { mapWorkflowRun, workflowRunSchema } from './schemas.js';
5
+ export const getWorkflowRun = defineTool({
6
+ name: 'get_workflow_run',
7
+ displayName: 'Get Workflow Run',
8
+ description: 'Get detailed information about a specific GitHub Actions workflow run by its run ID.',
9
+ summary: 'Get a workflow run by ID',
10
+ icon: 'play',
11
+ group: 'Actions',
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
+ run_id: z.number().int().min(1).describe('Workflow run ID'),
16
+ }),
17
+ output: z.object({
18
+ workflow_run: workflowRunSchema.describe('The workflow run'),
19
+ }),
20
+ handle: async (params) => {
21
+ const data = await api(`/repos/${params.owner}/${params.repo}/actions/runs/${params.run_id}`);
22
+ return { workflow_run: mapWorkflowRun(data) };
23
+ },
24
+ });
25
+ //# sourceMappingURL=get-workflow-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-workflow-run.js","sourceRoot":"","sources":["../../src/tools/get-workflow-run.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,EAAuB,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtF,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EAAE,sFAAsF;IACnG,OAAO,EAAE,0BAA0B;IACnC,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,SAAS;IAChB,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,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;KAC5D,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,YAAY,EAAE,iBAAiB,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KAC7D,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAiB,UAAU,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,iBAAiB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9G,OAAO,EAAE,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IAChD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+ export declare const listBranches: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ owner: z.ZodString;
4
+ repo: z.ZodString;
5
+ per_page: z.ZodOptional<z.ZodNumber>;
6
+ page: z.ZodOptional<z.ZodNumber>;
7
+ }, z.core.$strip>, z.ZodObject<{
8
+ branches: z.ZodArray<z.ZodObject<{
9
+ name: z.ZodString;
10
+ protected: z.ZodBoolean;
11
+ sha: z.ZodString;
12
+ }, z.core.$strip>>;
13
+ }, z.core.$strip>>;
14
+ //# sourceMappingURL=list-branches.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-branches.d.ts","sourceRoot":"","sources":["../../src/tools/list-branches.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;;;;;;;;;kBAyBvB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../github-api.js';
4
+ import { branchSchema, mapBranch } from './schemas.js';
5
+ export const listBranches = defineTool({
6
+ name: 'list_branches',
7
+ displayName: 'List Branches',
8
+ description: 'List branches for a repository.',
9
+ summary: 'List branches for a repository',
10
+ icon: 'git-branch',
11
+ group: 'Repositories',
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
+ per_page: z.number().int().min(1).max(100).optional().describe('Results per page (default 30, max 100)'),
16
+ page: z.number().int().min(1).optional().describe('Page number (default 1)'),
17
+ }),
18
+ output: z.object({
19
+ branches: z.array(branchSchema).describe('List of branches'),
20
+ }),
21
+ handle: async (params) => {
22
+ const query = {
23
+ per_page: params.per_page ?? 30,
24
+ page: params.page,
25
+ };
26
+ const data = await api(`/repos/${params.owner}/${params.repo}/branches`, { query });
27
+ return { branches: (data ?? []).map(mapBranch) };
28
+ },
29
+ });
30
+ //# sourceMappingURL=list-branches.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-branches.js","sourceRoot":"","sources":["../../src/tools/list-branches.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,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,iCAAiC;IAC9C,OAAO,EAAE,gCAAgC;IACzC,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,cAAc;IACrB,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,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,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KAC7D,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,KAAK,GAA0D;YACnE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;YAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,GAAG,CAA4B,UAAU,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/G,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;IACnD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ export declare const listComments: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ owner: z.ZodString;
4
+ repo: z.ZodString;
5
+ issue_number: z.ZodNumber;
6
+ per_page: z.ZodOptional<z.ZodNumber>;
7
+ page: z.ZodOptional<z.ZodNumber>;
8
+ }, z.core.$strip>, z.ZodObject<{
9
+ comments: z.ZodArray<z.ZodObject<{
10
+ id: z.ZodNumber;
11
+ body: z.ZodString;
12
+ user_login: z.ZodString;
13
+ html_url: z.ZodString;
14
+ created_at: z.ZodString;
15
+ updated_at: z.ZodString;
16
+ }, z.core.$strip>>;
17
+ }, z.core.$strip>>;
18
+ //# sourceMappingURL=list-comments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-comments.d.ts","sourceRoot":"","sources":["../../src/tools/list-comments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;kBA6BvB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../github-api.js';
4
+ import { commentSchema, mapComment } from './schemas.js';
5
+ export const listComments = defineTool({
6
+ name: 'list_comments',
7
+ displayName: 'List Comments',
8
+ description: 'List comments on an issue or pull request.',
9
+ summary: 'List comments on an issue or pull request',
10
+ icon: 'message-square',
11
+ group: 'Comments',
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 or pull request number'),
16
+ per_page: z.number().int().min(1).max(100).optional().describe('Results per page (default 30, max 100)'),
17
+ page: z.number().int().min(1).optional().describe('Page number (default 1)'),
18
+ }),
19
+ output: z.object({
20
+ comments: z.array(commentSchema).describe('List of comments'),
21
+ }),
22
+ handle: async (params) => {
23
+ const query = {
24
+ per_page: params.per_page ?? 30,
25
+ page: params.page,
26
+ };
27
+ const data = await api(`/repos/${params.owner}/${params.repo}/issues/${params.issue_number}/comments`, { query });
28
+ return { comments: (data ?? []).map(mapComment) };
29
+ },
30
+ });
31
+ //# sourceMappingURL=list-comments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-comments.js","sourceRoot":"","sources":["../../src/tools/list-comments.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,UAAU,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,4CAA4C;IACzD,OAAO,EAAE,2CAA2C;IACpD,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,UAAU;IACjB,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,8BAA8B,CAAC;QAC9E,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,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KAC9D,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,KAAK,GAA0D;YACnE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;YAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,GAAG,CACpB,UAAU,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,WAAW,MAAM,CAAC,YAAY,WAAW,EAC9E,EAAE,KAAK,EAAE,CACV,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ export declare const listCommits: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ owner: z.ZodString;
4
+ repo: z.ZodString;
5
+ sha: z.ZodOptional<z.ZodString>;
6
+ per_page: z.ZodOptional<z.ZodNumber>;
7
+ page: z.ZodOptional<z.ZodNumber>;
8
+ }, z.core.$strip>, z.ZodObject<{
9
+ commits: z.ZodArray<z.ZodObject<{
10
+ sha: z.ZodString;
11
+ message: z.ZodString;
12
+ author_name: z.ZodString;
13
+ author_email: z.ZodString;
14
+ date: z.ZodString;
15
+ url: z.ZodString;
16
+ }, z.core.$strip>>;
17
+ }, z.core.$strip>>;
18
+ //# sourceMappingURL=list-commits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-commits.d.ts","sourceRoot":"","sources":["../../src/tools/list-commits.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;kBA4BtB,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../github-api.js';
4
+ import { commitSchema, mapCommit } from './schemas.js';
5
+ export const listCommits = defineTool({
6
+ name: 'list_commits',
7
+ displayName: 'List Commits',
8
+ description: 'List commits for a repository. Optionally filter by branch, tag, or SHA. Returns commits sorted by date descending.',
9
+ summary: 'List commits for a repository',
10
+ icon: 'git-commit',
11
+ group: 'Repositories',
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
+ sha: z.string().optional().describe('Branch name, tag, or commit SHA to list commits from'),
16
+ per_page: z.number().int().min(1).max(100).optional().describe('Results per page (default 30, max 100)'),
17
+ page: z.number().int().min(1).optional().describe('Page number (default 1)'),
18
+ }),
19
+ output: z.object({
20
+ commits: z.array(commitSchema).describe('List of commits'),
21
+ }),
22
+ handle: async (params) => {
23
+ const query = {
24
+ per_page: params.per_page ?? 30,
25
+ page: params.page,
26
+ };
27
+ if (params.sha)
28
+ query.sha = params.sha;
29
+ const data = await api(`/repos/${params.owner}/${params.repo}/commits`, { query });
30
+ return { commits: (data ?? []).map(mapCommit) };
31
+ },
32
+ });
33
+ //# sourceMappingURL=list-commits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-commits.js","sourceRoot":"","sources":["../../src/tools/list-commits.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,EAAkB,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEvE,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;IACpC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,cAAc;IAC3B,WAAW,EACT,qHAAqH;IACvH,OAAO,EAAE,+BAA+B;IACxC,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,cAAc;IACrB,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,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;QAC3F,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,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;KAC3D,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,KAAK,GAA0D;YACnE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;YAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;QACF,IAAI,MAAM,CAAC,GAAG;YAAE,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QAEvC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAc,UAAU,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAChG,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;IAClD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { z } from 'zod';
2
+ export declare const listIssues: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ owner: z.ZodString;
4
+ repo: z.ZodString;
5
+ state: z.ZodOptional<z.ZodEnum<{
6
+ open: "open";
7
+ closed: "closed";
8
+ all: "all";
9
+ }>>;
10
+ labels: z.ZodOptional<z.ZodString>;
11
+ assignee: z.ZodOptional<z.ZodString>;
12
+ sort: z.ZodOptional<z.ZodEnum<{
13
+ comments: "comments";
14
+ created: "created";
15
+ updated: "updated";
16
+ }>>;
17
+ direction: z.ZodOptional<z.ZodEnum<{
18
+ asc: "asc";
19
+ desc: "desc";
20
+ }>>;
21
+ per_page: z.ZodOptional<z.ZodNumber>;
22
+ page: z.ZodOptional<z.ZodNumber>;
23
+ }, z.core.$strip>, z.ZodObject<{
24
+ issues: z.ZodArray<z.ZodObject<{
25
+ number: z.ZodNumber;
26
+ title: z.ZodString;
27
+ state: z.ZodString;
28
+ body: z.ZodString;
29
+ html_url: z.ZodString;
30
+ user_login: z.ZodString;
31
+ labels: z.ZodArray<z.ZodString>;
32
+ assignees: z.ZodArray<z.ZodString>;
33
+ comments: z.ZodNumber;
34
+ created_at: z.ZodString;
35
+ updated_at: z.ZodString;
36
+ closed_at: z.ZodString;
37
+ is_pull_request: z.ZodBoolean;
38
+ }, z.core.$strip>>;
39
+ }, z.core.$strip>>;
40
+ //# sourceMappingURL=list-issues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-issues.d.ts","sourceRoot":"","sources":["../../src/tools/list-issues.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAoCrB,CAAC"}
@@ -0,0 +1,42 @@
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 listIssues = defineTool({
6
+ name: 'list_issues',
7
+ displayName: 'List Issues',
8
+ description: 'List issues for a repository. By default returns open issues sorted by creation date. Can filter by state, labels, assignee, and more.',
9
+ summary: 'List issues for a repository',
10
+ icon: 'circle-dot',
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
+ state: z.enum(['open', 'closed', 'all']).optional().describe('Issue state filter (default: open)'),
16
+ labels: z.string().optional().describe('Comma-separated list of label names to filter by'),
17
+ assignee: z.string().optional().describe('Filter by assignee login, or "none" for unassigned, "*" for any'),
18
+ sort: z.enum(['created', 'updated', 'comments']).optional().describe('Sort field (default: created)'),
19
+ direction: z.enum(['asc', 'desc']).optional().describe('Sort direction (default: desc)'),
20
+ per_page: z.number().int().min(1).max(100).optional().describe('Results per page (default 30, max 100)'),
21
+ page: z.number().int().min(1).optional().describe('Page number (default 1)'),
22
+ }),
23
+ output: z.object({
24
+ issues: z.array(issueSchema).describe('List of issues'),
25
+ }),
26
+ handle: async (params) => {
27
+ const query = {
28
+ state: params.state ?? 'open',
29
+ per_page: params.per_page ?? 30,
30
+ page: params.page,
31
+ sort: params.sort,
32
+ direction: params.direction,
33
+ };
34
+ if (params.labels)
35
+ query.labels = params.labels;
36
+ if (params.assignee)
37
+ query.assignee = params.assignee;
38
+ const data = await api(`/repos/${params.owner}/${params.repo}/issues`, { query });
39
+ return { issues: (data ?? []).map(mapIssue) };
40
+ },
41
+ });
42
+ //# sourceMappingURL=list-issues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-issues.js","sourceRoot":"","sources":["../../src/tools/list-issues.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ export declare const listLabels: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ owner: z.ZodString;
4
+ repo: z.ZodString;
5
+ per_page: z.ZodOptional<z.ZodNumber>;
6
+ page: z.ZodOptional<z.ZodNumber>;
7
+ }, z.core.$strip>, z.ZodObject<{
8
+ labels: z.ZodArray<z.ZodObject<{
9
+ id: z.ZodNumber;
10
+ name: z.ZodString;
11
+ color: z.ZodString;
12
+ description: z.ZodString;
13
+ }, z.core.$strip>>;
14
+ }, z.core.$strip>>;
15
+ //# sourceMappingURL=list-labels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-labels.d.ts","sourceRoot":"","sources":["../../src/tools/list-labels.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,UAAU;;;;;;;;;;;;kBAyBrB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../github-api.js';
4
+ import { labelSchema, mapLabel } from './schemas.js';
5
+ export const listLabels = defineTool({
6
+ name: 'list_labels',
7
+ displayName: 'List Labels',
8
+ description: 'List all labels for a repository. Returns label names, colors, and descriptions.',
9
+ summary: 'List labels for a repository',
10
+ icon: 'tag',
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
+ per_page: z.number().int().min(1).max(100).optional().describe('Results per page (default 30, max 100)'),
16
+ page: z.number().int().min(1).optional().describe('Page number (default 1)'),
17
+ }),
18
+ output: z.object({
19
+ labels: z.array(labelSchema).describe('List of labels'),
20
+ }),
21
+ handle: async (params) => {
22
+ const query = {
23
+ per_page: params.per_page ?? 30,
24
+ page: params.page,
25
+ };
26
+ const data = await api(`/repos/${params.owner}/${params.repo}/labels`, { query });
27
+ return { labels: (data ?? []).map(mapLabel) };
28
+ },
29
+ });
30
+ //# sourceMappingURL=list-labels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-labels.js","sourceRoot":"","sources":["../../src/tools/list-labels.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,EAAiB,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEpE,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;IACnC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,kFAAkF;IAC/F,OAAO,EAAE,8BAA8B;IACvC,IAAI,EAAE,KAAK;IACX,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,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,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;KACxD,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,KAAK,GAA0D;YACnE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;YAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAa,UAAU,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9F,OAAO,EAAE,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IAChD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ export declare const listNotifications: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ all: z.ZodOptional<z.ZodBoolean>;
4
+ participating: z.ZodOptional<z.ZodBoolean>;
5
+ per_page: z.ZodOptional<z.ZodNumber>;
6
+ page: z.ZodOptional<z.ZodNumber>;
7
+ }, z.core.$strip>, z.ZodObject<{
8
+ notifications: z.ZodArray<z.ZodObject<{
9
+ id: z.ZodString;
10
+ reason: z.ZodString;
11
+ unread: z.ZodBoolean;
12
+ subject_title: z.ZodString;
13
+ subject_type: z.ZodString;
14
+ subject_url: z.ZodString;
15
+ repository_full_name: z.ZodString;
16
+ updated_at: z.ZodString;
17
+ }, z.core.$strip>>;
18
+ }, z.core.$strip>>;
19
+ //# sourceMappingURL=list-notifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-notifications.d.ts","sourceRoot":"","sources":["../../src/tools/list-notifications.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;kBAgC5B,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../github-api.js';
4
+ import { mapNotification, notificationSchema } from './schemas.js';
5
+ export const listNotifications = defineTool({
6
+ name: 'list_notifications',
7
+ displayName: 'List Notifications',
8
+ description: 'List notifications for the authenticated user. Includes issue, PR, and release notifications.',
9
+ summary: 'List notifications for the authenticated user',
10
+ icon: 'bell',
11
+ group: 'Users',
12
+ input: z.object({
13
+ all: z.boolean().optional().describe('Show all notifications including read ones (default: false)'),
14
+ participating: z
15
+ .boolean()
16
+ .optional()
17
+ .describe('Only show notifications where the user is directly participating (default: false)'),
18
+ per_page: z.number().int().min(1).max(100).optional().describe('Results per page (default 30, max 100)'),
19
+ page: z.number().int().min(1).optional().describe('Page number (default 1)'),
20
+ }),
21
+ output: z.object({
22
+ notifications: z.array(notificationSchema).describe('List of notifications'),
23
+ }),
24
+ handle: async (params) => {
25
+ const query = {
26
+ per_page: params.per_page ?? 30,
27
+ page: params.page,
28
+ };
29
+ if (params.all !== undefined)
30
+ query.all = params.all;
31
+ if (params.participating !== undefined)
32
+ query.participating = params.participating;
33
+ const data = await api('/notifications', {
34
+ query,
35
+ });
36
+ return { notifications: (data ?? []).map(mapNotification) };
37
+ },
38
+ });
39
+ //# sourceMappingURL=list-notifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-notifications.js","sourceRoot":"","sources":["../../src/tools/list-notifications.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,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;IAC1C,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,+FAA+F;IAC5G,OAAO,EAAE,+CAA+C;IACxD,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;QACnG,aAAa,EAAE,CAAC;aACb,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,mFAAmF,CAAC;QAChG,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,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;KAC7E,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,KAAK,GAA0D;YACnE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;YAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;QACF,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS;YAAE,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACrD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;YAAE,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAEnF,MAAM,IAAI,GAAG,MAAM,GAAG,CAA4B,gBAAgB,EAAE;YAClE,KAAK;SACN,CAAC,CAAC;QACH,OAAO,EAAE,aAAa,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;IAC9D,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+ export declare const listOrgMembers: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ org: z.ZodString;
4
+ per_page: z.ZodOptional<z.ZodNumber>;
5
+ page: z.ZodOptional<z.ZodNumber>;
6
+ }, z.core.$strip>, z.ZodObject<{
7
+ members: z.ZodArray<z.ZodObject<{
8
+ login: z.ZodString;
9
+ id: z.ZodNumber;
10
+ avatar_url: z.ZodString;
11
+ html_url: z.ZodString;
12
+ }, z.core.$strip>>;
13
+ }, z.core.$strip>>;
14
+ //# sourceMappingURL=list-org-members.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-org-members.d.ts","sourceRoot":"","sources":["../../src/tools/list-org-members.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,cAAc;;;;;;;;;;;kBA2CzB,CAAC"}