@framers/agentos-ext-github 0.1.0 → 0.1.1

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 (140) hide show
  1. package/LICENSE +96 -21
  2. package/dist/GitHubRepoIndexer.d.ts +88 -0
  3. package/dist/GitHubRepoIndexer.d.ts.map +1 -0
  4. package/dist/GitHubRepoIndexer.js +252 -0
  5. package/dist/GitHubRepoIndexer.js.map +1 -0
  6. package/dist/GitHubService.d.ts +58 -1
  7. package/dist/GitHubService.d.ts.map +1 -1
  8. package/dist/GitHubService.js +83 -1
  9. package/dist/GitHubService.js.map +1 -1
  10. package/dist/__tests__/fileAndBranchTools.test.d.ts +6 -0
  11. package/dist/__tests__/fileAndBranchTools.test.d.ts.map +1 -0
  12. package/dist/__tests__/fileAndBranchTools.test.js +310 -0
  13. package/dist/__tests__/fileAndBranchTools.test.js.map +1 -0
  14. package/dist/__tests__/indexer.test.d.ts +6 -0
  15. package/dist/__tests__/indexer.test.d.ts.map +1 -0
  16. package/dist/__tests__/indexer.test.js +239 -0
  17. package/dist/__tests__/indexer.test.js.map +1 -0
  18. package/dist/__tests__/issueTools.test.d.ts +5 -0
  19. package/dist/__tests__/issueTools.test.d.ts.map +1 -0
  20. package/dist/__tests__/issueTools.test.js +183 -0
  21. package/dist/__tests__/issueTools.test.js.map +1 -0
  22. package/dist/__tests__/prTools.test.d.ts +5 -0
  23. package/dist/__tests__/prTools.test.d.ts.map +1 -0
  24. package/dist/__tests__/prTools.test.js +318 -0
  25. package/dist/__tests__/prTools.test.js.map +1 -0
  26. package/dist/__tests__/releaseAndActionsTools.test.d.ts +6 -0
  27. package/dist/__tests__/releaseAndActionsTools.test.d.ts.map +1 -0
  28. package/dist/__tests__/releaseAndActionsTools.test.js +315 -0
  29. package/dist/__tests__/releaseAndActionsTools.test.js.map +1 -0
  30. package/dist/__tests__/repoTools.test.d.ts +6 -0
  31. package/dist/__tests__/repoTools.test.d.ts.map +1 -0
  32. package/dist/__tests__/repoTools.test.js +308 -0
  33. package/dist/__tests__/repoTools.test.js.map +1 -0
  34. package/dist/__tests__/service.test.d.ts +6 -0
  35. package/dist/__tests__/service.test.d.ts.map +1 -0
  36. package/dist/__tests__/service.test.js +173 -0
  37. package/dist/__tests__/service.test.js.map +1 -0
  38. package/dist/index.d.ts +41 -2
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +60 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/tools/actionsList.d.ts +48 -0
  43. package/dist/tools/actionsList.d.ts.map +1 -0
  44. package/dist/tools/actionsList.js +71 -0
  45. package/dist/tools/actionsList.js.map +1 -0
  46. package/dist/tools/actionsTrigger.d.ts +56 -0
  47. package/dist/tools/actionsTrigger.d.ts.map +1 -0
  48. package/dist/tools/actionsTrigger.js +62 -0
  49. package/dist/tools/actionsTrigger.js.map +1 -0
  50. package/dist/tools/branchCreate.d.ts +47 -0
  51. package/dist/tools/branchCreate.d.ts.map +1 -0
  52. package/dist/tools/branchCreate.js +68 -0
  53. package/dist/tools/branchCreate.js.map +1 -0
  54. package/dist/tools/branchList.d.ts +45 -0
  55. package/dist/tools/branchList.d.ts.map +1 -0
  56. package/dist/tools/branchList.js +47 -0
  57. package/dist/tools/branchList.js.map +1 -0
  58. package/dist/tools/commentList.d.ts +48 -0
  59. package/dist/tools/commentList.d.ts.map +1 -0
  60. package/dist/tools/commentList.js +52 -0
  61. package/dist/tools/commentList.js.map +1 -0
  62. package/dist/tools/commitList.d.ts +65 -0
  63. package/dist/tools/commitList.d.ts.map +1 -0
  64. package/dist/tools/commitList.js +58 -0
  65. package/dist/tools/commitList.js.map +1 -0
  66. package/dist/tools/fileRead.d.ts.map +1 -1
  67. package/dist/tools/fileRead.js +1 -0
  68. package/dist/tools/fileRead.js.map +1 -1
  69. package/dist/tools/fileWrite.d.ts +61 -0
  70. package/dist/tools/fileWrite.d.ts.map +1 -0
  71. package/dist/tools/fileWrite.js +56 -0
  72. package/dist/tools/fileWrite.js.map +1 -0
  73. package/dist/tools/gistCreate.d.ts.map +1 -1
  74. package/dist/tools/gistCreate.js +1 -0
  75. package/dist/tools/gistCreate.js.map +1 -1
  76. package/dist/tools/issueCreate.d.ts.map +1 -1
  77. package/dist/tools/issueCreate.js +1 -0
  78. package/dist/tools/issueCreate.js.map +1 -1
  79. package/dist/tools/issueList.d.ts.map +1 -1
  80. package/dist/tools/issueList.js +1 -0
  81. package/dist/tools/issueList.js.map +1 -1
  82. package/dist/tools/issueUpdate.d.ts +75 -0
  83. package/dist/tools/issueUpdate.d.ts.map +1 -0
  84. package/dist/tools/issueUpdate.js +80 -0
  85. package/dist/tools/issueUpdate.js.map +1 -0
  86. package/dist/tools/prCommentCreate.d.ts +48 -0
  87. package/dist/tools/prCommentCreate.d.ts.map +1 -0
  88. package/dist/tools/prCommentCreate.js +50 -0
  89. package/dist/tools/prCommentCreate.js.map +1 -0
  90. package/dist/tools/prCommentList.d.ts +48 -0
  91. package/dist/tools/prCommentList.d.ts.map +1 -0
  92. package/dist/tools/prCommentList.js +53 -0
  93. package/dist/tools/prCommentList.js.map +1 -0
  94. package/dist/tools/prCreate.d.ts.map +1 -1
  95. package/dist/tools/prCreate.js +1 -0
  96. package/dist/tools/prCreate.js.map +1 -1
  97. package/dist/tools/prDiff.d.ts +48 -0
  98. package/dist/tools/prDiff.d.ts.map +1 -0
  99. package/dist/tools/prDiff.js +75 -0
  100. package/dist/tools/prDiff.js.map +1 -0
  101. package/dist/tools/prList.d.ts.map +1 -1
  102. package/dist/tools/prList.js +1 -0
  103. package/dist/tools/prList.js.map +1 -1
  104. package/dist/tools/prMerge.d.ts +59 -0
  105. package/dist/tools/prMerge.d.ts.map +1 -0
  106. package/dist/tools/prMerge.js +58 -0
  107. package/dist/tools/prMerge.js.map +1 -0
  108. package/dist/tools/prReview.d.ts +81 -0
  109. package/dist/tools/prReview.d.ts.map +1 -0
  110. package/dist/tools/prReview.js +70 -0
  111. package/dist/tools/prReview.js.map +1 -0
  112. package/dist/tools/releaseCreate.d.ts +73 -0
  113. package/dist/tools/releaseCreate.d.ts.map +1 -0
  114. package/dist/tools/releaseCreate.js +69 -0
  115. package/dist/tools/releaseCreate.js.map +1 -0
  116. package/dist/tools/releaseList.d.ts +42 -0
  117. package/dist/tools/releaseList.d.ts.map +1 -0
  118. package/dist/tools/releaseList.js +50 -0
  119. package/dist/tools/releaseList.js.map +1 -0
  120. package/dist/tools/repoCreate.d.ts +55 -0
  121. package/dist/tools/repoCreate.d.ts.map +1 -0
  122. package/dist/tools/repoCreate.js +54 -0
  123. package/dist/tools/repoCreate.js.map +1 -0
  124. package/dist/tools/repoIndex.d.ts +47 -0
  125. package/dist/tools/repoIndex.d.ts.map +1 -0
  126. package/dist/tools/repoIndex.js +127 -0
  127. package/dist/tools/repoIndex.js.map +1 -0
  128. package/dist/tools/repoInfo.d.ts +35 -0
  129. package/dist/tools/repoInfo.d.ts.map +1 -0
  130. package/dist/tools/repoInfo.js +60 -0
  131. package/dist/tools/repoInfo.js.map +1 -0
  132. package/dist/tools/repoList.d.ts +47 -0
  133. package/dist/tools/repoList.d.ts.map +1 -0
  134. package/dist/tools/repoList.js +74 -0
  135. package/dist/tools/repoList.js.map +1 -0
  136. package/dist/tools/search.d.ts.map +1 -1
  137. package/dist/tools/search.js +1 -0
  138. package/dist/tools/search.js.map +1 -1
  139. package/manifest.json +30 -6
  140. package/package.json +10 -6
@@ -0,0 +1,75 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * @fileoverview GitHub PR Diff tool — get files changed in a pull request.
4
+ *
5
+ * Returns a summary of changed files with optional patch content.
6
+ * Patch text is truncated to 3000 characters per file to keep token usage manageable.
7
+ */
8
+ /** Maximum characters to include per-file patch. */
9
+ const MAX_PATCH_LENGTH = 3000;
10
+ export class GitHubPrDiffTool {
11
+ service;
12
+ name = 'github_pr_diff';
13
+ description = 'Get files changed in a GitHub pull request. Returns filename, status, additions, deletions, and optional patch.';
14
+ category = 'developer';
15
+ hasSideEffects = false;
16
+ inputSchema = {
17
+ type: 'object',
18
+ required: ['owner', 'repo', 'pull_number'],
19
+ properties: {
20
+ owner: { type: 'string', description: 'Repository owner (user or org)' },
21
+ repo: { type: 'string', description: 'Repository name' },
22
+ pull_number: { type: 'number', description: 'Pull request number' },
23
+ include_patch: {
24
+ type: 'boolean',
25
+ description: 'Include patch/diff text per file (default: false). Patches are truncated to 3000 chars.',
26
+ },
27
+ },
28
+ };
29
+ constructor(service) {
30
+ this.service = service;
31
+ }
32
+ async execute(args) {
33
+ try {
34
+ const octokit = this.service.getOctokit();
35
+ const { data } = await octokit.rest.pulls.listFiles({
36
+ owner: args.owner,
37
+ repo: args.repo,
38
+ pull_number: args.pull_number,
39
+ });
40
+ let totalAdditions = 0;
41
+ let totalDeletions = 0;
42
+ const files = data.map((f) => {
43
+ totalAdditions += f.additions;
44
+ totalDeletions += f.deletions;
45
+ const entry = {
46
+ filename: f.filename,
47
+ status: f.status,
48
+ additions: f.additions,
49
+ deletions: f.deletions,
50
+ changes: f.changes,
51
+ };
52
+ if (args.include_patch && f.patch) {
53
+ entry.patch =
54
+ f.patch.length > MAX_PATCH_LENGTH
55
+ ? f.patch.slice(0, MAX_PATCH_LENGTH) + '\n... (truncated)'
56
+ : f.patch;
57
+ }
58
+ return entry;
59
+ });
60
+ return {
61
+ success: true,
62
+ data: {
63
+ totalFiles: files.length,
64
+ totalAdditions,
65
+ totalDeletions,
66
+ files,
67
+ },
68
+ };
69
+ }
70
+ catch (err) {
71
+ return { success: false, error: err instanceof Error ? err.message : String(err) };
72
+ }
73
+ }
74
+ }
75
+ //# sourceMappingURL=prDiff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prDiff.js","sourceRoot":"","sources":["../../src/tools/prDiff.ts"],"names":[],"mappings":"AAAA,cAAc;AACd;;;;;GAKG;AAIH,oDAAoD;AACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,MAAM,OAAO,gBAAgB;IAoBE;IAnBpB,IAAI,GAAG,gBAAgB,CAAC;IACxB,WAAW,GAAG,iHAAiH,CAAC;IAChI,QAAQ,GAAG,WAAW,CAAC;IACvB,cAAc,GAAG,KAAK,CAAC;IAEvB,WAAW,GAAG;QACrB,IAAI,EAAE,QAAiB;QACvB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAU;QACnD,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,gCAAgC,EAAE;YACjF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE;YACjE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,qBAAqB,EAAE;YAC5E,aAAa,EAAE;gBACb,IAAI,EAAE,SAAkB;gBACxB,WAAW,EAAE,yFAAyF;aACvG;SACF;KACF,CAAC;IAEF,YAA6B,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;IAAG,CAAC;IAEvD,KAAK,CAAC,OAAO,CAAC,IAKb;QACC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;gBAClD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;YAEH,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,cAAc,GAAG,CAAC,CAAC;YAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAChC,cAAc,IAAI,CAAC,CAAC,SAAS,CAAC;gBAC9B,cAAc,IAAI,CAAC,CAAC,SAAS,CAAC;gBAE9B,MAAM,KAAK,GAA4B;oBACrC,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC;gBAEF,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBAClC,KAAK,CAAC,KAAK;wBACT,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,gBAAgB;4BAC/B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,GAAG,mBAAmB;4BAC1D,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAChB,CAAC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,UAAU,EAAE,KAAK,CAAC,MAAM;oBACxB,cAAc;oBACd,cAAc;oBACd,KAAK;iBACN;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACrF,CAAC;IACH,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"prList.d.ts","sourceRoot":"","sources":["../../src/tools/prList.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,qBAAa,gBAAgB;IAuBf,OAAO,CAAC,QAAQ,CAAC,OAAO;IAtBpC,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,WAAW,qGAAqG;IACzH,QAAQ,CAAC,QAAQ,eAAe;IAChC,QAAQ,CAAC,cAAc,SAAS;IAEhC,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAelB;gBAE2B,OAAO,EAAE,aAAa;IAE7C,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CA+BlE"}
1
+ {"version":3,"file":"prList.d.ts","sourceRoot":"","sources":["../../src/tools/prList.ts"],"names":[],"mappings":"AACA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,qBAAa,gBAAgB;IAuBf,OAAO,CAAC,QAAQ,CAAC,OAAO;IAtBpC,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,WAAW,qGAAqG;IACzH,QAAQ,CAAC,QAAQ,eAAe;IAChC,QAAQ,CAAC,cAAc,SAAS;IAEhC,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAelB;gBAE2B,OAAO,EAAE,aAAa;IAE7C,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CA+BlE"}
@@ -1,3 +1,4 @@
1
+ // @ts-nocheck
1
2
  /**
2
3
  * @fileoverview GitHub PR List tool — list pull requests for a repository.
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"prList.js","sourceRoot":"","sources":["../../src/tools/prList.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,OAAO,gBAAgB;IAuBE;IAtBpB,IAAI,GAAG,gBAAgB,CAAC;IACxB,WAAW,GAAG,iGAAiG,CAAC;IAChH,QAAQ,GAAG,WAAW,CAAC;IACvB,cAAc,GAAG,KAAK,CAAC;IAEvB,WAAW,GAAG;QACrB,IAAI,EAAE,QAAiB;QACvB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAU;QACpC,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,gCAAgC,EAAE;YACjF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE;YACjE,KAAK,EAAE;gBACL,IAAI,EAAE,QAAiB;gBACvB,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAU;gBACxC,WAAW,EAAE,iCAAiC;aAC/C;YACD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,4CAA4C,EAAE;YAC5F,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,uBAAuB,EAAE;YACvE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,uCAAuC,EAAE;SAC5F;KACF,CAAC;IAEF,YAA6B,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;IAAG,CAAC;IAEvD,KAAK,CAAC,OAAO,CAAC,IAOb;QACC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC7C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAG,IAAI,CAAC,KAAmC,IAAI,MAAM;gBAC1D,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC;aAC5C,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,CAAC;oBAC3B,MAAM,EAAE,EAAE,CAAC,MAAM;oBACjB,KAAK,EAAE,EAAE,CAAC,KAAK;oBACf,KAAK,EAAE,EAAE,CAAC,KAAK;oBACf,KAAK,EAAE,EAAE,CAAC,KAAK;oBACf,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK;oBACtB,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG;oBACjB,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG;oBACjB,UAAU,EAAE,EAAE,CAAC,UAAU;oBACzB,GAAG,EAAE,EAAE,CAAC,QAAQ;oBAChB,eAAe,EAAE,EAAE,CAAC,eAAe;iBACpC,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACrF,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"prList.js","sourceRoot":"","sources":["../../src/tools/prList.ts"],"names":[],"mappings":"AAAA,cAAc;AACd;;GAEG;AAIH,MAAM,OAAO,gBAAgB;IAuBE;IAtBpB,IAAI,GAAG,gBAAgB,CAAC;IACxB,WAAW,GAAG,iGAAiG,CAAC;IAChH,QAAQ,GAAG,WAAW,CAAC;IACvB,cAAc,GAAG,KAAK,CAAC;IAEvB,WAAW,GAAG;QACrB,IAAI,EAAE,QAAiB;QACvB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAU;QACpC,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,gCAAgC,EAAE;YACjF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE;YACjE,KAAK,EAAE;gBACL,IAAI,EAAE,QAAiB;gBACvB,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAU;gBACxC,WAAW,EAAE,iCAAiC;aAC/C;YACD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,4CAA4C,EAAE;YAC5F,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,uBAAuB,EAAE;YACvE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,uCAAuC,EAAE;SAC5F;KACF,CAAC;IAEF,YAA6B,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;IAAG,CAAC;IAEvD,KAAK,CAAC,OAAO,CAAC,IAOb;QACC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC7C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAG,IAAI,CAAC,KAAmC,IAAI,MAAM;gBAC1D,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC;aAC5C,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,CAAC;oBAC3B,MAAM,EAAE,EAAE,CAAC,MAAM;oBACjB,KAAK,EAAE,EAAE,CAAC,KAAK;oBACf,KAAK,EAAE,EAAE,CAAC,KAAK;oBACf,KAAK,EAAE,EAAE,CAAC,KAAK;oBACf,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK;oBACtB,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG;oBACjB,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG;oBACjB,UAAU,EAAE,EAAE,CAAC,UAAU;oBACzB,GAAG,EAAE,EAAE,CAAC,QAAQ;oBAChB,eAAe,EAAE,EAAE,CAAC,eAAe;iBACpC,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACrF,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @fileoverview GitHub PR Merge tool — merge a pull request.
3
+ *
4
+ * Supports merge, squash, and rebase strategies with optional custom
5
+ * commit title and message.
6
+ */
7
+ import type { GitHubService } from '../GitHubService.js';
8
+ export declare class GitHubPrMergeTool {
9
+ private readonly service;
10
+ readonly name = "github_pr_merge";
11
+ readonly description = "Merge a GitHub pull request. Supports merge, squash, and rebase methods.";
12
+ readonly category = "developer";
13
+ readonly hasSideEffects = true;
14
+ readonly inputSchema: {
15
+ type: "object";
16
+ required: readonly ["owner", "repo", "pull_number"];
17
+ properties: {
18
+ owner: {
19
+ type: "string";
20
+ description: string;
21
+ };
22
+ repo: {
23
+ type: "string";
24
+ description: string;
25
+ };
26
+ pull_number: {
27
+ type: "number";
28
+ description: string;
29
+ };
30
+ merge_method: {
31
+ type: "string";
32
+ enum: readonly ["merge", "squash", "rebase"];
33
+ description: string;
34
+ };
35
+ commit_title: {
36
+ type: "string";
37
+ description: string;
38
+ };
39
+ commit_message: {
40
+ type: "string";
41
+ description: string;
42
+ };
43
+ };
44
+ };
45
+ constructor(service: GitHubService);
46
+ execute(args: {
47
+ owner: string;
48
+ repo: string;
49
+ pull_number: number;
50
+ merge_method?: 'merge' | 'squash' | 'rebase';
51
+ commit_title?: string;
52
+ commit_message?: string;
53
+ }): Promise<{
54
+ success: boolean;
55
+ data?: unknown;
56
+ error?: string;
57
+ }>;
58
+ }
59
+ //# sourceMappingURL=prMerge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prMerge.d.ts","sourceRoot":"","sources":["../../src/tools/prMerge.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,qBAAa,iBAAiB;IAuBhB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAtBpC,QAAQ,CAAC,IAAI,qBAAqB;IAClC,QAAQ,CAAC,WAAW,8EAA8E;IAClG,QAAQ,CAAC,QAAQ,eAAe;IAChC,QAAQ,CAAC,cAAc,QAAQ;IAE/B,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAelB;gBAE2B,OAAO,EAAE,aAAa;IAE7C,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAwBlE"}
@@ -0,0 +1,58 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * @fileoverview GitHub PR Merge tool — merge a pull request.
4
+ *
5
+ * Supports merge, squash, and rebase strategies with optional custom
6
+ * commit title and message.
7
+ */
8
+ export class GitHubPrMergeTool {
9
+ service;
10
+ name = 'github_pr_merge';
11
+ description = 'Merge a GitHub pull request. Supports merge, squash, and rebase methods.';
12
+ category = 'developer';
13
+ hasSideEffects = true;
14
+ inputSchema = {
15
+ type: 'object',
16
+ required: ['owner', 'repo', 'pull_number'],
17
+ properties: {
18
+ owner: { type: 'string', description: 'Repository owner (user or org)' },
19
+ repo: { type: 'string', description: 'Repository name' },
20
+ pull_number: { type: 'number', description: 'Pull request number' },
21
+ merge_method: {
22
+ type: 'string',
23
+ enum: ['merge', 'squash', 'rebase'],
24
+ description: 'Merge strategy (default: merge)',
25
+ },
26
+ commit_title: { type: 'string', description: 'Custom merge commit title' },
27
+ commit_message: { type: 'string', description: 'Custom merge commit message body' },
28
+ },
29
+ };
30
+ constructor(service) {
31
+ this.service = service;
32
+ }
33
+ async execute(args) {
34
+ try {
35
+ const octokit = this.service.getOctokit();
36
+ const { data } = await octokit.rest.pulls.merge({
37
+ owner: args.owner,
38
+ repo: args.repo,
39
+ pull_number: args.pull_number,
40
+ merge_method: args.merge_method ?? 'merge',
41
+ commit_title: args.commit_title,
42
+ commit_message: args.commit_message,
43
+ });
44
+ return {
45
+ success: true,
46
+ data: {
47
+ merged: data.merged,
48
+ sha: data.sha,
49
+ message: data.message,
50
+ },
51
+ };
52
+ }
53
+ catch (err) {
54
+ return { success: false, error: err instanceof Error ? err.message : String(err) };
55
+ }
56
+ }
57
+ }
58
+ //# sourceMappingURL=prMerge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prMerge.js","sourceRoot":"","sources":["../../src/tools/prMerge.ts"],"names":[],"mappings":"AAAA,cAAc;AACd;;;;;GAKG;AAIH,MAAM,OAAO,iBAAiB;IAuBC;IAtBpB,IAAI,GAAG,iBAAiB,CAAC;IACzB,WAAW,GAAG,0EAA0E,CAAC;IACzF,QAAQ,GAAG,WAAW,CAAC;IACvB,cAAc,GAAG,IAAI,CAAC;IAEtB,WAAW,GAAG;QACrB,IAAI,EAAE,QAAiB;QACvB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAU;QACnD,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,gCAAgC,EAAE;YACjF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE;YACjE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,qBAAqB,EAAE;YAC5E,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAiB;gBACvB,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAU;gBAC5C,WAAW,EAAE,iCAAiC;aAC/C;YACD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,2BAA2B,EAAE;YACnF,cAAc,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,kCAAkC,EAAE;SAC7F;KACF,CAAC;IAEF,YAA6B,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;IAAG,CAAC;IAEvD,KAAK,CAAC,OAAO,CAAC,IAOb;QACC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC9C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,OAAO;gBAC1C,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,OAAO,EAAE,IAAI,CAAC,OAAO;iBACtB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACrF,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * @fileoverview GitHub PR Review tool — create a review on a pull request.
3
+ *
4
+ * Supports APPROVE, COMMENT, and REQUEST_CHANGES events, with optional
5
+ * inline review comments targeting specific file paths and lines.
6
+ */
7
+ import type { GitHubService } from '../GitHubService.js';
8
+ export declare class GitHubPrReviewTool {
9
+ private readonly service;
10
+ readonly name = "github_pr_review";
11
+ readonly description = "Create a review on a GitHub pull request (approve, comment, or request changes). Supports inline comments.";
12
+ readonly category = "developer";
13
+ readonly hasSideEffects = true;
14
+ readonly inputSchema: {
15
+ type: "object";
16
+ required: readonly ["owner", "repo", "pull_number", "event"];
17
+ properties: {
18
+ owner: {
19
+ type: "string";
20
+ description: string;
21
+ };
22
+ repo: {
23
+ type: "string";
24
+ description: string;
25
+ };
26
+ pull_number: {
27
+ type: "number";
28
+ description: string;
29
+ };
30
+ event: {
31
+ type: "string";
32
+ enum: readonly ["APPROVE", "COMMENT", "REQUEST_CHANGES"];
33
+ description: string;
34
+ };
35
+ body: {
36
+ type: "string";
37
+ description: string;
38
+ };
39
+ comments: {
40
+ type: "array";
41
+ description: string;
42
+ items: {
43
+ type: "object";
44
+ required: readonly ["path", "line", "body"];
45
+ properties: {
46
+ path: {
47
+ type: "string";
48
+ description: string;
49
+ };
50
+ line: {
51
+ type: "number";
52
+ description: string;
53
+ };
54
+ body: {
55
+ type: "string";
56
+ description: string;
57
+ };
58
+ };
59
+ };
60
+ };
61
+ };
62
+ };
63
+ constructor(service: GitHubService);
64
+ execute(args: {
65
+ owner: string;
66
+ repo: string;
67
+ pull_number: number;
68
+ event: 'APPROVE' | 'COMMENT' | 'REQUEST_CHANGES';
69
+ body?: string;
70
+ comments?: Array<{
71
+ path: string;
72
+ line: number;
73
+ body: string;
74
+ }>;
75
+ }): Promise<{
76
+ success: boolean;
77
+ data?: unknown;
78
+ error?: string;
79
+ }>;
80
+ }
81
+ //# sourceMappingURL=prReview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prReview.d.ts","sourceRoot":"","sources":["../../src/tools/prReview.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,qBAAa,kBAAkB;IAmCjB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAlCpC,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,WAAW,gHAAgH;IACpI,QAAQ,CAAC,QAAQ,eAAe;IAChC,QAAQ,CAAC,cAAc,QAAQ;IAE/B,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2BlB;gBAE2B,OAAO,EAAE,aAAa;IAE7C,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,iBAAiB,CAAC;QACjD,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAwBlE"}
@@ -0,0 +1,70 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * @fileoverview GitHub PR Review tool — create a review on a pull request.
4
+ *
5
+ * Supports APPROVE, COMMENT, and REQUEST_CHANGES events, with optional
6
+ * inline review comments targeting specific file paths and lines.
7
+ */
8
+ export class GitHubPrReviewTool {
9
+ service;
10
+ name = 'github_pr_review';
11
+ description = 'Create a review on a GitHub pull request (approve, comment, or request changes). Supports inline comments.';
12
+ category = 'developer';
13
+ hasSideEffects = true;
14
+ inputSchema = {
15
+ type: 'object',
16
+ required: ['owner', 'repo', 'pull_number', 'event'],
17
+ properties: {
18
+ owner: { type: 'string', description: 'Repository owner (user or org)' },
19
+ repo: { type: 'string', description: 'Repository name' },
20
+ pull_number: { type: 'number', description: 'Pull request number' },
21
+ event: {
22
+ type: 'string',
23
+ enum: ['APPROVE', 'COMMENT', 'REQUEST_CHANGES'],
24
+ description: 'Review action: APPROVE, COMMENT, or REQUEST_CHANGES',
25
+ },
26
+ body: { type: 'string', description: 'Review body/summary (required for REQUEST_CHANGES)' },
27
+ comments: {
28
+ type: 'array',
29
+ description: 'Inline review comments',
30
+ items: {
31
+ type: 'object',
32
+ required: ['path', 'line', 'body'],
33
+ properties: {
34
+ path: { type: 'string', description: 'File path relative to repo root' },
35
+ line: { type: 'number', description: 'Line number in the diff to comment on' },
36
+ body: { type: 'string', description: 'Comment body' },
37
+ },
38
+ },
39
+ },
40
+ },
41
+ };
42
+ constructor(service) {
43
+ this.service = service;
44
+ }
45
+ async execute(args) {
46
+ try {
47
+ const octokit = this.service.getOctokit();
48
+ const { data } = await octokit.rest.pulls.createReview({
49
+ owner: args.owner,
50
+ repo: args.repo,
51
+ pull_number: args.pull_number,
52
+ event: args.event,
53
+ body: args.body,
54
+ comments: args.comments,
55
+ });
56
+ return {
57
+ success: true,
58
+ data: {
59
+ id: data.id,
60
+ state: data.state,
61
+ url: data.html_url,
62
+ },
63
+ };
64
+ }
65
+ catch (err) {
66
+ return { success: false, error: err instanceof Error ? err.message : String(err) };
67
+ }
68
+ }
69
+ }
70
+ //# sourceMappingURL=prReview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prReview.js","sourceRoot":"","sources":["../../src/tools/prReview.ts"],"names":[],"mappings":"AAAA,cAAc;AACd;;;;;GAKG;AAIH,MAAM,OAAO,kBAAkB;IAmCA;IAlCpB,IAAI,GAAG,kBAAkB,CAAC;IAC1B,WAAW,GAAG,4GAA4G,CAAC;IAC3H,QAAQ,GAAG,WAAW,CAAC;IACvB,cAAc,GAAG,IAAI,CAAC;IAEtB,WAAW,GAAG;QACrB,IAAI,EAAE,QAAiB;QACvB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAU;QAC5D,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,gCAAgC,EAAE;YACjF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE;YACjE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,qBAAqB,EAAE;YAC5E,KAAK,EAAE;gBACL,IAAI,EAAE,QAAiB;gBACvB,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,iBAAiB,CAAU;gBACxD,WAAW,EAAE,qDAAqD;aACnE;YACD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,oDAAoD,EAAE;YACpG,QAAQ,EAAE;gBACR,IAAI,EAAE,OAAgB;gBACtB,WAAW,EAAE,wBAAwB;gBACrC,KAAK,EAAE;oBACL,IAAI,EAAE,QAAiB;oBACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAU;oBAC3C,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,iCAAiC,EAAE;wBACjF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,uCAAuC,EAAE;wBACvF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,cAAc,EAAE;qBAC/D;iBACF;aACF;SACF;KACF,CAAC;IAEF,YAA6B,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;IAAG,CAAC;IAEvD,KAAK,CAAC,OAAO,CAAC,IAOb;QACC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;gBACrD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,GAAG,EAAE,IAAI,CAAC,QAAQ;iBACnB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACrF,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * @fileoverview GitHub Release Create tool — create a new release.
3
+ *
4
+ * Supports creating draft and prerelease releases, targeting a specific
5
+ * commitish, and auto-generating release notes from commits.
6
+ */
7
+ import type { GitHubService } from '../GitHubService.js';
8
+ export declare class GitHubReleaseCreateTool {
9
+ private readonly service;
10
+ readonly name = "github_release_create";
11
+ readonly description = "Create a new GitHub release. Supports draft, prerelease, and auto-generated release notes.";
12
+ readonly category = "developer";
13
+ readonly hasSideEffects = true;
14
+ readonly inputSchema: {
15
+ type: "object";
16
+ required: readonly ["owner", "repo", "tag_name"];
17
+ properties: {
18
+ owner: {
19
+ type: "string";
20
+ description: string;
21
+ };
22
+ repo: {
23
+ type: "string";
24
+ description: string;
25
+ };
26
+ tag_name: {
27
+ type: "string";
28
+ description: string;
29
+ };
30
+ name: {
31
+ type: "string";
32
+ description: string;
33
+ };
34
+ body: {
35
+ type: "string";
36
+ description: string;
37
+ };
38
+ draft: {
39
+ type: "boolean";
40
+ description: string;
41
+ };
42
+ prerelease: {
43
+ type: "boolean";
44
+ description: string;
45
+ };
46
+ target_commitish: {
47
+ type: "string";
48
+ description: string;
49
+ };
50
+ generate_release_notes: {
51
+ type: "boolean";
52
+ description: string;
53
+ };
54
+ };
55
+ };
56
+ constructor(service: GitHubService);
57
+ execute(args: {
58
+ owner: string;
59
+ repo: string;
60
+ tag_name: string;
61
+ name?: string;
62
+ body?: string;
63
+ draft?: boolean;
64
+ prerelease?: boolean;
65
+ target_commitish?: string;
66
+ generate_release_notes?: boolean;
67
+ }): Promise<{
68
+ success: boolean;
69
+ data?: unknown;
70
+ error?: string;
71
+ }>;
72
+ }
73
+ //# sourceMappingURL=releaseCreate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"releaseCreate.d.ts","sourceRoot":"","sources":["../../src/tools/releaseCreate.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,qBAAa,uBAAuB;IA4BtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IA3BpC,QAAQ,CAAC,IAAI,2BAA2B;IACxC,QAAQ,CAAC,WAAW,gGAAgG;IACpH,QAAQ,CAAC,QAAQ,eAAe;IAChC,QAAQ,CAAC,cAAc,QAAQ;IAE/B,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAoBlB;gBAE2B,OAAO,EAAE,aAAa;IAE7C,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;KAClC,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CA8BlE"}
@@ -0,0 +1,69 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * @fileoverview GitHub Release Create tool — create a new release.
4
+ *
5
+ * Supports creating draft and prerelease releases, targeting a specific
6
+ * commitish, and auto-generating release notes from commits.
7
+ */
8
+ export class GitHubReleaseCreateTool {
9
+ service;
10
+ name = 'github_release_create';
11
+ description = 'Create a new GitHub release. Supports draft, prerelease, and auto-generated release notes.';
12
+ category = 'developer';
13
+ hasSideEffects = true;
14
+ inputSchema = {
15
+ type: 'object',
16
+ required: ['owner', 'repo', 'tag_name'],
17
+ properties: {
18
+ owner: { type: 'string', description: 'Repository owner (user or org)' },
19
+ repo: { type: 'string', description: 'Repository name' },
20
+ tag_name: { type: 'string', description: 'Tag name for the release (e.g. "v1.0.0")' },
21
+ name: { type: 'string', description: 'Release title' },
22
+ body: { type: 'string', description: 'Release notes body (Markdown supported)' },
23
+ draft: { type: 'boolean', description: 'Create as draft release (default: false)' },
24
+ prerelease: { type: 'boolean', description: 'Mark as prerelease (default: false)' },
25
+ target_commitish: {
26
+ type: 'string',
27
+ description: 'Branch or commit SHA to tag (default: default branch)',
28
+ },
29
+ generate_release_notes: {
30
+ type: 'boolean',
31
+ description: 'Auto-generate release notes from commits (default: false)',
32
+ },
33
+ },
34
+ };
35
+ constructor(service) {
36
+ this.service = service;
37
+ }
38
+ async execute(args) {
39
+ try {
40
+ const octokit = this.service.getOctokit();
41
+ const { data } = await octokit.rest.repos.createRelease({
42
+ owner: args.owner,
43
+ repo: args.repo,
44
+ tag_name: args.tag_name,
45
+ name: args.name,
46
+ body: args.body,
47
+ draft: args.draft ?? false,
48
+ prerelease: args.prerelease ?? false,
49
+ target_commitish: args.target_commitish,
50
+ generate_release_notes: args.generate_release_notes ?? false,
51
+ });
52
+ return {
53
+ success: true,
54
+ data: {
55
+ id: data.id,
56
+ tag: data.tag_name,
57
+ name: data.name,
58
+ draft: data.draft,
59
+ prerelease: data.prerelease,
60
+ url: data.html_url,
61
+ },
62
+ };
63
+ }
64
+ catch (err) {
65
+ return { success: false, error: err instanceof Error ? err.message : String(err) };
66
+ }
67
+ }
68
+ }
69
+ //# sourceMappingURL=releaseCreate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"releaseCreate.js","sourceRoot":"","sources":["../../src/tools/releaseCreate.ts"],"names":[],"mappings":"AAAA,cAAc;AACd;;;;;GAKG;AAIH,MAAM,OAAO,uBAAuB;IA4BL;IA3BpB,IAAI,GAAG,uBAAuB,CAAC;IAC/B,WAAW,GAAG,4FAA4F,CAAC;IAC3G,QAAQ,GAAG,WAAW,CAAC;IACvB,cAAc,GAAG,IAAI,CAAC;IAEtB,WAAW,GAAG;QACrB,IAAI,EAAE,QAAiB;QACvB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAU;QAChD,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,gCAAgC,EAAE;YACjF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE;YACjE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,0CAA0C,EAAE;YAC9F,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,eAAe,EAAE;YAC/D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,yCAAyC,EAAE;YACzF,KAAK,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,WAAW,EAAE,0CAA0C,EAAE;YAC5F,UAAU,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,WAAW,EAAE,qCAAqC,EAAE;YAC5F,gBAAgB,EAAE;gBAChB,IAAI,EAAE,QAAiB;gBACvB,WAAW,EAAE,uDAAuD;aACrE;YACD,sBAAsB,EAAE;gBACtB,IAAI,EAAE,SAAkB;gBACxB,WAAW,EAAE,2DAA2D;aACzE;SACF;KACF,CAAC;IAEF,YAA6B,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;IAAG,CAAC;IAEvD,KAAK,CAAC,OAAO,CAAC,IAUb;QACC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBACtD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;gBAC1B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;gBACpC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,IAAI,KAAK;aAC7D,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,GAAG,EAAE,IAAI,CAAC,QAAQ;oBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,GAAG,EAAE,IAAI,CAAC,QAAQ;iBACnB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACrF,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @fileoverview GitHub Release List tool — list releases for a repository.
3
+ *
4
+ * Returns tag name, release name, draft/prerelease status, publish date, and URL.
5
+ */
6
+ import type { GitHubService } from '../GitHubService.js';
7
+ export declare class GitHubReleaseListTool {
8
+ private readonly service;
9
+ readonly name = "github_release_list";
10
+ readonly description = "List releases for a GitHub repository. Returns tag, name, draft/prerelease status, and publish date.";
11
+ readonly category = "developer";
12
+ readonly hasSideEffects = false;
13
+ readonly inputSchema: {
14
+ type: "object";
15
+ required: readonly ["owner", "repo"];
16
+ properties: {
17
+ owner: {
18
+ type: "string";
19
+ description: string;
20
+ };
21
+ repo: {
22
+ type: "string";
23
+ description: string;
24
+ };
25
+ per_page: {
26
+ type: "number";
27
+ description: string;
28
+ };
29
+ };
30
+ };
31
+ constructor(service: GitHubService);
32
+ execute(args: {
33
+ owner: string;
34
+ repo: string;
35
+ per_page?: number;
36
+ }): Promise<{
37
+ success: boolean;
38
+ data?: unknown;
39
+ error?: string;
40
+ }>;
41
+ }
42
+ //# sourceMappingURL=releaseList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"releaseList.d.ts","sourceRoot":"","sources":["../../src/tools/releaseList.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,qBAAa,qBAAqB;IAgBpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAfpC,QAAQ,CAAC,IAAI,yBAAyB;IACtC,QAAQ,CAAC,WAAW,0GAA0G;IAC9H,QAAQ,CAAC,QAAQ,eAAe;IAChC,QAAQ,CAAC,cAAc,SAAS;IAEhC,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;MAQlB;gBAE2B,OAAO,EAAE,aAAa;IAE7C,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAwBlE"}
@@ -0,0 +1,50 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * @fileoverview GitHub Release List tool — list releases for a repository.
4
+ *
5
+ * Returns tag name, release name, draft/prerelease status, publish date, and URL.
6
+ */
7
+ export class GitHubReleaseListTool {
8
+ service;
9
+ name = 'github_release_list';
10
+ description = 'List releases for a GitHub repository. Returns tag, name, draft/prerelease status, and publish date.';
11
+ category = 'developer';
12
+ hasSideEffects = false;
13
+ inputSchema = {
14
+ type: 'object',
15
+ required: ['owner', 'repo'],
16
+ properties: {
17
+ owner: { type: 'string', description: 'Repository owner (user or org)' },
18
+ repo: { type: 'string', description: 'Repository name' },
19
+ per_page: { type: 'number', description: 'Results per page (max 30, default 10)' },
20
+ },
21
+ };
22
+ constructor(service) {
23
+ this.service = service;
24
+ }
25
+ async execute(args) {
26
+ try {
27
+ const octokit = this.service.getOctokit();
28
+ const { data } = await octokit.rest.repos.listReleases({
29
+ owner: args.owner,
30
+ repo: args.repo,
31
+ per_page: Math.min(args.per_page ?? 10, 30),
32
+ });
33
+ return {
34
+ success: true,
35
+ data: data.map((r) => ({
36
+ tag: r.tag_name,
37
+ name: r.name,
38
+ draft: r.draft,
39
+ prerelease: r.prerelease,
40
+ publishedAt: r.published_at,
41
+ url: r.html_url,
42
+ })),
43
+ };
44
+ }
45
+ catch (err) {
46
+ return { success: false, error: err instanceof Error ? err.message : String(err) };
47
+ }
48
+ }
49
+ }
50
+ //# sourceMappingURL=releaseList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"releaseList.js","sourceRoot":"","sources":["../../src/tools/releaseList.ts"],"names":[],"mappings":"AAAA,cAAc;AACd;;;;GAIG;AAIH,MAAM,OAAO,qBAAqB;IAgBH;IAfpB,IAAI,GAAG,qBAAqB,CAAC;IAC7B,WAAW,GAAG,sGAAsG,CAAC;IACrH,QAAQ,GAAG,WAAW,CAAC;IACvB,cAAc,GAAG,KAAK,CAAC;IAEvB,WAAW,GAAG;QACrB,IAAI,EAAE,QAAiB;QACvB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAU;QACpC,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,gCAAgC,EAAE;YACjF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE;YACjE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,uCAAuC,EAAE;SAC5F;KACF,CAAC;IAEF,YAA6B,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;IAAG,CAAC;IAEvD,KAAK,CAAC,OAAO,CAAC,IAIb;QACC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;gBACrD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC;aAC5C,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;oBAC1B,GAAG,EAAE,CAAC,CAAC,QAAQ;oBACf,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,WAAW,EAAE,CAAC,CAAC,YAAY;oBAC3B,GAAG,EAAE,CAAC,CAAC,QAAQ;iBAChB,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACrF,CAAC;IACH,CAAC;CACF"}